摘要: 日志服务需要提供的功能有:可以从外部安全地开启和关闭日志服务;可以供多个线程安全地记录日志消息;在日志服务关闭后,可以把剩余未记录的消息写入日志文件;public class LogService{ private final BlockingQueue msgQueue; /... 阅读全文
posted @ 2015-11-10 17:59 jqc 阅读(2456) 评论(0) 推荐(0) 编辑
摘要: 在Java中无法抢占式地停止一个任务的执行,而是通过中断机制实现了一种协作式的方式来取消任务的执行。外部程序只能向一个线程发送中断请求,然后由任务自己负责在某个合适的时刻结束执行。1. 设置取消标志 这是最基本也是最简单的停止一个任务执行的办法,即设置一个取消任务执行的标志变量,然后反复检测该标志... 阅读全文
posted @ 2015-11-09 17:21 jqc 阅读(2470) 评论(0) 推荐(0) 编辑
摘要: 1. 启动线程的最基本方式 在Java中用Runnable表示一个任务,需要在Runnable接口的run方法中实现任务的具体业务逻辑,然后创建一个Thread并调用start方法启动任务。 例如执行一个匿名任务:new Thread(new Runnable() { ... 阅读全文
posted @ 2015-11-05 20:45 jqc 阅读(664) 评论(0) 推荐(0) 编辑
摘要: 1. 垃圾回收 Java垃圾回收(GC)分为两个阶段: 判定,判定哪些对象可以被回收,使用可达性分析算法; 回收,回收那些无用的垃圾对象,常用的算法有:标记—清除算法、复制算法、标记—整理算法; 2. 可达性分析 当前的主流虚拟机都是使用可达性分析算法来判定一个对象是否还存活。 Java虚拟机中标记 阅读全文
posted @ 2015-09-05 16:46 jqc 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 1. Java内存区的构成 Java虚拟机运行时内存主要由五个部分组成: (1)方法区 方法区用于存储被虚拟机加载的类信息、常量、static变量等数据。字符串常量池就位于方法区。 (2)堆 堆用于存储对象实例,java中通new创建的对象实例就保存在堆中。 (3)虚拟机栈 虚拟机栈用于实... 阅读全文
posted @ 2015-09-04 23:46 jqc 阅读(1375) 评论(0) 推荐(0) 编辑
摘要: 1. 同步容器类 遗留下来的同步容器类包括Vector和Hashtable,此外java.util.Collections类中还提供了以下工厂方法创建线程安全的容器对象: Collections.synchronizedList 返回支持同步操作(线程安全)的List对象; Collection... 阅读全文
posted @ 2015-09-02 21:36 jqc 阅读(3524) 评论(0) 推荐(1) 编辑
摘要: 1. 线程安全的类 多线程环境中访问某个类时,不需要额外的同步或者协同,这个类都能表现出正确的行为,则称该类是线程安全的。2. 设计线程安全的类的基本步骤:(1)找出构成对象所有状态的域(2)找出约束状态域的不变性条件(3)设计对象状态的并发访问和管理策略收集同步需求:我们需要分析对象的不变性条件,... 阅读全文
posted @ 2015-09-01 10:55 jqc 阅读(695) 评论(0) 推荐(0) 编辑
摘要: 1. 原子性 操作的原子性是即不能被分割的操作,和数据库中事务的原子性概念一致,即要么不执行,要么全部完成。有很多看起来具有原子性操作的实际上并不具有“原子性”,例如: “读取-修改-写入”操作:形式上像 i++ 一样简单的语句实际上并不是一个具有“原子性”的操作,它实际上包含三步: 读取原来的值... 阅读全文
posted @ 2015-08-31 16:53 jqc 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 1. 数据库编程基本流程 (1)加载数据库厂商的驱动程序 例如:对于Mysql数据库,Class.forName("com.mysql.jdbc.Driver"); (2)获得数据库连接对象 Connection connection = DriverManager.getConnection(... 阅读全文
posted @ 2015-08-26 12:33 jqc 阅读(1196) 评论(0) 推荐(0) 编辑
摘要: 1. 虚拟存储器机制 虚拟存储器即对磁盘存储器进行抽象,将磁盘存储器组织成一个连续的存储器,将主存看成是磁盘存储器的一个高速缓存。 虚拟存储器提供了三个重要的能力:(1)将主存看成是磁盘存储器的高速缓存,在主存中只保存活动区域,并根据需要在主存和磁盘之间来回传送数据,有效地提高了主存的利用率(2)为... 阅读全文
posted @ 2015-08-24 20:13 jqc 阅读(1187) 评论(0) 推荐(0) 编辑