jvm 虚拟机
虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。虚拟机屏蔽了与具体操作系统平台相关的信息,使得程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
午夜.幽魂.男
每个优秀的人,都有一段沉默的时光,那段时光是付出了很多努力,却得不到结果的日子,我们把它叫做扎根。
展开
-
集群之间免密传输、登录
搭建集群原创 2022-06-02 21:33:27 · 268 阅读 · 0 评论 -
final finalize
主要是为了“效率” 和 “安全性” 的缘故。 1 性能(效率) 如果指定一个类为final,则该类所有的方法都是final。Java编译器会寻找机会内联(inline)所有的final方法(这和具体的编译器实现有关)。此举能够使性能平均提高50%。 2 安全性 String类的内部好多方法的实现都不是Java编程语言本身编写的,好多方法都是调用的操作系统本地的API,也就是“本地方法调用”,这种类...原创 2019-08-08 20:35:34 · 156 阅读 · 0 评论 -
hutool使用 WeakReference
可以根据需求对每个模块单独引入,也可以通过引入hutool-all方式引入所有模块。 <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>4.6....原创 2019-08-29 02:29:22 · 561 阅读 · 0 评论 -
JVM常量池、Class常量池、运行时常量池
private final final 本意是指 无法改变的!不想被改变无非出于两种理由。设计和效率以下针对用到final的三种情况 数据,方法和类 数据 final 修饰基本的数据类型时 必须初始化 否则编译报错。代码 如下 包括包装类。 final int a=0; final Integer ad;//编译报错 当 final 修饰的对象修饰的数据是独享的引用的...原创 2019-06-30 00:28:09 · 2306 阅读 · 0 评论 -
jvm 深拷贝和浅拷贝
面试题:深拷贝和浅拷贝(超级详细,有内存图) 基本类型和引用类型的理解深度 深拷贝和浅拷贝主要是针对对象的属性是对象(引用类型) 一 、基本类型和引用类型的区别原创 2021-07-06 16:42:29 · 328 阅读 · 0 评论 -
jvm 工具 类加载机制
“static”, “final”, “const” 在Dart中意味着完全不同的东西: “static” 表示成员在类本身上可用,而不是在类的实例上。 这就是它的意思,并没有用于其他地方。 static修饰成员。 “final” 表示单一赋值:final变量或字段必须初始化。 一旦赋值,就不能改变final变量的值。 final修饰变量。 “const” 的含义在Dart中有点复杂和微妙。 co...原创 2019-03-21 15:53:49 · 505 阅读 · 0 评论 -
面试必问之JVM篇!!
声明:全文默认指的是HotSpot VM 一、简单聊聊JVM 1.1先来看看简单的Java程序 现在我有一个JavaBean: public class Java3y { // 姓名 private String name; // 年龄 private int age; //.....各种get/set方法/toString } 一个测试类: ...转载 2019-11-20 15:55:48 · 174 阅读 · 0 评论 -
JVM 内存模型
程序计数器(线程私有) 也称PC 寄存器。保存的是程序当前执行的指令的地址(也可以说保存下一条指令的所在存储单元的地址),当 CPU 需要执行指令时,需要从程序计数器中得到当前需要执行的指令所在存储单元的地址,然后根据得到的地址获取到指令,在得到指令之后,程序计数器便自动加 1 或者根据转移指针得到下一条指令的地址,如此循环,直至执行完所有的指令。也就是说是用来指示执行哪条指令的。 由于在 JVM 中,多线程是通过线程轮流切换来获得 CPU 执行时间的,因此,在任一具体时刻,一个 CPU 的内核只会执行一条原创 2019-08-17 14:51:30 · 155 阅读 · 0 评论 -
类加载机制
类加载的一种方式 一个类加载器收到了类加载的请求,不会自己尝试加载这个类,而是把这个请求委派给父类加载器去完成。 如果某个父类能对此类加载,子类就不需要自己加载了。 类加载器 它通过一个类的全限定名来获取描述此类的二进制字节流,从而将java类动态地加载进JVM的内存空间中。 非数组类,引导类加载器来完成。或自定义的类加载器去完成。 数组类,由jvm创建,不使用classLoader。 ...原创 2019-08-24 11:15:32 · 75 阅读 · 0 评论 -
算法 - 贪心算法
求解问题,做出在当前看来是最好的选择。 得到局部最优解 你有n堆石头质量分别为W1,W2,W3…Wn.(n<=100000)现在需要你将两堆石头合并,问一共所用力量最小是多少? 解题思路:每次挑重量最少的两堆石头,直到所有石头挑完。 ...原创 2019-08-24 11:02:06 · 176 阅读 · 0 评论 -
jvm gc策略 参数设置
内存中的垃圾: 当对象不再被引用时,可以视为垃圾。 内存泄露:当对象不再被使用时,其引用依然存在,占据着内存空间。 判断垃圾的算法: 引用计数算法,对象被引用一次计数器加一,结束后减一. 可达性分析算法 垃圾回收算法: 将对象进行标记,进行GC时将被标记无用的对象进行清除,缺点是会出现不连续的内存空间碎片,当我们创建大的对象时,就会找不到连续的内存空间存放。 避免产生碎片 复制算法 将空间...原创 2019-08-20 09:53:33 · 185 阅读 · 0 评论