- 博客(19)
- 资源 (4)
- 收藏
- 关注
原创 The Difference of Class.forName()、Class.forName().newInstance() and New in Java
在一次偶然的跟同行交流的过程中,突然被问及Class.forName()、Class.forName().newInstance() 、New的区别,一时懵了, 竟然在java开发中最常见的一些东西竟说不清道不明的感觉,很不是滋味,于是下来仔细search了一番:Class.forName( ): Class.forName("")返回的是类 forName()静态方法的目的是为了让JVM
2011-10-26 14:59:24 1238
转载 OO Design Principle Notes
Robert Martin在《敏捷软件开发 原则、模式和实践》中,阐述了OO设计的5项原则:1) The Single Responsiblilty Principle 单一职责原则 A class should have only one reason to change. 一个类应该仅有一种变化的原因。 职责是一种变化的原因,而且仅当变化真
2011-10-25 10:52:18 847
原创 Spring Scope Notes
在Spring Framework 中bean都有自己的作用域(scope), scope的配置方法如下:在spring2.0之前bean只有2种作用域即:singleton(单例)、non-singleton(也称prototype),Spring2.0以后,增加了session、request、global session三种专用于Web应用程序上下文的Bean。因此,默认情况下Spr
2011-10-24 21:46:44 654
原创 Web Service Notes
Web services是一项流行的新技术, 也是未来电子商务的发展趋势,它使用标准方式封装现有业务逻辑或开发新的逻辑,使其成为服务实体并发布到网络上以供其它应用调用, 其它公司或应用软件能够通过Internet来访问并使用这项在线服务。它允许在Web站点上放置可编程的元素,使得能进行基于Web的分布式计算和处理。 Web services是一个基于因特网的应用程序模块,在遵守由一个协议
2011-10-23 15:49:35 801
原创 CGLib 动态代理
JDK自从1.3版本开始,就引入了动态代理,JDK的动态代理用起来非常简单,但是它有一个限制,就是使用动态代理的对象必须实现一个或多个接口。如果想代理没有实现接口的类可以使用CGLIB包。 CGLIB是一个强大的高性能的代码生成包。它被许多AOP的框架(例如Spring AOP)使用,为他们提供方法的interception(拦截)。Hibernate也使用CGLIB来代理单端s
2011-10-22 16:33:04 728
原创 Java Reflection API Notes
通过反射API可以获取程序在运行时刻的内部结构。知道了Java类的内部结构之后,就可以与它进行交互,包括创建新的对象和调用对象中的方法等。这种交互方式与直接在源代码中使用的效果是相同的,但是又额外提供了运行时刻的灵活性。使用反射的一个最大的弊端是性能比较差。相同的操作,用反射API所需的时间大概比直接的使用要慢一两个数量级。不过现在的JVM实现中,反射操作的性能已经有了很大的提升。Java 反
2011-10-22 10:37:23 710
原创 How To Sort Objects With Java Interface Comparable and Comparator
Java 提供了Comparable 和Comparator 两个接口让程序员可以实现Java对象的排序。首先总结下Comparable 与Comparator接口的区别:java.lang.Comparablejava.util.Comparatorint objOne.compareTo(objTwo)int comp
2011-10-20 11:32:24 1400 1
原创 Java 1.5 Annotation Notes
java1.5 annotation Framework:java.lang 包里面的几个默认的Annotation: @Override @Deprecated @SuppressWarningsjava.lang.annotation包里的用于
2011-10-19 10:00:38 550
原创 Spring Annotation Facility
JDK 在1.5之后加入了Annotation功能,同时Spring到2.5版本后,基本上开发人员也可以不再使用XML文件来配置bean了,都是使用Annotation来声明一个bean,因此,本节对Spring的Annotation做一个简单总结。 @Autowired(spring) @Autowired可以对成员变量、方法和构造函数进行标注,来完成自动装配
2011-10-18 18:23:02 736
原创 JVM组成图
JVM的组成部分我们先把JVM这个虚拟机画出来,如下图所示:从这个图中可以看到,JVM是运行在操作系统之上的,它与硬件没有直接的交互。我们再来看下JVM有哪些组成部分,如下图所示:
2011-10-16 15:35:43 787
转载 数据库的ACID四原则
数据库的ACID四原则及: 事物的原子性(Atomic)、一致性(Consistent)、独立性(Isolated)及持久性(Durable)。 1.事务的原子性是指一个事务要么全部执行,要么不执行.也就是说一个事务不可能只执行了一半就停止了
2011-10-13 23:52:41 7356
原创 标准SQL规范中定义的四个事务隔离级别
通过一些现象,可以反映出隔离级别的效果。这些现象有: 1、更新丢失(lost update):当系统允许两个事务同时更新同一数据是,发生更新丢失。 2、脏读(dirty read):当一个事务读取另一个事务尚未提交的修改时,产生脏读。
2011-10-13 23:37:40 5715
原创 聚簇索引和非聚簇索引
聚簇索引和非聚簇索引一、聚簇索引(clustered indexes)的使用 聚簇索引是一种对磁盘上实际数据重新组织以按指定的一个或多个列的值排序。由于聚簇索引的索引页面指针指向数据页面,所以使用聚簇索引查找数据几乎总是比使用非聚簇索引快。每张表只能建一个聚簇索引,并且
2011-10-13 23:32:43 701
原创 Ali
一、String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的?String 是不可改变,定长;StringBuffer, StringBuilder 是不定长,可改变. 注意:本来以为StringBui
2011-10-13 14:32:50 1015
原创 Tiles使用总结
Tiles框架图:Tiles框架的提出背景:传统的GUI工具包,如Java AWT和Java Swing,都提供了一些功能强大的布局管理器,它们指定各个视图组件在窗口中的分布位置。布局管理器有助于创建复合式的复杂界面,一个复合式界面由一些简单的基本界面组成
2011-10-09 22:04:03 1130
原创 Struts2 基本流程
首先我们来看struts2 在web.xml配置文件里配置的信息,这是我们使用struts2要做的第一步工作 文件中我们配置了一个过滤器,处理的类是org.apache.struts2.dispatcher.FilterDispatcher,从url-pattern可以看出,
2011-10-09 21:57:19 604
原创 SLF4J+logBack 代替 Log4j
Ceki Gülcü创造了日志领域界著名的Log4J,现在又实现一个“简单的日志前端接口(Facade)”- SLF4J,和一个“可靠、通用、快速而又灵活的Java日志框架”- LOGBack。作为日志领域中的新秀,已经有种颠覆领域的趋势了。 SLF4J(Simple L
2011-10-08 17:21:31 983
转载 logback与Log4J的区别
Logback和log4j是非常相似的,如果你对log4j很熟悉,那对logback很快就会得心应手。下面列了logback相对于log4j的一些优点: 更快的实现 Logback的内核重写了,在一些关键执行路径上性能提升10倍以上。而且logback不仅性能提升了,
2011-10-08 17:04:14 788
转载 高效的Java异常处理框架
摘要:本文从Java异常最基本的概念、语法开始讲述了Java异常处理的基本知识,分析了Java异常体系结构,对比Spring的异常处理框架,阐述了异常处理的基本原则。并且作者提出了自己处理一个大型应用系统异常的思想,并通过设计一个异常处理的框架来论述此思想。 一、
2011-10-01 11:46:39 881
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人