java
dijkstralee
这个作者很懒,什么都没留下…
展开
-
Thinking in Java(Fourth Edition)学习笔记--并发(concurrency)-21.4终结任务
1.线程四种状态:新建,就绪,阻塞,死亡.其中,就绪状态,只要调度片把时间片分配给线程,线程就可以运行.也就是说,在任意时刻,线程可以运行也可以不运行.这不同于死亡和阻塞状态. 2.使用Executor.submit()而不是executor()来启动任务,,就可以获得任务的上下文,submit()将返回Future,可以调用Future.cancel(true)来中断任务(P695-696) ...原创 2020-04-16 10:05:33 · 167 阅读 · 0 评论 -
Thinking in Java(Fourth Edition)学习笔记--并发(concurrency)-21.2基本线程机制
1.任务只需实现Runner接口并编写run()方法,就可以执行任务.每个任务需要着到线程(Thread)上. 注意:线程执行基本是无序的,若要控制顺序,需要使用同步控制 2.但是Exector可以为我们管理Thread对象,Exector在客户端和任务执行之间提供了一个间接层. Executors.newCachedThreadPool(),Executors.newFixedT...原创 2020-04-15 11:37:21 · 181 阅读 · 0 评论 -
Thinking in Java(Fourth Edition)学习笔记--string(字符串)
1.String对象是不可变的,`String` 类中每一个看起来会修改 `String` 值的方法,实际上都是创建了一个全新的 `String` 对象,以包含修改后的字符串内容。而最初的 `String` 对象则丝毫未动。 2.String可能会产生一大堆需要垃圾回收的中间对象,但是编译器会使用StringBuilde进行优化.但是编译器对于循环的优化无法做到最好,会为每一个循环生成一个St...原创 2020-03-04 17:17:03 · 226 阅读 · 0 评论 -
Thinking in Java(Fourth Edition)学习笔记--exception(异常)
(P249)当抛出异常后,有几件事会随之发生。首先,同 Java 中其他对象的创建一样,将使用 new 在堆上创建异常对象。然后,当前的执行路径(它不能继续下去了)被终止,并且从当前环境中弹出对异常对象的引用。此时,异常处理机制接管程序,并开始寻找一个恰当的地方来继续执行程序。这个恰当的地方就是异常处理程序,它的任务是将程序从错误状态中恢复,以使程序能要么换一种方式运行,要么继续运行下去。 (P...原创 2020-03-03 17:20:01 · 172 阅读 · 0 评论 -
solr中一个问题——顺便讨论java中关于中包括main函数以及涉及资源(变量)操作中的类
1、package solrj; import java.util.UUID; import com.rabbitmq.client.ConnectionFactory; import com.rabbitmq.client.Connection; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Queue原创 2014-04-15 16:18:11 · 627 阅读 · 0 评论