Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day01】——Java基础篇

简介: Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day01】——Java基础篇

请你说说Java的特点和优点,为什么要选择Java?


1、简单易学


2、面向对象(封装、继承、多态)


3、Java拥有平台独立性 可以做到一次编译 到处运行


4、Java还提供了许多内置的类库 通过这些类库 简化开发人员程序设计工作 缩短项目的开发时间


5、同时Java还提供了垃圾回收器 将开发人员从对内存管理解脱出来


6、安全性 Java语言提供了一个防止恶意代码攻击的安全机制(数组边界检测和Bytecode校验等)


7、健壮性 Java的强类型机制、垃圾回收器、异常处理和安全检查机制都使得java编写的语言有很


好的健壮性


加分回答:Java为什么可以跨平台?JVM(Java虚拟机)是Java跨平台的关键 在运行程序前 Java源


代码(.class) 经过编译器 编译成字节码(.class) 但字节码不能直接运行 必须通过JVM将字节码翻译


成特定平台的机器码运行 跨平台的是Java 而不是JVM 所以需要在不同平台下安装不同版本的JVM


请你说一下抽象类和接口的区别


相同点


       抽象类和接口不能被实例化 它们位于继承树的顶端 用于被其他类实现或继承


不同点


       1、接口只有抽象方法和默认方法 抽象类可以包含普通方法


       2、接口只能定义静态常量 抽象类既可以定义普通成员变量也可以静态常量


       3、接口不能有构造器 抽象类可以有构造器 让子类完成初始化操作


       4、一个类最多只有一个父类(包括抽象类) 但是一个类可以实现多个接口


请你说说Java基本数据类型和引用类型


基本数据类型8种 分为4小类


       整数型 byte(8位) short(16位) int(32位) long(64位)


       浮点型 float(32位) dobule(64位)


       字符型 char(16位)


       布尔型 boolean


引用数据类型


       数组、类、接口类型、特殊null类型


请你说一下final关键字


1、final关键字用来修饰类、方法和变量不可变

2、修饰类时 类不能被继承

3、修饰方法时 方法不能被重写

4、修饰变量时 变量不可改变


请你说说多线程  


线程是操作系统调度的最小的单元 一个进程里有多个线程 每个线程拥有自己的计数器、堆栈、局


部变量 线程可以共享进程内的资源 处理器可以再线程之间快速切换 让使用者感觉这些线程在同时


执行 使用多线程的原因有两点


1.更多的CPU核心


2.更快的响应时间


相关文章
|
1月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
6天前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
|
6天前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
6天前
|
缓存 安全 Java
【Java面试题汇总】Java基础篇——基础、修饰符和关键字(2023版)
Java的特点和优点,、Java 8的新特性、面向对象、基本数据类型和引用类型、自动拆装箱与自动装箱、==与equals()的区别、为什么重写equals()就要重写hashcode()、抽象类和接口的区别、重载和重写的区别、四种引用方式、wt()和sleep()的区别、java方法是值传递还是引用传递?访问修饰符、static、final、this和super、volatile的用法及原理
【Java面试题汇总】Java基础篇——基础、修饰符和关键字(2023版)
|
1月前
|
XML 存储 JSON
【IO面试题 六】、 除了Java自带的序列化之外,你还了解哪些序列化工具?
除了Java自带的序列化,常见的序列化工具还包括JSON(如jackson、gson、fastjson)、Protobuf、Thrift和Avro,各具特点,适用于不同的应用场景和性能需求。
|
1月前
|
缓存 Java
【IO面试题 一】、介绍一下Java中的IO流
Java中的IO流是对数据输入输出操作的抽象,分为输入流和输出流,字节流和字符流,节点流和处理流,提供了多种类支持不同数据源和操作,如文件流、数组流、管道流、字符串流、缓冲流、转换流、对象流、打印流、推回输入流和数据流等。
【IO面试题 一】、介绍一下Java中的IO流
|
22天前
|
存储 安全 Java
java基础Java的Deque之Deque、BlockingDeque、LinkedBlockingDeque、ArrayDeque
在实际编程中,合理利用Java的Deque和它的具体实现,可以在不同的应用场景中发挥高效和线程安全的队列管理功能。通过了解和比较Deque的不同实现,可以根据应用需求做出适当的技术选型,以支持高效且健壮的应用架构。
12 0
|
27天前
|
Java 编译器 开发工具
JDK vs JRE:面试大揭秘,一文让你彻底解锁Java开发和运行的秘密!
【8月更文挑战第24天】JDK(Java Development Kit)与JRE(Java Runtime Environment)是Java环境中两个核心概念。JDK作为开发工具包,不仅包含JRE,还提供编译器等开发工具,支持Java程序的开发与编译;而JRE仅包含运行Java程序所需的组件如JVM和核心类库。一个简单的"Hello, World!"示例展示了两者用途:需借助JDK编译程序,再利用JRE或JDK中的运行环境执行。因此,开发者应基于实际需求选择安装JDK或JRE。
38 0
|
1月前
|
算法 Java
【多线程面试题十八】、说一说Java中乐观锁和悲观锁的区别
这篇文章讨论了Java中的乐观锁和悲观锁的区别,其中悲观锁假设最坏情况并在访问数据时上锁,如通过`synchronized`或`Lock`接口实现;而乐观锁则在更新数据时检查是否被其他线程修改,适用于多读场景,并常通过CAS操作实现,如Java并发包`java.util.concurrent`中的类。
|
1月前
|
存储 Java 调度
【多线程面试题 八】、说一说Java同步机制中的wait和notify
Java同步机制中的wait()、notify()、notifyAll()是Object类的方法,用于线程间的通信,其中wait()使当前线程释放锁并进入阻塞状态,notify()唤醒单个等待线程,notifyAll()唤醒所有等待线程。