聊聊JVM---java虚拟机
文章平均质量分 87
英雄郑旺
美团网 基础架构部
展开
-
(1)JVM运行时数据分区
我们知道java虚拟机在运行时会把它管理的内存分为若干个区域,有的随着虚拟机的启动而启动,有的随着应用线程的启动和创建,那下面我们就看看虚拟机运行时各个分区及其作用。原创 2017-07-20 17:07:56 · 1352 阅读 · 0 评论 -
漫谈jvm垃圾收集(1)
java程序员相比c++程序员最安逸的一个地方,就是不用负责对象内存的申请和释放,这部分功能都是由jvm自己负责,同时对java应用程序员来说这个过程是透明的。尽管这个过程大部分情况下不需要我们程序员去干预,但是了解这个过程并且合理的配置jvm垃圾回收策略的相关参数,能让我们在编程时更加游刃有余。原创 2017-10-09 09:50:17 · 649 阅读 · 0 评论 -
漫谈jvm垃圾收集(2)
上一篇博文中我们说了,哪些对象该被回收已经在程序运行到什么地方进行回收。接下来我们就来讨论怎么回收这些不在使用的对象。原创 2017-07-20 17:12:40 · 558 阅读 · 0 评论 -
漫谈jvm垃圾收集(3)
在这篇博客漫谈jvm垃圾收集(2)中我们说了目前商业虚拟机进行垃圾收集的通用算法和收集器。这里我们继续深入讨论一些关于垃圾收集的一些细节。我们前面说了现在大多数虚拟机都是采用分代收集策略,jvm依据不同对象的生存周期不同,将堆分为新生代和老年代,其中新生代又分为Eden 、 S0 、 S1区,其中S0、S1称为Surivivor区,一般Eden和Surivivor比例为8:1,可以使用-XX:SurvivorRatio=8进行比例的设置。原创 2017-10-10 08:47:33 · 635 阅读 · 0 评论 -
详解java动态代理机制以及使用场景(一)
说起java动态代理,在我刚开始学java时对这项技术也是十分困惑,明明可以直接调通的对象方法为什么还要使用动态代理?随着学习的不断深入和工作经验的积累,慢慢的体会并理解了java动态代理机制。昨天再给公司新同事做技术培训时有同学就对动态代理产生了疑问,我这里梳理一遍一并记录一下,方便大家查看对自己也是加深记忆。原创 2017-10-19 10:29:10 · 64834 阅读 · 23 评论