- 博客(23)
- 资源 (8)
- 收藏
- 关注
原创 从源代码解读spring IOC容器
spring IOC容器(Inversion of Control container)做项目的时候经常要用到,但是好像感觉不到它的存在,因为代码里面很少用到spring,主要是写配置。但是我不得不说:spring做的确实很巧妙,这种和代码的松耦合很大的提高了代码的灵活性和可扩展性。最近手头的开发任务比较少,于是抽空看了看spring1.2.9的源代码,现在把心得贴出来和网友共享,欢迎大家批评指正
2010-02-25 14:45:00
1209
原创 java中的内存分配机制
Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对象和数组。 在堆中分配的
2010-02-25 11:19:00
699
原创 java解析xml文件
用Java解析XML文档,最常用的有两种方法:使用基于事件的XML简单API (Simple API for XML)称为SAX和基于树和节点的文档对象模型(Document Object Module)称为DOM。Sun公司提供了Java API for XML Parsing(JAXP)接口来使用SAX和DOM,通过JAXP,我们可以使用任何与JAXP兼容的XML解析器。 JAXP接口
2009-08-23 21:47:00
525
原创 Java动态代理实现
在目前的Java开发包中包含了对动态代理的支持,但是其实现只支持对接口的的实现。其实现主要通过是java.lang.reflect.Proxy类和java.lang.reflect.InvocationHandler接口。Proxy类主要用来获取动态代理对象,InvocationHandler接口用来约束调用者实现,如下,HelloWorld接口定义的业务方法,HelloWorldImpl
2009-08-23 09:50:00
468
原创 sql面试题(1)
Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题: 1、查询“001”课程比“002”课程成绩高的所有学生的学号; select a.S# from (select s#,score from SC wh
2009-08-22 17:59:00
537
原创 java内部类的作用
一、 定义放在一个类的内部的类我们就叫内部类。二、 作用1.内部类可以很好的实现隐藏 一般的非内部类,是不允许有 private 与protected权限的,但内部类可以2.内部类拥有外围类的所有元素的访问权限3.可是实现多重继承4.可以避免修改接口而实现同一个类中两种同名方法的调用。三、 例子1.实现隐藏 平时我们对类的访问权限,都是通过类前面的访问修饰符来限制的,一般的非内部类,是不
2009-08-21 07:53:00
652
原创 Struts,Hibernate,Spring经典面试题收藏
Hibernate工作原理及为什么要用?原理:1.读取并解析配置文件2.读取并解析映射信息,创建SessionFactory3.打开Sesssion4.创建事务Transation5.持久化操作6.提交事务7.关闭Session8.关闭SesstionFactory为什么要用:1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。2. Hibernate是一个基于JDBC
2009-08-14 16:38:00
697
原创 Java中堆与栈的区别
栈与堆都是Java用来在RAM中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 Java的堆是一个运行时数据区,类的对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在
2009-08-14 11:24:00
424
原创 java内存分析、泄露、代码怎么更健壮
一、内存溢出类型1、java.lang.OutOfMemoryError: PermGen space JVM管理两种类型的内存,堆和非堆。堆是给开发人员用的上面说的就是,是在JVM启动时创建;非堆是留给JVM自己用的,用来存放类的信息的。它和堆不同,运行期内GC不会释放空间。如果web app用了大量的第三方jar或者应用有太多的class文件而恰好MaxPermSize设置较小,超出了
2009-08-13 09:01:00
788
原创 在UltraEdit (UEStudio)使用技巧及其中的正则表达式
Tip 1: 如何去掉所编辑文本中包含特定字符串的行? 这则技巧是在UltraEdit的帮助文件里提到.CTRL+R 调出来替换(Replace)窗口,选中"使用正则表达式";然后用查找 %*你的字符串*^p 替换成空内容即可.如,我当前有个文本文件,需要去掉所有包含 http://www.dbanotes.net/ 这个字符串的行,查找 %*http://www.dbanotes.net/*^p
2009-07-31 11:36:00
2437
原创 Java 反射机制初探(二)--仿ioc实现
IOC(Inversion of Control),即控制反转,它使你不需要再自己来实现对象的创建,而是把这些工作都交由容器来进行管理,增加了代码的可重用性。该段代码通过读取config.xml(代码片段3),获得需要创建对象的类的全名,通过反射机制实例化对象,并将xml文件里面的参数通过set方法传递到 返回的对象里面,简单实现了 ioc 的原理。代码片段1:BeanFactory
2009-07-29 14:26:00
702
原创 Java 反射机制初探(一)--仿hibernate持久化实现
Java 反射机制使用反射机制 基础:用例子作为说明,相信很好理解。package com.ghrt.programmer;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;/*** author : zhangyinlong
2009-07-29 14:23:00
1195
原创 java对象拷贝(java反射)
package cn.com.reflection; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class ReflectTest
2009-07-28 14:24:00
943
原创 查询重复记录
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,
2009-07-28 11:11:00
420
原创 操作数据库总结1
package com.qhit.db;import java.io.IOException;import java.sql.SQLException;/** * 得到数据库连接的类 */public class DbConn { private static String user; private static String password; private static Strin
2009-07-28 10:40:00
425
原创 操作数据库总结2
package com.qhit.db;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import org.apache.commons.beanutils.BeanUtils;import com.qhit.UseExceptio
2009-07-28 10:33:00
565
原创 利用java操作Excel文件
很久以来都想研究一下利用java操作Excel的方法,今天没事,就稍微了解了一下,特总结一下。利用java操作Excel,有个开源的东东-jxl.jar,可以到http://sourceforge.net/project/showfiles.php?group_id=79926下载。一.读取Excel文件内容 /** *//**读取Excel文件的内容 * @para
2009-07-21 13:27:00
429
转载 对commons fileupload组件的简单封装
在上一篇文章《利用Jakarta commons fileupload组件实现多文件上传》中,我介绍了commons fileupload组件的基本原理和实现方法。但是在实际操作中,我们需要分析每个FileItem,然后从该FileItem中读取该控件的name和value,显然这不符合我们的习惯。比如我们在页面上有个text文本框: input type="text" name="p
2009-07-21 13:23:00
584
原创 使用iText操作pdf文件
前段时间写过一篇文章《java读取pdf文件的内容》,pig0045给我回复,说可以直接利用iText搞定,我很感激,因为以前处理pdf文件并不多,对这块相关组件并不了解,pig0045给我介绍了一个新的方法,谢谢!欣喜之余,马上google了一把iText,发现iText在生成pdf文件方面功能很强大,而在读取pdf文件内容方面似乎涉及并不多(也许是我没查到,有不同观点的朋友,大家探讨一下阿)
2009-07-21 13:21:00
641
转载 使用Ant发布web应用到tomcat
今天在公司用ant写了个部署web应用的脚本,闲来无事,就稍微总结一下,以供以后参照使用,也希望作为一个demo, 能对大家有启迪的作用,如果真的如此,我也就很是欣慰了。 好了,言归正传,下面就开始记流水账吧。一.Ant简介 Ant是一种基于java的build工具,有些类似于unix系统中的make命令,Ant是Apache软件基金会Jakarta目录
2009-07-21 13:18:00
445
原创 戏说java web开发中的listener和filter
http://blog.youkuaiyun.com/hbcui1984/archive/2008/01/25/2066108.aspx
2009-07-21 13:15:00
375
原创 JAVA中使用FTPClient上传下载
在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件、下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件。一、上传文件 原理就不介绍了,大家直接看代码吧 /** * Description: 向FTP服务器上传文件 * @Version1.0 Jul 27,
2009-07-21 11:33:00
310
aqua Data Studio 8.x 破解补丁
2010-06-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人