摘要: Httpservlet源码及实现机制HTTP请求刚刚进来的时候实际上只是一个HTTP请求报文,容器会自动将这个HTTP请求报文包装成一个HttpServletRequest对象,并且自动调用HttpServlet的service()方法来解析这个HTTP请求,service()方法会解析HTTP请求行,而HTTP请求行由method,uri,HTTP version三个组成,method就是get或者post,service()方法根据method来决定是执行doGet还是doPost,这一切都是服务器Tomcat/weblogic/websphere/jboss(容器)自动完成的,HTTP的 阅读全文
posted @ 2013-01-30 16:48 jack_ou 阅读(7148) 评论(0) 推荐(3) 编辑
摘要: 概况 Servlet的框架是由两个Java包组成:javax.servlet和javax.servlet.http. 在javax.servlet包中定义了所有的Servlet类都必须实现或扩展的的通用接口和类.在javax.servlet.http包中定义了采用HTTP通信协议的HttpServl 阅读全文
posted @ 2013-01-30 16:37 jack_ou 阅读(660) 评论(0) 推荐(0) 编辑
摘要: HttpServletResponse接口是ServletResponse的子接口,HttpServlet类的重载service()方法及doGet()和doPost()等方法都有一个HttpServletResponse类型参数:protected void service(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOExceptionHttpServletResponse 接口提供了与 HTTP 协议相关的一些方法,Servlet 可通过这些方法来设置HTTP响应头或向客户端写Coo 阅读全文
posted @ 2013-01-30 16:22 jack_ou 阅读(9614) 评论(0) 推荐(0) 编辑
摘要: 转载:http://hi.baidu.com/yanfei_nn/item/18ca79960fc021ab82d29533Request 的 sendError( )方法形式: sendError(int errnum )说明:用来向客户端发送错误信息,这对调试程序有很大帮助。常用的常量级错误代码有:SC_CONTINUE, 状态码是100,表示客户端无法连接。SC_SWITHING_PROTOCOLS,状态码是101,表示服务器正向报头中注明的协议切换。SC_OK,状态码是200.表示请求被成功处理。SC_CREATED,状态码是201,表示请求被成功处理,并在服务器方创建了一个新的资源。 阅读全文
posted @ 2013-01-30 16:20 jack_ou 阅读(14702) 评论(0) 推荐(0) 编辑
摘要: 相关文章1:HashSet,TreeSet和LinkedHashSet的区别相关文章2:HashSet和TreeSet的区别Hashtable类 Hashtable继承Map接口,实现一个key-value映射的哈希表。任何非空(non-null)的对象都可作为key或者value。 添加数据使用put(key, value),取出数据使用get(key),这两个基本操作的时间开销为常数。 Hashtable通过initial capacity和load factor两个参数调整性能。通常缺省的load factor 0.75较好地实现了时间和空间的均衡。增大load facto... 阅读全文
posted @ 2013-01-24 23:09 jack_ou 阅读(654) 评论(0) 推荐(0) 编辑
摘要: Java 线程池学习Reference: 《创建Java线程池》[1],《Java线程:新特征-线程池》[2], 《Java线程池学习》[3],《线程池ThreadPoolExecutor使用简介》[4],《Java5中的线程池实例讲解》[5],《ThreadPoolExecutor使用和思考》[6][1]中博主自己通过ThreadGroup实现一个线程池(挺方便理解的),使用的是jdk1.4版本,Jdk1.5版本以上提供了现成的线程池。[2]中介绍了java.util.concurrent.Executors类的API。[3]中介绍了Java中线程池的类体系结构。[4]中有ThreadPoo 阅读全文
posted @ 2013-01-23 20:49 jack_ou 阅读(735) 评论(0) 推荐(0) 编辑
摘要: 5.3.2 switch语句switch关键字的中文意思是开关、转换的意思,switch语句在条件语句中特别适合做一组变量相等的判断,在结构上比if语句要清晰很多。switch语句的语法格式为:switch(表达式){case 值1:功能代码1; [break; ]case 值2:功能代码2; [break; ]……default:功能代码1; [break; ]}语法说明:1、 表达式的类型只能为byte、short、char和int这4种之一。2、 值1、值2…值n只能为常数或常量,不能为变量。3、 功能代码部分可以写任意多句。4、 break关键字的意思是中断,指结束switch语句,b 阅读全文
posted @ 2013-01-22 10:01 jack_ou 阅读(10481) 评论(0) 推荐(2) 编辑
摘要: 软件设计经典书籍推荐 设计模式最经典的书籍自然是GOF的《设计模式》,但很多人的反应是这本书太难理解了,并不适合初学者阅读。这话说得在理。一方面,本书使用的C++示例难倒了一大群Java和.NET的开发人员;另一方面,这本书的风格过于专业化,更偏向于学术论文的风格(事实上,本书的雏形就是来源于GOF 阅读全文
posted @ 2013-01-22 00:11 jack_ou 阅读(1017) 评论(0) 推荐(0) 编辑
摘要: JDialog.setDefaultLookAndFeelDecorated(true); JFrame.setDefaultLookAndFeelDecorated(true); Toolkit.getDefaultToolkit().setDynamicLayout(true); System.setProperty("sun.awt.noerasebackground","true"); 先把这些加进去.然后再加: javax.swing.plaf.metal.MetalLookAndFeel.setCurrentTheme( new javax. 阅读全文
posted @ 2013-01-21 13:29 jack_ou 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 下图是规范中要求的:图解:比如equals相等的箭头指向hashcode相等,标示equals相等那么必有hashcode相等。另外有两个箭头指向别人的标示可能是其中之一。 //JAVA代码: public static void main(String[] args) { ... 阅读全文
posted @ 2012-12-29 01:49 jack_ou 阅读(5562) 评论(0) 推荐(2) 编辑
摘要: 在初始化一个类,生成一个实例的时候,newInstance()方法和new关键字除了一个是方法,一个是关键字外,最主要有什么区别?它们的区别在于创建对象的方式不一样,前者是使用类加载机制,后者是创建一个新类。那么为什么会有两种创建对象方式?这主要考虑到软件的可伸缩、可扩展和可重用等软件设计思想。Java中工厂模式经常使用newInstance()方法来创建对象,因此从为什么要使用工厂模式上可以找到具体答案。 例如:class c = Class.forName(“Example”);factory = (ExampleInterface)c.newInstance();其中ExampleInt 阅读全文
posted @ 2012-12-29 00:12 jack_ou 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 清理Windows.edb文件释放C盘空间(原创) 你有没有发现,C盘的容量越来越小,最近我也发现了我的机子也出现了这个问题,so,不能再这样下去了,一定要彻底解决掉这个问题。我使用各种工具,把所有的缓存文件都清理了,包括IE缓存文件,把冗余的注册表清理了一遍,也把很多不要的文件都删了,把不常用的软件卸载了,可C盘还是依然不够空间,我也郁闷了。 经过对C盘的整体盘查,找到了下面这个文件:C:\ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.edb,如果你没找到的话可以通过搜索文件的方式收搜索Windows.edb。你 阅读全文
posted @ 2012-12-26 19:32 jack_ou 阅读(379) 评论(0) 推荐(0) 编辑
摘要: 问题描述:I'm trying to debug this problem but not sure where exactly i need to replace SWT jar file for Eclipse.Current System Config:EclipseHelios3.6-32BitJDK 1.6 JVM -32BitWindows7-64BitError Message:java.lang.UnsatisfiedLinkError:Cannot load 64-bit SWT libraries on 32-bit JVM at org.eclipse.swt.i 阅读全文
posted @ 2012-12-22 14:26 jack_ou 阅读(13194) 评论(0) 推荐(0) 编辑
摘要: Cannot load 64-bit SWT libraries on 32-bit JVM使用32位jre 但是plug-in project创建时自动填充的依赖jar包是64位 导致出错 “java.lang.UnsatisfiedLinkError: Cannot load 64-bit SWT libraries on 32-bit JVM” 解决方案,下载64位jdk6 解压至/usr/lib/jvm/, 装入eclipse 运行环境,windows->preference->Java -> Installed JREs -> Add -> standa 阅读全文
posted @ 2012-12-22 13:34 jack_ou 阅读(1050) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2012-12-20 23:26 jack_ou 阅读(1557) 评论(1) 推荐(0) 编辑
摘要: 在用户使用 Java Swing 进行用户界面开发过程中,会碰到如何对 Java Swing 的控件进行布局的问题。Swing 的控件放置在容器 (Container) 中,容器就是能够容纳控件或者其它容器的类,容器的具体例子有 Frame、Panel 等等。容器需要定义一个布局管理器来对控件进行布局管理,Swing 当中提供的主要的布局管理器有 FlowLayout、BorderLayout、BoxLayout、GridLayout 和 GridBaglayout, 它们的主要特点如表 1 所示: 表 1. Swing 中的一些主要布局管理器的比较布局管理器特点FlowLayout把控件按照 阅读全文
posted @ 2012-12-19 00:44 jack_ou 阅读(6965) 评论(0) 推荐(0) 编辑
摘要: invokeAndWait:后面的程序必须等这个线程(参数中的线程)的东西执行完才能执行invokeLater:后面的程序和这个参数的线程对象可以并行,异步地执行invokeLater一般用于在线程里修改swing组件的外观,因为swing组件是非同步的,所以不能在线程中直接修改,会不同步,得不到期望的效果,所以要把修改外观的代码放在一个单独的线程中,交给invokeLater:后面的程序和这个参数的线程对象可以并行,异步地执行这样做的目的是为了使部件的外观与其事件处理能够协调。比如,你点击一个按钮,并且在该按钮的onClick事件里有处理代码。那么当按钮弹起来的时候,你就会知道,处理代码执行 阅读全文
posted @ 2012-12-18 08:22 jack_ou 阅读(3109) 评论(0) 推荐(0) 编辑
摘要: setMinimumSizepublic void setMinimumSize(Dimension minimumSize)将组件的最小尺寸设置为常量值。对 getMinimumSize 的后续调用总是返回此值。将最小尺寸设置为 null 可还原默认的行为。参数:minimumSize - 组件新的最小尺寸从以下版本开始:1.5另请参见:getMinimumSize(), isMinimumSizeSet() 阅读全文
posted @ 2012-12-13 23:41 jack_ou 阅读(1986) 评论(0) 推荐(0) 编辑
摘要: Java设置窗口大化时大小导入包: import java.awt.Frame; import java.awt.Rectangle; 实现代码: public class TestMain { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub // Create frame Frame frame = new Frame(); // Determine location and size of a maximized frame i... 阅读全文
posted @ 2012-12-13 23:02 jack_ou 阅读(1774) 评论(0) 推荐(0) 编辑
摘要: 表格(Table)的使用与介绍8-1:使用JTable组件:类层次结构图:java.lang.Object--java.awt.Component--java.awt.Container--javax.swing.JComponent--javax.swing.JTabel在使用JTable以前,我们先看一下它的构造函数有哪些, 以及应该如何使用:JTabel构造函数:JTable():建立一个新的JTables,并使用系统默认的Model.JTable(int numRows,int numColumns):建立一个具有numRows行,numColumns列的空表格,使用的是Default 阅读全文
posted @ 2012-12-07 14:10 jack_ou 阅读(1887) 评论(0) 推荐(0) 编辑
摘要: JTable是java桌面软件设计的一个很有用的UI控件,是一个表格控件,完整位置是:javax.swing.JTable。以下是我的一些使用经验:添加行:不能直接向JTable插入行,需要借助JTable的tableModel,代码如下:import javax.swing.table.DefaultTableModel;import javax.swing.JTable;。。。JTable table = new JTable();DefaultTableModel model = (DefaultTableModel) table.getModel();model.add(new Str 阅读全文
posted @ 2012-12-07 14:09 jack_ou 阅读(5432) 评论(0) 推荐(0) 编辑
摘要: 软件工程:Java开源UML建模工具[ 来源:软件工程 | 作者:软件工程 | 时间:2007-7-20 | 去论坛]ArgoUML使用java编写的开源UML产品,功能比较全。最受欢迎的UML建模工具。AlmaAlma是一个软件建模分析的工作平台,它读取几种不同的源代码,帮你设计面向对像的模型,修改结构和源代码,输出新的源代码、文档和图表。UMLet UMLet是一个开放源代码轻量级UML建模工具。UMLet能够让你快速建模,并且能够导出各种格式SVG, JPG, PDF and LaTeX-friendly EPS。UML/Dot UML/Dot这个项目从Java源代码或字节码中生成UML 阅读全文
posted @ 2012-12-03 22:53 jack_ou 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 原文:http://www.jiacheo.org/blog/262Java如何等待子线程执行结束今天讨论一个入门级的话题, 不然没东西更新对不起空间和域名~~工作总往往会遇到异步去执行某段逻辑, 然后先处理其他事情, 处理完后再把那段逻辑的处理结果进行汇总的产景, 这时候就需要使用线程了.一个线程启动之后, 是异步的去执行需要执行的内容的, 不会影响主线程的流程, 往往需要让主线程指定后, 等待子线程的完成. 这里有几种方式.站在 主线程的角度, 我们可以分为主动式和被动式.主动式指主线主动去检测某个标志位, 判断子线程是否已经完成. 被动式指主线程被动的等待子线程的结束, 很明显, 比较符 阅读全文
posted @ 2012-11-29 15:07 jack_ou 阅读(15965) 评论(1) 推荐(2) 编辑
摘要: 关于Java多线程知识可以看看《Thinking in Java 》中的多线程部分和《Java网络编程》中第5章多线程的部分以下是参考<<Java多线程模式>>的 1. sleep() & interrupt() 线程A正在使用sleep()暂停着: Thread.sleep(100000); 如果 阅读全文
posted @ 2012-11-29 13:58 jack_ou 阅读(495) 评论(0) 推荐(0) 编辑
摘要: 如何停止java线程如何停止java的线程一直是一个困恼我们开发多线程程序的一个问题。这个问题最终在Java5的java.util.concurrent中得到了回答:使用interrupt(),让线程在run方法中停止。简介在Java的多线程编程中,java.lang.Thread类型包含了一些列的方法start(), stop(), stop(Throwable) and suspend(), destroy() and resume()。通过这些方法,我们可以对线程进行方便的操作,但是这些方法中,只有start()方法得到了保留。在Sun公司的一篇文章《Why are Thread.sto 阅读全文
posted @ 2012-11-16 11:48 jack_ou 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 代码] 数组->List (StringArrayTest.java)view sourceprint?01 import java.util.Arrays;02 import java.util.List;03 import java.util.ArrayList;05 public class StringArrayTest06 {07 public static void main(String[] args)08 {09 String[] words = {"ace", "boom", "crew", "dog 阅读全文
posted @ 2012-11-12 15:02 jack_ou 阅读(700) 评论(0) 推荐(0) 编辑
摘要: 一、请问clob 和blob是什么意思?答:1,他们都是oracle数据库中的大对象数据类型,oracle提供专门的包对其操作。 2,blob、clob、nclob 三种大型对象(LOB),用来保存较大的图形文件或带格式的文本文件,如Microsoft Word文档,以及音频、视频等非文本文件,最大长度是4GB。 LOB有几种类型,取决于你使用的字节的类型,Oracle 8i实实在在地将这些数据存储在数据库内部保存。 可以执行读取、存储、写入等特殊操作 CLOB(Character Large Object) 用于存储对应于数据库定义的字符集的字符数据。(类似于long类型),常用于大文本的存 阅读全文
posted @ 2012-11-12 09:19 jack_ou 阅读(6168) 评论(0) 推荐(0) 编辑
摘要: DELETE 是有条件的删除表中的数据,如果不写条件,全表删除,而删除后,表仍然存在,仍可以对表进行操作。具体语法为DELETE FROM TABLE WHERE 条件。同样,还有一个TRUNCATE TABLE TABLENAME语句,是全表不提交删除,也是删除数据,表仍然存在。DROP TABLE,是从数据库中删除表。删除后,表结构不在存在,无法再对该表进行任何操作。举个通俗的例子,比如你有一个水桶,桶里装着水。而DELETE或者TRUNCATE,只是相当于把水倒掉,而桶仍然存在。而DROP TABLE,则相当于把桶都扔掉了。 阅读全文
posted @ 2012-11-11 01:44 jack_ou 阅读(982) 评论(0) 推荐(0) 编辑
摘要: 因为新的项目需要Derby这样的特性,所以决定在大量数据缓存部分用它,下面是转CSDN的关于Derby基本信息介绍:一、 Derby数据库介绍Derby是用纯Java写的一个事务、关系数据库,只占用很少的磁盘空间。Derby起源于CloudScape,后者是IBM从Informix获取的产品。在2004年,IBM决定将CloudScape开放源代码,使之成为Apache Software Foundation下的一个孵卵器项目,其名称为Derby。使用Derby的实际好处在于它需要最少的管理以及小的资源占用。磁盘上的数据库比较小,对于基本数据库,大约是2MB。管理最少的事实允许开发人员在代码中 阅读全文
posted @ 2012-11-11 01:06 jack_ou 阅读(5472) 评论(0) 推荐(0) 编辑
摘要: 下载地址:http://db.apache.org/derby/releases/release-10.8.3.0.cgiDerby数据库是一个纯用Java实现的内存数据库,属于Apache的一个开源项目。由于是用Java实现的,所以可以在任何平台上运行;另外一个特点是体积小,免安装,只需要几个小jar包就可以运行了。Derby数据库有两种运行模式:1)内嵌模式。Derby数据库与应用程序共享同一个JVM,通常由应用程序负责启动和停止,对除启动它的应用程序外的其它应用程序不可见,即其它应用程序不可访问它;2)网络模式。Derby数据库独占一个JVM,做为服务器上的一个独立进程运行。在这种模式下 阅读全文
posted @ 2012-11-11 01:05 jack_ou 阅读(3124) 评论(0) 推荐(0) 编辑
摘要: 因笔者最近有一个项目要使用内嵌数据库,在对内嵌数据库选型上纠结了一段时间,以下则是对各个内嵌数据库的整理总结给大家共享,有不当之处还请指正。Sqlite SQLite 第一个Alpha 版本诞生于2000 年5 月. 至今已经有10 个年头了. SQLite 也迎来了一个版本 SQLite 3 已经发布.SQLite 是一款轻型的数据库,是遵守ACID 的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K 的内存就够了。它能够支持 Windows/Linux/Unix 等等主流的操作系统,同时能够跟很多程序 阅读全文
posted @ 2012-11-10 21:59 jack_ou 阅读(617) 评论(0) 推荐(0) 编辑
摘要: package swing;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import java.util.*;/***JSplitPane 用于分隔两个(只能两个)Component。*本程序是JSplitPane的一个测试例子* @author oucq**/public class SplitPaneDemo extends JPanel implements ListSelectionListener { private JLabel picture; 阅读全文
posted @ 2012-10-13 22:28 jack_ou 阅读(1337) 评论(0) 推荐(0) 编辑
摘要: 简单讲就是在没有使用layout manager的时候用setSize,在使用了layout manager 的时候用setPreferredSize并且setPreferredSize通常和setMinimumSize、setMaximumSize联系起来使用setSize()是你手动来设置组件的大小 Dimension 类封装单个对象中组件的宽度和高度(精确到整数)。该类与组件的某个属性关联。由 Component 类和 LayoutManager 接口定义的一些方法将返回 Dimension 对象 setPreferredSize设置此组件的首选大小 一般会用setPreferredSi 阅读全文
posted @ 2012-10-13 21:36 jack_ou 阅读(4442) 评论(0) 推荐(2) 编辑
摘要: Java swing 窗口最小化到任务栏 点击右键显示菜单(复制代码即可运行查看效果)package swing;import java.awt.AWTException;import java.awt.Image;import java.awt.MenuItem;import java.awt.PopupMenu;import java.awt.SystemTray;import java.awt.Toolkit;import java.awt.TrayIcon;import java.awt.event.ActionEvent;import java.awt.event.ActionLis 阅读全文
posted @ 2012-10-12 00:02 jack_ou 阅读(3916) 评论(0) 推荐(0) 编辑
摘要: //设置软件在托盘上显示的图标 Toolkit tk = Toolkit.getDefaultToolkit(); Image img = tk.getImage("smile.gif");//*.gif与该类文件同一目录 SystemTray systemTray = SystemTray.getSystemTray(); //获得系统托盘的实例 TrayIcon trayIcon = null; try { trayIcon = new TrayIcon(img, "前20名网站排名点击器"); systemTray.add(trayIcon); / 阅读全文
posted @ 2012-10-10 09:50 jack_ou 阅读(3466) 评论(0) 推荐(0) 编辑
摘要: Java设置窗口图标importjava.awt.Frame;importjava.awt.Image;importjava.awt.Toolkit;实现代码:publicclassTestMain{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub//CreateframeStringtitle="FrameTitle";Frameframe=newFrame(title);//SeticonImageicon=Toolkit.getDefaultToolkit 阅读全文
posted @ 2012-10-10 09:49 jack_ou 阅读(1280) 评论(0) 推荐(0) 编辑
摘要: 一 抛砖引玉 本文指在利用一个小程序”Swing 组件大全”来引导大家学习Java这门语言,熟悉Java Swing的各个组件。并在学习过程中参考作者设计这一程序的方法和思想,最终形成自己的思维方式和学习方式。你能举一返三是作者最开心的事情。小程序演示了Java Swing大部分组件。最后附上了全部代码及详细的注释说明。希望本文能对大家学习Java有所帮助。 随着Java风潮席卷国内,学习Java的方法和路径越来越多。而在大量的书本前,在Java庞大的类库前大大家都有点迷失方向的感觉,是学 J2EE,J2ME还是。。。。。。然而所有的这些都或多或少的离不开J2SE。万丈高楼平地起。J2S... 阅读全文
posted @ 2012-10-08 11:03 jack_ou 阅读(2118) 评论(0) 推荐(0) 编辑
摘要: 一 抛砖引玉 本文指在利用一个小程序”Swing 组件大全”来引导大家学习Java这门语言,熟悉Java Swing的各个组件。并在学习过程中参考作者设计这一程序的方法和思想,最终形成自己的思维方式和学习方式。你能举一返三是作者最开心的事情。小程序演示了Java Swing大部分组件。最后附上了全部代码及详细的注释说明。希望本文能对大家学习Java有所帮助。 随着Java风潮席卷国内,学习Java的方法和路径越来越多。而在大量的书本前,在Java庞大的类库前大大家都有点迷失方向的感觉,是学J2EE,J2ME还是。。。。。。然而所有的这些都或多或少的离不开J2SE。万丈高楼平地起。J2SE... 阅读全文
posted @ 2012-09-29 14:39 jack_ou 阅读(2114) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://Java.sun.com/developer/technicalArticles/J2SE/Desktop/javadb/原作者:John O'Conner日期:2006-03摘要学习如何在Java桌面应用中部署基于Apache Derby的Java DB。该文章使用住址名册例子来向你演示一个嵌入式数据库Java DB是如何工作的。正文 Sun Microsystems最近公布发行支持基于100%Java技术的开源数据库Java DB——Apache Derby数据库。Derby之前是以Cloudscape的名字存在并被人使用,它是由Cloudscape、Inf 阅读全文
posted @ 2012-09-27 11:08 jack_ou 阅读(609) 评论(0) 推荐(0) 编辑
摘要: 最近项目接触到java的开源数据库Derby,就对它做个总结:它是面向对象的关系数据库,对于存储一些小数据量比较合适,可以做内嵌数据库使用.[java] view plaincopyprint?Class.forName("org.apache.derby.jdbc.EmbeddedDriver");//加载驱动 Connectionconn=DriverManager.getConnection("jdbc:derby:mydb;create=false");//连接数据库 Statementst=conn.createStatement();//st 阅读全文
posted @ 2012-09-27 09:38 jack_ou 阅读(776) 评论(0) 推荐(0) 编辑