12 2016 档案

摘要:基本概念: 数据库DB(database): + 数据的仓库,数据的集合,是数据的一种结构化的存储 数据库管理系统DBMS(database management system): + 管理数据库的一套软件 + 比如Oracle、MySQL、SQL server、DB2 + 介于应用程序和操作系统之 阅读全文
posted @ 2016-12-17 17:00 sonng 阅读(402) 评论(0) 推荐(0)
摘要:什么是线程池 创建线程,因为涉及到跟操作系统交互,比较耗费资源。如果要创建大量的线程,而每个线程的生存期又很短,这时候就应该使用线程池了,就像数据库的连接池一样,预先开启一定数量的线程,有任务了就将任务传递进去,任务执行完毕不终止线程,等待下一个任务 线程池的种类 ExecutorService: 阅读全文
posted @ 2016-12-11 09:24 sonng 阅读(767) 评论(0) 推荐(0)
摘要:run()与异常 不管是Threade还是Runnable的run()方法都没有定义抛出异常,也就是说一条线程内部发生的checked异常,必须也只能在内部用try catch处理掉,不能往外抛,因为线程是一个独立运行的代码片段,它的问题不能影响到其他线程 如果run()内部抛出一个unchecke 阅读全文
posted @ 2016-12-09 12:06 sonng 阅读(2373) 评论(0) 推荐(0)
摘要:join线程 假如A线程要B线程去完成一项任务,在B线程完成返回之前,不进行下一步执行,那么就可以调用B线程的join()方法 join()方法的重载: + join():等待不限时间 + join(long millis):等待millis毫秒 + join(long millis,int nan 阅读全文
posted @ 2016-12-08 16:39 sonng 阅读(364) 评论(0) 推荐(0)
摘要:调用同步锁的wait()、notify()、notifyAll()进行线程通信 看这个经典的存取款问题,要求两个线程存款,两个线程取款,账户里有余额的时候只能取款,没余额的时候只能存款,存取款金额相同。相当于存取款交替进行,金额相同。 线程间通信,需要通过同一个同步监视器(也就是this或者显式的O 阅读全文
posted @ 2016-12-06 17:46 sonng 阅读(414) 评论(0) 推荐(1)
摘要:什么是同步 在上一篇 "0036 Java学习笔记 多线程 创建线程的三种方式" 示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条线程访问,一条线程在执行一个循环的过程中被中断,下一个线程则出现错误 因此,线程任务中可能引 阅读全文
posted @ 2016-12-05 16:39 sonng 阅读(396) 评论(0) 推荐(0)
摘要:创建线程 创建线程的三种方式: + 继承java.lang.Thread + 实现java.lang.Runnable接口 + 实现java.util.concurrent.Callable接口 所有的线程对象都是Thead及其子类的实例 每个线程完成一定的任务,其实就是一段顺序执行的代码 继承ja 阅读全文
posted @ 2016-12-05 11:43 sonng 阅读(479) 评论(0) 推荐(0)
摘要:什么是注解 注解可以看作类的第6大要素(成员变量、构造器、方法、代码块、内部类) 注解有点像修饰符,可以修饰一些程序要素:类、接口、变量、方法、局部变量等等 注解要和对应的配套工具(APT:Annotation Processing Tool)一起使用,APT会对含有注解进行一些处理 比如API文档 阅读全文
posted @ 2016-12-01 12:13 sonng 阅读(339) 评论(0) 推荐(0)