java基础

synchronized和Lock的区别

synchronized是JVM层面实现的,java提供的关键字,Lock是API层面的锁。

synchronized不需要手动释放锁,底层会自动释放;Lock则需要手动释放锁,否则有可能导致死锁
synchronized等待不可中断,除非抛出异常或者执行完成;Lock可以中断,通过interrupt()可中断
synchronized是非公平锁;Lock是默认公平锁,当传入false时是非公平锁
synchronized不可绑定多个条件;Lock可实现分组唤醒需要唤醒的锁

"=="和equals方法的区别

对于"==":在基本类型下,"== "比较的是值,而在引用类型下,"=="比较的是地址。
而对于equals方法:如果调用的类中没有实现equals方法,将会调用父类的equals方法,此时比较的是地址;而很多api中的类均已实现equals方法,它们比较的是值。

&和&&的区别

&和&&都可以用作逻辑与的运算符,当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,直接得出结果为false。
&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位

什么是可变参数

可变参数表示需要接收的参数个数可以不确定,例如:

public void show(int... nums){

}
此时该方法可以接收任意个int类型的参数。
想要获得所有参数,就可以对nums进行遍历,此时的nums为参数数组。

final,finally,finalize的区别

final,意为最终的,用于修饰类,方法和变量。
如果一个类被final修饰,意味着这个类为最终类,它将不能再派生出新的子类,不能被继承,否则出错,因此在声明类时,final和abstract无法同时出现,因为abstract修饰的类必定要有具体的子类实现,而final不允许子类的继承,此时陷入矛盾。
如果一个变量被final修饰,则它在程序中将不能被修改,而且必须在声明变量时就赋值。
如果一个方法被final修饰,它将无法被子类重写。
finally,是异常处理中的关键字,它表示无论异常是否被捕获,程序都将执行finally中的代码块。
finalize,是Object中的方法,它的目的是保证对象在被垃圾收集前完成特定资源的回收,而事实上,这个方法具有不确定性,它并不能保证你在调用了该方法之后就会完成资源回收。

java创建对象的几种方式:

  1. 通过new关键字
  2. 通过反射
  3. 采用clone
  4. 通过序列化

Integer与int区别:

int是Java提供的8种原始数据类型之一。Java为每个原始类型都提供了封装类,Integer即为int的封装类。int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer。在JSP开发中,Integer的默认为null,所以用el表达式在文本框中显示时,值为空白字符串,而int默认的默认值为0,所以用el表达式在文本框中显示时,结果为0,所以,在web开发中的POJO中,你会发现int类型基本不会出现,int类型不适合作为web开发的数据展示。

如何跳出当前的多重嵌套循环

在最外成循环前加一个标记,然后在需要跳出循环的地方编写break + 标记 即可跳出多重循环,例如:

public static void main(String[] args){
	x:for(int i = 0;i < 3;i++){
		for(int j = 0;j < 3;j++){
			for(int k = 0;k < 3;k++){
				break x;
			}
		}
	}
}

 

 


 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值