随手记录
二萝卜
学生
展开
-
读书笔记--运行时数据区
运行时数据区程序计数器(线程私有)定义:是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号显示器。该空间为各线程私有空间,为保证线程切换后可以恢复到正确的执行位置。若执行的是Native方法,则该计数器值为空(Undefined)。Java虚拟机栈(线程私有)定义:描述的是Java方法执行的内存模型:每个方法在执行时都会创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法...原创 2019-03-15 16:32:03 · 85 阅读 · 0 评论 -
为什么Java中只有值传递
转载自:https://www.cnblogs.com/wchxj/p/8729503.html我觉得这篇博客解释得很深入透彻,随手转载一下子正文在开始深入讲解之前,有必要纠正一下大家以前的那些错误看法了。如果你有以下想法,那么你有必要好好阅读本文。**错误理解一:**值传递和引用传递,区分的条件是传递的内容,如果是个值,就是值传递。如果是个引用,就是引用传递。**错误理解二:**Jav...转载 2019-07-15 12:08:58 · 191 阅读 · 0 评论 -
java中equals,hashcode和==的介绍
转载: http://blog.csdn.net/hla199106/article/details/46907725转载:https://www.cnblogs.com/skywang12345/p/3324958.html这两篇博客不错,看看可以明白许多东西。转载 2019-07-15 11:44:26 · 138 阅读 · 0 评论 -
深入理解Java中的String
转载自:https://www.cnblogs.com/xiaoxi/p/6036701.html深入理解Java中的String一、String类想要了解一个类,最好的办法就是看这个类的实现源代码,来看一下String类的源码:public final class String implements java.io.Serializable, Comparable<Stri...转载 2019-06-21 11:30:39 · 160 阅读 · 0 评论 -
并发编程
转载自:https://www.cnblogs.com/paddix/p/5374810.html核心理论一、共享性数据共享性是线程安全的主要原因之一。如果所有的数据只是在线程内有效,那就不存在线程安全性问题,这也是我们在编程的时候经常不需要考虑线程安全的主要原因之一。但是,在多线程编程中,数据共享是不可避免的。最典型的场景是数据库中的数据,为了保证数据的一致性,我们通常需要共享同一个数据库...转载 2019-06-10 18:00:12 · 169 阅读 · 0 评论 -
什么是CAS机制?
转载自:https://blog.csdn.net/qq_32998153/article/details/79529704什么是CAS机制?我们先看一段代码:启动两个线程,每个线程中让静态变量count循环累加100次。最终输出的count结果一定是200吗?因为这段代码是非线程安全的,所以最终的自增结果很可能会小于200。我们再加上synchronized同步锁,再来看一下。加了...转载 2019-06-03 15:54:07 · 400 阅读 · 0 评论 -
Executors
本文转载自:https://blog.csdn.net/u010425776/article/details/54580157Executors框架简介Executor框架便是Java 5中引入的,其内部使用了线程池机制,它在java.util.cocurrent 包下,通过该框架来控制线程的启动、执行和关闭,可以简化并发编程的操作。因此,在Java 5之后,通过Executor来启动线程比使...转载 2019-06-05 16:41:27 · 577 阅读 · 0 评论 -
中断线程
转载自:https://www.cnblogs.com/onlywujun/p/3565082.html中断线程线程的thread.interrupt()方法是中断线程,将会设置该线程的中断状态位,即设置为true,中断的结果线程是死亡、还是等待新的任务或是继续运行至下一步,就取决于这个程序本身。线程会不时地检测这个中断标示位,以判断线程是否应该被中断(中断标示值是否为true)。它并不像st...转载 2019-05-31 11:42:59 · 156 阅读 · 0 评论 -
java集合类
文章目录总体框架Collection架构Collection接口简介List接口简介Set接口简介AbstractCollection类简介AbstractList类简介AbstractSet类简介Iterator简介ListIterator简介ArrayList详细介绍(源码解析)和使用示例ArrayList介绍ArrayList简介ArrayList构造函数ArrayList的APIArray...转载 2019-05-30 21:06:06 · 595 阅读 · 0 评论 -
读书笔记--老年代收集器
老年代收集器Serial Old收集器Serial Old 收集器是在老年代上实现垃圾收集的,是一个单线程收集器,Serial Old 收集器所使用的垃圾回收算法是标记-整理算法。在回收阶段,将标记对象越过堆的空闲区移动到堆的另一端,所有被移动的对象的引用也会被更新指向新的位置。过程:递归标记所有存活对象老年代中所有根对象当前代中,被新生代对象所引用的老年代对象采用广度优先...原创 2019-03-20 16:17:53 · 306 阅读 · 0 评论 -
读书笔记--年轻代垃圾收集器
年轻代收集器Serial 收集器Serial收集器是最基本、发展历史最悠久的收集器,使用复制垃圾收集算法。该收集器是一个单线程的收集器,但“单线程”并不意味着它只会使用一个CPU或一条收集线程去完成工作,更重要的是它在进行垃圾收集时,必须暂停所有的工作线程,直到其收集结束(Stop The World)。它是虚拟机在Client模式下的默认新生代收集器。优点:简单高效、对于单CPU环境而言...原创 2019-03-20 10:42:26 · 205 阅读 · 0 评论 -
为什么阿里巴巴禁止在 foreach 循环里进行元素的removeadd 操作
转载自:https://mp.weixin.qq.com/s/e9ITxUmsMFhfjeHhOgTtfA为什么阿里巴巴禁止在 foreach 循环里进行元素的remove/add 操作在阿里巴巴Java开发手册中,有这样一条规定:但是手册中并没有给出具体原因,本文就来深入分析一下该规定背后的思考。1 foreach循环foreach循环(Foreach loop)是计算机编程语言中的...转载 2019-07-17 16:15:26 · 218 阅读 · 0 评论