周题3

作者: blueblue_c41a | 来源:发表于2018-11-22 16:02 被阅读0次

    21、访问权限修饰符public、private、protected以及不写(默认)时的区别
    22、两个对象值相同(x.equals(y) == true),但却可有不同的hashCode,这句话对不对?
    23、什么是B/S架构?什么是C/S架构?
    24、Java都有那些开发平台
    25、Java是否需要开发人员回收内存垃圾吗?
    26、什么是数据结构?Java的数据结构有那些?
    27、什么是隐式转换,什么是显式转换?Char类型能不能转成int类型?能不能转化成string类型,能不能转成double类型?
    28、例如: if(a+1.0=4.0),这样做好吗?针对浮点型数据运算出现的误差的问题,怎么解决?
    29、程序的结构有那些
    30、线程与进程的区别

    21、访问权限修饰符public、private、protected以及不写(默认)时的区别

    修饰符 当前类 同包 子类 其他包
    public
    protected ×
    default × ×
    private × × ×

    22、两个对象值相同(x.equals(y) == true),但却可有不同的hashCode,这句话对不对?

    不对,如果两个对象x 和 y 满足 x.equals(y) == true,它们的哈希码(hashCode)应当相同。

    Java 对于eqauls 方法和 hashCode 方法是这样规定的:
    (1)如果两个对象相同(equals 方法返回 true),那么它们的hashCode 值一定要相同;
    (2)如果两个对象的 hashCode 相同,它们并不一定相同。

    23、什么是B/S架构?什么是C/S架构?

    • B/S(Browser/Server),浏览器/服务器程序

    • C/S(Client/Server),客户端/服务端,桌面应用程序

    24、Java都有那些开发平台

    • JAVA SE:主要用在客户端开发

    • JAVA EE:主要用在web应用程序开发

    • JAVA ME:主要用在嵌入式应用程序开发

    25、Java是否需要开发人员回收内存垃圾吗?

    大多情况下是不需要的。Java提供了一个系统级的线程来跟踪内存分配,不再使用的内存区将会自动回收

    26、什么是数据结构?Java的数据结构有那些?

    • 数据结构:计算机保存,组织数据的方式

    • 线性表(ArrayList)、链表(LinkedList)、栈(Stack)、队列(Queue)、图(Map)、树(Tree)

    27、什么是隐式转换,什么是显式转换?Char类型能不能转成int类型?能不能转化成string类型,能不能转成double类型?

    • 显示转换就是类型强转,把一个大类型的数据强制赋值给小类型的数据;

    • 隐式转换就是大范围的变量能够接受小范围的数据;

    • 隐式转换和显式转换其实就是自动类型转换和强制类型转换。

    • Char在java中也是比较特殊的类型,它的int值从1开始,一共有2的16次方个数据;Char<int<long<float<double;

    • Char类型可以隐式转成int,double类型,但是不能隐式转换成string;

    • 如果char类型转成byte,short类型的时候,需要强转。

    28、例如: if(a+1.0=4.0),这样做好吗?针对浮点型数据运算出现的误差的问题,怎么解决?

    • 不好,因为计算机在浮点型数据运算的时候,会有误差,尽量在布尔表达式中不使用浮点型数据(if,while,switch中判断条件不使用浮点型)

    • 使用Bigdecimal类进行浮点型数据的运算

    29、程序的结构有那些

    • 顺序结构、选择结构、循环结构

    30、线程与进程的区别

    进程是系统进行资源分配和调度的一个独立单位,线程是CPU调度和分派的基本单位

    进程和线程的关系:

    • 一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。

    • 资源分配给进程,同一进程的所有线程共享该进程的所有资源。

    • 线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。

    • 线程是指进程内的一个执行单元,也是进程内的可调度实体。

    线程与进程的区别:

    • 调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位。

    • 并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可以并发执行。

    • 拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源。

    • 系统开销:在创建或撤销进程的时候,由于系统都要为之分配和回收资源,导致系统的明显大于创建或撤销线程时的开销。但进程有独立的地址空间,进程崩溃后,在保护模式下不会对其他的进程产生影响,而线程只是一个进程中的不同的执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但是在进程切换时,耗费的资源较大,效率要差些。

    相关文章

      网友评论

        本文标题:周题3

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