Java 9 中最大的亮点是 Java 平台模块化的引入,以及模块化 JDK.但是 Java 9 还有很多其他新功能,这篇文字会将重点介绍开发人员特别感兴趣的几种功能. 这篇文章也是 Java 新特性系列文章中的一篇,往期文章可以查看下面链接. 还看不懂同事的代码?超强的 Stream 流操作姿势还不学习一下 还看不懂同事的代码?Lambda 表达式.函数接口了解一下 Jdk14 都要出了,还不能使用 Optional优雅的处理空指针? Jdk14 都要出了,Jdk8 的时间处理姿势还不了解一下…
1. 前言 如果你没有处理过空指针,那么你不是一位真正的 Java 程序员. 空指针确实会产生很多问题,我们经常遇到空的引用,然后又想从这个空的引用上去获取其他的值,接着理所当然的碰到了 NullPointException.这是你可能会想,这报错很好处理,然后你看了眼报错行数,对比了下代码.脑海里瞬间闪过 "对对对,这里有可能为空",然后加上 null check轻松处理.然而你不知道这已经是你处理的第多少个空指针异常了. 为了解决上面的问题,在 Java SE8 中引入了一个新类…
当前时间:2019年10月24日.距离 JDK 14 发布时间(2020年3月17日)还有多少天? // 距离JDK 14 发布还有多少天? LocalDate jdk14 = LocalDate.of(2020, 3, 17); LocalDate nowDate = LocalDate.now(); System.out.println("距离JDK 14 发布还有:"+nowDate.until(jdk14,ChronoUnit.DAYS)+"天"); JDK…
前言 java13都已经来了,很多同学还停留在使用java5的东西.如果在日常开发中没有使用上java8的一些新特性或者不会用.这篇文章对你可能有帮助. lambda表达式 介绍 lambda表达式是java8出的一种新的语法,通过匿名调用的方式使代码更加优雅. 函数式接口 介绍 为了更友好的支持lambda表达式,在java8引入了函数式接口的概念. “函数式接口”是指仅仅只包含一个抽象方法,但是可以有多个非抽象方法(默认方法 default 修饰)的接口. “函数式接口”可以使用@Funct…
大多数开发者还是沉浸在 Java 8 中,而 Java 14 将要在 2020 年 3 月 17 日发布了,而我还在写着 Java 11 的新特性.Java 11 是 Java 8 之后的第一个 LTS 版本,但是也自从 Java 11 开始, Oracle JDK 不再可以免费的用于商业用途,当然如果你是个人使用,或者是使用 Open JDK ,那么还是可以免费使用的. 有些人很关心 Java 11 是否收费,Oracle 表示除非你在生产中使用,否则可以不用收费. 即使收费,免费的 Open…
jdk 9 新特性 1.集合加强 jdk9 为所有集合(List/Set/Map)都增加了 of 和 copyOf 方法,用来创建不可变集合,即一旦创建就无法再执行添加.删除.替换.排序等操作,否则将报错: java.lang.UnsupportedOperationException 异常. 一般在特定场景下使用. List strs = List.of("Hello", "World");       List strsCopy = List. copyOf(s…
一.引言 jdk1.8出来已经一段时间了,现在1.9也已经出来了,但是很多公司(我们公司也一样)不太愿意升级到高版本的jdk,主要是有老的项目要维护,还有升级的话配套的框架也要升级,要考虑的细节事情太多. 前段时间去面试,问到了jdk1.8的新特性,博主答得不是很好,今天抽了一段时间把这些都总结一下. 二.新特性 1.default关键字 在java里面,我们通常都是认为接口里面是只能有抽象方法,不能有任何方法的实现的,那么在jdk1.8里面打破了这个规定,引入了新的关键字default,通过使…
一  引言 现在java 10都已经出来了,而自己对java 8的一些新特性都不了解,很是惭愧,而且许多面试都有问到java8的新特性,借此博客好好学习这些新特性 二  新特性 1 default关键字 之前在面试的时候,问到接口和抽象类的区别,自己愚蠢回答一个接口不能写方法的实现,不出所料,接下来问了一个jdk 1.8的新特性的问题,说实话之前有了解过jdk1.8,但是项目中用的是低版本,所以不是很熟悉,接下让我们学习一下jdk 1.8新引入的关键字default,通过default修饰的方法…
H5的新特性 1.语义化标签 有利于SEO,有助于爬虫抓取更多的有效信息,爬虫是依赖于标签来确定上下文和各个关键字的权重. 语义化的HTML在没有CSS的情况下也能呈现较好的内容结构与代码结构 方便其他设备的解析 便于团队开发和维护 2.表单新特性 3.多媒体视频(video)和音频(audio) 4.web存储 sessionstorage:关闭浏览器清空数据,储存大小约5M. localstorage:永久生效,存储大小20M,多窗口下都可以使用 都只能储存字符串   C3的新特性 1.选择…
公司同事都在积极使用c++的新特性,并对其赞不绝口,而自己一直做着传统的c++开发方式,到底这些新特性如何,又是怎么提高开发效率的,我依然在疑问当中,从同事的说法和实际代码操练里,确实在减少代码量,集中思维关注问题上,把开发工作难度降低不少!不过过多的新特性,如果不能熟读于心,运用自如,恐怕也会是云里雾里的.做了多年的c++开发,也读了相当的c++书籍,如今还是得回去重拾学习c++书籍,不得不说让人多少有些气lei.这一代程序开发者平心而论,大部分在仰仗着微软公司.常听说比尔盖茨时长做慈善.而我…
JAVA9都要出来了,JAVA8新特性都没搞清楚,是不是有点掉队哦~ Lamda表达式,读作λ表达式,它实质属于函数式编程的概念,要理解函数式编程的产生目的,就要先理解匿名内部类. 先来看看传统的匿名内部类调用方式: interface MyInterface{ void lMethod(); } public class Main { public static void test(MyInterface myInterface){ myInterface.lMethod(); } publi…
概述 2014年,Google携Android5.X重装归来.全新的UI设计和更加优化的性能,令开发人员眼前一亮 安装和配置Android5.0开发环境 开发Android还得靠AS.下载地址 http://developer.android.com/intl/zh-cn/sdk/index.html 材料设计概述 材料的形态模拟 Google通过模拟自然界纸墨的形态变化.光线与阴影.纸与纸之间的控件层级关系,带来一种真实的空间感 更加真实的动画 Android5.x大量添加了各种新的动画效果,…
JAVA9都要出来了,JAVA8新特性都没搞清楚,是不是有点掉队哦~ 在Lamda新特性的支持下,JAVA8中可以使用lamda表达式来创建匿名方法.然而,有时候我们仅仅是需要调用一个已存在的方法(如java中已经定义好的方法),在这时候java8新特性“方法引用”将会进一步简化操作(注意:需要有Lamda的支持). 方法引用的四种形式: 引用静态方法-->类名称::static 方法名称: 引用某个对象的实例的普通方法-->示例化对象::普通方法: 引用某个类型的任意对象的实例的普通方法--…
JAVA9都要出来了,JAVA8新特性都没搞清楚,是不是有点掉队哦~ 接口定义增强 在JDK1.8以前,接口是定义的: 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承接口的抽象方法. 在JDK1.8之前,接口有如下特性: 接口中每一个方法也是隐式抽象的,接口中的方法会被隐式的指定为 public abstract(只能是 public abstract,其他修饰符都会报错). 接口中…
Java9 发布于 2017 年 9 月 21 日 .作为 Java8 之后 3 年半才发布的新版本,Java 9 带 来了很多重大的变化其中最重要的改动是 Java 平台模块系统的引入,其他还有诸如集合.Stream 流 Java 平台模块系统 Java 平台模块系统,也就是 Project Jigsaw,把模块化开发实践引入到了 Java 平台中.在引入了模块系统之后,JDK 被重新组织成 94 个模块.Java 应用可以通过新增的 jlink 工具,创建出只包含所依赖的 JDK 模块的自定…
JDK9 新特性目录导航 目录结构 模块化系统 jshell 多版本兼容JAR 接口的私有方法 改进try-with-resourcs 改进砖石操作符 限制使用单独下划线标识符 String存储结构变更 快速创建只读结合 增强Stream API 改进Optional 类 多分辨率图像 API 全新 HTTP客服端API 智能JAVA 编译工具 统一JVM 日志系统 javadoc 的 HTML5 支持 java 动态编译 目录结构 JDK9具体目录结构如下所示: bin: 该目录包含所有的命令…
目录 简介 新的Record类型 探讨Record的秘密 record扩展 总结 JDK 14的新特性:Lombok的终结者record 简介 自从面向对象产生之后,程序界就开始了新的变化,先是C发展到了C++,后面java横空出世,大有一统江湖的趋势. 面向对象凭借其结构化的特点和在大型项目中的优势,一路蓬勃发展到今.面向对象不是不好,但是太繁琐. 比如我们要定义一个简单的存储数据的结构,比如说User.除了要定义其内部的具体字段以外,我们还要定义get set方法,定义构造函数,equals…
前言 JDK 15发布啦~ 我们一起回顾JDK 5-15 的新特性吧,大家一起学习哈~ 本文已经收录到github ❝ https://github.com/whx123/JavaHome ❞ 「公众号:捡田螺的小男孩」 Java 5 新特性 1. 泛型 泛型本质是参数化类型,解决不确定具体对象类型的问题.  List<String> strList=new ArrayList<String>(); 2. 增强循环(for-each) for-each循环简化了集合的遍历. Str…
1.JDK7新特性是在 try (定义对象,作用域就是try方法体) 复制一个文件实例: 复制文件的原理: 先从硬盘写出到内存中,创建文件输入流对象 FileInputStream fis; 中间是在内存中处理数据,fis需要调用 read 方法遍历每个字节,可以使用数组缓冲区批量读取数据,用一个变量接收读取的数据, fos再将接收数据的变量写入到硬盘中,while 循环(循环结束的条件),这边结束的条件就是读取的数据接收的变量值为-1,则读取结束,挨个后移的指针停止: 读取一个写入一个: 再从…
注:本文提及到的代码示例下载地址 - Runnable sample to introduce Typescript 2.0 RC new features 作为一个Javascript的超集, TypeScript是微软继C#后最受人瞩目的明星语言, 日前TypeScript2.0候选版已于八月底发布,正式版也很快很快的要出来了. 废话少说,使用TypeScript 2.0候选版(RC)的第一步,你需要先下载 TypeScript 2.0 RC for Visual Studio 2015 (…
主要掌握String中的方法 char[] toCharArray()           将此字符串转换为一个新的字符数组. int indexOf(String str)           返回指定子字符串在此字符串中第一次出现处的索引. int lastIndexOf(String str)           返回指定子字符串在此字符串中最右边出现处的索引 集合List和set的区别 List中可以出现重复的元素,Set中不能出现重复的元素 集合遍历: List遍历 Iterator<…
做Java开发的都知道,每个资源的打开都需要对应的关闭操作,不然就会使资源一直占用而造成资源浪费,从而降低系统性能. 关于资源的关闭操作,从JDK7-JDK9有了不少的提升及简化. JDK6 在JDK6及之前,每个资源都需要我们手动写代码关闭,如: FileInputStream fis = null; byte[] buffer = new byte[1024]; try { fis = new FileInputStream(new File("E:\\Java技术栈.txt"))…
概述 Microsoft Tech Summit 2018 微软技术暨生态大会将于10月24日至27日在上海世博中心举行,这也会是国内举办的最后一届 Tech Summit,2019 年开始会以 Microsoft Ignite Tour 的形式出现,大家可以在官网查看本次会议信息:https://www.microsoft.com/china/techsummit/2018/ 今年非常荣幸最终入选了分会场课程,我会在 27日下午5点给大家带来 “利用 Windows 新特性开发出更好的手绘视频…
了解about云知识星球 .pcb{margin-right:0} 问题导读 1.Elasticsearch&Kibana 7.哪些需要修改? 2.Elasticsearch7 有哪些新特性? 3.Elasticsearch 7升级有哪些注意事项? Elastic{ON}北京分享了Elasticsearch7.0在Speed,Scale,Relevance等方面的很多新特性. 1.Elasticsearch&Kibana 7.部署体验 1.1 Elasticsearch 7.0 默认自带…
jdk9还没研究完,结果jdk10都停止维护了. 最近回顾jdk9,发现了一个新特性--jShell. jdk9是在2017年的9月份发布的,这是我开始感觉入门java的时间.从jdk10开始就是半年一次的小更新了,jdk9应该算是最后一次的大更新了. 这篇文章提到的jshell适用于轻量级的应用,举以下两个例子: 1.打印输出“绿茶比菊花好喝多了” 在命令行里进入jshell 直接输入打印语句即可 发现会有乱码现象,而不使用jshell时是不存在这种情况的,暂未找到解决办法,因此采用输入非中文…
做Java开发的都知道,每个资源的打开都需要对应的关闭操作,不然就会使资源一直占用而造成资源浪费,从而降低系统性能. 关于资源的关闭操作,从JDK7-JDK9有了不少的提升及简化. JDK6 在JDK6及之前,每个资源都需要我们手动写代码关闭,如: FileInputStream fis = null; byte[] buffer = new byte[1024]; try { fis = new FileInputStream(new File("E:\\Java技术栈.txt"))…
近年来关于三星.苹果.华为等知名手机厂商电池爆炸的消息一直不断在媒体上报道.这在一定程度上引发了消费者的重度忧虑,也给这些知名手机厂商从一定程度上造成了信任危机.为何连这些知名品牌都无法避免手机电池的问题. 是技术上改新带来的不兼容,还是另有隐情,今天我们就来就这个话题说一说. 全面屏.AI芯片.屏下指纹.5G--在这些具有极大潜力技术的"诱惑"下,智能手机俨然还有一个光明的未来.但在手机诞生之初,甚至电子设备出现之时即存在的电池却依然没有很明显的进步.自从1991年索尼推出首个商用锂…
2020年3月17日,Oracle正式发布了JDK14版本,共新增了16项新特性 本文重点写一下关于switch的新功能: switch 表达式扩展了 switch 语句,使其不仅可以作为语句(statement),还可以作为表达式(expression),并且两种写法都可以使用传统的 switch 语法,或者使用简化的“case L ->”模式匹配语法作用于不同范围并控制执行流. JDK14之前的switch写法: public class SwitchTest { public static…
写在前面 前面积极响应读者的需求,写了两篇Java新特性的文章.有小伙伴留言说:感觉Lambda表达式很强大啊!一行代码就能够搞定那么多功能!我想学习下Lambda表达式的语法,可以吗?我的回答是:没问题!这不,Lambda表达式来了! 匿名类到Lambda表达式 我们先来看看从匿名类如何转换到Lambda表达式呢? 这里,我们可以使用两个示例来说明如何从匿名内部类转换为Lambda表达式. 匿名内部类到Lambda表达式 使用匿名内部类如下所示. Runnable r = new Runnab…