摘要: 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) 编辑
摘要: Thread 类常用的方法与Object类提供的线程操作方法:(一个对象只有一把锁🔒) 一. Wait : 通过源码解读,可以总结出wait() 方法的特点: 二. notify /** * Wakes up a single thread that is waiting on this obje 阅读全文
posted @ 2018-09-26 23:29 iscys 阅读(283) 评论(0) 推荐(1) 编辑
摘要: 线程技术第三篇: 线程的状态: 1. 创建状态: 当用new 操作符创建一个新的线程对象时,该线程就处于创建状态,系统不为它分配资源 2.可运行状态:当线程调用start 方法将为线程分配必须的系统资源,安排其运行,并调用线程体中的run方法,这样线程就处于可运行状态 3.不可运行状态:当调用了sl 阅读全文
posted @ 2018-09-26 01:03 iscys 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 在第一节中,对线程的创建我们通过看文档,得知线程的创建有两种方式进行实现,我们进行第一种方式的创建,通过继承Thread 类 ,并且重写它的run 方法,就可以进行线程的创建,所有的程序执行都放在了run 方法里;可以说run 方法里放入的是线程执行的程序;在执行线程的时候,需要调用线程的start 阅读全文
posted @ 2018-09-25 23:37 iscys 阅读(180) 评论(1) 推荐(0) 编辑
摘要: 永远不要忘记最基础的东西,只有把最基础的知识打牢靠,才能够使你走的更远,我将从今天开始,进行线程知识的回顾,一些常用知识点,以及java1.5 引入的并发库,进行详细的讲解与总结 创建线程的目的是为了开启一条执行路径,去运行指定的代码; java 对线程的创建java.lang包下,我们先看关于Th 阅读全文
posted @ 2018-09-24 23:51 iscys 阅读(189) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-09-24 22:26 iscys 阅读(1) 评论(0) 推荐(0) 编辑
摘要: Excutor 源码解读:/** * An object that executes submitted {@link Runnable} tasks. This * interface provides a way of decoupling task submission from the * mechanics of how each task will be run, includ... 阅读全文
posted @ 2018-09-23 21:20 iscys 阅读(260) 评论(0) 推荐(0) 编辑