java 基础
文章平均质量分 53
qq_42985657
这个作者很懒,什么都没留下…
展开
-
windows11安装redis
下载免安装版本,鼠标点击一下自动下载。解压。原创 2024-11-06 11:17:40 · 406 阅读 · 0 评论 -
在你创建一个HashMap对象,并使用它的put和get方法的时候,以及这个HashMap销毁的时候,虚拟机里面都发生了什么。
然后,JVM会遇到三条invokevirtual指令,它们分别用来调用PrintStream对象的println方法,把操作数栈中的整数1、2和3作为参数传入,并输出到标准输出流中。接着,JVM会遇到三条invokevirtual指令,它们分别用来调用HashMap对象的get方法,根据字符串"apple"、"banana"和"orange"作为键来获取对应的值,并压入操作数栈中。首先,put方法会检查键是否为null,如果为null,则把键映射到哈希表的第一个位置上,也就是a[0]。原创 2023-08-17 18:16:11 · 131 阅读 · 1 评论 -
HashMap底层原理
在JDK7中,HashMap使用数组+链表的结构来实现哈希表,当发生哈希冲突时,新的键值对总是插入到链表的头部。这样做的好处是插入操作很快,但是查找操作可能会慢,因为链表中的元素是无序的,可能需要遍历很多节点才能找到目标。当我们需要查找或修改某个键对应的值时,我们先用哈希函数计算出索引,然后遍历链表中的节点,直到找到匹配的键或者到达链表尾部为止。当这个比值超过加载因子时,HashMap会进行扩容(rehashing),即重新创建一个更大的数组,并把原来的元素复制到新的数组中,同时更新哈希码和索引。原创 2023-08-17 17:43:19 · 74 阅读 · 1 评论 -
Java虚拟机(JVM)
Java堆(Java Heap):这是虚拟机管理的最大一块内存区域,也是所有线程共享的区域。方法区(Method Area):这个区域也是所有线程共享的区域,它用于存储已经被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。本地方法栈(Native Method Stacks):这个区域与Java虚拟机栈类似,也是线程私有的,但它是为虚拟机使用到的本地方法服务。Java虚拟机(JVM)是一种抽象的计算机,它可以在不同的平台上执行Java字节码,实现了Java语言的跨平台特性。原创 2023-08-17 17:26:37 · 106 阅读 · 1 评论 -
Java的内存模型(JMM)简述
Java的内存模型(JMM)原创 2023-08-17 17:13:25 · 65 阅读 · 1 评论 -
class文件反编译之后整理代码
替换掉反编译中的注释原创 2023-08-17 15:30:24 · 145 阅读 · 1 评论 -
windows11 JAVA环境变量
windows 11 java 环境变量原创 2022-08-14 14:14:25 · 1324 阅读 · 0 评论