美文网首页Java学习资料分享程序猿进化之路
阿里巴巴Java程序员面试题大全系列之Java基础类库(二)

阿里巴巴Java程序员面试题大全系列之Java基础类库(二)

作者: 编程说书酱 | 来源:发表于2019-04-11 17:00 被阅读0次

                                                                                              动力节点Java学院整理

    Java面试题(6)设计 4 个线程,其中两个线程每次对 j 增加 1,另外两个线程对 j 每次减少 1。写出程序

    public class TestThread

    {

    private int j;

    public synchronized void inc()

    {

    j++;

    System.out.println(Thread.currentThread().getName() + "-inc:" + j);

    }

    public synchronized void dec()

    {

    j--;

    System.out.println(Thread.currentThread().getName() + "-dec:" + j);

    }

    public static void main(String[] args)

    {

    TestThread t=new TestThread();

    for (int i = 0; i < 2; i++)

    {

    Thread inc=new Thread(new Inc(t));

    Thread dec=new Thread(new Dec(t));

    inc.start();

    dec.start();

    }

    }

    }

    class Inc implements Runnable

    {

    private TestThread obj;

    public Inc(TestThread obj)

    {

    this.obj=obj;

    }

    public void run()

    {

    // for (int i = 0; i < 100; i++)

    // {

    this.obj.inc();

    // }

    }

    }

    class Dec implements Runnable

    {

    private TestThread obj;

    public Dec(TestThread obj)

    {

    this.obj=obj;

    }

    public void run()

    {

    // for (int i = 0; i < 100; i++)

    // {

    this.obj.dec();

    // }

    }

    }

    Java面试题(7同步和异步有和异同,在什么情况下分别使用他们?举例说明。

    同步:上一段代码没的完成,下一段必须等到上一段代码完成后才可以执行。如买票排队

    异步:上一段代码没的完成,下一段不必等到上一段代码完成就可以执行。如手机发送短信。

    Java面试题(8sleep() 和 wait() 有什么区别?

    Sleep 是指休眠给定的时间,当这个时间达到之后,线程会再次醒来。

    Wait 是等待状态,多长时间不清楚,由另一个线程将其唤醒。

    Java面试题(9当一个线程进入一个对象的一个synchronized 方法后,其它线程是否可进入此对象的其它方法?

    如只其它方法是同步方法,不可以进入。如果不是可以进入。

    Java面试题(10输入输出流的理解:

    在java 使用流的机制进行数据的传送,从文件到内存是输入流,从内存到文件是输出流,输入流可以通过 read 读取,输出流以 write 或 print 写入,对于流可以是分为高层流和低层流,低层以一个字节或字符为单位进行处理,高层流以一批数据为单位进行处理。

    FileInputStream(System.in)至 InputSteamReader 至 BufferReader

    OutputSteam(System.out)至 printStream

    FileReader 至 BufferedReader

    FileWriter 至 PrintWriter 或 bufferWriter

    分类:

    字节(二进制)

    FileInputStream(低层输入流)

    FileOutputStream(低层输出流)

    PrintStream(高层流) System.out.println()

    字符(一个 char)

    FileReader

    FileWriter

    原文链接:http://www.bjpowernode.com/javacjwt/385.html

                                                                                                                                                                                            动力节点Java学院整理发布

                                                                                                                                                                                            转载请注明出处

     

    相关文章

      网友评论

        本文标题:阿里巴巴Java程序员面试题大全系列之Java基础类库(二)

        本文链接:https://www.haomeiwen.com/subject/mvkxwqtx.html