文档章节

java8学习笔记

taojinhuo
 taojinhuo
发布于 2014/05/31 00:36
字数 393
阅读 1054
收藏 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
10/11
0
0
30分钟入门Java8之方法引用

30分钟入门Java8之方法引用 作者:@JohnTsai 本文为作者原创,转载请注明出处:https://www.cnblogs.com/JohnTsai/p/5806194.html 30分钟入门Java8之方法引用 前言 之前两篇文章分别介绍了J...

spinachgit
01/12
0
0
RSA加密解密以后验签等操作笔记

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

独钓渔
2016/01/19
124
0
30分钟入门Java8之默认方法和静态接口方法

30分钟入门Java8之默认方法和静态接口方法 作者:@JohnTsai 本文为作者原创,转载请注明出处:http://www.cnblogs.com/JohnTsai/p/5598036.html 30分钟入门Java8之默认方法和静态接口方法 前...

spinachgit
01/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

创建第一个react项目

sudo npm i -g create-react-app@1.5.2 create-react-app react-app cd react-apprm -rf package-lock.jsonrm -rf node_modules #主要是为了避免报错npm installnpm start......

lilugirl
今天
1
0
在浏览器中进行深度学习:TensorFlow.js (八)生成对抗网络 (GAN)

Generative Adversarial Network 是深度学习中非常有趣的一种方法。GAN最早源自Ian Goodfellow的这篇论文。LeCun对GAN给出了极高的评价: “There are many interesting recent development...

naughty
今天
0
0
搬瓦工镜像站bwh1.net被DNS污染,国内打不开搬瓦工官网

今天下午(2018年10月17日),继搬瓦工主域名bandwagonhost.com被污染后,这个国内的镜像地址bwh1.net也被墙了。那么目前应该怎么访问搬瓦工官网呢? 消息来源:搬瓦工优惠网->搬瓦工镜像站b...

flyzy2005
今天
6
0
SpringBoot自动配置

本篇介绍下,如何通过springboot的自动配置,将公司项目内的依赖jar,不需要扫描路径,依赖jar的情况下,就能将jar内配置了@configuration注解的类,创建到IOC里面 介绍下开发环境 JDK版本1.8 spr...

贺小五
今天
5
0
命令行新建Maven多项目

参考地址 # DgroupId 可以理解为包名# DartifactId 可以理解为项目名mvn archetype:generate -DgroupId=cn.modfun -DartifactId=scaffold -DarchetypeArtifactId=maven-archetype-quickst......

阿白
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部