文章
所有已发布的文章
-
MySQL 中文乱码?别急着改 my.cnf!本文梳理了 Mac 环境下 MySQL 乱码的 4 种原因:程序配置、数据库/表/字段编码、终端设置、Navicat 连接设置。特别是 Homebrew 安装的 MySQL 默认没有 my.cnf,以及 Navicat 的 Encoding 要选 Auto 而非 UTF-8 这两个坑,踩过才知道痛。
-
Oracle 查询慢不一定是 SQL 的问题。开启 Druid 的 PSCache 功能后,性能提升了 20%!原理是 Oracle 支持游标,PreparedStatement 被缓存复用时服务端游标不关闭,性能提升可达一个数量级。关键是 Druid 是唯一解决了 PSCache 内存占用过多问题的连接池。
-
Dubbo 服务部署后如何监控和治理?dubbo-admin 是官方提供的可视化管控台。本文详细记录从 GitHub 拉取源码、Maven 打包、Tomcat 部署到配置 Zookeeper 集群地址的完整流程。重点讲解端口冲突避免、JVM 参数调优等实战技巧,让你的 Dubbo 服务治理一目了然。
-
学 Dubbo 之前先把注册中心搭好。本文手把手教你在 3 台 Linux 虚拟机上搭建 Zookeeper 集群:从下载解压到配置 zoo.cfg,从创建 myid 文件到配置环境变量,每一步都有详细命令。最后验证集群状态,一个 leader 两个 follower,高可用注册中心就绑了。Dubbo 入门的前置必修课。
-
Windows 服务器上 MySQL 启动失败,报「系统错误 1067 进程意外终止」?别急着改 my.ini 的 basedir 和 datadir,先用 netstat 查查 3306 端口是不是被占用了。本文记录一次排查过程:发现是 IEXPLORE.exe 占了端口,杀掉进程后 MySQL 正常启动。附 Windows 下端口占用排查命令。
-
想理解 Java 并发编程里的 wait() 和 notify()?最好的方式是自己实现一个阻塞队列。本文用 LinkedList + AtomicInteger + synchronized 手撸一个简易版 BlockingQueue,队列满时 put 阻塞,队列空时 get 阻塞,完美演示生产者-消费者模型。附完整测试代码,帮你真正理解线程间通信机制。
-
Spring Boot 整合 MyBatis 后,SQL 语句死活打印不出来?关键在于 logback-spring.xml 里要把 Mapper 接口的包路径配成 DEBUG 级别。本文提供完整的 logback 配置模板,包括控制台输出、按日期滚动的文件日志、独立的错误日志。另外安利 Lombok 的 @Slf4j 注解,告别冗余的 Logger 声明。
-
windows 是目前我们用的最多一个系统,win10 现在也优化的越来越好,今天大姐的电脑有点问题,担心太蠢,不会下载和激活系统,所以整理并记录一下如何下载并激活 win10 系统,以供查阅。
-
Map.Entry 明明是个接口,为什么能直接调用 getKey() 和 getValue()?从一个朋友的疑问出发,深入 HashMap 源码,揭秘 entrySet() 返回的其实是内部类 EntrySet,而真正干活的是实现了 Map.Entry 的 Node 类。一次完整的 Java 多态实战分析,帮你理解接口、实现类、内部类之间的关系。
-
前言--> 今天tomcat启动时,连接oracle直接报错,出现ORA-12505的问题,最开始,我以为错误的原因是jdbc连接Oracle的连接串中的sid配置的不对,oracle不能解析连接串中的sid名字,所以拒绝了连接。在连接字串中写入正确的sid即可。