
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
操作系统资源分配的最小单位进程是独立运行的程序,拥有独立内存空间、堆、文件资源,进程之间完全隔离。进程是资源仓库,线程是干活的工人。Java 线程一共6 种状态(面试必考,不是5种!NEW(新建)线程创建完毕,未调用 start(),未启动。RUNNABLE(就绪/运行中)正在 CPU 运行等待 CPU 时间片重点:Java 没有单独的 Running 状态!BLOCKED(阻塞)等待获取sync
启动类直接 import 并引用了,而 IDEA 在多模块 Maven 项目中偶发没有正确索引该类,因此显示 Cannot resolve symbol。其他服务没有类似报错,是因为它们没有在启动类里直接引用本模块配置类,所以不会触发同样的 IDEA 符号解析问题。这次问题本质上不是业务代码错误,而是多模块项目中 IDEA 符号解析和 Spring Boot 配置启用方式叠加导致的误报。减少启动类
理想很丰满:一条命令启动 MySQL、Redis、Kafka,再拉起所有微服务,最后模拟注册、登录、库存预热、下单、风控、结算。现实很直接:GitHub Actions:你先别急着高级,我先让你看看什么叫红色感叹号。
Java8 和 Java1.8 是同一个东西,只是命名方式不同。就说明你使用的是 Java8。当项目要求 JDK1.8、Java1.8、JDK8、Java8 时,通常都表示同一个版本。Java8 和 Java1.8 是同一个版本;Java1.8 是旧版本号写法,Java8 是更常用、更简洁的叫法。
在 Java 后端开发中,命名就是代码的门面,也是团队协作的统一语言。很多项目前期功能跑得通、逻辑没问题,但迭代半年后彻底乱掉:包结构乱飞、类名随心所欲、方法名中英文混用、数据库字段大小写混乱、接口URL命名不统一。最终导致:新人看不懂、改代码不敢动、重构成本极高、Bug 排查效率极低。市面上很多规范只讲零散规则,不成体系。本文给大家整理一套从零搭建、全覆盖、可直接落地、适配 SpringBoot
很多Java开发者升级IDEA后会产生疑惑:2021版新建项目里的「Spring Initializr」消失了,取而代之的是左侧菜单栏「Spring Boot」入口,二者到底是不是同一个工具?本文从底层原理、界面流程、功能差异、适配能力、使用注意事项全方位对比,讲清JetBrains这次改版的设计思路与实操区别,帮新旧版本切换的开发者避坑。
向上转型指的是:把子类对象赋值给父类引用。这就是向上转型。为什么这个过程是安全的?因为狗一定是动物。Dog是Animal的子类,所以一个Dog对象肯定可以当作Animal来使用。因此 Java 允许自动完成向上转型,不需要手动加括号。// 自动向上转型引用类型是 Animal真实对象是 Dog也就是说,变量animal的编译类型是Animal,但它实际指向的对象是Dog。这就是 Java 多态的基
double不能精确保存0.1十进制小数 0.1 转成二进制后是无限循环小数,而 double 的存储位数有限,只能保存近似值。1. double 保存小数可能有精度误差2. 0.1 + 0.2 不一定等于 0.33. 不建议直接用 == 比较浮点数4. 普通计算可以使用误差范围比较5. 金额计算应该使用 BigDecimal6. BigDecimal 推荐使用字符串构造double 适合近似计算
在一个类的内部定义另一个类,这个类就叫内部类。Outer是外部类;Inner是内部类。内部类通常用于表示一个只服务于外部类的辅助结构。把它放在外部类内部,可以让代码关系更加紧密,也可以隐藏不需要暴露给其他类的实现细节。非静态内部类静态内部类没有使用static修饰的成员内部类,叫非静态内部类。这里的Inner就是非静态内部类。必须依赖一个具体的外部类对象才能创建。// 编译错误因为非静态内部类属于
先定义一个简单的PersonSystem.out.println("Person 构造方法执行了");System.out.println("有参构造方法执行了");System.out.println("你好,我是" + name);Person:变量的类型person:引用变量new Person():创建 Person 对象person只是一个引用变量,它保存了对这个对象的引用。Person







