S++

千线一眼

导航

上一页 1 2 3 4 5 6 7 ··· 10 下一页

2022年5月23日 #

JVM-类加载(2)

摘要: 多态原理 当执行 invokevirtual 指令时: 先通过栈帧中的对象引用找到对象 分析对象头,找到对象的实际 Class Class 结构中有 vtable,它在类加载的链接阶段就已经根据方法的重写规则生成好了 查表得到方法的具体地址工 执行方法的字节码 异常处理 面试题-1 public i 阅读全文

posted @ 2022-05-23 14:50 S++ 阅读(27) 评论(0) 推荐(0)

2022年5月10日 #

JVM-类加载(1)

摘要: 类文件结构 根据JVM的规范,类文件的结构如下: | 类型 | 名称 | 解释 | | | | | | u4 | magic | 魔数 | | u2 | minor_version | 小版本号 | | u2 | major_version | 主版本号 | | u2 | constant_pool 阅读全文

posted @ 2022-05-10 21:50 S++ 阅读(30) 评论(0) 推荐(0)

2022年5月9日 #

JVM-垃圾回收(4)

摘要: GC调优 确定目标 首先要确定项目的目的在于【低延迟】还是【高吞吐量】 比如互联网项目要求的是低延迟高响应,而科学计算之类的项目则要求高吞吐量。 CMS、G1、ZGC(低延迟可选) ParallelGC(高吞吐可选) 最快的GC是不发生GC 如果一个程序发生过于频繁的GC,那么就应该考虑以下几点: 阅读全文

posted @ 2022-05-09 21:02 S++ 阅读(35) 评论(0) 推荐(0)

2022年5月6日 #

JVM-垃圾回收(3)

摘要: 垃圾回收器补充——G1(Garbage First) G1垃圾回收器在2012年JDK 7u4中得到官方支持 而在2017年的JDK9更是将其设定为默认的垃圾回收器 G1的特点很多: 同时注重吞吐量(Throughput)和低延迟(Low Latency),默认的暂停目标是200ms 适用超大的堆内 阅读全文

posted @ 2022-05-06 21:45 S++ 阅读(65) 评论(0) 推荐(0)

JVM-垃圾回收(2)

摘要: 回收算法补充——分代回收 实际的JVM并不会单独的使用一种算法,分代回收的垃圾回收机制就体现了这一点。 JVM将堆内存划分为两个区域——新生代 和 老年代 新生代使用复制算法 老年代使用标记 - 清除 或者 标记 - 整理 算法 而新生代又细分为 伊甸园、幸存区From、幸存区To 新创建的对象放在 阅读全文

posted @ 2022-05-06 16:23 S++ 阅读(33) 评论(0) 推荐(0)

2022年5月5日 #

JVM-垃圾回收(1)

摘要: 如何判断对象是否可以回收 引用计数法 只要这个对象被引用则让其计数+1,当没有引用该对象时,即计数为0的时候,该对象就会作为垃圾被回收。 弊端:循环引用 当两个以上的对象相互引用,形成闭环的时候,导致它们的计数无法归零无法被垃圾回收! 可达性分析算法 在垃圾回收之前,对堆内存中的所有对象进行一遍扫描 阅读全文

posted @ 2022-05-05 10:10 S++ 阅读(41) 评论(0) 推荐(0)

2022年5月2日 #

JVM-直接内存

摘要: 定义 是属于操作系统的内存 常用于NIO操作,用于数据缓冲区 分配回收成本高,但读写性能高 不受JVM内存回收管理 文件读写过程 Java本身并不具有磁盘读写的能力,磁盘读写必须调用操作系统提供的方法。 当切换到内核态(System)时,开始调用操作系统方法读取磁盘文件 首先读取到系统内存,会在系统 阅读全文

posted @ 2022-05-02 09:47 S++ 阅读(238) 评论(0) 推荐(0)

2022年4月28日 #

JVM-StringTable

摘要: StringTable的位置 面试题 有这样一个面试题 public class Main{ public static void main(String[] args) { String s1 = "a"; String s2 = "b"; String s3 = "a" + "b"; Strin 阅读全文

posted @ 2022-04-28 09:31 S++ 阅读(24) 评论(0) 推荐(0)

2022年4月25日 #

JVM-内存结构

摘要: 1. 程序计数器(PC Counter Register) 定义 一般是机器的寄存器 作用 记录下一条JVM指令指定的地址 特点 线程私有 不会存在内存溢出 2. 虚拟机栈(JVM Stacks) 定义 栈:先进后出的存储结构 每个线程运行时所需要的内存空间,成为虚拟机栈 栈帧 每个栈由多个栈帧(F 阅读全文

posted @ 2022-04-25 14:00 S++ 阅读(41) 评论(0) 推荐(0)

2022年4月21日 #

hadoop入门(15):YARN

摘要: 简介 apache hadoop yarn(yet another Resource Negotiator) 是一种新的hadoop资源管理器。 YARN是一个通用的资源管理系统和调度平台,可为上层应用提供统一的资源管理和调度。 YARN的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大的 阅读全文

posted @ 2022-04-21 10:40 S++ 阅读(83) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 ··· 10 下一页