8.25学习总结

来源:互联网 发布:cad网络电子版图纸 编辑:程序博客网 时间:2024/06/14 15:48

1、线程和进程的区别?

进程:是指一种“自包容”的运行程序,由操作系统直接管理,直接运行,有自己的地址空间,每个进程一开启都会消耗内存。线程:是进程内部单一的顺序控制流。一个进程拥有多个线程。多个线程共享一个进程的内存空间。

 

2、什么是主线程?有什么特点?

主线程:main方法一运行,就产生了主线程。主线程的特点:1、最先开始;2、最好结束;3、产生其他的子线程;4、回收资源。

 

3、线程创建有几种方式?

创建线程的方式:1、继承Thread类,重写run()2、实现Runnable接口,实现run();相比而言,使用第二种方式更好。类只能单根继承,如果一个类继承了别的类,就不能再继承Thread。但接口可以多实现。

 

4、线程如何启动?调用start方法和直接调用run方法有什么区别

启动线程,线程一启动,就会调用该线程类的run().这里调用start()方法,而没调用run()方法的原因是:调用run(),是普通方法的调用,不会产生新的线程。调用start(),表示在主线程基础上,产生一个新的子线程。这样,子线程和主线程会交替执行。

 

5、什么是线程优先级,优先级分为几级?

当一个或多个线程。同时处于就绪状态。优先级高的线程,会优先得到执行。优先级一共10级,数字越大,优先级越高,默认为5级。通过setPriorityint a)改变线程的优先级。

 

6、线程有几种状态?什么时候位于什么样的状态?

 

7、什么是线程同步?线程同步会造成什么结果,线程同步使用什么关键字?

当两个或两个以上的线程同时访问同一个资源时,为了保护资源的数据安全,只允许同一时间一个线程对该资源进行访问。同步造成的后果:1、数据安全2、效率低下。加synchronized同步关键字,当该关键字修饰方法时,该方法叫做同步方法。

 

8、String和StringBuffer、StringBuilder的区别?

字符串具有长度不可改变的特性。对字符串进行添加、删除、替换时,不会改变字符串本身,而是产生一个新的字符串对象。StringBuffer会在缓冲区中开辟一个空间,当对StringBuffer的内容作连接、替换、删除等操作时,不会产生新对象。StringBuider是线程不安全的,StringBuffer是线程安全的性能:StringBuilder> StringBuffer > String

 

9、熟练掌握for each循环。

String a9 = "wantyou to know one thing";

String[] str =a9.split(" ");

for(String a : str){

         System.out.println(a);

}

0 0