Java 开发宝典🔥
文章平均质量分 72
分享工作中经历的开发知识以及开发经验
聪ζ
练习时长两年半的 Java 开发程序猿
主打项目:微狗实时聊天室、短链狗短链生成、手写轻量级 RPC 框架、万物代码平台
GitHub地址:https://github.com/lhccong
展开
-
已老实!公司的代码再也不敢乱改了!
大家好,我是聪。想必对于很多初入职场,心中怀着无限激情的兄弟们,对于接手老代码都会有很多愤慨,碰到同事的代码十分丑陋应不应该改!我也是这样,我相信有很多人同样有跟我一样的经历。满打满算实习 + 正式工作,我也敲了两年多代码,我今天来说说我自己的看法吧。原创 2024-07-19 13:59:42 · 849 阅读 · 0 评论 -
我想我大抵是疯了,我喜欢上了写单元测试
大家好我是聪。相信有不少的小伙伴喜欢写代码,但是对于单元测试这些反而觉得多此一举,想着我都在接口文档测过了!还要写什么单元测试!写不了一点!!由于本人也是一个小小程序猿🙉,我以前也不喜欢写,最近给扔到了另一个 leader 的项目组里面,刚进去他给我下达的命令就是,你写的代码逻辑都要给我写上单元测试,而且要生成覆盖率报告给我!哇!我顿时就难受了,我之前都没有这么严格的,但是呢最近在我疯狂的写单元测试下,我发现我爱上了写单元测试。原创 2024-07-18 11:09:11 · 4351 阅读 · 5 评论 -
我被恐吓了,对方扬言要压测我的网站
大家好我是聪,昨天真是水逆,在技术群里交流问题,竟然被人身攻击了!骂的话太难听具体就不加讨论了,人身攻击我可以接受,我接受不了他竟然说要刷我接口!!!!🔥本次的自动加入黑名单拦截代码已经上传到短链狗,想学习如何生成一个短链可以去我的 Github 上面查看哦,项目地址:https://github.com/lhccong/short-link-dog-backend。原创 2024-05-27 16:24:19 · 483 阅读 · 3 评论 -
如何爱上写项目、写好项目,不妨看看我的做法
相信大家也是很讨厌写注释,但是写注释不仅能让别人能懂你的代码,更重要是自己在阅读代码的时候能更好的快速回顾自己的代码是干了什么,能帮助自己快速的维护,现在都是 AI 时代,我自己写代码的时候对于普通的代码我都会使用 AI(CodeGeex)来进行注释生成、比较特殊的代码我会自己进行注释修改。像我写项目有个习惯,我不喜欢一上来就开始写项目,我喜欢先配合 GPT 给我的项目取个好听的名字🔥,我经常是这样干的,比如说我的微狗、短链狗、SQL 慢镜 也是有问过 GPT 的意见。心里对开发项目的兴趣又高了几分。原创 2024-05-10 15:55:09 · 1153 阅读 · 0 评论 -
来!给我讲讲分库分表!
你好面试官,在我的理解中分库分表分为四个类型,垂直分表、垂直分库、水平分表、水平分库。原创 2024-05-09 14:47:18 · 386 阅读 · 0 评论 -
索引下推原来就这?
通过将部分带有索引的条件交由存储引擎层进行过滤操作,从而减少了 IO(本该由 Server 层做操作,交由 存储引擎层因此叫做 “下推” )。4)如果查询使用了 聚簇索引(主键)查询,索引下推也不会生效,因为其是对于非聚簇索引来进行减少回表次数。3)再通过主键 ID 分别进行回表查询出来得到最终结果[有三个主键 ID 需要回表 3 次]。2)再通过主键 ID 分别进行回表查询出来[有四个主键 ID 需要回表 4 次]。来进行索引过滤,分别找到多条主键 ID 分别是(1、3、6)数据。原创 2024-05-08 14:15:20 · 230 阅读 · 0 评论 -
2024 年你不懂使用了索引反而变慢如何排查你就 OUT 啦
索引失效的场景有很多,也是面试官经常喜欢问的,可以根据具体场景进行排查,具体场景可以分为以下几点原创 2024-05-08 14:13:08 · 1141 阅读 · 0 评论 -
二级缓存实现起来竟然如此简单!
作为面试者的扩展延伸:我在本地缓存的实现中,我使用到了本地缓存性能之王 Caffeine 作为一级缓存,在市面上很多像 Redisson、Druid、Hbase 等知名开源项目都用到了 Caffeine 。它实现了更加好用的缓存淘汰算法 W-TinyLFU 算法,结合了 LRU(最近最久未使用算法) 算法以及 LFU(最少使用算法) 算法的优点,所以选择它能使本地缓存的使用更加方便快速。原创 2024-04-26 10:54:13 · 1039 阅读 · 0 评论 -
面试官竟然是个小黑子,问我用过状态机吗
在 C、C++、Java、Python 等编程语言中,可以通过使用 switch-case 语句、if-else 语句、状态转移表等来实现状态机。状态机是一种抽象的数学模型,描述了对象或系统在特定时间点可能处于的各种状态以及状态之间的转换规则。在上面的示例中,我们定义了一个状态机,用于控制在打篮球时音乐的播放和唱跳 Rap 的行为。是不是感觉状态机其实经常在我们的日常使用中捏~,接下来带大家使用更优雅的状态机 Spring 状态机。结构根据不同的活动来控制音乐的播放状态,并执行相应的行为。原创 2024-04-23 11:01:41 · 1504 阅读 · 2 评论 -
当服务器代码出问题时,相信你会用到这些命令
【代码】当服务器代码出问题时,相信你会用到这些命令👋。原创 2024-04-22 15:38:50 · 287 阅读 · 0 评论 -
Java 每日一题:谈谈你对Java平台的理解❓
📻Java平台是一种广泛使用的软件开发平台,它提供了一套完整的工具和运行时环境,用于开发和运行Java应用程序。原创 2024-04-16 09:45:00 · 300 阅读 · 1 评论 -
JAVA面试题大全
字节码是 Java 程序编译后的中间代码,是一种可移植的二进制代码,可以在任何支持 Java 虚拟机(JVM)的平台上运行。字节码通过将 Java 源代码编译为字节码指令序列,使得 Java 程序可以跨平台运行,即使是在不同的操作系统和硬件平台上也可以运行。1、字节码采用中间代码的形式,相比于直接将程序编译为特定平台上的机器码,有以下几个好处:2、可移植性:由于字节码是中间代码,所以可以在任何支持 JVM 的平台上运行,使得 Java 程序具有很好的可移植性。这也是 Java 跨平台的重要特性之一。原创 2023-05-09 11:05:50 · 1268 阅读 · 0 评论 -
函数式接口使用起来竟然如此简单~
在餐厅里,菜单上的每道菜(Predicate)都有自己的特点或标准,顾客可以根据菜单上的描述(Predicate)来选择自己喜欢的食物。Function 是一个函数型接口,代表接受一个输入参数(类型为T),并返回一个结果(类型为R)的操作。相当于你是一个餐馆的顾客,你只负责吃你点的食物。在 Java 中,Function 表示一个函数,它接收一个输入(食物)并返回一个输出(处理后的食物)。Predicate 是一个断言型接口,代表一个断言(输入一个参数,返回一个布尔值的判断)。原创 2024-04-15 13:45:12 · 573 阅读 · 2 评论