1、面试题:前置++ 和后置++的区别?
2、面试题:一个XXX.java文件中可以有多个类吗?
答:可以,但是只能有一个**公共**的类(使用public 修饰的类)
有多少个类就会生成几个class类
3、面试题:char类型能存储汉字吗?**
能,因为一个汉字是两个字节
char字符变量可以存储两个字节 就是在内存中占用2个字节
任何字符在内存中都是以数字的形式存储的。
4、
请问:下边的代码执行的结果是什么?
short a=5;
a =a+5;
System.out.println(a)
a本身就是short类型 但是a+5这个5是默认int型的 就是d+5的结果也是int 类型 int类型赋值给short类型 大到小会爆错
请问:下边代码执行的结果是?
short a=5;
a+=5;//a=a+5;
System.out.print(a); //a=(short)(a+5) 此时发生了数据类型强转 编译器自己进行的
5、什么是方法重载?
在一个类中可以有很多个相同名字的方法,并且这些方法中参数列表不同(参数个数不同,顺序不同,类型不同),这就是方法重载。
6、字符串类
String str=“abc”;
问、这句代码创建了几个对象。
答:0个或一个;
String str=new String(“abc”);
问、这句代码创建;1几个对象?
答 : 一个或者两个。
7、问String StringBuffer StringBuilder 的区别是?
StringBuilder 是线程不安全的 如果不要求线程就使用StringBuilder
String 和StringBuffer是线程安全的
速度:StringBuilder > StringBuffer > String。
8、给对象中的属性赋值有几种方式?
1. set方法
2. 构造方法
3. 如果不是private修饰可以直接赋值
4. 通过反射!(java高级特性,一切框架的灵魂!)
5.
8、jsp九大内置对象
- request 请求对象
- response 响应对象
- PageContext 页面上下文对象
- session 会话对象
- application 应用程序对象
- out 输出对象
- config配置对象
- page 页面对象
- Exception 异常对象
9、servlet生命周期
- init() 初始化
- service()调用service
- destroy() 销毁
10、spring默认连接池
HikariCP连接池(效率最高)Hikari只有130kb大小
11、==和equals的区别
==比较的是引用地址是否相同
equals比较的是内容(值)是否相同
equals底层也是双 等于 但是string重写啦equals方法
12、mybatis中 # 和 $的区别
#号可以避免SQL注入 使用#的 相对于是一个预编译的SQL语句
而KaTeX parse error: Expected 'EOF', got '#' at position 13: 不是预编译的 一般能用#̲就别用
13、控制反转是?
吧创建对象的权利给容器控制
spring来负责控制对象的生命周期和对象间的关系
14、乐观锁和悲观锁++++++++
(有点复杂 先慢慢了解)
15、重载和重写的区别
重写就是子类吧父类的的方法重写写一遍 (方法名参数列表返回值必须一样)
重载是在一个类中可以同时有多个同名但参数列表不同的方法
16、ArrayList的扩容
ArrayList的 扩容其实是把原来的数组复制到另一个内存空间更大的数组中
底层还是一个数组
一般扩容为 1.5倍