zoukankan      html  css  js  c++  java
  • 基础知识点一

    一、Java 基础

    1.JDK 和 JRE 有什么区别?

    JDK:全称java development kit(java开发工具包),包含java运行环境、各种开发类库和工具;

    JRE:全称java runtime environment(java运行时环境),包含java虚拟机、java基础类库,java语言编写的程序运行所需要的软件环境

    2.== 和 equals 的区别是什么?

    equals:是用来比较两个对象内部的内容是否相等的。
    ==:是用来判断两个对象的地址是否相同,即是否是指相同一个对象。
    如果没有重写equals时,是直接用==判断的
    如果是基本类型和基本型封装,则仍然为比较内容。

    3.两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?

    不一定,两个对象equals()为true的话,则hashCode()相同

    4.final 在 java 中有什么作用?

    a) final可以修饰类,这样的类不能被继承。b) final可以修饰方法,这样的方法不能被重写。c) final可以修饰变量,这样的变量的值不能被修改,是常量。

    5.java 中的 Math.round(-1.5) 等于多少?

    =Math.floor(a+0.5);

    6.String 属于基础的数据类型吗?

    String不是基本的数据类型,是final修饰的java类

    7.java 中操作字符串都有哪些类?它们之间有什么区别?

    StringBuffer 和StringBuilder,StringBuffer线程安全,StringBuilder线程不安全

    8.String str="abc"与 String str=new String("i")一样吗?

    不一样,String str="abc"在编译阶段JVM先去常量池查找是否存在“abc”,如果不存在,就在常量池中开辟空间存储“abc”;如果存在,不开辟空间。然后在栈内存开辟一个空间来存储“abc”在常量池中的地址值。String str=new String("abc")在编译阶段JVM先到常量池查找是否存在,不存在,则在常量开辟空间保存“abc”;运行时期,通过string类的构造器在堆的内存中new一个空间,然后从常量池中复制一份“abc”到该堆空间,在栈中开辟名字为str的空间,存放堆中new出来的这个String对象的地址值。

    9.如何将字符串反转?

    10.String 类的常用方法都有那些?

    substring(),split(),length()

    11.抽象类必须要有抽象方法吗?

    不是必须的,有抽象方法的类必须是抽象类

    12.普通类和抽象类有哪些区别?

    1)抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。 2)抽象类不能用来创建对象; 3)如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。 在其他方面,抽象类和普通的类并没有区别

    13.抽象类能使用 final 修饰吗?

    不能

    14.接口和抽象类有什么区别?

    15.java 中 IO 流分为几种?

    字节流和字符流

    16.BIO、NIO、AIO 有什么区别?

    BIO同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善。

    NIO同步非阻塞,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。

    AIO异步非阻塞,服务器实现模式为一个有效请求一个线程,客户端的I/O请求都是由OS先完成了再通知服务器应用去启动线程进行处理

    17.Files的常用方法都有哪些?

    copy(),

  • 相关阅读:
    Java实现多线程的四种实现方式
    电梯调度算法[转]
    带黑洞的随机游走问题
    深度学习印象
    使用jupyterthemes插件定制jupyter notebook界面
    tf.gfile
    中国象棋残局库构建[抄]
    Android(Linux)线路规程的使用
    Remote Displayer for Android V1.2
    Android开发资源汇总
  • 原文地址:https://www.cnblogs.com/wbjgogogo/p/10471994.html
Copyright © 2011-2022 走看看