from:JR
1. jar文件包
jar 文件就是 Java Archive File,顾名思意,它的应用是与 Java息息相关的,是 Java 的一种文档格式。jar文件非常类似 zip文件??准确的说,它就是 zip文件,所以叫它文件包。jar文件与 zip文件唯一的区别就是在 jar 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 jar文件的时候自动创建的。举个例子我们聊天系统的 ChatServer.jar所包含的目录结果如下:
|---com
| ---softfz
| ---chat
| ---Server.class
|-- ...
0.引言
在ChinaITLAB导师制辅导中,笔者发现问得最多的问题莫过于"如何学习编程?JAVA该如何学习?"。类似的问题回答多了,难免会感觉厌烦,就萌生了写下本文的想法。到时候再有人问起类似的问题,我可以告诉他(她),请你去看看《JAVA学习之路》。拜读过台湾蔡学镛先生的《JAVA夜未眠》,有些文章如《JAVA学习之道》等让我们确实有共鸣,本文题目也由此而来。
软件开发之路是充满荆棘与挑战之路,也是充满希望之路。JAVA学习也是如此,没有捷径可走。梦想像《天龙八部》中虚竹一样被无崖子醍醐灌顶而轻松获得一甲子功力,是很不现实的。每天仰天大叫"天神啊,请赐给我一本葵花宝典吧",殊不 ...
serialVersionUID 用来表明类的不同版本间的兼容性。如果你修改了此类, 要修改此值。否则以前用老版本的类序列化的类恢复时会出错。
在JDK中,可以利用JDK的bin目录下的serialver.exe工具产生这个serialVersionUID,对于Test.class,执行命令:serialver Test。
为了在反序列化时,确保类版本的兼容性,最好在每个要序列化的类中加入private static final long serialVersionUID这个属性,具体数值自己定义。这样,即使某个类在与之对应的对象已经序列化出去后做了修改,该对象依然可以被正确反 ...
参考地址:http://java.sun.com/webservices/docs/1.6/api/javax/servlet/http/HttpServlet.html
Serlvet接口只定义了一个服务方法就是service,而HttpServlet类实现了该方法并且要求调用下列的方法之一:
doGet:处理GET请求
doPost:处理POST请求
doPut:处理PUT请求
doDelete:处理DELETE请求
doHead:处理HEAD请求
doOptions:处理OPTIONS请求
doTrace:处理TRACE请求
通常情况下,在开发基于HTTP的servlet时,开发者只需 ...
一、static
请先看下面这段程序:
public class Hello {
public static void main(String[] args) { // (1)
System.out.println("Hello,world!"); // (2)
}
}
看过这段程序,对于大多数学过Java 的从来说,都不陌生。即使没有学过Java,而学过其它的高级语言,例如C,那你也应该能看懂这段代码的意思。它只是简单的输出“Hello,world”,一点别的用处都没有,然而,它却展示了static关键字的主要用法。
在1处,我们定义了一个静态的方法名为main, ...
二、this & super
在上一篇拙作中,我们讨论了static的种种用法,通过用static来定义方法或成员,为我们编程提供了某种便利,从某种程度上可以说它类似于C语言中的全局函数和全局变量。但是,并不是说有了这种便利,你便可以随处使用,如果那样的话,你便需要认真考虑一下自己是否在用面向对象的思想编程,自己的程序是否是面向对象的。好了,现在开始讨论this&super这两个关键字的意义和用法。
在Java中,this指向一个当前实例.super指向当前实例中所包含的父类的实例。当你想要引用当前对象的某种东西,比如当前对象的某个方法,或当前对象的某个成员,你便可以利用this来 ...
三、final
final在Java中并不常用,然而它却为我们提供了诸如在C语言中定义常量的功能,不仅如此,final还可以让你控制你的成员、方法或者是一个类是否可被覆写或继承等功能,这些特点使final在Java中拥有了一个不可或缺的地位,也是学习Java时必须要知道和掌握的关键字之一。
final成员
当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变。其初始化可以在两个地方,一是其定义处,也就是说在final变量定义时直接给其赋值,二是在构造函数中。这两 ...
CallableStatement stmt = null;
conn = DBManager.getConnection();
stmt = conn.prepareCall("{call SP_WJDSCX_GET_WSBMX(?,to_date(?,'yyyy/mm/dd'),?,?)}");
stmt.setString(1, id_jg + "%");
stmt.setString(2, sssq);
stmt.registerOutParameter(3,OracleTypes.CURSOR);
stmt.registerO ...
IoC,翻译成中文有人叫控制反转,听起来很别别扭,其实就是依赖关系的转移,通过XML配置文件由容器来管理类,而不是在类中直接生成Bean的实例。
下面通过一个Hello World的实例来了解一下最基础的IoC
首先MyEclipse5.5新建一个Java工程,工程名上单击右键添加Spring容器能力。
我们先编写一个HelloWorld类
qiudawei115.base.HelloWorld.java
package qiudawei115.base;
public class HelloWorld {
String message;
publi ...
POJO = pure old java object or plain ordinary java object or what ever.
PO = persisent object 持久对象
就是说在一些Object/Relation Mapping工具中,能够做到维护数据库表记录的persisent object完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。全都是这样子的:
代码
public class User {
private long id;
private String name;
public void s ...
这是Spring中得有特点的一部份。IoC又被翻译成“控制反转”,也不知道是谁翻译得这么别扭,感觉很深奥的词。其实,原理很简单,用一句通俗的话来说:就是用XML来定义生成的对象。IoC其实是一种设计模式,Spring只是实现了这种设计模式。
这种设计模式是怎么来的呢?是实践中逐渐形成的。
第一阶段:用普通的无模式来写Java程序。一般初学者都要经过这个阶段。
第二阶段:频繁的开始使用接口,这时,接口一般都会伴随着使用工厂模式。
第三阶段:使用IoC模式。工厂模式还不够好:(1)因为的类的生成代码写死在程序里,如果你要换一个子类,就要修改工厂方法。(2)一个接口常常意味着一个生成工厂,会多出 ...
相信很多人都用过oracle,不避讳的说我是刚刚接触。因为给一个公司作CRM,接触到了久违的oracle,虽然只是8i版本。虽然它功能很强大,但是安装起来着实要花费一番力气,这让我感觉很不爽!
在本机上安装时一切顺利,但在服务器上安装时,出现了很多错误,最主要的一个就是tns监听服务启动不起来!下面我把我安装汇总出现的问题和解决方法总结如下:
1、安装过程中需要输入“全局数据库名”和“SID”,其中“全局数据库名”是以“数据库名.域名”的形式,数据库名是自己定的最好不要超过8个字母;域名一般就是公司的域名就好了。sid会自动生成的,一般不要更改。
2、安装完成后,会自动配置3个服务,我安 ...
(转帖自http://blog.163.com/sjlksoft@126/blog/static/4001823120082121035627/,版权归原发帖人所有)
在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-Log4j。 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIXSyslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志 ...
常用log4j配置,一般可以采用两种方式,.properties和.xml,下面举两个简单的例子:一、log4j.properties### 设置org.zblog域对应的级别INFO,DEBUG,WARN,ERROR和输出地A1,A2 ##log4j.category.org.zblog=ERROR,A1log4j.category.org.zblog=INFO,A2log4j.appender.A1=org.apache.log4j.ConsoleAppender### 设置输出地A1,为ConsoleAppender(控制台) ##log4j.ap ...
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
Java反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。
1. 得到某个对象的属性
1 public Object getProperty(Object owner, StringfieldName) throws Exception {
...
网站: JavaEye 作者:yate 链接:http://yate.javaeye.com/blog/189063 发表时间: 2008年05月03日声明:本文系JavaEye网站发布的原创博客文章,未经作者书面许可,严禁任何网站转载本文,否则必将追究法律责任! 可以说代理是java十分重要的一种机制,另一个当然是属于反射了,jdk中单独讲到了反射API(java.lang.reflect),可能有人认为反射对资源消耗比较厉害,确实也是,反射肯定是要消耗资源的,但也不是什么都要用到反射,所以最佳试验应该是在资源消耗程度和反射的使用程度之间找到一个平衡点,本文并 ...
原文:http://www.blogjava.net/stone2083/archive/2008/03/16/186615.html
CGlib概述:
cglib(Code Generation Library)是一个强大的,高性能,高质量的Code生成类库。它可以在运行期扩展Java类与实现Java接口。
cglib封装了asm,可以在运行期动态生成新的class。
cglib用于AOP,jdk中的proxy必须基于接口,cglib却没有这个限制。
CGlib应用:
以一个实例在简单介绍下cglib的应用。
我们模拟一个虚拟的场景,关于信息的管理。
1)原始需求是任何人可以 ...
CGLib与java标准库提供的实现方案不同,cglib主要是基于实现类(如StudentInfoServiceImpl.java)扩展一个子类 来实现。与Dynamic Proxy中的Proxy和InvocationHandler相对应,net.sf.cglib.proxy.Enhancer和 MethodInterceptor在CGLib中负责完成代理对象创建和方法截获处理,产生的是目标类的子类而不是通过接口来实现方法拦截的, Enhancer主要是用于构造动态代理子类来实现拦截,MethodInterceptor(扩展了Callback接口)主要用于实现around advice(AOP ...
POJO = pure old java object or plain ordinary java object or what ever. PO = persisent object 持久对象 就是说在一些Object/Relation Mapping工具中,能够做到维护数据库表记录的persisent object完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。全都是这样子的: [code:1]public class User { private long id; private String name; public void setId(long id ...
- 浏览: 3458 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
我的相册
11
共 1 张
共 1 张
最近加入圈子
最新评论
-
oracle安装记
谢谢楼主的总结
-- by shandian534 -
05-11 (转)CGlib简单介绍
如果我是用配置文件的方法呢,我想对一个类中的某些方法拦截,
-- by 燕子~~ -
05-11 (转)CGlib简单介绍
似乎这下面代码有问题啊,,我在编写这句时,总是报错enhancer.setCal ...
-- by 燕子~~






评论排行榜