1.String类可以被继承吗?
2.说说GC的算法。
3.你知道内部类吗?如何实现内部类以及内部类有何作用?
4.简单谈下Jsp,jsp中传值的对象有哪些,各自的区别?
5.一个java文件中可以同时定义两个public类吗?
6.finally{}是在try{}执行后还是执行前运行?
7.说说finnal,如果用finnal修饰一个类的话,这个类有什么特性?
8.说说int与Integer区别
还问了一些其他的问题,但只记得这些了。
2.说说GC的算法。
3.你知道内部类吗?如何实现内部类以及内部类有何作用?
4.简单谈下Jsp,jsp中传值的对象有哪些,各自的区别?
5.一个java文件中可以同时定义两个public类吗?
6.finally{}是在try{}执行后还是执行前运行?
7.说说finnal,如果用finnal修饰一个类的话,这个类有什么特性?
8.说说int与Integer区别
还问了一些其他的问题,但只记得这些了。
2. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途
3. CSDN下载频道仅提供交流平台,并不能对任何下载内容负责
4. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
5. 本站不保证本站提供的下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
2. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途
3. CSDN下载频道仅提供交流平台,并不能对任何下载内容负责
4. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
5. 本站不保证本站提供的下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
String是final类型 所以不能被继承2.说说GC的算法。看此帖http://hi.baidu.com/magicdemon/blog/item/a85be6ef3deea4f2b3fb953f.html3.你知道3.内部类吗?如何实现内部类以及内部类有何作用?
类的内部再写一个类。代码清晰 能够访问外部类的私有数据
5.一个java文件中可以同时定义两个public类吗?
NO
6.finally{}是在try{}执行后还是执行前运行?
try执行前
7.说说finnal,如果用finnal修饰一个类的话,这个类有什么特性?
finnal修饰的类不能被继承
8.说说int与Integer区别
Int是java的原始数据类型,Integer是java为int提供的封装类
try执行前 ??在try执行前运行???
啥意思?????
GC的那个看THINKING IN JAVA吧 里面墨迹的够详尽了
简单的说就是引用计数法,当一个对象没有被引用, 则此对象可以被回收。
回收的算法有:
复制法: 把堆分为两块A, B, 遍历A空间把活动的对象复制到B,然后一次性回收A区.
标记清除法:遍历所有对象,把活跃的对象作标记, 然后再次遍历的时候把所有没有标记的对象回收.
JDK5采用更先进的方法:分代:把堆分为3个区:年轻代,年老代,持久代,大多对象都在年轻代区域被创建,同时在年轻代的垃圾回收行为也最频繁,如果一个对象在年轻代历经数次GC都不死,则把它移到老年区.老年区的GC不会很频繁;一些核心的基础类将放在持久区,这个区基本不发生GC.
内部类的分类:成员内部类,静态内部类,局部内部类,匿名内部类成员内部类:如同类的普通成员一样。
1 可以加任意的修饰:private, protected.顶级类只可以为public, default
2 内部类不可脱离其外部类的限制使用, 因此在外部类以外创建内部类要这样:
outerObject=new outerClass(Constructor Parameters);
outerClass.innerClass innerObject=outerObject.new InnerClass(Constructor Parameters);
3 内部类对象可以访问外部类的任意变量或方法(包括private变量或方法);因为Java编译器在创建内部类对象时,隐式的把其外部类对象的引用也传了进去并一直保存着.
4 在内部类中,外部类与内部类同名的成员会被屏蔽, 不过可以这样访问外部的同名属性: OuterClass.this.field ;
5 内部类可以实现一个外部接口或抽象类, 外部类返回这样的一个接口,以达到隐藏接口的实现的目的.经典的例子:jdk中List的Iterator.
6 非静态内部类不能有静态成员,因为它违背了"成员类必须依赖外部类而存在"的原则(静态成员在Class被load的时候就初始化了);静态内部类:如同类的静态成员一样; 它和成员内部类的区别是它没有指向外部类的引用;
1 创建静态内部类对象:OuterClass.InnerClass obj = OuterClass.InnerClass(params);
2 静态内部类可以有非静态成员;
3 静态内部类只能访问外部类的静态成员;局部内部类:方法体或者代码片断中定义的类.
1 局部内部类前面不能有access修饰符; (和定义局部变量一样)
2 它有它自己的作用域,超出了这个范围就无效(无法使用);
3 它可以访问外部类的所有成员(因为外部类的成员对该方法可见);
4 定义在方法体中的内部类只能访问该方法的final变量,原因:定义在方法体中的变量会随着方法的退出而消亡,通过定义其为final变量,可以扩展其生命期;
5 定义在代码块中的内部类只能使用在该block中定义的final变量;匿名内部类:在某些情况下,我们只需要内部类的一个对象,而不需要该类的名字;
1 匿名内部类的实例化: new SomeInterfaceOrClass(){......}; 意思是创造一个实现(继承)了SomeInterfaceOrClass的类的对象;
2 定义匿名内部类的时候,如果用到外面的对象,需要把这个参数的引用声明成final的
public class Test { public static void main(String[] args) { System.out.println(new Test().test());;
} static int test()
{
int x = 1;
try
{
return x;
}
finally
{
++x;
}
}
}
觉得这个结果会是多少?
try执行前 这个问题很怪,try还没执行,在执行前执行,难道还没执行try块,就抛出异常了?
JAVA异常处理有两种套路:1,捕获try-catch-finally。2,抛出throws
编程时应该先考虑用try-catch,而不是throws
捕获异常的格式:
try{
//可能发生异常的代码....
}catch(xxException e){
//异常发生以后处理的代码
}finally{
//不管发生不发生异常一定要执行的代码
}
finally可以出现1到N次,如果catch不出现就必须出现finally,catch出现了finally随便出现不出现
try只能出现一次,catch出现0-1次
它的运行顺序:
1,如果不发生异常时候执行try-finally
2,发生异常,try必定冲断,到catch
3,发生异常,try冲断到finally
4,发生异常,try冲断catch到finally继续运行下去,因为捕获了异常
try{
1
2
3
}catch(){
4
}
finally{
5
}
6
2若发生异常,则程序执行了1,2,4,5,6执行完毕
方法终结的3种情况:1,代码执行完了;2,执行到return ;3,有未捕获异常抛出
在执行try{}中碰到return语句的时候它得看看有没有finally,因为finally是必须执行的。
它不可能返回去了还能执行finally。
个人理解,int是普通类型,默认值是0,int类型的数据可以自动装相称Integer类型;而Integer是int的包装类,默认值是null;
其余还有什么就不知道了
答案:int是基本类型。Integer是引用类型。Integer可以把String转换成int。String是不可继承的。(final类) http://topic.csdn.net/u/20091211/12/63a8e47b-a98f-4e59-b294-19dffd706a0b.html
2.引用计数法,tracing算法,compacting算法,还有其他的忘了
3.内部类作用实现隐藏信息和实现多重继承
4.request,queryString,session,application
5.不能
6.执行后吧
7.不能被继承
8.int是基本类型,Integer是引用类型。
应该是要问 在 return 执行的前后吧? (执行前执行 finally{})
这个问题有点搞啊,我测试了结果是1,但是用DEBUG 发现在执行 return之后还是执行finally{} ,并且 结果是2,但是打印后却是1.哪位给个解答?
调用垃圾回收方法:System.gc()
六楼基本回答正确。finally在try之后执行。
finally不管用没有错误,finally一定会被执行
即使try{return;} 有return, finally{}也会执行