10 2021 档案

摘要:JVM 内存相关的几个核心参数 参数部分看我笔记 https://note.youdao.com/s/Ch3awnVu JVM模板 1. ParNew + CMS 版 根据服务调整 -Xmx -Xms -Xmn 大小即可 -server -Xmx1g -Xms640m -Xmn512m -Xss1m 阅读全文
posted @ 2021-10-18 18:07 维维尼~ 阅读(109) 评论(0) 推荐(0) 编辑
摘要:方法栈帧的局部变量引用了一个对象的地址,对象保存在 Java 堆内存里面。 而在计算机中,内存资源是十分有限的,所以当一个方法执行完毕,那么方法的栈帧就会出栈,局部变量引用也会被清除。 这时,堆内存中的对象没有被任何一个变量引用,那么对于不需要的对象应该如何处理? 一、JVM 的垃圾回收机制 JVM 阅读全文
posted @ 2021-10-18 17:31 维维尼~ 阅读(112) 评论(0) 推荐(0) 编辑
摘要:JVM 在运行代码时,必须使用多块内存空间的,不同的内存空间用来存放不同的数据,再配合代码流程,才能让系统运转。 一、内存区域划分 代码运行时,需要分配内存用来存放类;运行方法、变量时,也需要存放在内存;创建对象时,也需要放在内存。 二、方法区 字节码文件(.class)加载进来的类,以及一些类似常 阅读全文
posted @ 2021-10-18 16:38 维维尼~ 阅读(65) 评论(1) 推荐(0) 编辑
摘要:Java 代码执行流程 类加载过程 加载 -> 验证 -> 准备 -> 解析 -> 初始化 -> 使用 -> 卸载 类加载时机:代码使用到这个类时 验证阶段 ".class”加载到内存里之后,必须先验证一下,校验他必须完全符合JM规范,后续才能交给VM来运行。 准备阶段 给加载的类分配内存空间 给类 阅读全文
posted @ 2021-10-18 16:08 维维尼~ 阅读(235) 评论(0) 推荐(0) 编辑
摘要:概述 ArrayList 是基于数组实现的,是一个能自动扩展的动态数组。 ArrayList 是线程不安全的,多线程情况下添加元素会出现数组越界的情况,而且数组赋值操作不是原子操作,会导致多线程情况下数据混乱。 ArrayList 实现了 Serializable 接口,支持序列化; 实现了 Clo 阅读全文
posted @ 2021-10-18 15:17 维维尼~ 阅读(119) 评论(0) 推荐(0) 编辑
摘要:计算原则 i++ 和 ++i 都是先自增后返回,只不过返回值有不同。后文有代码指令解释。 对此有个简单的记忆方法,变量在 ++ 前返回的就是自增前的值,变量在 ++ 后返回的就是自增后的值。 另外,java 的表达式是从左到右执行的,即使只是一个变量,它也是一个表达式。 记住,用逻辑运算符(+、-、 阅读全文
posted @ 2021-10-14 10:09 维维尼~ 阅读(479) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示