JDK 7 中的 Try-With-Resource
这次的图片是「雪后山上徒步旅行者」,来自 Dino Reichmuth 之手,摄影于「瑞士 · 菲舍塔尔 · 阿莱奇冰川」,阿莱奇冰川是阿尔卑斯山脉最大的冰川,是世界文化遗产少女峰-阿莱奇区域的中心部分。可惜的是,与瑞士其他冰川一样,越来越短了。
这次的图片是「雪后山上徒步旅行者」,来自 Dino Reichmuth 之手,摄影于「瑞士 · 菲舍塔尔 · 阿莱奇冰川」,阿莱奇冰川是阿尔卑斯山脉最大的冰川,是世界文化遗产少女峰-阿莱奇区域的中心部分。可惜的是,与瑞士其他冰川一样,越来越短了。
这篇开始,会尝试性的在首部增加一张与文章无关的图片,没有其他目的,只是希望自己在整理记录时,能保持内心的平静。
这次的图片是「湖边古朴的山村」,来自 Dahee Son,摄影于「奥地利 · 哈尔施塔特」。千年盐矿,木屋古镇,2015 年仅有 1221名居民,又被称作「世界上最美的小镇」。
注解(Annotation),也叫元数据。是一种代码级别的说明。JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。
Java 中,IO 流的 read 和 write 方法都是消耗系统资源的操作,多数操作系统在系统级进行了优化,比如在进行写文件的时候,先将字节存储到内核缓冲里,当流关闭或刷新时,再将内核缓冲的内容写入磁盘。
关于系统级的优化,这里不深入了,整理一下应用中 IO 的优化知识,主要是缓冲流的一些注意点。在 Socket 编程以及文件的读写操作等,缓冲流尤为重要。
一次网络通信,也许会有多个缓存,从数据库缓存,服务器缓存,代理服务器缓存,中间服务器缓存,到本地浏览器缓存等,一路缓存下来,不仅减轻服务端的压力,本地用户体验也流畅了。
HTTP 的缓存是在请求/响应头里控制的,不同版本的 HTTP 协议,缓存配置字段也有些区别。
HTTPS 与 SSH,他们都是网络通信的协议,主要作用都是加密网络通信数据,他们之间的区别广义上讲,差不了多少,以至于有人把他们比作 苹果和桔子的关系,我们日常使用的 GitHub,在 clone 仓库的时候,也提供了 HTTPS 和 SSH 两种方式,都能 clone 下来。
但 SSH 和 HTTPS 还是不同的,HTTPS 大量用于客户端服务器直接的安全通信,SSH 主要用于两台电脑之间登录、共享数据和协同工作。