Java 基础 4 分钟
Java 是值传递,为什么对象里的值还能改?
先区分对象和引用,再解释参数传递、重新赋值以及 equals 与 ==。
xiaomo 的个人日志
记录生活里的想法,也记下学习和开发过程中的问题与进展。先从这次 Java 项目的独立部署开始。
今天把弹珠项目原先放在其他服务里的后端代码迁到了独立的 Java 项目。保留原来的结算和物理计算逻辑,让项目可以单独编译、测试和部署,不再依赖旧网关。
迁移时最需要留意的是现有规则有没有改变。这次检查了余额、结算重试和排行等逻辑,也对照了 Java 与客户端的物理结果。代码拆开了,后续维护的位置也清楚了。
部署服务时,Java 进程已经启动,接口检查却没有通过。查看日志后发现,问题出在数据库登录认证。先通过数据库客户端验证账号,再修正服务使用的环境配置,重启后本机接口能够正常查询会话。
这次把“进程在运行”和“业务依赖可用”分开检查,排错就直接了很多。密码也不再写进源码,而是通过服务器上的私有环境文件提供。
整理素材时保留了本地原图、历史内容和版本清单,再把文件复制到新的服务器目录。原始字节和分辨率都不做修改,同样的内容通过文件摘要识别并复用。
目前已经确认服务运行用户可以读取当前素材清单。完整下载、签名链接和公网访问还需要后续验证,这些不会仅凭文件复制成功就当作完成。
把复习时容易混淆的问题单独整理,目前有 8 篇。
把常见概念解释清楚,再谈使用边界。
Java 基础 4 分钟
先区分对象和引用,再解释参数传递、重新赋值以及 equals 与 ==。
Java 基础 3 分钟
不可变是一组设计约束,final 只是其中一部分。
从数据结构走到线程协作。
集合与并发 5 分钟
按一次 put 的路径回答,避免只背“数组加链表加红黑树”。
集合与并发 5 分钟
理解核心线程、队列、最大线程与拒绝策略之间的先后关系。
区分内存区域、可见性与运行时行为。
JVM 与内存 4 分钟
堆、栈、元空间,以及为什么 Xmx 不是整个 Java 进程的内存。
JVM 与内存 4 分钟
把可见性、有序性、原子性拆开回答。
把框架原理放回具体的请求和事务里。
Spring 与 MySQL 5 分钟
自调用、异常类型、异步线程和事务管理器,都可能影响结果。
Spring 与 MySQL 5 分钟
最左前缀不是一句万能口诀,索引使用也不只有“用”和“不用”两种状态。
这里是 xiaomo 的个人网站,用来存放自己的日志和学习记录。开发过程中做过的事、遇到的问题,以及回头值得再读的笔记,都在这里慢慢整理。
内容是个人归纳,不是官方题库,也不保证面试命中。不同 JDK、Spring 或 MySQL 版本可能有差异;每篇文章附有官方资料,遇到细节以对应版本的文档和实际验证为准。