java基础知识
没写完,明天补全
1、Java的8中基本数据类型
分别是byte short char int long float double boolean
1、整型 byte short int long
2、浮点型 float double
3、逻辑型 boolean
4、字符型 char
在栈中可以直接分配内存的数据是基本数据类型。
引用数据类型是数据的引用在栈中,但是对象在堆中。
2、过滤器
依赖于servlet容器
在实现上基于函数回调,可以对几乎所有请求进行过滤。
缺点是一个过滤容器只能在初始化的时候调用一次。
作用是用来过滤操作数据权限等,还有一些编码来过滤低俗文字等。
3、mybatis中的${}和#{}的区别
#{}是预编译处理,${}是字符替换,在使用#{}时,mybatis会将sql中的#{}替换成?,配合PreparedStatement中的set方法进行赋值,
这样可以有效防止sql注入,保证程序的安全。
4、MySQL参数优化
MySQL的默认最大连接数为100,可以在客户端用
mysql>show variables like 'max_connections'来查看。
5、堆的作用是什么
java中的堆是所有线程所共享的一块内存,在jvm启动时创建,几乎所有实例都在这里创建,
常量池是不属于对内存的,还有这里经常发生垃圾回收操作。
6、缓存穿透、击穿、雪崩
7、java8中解决哈希冲突的开放地址法
TreadLocal
8、栈和堆的区别
9、Integer是如何和int进行比较的
10、SQL的优化方法
11、java的类加载机制
12、String类常用的方法有哪些
13、array和ArrayList的区别
14、普通类和抽象类的区别
15、什么是非线程安全
16、SQL语句的执行步骤
17、为什么SQL语句中避免使用*
18、建立Statement的作用是什么
19、HashSet的实现原理
20、MyBatis逻辑分页和物理分页的区别
21、线程同步的方法有哪些
22、常见的异常类
异常分为Error和Ecxeption
常见的异常大致分为9种
23、forward和redirect的区别
24、java和jvm有什么关系