- 博客(355)
- 收藏
- 关注
原创 day1 TCP/IP模型和OSI模型 从输入URL到页面展示发生了什么
应用层工作在操作系统中的用户态。从输入URL到页面展示发生了什么。TCP/IP模型和OSI模型。生产http请求信息。
2024-07-08 22:46:14
89
原创 多态原理 invokevirtual指令
3 class结构中有vtable 它在类加载的链接阶段就已经根据方法的重写规则生成好了。2 分析对象头 找到对象的实际class。invokevirtual 动态绑定。1 先通过栈帧中的对象引用找到对象。4 查表得到方法的具体地址。5 执行方法的字节码。
2024-07-07 22:13:41
71
原创 方法执行流程
5 main线程开始运行 分配栈帧内存。3 常量池载入运行时常量池。6 执行引擎开始执行字节码。4 方法字节码载入方法区。2 编译后的字节码文件。1 原始java代码。
2024-07-07 20:57:43
88
原创 类加载和字节码
1 0a 00 06 00 15 0a -> method 00 06 -> #6所属类 00 15->#21方法名。方法区 堆 虚拟机栈 程序计数器 本地方法栈。00 23 有35项(#0不计入)版本 00 00 00 34 -> java8。魔数 ca fe ba be->java。
2024-07-06 18:13:20
66
原创 G1垃圾回收器
Young Collection->初始标记(root 根对象)老年代占用堆空间比例达到阈值->并发标记(不会stw)堆内存划分小Region 标记整理算法 两个Region是复制算法。会stw E区->S区->O区。E S O全面垃圾回收。优先回收垃圾最多的区。
2024-07-04 17:45:38
230
原创 垃圾回收器
吞吐量优先 (吞吐量 = 运行用户代码时间/(运行用户代码时间+垃圾收集时间))多线程 堆内存较大 多核cpu支持 单位时间内stw时间最短。多线程 堆内存较大 多核cpu支持 尽可能单次stw时间最短。单线程 堆内存较小。
2024-07-04 15:57:50
111
原创 垃圾回收机制-分代回收
伊甸园满了 触发新生代gc(MinorGC) 复制回收算法(伊甸园->幸存区To)寿命+1 -> 交换 幸存区 From To。又满了 触发MinorGC (伊甸园/幸存区From->幸存区To) 寿命+1 交换。minorGC会引发stop the world 暂停用户线程 垃圾回收结束恢复。新生代(伊甸园 幸存区From 幸存区To)新生代对象寿命满15次 -> 老年代。老年代空间不足 fullGC。新创建的对象-> 伊甸园。fullGC stw时间更长。都满了outOfMemory。
2024-07-04 13:22:51
178
原创 字符串常量池StringTable
创建 new StringBuilder().append("a").append("b").toString()从常量池中取符号a->运行时常量池 ->"a"放入字符串常量池 -> 给s1。s3的串放入字符串常量池。
2024-07-01 20:41:38
180
原创 Vagrant报错:Vagrant failed to initialize at a very early stage
报错提示:vagrant Vagrant failed to initialize at a very early stage: The executable 'cmd.exe' Vagrant is trying to run was not found in the %PATH% variable. This is an error. Please verify this software is installed and on the path.在系统环境变量的path中配置cmd的路径。
2024-05-28 12:24:28
159
1
原创 蓝桥02递归查找排序
10种排序:插入 希尔 选择 堆 冒泡 快速 归并 计数 桶 基数。10种排序:插入 希尔 选择 堆 冒泡 快速 归并 计数 桶 基数。在有空字符串的有序字符串数组中查找。在有空字符串的有序字符串数组中查找。找出最长连续递增子序列。找出最长连续递增子序列。二分查找 递归/循环。二分查找 递归/循环。
2024-03-18 20:26:07
186
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人