美文网首页
Java面试基础(一)

Java面试基础(一)

作者: 小鱼儿_f32a | 来源:发表于2019-03-25 11:08 被阅读0次

    1、作用域public,private,protected,以及不写时的区别

    答:区别如下:

    2、&和&&的区别

    答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)

    3、Collection 和 Collections的区别

    答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List.Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作

    4、String s = new String("xyz");创建了几个String Object

    答:两个,一个字符对象,一个字符对象引用对象

    5、Math.round(11.5)等於多少? Math.round(-11.5)等於多少

    答:Math.round(11.5)==12;Math.round(-11.5)==-11;round方法返回与参数最接近的长整数,参数加1/2后求其floor

    6、数组有没有length()这个方法? String有没有length()这个方法

    答:数组没有length()这个方法,有length的属性。String有有length()这个方法

    7,ArrayList,Vector主要区别为以下几点:

    (1):Vector是线程安全的,源码中有很多的synchronized可以看出,而ArrayList不是。导致Vector效率无法和ArrayList相比;?

    (2):ArrayList和Vector都采用线性连续存储空间,当存储空间不足的时候,ArrayList默认增加为原来的50%,Vector默认增加为原来的一倍;

    8. 线程安全是什么?线程不安全是什么?

    线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。(Vector,HashTable)?

    线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据。(ArrayList,LinkedList,HashMap等)

    9. 线程和进程的区别?

    进程和线程都是一个时间段的描述,是CPU工作时间段的描述,不过是颗粒大小不同;

    (1)进程是资源的分配和调度的一个独立单元,而线程是CPU调度的基本单元

    (2)同一个进程中可以包括多个线程,并且线程共享整个进程的资源(寄存器、堆栈、上下文),一个进行至少包括一个线程。

    (3)进程的创建调用fork或者vfork,而线程的创建调用pthread_create,进程结束后它拥有的所有线程都将销毁,而线程的结束不会影响同个进程中的其他线程的结束

    (4)线程是轻两级的进程,它的创建和销毁所需要的时间比进程小很多,所有操作系统中的执行功能都是创建线程去完成的

    (5)线程中执行时一般都要进行同步和互斥,因为他们共享同一进程的所有资源

    (6)线程有自己的私有属性TCB,线程id,寄存器、硬件上下文,而进程也有自己的私有属性进程控制块PCB,这些私有属性是不被共享的,用来标示一个进程或一个线程的标志

    相关文章

      网友评论

          本文标题:Java面试基础(一)

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