- 博客(30)
- 收藏
- 关注
原创 逐步演示强引用、软引用和弱引用
3.但我们把软引用指向4MB的byte数组放入list时,就可以多次放入list数组,并不会出现像前面强引用那样报错,这是因为我们此时的byte数组是软引用,当我们第二次将byte数组放入list时,虚拟机发现内存不足,就会进行垃圾回收,将我们第一次放入的list中的软引用byte数组给回收了,内存就足够了。软引用:当内存空间充足时,即使垃圾回收器扫描到了软引用指向的对象也不会进行垃圾回收,但是当内存空间不足时,软引用指向的对象就会被回收。一般我们平时所用的新建的对象都是强引用指向的对象。
2023-04-06 05:48:23 174
原创 java通过反射机制,反编译一个类的属性和访问一个对象的的属性(学习记录)
只要有一个类的名字,就可以反编译出这个类的属性信息。2.访问一个java对象的属性,包括给属性赋值和获取值。1.反编译一个类的属性。
2022-10-23 07:27:52 204
原创 整数型常量池
java中为了提高程序的执行效率,将-128到127之间的所有包装类提前创建好,放到了方法区的常量池中,目的是这个区间的数字不需要再new对象,直接从整形常量池中取出来。
2022-08-02 03:25:54 391
原创 C++中namespace后面没有跟名字
今天看项目时,发现一个namespace没有命名。就去查了一下这个用法。举例:namespace{int i;int add(int a,int b);}上边的就相当于static int i;static add(int a,int b);相当于声明的是静态全局变量...
2022-05-25 13:51:49 993
原创 刷题思路很乱,总结经验
链接:力扣https://leetcode.cn/problems/one-away-lcci/刚看到这个题,思路是写三个函数,判断三种情况。想了一下又觉得有点麻烦,去看了题解,真是大牛太多了,插入和删除可以看成是一样的,长的字符串删除一个变成短的,短的增加一个就变成长的。遍历字符串,逐个比较,用一个flag记录不同的次数。class Solution { public boolean oneEditAway(String first, String second) { ...
2022-05-13 23:23:39 102
原创 Java中8种包装类型
Java为8种基本的数据类型对应提供了8种包装类,包装类属于引用数据类型。基本数据类型 包装类型 byte java.Lang.Byte short java.Lang.Short int java.Lang.Integer long java.Lang.Long float java.Lang.Float double java.Lang.Double...
2022-05-12 18:33:26 1527
原创 Java中StringBuffer和StringBuilder的用法和区别
区别:StringBuffer类中的方法都有synchronized关键字修饰,表示StringBuffer在多线程环境下运行是安全的。StringBuilder类中的方法无synchronized关键字修饰,表示StringBuffer在多线程环境下运行是不安全的。用法:由于Java中的string类的对象是不可变的(被final修饰),在做字符串的的拼接删除时会耗费极大空间,所以Java中又提供了StringBuffer和StringBuilder类,其对象是可以改变大小的,默认容量是1
2022-05-12 17:17:14 853
原创 Java中的String类:构造方法和常用的方法
一.构造方法1. 直接使用字符串初始化。//"hello"对象存放在方法区的字符串常量池中,s1和s2在栈区中,存放的是"hello"的地址,故两者存放的内//容相同String s1="hello";String s2="hello";2. new String(字符串)构造方法。"hello"对象存放在方法区的字符串常量池中;new String()新建对象在堆区,有两次,所以有两个对象在堆区中;s1和s2在栈区。s1和s2分别存储的是堆区中两个对象的地址,堆区中两个Strin.
2022-05-06 01:45:56 3622 2
原创 LeetCode刷题三数之和,三数之最接近数,四数之和
题目链接;1.力扣2.力扣3.力扣思路:将数组排序,然后是循环+双指针这里展示四数之和的代码。class Solution { public List<List<Integer>> fourSum(int[] nums, int target) { List<List<Integer>> ans= new ArrayList<List<Integer>>();
2022-05-04 13:14:39 65
原创 Java中的冒泡排序,选择排序和二分法
对于排序,Java中的Arrays类提供了sort()方法,对于二分法,Java中的Arrays类提供了binarySearch()方法。这些用起来都很方便。import static java.util.Arrays.binarySearch;public class ArrayTest07 { public static void main(String[] args) { int[] arr ={65,43,7,89,31,576,12,45,68,32,14,34}
2022-05-03 13:20:38 363
原创 Java用数组模拟栈,栈中可以存储任意引用类型的对象
由于可以存储任意引用类型的对象,所以数组定义为Objectpublic class ArrayTest06 { public static void main(String[] args) { String s1="1234"; MyStack ms= new MyStack(new Object[4],-1);//初始化栈,可以存放四个对象 Object o=new Object();
2022-05-02 13:32:10 595
原创 Java中的数组复制:System.arraycopy()方法
arraycopy()方法中有五个参数:第一个:源数组第二个:源数字的复制起始位置第三个:目标数组第四个:数字的起始位置第五个:复制的长度public class ArrayTest04 { public static void main(String[] args) { int[] src={1,2,3,4,5}; int[] dest= new int[20]; System.arraycopy(src,1,dest,3,
2022-05-01 14:41:26 1228
原创 Java中关于object中间的finaliz()方法
1.在object类中源代码如下: protected void finalize() throws Throwable{}2.可以看到finalize()方法只有一个方法体,里面没有代码,而且这个方法体是被protected修饰的。3.这个方法不需要程序员手动调用,JVM的垃圾回收器负责调用这个方法。4.finalize的执行时机:当一个java对象即将被垃圾回收器回收时,垃圾回收期负责调用finalize方法。5.finalize()方法实际上是为程序员准备的一个时机。垃圾回收销毁时机,
2022-04-29 12:41:43 710
原创 Java中static静态代码块
Java中静态代码块、代码块以及构造函数执行顺序详解_大猫的Java笔记(公众号同号)的博客-CSDN博客_代码块和静态代码块执行顺序
2022-04-29 12:19:47 355
原创 JAVA中访问控制权限:public、protected、default、private
public权限最大,同一个类中,同一个包中,子类中的都可以访问,其他包下的子类也可以访问。反正就是一句话,啥地方都有可以访问,但记住一点,前提是一定要导入包,哈哈哈。private权限最小,只在本类中可以访问。总之一句话,我不碰被private修饰的,碰了其实也没关系,反正报错,后面可以改,嘿嘿嘿。接下来时protected和default,被这两个修饰的同一个类中,同一个包中都是可以访问的。区别在于不同的包中,protected修饰的了可以在子类中使用,default不能子类中使用,子类的实例变
2022-04-18 10:20:54 1646
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人