Java基础(2)

电影票

 

成都电影兑换券(上面图片地址)

 

21 Static Nested Class Inner Class 的不同。
22
JSP 中动态INCLUDE 与静态INCLUDE 的区别?
23
、什么时候用assert
24
GC 是什么? 为什么要有GC?
25
short s1 = 1; s1 = s1 + 1; 有什么错? short s1 = 1; s1 += 1; 有什么错?
26
Math.round(11.5) 等於多少? Math.round(-11.5) 等於多少?
27
String s = new String("xyz"); 创建了几个String Object?
28
、设计4 个线程,其中两个线程每次对j 增加1 ,另外两个线程对j 每次减少1 。写出程序。
29
Java 有没有goto?
30
、启动一个线程是用run() 还是start()?

 

21 Static Nested Class Inner Class 的不同。
Static Nested Class
是被声明为静态(static )的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。

22 JSP 中动态INCLUDE 与静态INCLUDE 的区别?
动态INCLUDEjsp:include 动作实现它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。
静态INCLUDEinclude 伪码实现, 定不会检查所含文件的变化,适用于包含静态页面


23
、什么时候用assert
assertion(
断言) 在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion 就是在程序中的一条语句,它对一个boolean 表达式进行检查,一个正确程序必须保证这个boolean 表达式的值为true ;如果该值为false ,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion 用于保证程序最基本、关键的正确性。assertion 检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion 检查通常是关闭的。


24
GC 是什么? 为什么要有GC?
  GC 是垃圾收集的意思(Gabage Collection, 内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java 提供的GC 功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java 语言没有提供释放已分配内存的显示操作方法。


25
short s1 = 1; s1 = s1 + 1; 有什么错? short s1 = 1; s1 += 1; 有什么错?
short s1 = 1; s1 = s1 + 1;
s1+1 运算结果是int 型,需要强制转换类型)
short s1 = 1; s1 += 1;
(可以正确编译)


26
Math.round(11.5) 等於多少? Math.round(-11.5) 等於多少?
Math.round(11.5)==12
Math.round(-11.5)==-11
round
方法返回与参数最接近的长整数,参数加1/2 后求其floor.


27
String s = new String("xyz"); 创建了几个String Object?
两个


28
、设计4 个线程,其中两个线程每次对j 增加1 ,另外两个线程对j 每次减少1 。写出程序。
以下程序使用内部类实现线程,对j 增减的时候没有考虑顺序问题。
public class ThreadTest1{
private int j;
public static void main(String args[]){
ThreadTest1 tt=new ThreadTest1();
Inc inc=tt.new Inc();
Dec dec=tt.new Dec();
for(int i=0;i<2;i++){
Thread t=new Thread(inc);
t.start();
t=new Thread(dec);
t.start();
}
}
private synchronized void inc(){
j++;
System.out.println(Thread.currentThread().getName()+"-inc

:"+j);
}
private synchronized void dec(){
j--;
System.out.println(Thread.currentThread().getName()+"-dec:"+j);
}
class Inc implements Runnable{
public void run(){
for(int i=0;i<100;i++){
inc();
}
}
}
class Dec implements Runnable{
public void run(){
for(int i=0;i<100;i++){
dec();
}
}
}
}


29
Java 有没有goto?
java
中的保留字,现在没有在java 中使用。


30
、启动一个线程是用run() 还是start()?
启动一个线程是调用start() 方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM 调度并执行。这并不意味着线程就会立即运行。run() 方法可以产生必须退出的标志来停止一个线程。

 

你可能感兴趣的:(java,thread,编程,jsp,J#)