53 归档分页
370 留言互动
4 核心专题

最近更新

Java 2022-06-10

全面拥抱Java17!

Java 17作为自Java 11后的第二个 LTS 版本,带来了多项语法升级。文章围绕九个核心特性展开:文本块简化多行字符串;switch 表达式支持返回值、箭头语法和 yield;record 让不可变数据类一行声明;sealed class 通过 permits 限定子类继承范围;instanceof 模式匹配在判断时直接完成类型转换并绑定变量;Helpful NullPointerExceptions 在 NPE 报错中指明空值来源;以及日期周期、紧凑数字格式化的改进和 Stream.toList() 的便捷集合创建。通过示例代码,作者展示了这些新特性提升可读性、简化代码与调试效率,鼓励 Java 开发者全面迁移至 Java 17。

Java 2022-04-26

基于SpringBoot的在线招聘网站

本文介绍了一个基于SpringBoot的在线招聘系统的整体设计与功能实现。系统采用SpringBoot、MyBatisPlus、Layui、MySQL、Redis、Shiro、WebSocket、Thymeleaf等技术栈,分为游客、求职者、HR和管理员四类角色。游客可浏览首页;求职者可进行职位检索、查看详情、在线聊天、生成并分享简历链接,且支持个人信息和密码修改;HR可管理公司信息、发布/编辑/下线岗位、管理员工、与求职者聊天并点击职位或简历链接;管理员提供用户、简历、公司、岗位的全局管理、聊天记录监控及封禁违规用户等后台功能。整体实现了职位查询、即时通讯、敏感词过滤及权限控制等核心业务。

SpringBoot 阅读全文
算法 2022-03-31

1287. 有序数组中出现次数超过25%的元素

本文介绍了 LeetCode 第 1287 题:在一个非递减有序整数数组中,恰有一个元素出现次数超过数组长度的 25%。要求找出该元素。题目给出数组长度上限 10⁴,元素值范围 0~10⁵。解法利用数组有序性,只需遍历至 `arr.length - arr.length/4`,检查 `arr[i]` 与 `arr[i + arr.length/4]` 是否相等,若相等即为满足条件的元素,时间复杂度 O(n),空间复杂度 O(1)。代码实现简洁明了。

NowCoder 阅读全文
算法 2022-03-31

70. 爬楼梯

本文介绍了经典的爬楼梯问题:给定需要爬 n 阶楼梯,每次可迈 1 或 2 步,求到达顶层的不同方式数。通过示例说明 n=2 时有 2 种方案,n=3 时有 3 种方案,并给出约束 1 ≤ n ≤ 45。解决思路采用动态规划,利用递推关系 f(i)=f(i‑1)+f(i‑2),并用数组 dp 保存中间结果,特殊处理 n≤2 的情况直接返回 n。代码实现简洁高效,时间复杂度 O(n),空间复杂度 O(n)。

NowCoder 阅读全文
算法 2022-03-28

922. 按奇偶排序数组 II

该题要求将长度为偶数且奇、偶数各占一半的数组重新排列,使得奇数位于奇数索引、偶数位于偶数索引。思路是分别收集数组中的所有偶数和奇数,分别存入两个长度为 n/2 的临时数组,然后交替写回原数组:先放一个偶数,再放一个奇数,依次完成整个数组的重构。代码实现中使用两次遍历完成分离和合并,时间复杂度 O(n),额外空间 O(n)。

NowCoder 阅读全文
Java 2022-03-28

面试现场【Spring篇】

本文系统梳理了 Spring 面试常见知识点:列举了 Spring 使用的工厂、代理、单例、模板方法、观察者、适配器等设计模式;概述了 Core、Context、Web、MVC、DAO、ORM、AOP 等核心模块;阐释 IOC/DI 的本质、BeanFactory 与 ApplicationContext、FactoryBean 的区别以及 @Repository、@Service、@Component、@Controller 的分层意义;介绍 AOP 的概念、通知类型、动态/静态代理及 JDK 与 CGLIB 的实现差异,并比较 Spring AOP 与 AspectJ AOP;详细说明 Bean 的四阶段生命周期、三级缓存如何解决单例循环依赖以及为何需三级缓存;对比 @Autowired 与 @Resource 的注入策略;梳理 Spring 事务的五种隔离级别和七种传播行为;最后解析 Spring Boot 自动装配的 EnableAutoConfigurationImportSelector、spring.factories 与条件过滤机制。

Spring 阅读全文