java
文章平均质量分 69
superbeck
------------------------------------------------ 出生在太行山下, 求学于嘉陵江畔, 奋斗在长江之尾。。。。。。
github博客见: http://superbeck.github.io
展开
-
eclipse中安装插件的几种方法
一、使用eclipse的SoftwareUpdates / Find and install... search for new features... 输入软件安装地址进行安装二、解压插件包。下载插件文件,将其解压缩到eclpise对应的目录中。重起eclipse;注意:直接将 插件包解压到plugins文件夹下之后,重启eclipse,可能不会加载新的插件。解决方法是:1、打开命令行,到当前e原创 2006-10-21 16:53:00 · 5918 阅读 · 1 评论 -
设计模式:Visitor模式
Visitor模式是一个用起来很简单,理解起来可能稍微有一点困难的模式。不过明白了之后就清楚了,其实也是非常的简单。问题需要向对象结构中增加新的方法,但是增加起来会很费劲或者会破坏设计。 案例举一个例子。假设我们有一组机器(Windows,Unix,Linux,Mac等),每种机器都有自原创 2010-02-25 14:02:00 · 13234 阅读 · 5 评论 -
JSP/Servlet中的编码相关设置
在JSP和Servlet中有几个地方都可以设置编码,各个编码的功能也不一样,本文将对各个编码做一个小结。 各种编码一览A. JSP/Servlet都有的编码设置1. request.setCharacterEncoding("UTF-8")2. response.setCharacterEncoding("原创 2010-03-05 07:39:00 · 23319 阅读 · 0 评论 -
位运算符的一些用途
虽然平时很少用到位运算符,但是在某些时候,这些小东西确实能够给我们提供很好的解决方案。 概述位运算是对二进制数进行运算。java中的位运算符有[&, |, ^, ~, >, >>>],其中[~]是一元运算符,其余为二元运算符,二元运算符还有相应的赋值运算操作符[&=, |=, ^=, >>=, >>>=,原创 2010-03-17 08:32:00 · 16932 阅读 · 3 评论 -
设计模式:Proxy模式
Proxy(代理),字面意思很容易理解,简单来说,找个中间人来帮助完成某事情。从设计上来看,Proxy模式也是一个比较容易理解的模式。但是它有哪些种类,哪些优缺点,和其他的一些模式有什么区别呢?这就需要稍微的详细了解一下了。 定义 为其他对象提供一种代理以控制对这个对象的访问。 分类原创 2010-03-23 22:18:00 · 1196 阅读 · 0 评论 -
Java 中 Vector、ArrayList、List 使用深入剖析
线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Has转载 2010-03-25 22:21:00 · 797 阅读 · 0 评论 -
设计模式:Command模式
Commad模式是一种对象行为模式,它可以对发送者(sender)和接收者(receiver)完全解耦(decoupling)。("发送者" 是请求操作的对象,"接收者" 是接收请求并执行某操作的对象。有了 "解耦",发送者对接收者的接口一无所知。)简单说明 简单来看,在对象A调用了对象B的一个方法,这样对象A就可以看做一个发送者,对象B就是原创 2010-05-07 14:07:00 · 1181 阅读 · 0 评论 -
设计模式:职责链模式(Chain of Responsibility)
链表,想必有太多人用过了,但是基于链表的设计模式?职责链模式正好是这样的一个。当然职责链模式可以有多种形式,并不是一定要求是一条单链的。关于这一点,我们后面会提到的。原创 2010-07-19 07:55:00 · 1404 阅读 · 0 评论 -
为什么上传文件的表单里要加个属性 enctype
上传文件的表单中要加属性enctype="multipart/form-data",很多人只是死记硬背知道上传表单要这么写,知其然而不知其所以然。那到底为什么要添加这个属性呢?它是什么意思呢?它又有什么其他可选值呢?转载 2010-06-10 09:11:00 · 1047 阅读 · 0 评论 -
设计模式:Bridge模式
如果你想要写一个游戏,并且想让这个游戏同时支持PC和手机,那么怎么样的设计可以避免写两套代码,并且不影响可扩展性呢?说起来还是比较简单的,只要把对平台的依赖部分抽取成抽象的接口(比如说绘图部分),并且针对抽取出来的接口,分别实现PC版和手机版就行了。系统的其他部分只要调用那套抽取出来的接口就可以完成所有的功能。这样来看,系统的其他部分是不依赖具体的平台的,也就具有了良好的扩展性。这个就是Bridge模式的应用。原创 2010-10-27 18:06:00 · 7294 阅读 · 2 评论 -
设计模式:Flyweight模式(享元模式)
记得在大学时,用当时的那台电脑玩魔兽,一旦视野内存在大量兵的时候,游戏就会暂时卡掉,无法进行任何操作。那就是因为系统new出来太多的兵,所需内存空间已经超出了硬件可提供的空间而导致游戏卡掉的。事实上,当遇到类似问题时,我们可以优先考虑一下Flyweight模式。原创 2010-11-02 10:19:00 · 1619 阅读 · 0 评论 -
线程同步
线程同步相关的一篇文章,逻辑很清楚,讲解的也很细致。转载 2011-02-24 15:06:00 · 1244 阅读 · 0 评论 -
Java反编译利器-Jad, Jode, Java Decompiler等及其IDE插件
对于长年使用Java的程序员,大部分应该都会或多或少的使用到反编译软件。毕竟,不可能你所使用到的每一个包都会提供完善的javadoc,而且,有时候代码比javadoc更容易理解。这里将讲述笔者所了解的一些反编译软件以及它们各自的IDE插件版。简介现在业内的反编译软件据说有几十种。其中有jad,以及基于jad而开发的其他反编译软件(Fr原创 2010-01-14 11:57:00 · 6697 阅读 · 0 评论 -
基于java的程序OutOfMemory问题的解决及Xms/Xmx/Xss的解释和应用
长期以来一直都是做java应用的开发,所使用的开发工具基本上也都是基于java的,经常用的有eclipse, netbeans, ant, maven, cruisecontrol, tomcat, findbugs等。在使用这些工具的时候,有时候会碰到OutOfMemory的问题。 问题一般在遇到这个问题的时候,我们的第一印象是:一定是机器的内存不够用了。可是原创 2009-11-11 18:08:00 · 18905 阅读 · 0 评论 -
类图图解重写和重载的区别
重载和重写是面向对象设计和开发中常用的两个概念。 这两个概念其实还是非常容易区分的。如下面的类图所示,左边为Overriding(重写),右边为Overloading(重载)。 Overriding:是指在继承的情况下,子类中定义了与父类中型构一致,但方法体不一致的方法。这也是实现多态的必要步骤。 Overloading:是指在同原创 2009-10-07 17:45:00 · 5642 阅读 · 0 评论 -
java写循环,犯了一个小错误,记录下来以鞭策
for (int i = 0; i list.add(new Element()); // add a new element}目的就是想把原有的list改造一下,使其正好有30个elements。可是结果却是添加了15个。原因很简单,for循环继续运行的条件是(i 所以加到第15个之后,就不能再添加了。很初级的错误,犯了就说明基础知识还是不牢固,记录下来以防止以后犯错。正确的一种写法如下原创 2008-08-24 11:22:00 · 682 阅读 · 0 评论 -
打造一个统一的基于eclipse的java开发环境(一)
在现如今的软件行业,java在很多方面都是占有很大份额的。尤其是在企业应用开发领域和基于java的手机平台应用上。当然相应的开发工具也非常多,包括Sun公司自家的NetBeans, IBM贡献出来的eclipse以及IBM自己的WebSphere等等,甚至于还有很多人喜欢用文本编辑工具。在曾经知道的工具中,JBuilder曾经是最有影响力的工具了。超大的体积,n多的功能,同时也需要很好的机器配原创 2008-10-28 21:54:00 · 3272 阅读 · 0 评论 -
struts中使用DispatchAction可能会遇到的一个问题
其实DispatchAction的原理说起来也很简单。在struts-config.xml中配置Action的时候,加一个parameter的属性,并且起一个名字,通常为"method"。用户在浏览器端发起请求的时候,一般都会带这个参数的。请求发送到服务器端之后,相应的DispatchAction会先判断这个参数是否存在,存在的话,值又是什么。然后根据浏览器端传过来的method的值,去调原创 2009-01-07 18:14:00 · 1172 阅读 · 1 评论 -
使用ant从版本控制器上取得特定日期的文件-(task vssget和selector date的使用)
今天接到一个小任务,要求把项目组最近三个月(10,11,12),所有修改过的文件的代码行数统计出来。代码行数统计的工具已经有了,唯一需要的就是要把哪些文件是在这段特定的时间内修改过的,统计出来。简单的试操作了一下,要找到哪些文件在这个时间段内修改过,估计就必须检查每一个文件的history了。这么多的文件,算是一个很费劲的活了。不过考虑到这个任务的精原创 2009-01-07 21:48:00 · 3543 阅读 · 0 评论 -
学习总结:java面试方法重写详解,静态代码块和构造方法执行顺序问题
最近刚刚学习了一下http://vip.itcast.net上提供的一篇关于Java面试时常会面试的一些问题。其中一篇是“Java常见笔试、面试题目深度剖析第二讲:方法重写详解、静态代码块与构造方法执行顺序问题 ”。 虽然张龙老师讲解的这些知识在做开发的时候不一定要用到,但是确实有一点是我以前所不了解的。干脆直接做个笔记好了。 ---------------------------原创 2009-02-22 10:14:00 · 2559 阅读 · 0 评论 -
写log应该注意的几个事项
在开发一些大型系统(无论是C/S还是B/S)的时候,在代码中写一定量的log是必要的。其最主要的作用就是记录系统运行状况,方便问题的解析。 摘抄一下孙卫琴的《精通Struts:基于MVC的Java设计与开发》中的说明:1. 监视代码中变量的变化情况,把数据周期性的记录到文件中供其他应用进行统计分析工作。2. 跟踪代码运行时轨迹,作为日后审计的依据。3. 担当原创 2009-05-11 18:29:00 · 2361 阅读 · 0 评论 -
使用jstl1.1,注意与1.0的区别
近日做一个小系统,使用了Struts,还用到了JSTL。这套配置在以前开发项目的时候就用过的,不过当时没有深入了解。所以,导致本次使用时,遇到了一个小问题,浪费了一点时间。所以,做了一个小小的调查,搞清楚了JSTL1.0和JSTL1.1的区别及使用方法。 现象在标签中使用了EL,结果运行时报错。说根据tld文件的说明,该标签不支持表达式(EL)。原文为:Accord原创 2009-05-24 22:31:00 · 4523 阅读 · 5 评论 -
在Struts开发中,给ActionForward动态添加参数
ActionForward是Struts框架的Action中使用的一个对象。它指向一个具体的path。但是这个path一般是写死在struts-config.xml中的,那么怎么给ActionForward对象动态添加参数呢? 这里总结了几种方法。 1. 最直接的方式:使用request或者session传递。request.setAttribute()reques原创 2009-05-24 23:26:00 · 3417 阅读 · 0 评论 -
设计模式:Builder模式
Builder模式主要用于构建复杂的对象,对象的各个部件可能会有剧烈变化,而构建的过程是固定的。这个时候就可以使用Builder模式把对象的构建过程抽取出来。 作用:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。举例来讲,同样一批建筑工人,都会打地基,砌砖,贴瓷砖等等基本的建筑操作,也就是说,你可以用他们来盖商业楼,盖住宅原创 2009-09-14 07:25:00 · 1406 阅读 · 0 评论 -
设计模式:Prototype模式
在软件开发中,有时候可能会需要创建一些特别复杂的对象,如果系统中已经存在同样类型的对象,并且不同的属性个数相差不大的话,用Prototype模式可能是一个理想的选择。 定义:用原型实例指定创建物件的种类,并且通过拷贝这些原型创建新的物件。 Prototype 模式允许一个物件再创建另外一个可定制的物件,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型物件传给那个要发原创 2009-09-17 07:45:00 · 2228 阅读 · 1 评论 -
设计模式:Observer模式
在做面向对象的软件开发过程中,有时候会碰到这样一种情况:某一个对象的变化会导致很多个对象同时发生变化,必须是及时的变化,而且受影响的对象也是未知的。Observer模式正好是解决这类问题的拿手方案。 定义观察者模式定义了对象间的一种一对多依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。The Observer Patter原创 2009-10-02 08:05:00 · 1374 阅读 · 0 评论 -
slf4j与LOGBack -- 学习笔记
slf4j和LOGBack是log4j的创建者Ceki Gülcü新创建出来的一个组合,它完全可以替代apache commons logging + log4j组合,并且在性能和架构方面有了不小的改进。原创 2011-04-12 11:18:00 · 4245 阅读 · 0 评论