- 博客(13)
- 资源 (4)
- 收藏
- 关注
原创 多线程模拟交通灯管理系统
一、项目业务逻辑分析 项目需求:模拟实现十字路口的交通灯管理系统逻辑,要求如下:异步随机生成按照各个路线行驶的车辆,例如由北向南行驶的车辆、由东向南行驶的车辆。信号灯忽略黄灯,只考虑红灯和绿灯的情况。左转受信号灯控制,右转车辆不受信号灯控制,其他情况与现实生活的逻辑相同。 注:南北向车辆和东西向方向车辆交替放行,同方向等待车辆应先放行直行车辆,而后再放行左转车辆。每辆车通过路
2014-07-24 00:40:49
2732
1
原创 代理模式与Java动态代理
一、代理模式代理模式(Proxy Pattern):为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。图一:代理模式为了保持行为的一致性,代理类和委托类通常会实现相同的接口,所以在访问者看来两者没有丝毫的区别。通过代理类这中间一层,能有效控制对委托类对象的直接访问,也可以很...
2014-07-22 20:51:15
693
原创 类加载器与双亲委派模型
一、类加载器 自己编写的一个Java类要运行,必须先加载到Java虚拟机中。而“加载”只是“类加载”(Class Loading)过程中的第一个阶段,后面还有验证、准备、解析和初始化等复杂过程。加载阶段最重要的任务“通过一个类的权限定名来获取定义此类的二进制字节流”就需要类加载器来完成。类加载器负责把Java源文件经编译器编译后生成的Class字节码文件加载到虚拟机中,也就是内存中,然后根据...
2014-07-22 14:31:32
738
1
原创 Java多线程机制和用法
一、线程的引入和实现 在传统的操作系统中,作为拥有资源的基本单位和独立调度、分派的基本单位都是进程,也因此导致线程在创建、撤销和切换中都会占用OS较大的时空资源。但是也正因如此,在OS中所设置的进程,数目不宜过多,切换频率不宜过快,这也就限制了OS并发程度的进一步提高。所有后来人们提出了线程的概念,为了进一步提高OS的并发程度和系统吞吐量。线程是比进程更轻量级的调度执行单位,线程的引入,...
2014-07-20 13:55:02
806
原创 Java集合框架(下)Map实现原理
一、引言 上一遍文章中我详细讲解Collection体系结构和每个集合类的实现原理、用法以及区别。整个Java集合框架分为Collection接口和Map接口两个根接口。从接口的定义上看,Collection和Map没有直接联系,但其实内部关系很大,具体怎么联系的这是本文讲解的一个重点。在讲解Map之前先来学习一下一个数据结构——哈希表。 哈希表查找的基本思想:建立关键字和存储位置的函...
2014-07-15 19:56:16
925
原创 Comparable和Comparator用法及区别
java.lang.Comparable和java.util.Comparator都是比较两个对象大小的,略有区别。
2014-07-15 18:46:00
534
原创 Java集合框架(上)Collection
一、引言 Java集合框架和IO框架一样,看似很庞杂的体系框架,但是当你逐一深入每个集合的用法后,就能明显的看出他们之间的区别和联系。最后拎出一个框架图,就一目了然了。由于Java的集合框架分两大系Collection系和Map系,之所以要分开是因为Collection内存储的是线性集合,而Map的元素是以键值对(Key-Value)的形式存的。其实Map和Collection内部实现是存在...
2014-07-15 14:35:10
794
1
原创 结合源码介绍IO体系框架
一、IO框架的概括 初学Java的IO框架,感觉这个体系很庞大,总是理不清头绪。随着学习的不断深入,加之阅读一些IO源代码,对IO框架的整体有了新的认识。首先,理解两个概念输入流和输出流。所谓流,就是数据的有序排列,而流是可以是从某个源(Source of Stream)出来,流向个目的地(Sink of Stream)。根据流的方向,可以分成输入流和输出流,一个程序从输入流读取数据向输出流...
2014-07-13 00:28:42
704
原创 走进源码之InputStream
直接已知子类:AudioInputStreamByteArrayInputStream,FileInputStream, FilterInputStream, InputStream, ObjectInputStream,PipedInputStream, SequenceInputStream, StringBufferInputStream
2014-07-12 20:08:24
607
原创 深入理解IO流中字符编码问题
首先了解一下常用的编码:ASCII:ASCII码是7位编码,ASCII字符集包括英文字母、阿拉伯数字和标点符号等字符。专门给英语国家设计的编码。GB2312:中文字符集,只收录了6763个常用汉字,字符集中除常用简体汉字字符外还包括希腊字母、日文等字符,未收录繁体中文汉字和一些生僻字。GBK:GBK编码是GB2312编码的超集,共收录了21003个汉字,向下完全兼容GB2312。ISO8859-1...
2014-07-11 10:30:25
2209
2
原创 阅读源码理解String对象的不变性
String的对象都有一个特性 ,就是不可变性,不可变是指String对象创建后,其值就不能再改变,代用String的任何方法修改字符串最后都会返回一个新的String对象,而对原String对象没有任何影响。下面通过解读源码和实例来进一步说明:public class Test { public static void main(String[] args) { String s1="ja...
2014-07-09 16:51:16
611
原创 深入理解BufferedInputStream实现原理
通过分析FileInputStream类和BufferedInputStream类中的部分核心代码来理解带缓冲的字节输入流的实现原理,缓冲输出流原理与之相同,在此不再赘述。FileInputStream源码package java.io;public class FileInputStream extends InputStream{ /** *从输入流中读取一...
2014-07-08 17:06:48
4049
4
原创 Java Web中简单实现自动登陆功能。
Java 对自动登陆功能的简单实现,仅用到了servlet和一个filter。第一次写博文,如有不足的地方,敬请指正,谢谢。登陆界面 登陆页面 /LoginAction" method="post"> 用户名: 密 码: 保存时间 一 周 一个月
2013-12-23 04:18:54
6247
aspectjweaver-1.7.1.jar
2014-09-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人