Java 8新特性探究 前言

https://my.oschina.net/benhaile/blog/174136

讲下java的历史 感觉挺好的. 

自2013年6月13日,oracle就已经发布的Java 8特性完备版本(M7),但最终GA版本将在2014年3月18日(已第二次跳票,原计划今年9月发布的,据官网宣称是为了解决安全问题......),相信大家多多少少都听闻了关于Java 8的改进,总得来说,Java 8从语言,核心库,国际化、虚拟机,安全性,平台等方面一共有55个特性,本系列博文将带大家对这55个特性进行探究,不求做到最好,只求详细,深入浅出,通俗易懂。

 

java几个重大版本

java从1995年发布到现在,也走过18年了,个人认为,其中几个java版本都肩负着重大使命,影响甚远;
jdk1.0 1995年5月23日诞生,Oak语言改名为Java,并提出“Write Once ,Run anywhere";
jdk1.2  1999年6月发布,将java划分为J2SE,J2ME,J2EE三大平台;
jdk1.4 主要是性能提升,在2000年时候JAVA成为世界上最流行的电脑语言,跟这个版本离不开关系,估计国内还有大量的java应用是运行在此版本上;
jdk5 诞生于2004年,他的使命就是易用,加入1. 泛型 2 自动装箱/拆箱  3 for-each  4 static import  5 变长参数等, 为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0;
jdk8 将在2014年3月份发布,迄今为止,可能是最大更新的java版本,也是令人期待的一个版本,在Java中引入闭包概念对Java程序开发方法的影响甚至会大于Java5中引入的泛型特征对编程方式带来的影响。

可以看出,jdk 8跟jdk 5之间,整整相差10年,这10年期间,相继发布jdk 6、7都是改动不大,这也说明,java发展确实有点缓慢了,以致曾经的跟随者.net在某方面超越了java,还有基于jvm上的动态语言崛起,比如Groovy、Scala等,2013年java one大会上,java平台首席架构师Mark Reinhold在会上说Java 8 is Revolutionary, Java is back(Java 8是革命性的,Java回来了),至于java 8能否能给我们带来眼前一亮的感觉呢,我们拭目以待吧

学习java8的理由

1.提高java开发效率(更少的代码,更强的功能,主要是lambda表达式带来便利)
2.提高java程序的运行速度(批量数据处理,多核运行利用,更高的性能)
3.更安全,漏洞更少(为啥GA版本跳票,oracle解释说近来大量安全问题困扰着平台,所以推迟发布时间解决安全问题)
4.面试需要,跳槽的哥们,个人预言渐渐会被问及java 8的特性,想当初java 5出来一两年都会
5.逼格高,想在同事面前炫耀一般,但请注意,别以为java是向下兼容的就能随便把旧java系统升级到java最新版本
6.还在靠java开发养家糊口的程序员,不想知识陈旧落后
 

关于本系列文章说明

本系列博文不是java入门教程,期望读者具有一定的java基础;
简短,排版良好,每一篇都精心准备,迎合国人的阅读习惯 (大家对长篇大论且毫无排版的文章肯定不感兴趣);
降低jdk8的学习曲线,不需要到处搜索了,英文不好,或者官网上讲了,只是粗略带过,本系列文章将所有java 8的特性系统地探究;
最后一点,写博客比较辛苦,尊重别人的劳动成果,希望大家转载时候注明出处。 http://my.oschina.net/benhaile
 
欢迎大家提出意见和问题,本人将尽量抽时间回答,谢谢。

[转帖]Java 8新特性探究 前言的更多相关文章

  1. [转帖]Java 8新特性探究(八)精简的JRE详解

    Java 8新特性探究(八)精简的JRE详解 https://my.oschina.net/benhaile/blog/211804 精简版的api   撸了今年阿里.网易和美团的面试,我有一个重要发 ...

  2. [转帖]Java 8新特性探究(九)跟OOM:Permgen说再见吧

    Java 8新特性探究(九)跟OOM:Permgen说再见吧 https://my.oschina.net/benhaile/blog/214159 need study 很多开发者都在其系统中见过“ ...

  3. Java 8新特性探究(八)精简的JRE详解

    http://www.importnew.com/14926.html     首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 Java小组 工具资源 - 导航条 - 首页 所有文章 资讯 ...

  4. Java 8新特性探究(二)深入解析默认方法

    什么是默认方法,为什么要有默认方法 简单说,就是接口可以有实现方法,而且不需要实现类去实现其方法.只需在方法名前面加个default关键字即可. 为什么要有这个特性?首先,之前的接口是个双刃剑,好处是 ...

  5. Java 8新特性探究(九)跟OOM:Permgen说再见吧

    PermGen space简单介绍 元空间(MetaSpace)一种新的内存空间诞生 PermGen 空间的状况 Metaspace 内存分配模型 Metaspace 容量 Metaspace 垃圾回 ...

  6. Java 8新特性探究(五)Base64详解

    BASE64 编码是一种常用的字符编码,在很多地方都会用到.但base64不是安全领域下的加密解密算法.能起到安全作用的效果很差,而且很容易破解,他核心作用应该是传输数据的正确性,有些网关或系统只能使 ...

  7. Java 8新特性探究(三)泛型的目标类型推断

    简单理解泛型 泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.通俗点将就是"类型的变量".这种类型变量可以用在类.接口和方法 ...

  8. Java 8新特性探究(二)类型注解和重复注解

    本文将介绍java 8的第二个特性:类型注解. 注解大家都知道,从java5开始加入这一特性,发展到现在已然是遍地开花,在很多框架中得到了广泛的使用,用来简化程序中的配置.那充满争议的类型注解究竟是什 ...

  9. Java 8新特性探究(一) JEP126特性lambda表达式和默认方法

    Lambda语法 函数式接口 函数式接口(functional interface 也叫功能性接口,其实是同一个东西).简单来说,函数式接口是只包含一个方法的接口.比如Java标准库中的java.la ...

随机推荐

  1. [python](Docker SDK)上传镜像到私有仓库(tls、身份认证)

    (Docker SDK)上传镜像到私有仓库(tls.身份认证) API:https://docker-py.readthedocs.io/en/stable/ 环境:python:3.7.3 配置参数 ...

  2. Android_(控件)使用自定义控件在屏幕中绘制一条虚线

    在Android屏幕中绘制虚线,最通用的是自定义控件DashedLine,再将自定义控件放入xml布局中 运行截图: 程序结构 package com.example.asus.gary_042; i ...

  3. HDU 5810 Balls and Boxes ——(数学,概率,方差)

    官方题解看不太懂,参考了一些人的博客以后自己证明如下: 其中D(X)和E(X)的公式如下(参考自百度百科): 其中 p = 1 / m .(这是每一个单独事件发生的概率期望,在这里单独事件指的是一个球 ...

  4. C++的重载(overload)与重写(override)

    C++的重载(overload)与重写(override) 成员函数被重载的特征:(同一层级类中来实现)(1)相同的范围(在同一个类中):(2)函数名字相同:名称和返回类型相同(3)参数不同:(4)v ...

  5. Okhttp源码分析--基本使用流程分析

    Okhttp源码分析--基本使用流程分析 一. 使用 同步请求 OkHttpClient okHttpClient=new OkHttpClient(); Request request=new Re ...

  6. 在RestController中获取各种信息的方法

    内容 获取方法 URL中路径的一部分 首先需要在RequestMapping做映射, 之后在方法中可以通过注解使用映射的变量@GetMapping("/{id}")public S ...

  7. where in 的参数化查询实现

    身为一名小小的程序猿,在日常开发中不可以避免的要和where in和like打交道,在大多数情况下我们传的参数不多简单做下单引号.敏感字符转义之后就直接拼进了SQL,执行查询,搞定.若有一天你不可避免 ...

  8. ADS1.2与MDK4.7冲突问题的解决方法

    需要添加2个系统变量. 1.添加环境变量名: ARMCC5LIB 变量值:C:\Keil\ARM\ARMCC\lib(实际Keil安装目录) 2.添加环境变量:ARMCC5INC变量值:C:\Keil ...

  9. Hibernate HelloWorld案例

    搭建一个Hibernate环境,开发步骤: 1. 下载源码 版本:hibernate-distribution-3.6.0.Final 2. 引入jar文件          hibernate3.j ...

  10. Json+Ajax相关

    Ajax前戏之json: 1.什么是json? JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式. 2.json对象和JavaScript ...