- 博客(157)
- 资源 (1)
- 收藏
- 关注
原创 【JVM 05-JVM内存结构之-堆】
堆是 JVM 中最大的一块内存区域,被所有线程共享,在虚拟机启动时创建,用于存放对象实例。从内存回收角度,堆被划分为新生代和老年代,新生代又分为 Eden 区和两个 Survivor 区(From Survivor 和 To Survivor)。如果在堆中没有内存完成实例分配,并且堆也无法扩展时会抛出 OutOfMemoryError 异常小林面试网站关于堆的介绍通过ne关键字,创建对象都会使用堆内存。
2025-05-24 19:51:49
1159
原创 【JVM 04-JVM内存结构之-本地栈】
与 Java 虚拟机栈类似,主要为虚拟机使用到的 Native 方法服务,在 HotSpot 虚拟机中和 Java 虚拟机栈合二为一。本地方法执行时也会创建栈帧,同样可能出现 StackOverflowError 和 OutOfMemoryError 两种错误。简单地讲,一个就是一个Java调用非Java代码的接口。一个Native Method是这样一个Java方法:该方法的实现由非Java语言实现,比如C。
2025-05-24 18:45:37
831
原创 【JVM 03-JVM内存结构之-虚拟机栈】
虚拟机栈:线程运行需要的内存空间。栈中放的是多个栈帧。栈帧:每个方法运行时需要的内存。(比如参数,局部变量,返回地址等。每个线程只能有1个活动栈帧,对应着当前正在执行的那个方法。Java虚拟机栈(Java Virtual Machine Stack),早期也叫Java栈。每个线程在创建时都会创建一个虚拟机栈,其内部保存一个个的栈帧(Stack Frame),对应着一次次的Java方法调用。是线程私有的,生命周期和线程一致。虚拟机栈中放的一个个栈帧。
2025-05-23 22:08:51
1093
原创 【JVM 02-JVM内存结构之-程序计数器】
Program Counter Register 程序计数器当执行一条指令时,首先需要根据PC中存放的指令地址,将指令由内存取到指令寄存器中,此过程称为“取指令”。与此同时,PC中的地址或自动加1或由转移指针给出下一条指令的地址。此后经过分析指令,执行指令。完成第一条指令的执行,而后根据PC取出第二条指令的地址,如此循环,执行每一条指令。JVM中的程序计数寄存器(Program Counter Register)中, Register 的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。
2025-05-23 20:36:27
1069
原创 【JVM 01-引言入门篇】
定义:Java虚拟机(简称JVM)是运行所有Java程序的抽象计算机,是Java语言的运行环境,它是Java 最具吸引力的特性之一。【Java 二进制字节码运行环境】一次编写,到处运行自动内存管理,垃圾回收功能数组下标越界越界检查多态。
2025-05-23 20:08:45
657
原创 【438. 找到字符串中所有字母异位词】
思路就是我们要找和p相同的词,可以先排个序,每次取一个和p的size长度相同的窗口去滑动,符合就记录,不符合继续滑动。
2025-05-23 19:00:37
204
原创 【128. 最长连续序列】
先去重,防止有两个一样的数,然后找到序列中比当前数小的一个,如果存在则跳过,不存在则说明当前就是最小的,然后挨个询问剩下的看有多少重复的,每一个数都这样询问就行。
2025-05-23 08:56:47
183
原创 【234. 回文链表】
思路,找到中间结点,然后反转后半部分得到新链表,然后比较前半部分和后半部分每一个结点的值不同就不是回文链表,直到遍历结束。
2025-05-23 00:38:08
127
原创 【1004. 最大连续1的个数 III】
这题主要是要想到怎么让已经用掉的k重新还回去,这里如果k没有还回去就让left++是为了收缩到可以重新利用k,所以遇到left扫到的0说明用过了就还回去。
2025-05-22 22:51:29
210
原创 【76. 最小覆盖子串】
思路很简单,写起来就不是一会事了,看题解看了几个h,还是太菜了,这题得重点标记一下。滑动窗口的hard题目,思路先找到第一个覆盖的窗口,不断缩小左边界,找到更小的窗口并记录。
2025-05-21 22:24:10
221
原创 【LCR 006. 两数之和 II - 输入有序数组】
本文介绍了LeetCode算法练习中的LCR 006题“两数之和 II - 输入有序数组”的解题思路和Java实现。题目要求在一个非递减的数组中找到两个数,使它们的和等于目标值。解题思路采用双指针法,通过比较当前最大数与最小数的和与目标值的关系,逐步缩小搜索范围。如果和大于目标值,则舍去最大数;如果和小于目标值,则舍去最小数;直到找到符合条件的两个数。代码实现中,通过初始化两个指针分别指向数组的起始和末尾,通过循环不断调整指针位置,最终返回符合条件的两个数的索引。该方法的时间复杂度为O(n),空间复杂度为O
2025-05-21 12:51:57
109
原创 【Java核心技术卷Ⅰ-第11版学习-第3章-Java的基本程序设计结构】
本章节开始记录阅读Java核心技术卷Ⅰ的笔记记录。其中第一章节主要介绍了Java语言的特性,第二章节主要介绍了Java的环境如何安装,这里直接跳过进入第三章代码学习。
2025-04-21 21:11:01
229
原创 【1.排序】
排序,就是重新排列表中的元素,使表中的元素满足按关键字有序的过程。为了查找方便, 通常希望计算机中的表是按关键字有序的。稳定性:排列后元素的相对位置不发生改变。稳定性不能衡量一个算法的优劣。在排序过程中,根据数据元素是否完全存放在内存中,可将排序算法分为两类:①内部排序, 是指在排序期间元素全部存放在内存中的排序;②外部排序,是指在排序期间元素无法全部同时 存放在内存中,必须在排序的过程中根据要求不断地在内、外存之间移动的排序。一般情况下,内部排序算法在执行过程中都要进行两种操作:比较和移动。
2024-12-18 10:19:32
1091
MainActivity.java
2020-03-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人