J2SE 杂谈
chenshufei2
这个作者很懒,什么都没留下…
展开
-
jdk1.5新特性一 共享设计模式
一、静态导入 为什么要搞个静态导入呢? 目的: 为了减少字符输入量,提高代码的可阅读性,以便更好地理解程序。 但不可滥用,滥用时会造成代码可阅读性不高,若代码出错要调试时,由于去掉了类名修饰,还需要猜测此方法哪个类的。 可以遵循以下两个规则: 1>不使用*(星号)通配符,除非是导入静态常量类(只包含常量的类或接口)。 2>方法名是具有明确、清晰表象原创 2012-08-07 10:48:54 · 1067 阅读 · 0 评论 -
java 入门 第一堂课
一、Doc命令 这玩意,几乎不用不着了。但有时还真的用的上。比如系统卡死了,无响应。而之前的命令终端是开的,系统的命令终端是可用的。程度又急的调试。嘿,用的上了。 常见的命令如下: 1. dir 列示目录文件。 linux 却是 ls . 2. md 创建一个目录 与 linux中的 mkdir 基本吻合哦。 3. rd 删除一个目录 与 linux中的 rmdi原创 2012-07-22 15:19:20 · 852 阅读 · 0 评论 -
java 多线程 入门 线程生命周期图
javase学习中,一个重要的部分是多线程。而在学习多线程时,先来理解下,什么是多线程。一、什么是多线程 所谓多线程是,同时对多个任务加以控制和处理。它并不是为了提高运行效率,而是为了提高资源使用效率来提高系统效率。线程是在同一时间段内(时间很小毫秒微秒小到你感觉不到时间差异),需要处理多项任务的时候实现。 1. 线程可以把占据长时间的程序操作任务放在后台处理。原创 2012-07-23 19:28:14 · 1375 阅读 · 0 评论 -
java 集合
在API中,应用最多的类集中,集合算是其中之一了。下面就集合进行简单的描述,先上个图,理下集合中的类之间的关系。一、Set、List、Map的区别:(1)set-保证成员唯一 , 支持数学中的集合操作,如交、并;(不考虑极端的作法将compareTo与compare方法中,两者相同也不返回0的) (无序的,不可以重复且没有索引)(2)list-支持成员顺序,提供按索引访问成员;原创 2012-08-08 11:21:47 · 1037 阅读 · 0 评论 -
交通灯系统模拟 之改进
一、功能需求:模拟实现十字路口的交通灯管理系统逻辑,具体需求如下:Ø 异步随机生成按照各个路线行驶的车辆。例如: 由南向而来去往北向的车辆 ----直行车辆 由西向而来去往南向的车辆 ----右转车辆 由东向而来去往南向的车辆 ----左转车辆 。。。Ø 信号灯忽略黄灯,只考虑红灯和绿灯。Ø 应考虑左转车辆控制信号原创 2012-08-12 17:28:06 · 2099 阅读 · 0 评论 -
反射 内省 JaveBean 与 简单工厂设计模式
java中一个强大的功能,莫过于反射了。通常我们看看的Struct2、Struct1、Spring、Hibernate等等集合无一不使用了反射机制。那么什么是反射呢,到底有什么用呢?一、反射机制概念 简单的讲,反射就是通过把指定的类中各种元素成分都映射成相关的反射包中的相应类,使得我们可以动态的调用类的相应成员,比如构造方法、成员方法、成员变量等。它被视为动态(或准动态)语言的一个关键原创 2012-08-11 16:03:46 · 1606 阅读 · 0 评论 -
Java类文件(.class文件)版本号与JDK的对应关系
转自:http://www.linuxidc.com/Linux/2011-12/48923.htm一个java的class文件是一个二进制文件,其中前四个字节是magic位,第五到第六个字节对应于minor和major,下面是这个类文件版本与JDK的对应关系: jdk minormajor 1.0 45 3转载 2012-11-03 23:53:29 · 1306 阅读 · 0 评论 -
Java:对象的强、软、弱和虚引用
1.对象的强、软、弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用。图1为对象应用类层次。图1⑴强引用(转载 2013-01-07 00:02:05 · 978 阅读 · 0 评论 -
sun.misc.BASE64Encoder找不到jar包的解决方法(eclipse中红叉)
1.右键项目-》属性-》java bulid path-》jre System Library-》access rules-》resolution选择accessible,下面填上** 点击确定即可!!!2.在MyEclipse中编写Java代码时,用到了BASE64Decoder,import sun.misc.BASE64Decoder;可是Eclipse提示: Acces转载 2013-02-26 22:50:24 · 1683 阅读 · 0 评论 -
银行业务调度系统_改进 与 模板方法设计模式 共享设计模式
一、功能需求:1、银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。2、有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。3、异步随机生成各种类型的客户,生成各类型用户的概率比例为:VIP客户:普通客户:快速客户 = 1:6:3。4、客户办理业务所需时间有最大值和最小值,在该范围内随机设定每个原创 2012-08-14 03:44:22 · 1677 阅读 · 0 评论 -
java IO包 与 装饰设计模式 浅谈
在API中,应用最多的另一个集合类群,就是IO集合了。它是以流的概念提供了对,标准输入及输出、硬盘文件、网络数据信息、字符串流及对象流内存等资源进行读写等操作方式。一、那么先来了解是什么是流?流的概念。 流是指一连串流动的数据信号,是以先进先出的方式发送和接受数据的通道。这是个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。而原创 2012-08-10 19:25:49 · 1473 阅读 · 1 评论 -
泛型 编译器给的‘蜜糖’那些事!
最近在论坛上看到一哥们,写了个反射的小测试程序 代码如下:示例 代码1 运行正常 如下 :List list1 = new ArrayList();list1.getClass().getMethod("add", Object.class).invoke(list1, "abc");System.out.println(list1.get(0));示例 代码2 运行就异常了 如原创 2012-08-17 23:28:41 · 1021 阅读 · 0 评论 -
try、catch、finally 执行顺序 及 return 关系浅谈一
前段时间在逛论坛中,看到一贴子,1.若try中存在return 语句,finally 要不要执行呢?2.finally中对try return结果进行修改时返回什么数据呢?3.finally也存在return时,返回哪个return呢?看过问题后,我也疑惑了,这些问题的答案究竟是什么呢?于是有了这遍博文。先抛出经过测试验证的结论,等会读者可复制代码测试下:结论:1. finally原创 2012-08-21 09:55:07 · 1679 阅读 · 0 评论 -
Junit入门
一、Junit简介 JUnit是一个开源的java单元测试框架。在1997年,由 Erich Gamma 和 Kent Beck 开发完成。其中 Erich Gamma 是 GOF (四人帮啊...)之一;Kent Beck 则在 XP 中有重要的贡献。到目前为止,仍旧是Java 单元测试的最流行的工具之一。 早期的Junit在编写,测试类 XxxTest时,必须要继承Test类,且测试原创 2012-08-31 18:57:06 · 1729 阅读 · 0 评论 -
线程之三个小面试题 并发集合数据的访问 阻塞队列
第一题:现有的程序代码模拟产生了16个日志对象,并且需要运行16秒才能打印完这些日志,请在程序中增加4个线程去调用parseLog()方法来分头打印这16个日志对象,程序只需要运行4秒即可打印完这些日志对象。 原代码是:public class Test1 { public static void main(String[] args){原创 2012-08-22 11:45:11 · 1939 阅读 · 0 评论 -
Oracle JDBC 入门之深入浅出
一、JDBC概述什么是JDBCJDBC:JAVA DataBase Connction,同时也是SUN的注册的一个商标。JDBC是JAVA访问各种数据库的事实标准。对于SUN:JDBC是规定的一套接口和类,对于厂商:必须提供JDBC实现,又叫“驱动”。简单的说,SUN提供了一套接口和类,规定了JAVA连数据库的一整套接口和类。而各数据库应用厂商,必须实现JDBC相应接口以便采用统一原创 2012-09-01 02:37:27 · 1743 阅读 · 0 评论 -
java RSA 加密解密算法 入门
一、入门闲话 最近在学javase,想拿个小题目练习。拿到一个关于socket接口实现基于TCP协议的通信(准确的说是多进程程序中通信问题。)。通信过程中需要用RSA算法进行加解密。要求进程应用软件A 键盘输入数据后和第一端口号-1存入一SendDate对象sd1中,然后将sd1进行序列化后,将序列化后的数据进行RSA加密(此处的RSA加密用最终接收方D的公钥加密)。将第一次RSA加原创 2012-09-03 02:10:17 · 10225 阅读 · 5 评论 -
javase正则表达式入门
j2se中一个重要的部分正则表达式很强大,它在处理字符串匹配时强大有余啊。主要涉及到java.util.regex包中的Pattern类与Matcher类。下面从代码中,走入正则表达式代码片段一,入门级的: private static void testRegExpAccidence() { //正则表达示第一个内容,点.可以替换任何一个字符。所以下面的应该是true。match原创 2012-08-24 20:37:55 · 1681 阅读 · 0 评论 -
ReadWrite读写锁与传统锁 浅谈
JDK5 之后,不但有了Lock,还有了ReadWriteLock,比之前的Synchronized丰富多了。而这几者有什么关联呢,各自应用的场景是什么呢?先通过下面的小示例来,比较下传统的synchronized与读写锁readwtirelock的,在处理同一缓存对象池是的小区别:import java.util.Map;import java.util.TreeMap;import原创 2012-08-22 14:48:41 · 2317 阅读 · 0 评论 -
java 入门 第二堂课
一、写程序的良好习惯按以下模式写,特别是关键的类的时候。 1. 需求:... 2. 思路 1>... 2>... 3. 步骤 1>... 2>...二、命名规范性 1. 包名 以全小写为标准 2. 类名 以XxxYyy为标准,驼峰式 3. 变量 以xxxYyy为标准,以便识别单词三、数据类型 共有两种大类 基本类型 与 引用类型。其中 基原创 2012-07-22 15:32:45 · 1773 阅读 · 0 评论 -
猜扑克的小游戏 复习多线程
闲着无事,写个小程序玩玩。 先想功能需求分析:需求分析: 1, 可生成一个随机的扑克牌,用三个线程或多个线程去猜。猜对后,打印奖励100元。 2, 每个线程可有三次机会去猜,中途猜中的,打印100元,并不再参与猜了。 3, 没有猜对的线程最后统一告诉答案,但必须是所有线程都猜完后,再打印最后答案。 4, 扑克牌可以排除大小王两张牌,剩余的52张牌进行随机抽一张牌作为答案原创 2012-07-19 17:06:19 · 1163 阅读 · 0 评论