Java常识

本文深入解析Java中的String类特性,探讨Integer与int的比较机制,解释float类型赋值的规则,介绍finalize方法的作用,对比String、StringBuffer与StringBuilder的差异,分析Java多线程状态及其转换,以及&和&&的使用区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.String类是final类,所以不可以被继承。

2.Integer 和 int类型的变量可以进行比较吗?
可以进行比较,eg:Integer a = 1; int b = 1; if(a==b){System.out.println(“1111”);}
程序编译不会报错。并且运行通过,结果打印出 1111。
Integer和int进行比较时,Integer会先调用默认函数转化为int类型的值再去比较。
3.java中float f=1.1为什么不合法?
Java里带有小数点的数默认是double类型,1.1在这里是double类型,把他赋值给比他小的float类型就会出错。
4.finalize介绍
finalize为方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中 清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。
5.String、StringBuffer与StringBuilder区别
String对象是常量,它的值不能被创建后改变,StringBuffer和StringBuilder可以可变;
StringBuilder非线程安全(单线程使用),String与StringBuffer线程安全(多线程使用);
如果程序不是多线程的,那么使用StringBuilder效率高于StringBuffer。
6.Java多线程中线程的几种状态
Java线程在运行的生命周期中可能处于6种状态,每个确定时刻,线程只可能处于一种状态,6种状态如下:
1)NEW:初始状态,线程被构建,但是还没有执行start()方法。
2)RUNNABLE:运行状态,Java线程将操作系统中的就绪和运行两种状态统称为“运行中”。
3)BLOCKED:阻塞状态,表示线程阻塞于锁。
4)WAITING:等待状态,需要其他线程唤醒或者做出一些特性动作(通知或中断)。
5)TIMED_WAITING:超时等待状态,可以在指定时间内返回。
6)TERMINATED:终止状态,表示当前线程已经执行完毕。

各状态直接的切换方法如下:
1)NEW -> RUNNABLE :Thread.start();
2)RUNBABLE中 RUNNING -> READY:yield();
3)RUNNABLE -> WAITING:Object.wait();Object.join();LockSupport.park(Thread);
4)WAITING -> RUNNABLE:Object.notify();Object.notifyAll();LockSupport.unpark(Thread);
5)RUNNABLE -> TIMED_WAITING:Thread.sleep(long);Object.wait(long);Thread.join(long);LockSupport.parkNanos();LockSupport.parkUntil();
6)TIMED_WAITING -> RUNNABLE:Object.notify();Object.notifyAll();LockSupport.unpark(Thread);
7)RUNNABLE -> BLOCKED:进入Synchronized方法/块
8)BLOCKED -> RUNNABLE:获取到锁

7.Java中&和&&的区别
Java中&叫做按位与,&&叫做短路与
1. & 既是位运算符又是逻辑运算符,&的两侧可以是int,也可以是boolean表达式。
当&两侧是int时,要先把运算符两侧的数转化为二进制数再进行运算,而短路与(&&)的两侧要求必须是布尔表达式。
2. &为真的条件是两侧表达式都为真,但是即使我们判断出左侧表达式的值为false,程序也还是要继续执行去判断右侧的表达式值的真假。
&&若左侧表达式的值为false时,程序则不会继续判断右侧表达式的真假了
8.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值