编辑
2020-04-17
编程语言
00

在上一篇的文章我记述了JDK9的两个最重要的特性:一个是模块化,一个是jShell。另外就是String底层存储结构和StreamAPI的一些改动与优化。本次要记述主要的特性是全新的多分辨率图像API、全新的HTTP客户端API(其实是借鉴OkHTTP的框架,或者说是整合吧)、Deprecated相关API、智能Java编译工具与动态编译器、统一的JVM日志系统、javadoc对H5的支持、JavaScript引擎升级:Nashorn。然后再谈谈JDK9还需要什么吧,也就是对未来Java的展望。

编辑
2020-04-16
编程语言
00

Java8在2014年3月份推出的,而历经曲折的Java9终于终于在2017年9月21日发布,中间历经3年多时间,Java9提供了超过150项新功能特性,包括备受期待的模块化系统、可交互的 REPL 工具:jshell,JDK 编译工具,Java 公共 API 和私有代码,以及安全增强、扩展提升、性能管理改善等。可以说Java 9是一个庞大的系统工程,完全做了一个整体改变。Java8中最核心的新特性就是Lambda表达式和Stream API,那么对于Java9来说其中最核心莫过于模块化系统和JShell命令。

编辑
2020-04-15
编程语言
00

虽然已经用过了一些Java8的新特性,但是总来没有仔细总结一下。Java8自从2014年就发布了,到目前为止只有一小部分公司在用JDK7及其以下的版本,大部分已经迁移至Java8,甚至Java11(关于Java9和Java11的特性我会在之后两篇文章中记述),目前只看Java8那些最主要的、也是最常用的新特性,我到目前为止用到的最多的也就是Stream API和Lambda表达式,新时间日期的API也比较常用。

编辑
2020-04-14
数据结构与算法
00

本篇文章记述的是堆排序,这个名字看起来好像又要介绍一个排序算法,但是排序算法是次要的,主要的是一个数据结构——堆。堆排序问题就是堆这种数据结构所衍生出来的一个应用,我们先了解一下优先队列的概念。普通的队列就是满足先进先出、后进后出的一个结构。那么优先级队列呢?出队顺序和入队顺序无关,和优先级相关,这就比如在医院看病,肯定是急诊病人优先看病。

编辑
2020-04-13
编程语言
00

注解这个东西自从SpringBoot以来一直是Java开发者们必备的生存技巧呀,我们平时几乎大部分时间都是面向注解编程,通过注解我们可以节约大量的时间。用过了这么多的注解,那么我们否有关注过注解的实现原理呢?所以本篇文章主要是讲述注解的有关操作,自己实现一个注解来体会注解的实现原理,注解也不是特别高深的东西,掌握了自然就明白了。