摘要: http://blog.csdn.net/shenshibaoma/article/details/53009505 http://www.importnew.com/20444.html 锁一般分为对象锁,类锁(锁住代码块)。1,对象锁是 一个非静态方法类,锁的本身就是this、锁住当前对象。sy 阅读全文
posted @ 2018-01-17 10:26 变换 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 1,对其它线程可见性。原理是:别的线程每次使用前都是要刷新一下值,并不是原子性同步。所有还是会出现线程不安全。 2,禁止指令重新排序。也就是会出现机器实际执行可能和代码的顺序不一样。使用volatile可以禁止重新排序。 阅读全文
posted @ 2018-01-12 19:18 变换 阅读(129) 评论(0) 推荐(0) 编辑
摘要: bin/jvisualvm.exe 可查看类实例数 bin/jconsole.exe 监控线程,堆,等 http://blog.csdn.net/yaowj2/article/details/7107818 https://blog.csdn.net/janekeyzheng/article/det 阅读全文
posted @ 2018-01-12 13:42 变换 阅读(98) 评论(0) 推荐(0) 编辑
摘要: https://www.cnblogs.com/xuezhiyizu1120/p/6237510.html http://blog.csdn.net/doc_sgl/article/details/46594123 阅读全文
posted @ 2018-01-12 13:38 变换 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 垃圾收集器: Serial 收集器: 单线程收集器,专注做收集,会暂停别的工作。收集效果好。 ParNew 收集器: 是Serial的多线程版本。目前只有它能和CMS收集器配合。 Parallel Scavenge 收集器: 是一个新生代的收集器。也是使用复制算法并行的多线程收集器。 关注点是:达到 阅读全文
posted @ 2018-01-12 13:30 变换 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 算法: 没有使用引用计数算法。使用的是GC Roots 可达性算法。 复制算法:新生代,老年代。 标记-整理算法:一般会对对象标记几次才会清理掉。然后从新整理物理内存空间。 分代收集算法:更加对象存活的周期不同将内存划分为几块。然后,标记-清楚,或者,标记-整理。 阅读全文
posted @ 2018-01-12 10:20 变换 阅读(101) 评论(0) 推荐(0) 编辑
摘要: java虚拟机运行时数据区: (数据)线程共享:方法区,堆,本地方法库。 (指令)线程私有的内存:虚拟机栈,本地方法栈,程序计数器。 1)线程共享 方法区: 用来存储被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据。被所有线程共享。 堆: 内存最大的一块,被所有线程共享。存放对象实 阅读全文
posted @ 2018-01-11 19:44 变换 阅读(117) 评论(0) 推荐(0) 编辑
摘要: http://www.importnew.com/21517.html ps:transient 只能修饰变量,被修饰的变量不能被序列化。反序列后也获取不到被修饰的字。 阅读全文
posted @ 2018-01-05 15:37 变换 阅读(192) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/loongshawn/article/details/50496460 阅读全文
posted @ 2018-01-04 09:50 变换 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 1,理解并使用 volatile 关键字。 阅读全文
posted @ 2018-01-02 20:32 变换 阅读(117) 评论(0) 推荐(0) 编辑