-
对象序列化是什么, 用在声明场景?
java的对象序列化是为了保存各种对象在内存中的状态,兵器保存的对象通过反序列化再读出来,需 要被序列化的对象是要求要实现java.io.Serilizable接口。
比如通过操作对象的流(ObjectInputStream ,ObjectOutputStream),把对象写入到文件中。可以从 文件中把对象读取出来。
使用场景:
-
把内存中的对象的状态保存到文件中或者数据库中。
-
网络上(Socket)传输对象的时候
-
想通过RMI(远程方法调用)传输对象的时候
-
transient关键字的作用?
transient是java中的关键字,被它修饰的属性,不会被序列化。
-
写出10个常见的异常类型
1.NullPointerException 2. IOException 3. ClassCastException 4. EOFException 5. NumberFormatException 6. FileNotFountException 7. NoSuchMethodException 8. SocketException 9. SQLException 10. IndexOutOfBoundsException
-
集合有哪些?
1.Coolection接口的子类包含: Set接口和List接口.
2.Map接口的实现类: HashMap ,TreeMap , Hashtable, ConcurrentHashMap以及 Properties
3.Set接口: HashSet , TreeSet , LinkedHashSet等
4.List接口: ArrayList(每次扩容50%) , LinkedList , Stack 以及Vector等。
线程
java程序支持多线程,并且java中的多线程处理较为简单。一般操作系统都支持同时运行多个任务,一个任务通常就是一个程序,每个运行中的程序被称为进程,当程序运行时候,内部可能包含多个孙旭流执行,每个顺序执行就是一个线程。
Thread类代表线程类型;任何线程对象都是Thread类的实例;Thread类是线程的模版(封装了复杂的线程开启等操作,封装了操作系统的差异性等);只要重写run方法(即子类的对象),通过start方法,启动线程,线程启动之后,会尽快执行run方法。
3.1继承Thead类
创建一个类,继承Thread类,重写run方法,实现用户自己的过程,创建线程实例(即子类的对象),通过start方法,启动线程,线程启动之后,会尽快执行run方法
public static void main(String[] args) { Thread t1=new Mytheard(); Thread t2=new Anthor(); //启动线程:start方法,启动线程,然后线程会自动调用自己的run方法 t1.start();//表示线程进入到:runnable状态,即可运行状态。这个时候如果cpu分配了时间片,然后线程就调用了run方法。 t2.start(); } } class Mytheard extends Thread{ //通过重写run方法,设置线程的功能 @Override public void run() { // super.run(); System.out.println("hello"); } } class Anthor extends Thread{ @Override public void run() { //super.run(); System.out.println("你好"); } }
3.2通过Runnable接口,创建线程
创建一个类,实现Runnable接口, 重写run 方法 以实现了Runnable接口的类的实例,作为创建Thread类的参数。
class A1 { void pint(){ System.out.println("25561261"); } } class B2 extends A1 implements Runnable{ int k; void pint(){ System.out.println("*******"); } @Override public void run() { Thread t=Thread.currentThread();//获取当前进程 System.out.println(t.getName()+"----"+t.getId()); int s=0; for (int i=1;i<=100;i++){ s+=i; } this.k=s; } }
线程的状态
sleep方法
Thread.sleep(times) 使当前线程从running放弃处理器,进入block状态,休眠times毫秒,再进入 runnable状态。