关于JAVA中的JMM内存模型 在Java中当多个线程操作同一个资源,由于某些原因当一个线程启动并获取资源后,若第二个线程队同一个资源进行了改动,在改动之前的线程并不会马上获取主存中的资源(CPU嗅探),这可能会造成阻塞. JMM内存模型如下图: 为了解决这一问题,我们需要应用volatile关键字 ...
分类:
编程语言 时间:
2020-05-08 12:47:21
阅读次数:
78
天猫高级Java一面 常见集合类的区别和适用场景 并发容器了解哪些? 如何判断链表是否有环 concurrentHashMap如何实现 集群服务器 如何application 共享 JAVA网络编程中:BIO、NIO、AIO的区别和联系 jvm内存模型jmm 知道的全讲讲 JAVA的垃圾回收,标记算 ...
分类:
编程语言 时间:
2020-05-07 15:31:37
阅读次数:
95
不管是BAT面试,还是工作实践中的JVM调优以及参数设置,或者内存溢出检测等,都需要涉及到Java虚拟机的内存模型、内存分配,以及回收算法机制等,这些都是必考、必会技能。 JVM内存模型 JVM内存模型可以分为两个部分,如下图所示,堆和方法区是所有线程共有的,而虚拟机栈,本地方法栈和程序计数器则是线 ...
分类:
编程语言 时间:
2020-05-07 13:46:31
阅读次数:
73
Java面试过程,JVM属于必考题系列: 直通BAT必考题系列:深入详解JVM内存模型与JVM参数详细配置 直通BAT必考题系列:JVM的4种垃圾回收算法、垃圾回收机制与总结 直通BAT必考题系列:7种JVM垃圾收集器特点,优劣势、及使用场景 直通BAT必考题系列:JVM性能调优的6大步骤,及关键调 ...
分类:
其他好文 时间:
2020-05-07 13:37:47
阅读次数:
93
BAT必考JVM系列专题 直通BAT必考题系列:深入详解JVM内存模型与JVM参数详细配置 垃圾回收算法 1.标记清除 标记-清除算法将垃圾回收分为两个阶段:标记阶段和清除阶段。 在标记阶段首先通过根节点(GC Roots),标记所有从根节点开始的对象,未被标记的对象就是未被引用的垃圾对象。然后,在 ...
分类:
编程语言 时间:
2020-05-07 13:36:20
阅读次数:
90
金三银四马上到了,即将进入面试的高峰期。在BAT面试中,JVM基本都是必考的系列。你至少需要掌握JVM内存模型与JVM参数详细配置,JVM的4种垃圾回收算法、垃圾回收机制与总结,以及今天重点谈到的JVM垃圾回收算法的实现:JVM垃圾收集器。 我先从JVM收集器的发展过程谈起,然后再聚焦在G1收集器, ...
分类:
其他好文 时间:
2020-05-07 13:34:46
阅读次数:
88
JVM系列 直通BAT必考题系列:7种JVM垃圾收集器特点,优劣势、及使用场景 直通BAT必考题系列:JVM的4种垃圾回收算法、垃圾回收机制与总结 直通BAT必考题系列:深入详解JVM内存模型与JVM参数详细配置 JVM内存调优 对JVM内存的系统级的调优主要的目的是减少GC的频率和Full GC的 ...
分类:
其他好文 时间:
2020-05-07 13:23:14
阅读次数:
80
直通BAT之JVM系列 直通BAT必考题系列:JVM的4种垃圾回收算法、垃圾回收机制与总结 直通BAT必考题系列:深入详解JVM内存模型与JVM参数详细配置 今天继续JVM的垃圾回收器详解,如果说垃圾收集算法是JVM内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。 常见的垃圾收集器有3类: ...
分类:
其他好文 时间:
2020-05-07 13:15:58
阅读次数:
69
Java一面 hashmap源码问题 HashMap底层结构 put操作讲一下 HashMap、HashMap如何保证线程安全、ConcurrentHashMap JVM有哪些回收算法,对应的收集器有哪些? jvm g1的内存模型讲一下,G1和CMS收集器的区别?以及G1收集器对CMS的改进? ja ...
分类:
编程语言 时间:
2020-05-06 14:06:39
阅读次数:
83
JVM内存模型 首先我们来了解一下JVM的内存模型的怎么样的: 1.堆:存放对象实例,几乎所有的对象实例都在这里分配内存 堆得内存由-Xms指定,默认是物理内存的1/64;最大的内存由-Xmx指定,默认是物理内存的1/4。 默认空余的堆内存小于40%时,就会增大,直到-Xmx设置的内存。具体的比例可 ...
分类:
编程语言 时间:
2020-05-06 13:59:30
阅读次数:
89