Java | Spring | Spring MVC | Spring Boot | Slf4j | MyBatis | Quartz | Beetl模板
- Java项目 、Maven仓库、常用pom.xml 、Java文章 、Netty收藏 、Maven收藏 、安装Java/Maven 、JSch收藏 、JGit收藏
- IDEA 个性化设置/快捷键 、常用Live Templates:main 、sout
Java8 新特性
(1)Java 8 教程 、(2)Java8官网教程 、(3)使用Stream接口,List转Map,List去重、(多字段)排序、交集、差集、并集
序号 | 特性 | 文章 |
---|---|---|
1 | 默认方法:默认方法就是一个在接口里面有了一个实现的方法。 | [菜鸟]默认方法 |
2 | 函数式接口:函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口(即 默认方法)。 | |
3 | Lambda 表达式:Lambda 允许把函数作为一个方法的参数(函数作为参数传递到方法中)。 | |
4 | 方法引用:方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。方法引用使用一对冒号 :: |
|
5 | Optional 类:Optional 类已经成为 Java 8 类库的一部分,用来解决空指针异常。 | [菜鸟]Optional类 |
6 | Stream API:新添加的Stream API(java.util.stream) 把真正的函数式编程风格引入到Java中。 | |
7 | Date Time API:加强对日期与时间的处理。 | [菜鸟]新的日期时间 API |
8 | Base64:在Java 8中,Base64编码已经成为Java类库的标准。 | [菜鸟]Base64 |
9 | Nashorn, JavaScript 引擎:Java 8提供了一个新的Nashorn javascript引擎,它允许我们在JVM上运行特定的javascript应用。 | [菜鸟]Nashorn, JavaScript 引擎 |
10 | 新工具:新的编译工具,如:Nashorn引擎 jjs、 类依赖分析器jdeps。 |
Java入门教程 、Java手册 、深入理解Java集合框架 、Java Decompiler(反编译器) 、 Java成长路线图 、《阿里巴巴 Java开发手册》
Java基础
- Input ==》 Reader 读
- Output ==》Writer 写
- 【Java IO详解】1. File 类
- 【Java IO详解】2. 流的分类
- 【Java IO详解】3. 字节 输入输出流(InputStream、OutputStream)
- 【Java IO详解】4. 字符 输入输出流(Reader、Writer)
- 【Java IO详解】5. 包装流(Buffered 缓存流)
(1) 缓冲流(BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter)
(2) 转换流:把 字节流 转换为 字符流
InputStreamReader:把字节输入流转换为字符输入流
OutputStreamWriter:把字节输出流转换为字符输出流
- 【Java IO详解】6. 序列化与反序列化(对象流)
- (1)Java字符序列CharSequence,为什么不干脆定义String作为参数类型? 、(2)如何将CharSequence与String进行比较?
- Java 动态接口,SPI 机制,Maven示例
- Java 关键字 this 的3种用法
- Java 关键字 final 的4种用法 、Java常量(final关键字)
- Java【常量】定义在interface中好,还是定义在class中好?
- Java序列化:Serializable、Externalizable、transient 浅析
- Java 关键字 transient 使用小记
- bytes = new Byte[1024]; 缓冲器的作用原理
- 关于读写数据出现部分“中文乱码”的问题记述 —— 换成“字符流”
- 开源项目中的 Java 异常处理示例
- 如何优雅的设计 Java异常(Throwable、Exception、RuntimeException、NullPointerException、IllegalArgumentException)?
- slf4j+log4j 如何获取调用栈信息(StackTrace)
- Java 泛型 详解
- JAVA泛型通配符 T,E,K,V 区别,T 以及 Class<T>,Class<?> 的区别
- Java 泛型 T、Class<T> 与 Class<?> 的区别
- Java泛型类的继承
- 【Java泛型】TypeReference获取泛型类型信息
- Java集合详解(Collection 和 Map)
- Java 遍历 Map
- 在增强性for循环ArrayList时,对元素进行删除,报错 java.util.ConcurrentModificationException: null 异常原因和解决方法
- Java List 与 Array 互转 及 java.util.List.toArray() 强制转换 注意事项
- Java有空列表/空集合/空字典:Collections.emptyList()、emptySet()、emptyMap(),但不推荐使用
- Java数据结构 —— Vector (向量类),和ArrayList功能类似
- Java集合(Collection)中有关 有序,无序
- ArrayList 和 LinkedList 性能测试 (结论:用 ArrayList,且 for 循环)
- HashMap、LinkedHashMap、TreeMap 性能测试 (结论:用LinkedHashMap)
- ArrayList与LinkedList区别与比较:
随机访问效率:
ArrayList
比LinkedList
在随机访问的时候效率要高,因为LinkedList
是线性的数据存储方式,所以需要移动指针从前往后依次查找。
增加和删除效率:在非首尾的增加和删除操作,LinkedList
要比ArrayList
效率要高,因为ArrayList
增删操作要影响数组内的其他数据的下标。
综合来说,在需要频繁读取集合中的元素时,更推荐使用ArrayList
,而在插入和删除操作较多时,更推荐使用LinkedList
。
- Java List元素排序:多维度、多字段 排序
- Java Map元素 排序:HashMap、Hashtable、TreeMap、LinkedHashMap
- 【Java排序】 Map排序工具类(正序/倒序)
- 【Java排序】Comparator是怎么确定按“升序”排序还是“降序”排序的呢?
- Java Set元素 排序
- Java中的 时间日期类:Date(日期)、Calendar(日历)、DateFormat(日期格式)
- SimpleDateFormat类 时间日期格式汇总 & 中英文时间格式化转换,如Apr(四月)
- Java8新特性:LocalDate、LocalTime、LocalDateTime 使用场景+案例+常用工具类
- Java日期时间/时区示例:LocalDate、LocalTime、LocalDateTime、DateTimeFormatter、ZoneId、ZoneOffset、Instant 、Duration、Period、Date、timestamp、时间字符串
- Java8日期时间类:ZonedDateTime 和 LocalDateTime 的区别与转换
- Java8时间调节器:TemporalAdjuster详解,获得下一个星期日的日期、当月的最后一天(再也不用计算当月是28,29还是30天了)、下一年的第一天、下一个工作日等等
Java数组
正则表达式
- Java 正则表达式 详解
- Java正则表达式,如何忽略大小写
- Java 正则表达式 appendReplacement() 和 appendTail() 的用法
- Java 正则表达式,后向引用($1, $2 ...)
数字计算
Java中的 取模(Math.floorMod()) 和 取余(%)
并发、异步编程
Java多线程
- 【Java多线程】收藏
- 【Java多线程】Java 主线程结束 和 子线程结束 之间的关系(1)
- 【Java多线程】Java 主线程结束 和 子线程结束 之间的关系(2)
- Java线程池实现原理及其在美团业务中的实践
Java定时器/定时任务
- 【Java定时器Timer】如何正确使用Timer?
- 【Java定时器Timer】避坑指南,Java中定时器Timer致命缺点,我差点就踩到了 —— 用完定时器后,要及时释放Timer,如:
timer.cancel(); timer.purge();
性能分析
执行Shell脚本
接口安全
Java性能调优
- Metrics教程1:JVM上的实时监控类库
- [V2EX]Java 有类似 PHP 的 xhprof 扩展或者是 Golang 的 pprof 包,可以用来分析、定位函数级别的耗时的工具吗?
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解