随笔分类 -  Java

摘要:几种任务调度的 Java 实现方法与比较 阅读全文
posted @ 2014-05-01 23:48 zero516cn 阅读(1363) 评论(0) 推荐(1) 编辑
摘要:1、找零时刻(货币计算问题) 2、条件运算符 3、赋值运算符(复合赋值表达式) 4、String “+” 连接操作:畜牧场 阅读全文
posted @ 2012-10-28 18:36 zero516cn 阅读(3623) 评论(0) 推荐(0) 编辑
摘要:说起垃圾收集(Garbage Collection,GC),大部分人都把这项技术当做Java语言的伴生产物。事实上,GC的历史远远比Java久远, 1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。当Lisp还在胚胎时期时,人们就在思考:   GC需要完成的三件事情:      哪些内存需要回收?     什么时候回收?     如何回收?   经过半个世纪的发展,内存的动态分配与内存回收技术已经相当成熟,一切看起来都进入了“自动化”时代,那为什么我们还要去了解GC和 内存分配呢?答案很简单:当需要排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就需要对这些“自 动化”的技术实施必要的监控和调节。 阅读全文
posted @ 2012-10-19 13:41 zero516cn 阅读(14418) 评论(10) 推荐(7) 编辑
摘要:对于从事C和C++程序开发的开发人员来说,在内存管理领域,他们既是拥有最高权力的皇帝,又是从事最基础工作的劳动人民—既拥有每 一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任。   对于Java程序员来说,在虚拟机的自动内存管理机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,而且不容易出现 内存泄漏和内存溢出问题,看起来由虚拟机管理内存一切都很美好。不过,也正是因为Java程序员把内存控制的权力交给了Java虚拟机,一旦 出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那排查错误将会成为一项异常艰难的工作。 阅读全文
posted @ 2012-10-18 21:00 zero516cn 阅读(83465) 评论(4) 推荐(14) 编辑
摘要:巨人网络的三道坑爹改错题 看看你能中几枪。。。 阅读全文
posted @ 2012-10-17 08:56 zero516cn 阅读(13020) 评论(71) 推荐(3) 编辑
摘要:实现Runnable接口相对于扩展Thread类来说,具有无可比拟的优势。这种方式不仅有利于程序的健壮性,使代码能够被多个线程共享,而且代码和数据资源相对独立,从而特别适合多个具有相同代码的线程去处理同一资源的情况。这样一来,线程、代码和数据资源三者有效分离,很好地体现了面向对象程序设计的思想。因此,几乎所有的多线程程序都是通过实现Runnable接口的方式来完成的。 阅读全文
posted @ 2012-10-15 18:46 zero516cn 阅读(30600) 评论(4) 推荐(4) 编辑
摘要:每个线程都有一个优先级,高优先级线程的执行优先于低优先级线程。每个线程都可以或不可以标记为一个守护程序。当某个线程中运行的代码创建一个新 Thread 对象时,该新线程的初始优先级被设定为创建线程的优先级,并且当且仅当创建线程是守护线程时,新线程才是守护程序。 阅读全文
posted @ 2012-10-15 17:25 zero516cn 阅读(8635) 评论(0) 推荐(1) 编辑
摘要:Java运算符优先级 阅读全文
posted @ 2012-10-13 18:47 zero516cn 阅读(129675) 评论(8) 推荐(13) 编辑
摘要:给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url 阅读全文
posted @ 2012-10-11 00:11 zero516cn 阅读(1555) 评论(0) 推荐(0) 编辑
摘要:题目:现有ABCDE 5个球 构成的排列组合 可重复抽取 最多取到16个 共有多少种组合方式? 阅读全文
posted @ 2012-10-11 00:02 zero516cn 阅读(5906) 评论(0) 推荐(0) 编辑
摘要:1.有三根杆子A,B,C。A杆上有若干碟子 2.每次移动一块碟子,小的只能叠在大的上面 3.把所有碟子从A杆全部移到C杆上 阅读全文
posted @ 2012-10-10 23:16 zero516cn 阅读(16865) 评论(0) 推荐(1) 编辑
摘要:经典洗牌算法 阅读全文
posted @ 2012-10-10 22:44 zero516cn 阅读(4826) 评论(0) 推荐(0) 编辑
摘要:将e:/source文件夹下的文件打个zip包后拷贝到f:/文件夹下面 阅读全文
posted @ 2012-10-10 20:57 zero516cn 阅读(1024) 评论(0) 推荐(0) 编辑
摘要:类通过实现java.io.Serializable接口可以启用其序列化功能。未实现次接口的类无法使其任何状态序列化或反序列化。可序列化类的所有子类型本身都是可序列化的。序列化接口没有方法或字段,仅用于标识可序列化的语义。 阅读全文
posted @ 2012-10-10 15:50 zero516cn 阅读(46316) 评论(1) 推荐(8) 编辑
摘要:String: char[] + 方法(操作, API功能)   StringBuilder: char[] + 方法(操作char[] 的内容)   String:内部包含内容不可变的char[],表现为String对象不可变。String包含操作(API方法),是对char[]操作,但不改变原对象经常返回新的对象,很多String API提供了复杂的性能优化算法,如:静态字符串池。   StringBuilder:内部也是一个char[],但是这个数组内容是可变的,并且自动维护扩容算法,因为数据内容可变,所以叫:可变字符串。StringBuilder API方法,是动态维护char[]内容,都可以改变char[]内容。 阅读全文
posted @ 2012-10-07 18:24 zero516cn 阅读(44857) 评论(2) 推荐(4) 编辑
摘要:浅层复制: 被复制的对象的所有成员属性都有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅层复制仅仅复制所考虑的对象,而不复制它所引用的对象。(概念不好理解,请结合下文的示例去理解)   深层复制:被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不是原有的那些被引用的对象。换言之,深层复制要复制的对象引用的对象都复制一遍。 阅读全文
posted @ 2012-10-07 12:52 zero516cn 阅读(25004) 评论(10) 推荐(6) 编辑
摘要:Java Arrays中提供了对所有类型的排序。其中主要分为Primitive(原始的)和Object两大类,分别使用了快速排序与归并排序。本章以int[] 的排序,讲解Java对Primitive排序。 阅读全文
posted @ 2012-10-04 20:48 zero516cn 阅读(23319) 评论(2) 推荐(9) 编辑
摘要:java中单例模式是一种常见的设计模式,单例模式分三种:懒汉模式单例、饿汉模式单例、登记模式的那里三种。   单例模式有一下特点:   1、单例类只能有一个实例。   2、单例类必须自己自己创建自己的唯一实例。   3、单例类必须给所有其他对象提供这一实例。 阅读全文
posted @ 2012-09-16 15:21 zero516cn 阅读(1198) 评论(0) 推荐(0) 编辑
摘要:&与&&的区别   1)&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。   2)&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str!=null&&!str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。If(x==33&++y>0)y会增长,If(x==33&&++y>0)不会增长   3)&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31&0x0f的结果为0x01。 阅读全文
posted @ 2012-09-13 23:47 zero516cn 阅读(2687) 评论(0) 推荐(0) 编辑
摘要:• 接口是一种规范,是一种规则,它只给出了方法的样子,规定你要实现哪些方法,而不给出方法的实现,让接口的实现类去实现这些方法,但是对于不同的实现类来说,对方法的实现可以完全不同。 • 接口的实现类如果实现了某一个接口,那么必须实现接口中定义的所有的待实现的方法。如果你不想要实现方法,那么实现类必须定义为抽象类,不想实现的方法必须定义为抽象方法。 • 接口中定义的属性和方法的默认访问级别都是public,所以方法肯定不被private所修饰,所有的方法前都默认包含了abstract ,表明它是一个抽象方法,但是可以省略,而且默认是省略的 • 接口实际上是一个抽干了的抽象类,它里面所有的方法都是抽象的,都是不能给出任何实现部分的----- 干尸类 • 因为接口是一种特殊的“抽象类”,而且因为抽象类可以继承别的类,所以接口也可以继承接口,也只可以继承接口。但是接口不可以实现接口。   • 一个类可以实现多个接口使用关键字implements ,一个接口可以继承多个接口使用关键字extends,一个类可以同时继承一个别的类,而且实现一个或多个接口,但是关键 阅读全文
posted @ 2012-09-12 13:47 zero516cn 阅读(1446) 评论(0) 推荐(0) 编辑