J2SE
文章平均质量分 58
iteye_7030
这个作者很懒,什么都没留下…
展开
-
J2ME 的优化措施
常见的性能瓶颈:1.文件的读写和网络的操作2.CPU3.内存4.同步5.异常6.屏幕绘制一、程序设计和编码1.对象的生成和大小的调整 (1)尽可能的使用静态变量 如果类中的变量不会随他的实例变化而变化,就定义为静态的,从而使它所有的实例都共享这个变量 (2)不要对已生成的变量做过多的改变 如尽可能不要过多改变String对象的值 (3)生成静态对象时,要分...原创 2012-07-11 02:15:25 · 92 阅读 · 0 评论 -
Java实现文件拷贝的4种方法(转)
Java实现文件拷贝的4种方法(转) 2010-08-05 18:38 by sunday, 50 visits, 网摘, ...原创 2010-11-15 12:33:02 · 103 阅读 · 0 评论 -
Java内省和反射机制三步曲之 - 内省
经过多方面的资料搜集整理,写下了这篇文章,本文主要讲解java的反射和内省机制,希望对大家有点帮助,也希望大家提出不同的看法!1).内省(Introspector)是 Java 语言对 Bean 类属性、事件的一种缺省处理方法。例如类 A 中有属性 name, 那我们可以通过 getName,setName 来得到其值或者设置新的值。通过 getName/setName 来访问 n...原创 2010-11-11 12:15:40 · 86 阅读 · 0 评论 -
java内省机制
反射 (Reflection):反射就是让你可以通过名称来得到对象 ( 类,属性,方法 ) 的技术。例如我们可以通过类名来生成一个类的实例;知道了方法名,就可以调用这个方法;知道了属性名就可以访问这个属性的值。内省 (Introspector): 当Java运行时可检查自身,Java 程序中询问它的一个对象属于何类,然后检查该类构成。它能找出构成该类的所有属性及方法的名称和数据...原创 2010-11-11 11:10:38 · 87 阅读 · 0 评论 -
Design Pattern: Thread-Specific Storage 模式
无论如何,要编写一个多执行绪安全(thread-safe)的程式总是困难的,为了使用的共用资源,您必须小心的对共用资源进行同步,同步带来一定的效能延迟,而另一方面,在处理同步的时候,又要注意物件的锁定与释放,避免产生死结,种种因素都使得编写多执行绪程式变得困难。Thread-Specific Storage模式尝试从另一个角度来解释多执行绪共用资源的问题,其思考点很简单,即然共用资源这么困难,那么...原创 2010-11-11 00:00:19 · 137 阅读 · 0 评论 -
Design Pattern: Two-phase Termination 模式
Two-phase Termination直译的话是“两相终止”,不过就这个模式而言,该译作“两阶段终止”比较适当,想像您有一个执行绪正在周期性的运作,在“运作阶段”您送出了停止执行绪的请求,这时候执行绪不该慌张的马上终止目前的工作,而是先完成这一次周期的工作,然后进入“善后阶段”完成一些善后的工作,例如关闭档案或网路串流,所谓的两阶段终止,即中止“运作阶段”,并完成“善后阶段”,完整的完成执行绪...原创 2010-11-10 23:59:33 · 89 阅读 · 0 评论 -
Design Pattern: Future 模式
Future模式可以简单的看成是 Proxy 模式 与 Thread-Per-Message 模式 的结合,在Proxy模式中,用一个Proxy来代替真正的目标(Subject)生成,目标的生成可能是费时的,例如在开启一个内嵌图片的文件中,希望程式能尽快完成开启文件的动作,并显示一个可接受的画面给使用者看,在还不需要看到图片的页面中先使用Proxy代替真正的图片载入,只有在真正需要看到图片时,才由...原创 2010-11-10 23:57:16 · 86 阅读 · 0 评论 -
Design Pattern: Thread-Per-Message 模式
Thread-Per-Message模式是一个很简单但很常应用的模式,尤其是在GUI程式中,我们举个例子,当您设计一个文件编辑器时,您可能像这样注册一个开启档案的事件处理: menuOpenFile.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { ...原创 2010-11-10 23:56:27 · 110 阅读 · 0 评论 -
Design Pattern: Worker Thread 模式
Worker Thread模式在Request的管理上像是 Producer Consumer 模式,在Request的行为上像是 Command 模式。Producer Consumer模式专注于Product的生产与消费,至于Product被消费时是作何处理,则不在它的讨论范围之中。 如果您的Product是一个Request,消费者取得Request之后,执行Request中指定的请求方法,...原创 2010-11-10 23:54:59 · 79 阅读 · 0 评论 -
Design Pattern: Visitor 模式
在Java中所有的物件都继承自Object物件,这样作的优点之一,就是使得一些集合物件的资料结构容易管理,例如您可以将任何型态的物件放入Vector中。然而现在有个问题是,如果您的集合(connection)物件中不仅储存一种型态的物件,如果想要对这些物件作出一些个别化的操作,首要条件就是要知道该物件的型态,使用 instanceof 似乎是个不错的方式,在程式简单的情况下,也许您会这么作:...原创 2010-11-10 23:46:10 · 90 阅读 · 0 评论 -
Design Pattern: Template Method 模式
不要将设计模式想得高不可攀,好像高手才会使用的东西,事实上如果您在下手程式之前,能稍稍对程式作个分析规划,或多或少都会用到一些模式了,模式不是教条,它只是前人的经验成果,而 Gof 的书则是择前人之精华持续改进而来罢了。Template Method模式就是一个很简单的模式,但可能是使用最广泛的模式,也许您也一直在使用这样的模式,看它的 仅仅是抽象类别与具体类别实作的关系而已,有些人常问抽象类...原创 2010-11-10 23:45:00 · 77 阅读 · 0 评论 -
Design Pattern: Strategy 模式
Strategy策略模式是属于设计模式中 对象行为型模式,主要是定义一系列的算法,把这些算法一个个封装成单独的类.Stratrgy应用比较广泛,比如, 公司经营业务变化图, 可能有两种实现方式,一个是线条曲线,一个是框图(bar),这是两种算法,可以使用Strategy实现.这里以字符串替代为例, 有一个文件,我们需要读取后,希望替代其中相应的变量,然后输出.关于替代其中变量的方法可能有多...原创 2010-11-10 23:43:28 · 72 阅读 · 0 评论 -
Design Pattern: State 模式
State模式的定义: 不同的状态,不同的行为;或者说,每个状态有着相应的行为.何时使用?State模式在实际使用中比较多,适合"状态的切换".因为我们经常会使用If elseif else 进行状态切换, 如果针对状态的这样判断切换反复出现,我们就要联想到是否可以采取State模式了.不只是根据状态,也有根据属性.如果某个对象的属性不同,对象的行为就不一样,这点在数据库系统中出现频率比较...原创 2010-11-10 23:38:48 · 79 阅读 · 0 评论 -
Design Pattern: Memento 模式
您希望您的程式中具有复原机制,如果您直接在物件中建立复原机制,这会使得物件本身的职责加重,并且使得物件的重用性降低。与其在物件内建立复原机制,不如将复原机制从物件中脱离出来,这个时候您可以使用Memento模式来达成这个功能。Memento模式在Originator中保留一个Memento成员,这个Memento可以包括Originator的成员资讯,在外部的话, Memento可以由一个Care...原创 2010-11-10 23:30:46 · 68 阅读 · 0 评论 -
Externalizable
被Serializable接口声明的类的对象的内容都将被序列化,如果现在用户希望自己指定序列化的内容,则可以让一个类实现Externalizable接口,此接口定义如下:public interface Externalizable extends Serializable { public void writeExternal(ObjectOutput out) thro...原创 2010-11-20 22:41:47 · 260 阅读 · 0 评论 -
对synchronized(this)的一些理解
一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问object的一个synchronized(this)同步代码块时,另一个线程仍然可以访问该object中的非synchronized(this)同步代码块。 三...原创 2010-11-25 23:41:35 · 74 阅读 · 0 评论 -
java 路径问题
1.JSP/Servlet中获得当前应用的相对路径和绝对路径1.1 JSP中获得当前应用的相对路径和绝对路径 根目录所对应的绝对路径:request.getRequestURI() 文件的绝对路径 :application.getRealPath(request.getRequestURI()); 当前web应用的绝对路径 :application.getRealPath...原创 2010-11-26 16:21:24 · 68 阅读 · 0 评论 -
Java注释(Annotation)详解
注释:在一个类中可以有多个,类似于一个类可以有多个实例; 注释类型:是注释使用的结构,类似于类,仅有一个版本,因此多个注释可能使用相同的注释类型 jdk默认的三个注释: 1.Override注释:仅用于方法(不可用于类、包的生命或其他),指明注释的方法将覆盖超类中的方法(如果覆盖父类的方法而没有注释就无法编译该类),注释还能确保注释父类方法的拼写是正确(错误的编写,编译...原创 2011-03-31 18:22:21 · 198 阅读 · 0 评论 -
JAVA缓存 - Cache类
JAVA缓存有两种: 一、文件缓存,是指把数据存储在磁盘上,可以XML格式,也可以序列化文件DAT格式还是其它文件格式。 二、内存缓存,也就是实现一个类中静态Map,对这个Map进行常规的增删查。其代码如下: JAVA缓存 - Cache类 public class Cache ...原创 2011-09-28 11:04:49 · 231 阅读 · 0 评论 -
Java去除字符串中的空格、回车、换行符、制表符
本方法采用的是java的正则表达式 import java.util.regex.Matcher; import java.util.regex.Pattern; public class StringUtil { public static void replaceBlank() { Pattern p = Pattern.compile("\\s*|\t|\...原创 2011-02-15 11:06:37 · 542 阅读 · 0 评论 -
线程池编程
线程池编程原创 2011-01-23 21:02:18 · 64 阅读 · 0 评论 -
设计模式:Java语言中的应用
设计模式:Java语言中的应用原创 2011-01-23 20:59:32 · 138 阅读 · 0 评论 -
java用了中间缓存变量
Java语法、语言特性与机制 2011-01-22 19:11:11 阅读0 评论0 字号:大中小 订阅 请问以下程序会输出什么? public class Test2 { public static void main(String[] args) { int j = 0; for (int i = 0; i < 100; i++) { ...原创 2011-01-23 18:37:52 · 111 阅读 · 0 评论 -
Java集合总结
Set:不区分元素的顺序,不允许出现重复的值list:区分元素的顺序,且允许出现重复的值map:采用key——values的,不允许有重复的键,每个键最多对应一个值java集合只能保存引用类型的数据,是对象的引用Collection接口描述set和list集合类型的根接口相关方法: add()如果增加重复元素,则增加失败,返回false contains...原创 2011-01-19 11:16:33 · 65 阅读 · 0 评论 -
java.util.current的主要方法简介
JDK5中增加了Doug Lea的并发库,这一引进给java线程的管理和使用提供了强大的便利性。 java.util.current包中提供了对线程优化、管理的各项操作,使得线程的使用变得的心应手。该包提供了线程的运行,线程池的创建,线程生命周期的控制,线程间的协作等功能。一、核心API介绍1、 Executor接口public void execute(Runnable runnable);该接...原创 2011-01-08 22:18:42 · 155 阅读 · 0 评论 -
线程池
对每个客户都分配一个新的工作线程。当工作线程与客户通信结束,这个线程就被销毁。这种实现方式有以下不足之处。◆服务器创建和销毁工作线程的开销(包括所花费的时间和系统资源)很大。如果服务器需要与许多客户通信,并且与每个客户的通信时间都很短,那么有可能服务器为客户创建新线程的开销比实际与客户通信的开销还要大。◆除了创建和销毁线程的开销之外,活动的线程也消耗系统资源。每个线程本身都会占用一定的内存...原创 2011-01-08 21:03:49 · 76 阅读 · 0 评论 -
Java获取上传图片的尺寸
BufferedImage sourceImg = javax.imageio.ImageIO.read(is); 得到BufferedImage对象,其中的is是InputStream,用来接收图片数据的流。 取图像宽:sourceImg.getWidth() 取图像高:sourceImg.getHeight() ...原创 2010-06-23 21:33:07 · 299 阅读 · 0 评论 -
SimpleDateFormat
With SimpleDateFormat, you can set your own date patterns. For example, dd/mm/yyyy, mm/dd/yyyy, yyyy-mm-dd, and so on.The following pattern letters are defined (all other charact...原创 2010-12-10 16:11:57 · 80 阅读 · 0 评论 -
使用 XStream 在 JavaBean 与 XML/JSON 之间相互转换
XML 和 JSON 是当今常用的两种数据描述与传输的格式,特别是涉及到 JS 时使用 JSON 颇为频繁。自然,在 Java 的世界里少不了完成 JavaBean 与这两种格式相互转换的组件,那就是 XStream 和 JSON-lib。这里我简单记下 XStream 的用法。其实相类似的工具早已有之。如果用过 DWR 的同志,一定有印像,DWR 进行远程方法调用时也能为你完成 ...原创 2010-12-10 14:24:47 · 103 阅读 · 0 评论 -
Linux上JDK的 安装和卸载 详细 (转)
安装 1. 去http://java.sun.com/j2se/1.4.2/download.html 下载一个Linux Platform的JDK,建议下载RPM自解压格式的(RPM in self-extracting file,j2sdk-1_4_2_06-linux-i586-rpm.bin);2. 上载到Linux服务器上,在shell下执行命令:<scr...原创 2010-11-27 15:48:37 · 91 阅读 · 0 评论 -
Design Pattern: Composite 模式
Composite模式定义:将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性.Composite比较容易理解,想到Composite就应该想到树形结构图。组合体内这些对象都有共同接口,当组合体一个对象的方法被调用执行时,Composite将遍历(Iterator)整个树形结构,寻找同样包含这个方法的对象并实现调用执行。可以用牵一动百来形...原创 2010-11-10 22:30:55 · 87 阅读 · 0 评论 -
clone
Object obj = new Object(); ObjectOutputStream out = new ObjectOutputStream(byteOut); out.writeObject(obj); ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByte...原创 2010-05-14 18:06:53 · 62 阅读 · 0 评论 -
java并发编程不得不知道的几件事
多线程编程从来都是一件比较困难的事情,调试多线程程序也相当困难,这种困难来自于线程对共享资源操作的复杂性 ( 包括对于资源操作的线程间的先后顺序 ) 。对于 Java 来说,它封装了底层硬件和操作系统之间很多的细节,对于线程之间的调度底层细节我们大多数时候不用关心,然而真正编写 java 多线程程序时有一些东西我们却是不得不知道的。 在 java 中, 1、 多个线程之间数据交换是...原创 2010-11-04 21:13:03 · 62 阅读 · 0 评论 -
java语言实现一个方法返回两个变量 源代码
public class ObjectTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Object a[]=getObject(); S s=(S)a[0]; System.out.print...原创 2010-10-14 16:32:34 · 247 阅读 · 0 评论 -
java 中的堆和栈
简单的说:java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对象和数组。 在堆中分配的内存,由java...原创 2010-10-14 16:24:12 · 76 阅读 · 0 评论 -
用 java 将文件的编码从GBK 转换成 UTF8收藏
private static void transferFile(String srcFileName, String destFileName) throws IOException { String line_separator = System.getProperty("line.separator"); FileInputStream fis = new FileInpu...原创 2010-10-14 16:16:33 · 96 阅读 · 0 评论 -
对List顺序,逆序,随机排列实例代码
ackage Test;import java.util.Collections;import java.util.LinkedList;import java.util.List;public class Teeee ...{ List list = new LinkedList(); public ...原创 2010-10-14 15:57:20 · 172 阅读 · 0 评论 -
深入研究java.lang.Process类
前言:Java 的类库日益庞大,所包含的类和接口也不计其数。但其中有一些非常重要的类和接口,是Java类库中的核心部分。常见的有String、Object、 Class、Collection、ClassLoader、Runtime、Process...,熟悉这些类是学好Java的基础。而这些类一般不容 易理解,需要做深入的研究和实践才能掌握。下面是我对这些类理解...原创 2010-10-14 15:55:11 · 87 阅读 · 0 评论 -
JAVA调用系统命令或可执行程序
通过 java.lang.Runtime 类可以方便的调用操作系统命令,或者一个可执行程序,下面的小例子我在windows和linux分别测试过,都通过。基本原理是,首先通过 Runtime.getRuntime() 返回与当前 Java 应用程序相关的运行时对象,然后调用run.exec(cmd) 另启一个进程来执行命令(cmd为要执行的命令)。 一、运行一个可执行程序...原创 2010-10-14 15:46:12 · 88 阅读 · 0 评论 -
Patterns In Java
PatternsInJava.pdf原创 2010-09-27 14:14:22 · 138 阅读 · 0 评论