![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
随笔
文章平均质量分 56
别去地狱
这个作者很懒,什么都没留下…
展开
-
快速失败与安全失败
快速失败Fail-fast在多线程中对一个对象进行遍历时,如果有别的线程对该对象进行更改时,就会报出Concurrent Modification Exception异常,并且不会更改数据提前结束,这样可以很好的维护数据的安全在调用 next() 和 remove()时,都会执行 checkForComodification()。若 modCount 不等于 expectedModCou...原创 2018-11-23 21:21:49 · 506 阅读 · 2 评论 -
用WebSocket模拟webQQ实现简单的聊天
1.使用WebSocket 的好处WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。WebSocket使得服务器与客户端只需要一次握手就可以实现长久的连接,可以任意的传输多次数据直到自己断开连接,不用像别的协议一样传输完一次数据就断开连接,下次需要数据交互的时候在进行连接。减少了许多不必要的重复操作,提高效率。2.使用ajax轮询轮询(Polli...原创 2018-12-03 10:56:04 · 820 阅读 · 0 评论 -
ThreadLocal
1.什么是ThreadLocalThreadLocal一般称为线程本地变量,是一个特殊的线程绑定机制,将线程和变量绑定在一起,为每一个线程维护一个独立的变量副本。通过ThreadLocal可以将对象的可见范围限制在同一个线程内,而不会和其他线程的副本冲突。2.ThreadLocal是如何做到为每一个线程维护一个变量副本的呢?在ThreadLocal类中定义一个ThreadLocalMap,每...原创 2018-12-03 20:57:52 · 91 阅读 · 0 评论 -
JVM垃圾收集机制
JVM分为四个区,分别为:方法区,java堆(堆内存),java栈(栈内存),本地方法栈及其他隐含寄存器。方法区:它是保存方法代码(编译后的java代码)和符号表。JVM用持久代来存放方法区,可通过-XX:PermSize和-XX:MaxPermSize来指定最小值和最大值。堆内存:即所有通过new创建的对象的内存都在堆中分配。其大小可以通过-Xmx和-Xms来控制。栈内存:在windows...原创 2019-02-22 14:57:52 · 89 阅读 · 0 评论