上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 32 下一页
摘要: 知识点回顾 线程安全性获得保证 工作内存与主内存同步延迟现象导的可见性问题,可以使用synchronized或volatile关键字解决,它们都可以使一个线程修改后的变量立即对其他线程可见。 对于指令重排导致的可见性问题和有序性问题:可以利用volatile关键字解决,因为volatile的另外一个 阅读全文
posted @ 2021-08-30 22:40 豆豆tj 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 知识点回顾 volatile volatile是java虚拟机提供的轻量级的同步机制。 特点: 保证可见性 不保证原子性 禁止指令重排 volatile禁止指令重排: 计算机在执行程序时,为了提高性能。编译器和处理器常常会对指令进行重排,一般分为以下三种: 源代码 >编译器优化的重排 >指令并行的重 阅读全文
posted @ 2021-08-29 22:44 豆豆tj 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 知识点回顾 如何选择垃圾收集器 单CPU或小内存,单机程序 : -XX:+UseSerialGC 多CPU,需要最大吞吐量,如后台计算型应用 -XX:+UseParallelGC或者 -XX:+UseParallelOldGC 多CPU,追求低停顿时间,需快速响应如互联网应用 -XX:+UseCon 阅读全文
posted @ 2021-08-28 22:37 豆豆tj 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 知识点回顾 CMS(并发标记清除) CMS收集器(Concurrent Mark Sweep): 并发标记清除)是一种以获取最短回收停顿时间为目标的收集器。 适合应用在互联网或者B/S系统的服务器上,这类应用尤其重视服务器的响应速度,希望系统停顿时间最短。CMS非常适合堆内存大、CPU核数多的服务器 阅读全文
posted @ 2021-08-27 22:38 豆豆tj 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 知识点回顾 垃圾回收器2 并行回收GC 并行回收GC(Parallel)/(Parallel Scavenge) Parallel Scavenge收集器类似ParNew也是一个新生代垃圾回收器,使用复制算法,也是一个并行的多线程的垃圾收集器,俗称吞吐量优先收集器。串行收集器在新生代和老年代的并行化 阅读全文
posted @ 2021-08-26 22:33 豆豆tj 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 知识点回顾 Server/Client模式分别是什么 操作系统: 32位Window操作系统,不论硬件如何都默认使用Client的JVM模式 32位其他操作系统,2G内存同时有2个cpu以上用Server模式,低于该配置还是Client模式 64位只有server模式 GC垃圾回收算法和垃圾收集器的 阅读全文
posted @ 2021-08-25 22:37 豆豆tj 阅读(19) 评论(0) 推荐(0) 编辑
摘要: Synchronized和lock的区别 1.synchronized是关键字属于JVM层面, monitorenter(底层是通过monitor对象来完成, 其实wait/notify等方法也依赖于monitor对象只有在同步块或方法中才能掉wait/notify等方法) Lock是具体类(jav 阅读全文
posted @ 2021-08-24 22:39 豆豆tj 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 知识点回顾 弱引用 虚引用需要用java.lang.ref.WeakReference类来实现,它比软引用的生存期更短,对于只有弱引用的对象来说,只要垃圾回收机制一运行,不管JVM的内存空间是否足够,都会回收该对象占用的内存。 假如有一个应用需要读取大量的本地图片: 如果每次读取图片都从硬盘读取则会 阅读全文
posted @ 2021-08-23 22:39 豆豆tj 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 知识点回顾 强引用 当内存不足,JVM开始垃圾回收,对于强引用的对象,就算出现了OOM也不会对该对象进行回收,死都不收。 强引用是我们最常见的普通对象引用,只要还有强引用指向一个对象,就表明对象还“活着”,垃圾收集器不会碰这种对象。在Java中最常见的就是强引用,把一个对象赋给一个引用变量,这个引用 阅读全文
posted @ 2021-08-22 22:41 豆豆tj 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 知识点回顾 线程池 合理配置线程池的考虑: CPU密集型: CPU密集的意思是该任务需要大量的运算,而没有阻塞,CPU一直全速运行。 CPU密集型任务只有在真正的多核CPU上才能得到加速(通过多线程)。 而在单核上,无论开几个模拟的多线程都不可能得到加速,因为CPU总的运算能力是有限的。 CPU密集 阅读全文
posted @ 2021-08-21 22:36 豆豆tj 阅读(302) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 32 下一页