java语言
tony820418
这个作者很懒,什么都没留下…
展开
-
java内存模型
java 虚拟机运行期内存分5部分: 程序计数器 :无oom , 线程私有,指向当前线程运行到的位置 方法区:存放class、运行时常池 java虚拟机栈: 以栈帧方式存储,局部变量,方法出口等。线程私用,线程创建时,由操作系统分配。-Xss配置单线程最大栈空间 其大小限制由操作系统限制,不受-Xmm的限制 本地方法栈:调用native方法时的栈空间。 堆:new生成的对像,数组存放在...原创 2018-09-13 10:29:16 · 94 阅读 · 0 评论 -
字符串常池与string.intern()方法知识点汇总
参考博客:https://blog.csdn.net/soonfly/article/details/70147205 博客写的非常清楚,补充以下内容: public native String intern(); 方法为本地方法 根据场景进行方法说明: 场景一可以得出结论:在s2.intern()方法调用 之后,s2的指针不变,仍然指向堆内地址,方法返回指向了常量池中的字符串。 在...原创 2018-09-13 15:41:52 · 268 阅读 · 0 评论 -
ArrayList与Arrsys.asList
Arrays.asList返回的ArrayList为Arrays内部类,并非java.util.ArrayList,二者不能做转 ArrayList<String> srclist = (ArrayList)Arrays.asList(src); ////此行代码会报错 Arrays.asList返回的集合不支持add与remove操作 Arrays.asList是把数组与Li...原创 2018-11-13 10:59:32 · 215 阅读 · 0 评论 -
带通配符的List的add方法说明
List<? super E> 与List<? extends E>Add方法说明 List<? super E>: 可以添加E的子类元素 <? extends E>:不可以添加任何元素 public static class Person{} public static class Man extends Person{...原创 2018-11-13 16:11:46 · 635 阅读 · 0 评论 -
JVM性能调优(二):垃圾回收算法
一、Throughput收集器 1、Throughput回收算法,即为多线程回收算法, 新老代回收时均需要 stop the world 使用 -XX:+ UseParallelGC、- XX:+ UseParallelOldGC 标志启用 Throughput 收集 器。 2、Throughput回收算法,分为对新生代的Minor gc 和对老年代的full gc,其中full...原创 2018-11-21 16:47:08 · 297 阅读 · 0 评论 -
JVM性能调优(一):GC初级调优
JAVA 调优有一部分工作就是减少GC对系统的影响,主要从以下几个方面: FULL GC频繁运行 FULL GC运行导致系统停顿 针对上面这两个问题,从垃圾回收器选择,垃圾回收参数调整两方面进行JVM调优。本文只说明从JVM的参数方面的调优,代码的优化也减少上面的问题,有时起到更佳效果。 一、垃圾收集器选择 现代 JVM 的 类型 繁多, 最 主流 的 四个 垃圾 收集 器 分别 是: S...原创 2018-11-19 18:36:27 · 155 阅读 · 0 评论 -
JVM性能调优(三):高级调优
1、晋升及Servivor空间调优级 (1)设计Survivor空间的初衷是为了让对象在新生代停留更多的GC周期。 这个设计增大了对象晋升到老年代之前被回收释放的几率。 (2)如果Survivor 空间过小, 对象会直接晋升到老年代, 从而触发更多的老年代 GC。 (3)解决这个问题的最好方法是增大堆的大小( 或者至少增大新生代), 让JVM来处理Survivor 空间的回收。 (4) 有...翻译 2018-11-27 14:49:23 · 202 阅读 · 0 评论