Wesley13 Wesley13
3年前
Voovan开发指南 (一) Socket服务端开发
Voovan框架介绍Voovan开源项目启动于2015年,始于自己在使用Netty和Mina时有较多难以理解的部分,同时在使用过程中遇到对粘包等问题的困扰,后来经过不断的对源码的学习以及对java异步通信的深入理解发现自java1.7以后JDK提供了更优秀的异步通信模型AIO,随后决定自己参照AIO模型重新造一个轮子。并
Wesley13 Wesley13
3年前
Unix编程艺术心得
这本书被称为Unix世界"教外别传"的心法,此言不虚!大家都公认主流的IT文化就是Unix的文化。此书对这种原来靠言传身教和源代码流传的文化进行总结。是一本深入到文化精髓,值得仔细反复玩味的经典。同时书中还有很多坊间故事,对Unix历史发展历史的梳理,案例的分析等。有助于了解历史的脉络,深入理解文化精髓的奥秘。翻阅此书不时能发现一些或让人眼前一亮,
Wesley13 Wesley13
3年前
Voovan开发指南 (二) Socket客户端开发
Voovan框架介绍Voovan开源项目启动于2015年,始于自己在使用Netty和Mina时有较多难以理解的部分,同时在使用过程中遇到对粘包等问题的困扰,后来经过不断的对源码的学习以及对java异步通信的深入理解发现自java1.7以后JDK提供了更优秀的异步通信模型AIO,随后决定自己参照AIO模型重新造一个轮子。并
小万哥 小万哥
1年前
深入理解 Java 多线程、Lambda 表达式及线程安全最佳实践
Java线程线程使程序能够通过同时执行多个任务而更有效地运行。线程可用于在不中断主程序的情况下在后台执行复杂的任务。创建线程有两种创建线程的方式。1.扩展Thread类可以通过扩展Thread类并覆盖其run()方法来创建线程:javapublicclas
小万哥 小万哥
1年前
探索 DTD 在 XML 中的作用及解析:深入理解文档类型定义
DTD是文档类型定义(DocumentTypeDefinition)的缩写。DTD定义了XML文档的结构以及合法的元素和属性。为什么使用DTD通过使用DTD,独立的团体可以就数据交换的标准DTD达成一致。应用程序可以使用DTD来验证XML数据的有效性。内部
深入理解分布式锁:原理、应用与挑战| 京东物流技术团队
前言在单机环境中,我们主要通过线程间的加锁机制来确保同一时间只有一个线程能够访问某个共享资源或执行某个关键代码块,从而防止各种并发修改异常。例如,在Java中提供了synchronized/Lock。但是在分布式环境中,这种线程间的锁机制已经不起作用了,因