黑马程序员技术交流社区
标题:
自己总结的Java基础知识与概念
[打印本页]
作者:
18664300701
时间:
2015-9-4 13:03
标题:
自己总结的Java基础知识与概念
15 wait和sleep区别: 分析这两个方法:从执行权和锁上来分析:
wait:可以指定时间也可以不指定时间。不指定时间,只能由对应的notify或notifyAll来唤醒。
sleep:必须指定时间,时间到自动从冻结状态转成运行状态(临时阻塞状态)。
wait:线程会释放执行权,而且线程会释放锁。
sleep:线程会释放执行权,但是不会释放锁。
16 run和start的区别?
run仅仅是封装被线程执行的代码,直接调用是普通方法
start首先启动了线程,然后再由JVM去调用该线程的run方法
17 说说对线程池的理解
程序启动一个新线程成本比较高,因为涉及到要与操作系统进行交互,
而使用线程池就可以很好的提高性能,尤其是当程序要创建大量
生存期很短的线程,更应使用线程池
线程池里的每一个线程代码结束后,并不会死亡,而是再次
回到线程池中成为空闲状态,等待下一个对象来使用
18 同步和异步的区别?
同步是指线程安全,但是效率低。集合里面比如Vector以及Hashtable就是线程安全的
异步是指线程不安全,但是效率高。集合里面比如ArrayList、TreeSet、TreeMap等都是线程不安全的
七 网络编程(Socket)
1 网络编程三要素?
①IP地址:网络中每一台计算机的唯一标识
②端口:用于标识进程的逻辑地址
③协议:定义通信规则
2 TCP和UDP的区别?
UDP:
1 将数据源和目的地封装成数据包中
2 不需要建立连接
3 每个数据报的大小限制在64KB
4 因无连接,是不可靠的协议
5 不需要简历连接,速度快
TCP:
1 建立连接,形参传输数据的通道
2 在连接中进行大数据量传输
3 通过三次握手完成连接
4 是可靠协议
5 必须建立连接,效率会稍低
偏门问题:
ArrayList底层怎么实现的?
底层是数组,默认长度为10,当加入的元素个数大于数组长度时,才会创建新的数组
集合为什么只能存放引用类型?
因为集合中存放的都是对象的引用,实际内容都在堆上面或者方法区里面,但是基本数据类型是在栈上的。但是通过自动包装类就可以把基本类型转为对象类型。
包装System.in/System.out?
三种方法:字节流一种,字符流一种,缓冲流一种
1 BufferedOutputStream bos = new BufferedOutputStream(System.in);
BufferedInputStream bis = new BufferedInputStream(System.out);
2 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamReader(System.out));
3 OutputStreamWriter osw = new OutputStreamWriter(System.out);
InputStreamReader isr = new InputStreamReader(System.in);
java的特点是什么?
跨平台,只要这个平台有JAVA虚拟机
简单易用、安全可靠,使用率排第一
作者:
liuwuzhou
时间:
2015-9-8 13:03
很厉害, 很有帮助, 谢谢你
作者:
0819刘海东
时间:
2015-9-8 21:02
虽然还没学到,不过当提前学习了
作者:
技术人生
时间:
2015-9-8 21:31
顶楼主,希望楼主早日成功。
作者:
王鲁悦
时间:
2015-9-8 21:44
非常厉害
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2