
java八股文
文章平均质量分 64
java面试常问问题
努力d小白
这个作者很懒,什么都没留下…
展开
-
java并发编程
进程:指在系统中正在运行的一个应用程序;程序一旦运行就是进程;进程——资源分配的最小单位。比如在Windows系统中,一个运行的xx.exe就是一个进程。线程:线程与进程相似,但线程是一个比进程更小的执行单位。一个进程至少有一个线程,多个线程可共享数据。线程是处理器任务调度和执行的基本单位。线程和进程联系与区别线程是进程划分成的更小的运行单位。一个进程中可以有多个线程,多个线程共享进程的资源。原创 2025-04-08 14:58:54 · 227 阅读 · 0 评论 -
Map(***)
对 Null key 和 Null value 的支持: HashMap 可以存储 null 的 key 和 value,但 null 作为键只能有一个,null 作为值可以有多个;底层数据结构: HashMap 在解决哈希冲突时有了较大的变化,当链表长度大于阈值(默认为 8)时,将链表转化为红黑树,以减少搜索时间。另外,Hashtable 基本被淘汰,不要在代码中使用它;线程是否安全:HashMap 是非线程安全的,Hashtable 是线程安全的,因为 Hashtable 内部的方法基本都经过。原创 2025-03-25 14:47:54 · 164 阅读 · 0 评论 -
java集合
我们只需要存放元素值时,就选择实现Collection 接口的集合,需要保证元素唯一时选择实现 Set 接口的集合比如 TreeSet 或 HashSet,不需要就选择实现 List 接口的比如 ArrayList 或 LinkedList。我们需要根据键值获取到元素值时就选用 Map 接口下的集合,需要排序时选择 TreeMap,不需要排序时就选择 HashMap,需要保证线程安全就选用 ConcurrentHashMap。根据集合的特点来选择合适的集合。原创 2025-03-20 12:41:16 · 194 阅读 · 0 评论 -
java代理模式
我们使用代理对象来代替对真实对象(real object)的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。原创 2025-03-18 16:24:50 · 166 阅读 · 0 评论 -
java IO流
数据输入到计算机内存的过程即输入,反之输出到外部存储(比如数据库,文件,远程主机)的过程即输出。IO 流在 Java 中按照方向分为输入流和输出流,而根据数据的处理方式又分为字节流和字符流。因为对于文本文件,字节流直接操作字节,无法自动处理字符编码(如 UTF-8、GBK),需要手动处理编码和解码,容易导致乱码。InputStream/Reader: 所有的输入流的基类,前者是字节输入流,后者是字符输入流。OutputStream/Writer: 所有输出流的基类,前者是字节输出流,后者是字符输出流。原创 2025-03-14 11:23:36 · 279 阅读 · 0 评论 -
序列化和反序列化
序列化:将对象转换成二进制字节流反序列化:将在序列化过程中所生成的数据转换为原始对象。原创 2025-03-13 17:47:17 · 167 阅读 · 0 评论 -
java注解
1.编译期直接扫描:编译器在编译 Java 代码的时候扫描对应的注解并处理,比如某个方法使用@Override 注解,编译器在编译的时候就会检测当前的方法是否重写了父类对应的方法。这个过程是编译器基于自身对 Java 语法规则的理解和实现来完成的,并不涉及运行时反射。2.运行期通过反射处理:像框架中自带的注解(比如 Spring 框架的 @Value、@Component)都是通过反射来进行处理的。原创 2025-03-12 14:04:21 · 205 阅读 · 0 评论 -
反射java
反射机制是在运行状态中,对于任意一个类,都能够知道这个类中的所有属性和方法;对于任意一个对象,都能够调用它的任意一个属性和方法。就像是一个万能钥匙,想用哪个就拿哪个。原创 2025-03-10 13:16:14 · 81 阅读 · 0 评论 -
泛型java
消除强制类型转换:在没有泛型的情况下,从集合等数据结构中取出元素时往往需要进行强制类型转换,这种强制类型转换不安全,可能会报异常“ClassCastException ”提高安全:Java泛型提高类型安全的核心原理在于,它让编译器知道变量的类型限制,从而在编译时进行严格的类型检查。泛型方法——public static <E> void printArray(E[] inputArray)泛型类——public class Generic<T>泛型一般有三种使用方式:泛型类、泛型接口、泛型方法。原创 2025-03-10 13:15:12 · 252 阅读 · 0 评论 -
异常相关八股
Error:Error 属于程序无法处理的错误 ,我们没办法通过 catch 来进行捕获。例如 Java 虚拟机运行错误(Virtual MachineError)、虚拟机内存不够错误(OutOfMemoryError)等。这些异常发生时,Java 虚拟机(JVM)一般会选择线程终止。在 Java 中,所有的异常都有一个共同的祖先 Throwable 类。Exception :程序本身可以处理的异常,可以通过 catch 来进行捕获。原创 2025-03-05 14:29:07 · 143 阅读 · 0 评论 -
String
保存字符串的数组被 final 修饰且为私有(private)的,并且String 类没有提供/暴露修改这个字符串的方法。原创 2025-03-03 18:42:44 · 290 阅读 · 0 评论 -
Object类
类重写了 equals()方法:一般我们都重写 equals()方法来比较两个对象中的属性是否相等;若它们的属性相等,则返回 true。例如String 中的 equals 方法是被重写过的。类没有重写 equals()方法:通过equals()比较该类的两个对象时,等价于通过“==”比较两个对象,原创 2025-03-02 16:41:01 · 151 阅读 · 0 评论 -
面向对象基础
在 Java 里,当你没有为类定义任何构造方法时,Java 编译器会自动为该类提供一个默认的无参构造方法。面向对象编程:面向对象编程的设计思想是以对象为中心,通过对象之间的交互来完成程序的功能,具有灵活性和可扩展性。面向过程编程:面向过程把解决问题的过程拆成一个个方法,通过一个个方法的执行解决问题。自动执行:在生成类的对象时,构造方法会自动执行,无需显式调用。对象引用存放对象实体的地址,对象实体存储对象具体的数据。对象的相等一般比较的是内存中存放的内容是否相等。一个对象引用可以指向 0 个或 1 个对象;原创 2025-02-27 14:09:39 · 148 阅读 · 0 评论 -
java方法篇
在类的非静态成员不存在的时候静态方法就已经存在了,此时调用在内存中还不存在的非静态成员,属于非法操作。而非静态成员属于实例对象,只有在对象实例化之后才存在,需要通过类的。静态方法是属于类的,在类加载的时候就会分配内存,可以通过。(先加载类,再加载实例对象)原创 2025-02-22 17:24:00 · 178 阅读 · 0 评论 -
java八股文——变量
从技术上来讲,局部变量一般来说总量大,生命周期短,JVM进行初始话开销较大。注意:不存在局部静态变量概念。原创 2025-02-21 17:16:15 · 245 阅读 · 0 评论 -
基本数据类型
Java 中有 8 种基本数据类型,分别为:2.原创 2025-02-18 15:58:41 · 128 阅读 · 0 评论 -
java基本语法
文档注释:以 /** 开头,以 */ 结尾。多行注释:以 /* 开头,以 */ 结尾。总结:单行注释和文档注释比较常用。单行注释:// 我是注释。原创 2025-02-15 20:13:21 · 269 阅读 · 0 评论 -
java基础知识
Java SE (Standard Edition)是 Java 的基础版本,Java EE (Enterprise Edition)是 Java 的高级版本。3. 平台无关性:即所谓的“一次编写,到处运行” java 程序编译后生成的是字节码文件(.class),这些字节码文件可以在任何安装了 Java 虚拟机(JVM)的平台上运行。JVM使得Java程序具备跨平台性。1.简单易学:Java 的语法类似于 C 和 C++,但去掉了一些复杂容易引起错误的内容,例如指针,从而降低了学习和使用的难度。原创 2025-02-13 12:51:47 · 295 阅读 · 0 评论