JDK源码阅读-RandomAccessFile

FileInputStream只能用于读取文件,FileOutputStream只能用于写入文件,而对于同时读取文件,并且需要随意移动文件当前偏移量的话,就需要使用RandomAccessFile这个类了。RandomAccessFile是对操作系统提供的文件读写能力最完整的封装。

阅读全文

JDK源码阅读-FileOutputStream

FileOutputStream用户打开文件并获取输出流。

阅读全文

JDK源码阅读-FileInputStream

FileIntputStream用于打开一个文件并获取输入流。

阅读全文

JDK源码阅读-FileDescriptor

操作系统使用文件描述符来指代一个打开的文件,对文件的读写操作,都需要文件描述符作为参数。Java虽然在设计上使用了抽象程度更高的流来作为文件操作的模型,但是底层依然要使用文件描述符与操作系统交互,而Java世界里文件描述符的对应类就是FileDescriptor。

阅读全文

JVM堆内存使用率持续上升的一种排查思路

最近新版本发布后,在运行一段时间后程序突然无响应了,观察监控,发现JVM堆内存占用在某个时间点突然飙升,最终导致应用无响应:

重启Tomcat后,应用恢复正常,并且后续时间没有发生内存上涨问题。

阅读全文

AWS S3 Range下载响应测试

HTTP范围请求(Range Requests)是用于获取对象指定范围内容的请求规范,常用语HTTP断点续传和多线程下载。

Range头部的格式可能的格式较多,这里通过调用AWS S3服务来看一下,一个规范的文件下载服务是如何响应范围请求的。

HTTP范围请求的资料可以参考:

阅读全文

MongoDB笔记-查询计划

MongoDB在进行查询时,会分析查询语句,得出可能的查询计划。

阅读全文

URI,URL与URN的区别

URI:统一资源标识符 Uniform Resource Identifier
URL:统一资源定位符 Uniform Resource Locator
URN:统一资源名称 Uniform Resource Name

URI通过标识符的方式确定一个资源。
URL通过定位的方式确定一个资源。
URN通过名称的方式确定一个资源。
URL和URN是URL的子集。URI可以是URL,URN或者两者都是。

阅读全文

IndexedDB笔记-基本使用

Web Application,网页应用是大势所趋,网页如果要提供本地应用级别的体验,存储是不可缺少的功能。从最早的Cookie,到LocalStorage,到IndexedDB,前端存储方案从简单的键值对到现在的数据库,功能不断强大。

IndexedDB是一种可以让你在用户的浏览器内持久化存储数据的方法。IndexedDB为生成Web Application提供了丰富的查询能力,使我们的应用在在线和离线时都可以正常工作。IndexedDB是一个功能完备的NoSQL数据库。

阅读全文

CURL笔记-基本使用

CURL命令行使用笔记。

阅读全文