`
文章列表
  一、Extrat Method(提炼函数) 定义:将这段代码放进一个独立函数中,并让函数名称解释该函数的用途。 自我理解:就是将一个复杂的函数或者过长的函数分解成独立的小函数。 例子:   void printOwing(){ Enumeration e =_orders.elements(); double outstanding = 0.0; //print banner System.out.println("*********************"); System.out.println(&quo ...
详见附件
今天突然很想写一些东西,因为自己似乎快毕业一年了,好像我从毕业开始就似乎挺折腾人的,下午似乎不想在公司做什么事情,就想想静下心,想想过去一年和未来的路该如何去找。 先从毕业说起,毕业了,我进了一个WS科技股份有限公司,在厦门。也和女朋友开始了两地分居的过程(女朋友在深圳工作),这个也是我在过去一年挺纠结的一点,慢慢说,下午也许要说的挺多的。那时候我刚从大学里出来,虽然我已经在WS实习了半年,其实也是因为这半年我才留在WS,因为觉得公司氛围似乎很好,每个人都对我很好,有飞哥,ZW哥,天城,忠哥,尽哥,这些人让我对WS有了巨大的好感,而且公司的人事MM也很nice,行政很轻松,每天上班,下班, ...

js数字比较

测试时,发现了代码中js出现的一个bug。 var shouldAttendPersons = 8; var camePersons = 10; if(camePersons  > shouldAttendPersons ) {        alert(""); } 当shouldAttendPersons为8,camePersons为10时,打出了提示信息,原来js在这种情况下是将shouldAttendPersons和camePersons当成字符串比较的。        解决方法暂时找到两种:      1) var shouldAttendPersons ...
早上,用servlet+log4j做了一些模拟程序,想让程序初始化时,将log4j直接配置好,但是发现在启动tomcat时,总是会报PropertyConfigurator类找不到这个错误,纠结了一个早上,最后发现是包一如位置错误,我引入的log4j的包不是在WEB-INF-lib的目录下,是从外部目录通过build-path引入,通过参考一篇文章,发现是类加载器的顺序问题,只要将log4j.jar包放入到WEB-INF-lib目录下,就OK了,白忙活了一个早上。 参考文章: http://www.phome.net/document/java/200504/java111245704813 ...
本文从Java异常最基本的概念、语法开始讲述了Java异常处理的基本知识,分析了Java异常体系结构,对比Spring的异常处理框 架,阐述了异常处理的基本原则。并且作者提出了自己处理一个大型应用系统异常的思想,并通过设计一个异常处理的框架来论述此思想。 一、 异常的概念和Java异常体系结构 异常是程序运行过程中出现的错误。本文主要讲授的是Java语言的异常处理。Java语言的异常处理框架,是Java语言健壮性的一个重要体现。 Java
现象: 没有动任何配置文件,今天就出现了修改的JSP内容在页面不体现。依然是老的页面内容 问题分析: 既然可以用过,所以系统应该是检测文件更新的,之所以不重新编译JSP,估计时文件日期的问题。因为tomcat是根据文件日期判断jsp文件是不是比现有的翻译好的.java文件新来决定是否重新编译。 经询问,昨天曾经把系统时间改成1年后,用来测试某些功能。后来又改回来了。 问题找到了。由于昨天调整日期,并修改了JSP文件,系统记录编译后文件的日期也是1年后。 时间恢复后,无论怎么修改,文件修改时间都不可能大于一年后,所以tomcat认为当前的编译好的文件更加新一些,所以不进 ...
通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business logic)。 下面让我们来细细道来: Web服务器(Web Server) Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response),例如送回一个HTML页面。为了处理一个请求(r ...
加快MyEclipse启动速度 1、加大JVM的非堆内存 打开 eclipse.ini-showsplashcom.genuitec.myeclipse.product–launcher.XXMaxPermSize256M-vmargs-Dosgi.requiredJavaVersion=1.5-Xms128m-Xmx512m-Dosgi.splashLocation=e:MyEclipse 6.0eclipseMyEclipseSplash.bmp-Duser.language=en-XX:PermSize=128M-XX:MaxPermSize=256M 把下面的那个 -XX: ...
(1)在数据库持久层的框架中,大家一定听过Hibernate的大名了吧,经典的SSH框架就有它的一份哦!可是我今天要说的却是另外一个持久层的框架,它就是iBatis。与Hibrenate相比,它的主要优势就是简单、小巧、轻量级,但是它的功能却丝毫不亚于 Hibernate,下面让我们来看看iBatis在项目中的应用吧! iBatis确实很简单,它的工作原理就是通过SQL Map映射文件将sql语句和java对象对应起来(如:在利用对象属性的getter从属性中获取值,查询结果后,将各值用setter方法放到对象中).在iBatis中,sql语句是我们手工编写好的,这一点与Hibernate不同 ...

struts2 ognl 原理

Struts2内置了OGNL这是大家都知道的了,其实这种说话不严格,应该OGNL本身是一种很强大的表达式语言,XWork整合了OGNL的一部分并且将这部分内容做了相应的扩展,而Struts2又建立在XWork这个项目的基础之上,所以Struts2也就内置了OGNL这部分强大的功能。         为了详细些一步一步做记录吧。         先说OGNL,OGNL内部自己会维护一个OGNL上下文(OgnlContext)是一个实现了Map接口的对象,OGNL会将对象放在这个上下文中统一管理的,并且会有一个对象被指定为根对象(root)。假设有User和Customer这么两个类,分别有u ...
 OGNL的用法 OGNL是通常要结合Struts 2的标志一起使用,如<s:property value="xx" />等。大家经常遇到的问题是#、%和$这三个符号的使用。下面我想通过例子讲述这个问题: “#”主要有三种用途: 1.    访问OGNL上下文和Action上下文,#相当于ActionContext.getContext();下表有几个ActionContext中有用的属性:    名称
分解这个组合:“>/dev/null 2>&1” 为五部分。 1:> 代表重定向到哪里,例如:echo "123" > /home/123.txt2:/dev/null 代表空设备文件3:2> 表示stderr标准错误(0 = stdin,1 = stdout,2 = stderr)4:& 表示等同于的意思,2> ...
 意图: 为另一个对象提供一个替身或占位符得以访问这个对象。     结构:   接着我们来看RMI远程代理: 1.我们先在服务器注册好几个糖果机,由于我们现在使用RMI,我们需要构造糖果机和状态。 糖果机首先变成一个服务,我们为糖果机创建一个远程接口,让开接口提供了一组可以远程调用的的方法。 public interface GumballMachineRemote extends Remote { public int getCount() throws RemoteException; public String getLocation() throws Re ...
意图:允许对象在内部状态改变时改变她的行为,对象看起来好像修改了它类。 结构:     我们是不是发现它和策略模式很像啊?这个我们将后面仔细介绍这两个模式共同点和不同点,现在我们还是先看例子。   我们现在有一个糖果机,有一下几个状态:   我们先来看我们平常的设计会如何进行实现: public class GumballMachine { final static int SOLD_OUT = 0; final static int NO_QUARTER = 1; final static int HAS_QUARTER = 2; final stati ...
Global site tag (gtag.js) - Google Analytics