
Java8
文章平均质量分 83
柳成荫0529
这个作者很懒,什么都没留下…
展开
-
Java8其它更新
处理数值Java8添加了对无符号数的额外支持。Java中的数值总是有符号的,例如,让我们来观察Integer: int可表示最多2^32个数。Java中的数值默认为有符号的,最后一个二进制数字表示符号(0为正数,1为负数)。所以从十进制的0开始,最大的有符号正整数为2^31 - 1。你可以通过Integer.MAX_VALUE来访问它:System.out.println(Integer.MAX_VALUE); // 2147483647System.out.println(Integ原创 2021-01-08 20:52:01 · 165 阅读 · 0 评论 -
日期API
理解时间和日期库需要理解如下问题:Java8之前的Date有哪些槽点?Java8之前使用哪些常用的第三方时间库?Java8关于时间和日期有哪些类和方法,变比Java8之前它的特点是什么?其它语言时间库?Java8之前的Date有哪些槽点Tiago Fernandez做过一次投票,选举最烂的JAVA API,排第一的EJB2.X,第二的就是日期API。槽点一最开始的时候,Date既要承载日期信息,又要做日期之间的转换,还要做不同日期格式的显示,职责较繁杂(不懂单一职责,你妈妈知道吗? 纯属原创 2021-01-07 18:47:06 · 131 阅读 · 0 评论 -
移除Permgen
很多开发者都在其系统中见过“java.lang.OutOfMemoryError: PermGen space”这一问题。这往往是由类加载器相关的内存泄漏以及新类加载器的创建导致的,通常出现于代码热部署时。相对于正式产品,该问题在开发机上出现的频率更高,在产品中最常见的“问题”是默认值太低了。常用的解决方法是将其设置为256MB或更高。PermGen space简单介绍PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,说说为什么会内存益出.原创 2021-01-07 18:35:42 · 186 阅读 · 0 评论 -
JRE精简
理解Java8 JRE精简需理解几个问题:为什么精简Java8 JRE,及好处是啥?在不同平台上如何编译等?Oracle公司如期发布了Java 8正式版!没有让广大javaer失望。对于一个人来说,18岁是人生的转折点,从稚嫩走向成熟,法律意味着你是完全民事行为能力人,不再收益于未成年人保护法,到今年为止,java也走过了18年,java8是一个新的里程碑,带来了前所未有的诸多特性,lambda表达式,Stream API,新的Date time api,多核并发支持,重大安全问题改进等,相信ja原创 2021-01-07 18:23:26 · 369 阅读 · 0 评论 -
类型推断优化
理解Java 8 类型推断需理解几个问题:什么是泛型Java7对泛型推断做了哪些优化Java8对此有做了哪些优化简单理解泛型泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。通俗点讲就是“类型的变量”。这种类型变量可以用在类、接口和方法的创建中。理解Java泛型最简单的方法是把它看成一种便捷语法,能节省你某些Java类型转换(casting)上的操作:List<Apple> box = new ArrayList<A原创 2021-01-07 18:18:16 · 152 阅读 · 0 评论 -
重复注解
理解Java 8 重复注解需理解几个问题:Jdk8之前对重复注解是怎么做的?Jdk8对重复注解添加了什么支持?什么是重复注解允许在同一申明类型(类,属性,或方法)的多次使用同一个注解JDK8之前java 8之前也有重复使用注解的解决方案,但可读性不是很好,比如下面的代码:public @interface Authority { String role();}public @interface Authorities { Authority[] value();}原创 2021-01-07 18:10:53 · 257 阅读 · 0 评论 -
类型注解
理解Java 8 类型注解需理解几个问题:什么是类型注解?注解在JDK哪个版本中出现的,可以在哪些地方用注解?类型注解的作用是什么?为什么会出现类型注解(JSR308)?什么是类型注解注解大家都知道,从java5开始加入这一特性,发展到现在已然是遍地开花,在很多框架中得到了广泛的使用,用来简化程序中的配置。那充满争议的类型注解究竟是什么? 复杂还是便捷?在java 8之前,注解只能是在声明的地方所使用,比如类,方法,属性;java 8里面,注解可以应用在任何地方,比如://创建类实例原创 2021-01-07 18:08:04 · 227 阅读 · 0 评论 -
默认方法
理解Java 8 默认方法需理解几个问题:为什么会出现默认方法?接口中出现默认方法,且类可以实现多接口的,那和抽象类有啥区别?多重实现的默认方法冲突怎么办?Java 8 - 默认方法什么是默认方法,为什么要有默认方法 先上例子 什么是默认方法 为什么出现默认方法 java 8抽象类与接口对比 多重继承的冲突 举例子 总结 ¶ 什么是默认方法,为什么要有默认方法 ¶ 先上例子 一个接口A,Clazz类实现了接口A。 public interface A {default void foo(){原创 2021-01-07 17:57:46 · 290 阅读 · 0 评论 -
Optional类深度解析
身为一名Java程序员,大家可能都有这样的经历: 调用一个方法得到了返回值却不能直接将返回值作为参数去调用别的方法。我们首先要判断这个返回值是否为null,只有在非空的前提下才能将其作为其他方法的参数。这正是一些类似Guava的外部API试图解决的问题。一些JVM编程语言比如Scala、Ceylon等已经将对在核心API中解决了这个问题。新版本的Java,比如Java 8引入了一个新的Optional类。Optional类的Javadoc描述如下:这是一个可以为null的容器对象。如果值存在则i.原创 2021-01-05 19:54:46 · 3235 阅读 · 0 评论 -
函数编程(lambda表达式)
我们关心的是如何写出好代码,而不是符合函数编程风格的代码。简介在Java世界里面,面向对象还是主流思想,对于习惯了面向对象编程的开发者来说,抽象的概念并不陌生。面向对象编程是对数据进行抽象,而函数式编程是对行为进行抽象。 现实世界中,数据和行为并存,程序也是如此,因此这两种编程方式我们都得学。这种新的抽象方式还有其他好处。很多人不总是在编写性能优先的代码,对于这些人来说,函数式编程带来的好处尤为明显。程序员能编写出更容易阅读的代码——这种代码更多地表达了业务逻辑,而不是从机制上如何实现。易读的代码.原创 2021-01-05 19:34:49 · 893 阅读 · 0 评论