摘要: Callable: 从官方文档说起: 通过实现callable 的called 方法可以使一个任务可以返回一个结果以及可能抛出一个异常; callable 与runnable 是相似的,可以被其他线程潜在的执行,但是runnable不会返回结果总是viod 以及不会抛出检测异常; 一般我们是这么定义 阅读全文
posted @ 2018-09-28 23:18 iscys 阅读(165) 评论(0) 推荐(0) 编辑
摘要: Executors : Executor : 线程池 ThreadPool: 是我们维护线程数量的一个池子,创建的目的是为了节省系统资源,避免频繁创建线程与销毁线程带来的系统开销;接下来进行实例型的线程例子: 1. Executors.newFixedThreadPool(nthread); 创建一 阅读全文
posted @ 2018-09-28 23:17 iscys 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 在jdk 1.5 后,Java 引入了lock 锁来替代synchronized ,在使用中,lock锁的使用更加灵活,提供了灵活的 api ,不像传统的synchronized ,一旦进入synchronized中,方法是无法打断的,也就是说有时候会陷入漫长的等待当中;以及进行公平锁的创建(syn 阅读全文
posted @ 2018-09-28 23:16 iscys 阅读(141) 评论(0) 推荐(0) 编辑
摘要: xml 解析方式有两种: dom 解析和 sax 解析; 针对着两种解析方式,有三种解析器: dom 解析XML : jaxp 解析xml jaxp 解析器在 jdk的 javax.xml.parsers 包中; 针对dom 解析提供的类 : 获取上下文Document 对象: 查找元素:(与js 阅读全文
posted @ 2018-09-28 20:00 iscys 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 利用wait 与notifyAll 方法进行演示生产与消费的模式的演示,我们两个线程负责生产,两个线程消费,只有生产了才能消费: 在effective Java 中有说过: 1. 在Java 中 ,使用wait() 方法,你99% 情况都是要和while 连用 2. 永远都要使用notifyAll( 阅读全文
posted @ 2018-09-28 19:39 iscys 阅读(184) 评论(0) 推荐(0) 编辑