1--java异常处理机制和应用
java中异常可分为两种一种是违反了java内置的语义,出现这种错误
JVM虚拟机就会把这种错误表示为异常另一种是java允许程序员自定义的异常,
自己可以扩展语义检测,并可以选择何时通过throw关键字引发异常。
2--switch 只能用整形int或字符型
byte char short 可以自动转化为int型所以也可以放!
3--java中接口的好处
引入接口的目的是因为一个类不能继承多个类,所以引进了接口的概念,
一个类可以实现多个接口,一个类实现一个接口必须实现接口里面的属性和方法。
4--java垃圾回收原理和优点,说出几种垃圾回收机制
GC垃圾回收器:
垃圾回收的算法:
5--线程同步 synchronized
为什么要线程同步 当多个线程同时操作一个共享的资源为了保证数据的准确性
和唯一性,加入同步锁,保证一个线程在使用此数据时不被其他的线程调用
同步的方式有几种
同步方法
同步块
使用局部变量实现同步
同步的方法
wait()
sleep()
notify()
allnotify()
6--error和exception
error表示系统级错误,程序不必处理的异常!
exception 表示程序进行处理的异常!
7--heap和stack的区别
stack栈是线性集合,其添加和删除元素的操作应该在同一段完成。
heap堆是栈的一个组成部分!
8--collection
set继承collection 不允许重复
HashSet 无序
TreeSet 有序
set不能存放重复对象 通过equals() 来判断是否重复 而不
用==因为set中放的是对象的引用 ==是判断是否为同一对象
equals用来判断是否引用同一对象
list继承collection ArrayList 允许 有序
LinkedList 允许 有序
map不继承collection
HashMap 无序
TreeMap 有序
9--String s=new String("xyz");
两个对象 一个是字符串"xyz" 另外一个是指向“xyz”的引用对象s
10--goto语句是java中的保留字,但是现在没有在java 中使用
11--length length() size()
length 相对java中的数组而言的
length() 相对于String而言的
size() 相对于集合而言的
12--native 把方法声明为native method 有时java应用需要与外面的环境
交互时 native method方法的实现体并非是java的
13--接口可以继承接口 抽象类可以实现接口 如果实体类有明确的构造函数
那么抽象可以继承实体类
14--重载overload和重写override
重载和重写是java多态性的表现,重写表现在子类和父类之间,表示
子类中定义的某方法的参数和名称与父类相同;重载表示一个类中定义了许多
名称相同的类,但是这些类的参数个数或者参数的类型不同。
15--实现多线程的方法有
1,继承Thread
2,实现接口runnable
16--编写一个单例模式Singleton
public class Singleton{
private Singleton(){}
private static Singleton instance=new Singleton();
public static Singleton getInstance(){
return instance;
}
}
17--JVM加载class的机制原理
1,java 所有类必须加载到JVM中才能运行,这些加载工作由类加载器完成,
类加载器完成把类文件从硬盘加载到内存中。
2,java类分为三种,系统类,扩展类,程序员自定义的类
3,类加载器分为三种
负责加载系统类
负责加载扩展类
负责加载应用类
4,类加载的方式有两种 显示加载---class.forname()
隐式加载---当程序运行的过程中遇到new时,在通过类加载器
把类加载到JVM中
5,类加载的动态性,类加载并非是一次性完成,而是先加载一些基础类,当程序进行时,
再加载需要的类,这样节省内存的开销。
java中异常可分为两种一种是违反了java内置的语义,出现这种错误
JVM虚拟机就会把这种错误表示为异常另一种是java允许程序员自定义的异常,
自己可以扩展语义检测,并可以选择何时通过throw关键字引发异常。
2--switch 只能用整形int或字符型
byte char short 可以自动转化为int型所以也可以放!
3--java中接口的好处
引入接口的目的是因为一个类不能继承多个类,所以引进了接口的概念,
一个类可以实现多个接口,一个类实现一个接口必须实现接口里面的属性和方法。
4--java垃圾回收原理和优点,说出几种垃圾回收机制
GC垃圾回收器:
垃圾回收的算法:
5--线程同步 synchronized
为什么要线程同步 当多个线程同时操作一个共享的资源为了保证数据的准确性
和唯一性,加入同步锁,保证一个线程在使用此数据时不被其他的线程调用
同步的方式有几种
同步方法
同步块
使用局部变量实现同步
同步的方法
wait()
sleep()
notify()
allnotify()
6--error和exception
error表示系统级错误,程序不必处理的异常!
exception 表示程序进行处理的异常!
7--heap和stack的区别
stack栈是线性集合,其添加和删除元素的操作应该在同一段完成。
heap堆是栈的一个组成部分!
8--collection
set继承collection 不允许重复
HashSet 无序
TreeSet 有序
set不能存放重复对象 通过equals() 来判断是否重复 而不
用==因为set中放的是对象的引用 ==是判断是否为同一对象
equals用来判断是否引用同一对象
list继承collection ArrayList 允许 有序
LinkedList 允许 有序
map不继承collection
HashMap 无序
TreeMap 有序
9--String s=new String("xyz");
两个对象 一个是字符串"xyz" 另外一个是指向“xyz”的引用对象s
10--goto语句是java中的保留字,但是现在没有在java 中使用
11--length length() size()
length 相对java中的数组而言的
length() 相对于String而言的
size() 相对于集合而言的
12--native 把方法声明为native method 有时java应用需要与外面的环境
交互时 native method方法的实现体并非是java的
13--接口可以继承接口 抽象类可以实现接口 如果实体类有明确的构造函数
那么抽象可以继承实体类
14--重载overload和重写override
重载和重写是java多态性的表现,重写表现在子类和父类之间,表示
子类中定义的某方法的参数和名称与父类相同;重载表示一个类中定义了许多
名称相同的类,但是这些类的参数个数或者参数的类型不同。
15--实现多线程的方法有
1,继承Thread
2,实现接口runnable
16--编写一个单例模式Singleton
public class Singleton{
private Singleton(){}
private static Singleton instance=new Singleton();
public static Singleton getInstance(){
return instance;
}
}
17--JVM加载class的机制原理
1,java 所有类必须加载到JVM中才能运行,这些加载工作由类加载器完成,
类加载器完成把类文件从硬盘加载到内存中。
2,java类分为三种,系统类,扩展类,程序员自定义的类
3,类加载器分为三种
负责加载系统类
负责加载扩展类
负责加载应用类
4,类加载的方式有两种 显示加载---class.forname()
隐式加载---当程序运行的过程中遇到new时,在通过类加载器
把类加载到JVM中
5,类加载的动态性,类加载并非是一次性完成,而是先加载一些基础类,当程序进行时,
再加载需要的类,这样节省内存的开销。