摘要: 笔记摘要: 这里首先介绍了java5中的并发的小工具包:automatic,然后介绍了线程池的概念,对使用java5的方式创建不同形式的线程进行了演示, 之后介绍了两个 对象:Callable和Future,用于获取线程执行后的结果,对于线程锁技术则在另外一篇文章中介绍。Java5中的线程并发库都在java.util.concurrent包及子包中一、java.util.concurrent.atomic包: 类的小工具包,支持在单个变量上解除锁的线程安全编程1、如果同一个变量要被多个线程访问,则可以使用该包中的类: AtomicBoolean... 阅读全文
posted @ 2012-12-11 19:56 积小流,成江海 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 一、异常的体系: Throwable ---Error ---Excepeion Error:通常出现重大问题如:运行的类不存在或者内存溢出等。不编写针对代码对其处理 Exception:在运行时出现的一些状况,可以通过trycatchfinally处理Error与Exception相同点: 不正常情况的信息,引发原因等。 Exception和Error的子类名都是以父类名作为后缀异常体系的特点:异常体系中的所有类以及建立的对象都具备可抛性。也就是说可以被throw和throws关键字所操作。只有异常体系具备这个特点。Throwable中的方法 getMessa... 阅读全文
posted @ 2012-12-06 20:34 积小流,成江海 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 笔记摘要: 多个线程之间共享数据,按照每个线程执行代码是否相同,我们可以采取不同的处理方式,这里通过简单的卖票示例说明了当每个线程执行相同代码的情况, 对于多个线程执行不同代码的情况,处理方式比较灵活,这里主要介绍了2种方式,通过2种方式的对比和归纳,我们可以总结出在多个线程执行不同的代码 情况下,如何进行代码的设计。一:如果每个线程执行的代码相同 可以使用同一个Runnable对象,这个Runnable对象中有那个共享数据,例如:卖票系统。简单的卖票系统示例:class Ticket implements Runnable{ private int tic... 阅读全文
posted @ 2012-12-05 13:08 积小流,成江海 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 笔记摘要: 所谓线程范围内共享数据,即对于相同的程序代码,多个模块在同一个线程中运行时要共享一份数据,而在另外线程中运行时又共享另外一份数据, API中为我们提供了一个操作线程范围内共享数据的类ThreadLocal,对于线程范围内共享数据的应用,在ThreadLocal的应用场景中进行了介绍,然后 主要对它的使用进行讲解,演示了由单一数据的共享到将多个数据封装到一个对象中,然后进行共享。在开始先用一个Map集合简单实现线程范围内数据的共享一、使用Map实现线程范围内数据的共享原理: 将线程对象作为map的键存入,这样就保证了map对象的唯一,也就保证了线程内数... 阅读全文
posted @ 2012-12-05 01:21 积小流,成江海 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 笔记摘要: 这里分析了多线程的一些细节问题,并介绍了传统定时器的创建,同时实现了根据自己的调度计划的自定义定时器,对于传统互斥技术中发现的内部类问题, 进行了分析,最后对于同步通信技术,是重点,分析了如何处理类似的问题,如何设计能够更加清晰简单,体现了高内聚和程序的健壮性一、多线程的几个知识点1、为何使用实现Runnable的方式创建线程更普遍? new Runnable()的方式,更加体现面向对象的思想: 通过 new Thread()创建一个线程,代码封装在runnable对象中,代码和线程独立分开来,但最终将它们组合在一起。 Thread threa... 阅读全文
posted @ 2012-12-05 00:04 积小流,成江海 阅读(302) 评论(0) 推荐(0) 编辑
摘要: -------android培训、java培训、期待与您交流! ----------一、需求:模拟实现银行业务调度系统逻辑,具体需求如下:Ø银行内有6个业务窗口,1- 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。Ø有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。Ø异步随机生成各种类型的客户,生成各类型用户的概率比例为: VIP客户 :普通客户 :快速客户= 1 :6 :3。Ø客户办理业务所需时间有最大值和最小值,在该范围内随机设定每个VIP客户以及普通客户办理业务所需的时间,快速客户办理业务 阅读全文
posted @ 2012-12-03 12:02 积小流,成江海 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 一、需求:模拟实现银行业务调度系统逻辑,具体需求如下:Ø银行内有6个业务窗口,1- 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。Ø有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。Ø异步随机生成各种类型的客户,生成各类型用户的概率比例为: VIP客户 :普通客户 :快速客户= 1 :6 :3。Ø客户办理业务所需时间有最大值和最小值,在该范围内随机设定每个VIP客户以及普通客户办理业务所需的时间,快速客户办理业务所需 时间为最小值(提示:办理业务的过程可通过线程Sleep的方式模拟)。Ø 阅读全文
posted @ 2012-12-03 12:02 积小流,成江海 阅读(228) 评论(0) 推荐(0) 编辑
摘要: -------android培训、java培训、期待与您交流! ----------l 内省(Introspector):主要用于对JavaBean进行操作一、javaBean1、JavaBean是一种特殊的Java类,主要用于传递数据信息,这种java类中的方法主要用于访问私有的字段,且方法名符合某种命名规则。2、如果要在两个模块之间传递多个信息,可以将这些信息封装到一个JavaBean中,这种JavaBean的实例对象通常称之为值对象(Value Object,简称VO)。 这些信息在类中用私有字段来存储,如果读取或设置这些字段的值,则需要通过一些相应的方法来访问,JavaBean的属.. 阅读全文
posted @ 2012-12-02 20:58 积小流,成江海 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 内省(Introspector):主要用于对JavaBean进行操作一、javaBean1、JavaBean是一种特殊的Java类,主要用于传递数据信息,这种java类中的方法主要用于访问私有的字段,且方法名符合某种命名规则。2、如果要在两个模块之间传递多个信息,可以将这些信息封装到一个JavaBean中,这种JavaBean的实例对象通常称之为值对象(Value Object,简称VO)。 这些信息在类中用私有字段来存储,如果读取或设置这些字段的值,则需要通过一些相应的方法来访问,JavaBean的属性是根据其中的setter和getter方法 来确定的,而不是根据其中的成员变量。3... 阅读全文
posted @ 2012-12-02 20:58 积小流,成江海 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 一、代理类代理类的概念与作用:1、作用: 要为已存在的多个具有相同接口的目标类的各个方法增加一些系统功能, 例如:异常处理,日志,计算方法的运行时间,事务管理等等。2、 实现方式: 编写一个与目标类具有相同接口的代理类(容易实现已实现类的切换), 代理类的每个方法调用目标类的相同方法,并在调用方法时加上 系统功能的代码。3 、应用: 当采用工厂模式和配置文件的方式进行管理,则不需要修改客户端程序,在配置文件中配置使用目标类,或者代理类,这样以后就很容易切换, 譬如,想要日志功能时就配置代理类,否则配置目标类,增加系统功能就很容易,去掉也很容易这样提高了灵活性代理架构... 阅读全文
posted @ 2012-12-02 20:32 积小流,成江海 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 一、代理类代理类的概念与作用:1、作用: 要为已存在的多个具有相同接口的目标类的各个方法增加一些系统功能, 例如:异常处理,日志,计算方法的运行时间,事务管理等等。2、 实现方式: 编写一个与目标类具有相同接口的代理类(容易实现已实现类的切换), 代理类的每个方法调用目标类的相同方法,并在调用方法时加上 系统功能的代码。3 、应用: 当采用工厂模式和配置文件的方式进行管理,则不需要修改客户端程序,在配置文件中配置使用目标类,或者代理类,这样以后就很容易切换, 譬如,想要日志功能时就配置代理类,否则配置目标类,增加系统功能就很容易,去掉也很容易这样提高了灵活性代理架构... 阅读全文
posted @ 2012-12-02 20:32 积小流,成江海 阅读(410) 评论(0) 推荐(0) 编辑
摘要: -------android培训、java培训、期待与您交流! ----------一、需求 模拟实现十字路口的交通灯管理系统逻辑,具体需求如下:Ø异步随机生成按照各个路线行驶的车辆。例如: 由南向而来去往北向的车辆 ---- 直行车辆 由西向而来去往南向的车辆 ----右转车辆 由东向而来去往南向的车辆 ----左转车辆 。。。Ø信号灯忽略黄灯,只考虑红灯和绿灯。Ø应考虑左转车辆控制信号灯,右转车辆不受信号灯控制。Ø具体信号灯控制逻辑与现实生活中普通交通灯控制逻辑相同,不考虑特殊情况下的控制逻辑。 注:南北向车辆与东西向车辆交替放行,同方向等待车辆应先 阅读全文
posted @ 2012-12-02 19:42 积小流,成江海 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 一、需求 模拟实现十字路口的交通灯管理系统逻辑,具体需求如下:Ø异步随机生成按照各个路线行驶的车辆。例如: 由南向而来去往北向的车辆 ---- 直行车辆 由西向而来去往南向的车辆 ----右转车辆 由东向而来去往南向的车辆 ----左转车辆 。。。Ø信号灯忽略黄灯,只考虑红灯和绿灯。Ø应考虑左转车辆控制信号灯,右转车辆不受信号灯控制。Ø具体信号灯控制逻辑与现实生活中普通交通灯控制逻辑相同,不考虑特殊情况下的控制逻辑。 注:南北向车辆与东西向车辆交替放行,同方向等待车辆应先放行直行车辆而后放行左转车辆。Ø每辆车通过路口时间为1秒(提示:可通过线程 阅读全文
posted @ 2012-12-02 19:42 积小流,成江海 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 笔记摘要:这里主要介绍了java类中的反射技术,其主要是应用在框架中,这里通过介绍和反射相关的几个类:Constructor、Filed、Method类 来对它们各自的反射方式和应用进行了说明,另外还有数组的反射,同时对HashCode和HashSet集合进行了更深层次的理解,其中的HashSet集合中出现的内存泄露问题是值得我们注意的。一、反射的基石::Class类 Java程序中的各个java类属于同一类事物,描述这类事物的java类名就是Class 1. Class类的各个实例对象: 对应各个类在内存中的字节码,例如Person类的字节码等 2. 字节码: 一个类被类加载... 阅读全文
posted @ 2012-11-27 21:50 积小流,成江海 阅读(169) 评论(0) 推荐(0) 编辑
摘要: -------android培训、java培训、期待与您交流! ----------笔记摘要:这里主要介绍了java类中的反射技术,其主要是应用在框架中,这里通过介绍和反射相关的几个类:Constructor、Filed、Method类 来对它们各自的反射方式和应用进行了说明,另外还有数组的反射,同时对HashCode和HashSet集合进行了更深层次的理解,其中的HashSet集合中出现的内存泄露问题是值得我们注意的。一、反射的基石::Class类 Java程序中的各个java类属于同一类事物,描述这类事物的java类名就是Class 1. Class类的各个实例对象: 对应各个... 阅读全文
posted @ 2012-11-27 21:50 积小流,成江海 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 一、正则表达式 符合一定规则的表达式作用:用于专门操作字符串特点:用于一些特定的符号来表示一些代码操作好处:简化对字符串的操作弊端:符号定义越多,正则越长,阅读性越差注意:正则表达式中,反斜杠要成对出现,因为要对‘\’进行转义,之后再与后面的字符匹配,这样才能代表一些特定的表达式。正则表达式中,“点“代表任意字符,所以要进行转义,“\\.”。组的捕获:当要对一个结果进行重用的时候,可以把规则封装成一个组,组的出现都有编号,从1开始,想要使用已有的组,通过反斜杠加组的编号n,表示引用第n组,即“\n“,但在字符串中需在次转义,所以格式为:“()\\n“,通过"$+组号" ,获 阅读全文
posted @ 2012-11-24 12:58 积小流,成江海 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 笔记摘要:本篇文章主要介绍了java中的图形化界面,其中重点在于监听机制,通过几个示例我们可以掌握监听机制的原理以及使用,其中对于监听器其实抽象方法,但是其实现类为我们实现了抽象方法,即适配器的概念,我们只要获取适配器,然后复写我们所需要的事件监听即可,对于错误事件的处理引入了对话框的创建与使用,后面介绍了菜单的创建与使用,最后通过一个简单的具有打开与保存的记事本进行了总结,其实我们要做的就是监听的事件处理,以及使用我们前面学到的IO技术对文本进行读取和写入一、GUI(图形用户界面)1、GUI介绍 Graphical User Interface(图形用户接口) 用图形的方式,来显示计算机操作 阅读全文
posted @ 2012-11-23 19:24 积小流,成江海 阅读(2272) 评论(0) 推荐(0) 编辑
摘要: 笔记摘要:本篇文章主要介绍了浏览器的工作原理,然后通过自定义的浏览器发送请求来模拟,并介绍了URL类,该类将Socket对象封装,使用起来更为方便,同时将使用URL对象的自定义浏览器和图形化界面相结合,实现了一个简易的图形化浏览器功能。最后对于浏览器访问网址时的域名解析进行了解释。一、自定义浏览器现实中的浏览器在输入网址后,通常是发送一系列的请求消息,以便服务端识别,服务器在处理客户端的请求之后返回资源文件。示例说明:这里主要模拟真实浏览器发送请求,并获取返回的数据,但是并不能对服务端反馈的信息进行解析格式上的解析,因为Socket是在传输层,可以使用下面的URL封装的对象实现信息的拆包,UR 阅读全文
posted @ 2012-11-22 21:45 积小流,成江海 阅读(410) 评论(0) 推荐(0) 编辑
摘要: Tcp传输应用应用一、实现TCP传输的客户端和服务端的简单互访需求:客户端给服务端发送数据,服务端收到后,给客户端反馈信息。客户端:1,建立socket服务。指定要连接主机和端口。2,获取socket流中的输出流。将数据写到该流中。通过网络发送给服务端。3,获取socket流中的输入流,将服务端反馈的数据获取到,并打印。4,关闭客户端资源。关键在于通过getOutputStream()和getInputStream()获取读写流package cn.xushuai.Test;import java.io.*;import java.net.*;class TcpClient2 { public 阅读全文
posted @ 2012-11-22 21:00 积小流,成江海 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 笔记摘要:本篇博客首先对网络通信要素和网络通讯中两种常见协议:UDP和TCP进行了介绍,另外对于UDP协议下实现通信的接收端和发送端,并最终通过多线程的群聊服务端对UDP的学习进行了总结。一、网络通讯要素IP地址:InetAddress 网络中设备的标识 不易记忆,可用主机名 本地回环地址:127.0.0.1 主机名:localhost端口号 用于标识进程的逻辑地址,不同进程的标识 有效端口:0~65535,其中0~1024系统使用或保留端口传输协议 通讯的规则 常见协议:TCP ,UDP二、网络参考模型图三、UDP与TCP特点UDP 将数据及源和目的封装成数据包中,不需要建立连接 每个数据包 阅读全文
posted @ 2012-11-22 16:22 积小流,成江海 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 一、File类概述用来将文件或者文件夹封装成对象,方便对文件与文件夹的属性信息进行操作,File对象可以作为参数传递给流的构造函数二、File类常见方法:1,创建boolean createNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返false, 和输出流不一样,输出流对象一建立创建文件,而且文件已经存在,会覆盖。boolean mkdir():创建文件夹。boolean mkdirs():创建多级文件夹。2,删除boolean delete():删除失败返回false。如果文件正在被使用,则删除不了返回falsel。void deleteOnExit();在程序退 阅读全文
posted @ 2012-11-21 18:08 积小流,成江海 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 笔记摘要:本篇文章主要是对于IO流中除了经常见到的读写流之外的一些其他流对象,有Properties、打印流、合并流SequenceInputStream、对象的序列化,持久化的流对象、管道流对象、操作基本数据类型的流对象、随机访问文件流对象以及源和目的都是内存的IO流对象一、PropertiesProperties是hashtable的子类。也就是说它具备map集合的特点,而且它里面存储的键值对都是字符串。是集合中和IO技术相结合的集合容器。该对象的特点:可以用于键值对形式的配置文件。那么在加载数据时,需要数据有固定格式:键 = 值。Properties练习:记录应用程序运行次数,如果使用次 阅读全文
posted @ 2012-11-21 17:55 积小流,成江海 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 一、装饰类1. 什么时候使用装饰类? 当想要对已有的对象进行功能增强时, 可以定义类,将已有对象传入,基于已有的功能,并提供加强功能。 那么自定义的该类称为装饰类。2、装饰类的创建装饰类通常会通过构造方法接收被装饰的对象。 并基于被装饰的对象的功能,提供更强的功能。3. 装饰模式特点:1> 装饰模式比继承要灵活,避免了继承体系臃肿,优化了体系结构, 而且降低了类于类之间的关系。2> 装饰类因为增强已有对象,具备的功能和已有的是相同的,只不过提供了更强功能, 所以装饰类和被装饰类通常是都属于一个体系中的二、装饰类的与继承方式的对比:通过读取类的扩展功能实现来对比装饰类与继承方式MyR 阅读全文
posted @ 2012-11-21 17:23 积小流,成江海 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 一、字符流—读取文件 建立一个流对象,将已存放的一个文件加载进流 FileReader fr = new FileReader(“Test.tex”); 创建一个临时存放数据的数组,用于缓冲 Char[]ch = new char[1024]; 调用流对象的读取方式将流中的数据读入到数组中 fr.read(ch);文件的拷贝示例代码: package cn.xushuai.io;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class copyfileDemo { pu 阅读全文
posted @ 2012-11-21 17:10 积小流,成江海 阅读(332) 评论(0) 推荐(0) 编辑
摘要: IO流概述从这篇blog开始介绍IO技术,本篇文章首先做个引子,简单介绍了IO流的概念,书写注意事项,流操作基本规律,以及通过IO流中的 日志信息的输出和系统信息的获取一、文件的基本读取方式,字节流字符流IO流用来处理设备之间的数据传输Java对数据的操作是通过流的方式Java用于操作流的对象都在IO包中流按操作数据分为两种:字节流与字符流流按流向分为:输入流、输出流IO流常用基类 InputStream、OutputStream字符流的抽象基类: Reader、Writer注:由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀二、IO程序的书写注意事项 导入IO包中的类 进行IO异常 阅读全文
posted @ 2012-11-21 16:55 积小流,成江海 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 笔记摘要:本次主要对于SeekBar和RatingBar的基本创建做了说明。都非常简单,在布局文件中创建一个Bar,然后在Activity代码中实现并绑定相应的监听器,实现必要的方法即可,是比较简单,以后和其他控件一起使用就可实现更好的效果,既然学习了,就写下来,虽然简单,但烂笔头总低得过好记性,以后使用时直接拿来就行。SeekBar:SeekBar效果图代码体现布局代码:SeekBarActivity代码:package com.example.seekbar;import android.os.Bundle;import android.app.Activity;import androi 阅读全文
posted @ 2012-11-16 21:16 积小流,成江海 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 笔记摘要:本次主要介绍ExpandableListActivity和SimpleExpandableListAdapter的简单使用方法,其中的难点在于为SimpleExpandableListAdapter提供数据,而较于Spinner只能提供一个下拉菜单供用户选择,ExpandableListActivity可以提供更多的目录和选项,当然实现起来就比较复杂ExpandableListActivity继承关系:java.lang.Object↳android.content.Context↳android.content.ContextWrapper↳android.view.Context 阅读全文
posted @ 2012-11-16 20:00 积小流,成江海 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 笔记摘要:对于DatePicker和DatePickerDialog与TimePicker和TimePickerDialog是类似的,包括创建方法,一个用于指定年月日并提供操作方法,后者用于操作时分秒,也提供了操作这些时间的方法。不过在这里要说明的是:在 Android3.0之后,出现了DialogFragment,使用它同样可以帮我们创建DatePickerDialog和TimePickerDialog,当然他们的创建方式是一模一样的。下面先介绍一下相关概念方法,然后分别使用传统的方式和DialogFragment分别来创建一个DatePickeriDialog和TimePickerDial 阅读全文
posted @ 2012-11-16 17:06 积小流,成江海 阅读(521) 评论(0) 推荐(0) 编辑
摘要: Spinner:译为诱饵,我想可以理解下面还有大鱼,呵呵,在Android中主要是提供下拉菜单的功能,这里简单介绍了snipper的两种创建方法:静态方式:在strings.xml文件中创建一个<string-array><item>name</item></string-array>,通过createFromResource方法创建一个ArrayAdapter对象,这里布局文件可以使用自己的,也可以使用系统的动态方式:使用List集合在程序代码中创建,不过还要新建一个布局文件,来限制个条目的显示效果,,调用ArrayAdapter的构造函数来创 阅读全文
posted @ 2012-11-16 00:03 积小流,成江海 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 广播机制所谓广播,最大的特点就是广播向外发送消息,但是发送方不关心接收方是否接收到数据,也不关心接收方如何处理数据。生活中只要有广播接收器,就能接收广播信息,但是只有特定的人群可以对广播的消息进行处理,因为对于其他人来说广播的消息可能是无用的,比如在广播的时候播放了一段交通路况,某某路段交通堵塞,那么司机师傅就会对自己的行驶路线进行相应的调整,而对于其他人来说,这条消息是无用的,也不必做出任何处理。Android中广播的是操作系统当中所产生的各种各样的事件,比如手机接收到一条短消息或者电话就会产生一个事件,操作系统就会像所有的广播接收器广播事件,对于广播接收器是否关心事件以及如何处理由广播接收 阅读全文
posted @ 2012-11-11 20:51 积小流,成江海 阅读(191) 评论(0) 推荐(0) 编辑