上一页 1 ··· 7 8 9 10 11 12 13 下一页
摘要: 最近在看Oracle Database 11g SQL-Master SQL and PL/SQL in theOracle Database 其中的一个章节“SQL Tuning”,顺带记下书中提到的优化建议。1. 使用表连接,而不是多条查询语句(use table joins rather than multiple queries) 注:如果有多个表join,应该大表先join,小表后join. 比如:Assume tab1 contains 1,000 rows, tab2 100 rows, and tab3 10 rows. You should join tab1 with ta 阅读全文
posted @ 2013-04-30 16:44 BaronZ 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 昨天同事有问到有一些Iterator是怎么知道hasNext是怎么知道还有多余元素的。呵呵,听起来有点好笑。其实也正常。我刚开始学c的结构体的时候,有一个字段是 last,我也在疑问,为什么last就是表示最后一个元素,难道last是一个关键字。今天看了一下jdk源码,给同事写了一份简单的例子。把代码附上,以便以后查看,怕忘了,呵呵。public class Test { public static void main(String[] args) { MyList<String> list = new MyList<String>(); list.s... 阅读全文
posted @ 2013-04-17 10:27 BaronZ 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 忘了在哪看到那个问题,引起了我的疑问,我在CSDN发了一个帖。我把代码帖上来,各位不妨先不看下面的解释,看看输出结果是什么class Test { private int t; Test(int t) { this.t = t; } static void changeRef(Test test) { test = new Test(1); } public static void main(String[] args) { Test test = new Test(2); change... 阅读全文
posted @ 2013-03-19 11:09 BaronZ 阅读(1743) 评论(16) 推荐(0) 编辑
摘要: 这两天看一个视频,写俄罗斯方块游戏的。发现他写的控制方块方向的是用静态常量来表示。即public static final int Left = 0;想想看了effective java,item 30 说过,要用enum代替int常量。我也就想当然地试了一下。由于之前没写过枚举,有的只是看过。果然出问题了错误示范,eclipse提示如下错误:The qualified case label Snake.Action.LEFT must be replaced with the unqualified enum constant LEFTpublic enum Action{ LEFT,... 阅读全文
posted @ 2013-03-05 10:42 BaronZ 阅读(2998) 评论(1) 推荐(0) 编辑
摘要: 第三章 对于所有通用的方法 主要讲的是对Object类的非final方法(equals,hashCode,toString,clone和finalize)覆盖的一些规则1.覆盖equals时请遵守通用约定(item 8) 1.1 这一个item讲了一些比较抽象的定义,比如自反性,对称性等。不太好理解,感觉执行起来也有一定难度。因为java提供的api中也有几个是违反了这些原则的。我想可能是类似于淘宝之类的大公司才会很严格的执行?没看不知道覆盖equals这么难。难怪文章开头说为了避免这些问题,就不要去覆盖equals。但是,对于一些逻辑相等(logical equality)的比较还是得覆盖. 阅读全文
posted @ 2013-01-07 14:53 BaronZ 阅读(190) 评论(1) 推荐(0) 编辑
摘要: 第二章 创建和销毁对象1.考虑用静态工厂方法代替构造器的优势(item 1) 1.1 静态工厂方法是有名称的,比构造器更加明确的描述这个方法返回的对象。更便于阅读。注,这里的静态工厂方法与设计模式的工厂方法不同。 1.2 不必在每次调用它们的时候都创建一个新对象 1.3 相比构造器,它们可以返回原返回类型的任何子类型的对象。这样我们在选择返回对象的类时就有了更大的灵活性。我的理解是类似于面向接口编程。Java Collections Framework的集合接口有32个使得实现,分别提供了不可修改的集合、同步集合等。几乎所有这些实现都通过静态工厂方法在一个不可实例化的类java.util... 阅读全文
posted @ 2013-01-03 17:41 BaronZ 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 1.不同系统在java平台上运行的java程序(这张图不错)2.java虚拟机的主要任务就是用类装载器(class loader)从程序和API中装载class文件,3.java中有两种方法:java方法和本地方法(native method) 并且执行其中的字节码。(类的加载:把class文件读入内存, 并创建一个Class对象)前者是java语言编写的,与平台无关。后者用c/c++/汇编 编写的,与平台有关 4.通过本地方法,java程序可以直接访问底层操作系统的资源。但是这样用,程序会变成平台相关的,因为包含本地方法的动态... 阅读全文
posted @ 2012-12-24 15:02 BaronZ 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 最近写了两个GUI小程序,都是和写文件有关的。但是都发现,每次程序运行起来,关闭按钮就不起作用。上了“爆栈”网站和CSDN发了帖,爆栈给出的原因如下,有需要翻译的请留言。 The EDT(Event Dispatch Thread) is responsible for (amongst other things) processing all the UI events that occur, including the request to close your window. But if you block this thread with time consuming tasks . 阅读全文
posted @ 2012-12-12 11:34 BaronZ 阅读(3111) 评论(0) 推荐(0) 编辑
摘要: 用JAVA打开指定应用程序(软件),比如qq,浏览器。代码如下public static void open(){ if (java.awt.Desktop.isDesktopSupported()) { try { java.awt.Desktop dp = java.awt.Desktop.getDesktop(); if (dp.isSupported(java.awt.Desktop.Action.BROWSE)) { dp.open(n... 阅读全文
posted @ 2012-12-10 16:47 BaronZ 阅读(1746) 评论(0) 推荐(0) 编辑
摘要: 我们都知道,在比较两个对象是否相同时,会用到equals方法,比如List的contains方法,就会调用比较对象的equals方法。前段时间在公司写的一个文件查看小工具,就用到了equals这个方法。具体是遍历两个现个文件夹,如果名称相同的话,比较它们的文件大小,大小不同的话就列举出来。 由于不精通算法。就用了土方法。遍历两个指定的文件夹,把拿到的文件对象存到两条列表中。再对一个列表进行遍历,然后用List的contains判断是否是符合要求的文件,是的话就存到另外一个List,最后返回出去。List<FileEntity> a_files = getFiles("a_ 阅读全文
posted @ 2012-11-30 11:20 BaronZ 阅读(233) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 下一页