java面试题2021.6.24
1.运行如下程序打印什么结果
public class Testint2{
Public static void main(String[ ] args){
String str=”test1”;
System.out.printIn(str);//(1.1)
String str1=tesfun1(str);
System.out.printIn(str);//(1.2)
System.out.printIn(str1)//(1.3)
String str2=tesfun2(str);
System.out.printIn(str);//(1.4)
System.out.printIn(str2);//(1.5)
TestStr t1=new TestStr();
t1.str=”test30”;
String str3=tesfun3(t1);
System.out.printIn(str3);//(1.6);
System.out.printIn(t1.str);//(1.7)
}
Public static String tesfun1(String para){
para= “test2”;
Return para;
}
Public static String tesfun2(String para){
Para=new String(“test2”);
return para;
}
Public static String tesfun3(TestStr para){
Para.str=new String(“test31”);
Return para.str;
}
}
Class TestStr{
Public String str;
}
2.运行如下程序打印什么结果
public class Testint1 {
static int count=0;
public static void main(String[] args) {
System.out.println(count);//(2.1)
MyThread myThread0=new MyThread();
myThread0.start();
System.out.println(count);//(2.2)
myThread0.join();
System.out.println(count);//(2.3)
MyThread myThread=new MyThread();
myThread.start();
System.out.println(count);//(2.4)
MyThread myThread2=new MyThread();
myThread2.start();
System.out.println(count);//(2.5)
myThread.join();
myThread2.join();
System.out.println(count);//(2.6)
}
}
class MyThread extends thread{
public void run(){
for (int i = 0; i <10000 ; i++) {
Testint1.count=Testint1.count+1;
}
}
}
3.运行如下程序打印什么结果
class SSClass {
static {
System.out.println("static SSClass");
}
class SuperClass extends SSClass{
static {
System.out.println("static SuperClass init");
}
public static int value=123;
public SuperClass(){
System.out.println("init SuperClass");
}
}
class SubClass extends SuperClass{
static{
System.out.println("SubClass init");
}
static int a;
public SubClass(){
System.out.println("init SubClass");
}
}
public class Testint3{
public static void main(String[] args) {
System.out.println("main");
System.out.println(SubClass.value);
System.out.println("end static");
SubClass te=new SubClass();
}
}
}
4.有个学生student,有两个字段id,name。表有三条记录
Id name
1 stu1
2 stu2
3 stu3
有个分数表,有两个字段id,score。表有三条记录
Id score
1 11
2 21
2 23
执行这个sql=”select * from student left join on student.id=score.id”的结果是什么。
5.有个电话任务执行系统,前端有个页面,每次填写一个电话号码和延时时间(打算几分钟后拨打),已知打电话的由第三方库实现,函数bool callphone(String phoneNumbe)参数是即将要拨打的号码,返回为成功或失败
请用实现controller函数:(注意页面会提交多次)
/**
** phoneNumbe 即将拨打号码
**delay 延时时间(打算几分钟后拨打)
*/
@RequestMapping(“callphone”)
Public String callphone(String phoneNumber,Integer delay){
}
6.Spring @Autowired 与@Resource的区别
前者是按照类型装配的。后者是按照name装配的
7.Spring Bean 的作用域有哪些
(1)singleton:默认,每个容器中只有一个bean的实例,单例的模式由BeanFactory自身来维护。
(2)prototype:为每一个bean请求提供一个实例。
(3)request:为每一个网络请求创建一个实例,在请求完成以后,bean会失效并被垃圾回收器回收。
(4)session:与request范围类似,确保每个session中有一个bean的实例,在session过期后,bean会随之失效。
(5)global-session:全局作用域,global-session和Portlet应用相关。当你的应用部署在Portlet容器中工作时,它包含很多portlet。如果你想要声明让所有的portlet共用全局的存储变量的话,那么这全局变量需要存储在global-session中。全局作用域与Servlet中的session作用域效果相同。
8.spring 数据库事务的实现原理是什么?
aop