HTTP Status 406

用Spring MVC 4.0写一个REST服务,实验的过程中碰到了406错误,具体错误消息如下,

The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request “accept” headers.

Vagrant Tips

听说Vagrant管理虚拟机不错,研究了一下Vagrant和Docker的区别,决定安装Vagrant,中间遇到了两个问题,分享如下。

Java performance tips

一些有助于改善性能的小技巧

  1. 慎用异常
  2. 使用局部变量
  3. 位运算代替乘除法
  4. 替换switch
  5. 一维数组代替二维数组
  6. 提取表达式
  7. 展开循环
  8. 布尔运算代替位运算
  9. 使用arrayCopy()
  10. 使用Buffer进行I/O操作
  11. 使用clone()代替new
  12. 静态方法替代实例方法

NIO Buffer

简要记录一下Buffer对象的基本原理和操作。

重要参数

Buffer中有三个重要的参数,下面的表格描述了它们的作用和区别:

Buffer的参数表

NIO basics

NIO是在JDK1.4引入的,代表New IO,具有以下特性:

  • 为所有的原始类型提供缓冲(Buffer)支持
  • 使用Java.nio.charset.Charset作为字符集编解码解决方案
  • 增加通道(Channel)对象,作为新的原始I/O抽象
  • 支持锁和内存映射文件的文件访问接口
  • 提供了基于Selector的异步网络IO

Enter i3

这几天Ubuntu系统特别慢,鉴于我之前Chrome浏览器经常干到50多个Tab,没事儿就开着IntelliJ和Eclipse的不良记录,我必须寻找更加节省内存、提高效率的方法。首先得反省自己,Chrome不能再开那么多Tab页面了,太吃内存了,最多开15个(^_^)。陈皓(@左耳朵耗子)前几天发了条微博说这事儿,但是Chrome还是得用,一是习惯了,二是还得用红杏插件。所以,我就想能不能让Ubuntu省点内存,于是,开始折腾。