Java各版本特性介
文章平均质量分 98
luckykapok918
这个作者很懒,什么都没留下…
展开
-
Java8 Caffeine 本地缓存
一、本地缓存介绍缓存在日常开发中启动至关重要的作用,由于是存储在内存中,数据的读取速度是非常快的,能大量减少对数据库的访问,减少数据库的压力。之前介绍过 Redis 这种 NoSql 作为缓存组件,它能够很好的作为分布式缓存组件提供多个服务间的缓存,但是 Redis 这种还是需要网络开销,增加时耗。本地缓存是直接从本地内存中读取,没有网络开销,例如秒杀系统或者数据量小的缓存等,比远程缓存更合适。二、缓存组件 Caffeine 介绍按 Caffeine Github 文档描述,Caffeine原创 2020-05-26 18:06:44 · 4727 阅读 · 3 评论 -
Java7 ForkJoinPool 的使用以及原理
在JDK7中新增了ForkJoinPool。ForkJoinPool采用分治+work-stealing的思想。可以让我们很方便地将一个大任务拆散成小任务,并行地执行,提高CPU的使用率。ForkJoinPool & ForkJoinTask 概述:ForkJoinTask:我们要使用 ForkJoin 框架,必须首先创建一个 ForkJoin 任务。它提供在任务中执行 fork() 和 join() 操作的机制,通常情况下我们不需要直接继承 ForkJoinTask 类,而只需要继承它的子原创 2020-05-26 15:25:13 · 976 阅读 · 0 评论 -
java9新特性(简述十大新特性) 褒贬不一
java 9 提供了超过 150 项新功能特性,包括备受期待的模块化系统、可交互的 REPL 工具:jshell,JDK 编译工具,Java 公共 API 和私有代码,以及安全增强、扩展提升、性能管理改善等。可以说 Java 9 是一个庞大的系统工程,完全做了一个整体改变。但本博文只介绍最重要的十大新特性特性列表平台级modularity(原名:Jigsaw) 模块化系统Java 的 REPL 工具: jShell 命令多版本兼容 jar 包(这个在处理向下兼容方面,非常好用)语法改进:接口的转载 2020-05-25 15:35:35 · 370 阅读 · 0 评论 -
Java 8 新特性之函数式接口
定义:只能有一个抽象方法可以有静态方法和默认方法,因为这两种方法都是已经实现的了可以包含Object里所有能重写的方法,因为即使接口包含像String toString()这样的抽象方法,它的实现类也会因继承了Object类,而再次对接口中的toString()方法进行实现。作用:方便直接用Lambda表达式构造出实例,让代码更加简洁。Lambda表达式必须先定义接口,创建相关方法后才能使用,这样弄十分不便,干脆开发者就直接内置了接口,所有标注@FunctionalInterfa.原创 2020-05-22 11:49:08 · 339 阅读 · 0 评论 -
Java8 Lambda表达式详解
1. 概述Java 8 引入的 Lambda 表达式的主要作用就是简化部分匿名内部类的写法。能够使用 Lambda 表达式的一个重要依据是必须有相应的函数接口。所谓函数接口,是指内部有且仅有一个抽象方法的接口。Lambda 表达式的另一个依据是类型推断机制。在上下文信息足够的情况下,编译器可以推断出参数表的类型,而不需要显式指名。 函数式编程:可以理解为将一个函数作为参数值进行传递。 面向对象是对数据的抽象,即:各种各样的pojo类。函数式编程则是对行为...原创 2020-05-21 11:35:03 · 838 阅读 · 1 评论 -
Java 8 Optional 详细用法
一、简介Optional 是一个对象容器,具有以下两个特点: 1.提示用户要注意该对象有可能为null 2. 简化if else代码真正体现Optional“有效避免空指针异常”是其ifPresent()、orElse()、orElseGet()以及orElseThrow()这几个方法。二、使用介绍1. 创建:Optional.empty(): 创建一个空的 Optional 实例Optional.of(T t):创建一个 O...原创 2020-05-20 16:56:31 · 2680 阅读 · 1 评论 -
Java 8 时间日期详细用法
一、概述java8 重新定义了一套语义非常清晰的日期、时间Api,位于java.time包中。该包中的所有类都是不可变且线程安全的。其实,以上所有类都是基于java8 Clock类实现的,只是由于场景不同而显示方式不一样而已。而Clock又是基于System.currentTimeMillis()实现的,所以以上时间api都是跟本主机时间关联的。二、时间操作以上虽然有很多个时间、日期类,但由于他们实现相同的接口,所以方法总体上是相通。下面就以LocalDateTime为例子:1. .转载 2020-05-20 15:21:08 · 527 阅读 · 0 评论 -
Java 8 Stream的详细语法介绍
一、概述Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk data operation)。Stream API 借助于同样新出转载 2020-05-20 10:46:04 · 1016 阅读 · 0 评论 -
java1.8加解密异常--java.lang.IllegalArgumentException: Unable to initialize due to invalid secret key
因为某些国家的进口管制限制,Java发布的运行环境包中的加解密有一定的限制。比如默认不允许256位密钥的AES加解密,解决方法就是修改策略文件。 Java代码 java.lang.IllegalArgumentException: Unable to initialize due to invalid secret key at or转载 2018-05-03 20:08:04 · 5026 阅读 · 0 评论 -
java版本升级异常Unsupported major.minor version 52.0处理
一、错误现象:当改变了jdk版本时,在编译Java时,会遇到Unsupported major.minor version错误。 错误信息如下 :Unsupported major.minor version 52.0 (我在jdk1.7 升级1.8切换时就遇到了这个错误)Unsupported major.minor version 51.0 Unsupp原创 2017-05-21 19:29:14 · 4412 阅读 · 0 评论 -
jdk1.7新特性
jdk1.7新特性 1 对集合类的语言支持; 2 自动资源管理; 3 改进的通用实例创建类型推断; 4 数字字面量下划线支持; 5 switch中使用string; 6 二进制字面量; 7 简化可变参数方法调用; 8 新增一些取环境信息的工具方法; 9 Boolean类型反转,空指针安全,参与位运算; 10 两个char间的equals; 11 安全的加减乘除;原创 2012-12-10 15:18:06 · 715 阅读 · 0 评论 -
JDK1.6(Mustang野马)的新特性
JDK1.6中包括10大新的特性 一:Desktop类和SystemTray类 二:使用JAXB2来实现对象与XML之间的映射 三:理解StAX 四:使用Compiler API 五:轻量级Http Server API 六:插入原创 2012-12-10 15:18:04 · 824 阅读 · 0 评论 -
增强型for循环的优点与缺点
先看如下代码: import java.util.*;public class For { public static void main(String args[]) { Set set = new HashSet(); String x = "a"; for (int i = 0; i set.ad原创 2012-12-10 15:18:10 · 1627 阅读 · 3 评论 -
Java1.5(Tiger)新特性简介
一、范型(generic)的支持 支持generic的tiger属于较1.4及以前最大的变化之一。由于支持范型,所以以前的诸多集合类(譬如,list和map)的接口都做了比较大的变化。而Java developer们从理论上说则可以摆脱使用括号的强制转型;使用类型安全(type-safe)的各种集合类,甚至可以写自己的支持范型的类。 Java在1.5之前一直没有相对应的功能。一个集合可原创 2012-12-10 15:18:02 · 476 阅读 · 0 评论