三十4、编码转换,怎样实现将GB2312 编码的字符串转换为ISO-8859-1 编码的字符串。 java
String a=new String("中".getBytes("gb2312"),"iso-8859-1"); 程序员
String a=new String("中".getBytes("iso-8859-1")); 安全
具体示例参考:http://blog.csdn.net/u010142437/article/details/11808525 this
三十5、垃圾回收器的基本原理是什么?垃圾回收器能够立刻回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? 编码
对于GC来讲,当程序员建立对象时,GC就开始监控这个对象的地址、大小以及使用状况。一般,GC采用有向图的方式记录和管理堆(heap)中的全部对象。经过这种方式肯定哪些对象是"可达的",哪些对象是"不可达的"。当GC肯定一些对象为"不可达"时,GC就有责任回收这些内存空间。能够。程序员能够手动执行System.gc(),通知GC运行,可是Java语言规范并不保证GC必定会执行。 spa
三十6、是否能够从一个static方法内部发出对非static方法的调用? .net
准确回答是不能直接调用。 线程
由于非static方法是要与对象关联在一块儿的,必须建立一个对象后,才能够在该对象上进行方法调用,而static方法调用时不须要建立对象,能够直接调用。也就是说,当一个static方法被调用时,可能尚未建立任何实例对象。好比你在main方法中直接去调用一个非static的方法,是不能经过编译的。可是你若是在静态方法中,先去实例化一个对象,而后在调用其方法是能够的。 code
三十7、写clone()方法时,一般都有一行代码,是什么? 对象
super.clone(); Clone 有缺省行为,他负责产生正确大小的空间,并逐位复制。(首先要把父类中的成员复制到位,而后才是复制本身的成员)。
三十8、Collection和Collections的区别
1.Collection是集合的根接口,其下有set 及list,关于set和list前面已详细介绍过。
2.Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各类集合的搜索、排序、线程安全化等操做。
三十9、Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==仍是equals()? 它们有何区别?用contains来区分是否有重复的对象。仍是都不用。
Set集合元素不可重复,比较元素是否相等,要重写equals和hashcode 。
在比较时先调用hashCode方法,若是不相同,证实不相等;若是相同,再调用equals方法,若是equals方法相同,证实相等;不相同,证实不相等。
也就是说只有调用hashCode和equals都相等的状况下,才相等。其他均不相等。
至于equals()和==区别前面已经详细介绍过。
Contains用来判断集合中是否包含某个元素。
四10、用java 代码编写栈
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
packagecom.lovo;
publicclassStack {
int[] data;
intmaxSize;
inttop;
publicStack(intmaxSize) {
this.maxSize = maxSize;
data =newint[maxSize];
top = -1;
}
/**
* 依次加入数据
*
*
@param data
* 要加入的数据
*
@return 添加是否成功
*/
publicbooleanpush(intdata) {
if(top +1== maxSize) {
System.out.println("栈已满!");
returnfalse;
}
this.data[++top] = data;
returntrue;
}
/**
* 从栈中取出数据
*
*
@return 取出的数据
*/
publicintpop()throwsException {
if(top == -1) {
thrownewException("栈已空!");
}
returnthis.data[top--];
}
publicstaticvoidmain(String[] args)throwsException {
Stack stack =newStack(1000);
stack.push(1);
stack.push(2);
stack.push(3);
stack.push(4);
stack.push(5);
while(stack.top >=0) {
System.out.println(stack.pop());
}
}
}
|