文档章节

java8学习笔记

taojinhuo
 taojinhuo
发布于 2014/05/31 00:36
字数 393
阅读 1056
收藏 12

java8学习笔记

拜读了成熟的毛毛虫的java8的文章,收获不小,在此写下阅读笔记。

lambda表达式

  1. 语法:(parameters) -> expression 或者 (parameters) -> { statements; }ObjectReference::methodName
  2. 优点: 代码相对简洁,有利于编译器优化代码,提高多核利用率

interface的默认方法

  1. 目的是解决接口的修改问题,修改的接口与老的实现不兼容
  2. 注意多继承的冲突控制

java.util.stream

  1. 中间方法(filter、map)以及终点方法(collect、sum)
  2. 顺序流与并行流;

类型注解

  1. java 8里面,注解可以应用在任何地方
  2. 类型注解被用来支持在Java的程序中做强类型检查
  3. 配合插件式的check framework,可以在编译的时候检测出runtime error

重复注解

  1. 优点:代码写法更便捷
  2. 允许在同一申明类型(类,属性,或方法)的多次使用同一个注解

泛型的目标类型推断

  1. 写法更便捷

新的日期时间类java.time包

  1. 已有时间库的问题:api复杂,容易写出错误代码;Calendar Date
  2. 已有的第三方时间库:广泛使用的JODA-TIME,还有Date4j

精简版jre

  1. 紧凑的JRE分3种,分别是compact1、compact2、compact3
  2. javac –bootclasspath, or javac –profile <profile>

内存管理MetaSpace

  1. 去掉了perm区,引入了MetaSpace,实现动态扩容,容量更大。

新的同步锁StampedLock

  1. 引入乐观锁的概念,在某些场景下,提高了并发效率
  2. 不过学习起来比其他的锁要复杂,eentrantReadWriteLock, ReentrantLock 和synchronized锁

© 著作权归作者所有

共有 人打赏支持
taojinhuo
粉丝 25
博文 25
码字总数 8260
作品 0
杭州
技术主管
私信 提问
Joda-time学习笔记

一、joda的优点展示 joda-time能够便捷地格式化时间输出、设定时间、加减时间、计算时间差值。跟JDK的Date/Calender相比一试便知,每个测试中上半部分是用jdk操作,下半部是用joda-time操作。...

刀狂剑痴
2015/08/27
2.5K
0
JAVA8的学习笔记之Collection

作为一个java粉的新手,对java的各个常用的库需要深入了解,做到雨露均沾。此博客就谈一谈Collection,包括其子类List和Set。如果参考了其他博主的博客会使用链接的方式引出。并且此博客会不...

xingyun123asd
2018/10/11
0
0
RSA加密解密以后验签等操作笔记

RSA加密解密以后验签等操作笔记。留着方便自己方查找。 执行结果如下: 这个就把RSA的常规使用放在这里方便以后查找。 这个把Base64换成java8的base64了,如下:

独钓渔
2016/01/19
124
0
京东4面(Java研发):事务隔离+乐观锁+HashMap+秒杀设计+微服务

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/t4i2b10X4c22nF6A/article/details/84347063 一面(基础面:约五十分钟) 自我介绍,主要讲讲做了什么和擅长什...

JAVA高级架构v
2018/11/22
0
0
Java 8 中新的 Date 和 Time 类入门详解

这篇文章主要是java8中新的Date和Time API的实战。新的Date和Time类是java开发者社区千呼万唤始出来的。Java8 之前存在的Date类一直都受人诟病,很多人都会选择使用第三方的date库joda-time...

默默学习中
2016/05/04
270
0

没有更多内容

加载失败,请刷新页面

加载更多

echarts实现中国地图

最近项目中有个需求:在地图上展示各省市的数据分布,像这样: 项目中接入的图表展示工具是echart,查了echart官网,发现并没有中国地图相关的实现,唯一接近的,只有香港18区人口密度。没办...

Funcy1122
18分钟前
0
0
持续集成工具Jenkins结合SVN的安装和使用

持续集成工具Jenkins结合SVN的安装和使用 2018年06月08日 11:30:23 止步前行 阅读数:2932 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zxd1435513775/ar...

linjin200
25分钟前
0
0
ES6 对象的解构赋值

基本用法 1.等号右边如果不是数组,将会报错(不是可遍历结构) 2.解构赋值 var, let, const命令声明均适用 3.set结构也可解构赋值(具有Iterator接口,可采用数组形式结构赋值) set解构:任何...

Jack088
27分钟前
2
0
微信小程序富文本table超出宽度处理

一、微信小程序富文本table超出宽度处理 处理思路: 使用正则删除table中的width属性。 //去除table的宽度content = content.replace(/<table[^>]*>/gi, function (match, capture) { ...

tianma3798
29分钟前
0
0
阿里云全站加速DCDN全面支持WebSocket协议

WebSocket协议可以为网站和应用提供真正的双向通信,具有控制开销、保持连接状态、更强实时性、更好的压缩效果等优点,是当下低延时应用最常采用的一种技术协议。为了更好的满足客户在实时通...

阿里云官方博客
30分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部