26、Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
Math.round(11.5)==12
Math.round(-11.5)==-11
round方法返回与参数最接近的长整数,参数加0.5后求其floor。
27、String s = new String("xyz");创建了几个String Object?
两个
一个是编译时决定的,最后放在常量池中。一个是运行时放在堆里面的。两个都是"xyz"。
常量池中只可能只有一个“xyz”,但是堆中可能有多个,
因为这里用了new String来强制在堆中再创建了一个对象,所以是两个;
如果是String s= "xyz"这样的,s这个引用就会直接指向常量池的"xyz",而不会是指向你在堆中创建的“xyz ”。
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调度并执行。这并不意味着线程就会立即运行。
通过start()方法可以调用到run() 。
分享到:
相关推荐
java程序员面试题java程序员面试题java程序员面试题java程序员面试题java程序员面试题java程序员面试题
JAVA程序员面试题集合.pdf JAVA程序员面试题集合.pdf
Java程序员面试题集(1-50),共50道题目,都是面试java程序员必备的题目,有答案和详细解释
java中级程序员面试题 java程序员面试题 java工程师面试题
java程序员的面试题集,有各公司的面试,笔试题
JAVA程序员面试题(1)\JAVA程序员面试题,试题包括答案
2021最新Java程序员面试题,适合所有Java程序员阅读!
对JAVA程序员在面试过程中常遇见的基础问题进行分类汇总,共7个部分,这是第5个!
java程序员面试题集合,java开发相关类求职必备书籍。
新整理的2018年JAVA程序员面试题,比较全面,方便大家复习
------------------------------------- java程序员早期面试题汇总 BAT经典面试题汇总.pdf Java常考面试题.pdf java面试题(题库全)....程序员面试题精选100题.pdf ... -------------------------------------
java程序员面试试题,是华为的,是为了同大家共享JAVA程序员学习的资料
《Java程序员面试宝典》附带1张DVD光盘,内容为《Java程序员面试宝典》所有面试题的多媒体教学视频(共14.5小时)及免费赠送的55小时Java教学视频和5.5小时算法教学视频。授人以鱼,不如授人以渔。《Java程序员面试...
JAVA程序员面试题合集 JAVA程序员面试题合集
Java程序员面试题集锦-java程序员面试试题与解析doc精品模板.docx