摘要: 所谓的『JAVA 对象序列化』就是指,将一个 JAVA 对象所描述的所有内容以文件 IO 的方式写入二进制文件的一个过程。关于序列化,主要涉及两个流,ObjectInputStream 和 ObjectOutputStream。 很多人关于『序列化』的认知只停留在 readObject 和 writ阅读全文
posted @ 2018-07-16 17:49 Single_Yam 阅读(297) 评论(1) 编辑
摘要: 以前,『XML』是各大框架的青睐者,它以松耦合的方式完成了框架中几乎所有的配置,但是随着项目越来越庞大,『XML』的内容也越来越复杂,维护成本变高。 于是就有人提出来一种标记式高耦合的配置方式,『注解』。方法上可以进行注解,类上也可以注解,字段属性上也可以注解,反正几乎需要配置的地方都可以进行注解。阅读全文
posted @ 2018-07-11 16:21 Single_Yam 阅读(410) 评论(0) 编辑
摘要: 之前的文章我们详细的介绍了 JDK 自身的 API 所提供的一种动态代理的实现,它的实现相对而言是简单的,但是却有一个非常致命性的缺陷,就是只能为接口中的方法完成代理,而委托类自己的方法或者父类中的方法都不可能被代理。 CGLIB 应运而生,它是一个高性能的,底层基于 ASM 框架的一个代码生成框架阅读全文
posted @ 2018-07-05 19:52 Single_Yam 阅读(164) 评论(0) 编辑
摘要: 『动态代理』其实源于设计模式中的代理模式,而代理模式就是使用代理对象完成用户请求,屏蔽用户对真实对象的访问。 举个最简单的例子,比如我们想要「翻墙」访问国外网站,因为我们并没有墙掉所有国外的 IP,所以你可以将你的请求数据报发送到那些没有被屏蔽的国外主机上,然后你通过配置国外主机将请求转发到目的地并阅读全文
posted @ 2018-07-02 16:21 Single_Yam 阅读(354) 评论(3) 编辑
摘要: 『反射』就是指程序在运行时能够动态的获取到一个类的类型信息的一种操作。它是现代框架的灵魂,几尽所有的框架能够提供的一些自动化机制都是靠反射实现的,这也是为什么各类框架都不允许你覆盖掉默认的无参构造器的原因,因为框架需要以反射机制利用无参构造器创建实例。 总的来说,『反射』是很值得大家花时间学习的,尽阅读全文
posted @ 2018-06-24 20:20 Single_Yam 阅读(327) 评论(4) 编辑
摘要: 泛型是 JDK1.5 的一个新特性,其实就是一个『语法糖』,本质上就是编译器为了提供更好的可读性而提供的一种小「手段」,虚拟机层面是不存在所谓『泛型』的概念的。 在我看来,『泛型』的存在具有以下两点意义,这也是它被设计出来的初衷。 一是,通过泛型的语法定义,编译器可以在编译期提供一定的类型安全检查,阅读全文
posted @ 2018-06-19 17:18 Single_Yam 阅读(307) 评论(0) 编辑
摘要: 文件的抽象化表示,字节流以及字符流的文件操作等属于传统 IO 的相关内容,我们已经在前面的文章进行了较为深刻的学习了。 但是传统的 IO 流还是有很多缺陷的,尤其它的阻塞性加上磁盘读写本来就慢,会导致 CPU 使用效率大大降低。 所以,jdk 1.4 发布了 NIO 包,NIO 的文件读写设计颠覆了阅读全文
posted @ 2018-06-14 10:50 Single_Yam 阅读(253) 评论(1) 编辑
摘要: 在前两篇文章中,我们完整的描述了计算机网络 OSI 五层模型的相关内容。那么,本篇将会从一个实践案例开始,带你从整体上重新认识我们的计算机网络。 我们以访问 Google 为例,当我们在浏览器地址栏中敲下回车键之后,整个计算机网络将会发生什么呢? 本机的网络相关参数如下: 首先我们应用层的浏览器决定阅读全文
posted @ 2018-06-05 11:39 Single_Yam 阅读(634) 评论(3) 编辑
摘要: "上篇文章" 我们完整的描述了计算机五层模型中的『应用层』和『运输层』,阐述了较为复杂的 TCP 协议的相关原理,相信大家一定也有所收获,那么本篇将继续五层模型的学习。 网络层 『网络层』其实解决的就是一个「转发」的问题,通过传说中的『IP 协议』划分了网络范围,即我没有直接用网线和你连在一起,我也阅读全文
posted @ 2018-06-04 19:23 Single_Yam 阅读(378) 评论(1) 编辑
摘要: 因特网无疑是人类有史以来最伟大的设计,它互联了全球数亿台计算机、通讯设备,即便位于地球两端的用户也可在顷刻间完成通讯。 可以说『协议』是支撑这么一个庞大而复杂的系统有条不紊运作的核心,而所谓『协议』就是通讯双方所必须遵守的规则,在这种规则下,不同的数据报可能被解析为不同的响应动作。 简而言之,『协议阅读全文
posted @ 2018-06-01 11:35 Single_Yam 阅读(1099) 评论(3) 编辑