树遍历以及图遍历的方法
摘要:树遍历: 根节点=D=Degree 左节点=L=Left 右节点=R=Right 1.前序遍历(DLR) 2.中序遍历(LDR) 3.后序遍历(LRD) 4.层次遍历(一层一层的遍历) 前三种遍历均可用递归或者非递归的方式来遍历。 层次遍历可以设一个队列,把元素放在队列里,每次输出队头元素。 图遍历
阅读全文
posted @
2020-03-23 18:20
一中晴哥威武
阅读(607)
推荐(0) 编辑
双亲委派机制及作用
摘要:什么是双亲委派机制 当某个类加载器需要加载某个.class文件时,它首先把这个任务委托给他的上级类加载器,递归这个操作,如果上级的类加载器没有加载,自己才会去加载这个类。 类加载器的类别 BootstrapClassLoader(启动类加载器) c++编写,加载java核心库 java.*,构造Ex
阅读全文
posted @
2020-03-23 17:24
一中晴哥威武
阅读(761)
推荐(0) 编辑
类加载的过程
摘要:加载 loading 验证 verification 准备 preparation 解析 resolution 初始化 initialization 使用 using 卸载 unloading
阅读全文
posted @
2019-03-25 15:04
一中晴哥威武
阅读(121)
推荐(0) 编辑
JVM性能调优
摘要:建议: 1、初始化内存(-Xms)和最大内存(-Xmx)尽量保持一致,避免内存不够用继续扩充内存,不一致则表示堆的大小是可变的,这会导致抖动现象;最大内存不要超过物理内存,例如内存8g,你可以设置最大内存4g/6g但是不能超过8g否则加载类的时候没有空间会报错。 2、gc/full gc频率不要太高
阅读全文
posted @
2019-03-20 11:13
一中晴哥威武
阅读(150)
推荐(0) 编辑
JVM虚拟机 YGC和FGC发生的具体场景
摘要:1、YGC和FGC是什么 YGC :对新生代堆进行gc。频率比较高,因为大部分对象的存活寿命较短,在新生代里被回收。性能耗费较小。 (复制算法 > 一般适用对象存活率低的场景) FGC :全堆范围的gc。默认堆空间使用到达80%(可调整)的时候会触发fgc。 (标记整理或者标记清除算法 > 一般适用
阅读全文
posted @
2019-01-16 15:35
一中晴哥威武
阅读(3493)
推荐(1) 编辑
JVM老年代和新生代的比例
摘要:在 Java 中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。新生代 ( Young ) 又被划分为三个区域:Eden、From Survivor、To Survivor。这样划分的目的是为了使 JVM 能够更好的管理堆内存中的对象,包括内存的分配以及回收。堆的内存
阅读全文
posted @
2019-01-16 15:00
一中晴哥威武
阅读(10736)
推荐(1) 编辑
JVM的 GC机制和内存管理
摘要:GC机制:java垃圾回收机制,垃圾收集器线程(Garbage Collection Thread)在 JVM 处于空闲循环式,会自动回收无用的内存块。 垃圾收集算法:1、引用计数 2、根搜索 3、标记-清除 4、复制 5、标记-整理 6、分代收集 内存管理:JVM将内存划分为6个部分:PC寄存器(
阅读全文
posted @
2019-01-10 17:27
一中晴哥威武
阅读(328)
推荐(0) 编辑