- 博客(120)
- 资源 (7)
- 收藏
- 关注
转载 google的Google Chart Tools太酷了
图形是我们最经常看见和使用的东西。但要自己写代码实现一个图形还不是那么简单。比如Excel的图形,PDF中的图形,网页上的图形。方式很多,实现方法也不一样。看看google的网页上面显示的图形,真的很漂亮。看看下面的这个图形的代码。代码:[html]view plaincopyprint?html
2014-04-30 09:22:46 2372
转载 迪米特法则(Law of Demeter)
迪米特法则(Law of Demeter, LoD)又称为最少知识原则(Least Knowledge Principle, LKP),它有多种定义方法,其中几种典型定义如下:(1) 不要和“陌生人”说话。(2) 只与你的直接朋友通信。(3) 每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位。(4) 一个对象应当对
2014-04-29 19:02:00 1472
转载 组合/聚合复用原则(Composition/Aggregation Principle)
定义又叫合成复用原则。原则就是在一个新的对象里面通过关联关系(包括组合关系和聚合关系)使用一些已有的对象,使之成为新对象的一部分,新对象通过委派调用已有对象的方法达到复用其已有功能的目的。也就是,要尽量使用类的合成复用,尽量不要使用继承。组合/聚合复用原则要点:就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分,新的对象通过向这些对象的委派达到复用已有功能的目
2014-04-29 19:01:39 1653
转载 依赖倒转原则(Dependency Inversion Principle)
作用:它指导我们如何正确地消解模块间的依赖关系,同时它也是框架设计的核心原则。 依赖倒置原则的本质就是要求将类之间的关系建立在抽象接口的基础上的。Robert Martin这样描述依赖倒置原则[Martin 1996]:传统的策略是把复杂的系统“化整为零,各个击破”。这就是通常所说的分解。SA方法(结构化的分析)也是采用这样的分解策略,把大型和复杂的软件系统分解成若干个人们易于
2014-04-29 19:01:13 1207
转载 里氏代换原则(Liskov Substitution Principle)
作用它指导我们如何正确地进行继承与派生,并合理地重用代码!定义子类型必须能够替换掉它们的父类型、并出现在父类能够出现的任何地方。这个就是尽量用多态的方法编程,也就是GRASP模式中的多态。如果对于每一个类型为T1的对象o1,都有类型为T2的对象o2,使得以T1定义的所有程序P在所有的对象o1都代换成o2时,程序P的行为没有变化,那么类型T2是类型T1的子类型。
2014-04-29 19:00:49 1877
转载 接口隔离原则(Interface Segregation Principle)
作用:它指导我们如何正确地进行接口设计!定义1) 一个类对另外一个类的依赖性应当是建立在最小的接口上Ø 一旦一个接口太大,则需要将它分割成一些更细小的接口,使用该接口的客户端仅需知道与之相关的方法即可。Ø ISP可以达到不强迫客户(接口的使用方)依赖于他们不用的方法——在接口设计中应该保证,接口的实现类应该只呈现为单一职责的角色(遵守SRP原则);Ø
2014-04-29 19:00:26 1766
转载 单一职责原则(Single Responsibility Principle)
1 作用它指导我们如何提高代码的可重用度!2 定义一个类应该仅有一个引起它的变化的原因(职责),或者说一个类只负责一个功能领域中的相应职责。这条原则也称为类设计的“高内聚性原则”。(l)含义之一:避免相同的职责(也称为功能)分散到不同的类中实现。(2)含义之二:也应该要避免一个类承担过多的职责。将过多的职责耦合在一个类中导致了脆弱设计。软件设计真正要
2014-04-29 18:59:59 1282
转载 “开-闭”原则(Open-Closed Principle)
1.1 “开-闭”原则(Open-Closed Principle)1.1.1 作用它指导我们如何提高代码的可扩展性!1.1.2 定义(1)Open(Open for extension)模块的行为必须是开放的、支持扩展的,而不是僵化的。(2)Closed(Closed for modification)在对模块的功能进行扩展时,不应该影响或大规模地影响已有的程序模
2014-04-29 18:59:27 1167
转载 struts2文件下载及 <param name="inputName">inputStream</param>的理解
struts.xml文件配置:[html] view plaincopyspan style="font-size:16px;">xml version="1.0" encoding="UTF-8" ?> "-//Apache Software Foundation//DTD Struts Configuration 2.0
2014-04-29 10:28:43 5884
转载 JQuery when
jQuery.when(deferreds)参数deferreds,一个或多个延时对象或JS对象,我们初略的认为它就是一个或多个异步请求。关于deferred对象 请见:例如:[javascript] view plaincopy$.when($.ajax("page1.php"), $.ajax("page2.php
2014-04-18 16:02:17 1521
转载 jQuery的deferred对象详解
jQuery的开发速度很快,几乎每半年一个大版本,每两个月一个小版本。每个版本都会引入一些新功能。今天我想介绍的,就是从jQuery 1.5.0版本开始引入的一个新功能----deferred对象。这个功能很重要,未来将成为jQuery的核心方法,它彻底改变了如何在jQuery中使用ajax。为了实现它,jQuery的全部ajax代码都被改写了。但是,它比较抽象,初学者很难掌握,网
2014-04-18 16:01:58 1378
转载 Struts2值栈的理解
数据传输背后机制:ValueStack(值栈) 在这一切的背后,是因为有了ValueStack(值栈)! ValueStack基础:OGNL 要了解ValueStack,必须先理解OGNL(Object Graphic Navigatino Language)! OGNL是Struts2中使用的一种表达式语言,它可以用于JSP的标签库中,以便能够方便
2014-04-18 10:21:52 2238 1
转载 EL表达式为什么可以在值栈中取值
我在后台将一个对象的list集合放到了值栈的Map栈中Java code?1234public String getLastVersionPD(){ActionContext.getContext().put("pdList", this.pdManager.getLastVersonPD())
2014-04-18 10:21:01 6667
转载 EL表达式中fn函数
JSTL 使用表达式来简化页面的代码,这对一些标准的方法,例如bean的getter/setter方法,请求参数或者context以及 session中的数据的访问非常方便,但是我们在实际应用中经常需要在页面调用对象的某些方法,例如我需要调用字符串的length方法来获取字符串的 长度时,在以往的开发过程中我们必须把对象先转为String类,然后在调用其length方法,这样的代码繁琐而且容易出错
2014-04-17 16:10:35 1174
转载 EL表达式取Map,List值的总结
[java] view plaincopyprint? EL表达式取Map中的值:后台action 中:[java] view plaincopyprint?Map map = new HashMap(); map.put(key1,value1); map.put(key2,va
2014-04-17 15:55:04 3202
转载 inline、block、inline-block的区别
我们用firbug浏览别人网站时会发现设计者会在很多地方使用inline-block。我们都知道inline是声明div是内联对象,block是声明块对象,那么inline-block是什么意思,即内联又成块?接下来做个测试,让我们了解一下三者的区别和作用吧:1234567891011
2014-04-17 14:47:11 1673
转载 Spring 的优秀工具类盘点,第 2 部分: 特殊字符转义和方法入参检测工具类
特殊字符转义由于 Web 应用程序需要联合使用到多种语言,每种语言都包含一些特殊的字符,对于动态语言或标签式的语言而言,如果需要动态构造语言的内容时,一个我们经常会碰到的问题就是特殊字符转义的问题。下面是 Web 开发者最常面对需要转义的特殊字符类型:HTML 特殊字符;JavaScript 特殊字符;SQL 特殊字符;如果不对这些特殊字符进行转义处理,则不但可
2014-04-17 13:19:22 2844
转载 Java开发常用工具类
package com.cucpay.tradeportal.util; import java.io.UnsupportedEncodingException; import java.lang.reflect.Field; import java.net.URLDecoder; import java.net.URLEncoder; import java.nio.c
2014-04-17 13:17:44 5986
转载 el表达式无效
第一步: 首先确定你是否导入的JSTL包。 在项目上右键,Myeclipse--》Add JSTL Librarys 第二步: 确定用的Servlet / JSP的版本。 查看web.xml的开头部分,如果有以下内容,表示是Servlet 2.4 / JSP 2.0。 xmlns="http://java.sun.com/xml/ns/j2ee" xmlns
2014-04-17 12:54:14 1768
转载 servlet 2.5的web.xml
17 March 2007sun从来不把servlet各个版本的web.xml的规格公布一下,即使上网查找,也很难发现。倒是跟随支援的servlet容器会发布一些范例程序,好运的话,里面将会有最新版本的web.xml写法,比如说,tomcat6正式版里面有了servlet 2.5的写法,如下: xmlns="http://java.sun.com/xml/ns/j2ee"
2014-04-17 12:53:20 8802 1
转载 Hibernate和JPA之间的联系
Hibernate分析:Hibernate是一个开源的代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,是Java程序员可以随心所欲的使用对象编程思想来操作数据库。Hibernate的核心接口:Session:负责执行被持久化对象的CRUD,是线程不安全的SessionFactory:负责初始化Hibernate,充当数据存储源的代理,
2014-04-17 10:21:48 1479
转载 Hibernate版本 支持 hibernate-jpa-2.0-api-1.0.0.Final.jar
我记得hibernate3.5以前的版本使用注解使用hibernate-annotations.jar以及ejb-persistence.jar。其实这里的ejb-persistence.jar和前面提到的hibernate-jpa-2.0-api-1.0.0.Final.jar功能一样,实现持久化功能。但hibernate-jpa-2.0-api-1.0.0.Final.jar在ejb-pers
2014-04-17 09:55:53 10743
转载 使用 Spring Data JPA 简化 JPA 开发
从一个简单的 JPA 示例开始本文主要讲述 Spring Data JPA,但是为了不至于给 JPA 和 Spring 的初学者造成较大的学习曲线,我们首先从 JPA 开始,简单介绍一个 JPA 示例;接着重构该示例,并引入 Spring 框架,这两部分不会涉及过多的篇幅,如果希望能够深入学习 Spring 和 JPA,可以根据本文最后提供的参考资料进一步学习。自 JPA 伴随 J
2014-04-17 09:41:37 1383
转载 Listener、Filter、Servlet 初始化顺序
Listener、Filter、Servlet都有一个初始化的过程,对应的方法分别为:contextInitialized(ServletContextEvent arg0)init(FilterConfig filterConfig)init(ServletConfig config) 那么它们的初始化顺序是什么呢?Listener > Filte
2014-04-16 21:04:24 1610
转载 Java反射,根据类名创建带参数的实例(获取参数类型,参数等)
Java代码 //根据类名获取Class对象 Class c=Class.forName("java.lang.Integer"); //参数类型数组 Class[] parameterTypes={String.class}; //根据参数类型获取相应的构造函数 java.lang.reflect.Constructor cons
2014-04-16 20:52:03 11957
转载 Java反射代码 得到某类的所有字段 getFields()与getDeclaredFields()区别 getMethod()和getDeclaredMethod()区别
*** 得到某类的所有字段**/public void reflect2(){ try { Class cls = Class.forName("entity.UserBean");//加载UserBean类到内存中!获取一个Class对象 Field[]fields = cls.getDeclaredFields();//
2014-04-16 16:00:15 9145
转载 通过Java反射调用方法
通过Java反射调用方法 这是个测试用的例子,通过反射调用对象的方法。TestRef.javaimport java.lang.reflect.Method; import java.lang.reflect.InvocationTargetException;/** */ public class TestRef { public static
2014-04-16 14:32:00 2003
转载 Hibernate的查询 HQL查询 参数,分页,分组,占位符
增加参数为分两种,一中是占位符方式:Java代码 /** * 占位符参数 */ @SuppressWarnings("unchecked") public static void test4(){ Session session = HibernateSessionFactory.currentSession();
2014-04-15 12:47:15 3425
转载 在java中使用oracle绑定变量
为什么要使用绑定变量:在JAVA中的SQL 语句的编写方面,没有使用ORACLE 绑定变量,很大程度上降低了数据库的性能,表现在两个方面:1、SQL语句硬分析(Hard Parse)太多,严重消耗CPU资源,延长了SQL语句总的执行时间。SQL语句的执行过程分几个步骤:语法检查、分析、执行、返回结果。其中分析又分为硬分析(Hard Parse)和软分析(Soft Parse
2014-04-15 12:43:02 2099
转载 在Oracle中使用rank()over()排名的问题
排序:---rank()over(order by 列名 排序)的结果是不连续的,如果有4个人,其中有3个是并列第1名,那么最后的排序结果结果如:1 1 1 4select scoreid, studentid,COURSENAME,totalexamscore ,rank()over(order by TOTALEXAMSCORE desc)orderbyNumfrom SC
2014-04-15 12:24:24 1735
转载 Java6 WebService客户端封装 (可配置IP)
在开发WebService客户端应用的时候,面临的最大挑战是事先不知道服务端要部署在哪里,端口是什么,因此Hello World的例子并不适合生产环境,还需要进一步的做改进。 改进的总体思想是将静态的部分替换为动态的,也就是说,将服务的ip和端口,做成动态参数,然后根据服务端的部署灵活改变这些配置参数。 下面针对前面的例子对客户端做一个改进。 1、写
2014-04-14 16:59:50 5594 1
转载 java nio Selector的使用-客户端
java nio Selector的使用-客户端 接上一篇,客户端的程序就相对于简单了,只需要负责连接,发送下载文件名,再读数据就行了。主要步骤就是注册->连接服务器->发送下载请求->读数据->断开连接。 第一步:注册,并注册connect事件。Java代码 if(selector == null) selector = Sel
2014-04-14 11:22:02 1688
转载 java nio Selector的使用-服务器端
前些时候花了一些时间在研究java.nio的api使用机制,看了好久,也觉得不习惯它的使用方式和用法.毕竟自己对C语言了解太少,也不太了解C语言在网络编程上的用法。对这种底层下的编程太不习惯,还是应该好好了解下底层的东西,要不然就光会使用别人的东西,如果是自己写一个,就写不出来了。 从java1.4以来,java nio就出现在java的api中,在日常的使用当中,基本上都是围绕着j
2014-04-14 11:21:35 2077
转载 Java io 与 nio 的线程优化(Java中的阻塞和非阻塞IO包各自的优劣思考)
NIO 设计背后的基石:反应器模式,用于事件多路分离和分派的体系结构模式。 反应器(Reactor):用于事件多路分离和分派的体系结构模式 通常的,对一个文件描述符指定的文件或设备, 有两种工作方式: 阻塞 与非阻塞 。所谓阻塞方式的意思是指, 当试图对该文件描述符进行读写时, 如果当时没有东西可读,或者暂时不可写, 程序就进入等待 状态, 直到有东西可读或者可写为止。而对于非阻塞
2014-04-14 11:20:52 2045
转载 Netty源码学习-Java-NIO-Reactor
Netty里面采用了NIO-based Reactor Pattern 了解这个模式对学习Netty非常有帮助 参考以下两篇文章: http://jeewanthad.blogspot.com/2013/02/reactor-pattern-explained-part-1.html http://gee.cs.oswego.edu/dl/cpjslides/nio.pdf
2014-04-14 11:18:06 4270
转载 java NIO的多路复用及reactor模式
java nio从1.4版本就出现了,而且依它优异的性能赢得了广大java开发爱好者的信赖。我很纳闷,为啥我到现在才接触,难道我不是爱好者,难道nio不优秀。经过长达半分钟的思考,我意识到:时候未到。以前总是写那些老掉牙的web程序,唉,好不容易翻身啦,现在心里好受多了。因为真不想自己到了30岁,还在说,我会ssh,会ssi,精通javascript,精通数据库,精通。。。人生苦短,要开拓点不是吗
2014-04-14 11:14:39 4128
转载 JAVA NIO non-blocking模式实现高并发服务器
Java自1.4以后,加入了新IO特性,NIO. 号称new IO. NIO带来了non-blocking特性. 这篇文章主要讲的是如何使用NIO的网络新特性,来构建高性能非阻塞并发服务器.文章基于个人理解,我也来搞搞NIO.,求指正.在NIO之前服务器还是在使用阻塞式的java socket. 以Tomcat最新版本没有开启NIO模式的源码为例, tomcat会acc
2014-04-14 11:12:42 16498 2
转载 Java NIO Reactor模式
Java代码 package com.zzq.nio.reactor; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.SelectionKey; import
2014-04-14 11:03:53 4135
转载 Java NIO 反应器(Reactor)模式
概述Java NIO非堵塞技术实际是采取反应器模式,或者说是观察者(observer)模式为我们监察I/O端口,如果有内容进来,会自动通知我们,这样,我们就不必开启多个线程死等,从外界看,实现了流畅的I/O读写,不堵塞了。同步和异步区别 : 有无通知(是否轮询)堵塞和非堵塞区别 : 操作结果是否等待(是否马上又返回值),只是设计方式的不同。NIO 有一个主要的
2014-04-14 11:03:12 2977
Zookeeper资源文件
2017-03-20
Zookeeper基础知识
2017-03-20
Zookeeper初识
2017-03-20
使用exe4j 制作java启动程序的 等候界面
2014-06-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人