1.java中final的使用方法
1 final用于修饰变量
2 final修饰类
final类不能被继承,因此不会有子类。final类中的方法不论是否有final修改,都是final的。
3 final修饰方法
final方法不能被override。若父类中的方法为final的,则子类不能override该方法,但可以调用该方法(父类的final方法)。
2.线程池的作用
1、限定线程的个数,不会导致由于线程过多导致系统运行缓慢或崩溃
2、线程池不需要每次都去创建或销毁,通过重复利用已创建的线程降低线程创建和销毁造成的消耗。节约了资源、
3、当任务到达时,任务可以不需要等到线程创建就能立即执行,响应时间更快。
3.连接池的作用
1、创建有限的数据库连接,防止过多的连接,保护数据库。
2、每个数据库连接的创建与销毁都会消耗资源,通过使用连接池,可以重用数据库连接,较少资源的消耗。4.什么是反射机制,有什么作用
主要是指程序可以访问、检测和修改其本身状态或行为的一种能力。
在Java环境中,反射机制允许程序在执行时获取某个类自身的定义信息,例如熟悉和方法等也可以实现动态创建
类的对象、变更属性的内容或执行特定的方法的功能。
Java反射机制主要用于实现以下功能。
(1)在运行时判断任意一个对象所属的类型。
(2)在运行时构造任意一个类的对象。
(3)在运行时判断任意一个类所具有的成员变量和方法。
(4)在运行时调用任意一个对象的方法,甚至可以调用private方法。
注意:上述功能都是在运行时环境中,而不是在编译时环境中。
反射机制获取类有三种方法
通过类名: class com.java.reflection.Person
无参构造器
通过getClass(): class com.java.reflection.Person
通过全类名获取: class com.java.reflection.Person
- //1 直接通过类名.Class的方式得到
- clazz = Person.class;
- System.out.println("通过类名: " + clazz);
- //2 通过对象的getClass()方法获取,这个使用的少(一般是传的是Object,不知道是什么类型的时候才用)
- Object obj = new Person();
- //3 通过全类名获取,用的比较多,但可能抛出ClassNotFoundException异常
- clazz = Class.forName("com.java.reflection.Person");
5NIO和IO主要区别
特征 NIO IO 基于通道(Channel)和缓冲区 基于字节流和字符流 阻塞 非阻塞IO 阻塞IO 选择器 有选择器(监听多个通道的事件) 无选择器 6
sql语句中where与having的区别
Where 是一个约束声明,使用 Where 约束来 自数据库的数据, Where 是在结果返回之前起作用的, Where 中不能使用聚合函数。要查询每个部门工资大于3000的员工个数Having 是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作,在 Having 中可以使用聚合函数。
- select deparment, count(*) as c from salary_info
- where salary > 3000 group by deparment
要查找平均工资大于3000的部门
- select deparment, avg(salary) as average from salary_info
- group by deparment having average > 3000
7
列出一些你常见的运行时异常
NullPointerException - 空指针引用异常
ClassCastException - 类型强制转换异常。
IllegalArgumentException - 传递非法参数异常。
ArithmeticException - 算术运算异常
ArrayStoreException - 向数组中存放与声明类型不兼容对象异常
IndexOutOfBoundsException - 下标越界异常
NegativeArraySizeException - 创建一个大小为负数的数组错误异常
NumberFormatException - 数字格式异常
SecurityException - 安全异常文件未找到异常:FileNotFoundException
8
MySql实现分页查询的SQL
select * from table limit (start-1)*limit,limit; 其中start是页码,limit是每页显示的条数。
9
MySQL/Oracle数据库优化总结
https://blog.csdn.net/baidu_37107022/article/details/77460464
10
ArrayList和LinkedList的大致区别:
1.ArrayList是实现了基于动态数组的数据结构,LinkedList是基于链表结构。 2.对于随机访问的get和set方法,ArrayList要优于LinkedList,因为LinkedList要移动指针。 3.对于新增和删除操作add和remove,LinkedList比较占优势,因为ArrayList要移动数据。
11
https://blog.csdn.net/AgnesLuo/article/details/52453484
13软件开发流程项目启动-需求分析-项目设计-项目开发-测试-上线-维护