`

15道非常经典的Java面试题

    博客分类:
  • java
阅读更多

试题如下:

 

参考答案:

import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * Created by ysc on 7/26/16.
 */
public class Interview {
    private static void one(){
        String str1 = "hello";
        String str2 = "he"+new String("llo");
        System.err.println(str1==str2);
        System.out.println("1. false");
    }
    private static void two(){
        int i = Integer.MAX_VALUE;
        System.err.println((i+1)<i);
        System.out.println("2. 存在一个i, 使得(i+1)<i");
    }
    private static void three(){
        System.err.println("gc is not a Java Thread, it is a native thread");
        Thread.getAllStackTraces().keySet().forEach(thread -> System.out.println(thread.getName()+"->"+thread.isDaemon()+" "+thread.getPriority()));
        System.out.println("3. gc线程是daemon线程");
    }
    private static volatile int count = 0;
    private static void four(){
        ExecutorService executorService = Executors.newCachedThreadPool();
        for(int j=0; j<10; j++){
            executorService.submit(()->{
                for(int i=0; i<1000000; i++){
                    count++;
                }
            });
        }
        System.out.println("count should be: "+10000000+", actual be: "+count);
        System.out.println("4. volatile不能保证线程安全");
    }
    private static void five(){
        ArrayList<Integer> list = new ArrayList<>(20);
        list.add(1);
        System.out.println("debug code, not execute grow method");
        System.out.println("5. list grow 0 times");
    }
    private static void six() {
        System.out.println("BufferedReader's constructor only accepts a Reader instance");
        System.out.println("6. new BufferedReader(new FileInputStream(\"a.dat\")); is wrong");
    }
    private static void seven() {
        try{
            if(true){
                throw new IOException();
            }
        }catch (FileNotFoundException e){
            System.out.print("FileNotFoundException!");
        }catch (IOException e){
            System.out.print("IOException!");
        }catch (Exception e){
            System.out.print("Exception!");
        }
        System.out.println("\n7. IOException!");
    }
    private static void eight() {
        System.out.println("String s;System.out.println(s); error: variable s might not have been initialized\nRecompile with -Xlint:unchecked for details.");
        System.out.println("8. 由于String s没有初始化, 代码不能编译通过");
    }
    private static void nine() {
        System.out.println("5"+2);
        System.out.println("9. 52");
    }
    private static void ten() {
        int i = 2;
        int result = 0;
        switch(i){
            case  1:
                result = result + i;
            case  2:
                result = result + i * 2;
            case  3:
                result = result + i * 3;
        }
        System.out.println("result="+result);
        System.out.println("10. 10");
    }
    private static class Null{
        public static void hello(){
            System.out.println("hello");
        }
        public static void main(String[] args) {
            ((Null)null).hello();
            Null _null = (Null)null;
            _null.hello();
        }
    }
    private static class StringExample1{
        String str = new String("good");
        char[] ch = {'a', 'b', 'c'};
        public void change(String str, char[] ch){
            str = "test ok";
            ch[0] = 'g';
        }

        public static void main(String[] args) {
            StringExample1 ex = new StringExample1();
            ex.change(ex.str, ex.ch);
            System.out.print(ex.str+" and ");
            System.out.print(ex.ch);
            System.out.println();
        }
    }
    private static class StringExample2{
        public static void change(String str){
            str = "welcome";
        }

        public static void main(String[] args) {
            String str = "1234";
            change(str);
            System.out.println(str);
        }
    }
    private static class ForLoop{
        static boolean foo(char c){
            System.out.print(c);
            return true;
        }

        public static void main(String[] args) {
            int i=0;
            for(foo('A');foo('B')&&(i<2);foo('C')){
                i++;
                foo('D');
            }
            System.out.println();
        }
    }
    private static class HelloA{
        public HelloA(){
            System.out.println("HelloA");
        }

        { System.out.println("I'm A class"); }

        static {
            System.out.println("static A");
        }
    }
    private static class HelloB extends HelloA{
        public HelloB(){
            System.out.println("HelloB");
        }

        { System.out.println("I'm B class"); }

        static {
            System.out.println("static B");
        }

        public static void main(String[] args) {
            System.out.println("main start");
            new HelloB();
            new HelloB();
            System.out.println("main end");
        }
    }
    public static void main(String[] args) {
        one();
        two();
        three();
        four();
        five();
        six();
        seven();
        eight();
        nine();
        ten();
        Null.main(null);
        StringExample1.main(null);
        StringExample2.main(null);
        ForLoop.main(null);
        HelloB.main(null);
    }
}

 

1
0
分享到:
评论
2 楼 qq65827 2017-01-23  
第一题错了吧
1 楼 timer_yin 2017-01-22  
感谢分享,又复习了一遍

相关推荐

    10万字208道Java经典面试题总结(附答案).pdf

    10万字208道Java经典面试题总结(附答案).pdf 10万字208道Java经典面试题总结(附答案).pdf 10万字208道Java经典面试题总结(附答案).pdf 10万字208道Java经典面试题总结(附答案).pdf 10万字208道Java经典面试题总结(附...

    JAVA笔试题,面试题JAVA笔试题,面试题

    JAVA笔试题,面试题JAVA笔试题,面试题JAVA笔试题,面试题JAVA笔试题,面试题JAVA笔试题,面试题

    java面试题,J2EE面试题 笔试题

    最全的j2EE面试题,题量...8、java面试题及答案 9、java面试题编程篇 10、Oracle面试题 11、Oracle企业面试题集锦 12、Spring面试题 13、SSH面试题 14、Strut+Spring+Hibernate面试题 15、张孝祥整理Java就业面试题大全

    java面试题18道java面试题18道

    java面试题java面试题18道java面试题18道java面试题18道java面试题java面试题18道java面试题18道java面试题18道java面试题java面试题18道java面试题18道java面试题18道java面试题java面试题18道java面试题18道java...

    java面试题20道java面试题20道

    java面试题20道java面试题20道java面试题20道java面试题20道java面试题20道java面试题20道java面试题20道java面试题20道java面试题20道java面试题20道java面试题20道java面试题20道java面试题20道java面试题20道java...

    java笔试题面试题

    java笔试题面试题java笔试题面试题java笔试题面试题java笔试题面试题java笔试题面试题java笔试题面试题

    Java经典面试题大全(带答案)

    java经典笔试题 java经典笔试题 java开发复习资料 Java经典面试题大全(带答案)

    JAVA面试题JAVA面试题JAVA面试题

    JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题

    java经典面试题

    面试时整理的资料,大家可以看看,面试的java题目,面试时整理的资料,大家可以看看,面试的java题目

    Java笔试题大全

    大唐电信JAVA笔试题面试题 27 西安电讯盈科java笔试题 27 华为Java笔试题: 28 Java多线程常见面试题 31 Java企业面试题整理集合(1) 34 Java企业面试题整理集合(2) 43 Java企业面试题整理集合(3) 55 Java企业面试题...

    java面试题大汇总(非常重要)

    java面试题大汇总(非常重要)java面试题大汇总(非常重要)java面试题大汇总(非常重要)java面试题大汇总(非常重要)java面试题大汇总(非常重要)java面试题大汇总(非常重要)java面试题大汇总(非常重要)java面试题大汇总...

    java笔试题笔试题

    java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 ...

    java面试题java面试题java面试题

    java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题...

    【2023 java面试题最全题库】:10道经典java编程笔试题(1);10道算数题帮你学习java语句

    125条常见的java面试笔试题大汇总;10道经典java编程笔试题(1);10道算数题帮你学习java语句;IT企业JAVA面试题;Java开发工程师上机笔试题....华为java面试题中的九道单选;华为的JAVA面试题;六道华为Java笔试经典题

    100道经典java面试题

    100道经典java面试题,帮您更好的总结和解决面试基础问题.

    Java面试题以及答案整理.pdf

    Java面试题以及答案整理

    2018经典JAVA面试题

    2018经典JAVA面试题

    java面试题大全好多经典的试题

    java面试题大全,等经典试题java面试题大全,等经典试题java面试题大全,等经典试题

    文思 笔试题 Java 面试题

    文思 笔试题 Java 面试题 文思 笔试题 Java 面试题

Global site tag (gtag.js) - Google Analytics