欢迎关注微信公众号:DroidMind

最新博文将会第一时间在微信公众号发布,欢迎关注!

JVM中的垃圾收集器

下面这些收集器在新生代中使用: -XX:+UseSerialGC  -XX:+UseParallelGC  -XX:+UseParNewGC 下面这些收集器在老年代中使用: -XX:+UseParallelOldGC  -XX:+UseConcMarkSweepGC Serial收集器...

2016-03-27 10:18:23

阅读数 894

评论数 0

图解Java中的GC(分代收集器)

前面在Java垃圾收集算法中讲过垃圾收集算法中的分代收集器,今天看了一个视频发现里面将的也很不错,所以决定再总结一下。 我们知道,在分代收集算法中堆空间被分为新生代和老年代。因为新生代中对象的存活率比较低,所以一般采用复制算法,老年代的存活率一般比较高,一般使用”标记-清理”或者”标记-整理”...

2016-03-26 11:43:52

阅读数 3421

评论数 2

JVM中的flag设置

一、堆大小设置-Xmx3550m:设置JVM最大可用内存为3550M。-Xms3550m:设置JVM初始可用内存为3550M。-Xmn2g:设置年轻代大小为2G。-Xss128k:设置每个线程的堆栈大小为128K-XX:NewSize=4:设置年轻代大小为4-XX:NewRatio=4:设置年轻代...

2016-03-23 17:04:03

阅读数 1047

评论数 0

Java垃圾收集算法

一、对象标记算法垃圾回收器在对堆内存进行回收前,第一件事情就是要确定哪些对象还”存活”中,哪些对象已经”死去”。一般有下面两种方法来对其进行标记。1、引用计数法原理:给对象中添加一个引用计数器,每当有一个地方引用到它,计算器的值就加1,当引用失效的时候,计数器就减1,任何时刻计数器为0的对象就是没...

2016-03-20 16:20:51

阅读数 1568

评论数 0

理解GC日志

一、日志分析 理解GC日志是处理Java虚拟机内存问题的基本技能,下面我们具体来看看。通过在java命令种加入参数来指定对应的gc类型,打印gc日志信息并输出至文件等策略。1、编写java代码public class ReferenceCountingGC { public Object...

2016-03-20 14:59:25

阅读数 1661

评论数 0

【JVM系列】Java类加载器

一、默认类加载器Java虚拟机中系统默认的类加载器有三个:BootStrap,ExtClassLoader,AppClassLoaderJava类都是被类加载器加载的,ExtClassLoader,AppClassLoader也是Java类,显然它们也需要被加载,所以必然有一个类加载器不是Java...

2016-02-16 17:21:00

阅读数 966

评论数 1

【JVM系列】Java虚拟机体系结构

Java程序动态装载Java的体系结构可以在运行时决定使用的类型,装载它们,使用它们。下面由两种方式可以实现java类型的动态装载。1、Class.forName()static Class<?> forName(String className,boolean shouldIniti...

2016-01-16 19:36:17

阅读数 750

评论数 0

【JVM系列】Java 虚拟机指令操作码的映射表

摘自 Java虚拟机规范

2016-01-11 15:45:43

阅读数 1289

评论数 0

【JVM系列】Java class文件解析2

前面Java class文件解析1中介绍了一大堆的概念性的东西,下面来讲个例子。一个简单的例子:public class TestDemo { public static void main(String[] args) { System.out.println("...

2016-01-11 13:25:08

阅读数 475

评论数 0

【JVM系列】Java class文件解析1

深入Java虚拟机读书笔记一、关于class文件的几个点1、每一个Java class文件都对应于一个Java类或者接口。java class文件中包含了java虚拟机所需知道的,关于类或接口的所有信息。2、Java class文件是8位字节的二进制流,数据项按顺序存储在class文件中。占据多个...

2016-01-10 16:59:40

阅读数 753

评论数 0

【JVM系列】Java对象的生命周期与类型的卸载

一旦一个类被装载、连接和初始化,它就随时可以使用了。程序可以访问它的静态字段,调用它的静态方法,或者创建它的实例。类实例化类实例化有四种方式: 1、明确地使用new操作符 2、调用Class或者java.lang.Constructor对象的newInstance()方法 3、调用任何现有对...

2015-12-15 21:58:34

阅读数 1306

评论数 0

【JVM系列】Java类型装载、连接与初始化

深入Java虚拟机第七章读书笔记Java虚拟机通过装载、连接和初始化一个Java类型,使该类型可以被正在运行的Java程序所使用。装载就是把二进制形式的Java类型读入Java虚拟机中;连接就是把这种已经读入到虚拟机的二进制形式的类型数据合并到虚拟机的运行时状态中去。连接分为三步:验证、准备和解析...

2015-12-15 12:13:21

阅读数 574

评论数 0

提示
确定要删除当前文章?
取消 删除