某笔试神

1、String作为参数的时候,虽然是引用类型,但是和其他引用类型不同。形参改变不影响实参的值;StringBuffer可以通过形参来影响实参的数据,但需要注意的一点就是:“=” 的基本操作,同样不能改变实参数据,append()是可以的。
2、下面的输出结果是false。

String str = "hello";
        String s = "hel" + new String("lo");
        System.out.println(str == s)

3、t.join()方法阻塞调用此方法的线程(calling thread),直到线程t完成,此线程再继续;通常用于在main()主线程内,等待其它线程完成再结束main()主线程。即main主线程等待t线程结束后继续调用!
4、concat:
5、多态:
6、Spring中的事务、事务管理器(深一点的)
7、数据库的多并发、线程池怎么解决多个数据库连接请求。
8、HashMap中是头插还是尾插
9、synchronized可以锁方法,锁this对象,锁非this对象。
注意:
(1)它不能锁Integer这种基本类型的包装类,因为在i++的时候,会发生装包和解包!
(2)通常情况下,也不使用String作为锁对象。因为java中有常量池缓存功能,即我声明了一个str,再次声明同样的字符串时,是从原地址去取的,也就是同一个对象。如果是两个线程的情况下,对于非static的变量,是一个对象一把锁;如果是多个线程,那么应该是多把锁。
synchronized关键字最好不要修饰(String)Integer等基本数据对象类型,因为如果基本数据对象类型的值发生改变的话,原先加的锁可能会丢失;
因为String类型是不可变的,所以这里不仅是字符串内容变了,同时引用指向的内存地址也变了。https://blog.csdn.net/xyc_csdn/article/details/79920120?utm_source=copy

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值