摘要: Array和ArrayList的区别: 1、Array类型的变量在声明的同时必须进行实例化(至少得初花数组的大小),而ArrayList可以只是先声明; 2、Array始终是连续存放的;而ArrayList的存放不一定连续; 3、Array对象的初始化必须指定大小,且创建后的数组大小是固定的;而Ar 阅读全文
posted @ 2019-02-13 22:13 胡金水 阅读(3117) 评论(0) 推荐(0) 编辑
摘要: 线程阻塞方式: 1、join 2、sleep 3、yield 4、改变线程的优先级 5、将线程设置成守护线程(jvm中的垃圾回收线程) 参考:https://blog.csdn.net/liyuchong2537631/article/details/51900198 阅读全文
posted @ 2019-02-13 13:50 胡金水 阅读(3773) 评论(0) 推荐(0) 编辑
摘要: 定义: 1、BIO:同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时,服务器就启动一个线程来处理,如果这个连接不处理任何事情会造成不必要的线程开销,可以通过线程池机制改善。 2、NIO:同步非阻塞,服务器实现模式为一个请求一个线程,即客户端发送的连接请求会注册到多路复用器上,多路复 阅读全文
posted @ 2019-02-13 11:45 胡金水 阅读(2601) 评论(0) 推荐(0) 编辑
摘要: 线程同步是指线程之间所具有的一种制约关系,一个线程的执行依赖另外一个线程的消息,当它没有得到另一个线程的消息时应等待,直到消息到达时才被唤醒。 线程互斥是指对于共享的进程系统资源,每个线程访问时的排他性。当有若干个线程都要使用某一个共享资源时,任何时刻最多只允许一个线程去使用,其他线程必须等待,知道 阅读全文
posted @ 2019-02-13 02:23 胡金水 阅读(3222) 评论(0) 推荐(0) 编辑
摘要: Executor 接口对象能执行我们的线程任务; Executors 工具类的不同方法按照我们的需求创建了不同的线程池,来满足业务的需求。 ExecutorService 接口继承了Executor接口并进行了扩展,提供了更多的方法,我们能够获得任务执行的状态并且可以获取任务的返回值。 阅读全文
posted @ 2019-02-13 02:03 胡金水 阅读(4852) 评论(0) 推荐(1) 编辑
摘要: 进程是操作系统分配资源的最小单元; 线程是操作系统调度的最小单元; 一个程序至少有一个进程;一个进程至少有一个线程 每个进程对应一个JVM实例,多个线程共享JVM里的堆; 线程不能看做独立应用,而进程可以; 进程有独立的地址空间,互不影响,而线程只是进程不同的执行路径; 进程的切换比线程的切换开销大 阅读全文
posted @ 2019-02-13 01:52 胡金水 阅读(1375) 评论(0) 推荐(0) 编辑