- 博客(24)
- 收藏
- 关注
原创 Java线程池知识点
maximumPoolSize:线程池中线程数的最大大小,当任务队列满了以后并且没有空闲线程时可以创建超过核心线程数量的线程,但也不能无限制的新建,maximumPoolSize 控制了线程池内线程数的上限。即使在没有任务执行时线程池内线程数也是这个大小,但当任务队列满了以后线程池是可以创建超出这个数量的线程的。keepAliveTime:当线程池创建出超过核心线程数的线程后,多出的线程执行完任务后是要回收的,如果某个线程的空时间超过了空闲存活时间,那么这个线程将被终止。
2023-09-08 21:52:21
94
原创 Java内部类
局部内部类(Local Inner Class):局部内部类是定义在方法或作用域内部的类。局部内部类可以被方法内部直接实例化。成员内部类(Member Inner Class):成员内部类是定义在另一个类的内部,并且与该类的成员变量和方法具有相同的级别。为了创建成员内部类的对象,必须先创建外部类的对象,然后使用外部类的对象来创建内部类的对象。静态内部类(Static Inner Class):静态内部类是使用static关键字修饰的内部类。静态内部类不能访问外部类的非静态成员,但可以访问外部类的静态成员。
2023-08-27 22:55:58
87
原创 Java中String类的知识点
的方法,用于将StringBuilder对象的内容转换为普通的字符串表示形式。与之相似的是,Java的String类提供了一个名为。s2在编译阶段Java编译器会对字符串常量进行优化,将相邻的字符串常量连接在一起,因此。都指向相同的字符串常量池中的同一个字符串对象(“ab”),因此它们的地址是相同的。在Java中,StringBuilder类提供了一个名为。的静态方法,可以将其他类型的值转换为字符串类型。s3是通过字符拼接完成的,new了一个新的。
2023-08-24 20:03:01
131
1
原创 Java-正则表达式
[abc] ---- a,b 或者 c [^abc] ---- 不是 a 或者 b 或者 c [a-zA-Z] ---- a到z 或者 A到Z [a-d[m-p]] ----a到d或者 m到p(跟上面那种一样其实) [a-z&&[def]] ---- a到z 并且是 d,e 或者 f [a-z&&[^bc]] ---- 同上 [a-z&&[^m-p]] ---- 同上 . (点)表
2023-08-24 20:00:50
84
1
原创 Java中==和equals () 的区别
对于对象引用,"=="比较的是两个引用变量是否引用同一个对象。换句话说,它比较的是对象的内存地址而不是对象的内容。而equals方法则提供了重写的可能,开发者可以自己定义类的equals逻辑。对于基本类型数据(如整数、浮点数和字符),"=="比较的是它们的值是否相等。
2023-08-19 16:37:00
50
原创 完全解析为什么0.1+0.2=0.30000000000000004
由于浮点数只能存储有限位数的二进制数,因此最接近 0.1 的二进制表示为:0.00011001100110011001100。在IEEE 754标准中,浮点数采用二进制的科学计数法表示,即一个数的二进制表示为:(-1)^s × m × 2^e,其中 s 表示符号位,m 是有效数字,e 是指数。当计算机尝试将这些无限精度的浮点数近似为有限的二进制表示时,舍入误差就会产生。因此,当计算机执行 0.1+0.2 时,由于舍入误差的存在,最终结果变为 0.30000000000000004。
2023-08-12 16:09:00
1146
1
转载 为什么Java源文件中的public类 必须与文件名相同
这么做的意思是,每个编译单元只能有一个公开的接口,而这个接口就由其public类来表示。而非public修饰的类都是为了给public修饰的类所做支撑的,从软件架构设计和安全性设计上得出的结论。但对于.java 文件中的每个类,它们都有一个.class 扩展名。因此,我们最终从少量的.java 文件里有可能获得数量众多的.class 文件。一个有效的程序就是一系列.class 文件,它们可以封装和压缩到一个 JAR 文件里(使用 Java 1.1 提供的 jar 工具)。
2023-08-12 09:43:52
538
1
原创 Java静态块,构造块,普通块
静态块在类加载时就执行的,构造块是写在类里面的代码块,创建此类对象时执行,先于构造方法的执行,普通块是方法里面的代码块,优先级最低。
2023-04-25 23:25:26
62
1
原创 java简单的堆栈和方法区的内存分析
进入main方法,先为main方法分配栈帧,之后加载Person类的字节码信息,并Preson类的对象在堆中开辟空间赋初值。调用了Person类的构造方法,自然也要为此构造方法分配栈帧,根据值传递把值传给Person类构造方法的局部变量,接着执行构造方法中的赋值操作,改变Person类对象的属性值,最后把此对象赋给局部变量p。注意:字符串赋值时会在方法区中开辟字符串常量池,同一个字符串,第一次放入常量池中,第二次直接取就可以了。然后局部变量都是放在栈中的。
2023-04-25 22:12:16
124
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人