随笔分类 - jvm
摘要:volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于v
阅读全文
摘要:打印gc日志 1.对指定运行程序输出GC日志: 点击edit configurations... 在vm options处加入-XX:+PrintGCDetails 测试:代码调用system.gc后输出以下内容: 2.修改idea32/64.exe.vmoptions 文件 在idea的安装目录下
阅读全文
摘要:jdk1.7自带jvisualvm可以对java应用进行监控。其中有个插件visualgc可以查看jvm垃圾回收的具体信息。安装插件的步骤是打开jvisualvm,点击工具->插件,在可用插件列表找到Visual GC进行安装,结果提示无法安装。在浏览器打开链接访问一下,发现java.net网站已经
阅读全文
摘要:调优工具 启动JDK自带的工具jvisualvm 首先到JDK安装目录/bin目录下,双击jvisualvm.exe文件启动 堆配置 说明: 1、一般初始堆和最大堆设置一样,因为:现在内存不是什么稀缺的资源,但是如果不一样,从初始堆到最大堆的过程会有一定的性能开销,所以一般设置为初始堆和最大堆一样。
阅读全文
摘要:(GC Root有哪些) 基本思想是通过一系列称为“GC roots”的对象作为起始点,可以作为根节点的是: 虚拟机栈(栈帧中的本地变量表)中引用的对象(即所有Java线程当前活跃的栈帧里指向GC堆里的对象的引用;换句话说,当前所有正在被调用的方法的引用类型的参数/局部变量/临时值。) 本地方法栈中
阅读全文
摘要:(G1垃圾收集器的实现原理。G1和CMS经常被单独拎出来问) https://tech.meituan.com/g1.html G1太复杂,说下CMS吧
阅读全文
摘要:(问:1.介绍 2.何时会STW,所有垃圾回收器都会有STW吗) 答案:都有stw。 包括 1.1 Young GC类算法:Serial Young GC(DefNew)、Parallel Young GC、ParNew GC; 1.2 Full GC类算法:Serial Old GC、PS Mar
阅读全文
摘要:(问:自定义类加载器怎么实现,其中哪个方法走双亲委派模型,(实现findclass方法,一般用defineclass加载外部类),如何才能不走双亲委派。(重写loadclass方法)) 三个重要函数:loadClass,findClass,defineClass loadClass:调用父类加载器的
阅读全文
摘要:看Java核心技术1的时候看到HashMap的对象,书中讲到: 1.如果有一个值,对应的键不再使用他了,但由于key与value之间存在强引用,是不会被垃圾回收的 2.垃圾回收器跟踪活动的对象,只要映射对象是活动的,其中的所有桶也是活动的,它们不能被回收 所以做了下面的测试: 测试结果: 果然,GC
阅读全文
摘要:定义:守护线程--也称“服务线程”,在没有用户线程可服务时会自动离开。优先级:守护线程的优先级比较低,用于为系统中的其它对象和线程提供服务。 设置:通过setDaemon(true)来设置线程为“守护线程”;将一个用户线程设置为守护线程的方式是在 线程对象创建 之前 用线程对象的setDaemon方
阅读全文
摘要:转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6554103.html 一:绑定 把一个方法与其所在的类/对象 关联起来叫做方法的绑定。绑定分为静态绑定(前期绑定)和动态绑定(后期绑定)。 二:静态绑定 静态绑定(前期绑定)是指:在程序运行前就已经知道方法是属
阅读全文