java
zvub
代码的搬运工。
展开
-
postman 调试上传文件异常
设置header: multipart/form-data;boundary=2 (其中2为任意随机数)原创 2019-10-23 18:05:46 · 1075 阅读 · 0 评论 -
volatile的适用场景(面试问题:volatile有什么作用)
把代码块声明为 synchronized,有两个重要后果,通常是指该代码具有 原子性(atomicity)和 可见性(visibility)。原子性意味着个时刻,只有一个线程能够执行一段代码,这段代码通过一个monitor object保护。从而防止多个线程在更新共享状态时相互冲突。可见性则更为微妙,它必须确保释放锁之前对共享数据做出的更改对于随后获得该锁的另一个线程是可见的。 —— 如果没有同步...转载 2018-05-30 10:24:31 · 964 阅读 · 0 评论 -
系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式
PS:下面是性能测试的主要概念和计算公式,记录下:一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间 QPS(TPS):每秒钟request/事务 数量 ...转载 2018-05-30 10:24:50 · 611 阅读 · 0 评论 -
八大经典排序算法
排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短...转载 2018-06-01 15:43:10 · 158 阅读 · 0 评论 -
mybatis 二级缓存
MyBatis的二级缓存是Application级别的缓存,它可以提高对数据库查询的效率,以提高应用的性能。本文将全面分析MyBatis的二级缓存的设计原理。1.MyBatis的缓存机制整体设计以及二级缓存的工作模式如上图所示,当开一个会话时,一个 SqlSession 对象会使用一个 Executor 对象来完成会话操作, MyBatis 的二级缓存机制的关键就是对这个 Executor 对象做...转载 2018-06-01 15:44:28 · 126 阅读 · 0 评论 -
CSRF攻击与防御
转载地址:http://www.phpddt.com/reprint/csrf.html CSRF概念:CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解: 攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮...转载 2018-05-31 10:27:29 · 102 阅读 · 0 评论 -
使用消息队列的 10 个理由
过去几年中,我们一直在使用、构建和宣传消息队列,我们认为它们是很令人敬畏的,这也不是什么秘密。我们相信对任何架构或应用来说,消息队列都是一个至关重要的组件,下面是十个理由:1. 解耦在项目启动之初来预测将来项目会碰到什么需求,是极其困难的。消息队列在处理过程中间插入了一个隐含的、基于数据的接口层,两边的处理过程都要实现这一接口。这允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束...转载 2018-05-30 10:25:05 · 95 阅读 · 0 评论 -
dubbo、zookeeper面试题
什么是dubbo Dubbo是阿里巴巴SOA服务化治理方案的核心框架,是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。测试和生产公用一套zookeeper,怎么保证消费不冲突1dubbo白名单(Filter过滤器)服务分组<!--服务--><dubbo:service group="feedback" interface="com...转载 2018-05-29 09:50:49 · 1579 阅读 · 0 评论 -
zookeeper
一直对zookeeper的应用和原理比较迷糊,今天看一篇文章,讲得很通透,分享如下:场景一 有这样一个场景:系统中有大约100w的用户,每个用户平 均有3个邮箱账号,每隔5分钟,每个邮箱账需要收取100封邮件,最多3亿份邮件需要下载到服务器中(不含附件和正文)。用20台机器划分计算的压力,从 多个不同的网路出口进行访问外网,计算的压力得到缓解,那么每台机器的计算压力也不会很大了。 通过我们的...转载 2018-06-01 15:44:34 · 185 阅读 · 0 评论 -
dubbo
1. Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者与消费者的方...转载 2018-06-01 15:44:40 · 217 阅读 · 0 评论 -
java web中中文编码问题
几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言。由于人类的语言有太多,因而表示这些语言的符号太多,无法用计算机中一个基本的存储单元—— byte 来表示,因而必须要经过拆分或一些翻译工作,才能让计算机能理解。我们可以把计算机能够理解的语言假定为英...原创 2018-05-29 09:51:32 · 134 阅读 · 0 评论 -
java class文件魔数、版本号
每个class文件的前四个字节表示魔数,他的唯一作用是确定这个文件是否是一个能被虚拟机接受的class文件, 很多文件存储标准中都使用魔数来进行身份识别,比如图片格式,如gif、jpg等在文件中都存在魔数,使用魔数而不是扩展名来进行识别主要基于安全方面的考虑。因为扩展名可以随便改动。文件格式的制定者可以自有的选择魔数值。紧接着魔数的4个字节后,第5个和第6个表示次版本号。第7、8表示主版本号。如下...原创 2018-05-29 09:51:47 · 1223 阅读 · 0 评论 -
happens-before
看Java内存模型(JMM, Java Memory Model)时,总有一个困惑。关于线程、主存(main memory)、工作内存(working memory),我都能找到实际映射的硬件:线程可能对应着一个内核线程,主存对应着内存,而工作内存则涵盖了写缓冲区、缓存(cache)、寄存器等一系列为了提高数据存取效率的暂存区域。但是,一提到happens-before原则,就让人有点“丈二和尚摸...转载 2018-05-29 09:52:05 · 115 阅读 · 0 评论 -
多态的实现原理
.前言多态在Java技术里有很重要的地位,在面试中也会经常被问到。多态的使用大家应该都比较了解,但是多态的实现原理就有点抽象了,查了很多很多资料,连续几天断断续续的看,有时候看着看着就走神了。毕竟太抽象,哈哈~不过依然硬着头皮看下来了(也不知道看了多少遍),并且将很多资料里关于多态的知识进行了整理(添添加加删删减减了很久,也把重点根据自己的理解用红字标出),便有了这篇文章。通过这篇文章相信可以帮助...转载 2018-05-29 09:52:48 · 96 阅读 · 0 评论 -
并发Queue
并发Queue 在并发的队列上jdk提供了两套实现,一个是以ConcurrentLinkedQueue为代表的高性能队列,一个是以BlockingQueue接口为代表的阻塞队列,无论在那种都继承自Queue。 如图继承Queue共有二十四个: ConcurrentLinkedQueue概念理解 ConcurrentLinkedQueue:是一个适用于高并发场景下的队列,通过...转载 2018-05-29 09:53:06 · 80 阅读 · 0 评论 -
单点登陆
转载:http://blog.csdn.net/xqhys/article/details/63920161?locationNum=3&fps=1一、什么是单点登录SSO(Single Sign-On) SSO是一种统一认证和授权机制,指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护资源时,不再需要重新登录验证。二...转载 2018-06-01 15:44:56 · 89 阅读 · 0 评论 -
java 深拷贝与浅拷贝
1.拷贝的引入(1)引用拷贝创建一个指向对象的引用变量的拷贝。例1:Teacher teacher = new Teacher("Taylor",26);Teacher otherteacher = teacher;System.out.println(teacher);System.out.println(otherteacher);1234输出结果:blog.Teacher@355da2...转载 2018-05-30 10:25:40 · 83 阅读 · 0 评论 -
Java中四大引用
ONE,强引用(StrongReference)概念介绍:在此说明一下,StrongReference只是对强引用的一个称呼,但是强引用没有对应的实体类。使用强引用的对象就算是内存出现outofmemory(内存溢出)的异常也不会回收。也就是说该对象永远不会被垃圾回收器回收,不论内存是否充足。平常代码中用的最多的就是强引用。Demo验证:[java] view plain copy static ...转载 2018-05-30 10:25:28 · 2199 阅读 · 0 评论 -
ArrayList动态扩容
1.JDK 1.6 (1)默认的构造函数 初试化时的长度为10:[cpp] view plain copypublic ArrayList() { this(10); } 带参数的构造函数,初始化了一个长度为初始容量的数组:[java] view plain copypublic ArrayList(int initialCapacity) { super(); if (i...转载 2018-05-30 10:31:58 · 108 阅读 · 0 评论