随笔分类 -  JVM

摘要:相比CMS收集器有两个显著的改进: (1)、 G1收集器是基于“标记-整理”算法实现的收集器,不会产生空间碎片 (2)、 它可以精确地控制停顿,能让使用者明确指定在一个长度为M毫秒的时间片段内,消耗在垃圾收集上的时间不得超过N毫秒。 原理:G1将整个Java堆(包括新生代、老年代)划分为多个大小固定 阅读全文
posted @ 2018-09-19 19:46 好想雨的云 阅读(254) 评论(0) 推荐(0)
摘要:1、 双亲委派的好处 解决了各个类加载器的基础类的统一问题(越基础的类由越上层的加载器进行加载) 三次破坏双亲委派模型: (1)看不懂 (2)自身缺陷导致的,如果基础类又要调用回用户的代码,那该怎么办? 例子:JNDI服务:需要调用用户的代码。线程上下文类加载器。 (3)热部署 OSGI 2、如何自 阅读全文
posted @ 2018-09-03 20:37 好想雨的云 阅读(202) 评论(0) 推荐(0)
摘要:1、文章分类 - JVM调优总结 JVM综合调优汇总 星火燎原智勇 2018-08-16 11:11 阅读:8 评论:0 JVM综合调优汇总 星火燎原智勇 2018-08-16 11:11 阅读:8 评论:0 JVM调优04-概括总结 星火燎原智勇 2017-01-08 23:28 阅读:78 评论 阅读全文
posted @ 2018-09-01 10:37 好想雨的云 阅读(461) 评论(0) 推荐(0)
摘要:首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 Java小组 工具资源 - 导航条 - 首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 Java小组 工具资源 首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 Java小组 工具资源 图解 CMS 垃圾回收机制,你值得拥有 阅读全文
posted @ 2018-08-30 22:21 好想雨的云 阅读(321) 评论(0) 推荐(0)
摘要:年更贴,因为两年里遇到的事情,一些想法变了。也补充了不少VJTools的内容,比如为伸手党们准备的jvm-options.sh。 在关键的业务系统里,除了继续追求技术人员最爱的高吞吐与低延时之外,系统的稳定性与排查问题的便捷性也很重要。这是本文的一个原则,后面也会一次又一次的强调。 前言1,资料 1 阅读全文
posted @ 2018-08-26 21:14 好想雨的云 阅读(1137) 评论(0) 推荐(0)
摘要:Java -verbose:gc 中参数-verbose:gc 表示输出虚拟机中GC的详细情况. 首先在Eclipse的Debug页签中设置虚拟机参数: 步骤: 1、选中已经写好的项目 2、Run->Debug configurations->Java Application 双击 3、Argume 阅读全文
posted @ 2018-08-24 23:23 好想雨的云 阅读(362) 评论(0) 推荐(0)
摘要:参考文章: 1.Java 新生代、老年代、持久代、元空间 2.Java内存与垃圾回收调优 3.方法区的Class信息,又称为永久代,是否属于Java堆? Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象,如下图所示: 在 Java 中,堆被划分成两个不同的区域:新 阅读全文
posted @ 2018-08-24 22:34 好想雨的云 阅读(32092) 评论(2) 推荐(0)
该文被密码保护。
posted @ 2018-08-18 15:49 好想雨的云 阅读(3) 评论(0) 推荐(0)
摘要:HashMap1.8更新内容 阅读全文
posted @ 2018-08-14 23:25 好想雨的云 阅读(248) 评论(0) 推荐(0)
摘要:在项目运行过程中,可能会出现内存溢出,内存溢出的原因多种多样,而在内存溢出后,我们如何查找和分析内存溢出的原因呢?这里来说一说我遇到的次遇到的内存溢出经历。 大致情况是这样的:应用在启动后,过一段时间(这个时间不确定),内存忽然爆满,然后频繁的YGC,一会过后,老年代爆满,然后是频繁的FGC,最终撑 阅读全文
posted @ 2018-08-13 23:33 好想雨的云 阅读(399) 评论(0) 推荐(0)
摘要:引起内存溢出的原因有很多种,列举一下常见的有以下几种: 1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据;2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;3.代码中存在死循环或循环产生过多重复的对象实体;4.使用的第三方软件中的BUG;5.启动参数内存值设定的过小 内存溢出 阅读全文
posted @ 2018-08-13 23:17 好想雨的云 阅读(3868) 评论(0) 推荐(1)
摘要:概要 文章是《深入理解Java内容模型》读书笔记,该书总共包括了3部分的知识。 第1部分,基本概念 包括“并发、同步、主内存、本地内存、重排序、内存屏障、happens before规则、as-if-serial规则、数据依赖性、顺序一致性模型、JMM的含义和意义”。 第2部分,同步机制 该部分中就 阅读全文
posted @ 2018-08-06 23:18 好想雨的云 阅读(161) 评论(0) 推荐(0)
摘要:ThreadLocal好处 Java并发编程的艺术解释好处是:get和set方法的调用可以不用在同一个方法或者同一个类中。 问答形式总结: 1、 ThreadLocal类的作用 ThreadLocal的作用是提供线程内的局部变量,这种变量在多线程环境下访问时能够保证各个线程里变量的独立性。 Thre 阅读全文
posted @ 2018-08-05 22:48 好想雨的云 阅读(185) 评论(0) 推荐(0)
摘要:原文地址: 全面理解Java内存模型(JMM)及volatile关键字 关联文章: 深入理解Java类型信息(Class对象)与反射机制 深入理解Java枚举类型(enum) 深入理解Java注解类型(@Annotation) 深入理解Java类加载器(ClassLoader) 深入理解Java并发 阅读全文
posted @ 2018-08-05 18:32 好想雨的云 阅读(468) 评论(1) 推荐(1)
摘要:博文地址:Java并发编程:volatile关键字解析 阅读全文
posted @ 2018-08-03 23:43 好想雨的云 阅读(186) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-08-02 23:54 好想雨的云 阅读(4) 评论(0) 推荐(0)
摘要:问答形式列举: 1、 为什么说sychronized能保证可见性 synchronized和Lock能保证同一时刻只有一个线程获取锁然后执行同步代码,并且在释放锁之前会将对变量的修改刷新到主存当中。因此可以保证可见性。 2、 java中乐观锁和悲观锁区别,以及CAS机制是? 独占锁是一种悲观锁,sy 阅读全文
posted @ 2018-08-02 23:54 好想雨的云 阅读(262) 评论(0) 推荐(0)
摘要:转载自:http://chenzhou123520.iteye.com/blog/1597597 Java虚拟机规范没有强制性约束在什么时候开始类加载过程,但是对于初始化阶段,虚拟机规范则严格规定了有且只有四种情况必需立即对类进行“初始化”(而加载、验证、准备阶段则必需在此之前开始),这四种情... 阅读全文
posted @ 2015-08-27 22:36 好想雨的云 阅读(805) 评论(1) 推荐(0)
摘要:参考博客:注明请注明出处深入理解Java虚拟机读书笔记之:第5章 Java虚拟机(Java虚拟机内部结构图,很重要)深入理解Java虚拟机读书笔记之:第6章 Java class文件:《深入理解JAVA虚拟机》笔记:深入理解Java虚拟机》笔记:Java垃圾回收机制:深入JVM系列(三)之类加载、类... 阅读全文
posted @ 2015-08-24 10:10 好想雨的云 阅读(282) 评论(0) 推荐(0)
摘要:原文网址:http://developer.51cto.com/art/201111/302465.htmJava内存泄露的理解与解决(1) 一般来说内存泄漏有两种情况。一种情况如在C/C++ 语言中的,在堆中的分配的内存,在没有将其释放掉的时候,就将所有能访问这块内存的方式都删掉(如指针重新赋值... 阅读全文
posted @ 2015-08-12 21:54 好想雨的云 阅读(444) 评论(0) 推荐(0)