1.Java的数据类型怎么分类的?
Java的数据类型 分为:基本数据类型和引用类型。
Java基本数据类型:整数类型(byte,short,int,long),浮点类型(float,double) ,字符类型(char),布尔类型(boolean)
Java引用数据类型:类(class),接口(interface),数组,enum(枚举),注解(@interface.
基本数据类型转换
2. Java标识符命名规范,给类名,方法 名,变量名起名字的原则。
3.Java面向对象的特征?
3.1封装 什么是封装? 为什么要封装?
封装是对类中的属性私有,private修饰。作用或者是目的:提高数据访问的安全性,那么不能够直接去访问类中的私有 的属性,
而是通过方法间接的去访问。可以通过方法记录访问的相关信息。(日志,权限).
在多线程情况下,我们对数据的安全性,是通过同步方法或同步块来完成,【ThreadLocal,lock】 ,保证数据的安全性。
继续发挥,讲解 同步方法或同步块的优缺点。
3.2继承
java的继承是子类继承父类的 属性和方法,减少代码的冗余,父类抽取子类的属性和方法,在项目 中,你怎么用的?。要注意的是:子类和父类具有同步变量,父类的同名变量子类将不再继承。
java的继承是单继承。(炫耀下: python是多继承,继承的原则是:广度优先).
java的继承是方法级的抽取,减少冗余。
java减少冗余代码,可以通过aop面向切面编程,减少业务控制代码冗余,属于方法内的冗余代码的抽取。【没学】
3.3多态
java的多态,是指同一个方法名,不同的实现结果,就比如:语文中的多音字,同一个字,不同的读音。
具体的体现是什么?
1. 在一个类中,叫做方法重载,也叫做编译型多态。调用哪个重载的方法,是有方法的参数来决定的。
2.在继承关系中 ,也叫做方法重写,方法覆盖,也叫做运行时多态。调用哪个重写的方法,是由new 的那个对象来决定的。
new 对象是 写在代码中的, 这个对象是在代码中控制的,也就是对象的生成权是由代码控制的。对象生成的控制器有代码来控制转移给Spring容器通过xml,注解来生成的。
3.4抽象
java的抽象是为了增强动态绑定(一个父类指向多个子类的现象),为了增强多态,为了方法重写,具体的实现是抽象类和接口。
4. java一个类的生命周期?
静态块------------------------------根据main函数的代码的顺序来决定调用的顺序。 (匿名块,静态方法,构造方法,实例方法).
5.继承关系的类的生命周期?
父类的静态块--子类的静态块-----------------根据main函数的代码的顺序来决定调用的顺序。 (匿名块,静态方法,构造方法,实例方法).
6.java的块有哪些?
静态块,匿名块,同步块, finally 块
7.方法的参数传递,基本数据类型和引用类型的区别?可以写代码练习。
8.super和this区别?
super是访问父类,
this是访问本类,
在构造函数中必须在第一行。
9.设计模式 可以写代码练习。
单例模式,工厂模式....
10.接口和抽象类的区别.
4.Java异常
4.0什么叫java错误,
编译不能通过错误,编译成功运行时错误(异常),逻辑错误()
内存泄漏,直接宕机,程序员没有办法处理。
4.1 你遇到过哪些异常?怎么解决的?至少10个
空指针异常(),类没有发现的异常(),sql异常(),线程状态异常(),数组下标越界异常()
类型转换异常() , 文件找不到的异常(), 流异常(), 算术异常() ,端口绑定异常(), 序列化异常()
4.2 垃圾回收器 (GC,四种引用) 没有讲。
4.3 final和finall的区别?
final修饰变量,修饰方法,修饰类。
finally 块:始终执行。不管什么情况下,都会执行。
4.4 数据结构你知道有哪些?特点
数组,链表,哈希,栈,队列,二叉树。
4.5Java集合的分类?哪些是同步的?各自特点?过滤重复?排序?在项目中怎么用的?
4.6创建线程方式?线程生命周期?线程安全?线程通信?线程交替?定时线程?线程池?在项目中怎么用的?
创建线程方式:继承Thread,实现Runnable,定时线程,返回值线程,线程池。
线程生命周期:创建,可运行,运行,在运行期间的调度,死亡。
线程安全:synchronized同步方法,同步块,它是以性能换安全。
ThreadLocal 线程本地变量 它是以内存换安全。
lock锁。
线程通信:主线程向子线程 构造函数
子线程向主线程,子线程和子线程 wait和notify 必须用在synchronized环境下。
定时线程:TimerTask
线程池:自定义和JDK自带的线程池
在项目中怎么用的线程,和线程池????????
4.7java流?流的分类?序列化和反序列化?流的性能。
4.8套接字?在项目中怎么用的?
4.9什么是RMI?名字解释 什么是SPI?名字解释
4.10 Collection和Collections的区别?什么是枚举类型?transient关键字表示什么?【没有讲】.
4.11 java内部类作用?内部类分类?
java内部类作用:为了加强封装。
内部类的分类:普通内部类 静态内部类 局部内部类 匿名内部类