java面试遇到问题_我的第一篇博客之java面试遇到的问题及解决方法

一、String x = "abc"; String y= new String("bc");总共创建了几个对象

第一个表达式先在常量池里创建了一个abc,然后赋值给x,所以是一个对象。第二个表达式现在常量池里创建一个bc,然后又在堆内存里面new一个对象,所以有两个对象才对。

二、一个叫 team 的表,里面只有一个字段name, 一共有4 条纪录,分别是a,b,c,d, 对应四个球队,现在四个球队进行比赛,用一条sql 语句显示所有可能的比赛组合

select * from team a,team b where a.name > b.name;

三、多线程是怎么实现同步的呢?

1、使用synchronized关键字,在Java语言中,每个对象都有一个对象锁与之相关联,该锁表明对象在任何时候只允许被一个线程锁拥有,当一个线程调用对象的一段synchronized代码时,需要先获取这个锁,然后去执行相应的代码,执行结束之后,释放锁。

而synchronized关键字主要有两种用法:synchronized方法和synchronized块

2、在synchronized代码被执行期间,线程可以调用对象的wait()方法,释放对象锁,进入等待状态,并且可以调用notify()方法或者notifyAll()方法通知正在等待的其他线程

3、lock emm这个还不太理解,有点复杂

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值