- 浏览: 774646 次
- 性别:
- 来自: 未来
最新评论
-
StormFeng:
StormFeng 写道测试,ArrayList的性能在0.1 ...
Java中ArrayList和LinkedList区别 -
StormFeng:
测试,ArrayList的性能在0.17秒,而linkedli ...
Java中ArrayList和LinkedList区别 -
INexter:
大哥!!!binarySearch 有个大前提就是先是有序的, ...
Java中ArrayList和LinkedList区别 -
honey_fansy:
楼下新增的测试都不准,都没有一定的前提:ArrayList需要 ...
Java中ArrayList和LinkedList区别 -
Nabulio:
Mark太少了
Java中Collection和Collections的区别
文章列表
★ Java知识点汇总
全球软件项目外包平台 兼职做外包 挣Money!
当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comparator或Comparable,以简单的方式实现对象排序或自定义排序。下面通过两个例子分别用Comparable和Comparator实现对User对象中年龄排序。
1.通过实现Comparable接口,根据User的年龄进行排序。
import java.util.Arrays;
/**
* @author pengcqu
*
*/
public class ComparableUser imple ...
★ Java知识点汇总
全球软件项目外包平台 兼职做外包 挣Money!
Java笔试题经常考到“String和StringBuffer的区别”,对于二者区别网上已经有很多,实际应用中也要主要到二者的区别,二者性能的差别很大。本人通过小例子来比较二者性能,效果显著!
String:是对象不是原始类型. 为不可变对象,一旦被创建,就不能修改它的值. 对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去. String 是final类,即不能被继承.
StringBuffer: ...
1) Heap是 Stack的一个子集。
2) Stack存取速度仅次于寄存器,Stack里面的数据可共享,但是其中数据的大小和生存期必须在运行前确定。
3) Heap是运行时可动态分配的数据区,从速度看比Stack慢,Heap里面的数据不共享,大小和生存期都可以在运行时再确定。
4) new关键字 是运行时在Heap里面创建对象。每new一次都一定会创建新对象,因为堆数据不共享。
Eg: String str1= new String("abc"); (1)
String str2= "abc"; ...
★ Java知识点汇总
全球软件项目外包平台 兼职做外包 挣Money!
1)概念:是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
2)功能: 在运行时判断任意一个对象所属的类; 在运行时构造任意一个类的对象; 在运行时判断任意一个类所具有的成员变量和方法; 在运行时调用任意一个对象的方法;
生成动态代理。
3)获得某个对象的具体属性:Class ownerClass = owner.get ...
synchronized的两种使用方法:
1)同步对象 synchronized(对象名){临界区}
2)同步方法 public synchronized方法名(参数){临界区}
synchronized关键字可以让我们把任何一个Object对象做为同步对象来看待,而Java为每个Object都实现了wait()和notify()方法。它们必须用在被synchronized同步的Object的临界区内。通过的wait()我们可以使得处于临界区内的线程进入阻塞状态,同时释放被同步对象的控制权,而notify操作可以唤醒一个因调用了wait操作而处于阻塞状态中的线程,使其进入就绪状 ...
1)三个类加载器:
bootstrap classloader - 引导(也称为原始)类加载器,它负责加载Java的核心类。
extension classloader - 扩展类加载器,它负责加载JRE的扩展目录中JAR的类包。
system classloader - 系统(也称为应用)类加载器,加载应用程序的类。
bootstrap classloader不是一个真正的ClassLoader实例
2)获取引导类加载器加载了哪些类:
1)InputStream的基本方法
int read() throws IOException 读取一个字节以整数形式返回,如果返回-1已到输入流的末尾
void close() throws IOException 关闭流释放内存资源
long skip(long n) throws IOException 跳过n个字节不读
2)OutputStream的基本方法
void write(int b) throws IOException 向输出流写入一个字节数据
void flush() throws IOException 将输出流中缓冲的数据全部写出到目的 ...
- 2009-10-12 00:04
- 浏览 4006
- 评论(0)
1)垃圾回收的两个关键要素:
发现无用对象。
回收无用对象的内存空间。
2)6种垃圾回收算法:
引用计数法,tracing 算法,compacting算法,copying 算法,generation算法,adaptive算法。
1)wait() notify() sleep()
sleep是Thread类的函数,wait和notify是Object的函数。
sleep的时候keep对象锁,wait的时候release 对象锁。
sleep时监控状态依然保持。wait进入等待池,只有针对该对象发出了notify才会进入对象锁池。
Sleep时间过了就会恢复运行,wait后等到notify了,也
- 2009-10-11 15:58
- 浏览 3922
- 评论(1)
Java对对象和基本的数据类型的处理是不一样的。和C语言一样,当把Java的基本数据类型(如int,char,double等)作为入口参数传给函数体的时候,传入的参数在函数体内部变成了局部变量,这个局部变量是输入参数的一个拷贝,所有的函数体内部的操作都是针对这个拷贝的操作,函数执行结束后,这个局部变量也就完成了它的使命,它影响不到作为输入参数的变量。这种方式的参数传递被称为"值传递"。而在Java中用对象的作为入口参数的传递则缺省为"引用传递",也就是说仅仅传递了对象的一个"引用",这个"引用"的概念同C语 ...
Java各种排序算法集合:
1)插入排序(直接插入排序、希尔排序)
2)交换排序(冒泡排序、快速排序)
3)选择排序(直接选择排序、堆排序)
4)归并排序
5)分配排序(箱排序、基数排序)
......
大家觉得有用的请下载,别忘了顶下帖子!
相关链接:
★【分享】经典常用算法 Java和C语言两种实现
★ Java基础知识点汇总
通过Java C语言分别实现各种算法,图文并茂,描述很详细!
主要包括如下算法,很全面! 河内塔 费式数列 巴斯卡三角形 三色棋 老鼠走迷官(一) 老鼠走迷官(二) 骑士走棋盘 八个皇后 八枚银币 生命游戏 字串核对 双色、三色河内塔 背包问题(Knapsack Problem) 数、运算 蒙地卡罗法求 PI Eratosthenes筛选求质数 超长整数运算(大数运算) 长 PI 最大公因数、最小公倍数、因式分解 完美数 阿姆斯壮数 最大访客数 中序式转后序式(前序式) 选择、插入、气泡排序 Shell 排序法 - 改良的插入排序 Shaker 排序法 - 改良的气泡排序 Heap 排序法 ...