摘要:
fat-jar术语解读 术语概念 fat-jar,也被称为uber-jar,是一种特定方式的Jar包。根据ImageJ网站上对于fat-jar的解释(具体见下面引用的英文),从fat-jar的另外一个别名 JAR with dependencies中可以大致窥见这个术语的含义。 对于jar包的格式不 阅读全文
摘要:
现在我们看看关于NIO三大组件之一的Selector究竟做了些什么?简单来说,Selector就是“维护“另外一个组件Channel的。从Channel注册到最终注销整个生命周期将由Selector间接管理。 那么上述说到的”维护“和间接究竟是什么意思呢?我们先来看看Selector本身的一些属性— 阅读全文
摘要:
在java中有一个比较有趣的特性,在对对象进行=赋值,或者clone时候一般都是我们所说的浅复制, 也就是说我们获取的并非在堆中重新分配的一块内存,而是一个指向原有数据内存的一个引用。 这样的后果就是我们修改了A中的属性,那么B的属性也会同时发生变化,因为他们两个本身就指向同一个对象,所以变化一个另 阅读全文
摘要:
观察者模式是我们在设计中常用的一种模式,在这种模式下,消息发送者和消息接收者相当于一种订阅号的模式,类似于我们在日常中使用的微信公众号功能,由公众号下发一篇文章,然后所有关注了该公众号的用户都能接收到这条信息。 原理逻辑 观察者模式的实现原理图如下: 虽然观察者模式涉及到很多类, 消息提供者接口则是 阅读全文
摘要:
代理模式 [TOC] 代理模式,顾名思义,实际上提供了一种访问目标对象的另外一种方式。也就是通过代理的方式去访问,这种模式的作用好处是 在不改变原有对象的处理逻辑的基础之上,可以添加对原有对象的一些新的逻辑 。也就是可以扩展原有对象的功能。 举个现实中常用的例子,我们平时生活中小饭店和外卖服务商家实 阅读全文
摘要:
在一些应用场景当中,我们可能会遇到以下的场景,我们要使用的类型是List类型,但是接收到的参数是Stirng类型如1,2,3,4等这样的形式 那么我们可以通过采用以下的代码完成以上需求的转换 阅读全文
摘要:
深入理解零拷贝的原理 零拷贝是网络传输当中很重要的一个概念,我们可以从Linux在网络传输中的设计变化中理解零拷贝的基本原理。 最原始的网络传输过程 当服务器和客户端建立起socket连接之后,现在准备进行数据的传输。由于文件都存在于磁盘中,因此我们传输的流程是按照以下图一所示的过程进行传输的: 图 阅读全文
摘要:
[TOC] 首先,HEXO是什么? 其实HEXO就是一个轻量级的前端blog框架,形式简约而不简单。在 "官网" 中将其描述为 A fast, simple & powerful blog framework 实际上,这就是他的定位。 其次,这个框架好用在哪里呢?一方面相信大家在谈起b 阅读全文
摘要:
java 传统IO的分析 阅读全文