J2SE
terryzero
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
疯狂JAVA讲义---第二章:理解面向对象
本章开始时讲了结构化程序设计然后讲了面向对象和基于对象的区别,面向对象有三大特征封装,继承,多态,而基于对象是指不全拥有三大特性。UML的介绍,和软件工程课讲的差不多静态图用例图 用于明确需求,分功能模块类图 主要是要表示类之间的3种关系:关联(组合,聚合),泛化(继承),依赖组件图 用于复用,分包,一般对应jar,war,文件部署图 对于物理结构进行建模动态图原创 2008-12-17 19:55:00 · 1148 阅读 · 0 评论 -
疯狂JAVA讲义---第五章(中)面向对象
接着上次讲面向对象,这次先讲隐藏和封装,看了李刚的这本书我才知道,原来访问控制符共分四个级别,我一直以为先c+样只有private,protected,public原来还有default这种基于private和protected之间,和private的区别就是default支持同一个包间的访问。看到default大家不要以为是什么关键字,其实就是private,protected,public一个原创 2008-12-23 22:43:00 · 1597 阅读 · 0 评论 -
面向对象的重要概念
由于前几个讲了面向对象的概念,这里插播几条以前总结的重要概念。重载(overloading)1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数原创 2008-12-24 13:06:00 · 1295 阅读 · 0 评论 -
疯狂JAVA讲义---第三章(下):运算符
第三章 后半部分主要讲了运算符,java在这方面和C和C++差不多。对于复杂的运算java提供了Math类。下面看点Math的常用方法:public class TestMath{ public static void main(String[] args) { //定义变量a为3.2 double a = 3.2;原创 2008-12-19 22:57:00 · 1876 阅读 · 3 评论 -
疯狂JAVA讲义---第五章(上):面向对象
第五章 面向对象(上) 这章前部分讲了面向对象的基础,过于基础了,由于我学过别的面向对象语言c++,C#等也就没难度了,对于没学过的,还是要自己搞搞脑子的,光看懂也没用,要自己多尝试用面向对象的思想来思考问题。书上讲了一个例子我们平时不注意的,先看代码public class Dog{ //定义一个jump方法 public vo原创 2008-12-22 20:13:00 · 1828 阅读 · 4 评论 -
疯狂JAVA讲义---第四章(下):数组
第四章的联系基本都是书中例子的加强,由于比较多我就用其作为一天的blog。不知不觉我已经写blog写了半个多月,加油~~~~呵呵1.实现substring的方法,但要求按字节截取,而不是String的substring按字符截取。public class SubString { public static String getSubString(String str, int原创 2008-12-21 20:00:00 · 1792 阅读 · 5 评论 -
疯狂JAVA讲义---第四章(上):流程控制和数组
第四章 流程控制和数组这一章网上有试读,大家可以去下载了看,也可以看我以下的总结。顺序结构:这个没什么好说的,是门编程语言就有。分支结构:也就是if...else,太简单,就是写条件语句有个原则:一定要先处理包括范围更小的情况。eg,你要先判断你是男人,再判断你是人,不然就永远到不了你是男人这个条件。然后就是switch语句后面的表达式类型只能是byte,short,char和原创 2008-12-20 21:41:00 · 1243 阅读 · 0 评论 -
JAVA实现文件树
你想你的Swing程序拥有像资源管理器一样的树吗?还要Lazy loading的吗?那就看看我下面实现的文件树代码public class ExplorerTree extends JPanel { private JTree tree; private TreePath treePath; public ExplorerTree() {原创 2009-03-06 23:40:00 · 4306 阅读 · 1 评论 -
疯狂JAVA讲义---第三章(上):数据类型和运算符
第三章 数据类型和运算符本章上手讲注释和javadoc是比较空虚了点,但你知道包的描述在生成doc前怎么加入吗?我研究了一把,原来我们使用Javadoc生成API文档时,如果要在包的摘要文件(package-summary.html)中添加自定义内容,我们必须在该包下包含一个package.html文件,在该文件中包含你要描述包的信息,这个文件是用html描述的。Javadoc在进行处理时,会原创 2008-12-18 22:23:00 · 1428 阅读 · 1 评论 -
疯狂JAVA讲义---第五章(下):面向对象
这章最后主要讲了复用:继承复用和组合复用,分别举了个例子来说明:继承:egclass Animal{ private void beat() { System.out.println("心脏跳动..."); } public void breath() { beat(); Sys原创 2008-12-25 22:39:00 · 1433 阅读 · 0 评论 -
JNI简介及实例
JNI是Java Native Interface的缩写,它的设计目的是: The standard Java class library may not support the platform-dependent features needed by your application. You may already have a library or application wr原创 2009-03-02 22:51:00 · 803 阅读 · 0 评论 -
疯狂JAVA讲义---第一章:Java概述
最近,看了李刚老师出的《疯狂java讲义》的第4,17章的试读,虽然学习java有1年多了,但这书似乎触到我的软肋,让我知道了自己的不足。但这本书的网上很多人评价都是网上收集资料拼拼凑凑的,我认为有人能帮我们拼凑已经不错了,自己网上看的有错有对,考证需要时间。于是买了本,拿到书的第一感觉超厚,超大~~~~~值~~~~但一张红皮没了~~~~~~额!好东西不敢一个人独享,我就讲下我每章的读后感吧。原创 2008-12-16 22:36:00 · 2228 阅读 · 6 评论 -
JAVA精简---连接字符串
Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序。然而各 个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。下面罗列了各种数据库使用JDBC连接的方式,可以作为一个备忘手册使用。 1、Oracle8/8i/9i数据库(thin模式)原创 2008-12-15 22:44:00 · 1115 阅读 · 0 评论 -
Java虚拟机(JVM)参数配置说明
在Java、J2EE大型应用中,JVM非标准参数的配置直接关系到整个系统的性能。JVM非标准参数指的是JVM底层的一些配置参数,这些参数在一般开发中默认即可,不需要任何配置。但是在生产环境中,为了提高性能,往往需要调整这些参数,以求系统达到最佳新能。另外这些参数的配置也是影响系统稳定性的一个重要因素,相信大多数Java开发人员都见过“OutOfMemory”类型的错误。呵呵,这其中很可能就转载 2009-02-24 22:53:00 · 1013 阅读 · 0 评论 -
通过ClassLoader实现容器热部署
在J2EE的项目中,容器给我们提供的热部署功能使得我们不用重启动容器而修改我们的代码。比如使用Weblogic,我们可以在Weblogic-application.xml中配置是否支持热部署Servlet。查阅Weblogc 文档,其实在Weblogic中,EJB组件也是可以热部署的,但如何要热部署EJB组件,Weblogc要求必须自定义ClassLoder。 JVM规范中没有指定JVM支原创 2009-02-21 21:44:00 · 1802 阅读 · 0 评论 -
JAVA 的XML编程SAX解析
SAX主要是以串行和层次的方式进行解析,如下是一个很简单的解析例子:1、选择一个要解析的xml文档 <book xmlns="http://www.oreilly.com/javaxml2" xmlns:ora="http://www.oreilly.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schem原创 2009-02-18 22:35:00 · 1204 阅读 · 0 评论 -
JAVA精简---数据类型
数据类型:布尔型;字符型;数值型(整型,浮点型)。变量类型:布尔型boolean;字符型char;整型byte、short、int、long;浮点型float、double。简单数据类型之间的转换:低级到高级分别为(byte,short,char)--int--long--float--double。注:short 占用16bit,即2个字节的存储空间,取值范围原创 2008-12-07 17:26:00 · 898 阅读 · 0 评论 -
JAVA 的XML编程DOM解析
XML作为全球通用的结构化语言,越来越受人们青睐,各种开发平台(比如Microsoft Studio系列、Oracle系列、Inprise Borland系列等)也都把支持XML开发作为宣传口号之一。在许多项目中利用XML数据交换信息,省去了许多麻烦事,不用制定繁锁的数据格式,利用XML数据易于表达,也利于一线开发者跟踪调试。在XML应用中,最常用也最实用的莫过于XML文件的读写,所以笔者通过一个原创 2009-02-16 21:07:00 · 1213 阅读 · 0 评论 -
疯狂JAVA讲义---第六章(上):面向对象二
面向对象是java的重点,所以也是这本书的重点。这章延续上章,我粗略数了下,这两张加起来竟然达到这本书的四分之一。这章刚开始讲了包装类,由于jdk1.5以后引入了自动装箱和拆箱,基本类型和包装类转化就方便了。包装类有很多方法用起来很方便大家要熟悉下,egpublic class Primitive2String{ public static void main(String[原创 2008-12-26 21:36:00 · 1567 阅读 · 0 评论 -
疯狂JAVA讲义---第六章(中):面向对象二
这本书对java的每个知识点分析的比较细,虽说不用知道所有的知识点你也可以写代码,但写代码总是仿照他人的标准格式却不知道为什么。这样会使人觉得写代码是一种负担,还要背出那么多的语法,一旦你掌握了细节,写代码时你会觉得那些语法自然而然的就出来了,不用死记。这章中间讲了抽象类和接口,抽象方法没有方法体,所以不用加花括号,接口的方法也一样,具体作用我在前几天写的blog《面向对象的重要概念》中已经讲原创 2008-12-27 19:08:00 · 1288 阅读 · 0 评论 -
疯狂JAVA讲义---第六章(下):面向对象二
面向对象这章的最后给我们讲了枚举类,这个又让我想起了用c++的感觉。java中我还从来没用过,看了这书我才知道枚举类的方便。先看个不用枚举类实现枚举的例子,egpublic class Season{ //把Season类定义成不可变的,将其属性也定义成final private final String name; private final S原创 2008-12-28 15:49:00 · 3712 阅读 · 2 评论 -
自己实现事件监听
1.何时需要使用事件监听? 但凡大的项目,各模块都是由不同的程序员开发,但是各模块之间需要进行通讯,用来保证项目的整体性,那么我们可以使用事件监听器来做通讯工具,用来告诉各模块自己模块的一些事件。如: 当用户被删除或者添加的时候,请通知我,我需要要做一些相关的处理事情(如删除用户和组的对应关系)。 2.创建自己的事件监听器? 2.1 添加事件源 事件源就是你需要监听的对象(类似于swing里的bu原创 2009-04-13 23:43:00 · 971 阅读 · 0 评论 -
探讨JAR文件无限可能性
所有Java开发者都知道JAR文件只是包含Java类树的压缩(ZIP)文件。但是,不是人人(包括一些经验丰富的开发者)了解这种文件格式的其它优点。在本文中,我将简单介绍JAR文件格式,并说明利用它可以实现的各种可能性。JAR文件简介JAR文件以流行的二进制ZIP文件格式为基础,用以把许多文件合并成一个文件。它还包含一个名为META-INF的可选目录,这个目录位于文件根目录下。有两种方法转载 2009-07-27 21:13:00 · 1025 阅读 · 0 评论 -
Java转码工具native2ascii
背景:在做Java开发的时候,常常会出现一些乱码,或者无法正确识别或读取的文件,比如常见的validator验证用的消息资源(properties)文件就需要进行Unicode重新编码。原因是java默认的编码方式为Unicode,而我们的计算机系统编码常常是GBK等编码。需要将系统的编码转换为java正确识别的编码问题就解决了。1、native2ascii简介:native2ascii是su转载 2009-06-04 15:20:00 · 2285 阅读 · 0 评论 -
深入理解JAVA事件机制
java中的事件机制的参与者有3种角色:1.event object:事件状态对象,用于listener的相应的方法之中,作为参数,一般存在与listerner的方法之中2.event source:具体的事件源,比如说,你点击一个button,那么button就是event source,要想使button对某些事件进行响应,你就需要注册特定的listener。3.event lis原创 2009-08-28 22:39:00 · 2031 阅读 · 2 评论 -
Java打印程序设计
1 前言在我们的实际工作中,经常需要实现打印功能。但由于历史原因,Java提供的打印功能一直都比较弱。实际上最初的jdk根本不支持打印,直到jdk1.1才引入了很轻量的打印支持。所以,在以前用Java/Applet/JSP/Servlet设计的程序中,较复杂的打印都是通过调用ActiveX/OCX控件或者VB/VC程序来实现的,非常麻烦。实际上,SUN公司也一直致力于Java打印功能的完善,而Ja转载 2009-06-23 13:14:00 · 1329 阅读 · 0 评论 -
常用jar包之commons-lang使用
跟java.lang这个包的作用类似,Commons Lang这一组API也是提供一些基础的、通用的操作和处理,如自动生成toString()的结果、自动实现hashCode()和equals()方法、数组操作、枚举、日期和时间的处理等等。 这一组API的所有包名都以org.apache.commons.lang开头,共有如下8个包: org.apache.commons.lan原创 2009-07-02 22:41:00 · 21709 阅读 · 2 评论 -
常用jar包之commons-beanutils使用
Jakarta Commons项目提供了相当丰富的API,我们之前了解到的Commons Lang只是众多API的比较核心的一小部分而已。Commons下面还有相当数量的子项目,用于解决各种各样不同方向的实际问题,BeanUtils就是其中的一个,用于处理JavaBeans。它利用Java的反射机制,从动态的生成对bean的getter和setter的调用代码,到模拟创建一个动态的bean,等等。原创 2009-07-03 20:22:00 · 26872 阅读 · 0 评论 -
常用jar包之commons-collection使用
Commons Collections,又是一个重量级的东西,为Java标准的Collections API提供了相当好的补充。我不知道其他人,就我自己而言,让我用java.util.Collection及其子类,加上java.util.Collections类提供的操作方法,处理一些简单的数据结构问题还可以,稍微复杂一点的就觉得有点头痛,很多细节的地方需要我插入这样那样的小逻辑,或者感觉它太死板原创 2009-07-04 17:09:00 · 12466 阅读 · 0 评论 -
常用jar包之commons-digester使用
digester组件简化了xml文件处理操作,能将xml文件按照事先确定的规则(采用编码形式或xml配置文件形式),映射成java对象。digester组件现在最新版本是2.0,它所依赖的组件是:commons-logging(推荐1.1版本),BeanUtils(推荐1.8版本),还有需要jdk1.5.基本概念1. 在Digester的内部采用SAX来解析XML文件。为了能够正确的使用它,原创 2009-07-08 20:02:00 · 13714 阅读 · 0 评论 -
JAVA实现压缩文件或文件夹
想到压缩一般大家会先想到rar,由于rar的压缩度高,但人家可是收费的。JAVA中如果要实现压缩一般都是用zip压缩。首先,讲下压缩文件import java.io.*;import java.util.zip.*;//ZipOutputStream这个流在这里import java.util.*;public class ZipOutputStreamTest{原创 2010-02-08 22:44:00 · 4481 阅读 · 0 评论 -
JDK里的设计模式
<br /> Structural(结构模式)<br /><br /><br />Adapter:<br />把一个接口或是类变成另外一种。<br />• java.util.Arrays#asList()<br />• javax.swing.JTable(TableModel)<br />• java.io.InputStreamReader(InputStream)<br />• java.io.OutputStreamWriter(OutputStream)<br />• javax.xml.bin转载 2010-12-08 11:11:00 · 992 阅读 · 0 评论 -
Eclipse REST 库使用
很高兴今天成为了优快云的专家,所以再忙也要抽空写一篇博客。最近公司有个需求要在RCP应用中用树状结构显示层级关系。我找了半天的开源框架,最后发现Eclipse REST最符合现在的需求。REST是专门用来显示图状效果的,废话少说了上效果,上代码。原创 2011-07-07 17:59:01 · 2692 阅读 · 1 评论 -
疯狂JAVA讲义---第十二章:Swing编程(二)特殊容器
Swing还提供我们许多特殊容器方便我们编程,JSplitPane(分割面板),JTabbedPane(多选项卡),JLayeredPane(层容器,允许组件互相重叠),最后讲两个复杂的容器JDesktopPane和JInternalFrame这些多是为了实现MDI(多文档界面),这些容器不是三言两语能说清楚的,所以我将以举例的方式(其中多是书中的例子,举的都不错,自己一个一个写可吃不消),如还有原创 2009-01-13 20:52:00 · 4430 阅读 · 1 评论 -
疯狂JAVA讲义---第七章(中):集合List,Queue
List是我们所有集合中最多的,也可以说太好用了。相比set他提供了索引,我们可以通过索引得到元素,元素可以重复。使用时要记住set方法不能改变List长度,而romove时会将后面的元素提上来,egpublic class TestList{ public static void main(String[] args) { List boo原创 2008-12-30 23:18:00 · 1717 阅读 · 0 评论 -
疯狂JAVA讲义---第七章(下):集合Map
Map用于保存具有映射关系的数据。Map的子类非常的相似HashMap,LinkedHashMap,SortedMap,TreeMap,EnumMap,只是后缀的不同。很多人都说Hashtable是线程安全的,HashMap是线程不安全的,这是没错。但Hashtable是个古老的东西,连命名都不规则。现在可以利用Collections工具类来弥补HashMap的线程问题,所以尽量少用,我就原创 2008-12-31 22:08:00 · 1230 阅读 · 0 评论 -
Effective Java精简
(修订版,继续加强中)1. 创建和销毁对象 1) 考虑用静态工厂方法代替构造函数 对于一个类,获得它的实例最常用的方法是提供一个共有的构造函数。但是有时候我们也可以为这个类提供一个简单的静态工厂方法(static factory method)。 静态工厂方法可以比构造方法更为清楚的表达要创建的类的意义,它每次被调用的时候,不要求非要创建一个新的对象,它还可以返回一个原返回类型的子原创 2009-01-01 13:29:00 · 992 阅读 · 0 评论 -
疯狂JAVA讲义---第八章:泛型
泛型主要用在上一章的集合上的,为了能在编译时就发现错误。为了大家的理解,先举个反例,(这个例子将发生ClassCastException,不要再评论说这个例子为什么错)public class ListErr{ public static void main(String[] args) { //创建一个只想保存字符串的List集合原创 2009-01-02 21:53:00 · 1346 阅读 · 4 评论 -
疯狂JAVA讲义---第九章(上):与运行环境交互
本章主要介绍下用户与机器交互的常用方法和一些常用类,还有些正则表达式和国际化的介绍。首先介绍下运行java程序的参数,egpublic class TestArgs{ public static void main(String[] args) { System.out.println(args.length); for (原创 2009-01-03 22:28:00 · 1252 阅读 · 0 评论 -
疯狂JAVA讲义---第九章(下):国际化
国际化也称I18N,即InternationalizatioN,中间18个字母。Java对国际化的支持的非常好,提供了3个类分别是ResourceBundle(用于加载语言包),Locale(用于封装特定国家语言环境),MessageFormat(用于格式化带占位符的字符串)。下面举个例子来说明,eg(未国际化)public class RawHello{ public原创 2009-01-06 20:25:00 · 1407 阅读 · 1 评论
分享