摘要: java的几种对象(PO,VO,DAO,BO,POJO)解释 一、PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。 二、VO:value o... 阅读全文
posted @ 2014-05-19 09:14 rhino 阅读(2839) 评论(0) 推荐(0)
摘要: 转自http://www.zuidaima.com/share/1759652641295360.htm 阅读全文
posted @ 2014-04-29 16:53 rhino 阅读(583) 评论(0) 推荐(0)
摘要: 1用JAVA自带的函数public static boolean isNumeric(String str){ for (int i = str.length();--i>=0;){ if (!Character.isDigit(str.charAt(i))){ return false; } } return true; }2用正则表达式public static boolean isNumeric(String str){ Pattern pattern = Pattern.compile("[0-9]*"); return pattern.mat... 阅读全文
posted @ 2014-03-25 18:48 rhino 阅读(646) 评论(0) 推荐(0)
摘要: @Override public Component prepareEditor(TableCellEditor editor, int row, int column) { final Component comp = super.prepareEditor(editor, row, column); if (column == this.convertColumnIndexToView(this.treeRenderCol) && comp != null) { final int r = this.convertRowIndexTo... 阅读全文
posted @ 2014-02-19 10:58 rhino 阅读(369) 评论(0) 推荐(0)
摘要: //设置一个按钮为一个图片,不要border ImageIcon searchIcon = ImageToolkit.loadImageIcon(/search.png"); ImageIcon searchHoverIcon = ImageToolkit.loadImageIcon("/search_hover.png"); ImageIcon searchPressIcon = ImageToolkit.loadImageIcon("/search_press.png"); searchBtn ... 阅读全文
posted @ 2014-01-10 16:46 rhino 阅读(757) 评论(0) 推荐(0)
摘要: import java.awt.Color;import java.awt.Font;import java.awt.font.FontRenderContext;import java.awt.geom.AffineTransform;public class SwingUtil { private static AffineTransform atf = new AffineTransform(); private static FontRenderContext frc = new FontRenderContext(atf, true, true); ... 阅读全文
posted @ 2014-01-10 16:10 rhino 阅读(1946) 评论(0) 推荐(1)
摘要: ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它命名为ThreadLocalVariable更容易让人理解一些。所以,在Java中编写线程局部变量的代码相对来说要笨拙一些,因此造成线程局部变量没有在Java开发者中得到很好的普及。ThreadLocal的接口方法ThreadLocal类接口很简单,只有4个方法,我们先来了解一下:void set(Object value)public void remove()将当前线程局部变量的值删除,目的是为了减少内存的占用,该方法是JDK 1 阅读全文
posted @ 2013-12-09 19:17 rhino 阅读(407) 评论(0) 推荐(0)
摘要: 1,给默认的tab键遍历控件,添加别的按键的 private void registerKeyTravel() { //回车键顺序遍历 KeyStroke enterKS = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0); Set ksSet = new HashSet(); Set set = getFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS); ksSet.addAll(set); ... 阅读全文
posted @ 2013-12-09 18:40 rhino 阅读(610) 评论(0) 推荐(0)
摘要: Java API针对集合类型排序提供了两种支持:java.util.Collections.sort(java.util.List)java.util.Collections.sort(java.util.List, java.util.Comparator)第一个方法要求所排序的元素类必须实现java.lang.Comparable接口。import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;/** * @author rhino * . 阅读全文
posted @ 2013-12-04 08:55 rhino 阅读(1485) 评论(0) 推荐(0)
摘要: public class CallValueOrAddress{ private String name; private int age; public void setName(String name){ this.name=name; } public String getName(){ return name; } public void setAge(int age){ th... 阅读全文
posted @ 2013-10-31 19:43 rhino 阅读(6932) 评论(0) 推荐(0)
摘要: 操作XML的几种方式1.DOM生成和解析XML文档为 XML 文档的已解析版本定义了一组接口。解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以使用 DOM 接口来操作这个树结构。优点:整个文档树在内存中,便于操作;支持删除、修改、重新排列等多种功能;缺点:将整个文档调入内存(包括无用的节点),浪费时间和空间;使用场合:一旦解析了文档还需多次访问这些数据;硬件资源充足(内存、CPU)。2.SAX生成和解析XML文档为解决DOM的问题,出现了SAX。SAX ,事件驱动。当解析器发现元素开始、元素结束、文本、文档的开始或结束等时,发送事件,程序员编写响应这些事件的代码,保存数据。优点 阅读全文
posted @ 2013-09-30 15:04 rhino 阅读(554) 评论(0) 推荐(0)
摘要: DOM对象详解1.基本的DOM对象DOM的基本对象有5个:Document,Node,NodeList,Element和Attr。下面就这些对象的功能和实现的方法作一个大致的介绍。Document 对象代表了整个XML的文档,所有其它的Node,都以一定的顺序包含在Document对象之内,排列成一个树形的结构,程序员可以通过遍历这颗树来得 到XML文档的所有的内容,这也是对XML文档操作的起点。我们总是先通过解析XML源文件而得到一个Document对象,然后再来执行后续的操作。此 外,Document还包含了创建其它节点的方法,比如createAttribut()用来创建一个Attr对象。 阅读全文
posted @ 2013-09-29 17:04 rhino 阅读(1857) 评论(0) 推荐(0)
摘要: 在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。典型的冲突有:l丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。l脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:用户A,B看到的值都是6,用户B把值改为2,用户A读到的值仍为6。为了解决这些并发带来的问题。 我们需要引入并发控制机制。悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作。[1]乐观锁:假设不会发生并发冲突,只在提交操作时检查是否违反数据完整性。[1]乐观锁不能 阅读全文
posted @ 2013-09-29 09:13 rhino 阅读(390) 评论(0) 推荐(0)
摘要: Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。Java 内用 Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流和 java 内 Unicode 字符流之间的转换。而类 InputStreamReader 和 OutputStreamWriter 处理字符流和字节流的转换。字符流(一次可以处理一个缓冲区)一次操作比字节流(一次一个字节)效率高。( 一 )以字节为导向的 stream------InputStream/OutputStream. 阅读全文
posted @ 2013-09-27 16:07 rhino 阅读(419) 评论(0) 推荐(0)
摘要: Java1.5特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。注意:可变参数必须位于最后一项。当可变参数个数多于一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项。可变参数的特点:1,只能出现在参数列表的最后;2,...位于变量类型和变量名之间,前后有无空格都可以;4,调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中一数组的形式访问可变参数。 private int testVar(i... 阅读全文
posted @ 2013-09-27 10:45 rhino 阅读(343) 评论(0) 推荐(0)
摘要: clipse调试Java的10个技巧先提三点不要使用System.out.println作为调试工具启用所有组件的详细的日志记录级别使用一个日志分析器来阅读日志1、条件断点想象一下我们平时如何添加断点,通常的做法是双击行号的左边。在debug视图中,BreakPoint View将所有断点都列出来,但是我们可以添加一个boolean类型的条件来决定断点是否被跳过。如果条件为真,在断点处程序将停止,否则断点被跳过,程序继续执行。2、异常断点在断点view中有一个看起来像J!的按钮,我们可以使用它添加一个基于异常的断点,例如我们希望当NullPointerException抛出的时候程序暂停,我们 阅读全文
posted @ 2013-09-26 16:48 rhino 阅读(585) 评论(0) 推荐(0)
摘要: 用Eclipse Debug,当跟踪进jdk api里时(比如javax.swing包里的类),无法查看某些local filed的值。这是因为jdk里的代码在打包时删除了一些用于调试的信息,以减小安装包的体积。不过可以通过重新编译jdk源代码来恢复此功能。1.在Eclipse里新建一个java工程,把jdk_home/src.zip解压缩,复制java,javax两个目录的源代码到新建工程的src目录下。2.build整个工程。如果build报Access restriction错误,是因为源代码里调用了com.sun等包的内容。可设置eclipse忽略这些错误。修改如下:Windows.. 阅读全文
posted @ 2013-09-24 15:25 rhino 阅读(677) 评论(0) 推荐(0)
摘要: 异常:Access restriction: The method typeNameToClass(String) from the type ObjectHandler is not accessible due to restriction on required library解决方法:这是eclipse设置问题,eclipse默认把这些受访问限制的API设成了ERROR,只要把Windows-Preferences-Java-Complicer-Errors/Warnings里面的Deprecated and restricted API中的Forbidden references(a 阅读全文
posted @ 2013-09-24 08:39 rhino 阅读(1285) 评论(0) 推荐(0)
摘要: 一般情况下是不可以用static修饰类的。如果一定要用static修饰类的话,通常static修饰的是匿名内部类。在一个类中创建另外一个类,叫做成员内部类。这个成员内部类可以静态的(利用static关键字修饰),也可以是非静态的。由于静态的内部类在定义、使用的时候会有种种的限制。所以在实际工作中用到的并不多。在开发过程中,内部类中使用的最多的还是非静态地成员内部类。不过在特定的情况下,静态内部类也能够发挥其独特的作用。 一、静态内部类的使用目的。 在定义内部类的时候,可以在其前面加上一个权限修饰符static。此时这个内部类就变为了静态内部类。不过由于种种的原因,如使用上的限制等等因素... 阅读全文
posted @ 2013-08-06 13:56 rhino 阅读(770) 评论(0) 推荐(0)
摘要: 建立索引为什么能加快查询速度 这是因为,创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。 也许会有人要问:增加索引有如此多的优点,为什么不对表中的每一个列创建一个索引呢?这种想法固然有其合理性,然而也有其片面性。虽然,索引有许多优点,但是,为表中的每... 阅读全文
posted @ 2013-07-31 09:18 rhino 阅读(8095) 评论(0) 推荐(2)