2020年11月16日
|
阅读量
-
☕️
概述
类加载器是JVM执行类加载机制的前提。
ClassLoader的作用:
ClassLoader是Java的核心组件,所有的Class都是由ClassLoader进行加载的,ClassLoader负责通过各种方式将Class信息的二进制数据流读入JVM内部,转换为一个与目标类对应的java.lang. ...
阅读更多
2020年11月14日
|
阅读量
-
☕️
概述
在Java中数据类型分为基本数据类型和引用数据类型。⚠️基本数据类型由虚拟机预先定义,引用数据类型则需要进行类的加载。
按照Java虚拟机规范,从class 文件到加载到内存中的类,到类卸载出内存为止,它的整个生命周期包括如下7个阶段:
其中,验证、准备、解析3个部分统称为链接(Linking)
...
阅读更多
2020年11月13日
|
阅读量
-
☕️
JVM字节码指令手册
概述
Java字节码对于虚拟机,就好像汇编语言对于计算机,属于基本执行指令。
Java 虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字(称为操作码,Opcode) 以及跟随其后的零至多个代表此操作所需参数(称为操作数,Operands) 而构成。由于Java 虚拟机采用面向...
阅读更多
2020年11月03日
|
阅读量
-
☕️
JVM指令手册
一、栈和局部变量操作
将常量压入栈的指令
aconst_null 将null对象引用压入栈
iconst_m1 将int类型常量-1压入栈
iconst_0 将int类型常量0压入栈
iconst_1 将int类型常量1压入栈
iconst_2 将int类型常量2压入栈
icons...
阅读更多
2020年11月02日
|
阅读量
-
☕️
概述
字节码文件的跨平台性
1.Java语言:跨平台的语言(write once ,run anywhere)
当Java源代码成功编译成字节码后,如果想在不同的平台上面运行,则无须再次编译
这个优势不再那么吸引人了。Python、 PHP、 Perl、 Ruby、 Lisp等有强大的解释器。
...
阅读更多
2020年10月30日
|
阅读量
-
☕️
先做一个说明,从理论上来说,给缓存设置过期时间,是保最终一致性的解决方案。这种方案下,我们可以对存入缓存的数据设置过期时间,所有的写操作以数据库为准,对缓存操作只是尽最大努力即可。也就是说如果数据库写成功,缓存更新失败,那么只要到达过期时间,则后面的读请求自然会从数据库中读取新值然后回填缓存。因此,接下来讨论的思...
阅读更多
2020年10月28日
|
阅读量
-
☕️
HashMap常见面试题
HashMap源码解析
你了解数据结构中的HashMap么?能跟我聊聊他的结构和底层原理么?
HashMap是我们非常常用的数据结构,由数组和链表组合构成的数据结构。
大概如下,数组里面每个地方都存了Key-Value这样的实例,在Java7叫Entry,在Jav...
阅读更多
2020年10月27日
|
阅读量
-
☕️
HashMap集合简介
概述
HashMap基于哈希表的Map接口实现,是以key-value存储形式存在,即主要用来存放键值对。HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。
JDK1.8 之前 HashMap ...
阅读更多