- 博客(22)
- 收藏
- 关注
原创 Java 后端高频面试八股文总结
答案:面向对象(OOP)是一种编程范式,以“对象”为核心,将数据和操作数据的方法封装在一起。封装:隐藏内部实现细节,仅暴露必要的接口,提高安全性和可维护性。继承:子类继承父类的属性和方法,实现代码复用和扩展。多态:同一行为在不同对象上有不同表现形式。分为编译时多态(方法重载)和运行时多态(方法重写,依赖动态绑定)。答案:泛型是参数化类型,在编译期提供类型安全检查,避免强制类型转换。Java 的泛型是“伪泛型”,编译后会发生类型擦除。应用:泛型类、泛型接口、泛型方法。答案。
2026-09-10 12:45:58
137
原创 简历解析与模拟面试题库
参考答案面试官您好,我叫许栋,嘉兴大学软件工程专业2026届毕业生。我从大二开始系统学习Java,整个大三都围绕着企业级开发技术进行深入学习和实践,目前已具备扎实的Java基础,熟悉Spring Boot、MyBatis等主流后端框架,了解微服务架构和容器化技术。去年7月到10月,我在浙江工企公司实习了3个月,参与ERP系统的二次开发,主要负责功能扩展、报表配置和消息通知功能,这段经历让我对企业的开发流程和团队协作有了切身的理解。业余时间,我独立开发了两个项目。
2026-09-07 22:05:06
218
原创 oj系统实现
在线OJ项目是一个完整的微服务全栈项目,涵盖了从需求分析、架构设计、技术选型、代码开发到容器化部署的完整软件生命周期。项目整合了Spring Cloud Alibaba、Nacos、Redis、RabbitMQ、Elasticsearch、XXL-JOB等主流中间件,实现了用户认证、题库管理、竞赛报名、代码判题、消息通知等核心功能。通过这个项目,不仅锻炼了微服务架构设计和分布式系统开发能力,还深入实践了Docker容器化部署消息队列异步解耦多级缓存优化等企业级开发技术,是一份能够充分展示全栈开发能力和。
2026-09-07 22:02:35
201
原创 Java网络编程从入门到精通:从网络基础到HTTP协议深度解析
密钥组用途第一组(非对称,CA签发)校验证书签名,防止证书被篡改第二组(非对称,服务器生成)安全传输对称加密密钥第三组(对称,客户端生成)加密实际业务数据粘包:TCP面向字节流,发送方多次发送的数据可能粘在一起,接收方无法区分包的边界。解决方案定长包:每次读取固定长度长度字段:在包头约定总长度分隔符:使用特殊字符(如\n)分隔包UDP无粘包问题,因为UDP是面向数据报的,每次接收都是一个完整报文。网络基础:IP、端口、协议分层、封装分用Socket编程。
2026-09-02 23:41:21
179
原创 Java文件操作与I/O流深度解析:从基础到实战
本文从文件概念、File类操作、IO流分类、实战案例到面试高频问题,全面梳理了Java文件操作与I/O的核心知识体系。掌握这些内容不仅能应对日常开发,更能从容应对面试官的“深挖”。建议读者亲自动手编写所有示例代码,尤其是递归扫描和文件复制,在实践中加深理解。文件与I/O是Java基础中“接地气”又“显功底”的部分,值得反复学习、总结和练习。希望本文能成为你复习与进阶的有力参考。
2026-09-02 23:37:28
195
原创 Java 抽象类与接口详解:核心区别与应用举例
**特性** | **抽象类(Abstract Class)** | **接口(Interface)** || **典型应用** | 定义对象层级(如 `Animal` → `Dog`) | 定义对象能力(如 `Flyable`, `Swimmable`) |- **抽象类**:为 `Ninja`、`Knight` 等子类提供 `name` 属性和 `attack()` 的通用定义。
2026-09-01 23:20:30
322
原创 基于Spring Boot的博客系统开发实战
三层架构设计、数据库设计与操作、用户认证与授权、前后端交互、参数校验、异常处理、日志记录等。对于刚学完Spring基础的开发者来说,是一个理想的练手项目。通过这个项目,你可以将Spring Boot、MyBatis-Plus、JWT等主流技术串联起来,理解它们如何协同工作,为后续更复杂的企业级项目开发打下坚实的基础。本回答由 AI 生成,内容仅供参考,请仔细甄别。
2026-09-01 21:17:55
187
原创 面试自我复习
参考答案面试官你好,我叫许栋,是嘉兴大学软件工程专业24届毕业生。我从大二开始接触Java,系统学习了Java基础、JVM、并发编程、Spring全家桶、MySQL和Redis。大学期间我做过两个项目:一个是个人博客系统,用SpringBoot + JWT + MyBatis-Plus实现,主要锻炼了后端接口设计和登录鉴权的能力;另一个是在线赛题评测系统,这是一个微服务项目,用到了Spring Cloud(Nacos)、RabbitMQ、Redis和Docker。
2026-08-31 23:07:56
357
原创 Spring Boot注解全解:从入门到精通(面试避坑版)
在Spring Boot中,注解是“约定大于配置”的核心体现。它们极大地简化了开发,把繁琐的XML配置变成了一行行简洁的元数据。XML时代 vs 注解时代:xml<!-- XML时代:繁琐的配置 --><bean id="userService" class="com.example.UserService"> <property name="userDao" ref="userDao"
2026-08-31 23:07:38
835
原创 Redis:一篇搞定缓存中间件核心知识
Redis(REmote DIctionary Server)是一种基于键值对(key-value)的NoSQL数据库,所有数据存放在内存中,读写性能可达10万/秒。一句话概括:Redis是一个基于内存的、单线程的、支持多种数据结构的键值对存储系统。主从复制将主节点的数据复制到多个从节点,实现读写分离和数据备份。配置方式bash# 从节点配置瓶颈在内存和IO,不在CPU单线程避免线程安全问题6.0引入多线程只处理网络IO,命令执行仍单线程。
2026-08-30 23:11:39
246
原创 MySQL:一篇搞定数据库核心知识
数据库是高效管理数据的软件,解决了文件存储的四大痛点:安全性问题查询管理不便无法存储海量数据程序控制不方便索引是一种特殊的文件,包含对数据表所有记录的引用指针,类似于书籍的目录,用于快速定位和检索数据。事务是一组逻辑操作,要么全部成功,要么全部失败。经典场景:转账sql-- 阿里巴巴-2000,四十大盗+2000UPDATE account SET money = money - 2000 WHERE name = '阿里巴巴';
2026-08-30 23:01:45
299
原创 JavaEE进阶面试核心知识点全梳理
本文基于Spring Boot、MyBatis、Spring AOP、Spring事务、Spring原理等PDF资料,结合2025-2026年最新面试趋势,系统梳理JavaEE进阶的IoC/DI、Spring MVC、MyBatis、AOP、事务管理、Spring原理六大核心模块,适合面试前集中复习。
2026-08-26 23:20:04
188
原创 Java集合框架面试核心知识点全梳理
等价于hash % n,但位运算更快n - 1的二进制全是1,能更均匀地分布哈希值扩容时(容量翻倍),元素要么在原位置,要么在原位置+旧容量,迁移更高效“Collection存单元素,Map存键值对;List有序可重复,ArrayList快在随机查;LinkedList擅长插入删,双向链表记心间;Set去重靠哈希,equals和hashCode必须一起写;HashMap数组加链表,1.8引入红黑树;并发安全找CHM,1.8用CAS加synchronized锁桶;
2026-08-26 23:14:59
470
原创 Java方向核心面试问题与详细答案全解析
Spring 依赖注入发生在**对象实例化阶段**(`Bean` 创建时),而 `static` 字段属于**类级别**,在类加载阶段就已初始化完成。** 为了**应用隔离**。- 比如回答 `String` 不可变时,顺嘴提一句:“因为 `String` 底层是 `final byte[]`,每次修改都会在堆内存中 `new` 新对象,所以大量拼接时我会用 `StringBuilder` 避免内存抖动。13. **通信机制**:`wait()` 和 `sleep()` 的区别是什么?** **安全**。
2026-08-13 00:57:47
305
原创 多线程初级
线程(Thread)是操作系统能够进行调度的最小执行单元。可以把它理解为程序内部的一条独立执行路径通俗理解(银行办业务):单线程模式:只有张三一个会计,他需要一个人依次完成三件事,耗时很长。多线程模式:张三叫来李四、王五一起帮忙。三个人分别负责一件事,各自排队办理。三个人都是独立的“执行流”,共同为这家公司服务。张三就是主线程(Main Thread)李四、王五就是新创建的子线程三个执行流并发执行,提高了整体效率为什么需要多线程① 充分利用多核CPU单核CPU的发展已遇瓶颈,现在都是多核CPU。
2026-08-12 23:53:01
411
原创 JavaEE进阶从零到一
*核心**:`@SpringBootApplication` = `@SpringBootConfiguration` + `@EnableAutoConfiguration` + `@ComponentScan`| **切点(Pointcut)** | 要增强的方法的规则(如`execution(* com.example.service.*.*(..))`) |MyBatis-Plus是MyBatis的**增强工具**,在MyBatis基础上**只做增强不做改变**,简化单表CRUD操作。
2026-08-12 23:18:16
190
原创 Java核心方法速查手册(后端开发95%场景全覆盖)
这些方法覆盖了日常开发 90% 以上的高频使用场景,后端的 CRUD、业务处理、日志打印、线程控制全靠它们。| `keySet()` / `values()` / `entrySet()` | 获取所有 Key/Value/Entry 集合 | ✅ **遍历必用**(尤其 `entrySet`) || `split(String regex)` | 按正则分割(**注意转义 `.` 和 `\|`**) | `"a,b".split(",")` → ["a","b"] |
2026-08-07 22:00:27
320
原创 JavaEE(JVM、多线程、网络编程)核心知识点全梳理
目标读者是“学过但遗忘了”的复习者,每个知识点都配有**面试高频考点**和**一句话记忆口诀**。| **虚拟机栈(Stack)** | ❌ 否 | 局部变量表、操作数栈、方法出口 | StackOverflowError |**注意**:volatile **不保证原子性**!| **堆(Heap)** | ✅ 是 | 所有对象实例、数组、字符串常量池 | OutOfMemoryError |**破坏方法**:最容易破坏的是**循环等待**——采用**锁排序**,所有线程按固定顺序获取锁。
2026-07-28 23:00:41
239
原创 java基础篇1
摘要: JDK是Java开发工具包,包含JRE及开发工具;JRE是Java运行环境,包含JVM和核心类库;JVM是执行Java程序的虚拟机,通过类加载、内存管理(堆、方法区等)、执行引擎和本地接口实现。JMM是Java内存模型,规范多线程共享变量的访问规则。堆内存线程共享,GC通过分代回收(年轻代复制、老年代标记整理)管理对象生命周期。数据类型中,基本类型直接存储值,引用类型存储对象地址,传递均为值传递。==比较地址,equals()比较逻辑内容,注意包装类的缓存机制。
2026-07-26 23:25:24
679
原创 Java中的数组
数组:就相当于相同类型元素的集合。在内存中是一段连续的存储空间。在内存中存储方式如下:包含五个整形的数组会以此存储在一段连续的空间每个空间的类型是相同的;每个空间都有各自的编号;
2024-07-02 19:17:43
691
1
原创 Java中的方法
例如: 在开发日历软件中当需要判断是否为闰年时,就可以写出一个方法如下那么方法该如何定义呢?//方法的定义格式修饰符 返回值类型 方法名称([参数类型 形参 ...]){方法体代码;[return 返回值];那么我们根据次格式写一个带有返回值的判断是否为润年的方法:我们发现这里将void改为boolean,而void代表无返回值。
2024-06-08 21:51:26
900
1
原创 java初识
1.java是一门面向对象的高级程序语言。2. Java具有简单性、面向对象、分布式健壮性安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。这些特性在往后的学习中会一一学习到。3. Java 语言源于 1991 年 4 月,Sun 公司James Gosling博士。
2024-06-07 17:10:19
845
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅