学习【深入理解java虚拟机】
dzl84394
这个作者很懒,什么都没留下…
展开
-
学习【深入理解java虚拟机】四:String Stringbuffer和StringBuilder的区别
String Stringbuffer和StringBuilder的区别 string他是一个常量final,每次操作,自身是不变的,都会产生新的对象。 final都是线程安全的。 StringBuffer修改的是自身,他是一个变量 StringBuilder和StringBuffer同样的api但是不再同步,所以StringBuilder比StringBuffer更快 很多同步原创 2015-02-04 16:40:51 · 788 阅读 · 0 评论 -
学习【深入理解java虚拟机】三:自动装箱
在1.5以前 Integer a = 1; 这样写是不对的,应该写成 Integer a1 = new Integer(1); 但是 Integer a = 1; Integer a1 = new Integer(1); 执行 System.err.println("a==a1: "+ (a==a1)); System.err.println("a原创 2015-01-21 14:30:30 · 484 阅读 · 0 评论 -
学习【深入理解java虚拟机】二:条件编译
public static void main(String[] args) { if (true) { System.err.println("true!"); }else { System.err.println("false!"); } } 编译之后再反编译 就只有 public static void main(String[] args) {原创 2015-01-21 13:39:15 · 584 阅读 · 0 评论 -
学习【深入理解java虚拟机】一 :泛型和擦除
java1.5引入了泛型 c++里面lint 和list是不一样的, 但是java里面只在程序源码中出现,编译后的已经替换为原生类型List和List没有区别 所以说java的泛型是一个伪泛型,只是一个语法糖。 编写的代码如下: Map map = new HashMap(); map.put("hello", "你好"); map.put("name", "李明");原创 2015-01-20 16:12:09 · 815 阅读 · 1 评论 -
学习【深入理解java虚拟机】 Java内存
java内存 运行时数据区域 1程序计数器 2java虚拟机栈 线程私有的,生命周期和线程一致 存放局部变量,编译期间已经知道的基本数据类型 经常有人把内存分为堆和栈,分类比较粗糙,但是也说明大家最关注这2个 3本地方法栈(和2类似,给外调的非java使用的) 4java堆 最大的一块 所有对象实原创 2015-02-05 14:08:02 · 500 阅读 · 0 评论 -
生产环境参数实例及分析【生产环境实例增加中】
java application项目(非web项目) 改进前: -Xms128m -Xmx128m -XX:NewSize=64m -XX:PermSize=64m -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=78 -XX:ThreadStackSize=128 -Xloggc:logs/g转载 2015-02-05 16:21:44 · 500 阅读 · 0 评论 -
JVM参数设置、分析
http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html 不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序转载 2015-02-05 16:18:00 · 500 阅读 · 0 评论 -
JVM系列五:JVM监测&工具[整理中]
http://www.cnblogs.com/redcreen/archive/2011/05/09/2040977.html 前几篇篇文章介绍了介绍了JVM的参数设置并给出了一些生产环境的JVM参数配置参考方案。正如之前文章中提到的JVM参数的设置需要根据应用的特性来进行设置,每个参数的设置都需要对JVM进行长时间的监测,并不断进行调整才能找到最佳设置方案。本文将介绍如果通过工具及Java转载 2015-02-05 16:23:16 · 686 阅读 · 0 评论 -
学习【深入理解java虚拟机】 调优
调优 高性能设备上部署 64位的系统,大内存会导致GC时间太长 可以使用集群来分享内存 要避免竞争同一个文件,导致IO异常 也可定时任务来GC 要查看-Xmx和-Xms 集群同步导致内存溢出 -XX:+HeapDumpOnOutOfMemoryError 推外内存溢出 打开jstat等着 2G的内存,1.6给原创 2015-02-05 16:29:37 · 654 阅读 · 0 评论