JDK 7的新特性
- switch 支持String字符串类型
- try-with-resources,资源自动关闭
- 整数类型如(byte,short,int,long)能够用二进制来表示
- 数字常量支持下划线
- 泛型实例化类型自动推断,即”<>”
- 一个catch中捕获多个异常类型,用(|)分隔开
- 增强的文件系统
- Fork/join 框架
JDK8 的新特性
- lambada表达式
- 函数式接口
- 方法引用(
System.out::println
该符号为引用运算符,而它所在的表达式被称为方法引用) - 默认方法(接口)
- Stream API
- Optional
- Date Time API(如LocalDate)
- 重复注解(允许在同一申明类型(类,属性,或方法)的多次使用同一个注解)
- Base64(一种基于 64 个可打印字符来表示二进制数据的表示方法,常用于在处理文本数据的场合,表示、传输、存储一些二进制数据,包括邮件、XML等一些复杂数据)
- JVM的新特性(如元空间Metaspace代替持久代)
顺便说下Base64 编码过程
- 按照从左往右的规则,每三个字节作为一组,一共就是24个二进制位。
- 将这24个二进制位分为四组,每组6个二进制位。
- 之后在每组数据前面添加00,组成每个组8个二进制位,此时变成了32个二进制位,即四个字节
- 四个字节在Base64 索引表查找得到的对应符号,base64编码完成
Base64 解码原理
- 解码原理是将4个字节转换成3个字节,先读入4个6位(用或运算),每次左移6位,再右移3次,每次8位,这样就还原了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)