随笔分类 -  thinking in java

summary of knowledge in
摘要:一、概述 到第八节,就把多线程基本的概念都说完了。把前面的所有文章加连接在此: Java多线程——概述、定义任务 Java多线程——将任务交给线程,线程声明及启动 Java多线程——简单的线程执行:Executor Java多线程——让线程有返回值 Java多线程——后台线程(daemo... 阅读全文
posted @ 2015-08-13 11:19 brightshi 阅读(1536) 评论(0) 推荐(1)
摘要:一、概述 为什么要单独讲多线程的异常捕捉呢?先看个例子:public class ThreadException implements Runnable{ @Override public void run() { throw new RuntimeException()... 阅读全文
posted @ 2015-08-12 18:02 brightshi 阅读(25387) 评论(1) 推荐(2)
摘要:一、概述 标题很抽象,什么叫更方便?更是相比谁来说的呢? 原来,我们定义任务,都是实现自Runnable或者Callable接口,但是这样必然需要你将新定义的任务附着给线程,然后再调用线程启动。在不考虑Executor的情况下,你会感觉这么做很呆板,如果直接new一个任务对象,他自己就能启动的话... 阅读全文
posted @ 2015-08-08 10:08 brightshi 阅读(876) 评论(0) 推荐(0)
摘要:一、后台线程(守护线程) 学一个东西,最重要的一点就是,为什么要用它? 后台线程区别于普通线程,普通线程又可以称为用户线程,只完成用户自己想要完成的任务,不提供公共服务。而有时,我们希望编写一段程序,能够提供公共的服务,保证所有用户针对该线程的请求都能有响应。 仔细来看下后台线程的定义:指在程... 阅读全文
posted @ 2015-08-07 10:05 brightshi 阅读(11927) 评论(0) 推荐(0)
摘要:一、概述 到目前为止,我们已经能够声明并使一个线程任务运行起来了。但是遇到一个问题:现在定义的任务都没有任何返回值,那么加入我们希望一个任务运行结束后告诉我一个结果,该结果表名任务执行成功或失败,此时该怎么办呢? 答案是使用Callable。之前定义的任务都直接实现了Runnable,该接口的r... 阅读全文
posted @ 2015-08-06 09:33 brightshi 阅读(44427) 评论(0) 推荐(0)
摘要:一、概述 按照《Java多线程——》中所讲,我们要使用线程,目前都是显示的声明Thread,并调用其start()方法。多线程并行,明显我们需要声明多个线程然后都调用他的start方法,这么一看,似乎有些问题:第一、线程一旦多了,声明势必是个问题;第二、多线程启动如果通过手动执行的话,那可能一个线... 阅读全文
posted @ 2015-08-05 10:07 brightshi 阅读(4902) 评论(1) 推荐(0)
摘要:一、概述 java中判等似乎很简单,==用来判断对象引用(内存地址)是否相同,equals用来判断值是否相同。你可以试用String对象轻松区分这一点。 那么在null判等(也就是判空操作)时呢? 可以通过如下代码明白两个判等的比较: String name = null; ... 阅读全文
posted @ 2015-08-04 16:36 brightshi 阅读(6572) 评论(0) 推荐(0)
摘要:一、任务和线程 《thinking in java》中专门有一小节中对线程和任务两个概念进行了具体的区分,这也恰好说明任务和线程是有区别的。 正如前文所提到的,任务只是一段代码,一段要达成你目的的代码,这段代码写在哪,怎么写其实无所谓,只是因为你希望java的多线程机制能够识别并调用你编写的任务... 阅读全文
posted @ 2015-08-04 10:43 brightshi 阅读(6796) 评论(1) 推荐(0)
摘要:一、概述 为什么使用线程?从c开始,任何一门高级语言的默认执行顺序是“按照编写的代码的顺序执行”,日常开发过程中写的业务逻辑,但凡不涉及并发的,都是让一个任务顺序执行以确保得到想要的结果。但是,当你的任务需要处理的业务比较多时,且这些业务前后之间没有依赖(比如, a执行的过程中b也可以执行,b没有... 阅读全文
posted @ 2015-08-03 15:01 brightshi 阅读(2823) 评论(1) 推荐(0)
摘要:java使用JDBC与数据库直接进行通信,但是我们通常将这个工作交给第三方框架来完成,而我们只专注于业务系统的开发工作。JDBC中提供的与事务相关的方法如下: Connection.setAutoCommit(boolean); Connection.commit(); Conne... 阅读全文
posted @ 2015-02-25 17:17 brightshi 阅读(203) 评论(0) 推荐(0)