2020 java基础面试题 初级java工程师必备!

1.JDK(java的开发工具包) 包括javac(java的编译器) java监控的工具,开发工具组成的

   JRE(java的运行时环境)是由jvm还有java的基础类库组成的

2.==在比较基本数据类型的时候,比较的是基本类型的值

  在比较引用对象的时候,比较对象的内存地址

  equal只能比较引用类型,有的类型重写了equal方法,比较的是对象的值,不然就是比较对象的内存地址。

3. hashcode 对象的储存地址

    1、如果两个对象equals相等,那么这两个对象的HashCode一定也相同

    2、如果两个对象的HashCode相同,不代表两个对象就相同,只能说明这两个对象在散列存储结构中,存放于同一个位置

4. 如果一个类定义成final,这个类就不能被继承

    如果一个方法被定义成final,这个类就不能被重写

    如果一个数据类型被定义成final 这个数据类型就不能被修改

5.round是取四舍五入 math.round(-1.5)=-1.0

   cell是往上整,floor是往下取整

6.基础数据类型:char boolean double int float long short byte

7.String 效率太低,因为string被定义成final 所以每一次修改String的值都会创建一个新的对象

    StringBuffer 和 StringBuilder 都是用char[]的方式存储的,长度都是默认未19,他们会自动扩容都是以原本的长度*2+2的长度扩容的,

    Stringbuffer 是线程安全的,不过相对效率较低,在多线程的情况下,可以选择StringBuffer ,可以建立字符串缓冲区

    Stringbuilder 是线程不安全的,所以在单线程的情况下,要选择这个

8.不一样 第一个只产生了一个对象 ,第二个产生了两个对象

9. 通过Stringbuffer 或者Stringbuilder.converse.toString()

    public static String reverse2(String str) { char[] chars = str.toCharArray(); String reverse = ""; for (int i = chars.length - 1; i >= 0; i--) { reverse += chars[i]; } return reverse; }

    public static String reverse2(String str) { char[] chars = str.toCharArray(); String reverse = ""; for (int i = chars.length - 1; i >= 0; i--) { reverse += chars[i]; } return reverse; }

11.抽象类不一定要有抽象方法,不是抽象方法的方法一定要被实例,

12.抽象类不能被实例化 这是一个java的编码的规范

13.抽象方法一定不能是final,因为抽象类一定要被继承

14.

  1. 抽象类只能继承一次,但是可以实现多个接口
  2. 接口和抽象类必须实现其中所有的方法,抽象类中如果有未实现的抽象方法,那么子类也需要定义为抽象类。抽象类中可以有非抽象的方法
  3. 接口中的变量必须用 public static final 修饰,并且需要给出初始值。所以实现类不能重新定义,也不能改变其值。
  4. 接口中的方法默认是 public abstract,也只能是这个类型。不能是 static,接口中的方法也不允许子类覆写,抽象类中允许有static 的方法

15.文件输入输出流,字节输出输入流

16.https://blog.csdn.net/m0_38109046/article/details/89449305

1.BIO : 同步阻塞性的io:每一个客户端发送新的请求都会产生新的进程。进程的开销很大,严重的话会导致系统的奔溃。

   NIO:同步不阻塞的io:有四个属性:1.no blocking 单线程在操作过程中,同时可以做别的事情,2.buffer 加入了缓冲区 在读取数据的时候,NIO会建立channel然后再再buffer中读取数据。

  再发送数据的时候,会先buffer把数据通过channel输送出去。3.channel  4 选择器  可以减少增加进程的消耗

  • 从通道进行数据读取 :创建一个缓冲区,然后请求通道读取数据。

  • 从通道进行数据写入 :创建一个缓冲区,填充数据,并要求通道写入数据。       

  AIO异步 IO 是基于事件和回调机制实现

17.Files.copy();

     Files.delete();

     Files.exist()

     Files.read();

     Files.write();

     Files.size();

     Files.remove();

     Files.createFile();

 

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值