随笔分类 -  JavaSE

Class.getResource与ClassLoader.getResource()区别
摘要:Class.getResource是根据类的相对路径来访问资源的。如果该类没有package,则类的根路径是就是当前路径;如果该类有package,则类的根路径是定级包所在的路径。下面显示了一个类的包层次结构:+bin--+myjava-- Drawing.class+images-- title.gif假设我们要获取title.gif对象,可以通过以下方式得到:1 Image img = (new ImageIcon(Drawing.class.getResource("/images/title.gif"))).getImage();2 Image img = (new 阅读全文

posted @ 2012-11-25 15:30 loritin 阅读(529) 评论(0) 推荐(0)

Java垃圾回收
摘要:我们知道,许多程序设计语言都允许在程序运行期动态地分配内存空间。分配内存的方式多种多样,取决于该种语言的语法结构。但不论是哪一种语言的内存分配方式,最后都要返回所分配的内存块的起始地址,即返回一个指针到内存块的首地址。当已经分配的内存空间不再需要时,换句话说当指向该内存块的句柄超出了使用范围的时候,该程序或其运行环境就应该回收该内存空间,以节省宝贵的内存资源。 在C,C++或其他程序设计语言中,无论是对象还是动态配置的资源或内存,都必须由程序员自行声明产生和回收,否则其中的资源将消耗,造成资源的浪费甚至死机。但手工回收内存往往是一项复杂而艰巨的工作。因为要预先确定占用的内存空间是否应该被回收是 阅读全文

posted @ 2012-10-21 21:41 loritin 阅读(483) 评论(0) 推荐(0)

Java问题解析:到底创建了几个String对象?
摘要:我们首先来看一段代码: Java代码 String str=new String("abc"); 紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢?相信大家对这道题并不陌生,答案也是众所周知的,2个。接下来我们就从这道题展开,一起回顾一下与创建String对象相关的一些JAVA知识。 我们可以把上面这行代码分成String str、=、"abc"和new String()四部分来看待。String str只是定义了一个名为str的String类型的变量,因此它并没有创建对象;=是对变量str进行初始化,将某个对象的引用( 阅读全文

posted @ 2012-10-17 20:32 loritin 阅读(563) 评论(0) 推荐(0)

有List<String> list1和List<String> list2,两个集合各有上万个元素,怎样高效取出两个集合中不同的元素?
摘要:如题:要实现高效的遍历list,那么通过map实现为最佳算法,以下是实现思路: * 1、用map存放list1和list2的所有元素,key为2个list的元素,value为元素出现的次数 * 2、在遍历2个list时,如果有相同的元素,则value++,如果没有,则直接添加到no_list * 3、最后遍历map,取出value为1的元素,添加到no_list代码如下: 1 public class Main { 2 3 /** 4 * @param args 5 */ 6 public static void main(String[] arg... 阅读全文

posted @ 2012-09-03 22:22 loritin 阅读(2016) 评论(7) 推荐(0)

导航