随笔分类 -  杂谈

摘要:背景 toB 的本地化 java 应用程序,通常是部署在客户机器上,为了保护知识产权,我们需要将核心代码(例如 Lience,Billing,Pay 等)进行加密或混淆,防止使用 jadx 等工具轻易反编译。同时,为了更深层的保护程序,也要防止三方依赖细节被窥探; 业界方案 ProGuard 简介: 阅读全文
posted @ 2023-10-14 17:42 莫那-鲁道 阅读(1266) 评论(0) 推荐(1) 编辑
摘要:Java extension plugin and hot swap plugin(Java 扩展点/插件系统,支持热插拔,旨在解决本地化软件的功能定制问题) 阅读全文
posted @ 2023-08-14 21:11 莫那-鲁道 阅读(1557) 评论(6) 推荐(2) 编辑
摘要:如何编写一个 SendFile 服务器 前言 之前讨论零拷贝的时候,我们知道,两台机器之间传输文件,最快的方式就是 send file,众所周知,在 Java 中,该技术对应的则是 FileChannel 类的 transferTo 和 transferFrom 方法。 在平时使用服务器的时候,比如 阅读全文
posted @ 2019-10-29 14:03 莫那-鲁道 阅读(582) 评论(0) 推荐(0) 编辑
摘要:当前的大部分 Java web 容器基于 Bio 线程模型,例如常见的 tomcat ,默认 200 线程,即 200 连接。由此带来的问题是,如果想提高并发,或者提高资源利用率,就得加大线程数。 如下图: 于是出现了类 Netty 的 Reactor 线程模型。同时,Java 官方也设计了 Ser 阅读全文
posted @ 2019-06-02 15:55 莫那-鲁道 阅读(1492) 评论(6) 推荐(0) 编辑
摘要:前言 零拷贝这三个字,一直是服务器网络编程的关键字,任何性能优化都离不开。在 Java 程序员的世界,常用的零拷贝有 mmap 和 sendFile。那么,他们在 OS 里,到底是怎么样的一个的设计?本文将简单聊聊 mmap 和 sendFile 这两个零拷贝。 传统数据读写的劣势 初学 Java 阅读全文
posted @ 2019-06-01 18:49 莫那-鲁道 阅读(1638) 评论(1) 推荐(0) 编辑
摘要:如果面试官问你:你了解 Java 内存模型吗?你怎么回答? 阅读全文
posted @ 2018-10-21 21:19 莫那-鲁道 阅读(2113) 评论(3) 推荐(0) 编辑
摘要:谈谈中间件开发 阅读全文
posted @ 2018-10-20 17:02 莫那-鲁道 阅读(12156) 评论(13) 推荐(16) 编辑
摘要:本人开源项目 Lu-Rpc 阅读全文
posted @ 2018-10-16 22:08 莫那-鲁道 阅读(1035) 评论(4) 推荐(1) 编辑
摘要:前言 即使这是一本小册,但基于“不提笔不读书”的理念,仍然有必要总结一下。此小册对于那些“硬杠 Netty 源码 却不曾在千万级生产环境上使用实操”的用户非常有用。当然,对那些没有 Netty 编程经验的人来说,更为有用。 放个小册地址: "[Netty 入门与实战:仿写微信 IM 即时通讯系统" 阅读全文
posted @ 2018-10-13 21:38 莫那-鲁道 阅读(1802) 评论(0) 推荐(0) 编辑
摘要:广义的 IOC IoC(Inversion of Control) 控制反转,即“不用打电话过来,我们会打给你”。 两种实现: 依赖查找(DL)和依赖注入(DI)。 IOC 和 DI 、DL 的关系(这个 DL,Avalon 和 EJB 就是使用的这种方式实现的 IoC): DL 已经被抛弃,因为他 阅读全文
posted @ 2018-10-12 16:40 莫那-鲁道 阅读(5572) 评论(5) 推荐(5) 编辑
摘要:Spring AOP ,SpringMVC ,这两个应该是国内面试必问题,网上有很多答案,其实背背就可以。但今天笔者带大家一起深入浅出源码,看看他的原理。以期让印象更加深刻,面试的时候游刃有余。 Spring AOP 原理 简单说说 AOP 的设计: 1. 每个 Bean 都会被 JDK 或者 Cg 阅读全文
posted @ 2018-10-12 16:39 莫那-鲁道 阅读(10124) 评论(2) 推荐(1) 编辑
摘要:前言 由于 Cglib 本身的设计,无法实现在 Proxy 外面再包装一层 Proxy(JDK Proxy 可以),通常会报如下错误: 错误来源代码: net.sf.cglib.proxy.Enhancer generateClass(ClassVisitor v) 通过 dump 出来的字节码查看 阅读全文
posted @ 2018-10-05 08:43 莫那-鲁道 阅读(1755) 评论(0) 推荐(3) 编辑
摘要:经验之谈 工作中,我们常常需要将基础架构部门的 jar 包提供给业务部门的同事使用,那么,需要将 jar 包 deploy 到 nexus 私服上,网上资料不是很多,这里说一下具体细节。 首先,是打 jar 包,maven 默认是不会将依赖的 jar 打入到新包中的,而是通过 pom 文件进行构建。 阅读全文
posted @ 2018-06-27 22:27 莫那-鲁道 阅读(3666) 评论(0) 推荐(0) 编辑
摘要:前言 当一个对象的构造十分复杂时,我们需要将“构造过程”和他的“表示”进行分离,使得同样的构建过程可以表示不同的对象。 这个时候,需要使用 Builder 模式。用户只需指定建造者的类型就可以得到对应的产品。而具体如何构造用户并不关心。 而不同的对象的构造又是不同的,因此需要不同的建造者一一对应。 阅读全文
posted @ 2018-06-14 01:28 莫那-鲁道 阅读(277) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示