java基础
文章平均质量分 70
借物小人
这个作者很懒,什么都没留下…
展开
-
Java8 Stream之Collectors
Collectors 是 Java 8 加入的操作类,位于 java.util.stream 包下。它会根据不同的策略将元素收集归纳起来,比如最简单常用的是将元素装入Map、Set、List等可变容器中原创 2021-06-15 15:09:32 · 1870 阅读 · 0 评论 -
操作集合工具类 Collectinos
文章目录排序操作查找、替换操作排序操作void reverse(List list)反转list中元素的顺序,[2, 3, 1, 4]-> [4, 1, 3, 2]void shuffle(List list)随机排序,每次结果不同void sort(List list)根据元素自然顺序按升序排序void sort(List list, Comparator c)根据comparator产生的顺序进行排序void swap(List list, int i, int j)将i处原创 2021-06-09 09:35:02 · 98 阅读 · 0 评论 -
普通类、接口、抽象类的内部类比较
文章目录普通类内部类接口内部类抽象类内部类创建内部类对象new 外部类().new 内部类()new 外部类.内部类()以下测试类都在一个包下普通类内部类public class CommonClass { /** 省略访问控制符的内部类,只能被与外部类处于同一个包中的其他类访问 */ static class StaticA { } /** 使用protected修饰的内部类,可被与外部类处于同一个包中的其他类和外部类的子类访问 */ protected class原创 2021-06-02 00:06:19 · 165 阅读 · 0 评论 -
java8 list.forEach() 修改值失败
文章目录测试代码结果原因测试代码@Data@AllArgsConstructor@NoArgsConstructorpublic class User { private String name; public static void main(String[] args) { List<User> list = new ArrayList<>(); list.add(new User("bb")); li原创 2021-04-02 10:11:54 · 1824 阅读 · 0 评论 -
java加解密
文章目录java的加密与解密技术:Base64org.apache.commons.codec.binary.Base64java.util.Base64java 编码:伪加密,实质是做编码base64hexjava的加密与解密技术:单向加密算法:以MD5 SHA算法为代表对称加密算法:以DES 三重DES AES PBE算法为代表非对称加密算法:以RSA为代表简要的说下这三种加密算法的区别单向加密算法,它不会有密钥,因为它是单向的,加密之后无法解密,主要用处是数据完整性的验证转载 2020-07-02 16:08:41 · 893 阅读 · 0 评论 -
java返回有读写权限的目录
File自带的 file.canRead() 和 file.canWrite()只能用于判断文件,不能用于判断目录判断目录的工具类:public class RootDirectoryUtil { public static String ROOT_DIRECTORY; static { ROOT_DIRECTORY = getRootDirectory(); } /** * 依次获取有权限的系统临时目录、用户工作目录、应用目录原创 2020-06-22 23:58:48 · 445 阅读 · 0 评论 -
Java 8 新特性(补充)
Java 8 新特性(补充)本文介绍以下新特性:java.util.concurrentjava.util.concurrent.locks.StampedLockjava.util.concurrent.ConcurrentHashMapjava.util.concurrent.ForkJoinPooljava.util.concurrent.atomicD...原创 2019-06-28 11:50:42 · 775 阅读 · 0 评论 -
Java8新特性
本文介绍以下新特性:增强的工具类Arrays增强的包装类接口中的默认方法改进的匿名内部类Lambda表达式新增的日期、时间包新增的日期、时间格式器增强的Iterator遍历集合元素新增的Predicate操作集合新增的Stream操作集合改进的List接口和ListIterator接口为Map新增的方法改进的类型推断函数式接口与@FunctionalInterface...原创 2019-06-09 17:09:13 · 438 阅读 · 0 评论 -
java导出模板
excel模板导出工具:org.apache.poiorg.jxlsnet.sf.jettfreemarker (ftl或xml)word模板导出工具:org.apache.poifreemarker (ftl或xml)原创 2018-12-25 14:44:39 · 227 阅读 · 0 评论 -
yaml语法
基本规则: 1、大小写敏感 2、使用缩进表示层级关系 3、禁止使用tab缩进,只能使用空格键 4、缩进空格数目没有限制,只要元素对齐就表示这些元素属于一个层级。 5、使用#表示注释 6、字符串添加了双引号,特殊字符不会转义;字符串添加了单引号,特殊字符会被转义YAML 支持的数据结构有三种 对象:键值对的集合,又称为映射(mapping)/...转载 2018-09-16 17:43:02 · 3108 阅读 · 0 评论 -
几种单列模式的介绍
几种单列模式的介绍单列使用场景:● 要求生成唯一序列号的环境; ● 在整个项目中需要一个共享访问点或共享数据,例如一个Web页面上的计数器,可以 不用把每次刷新都记录到数据库中,使用单例模式保持计数器的值,并确保是线程安全的; ● 创建一个对象需要消耗的资源过多,如要访问I O和数据库等资源; ● 需要定义大量的静态常量和静态方法(如工具类)的环境,可以采用单例模式(当...原创 2018-09-03 10:49:54 · 419 阅读 · 0 评论 -
Runnable 和Callable区别
Java 提供了三种创建线程的方法通过实现Runnable接口通过继承Thread接口通过Callable和Future创建线程通过实现 Runnable 接口来创建线程public class RunnableDemo { public static void main(String[] args) { new Thread(new MyThr...原创 2018-05-06 15:43:55 · 10433 阅读 · 3 评论 -
ExecutorService的submit和execute区别
实现ExecutorService的四种连接池newCachedThreadPool 创建一个可缓存的线程池。如果线程池的大小超过了处理任务所需要的线程,那么就会回收部分空闲(60秒不执行任务)的线程,当任务数增加时,此线程池又可以智能的添加新线程来处理任务。此线程池不会对线程池大小做限制,线程池大小完全依赖于操作系统(或者说JVM)能够创建的最大线程大小。newFixedThreadP...原创 2018-05-04 00:17:42 · 3209 阅读 · 0 评论 -
finally调用return的隐藏错误
异常捕获的通常用法:try{ 可能出现异常的代码(可能有很多。。。)}catch(异常类型 变量名e){ ① 把异常的详细信息打印一下 ② 把异常信息保存到磁盘文件 --》 错误日志文件}finally{ ① 此处的代码始终都会执行(系统退出除外) ② 此处一般放关闭流资源(IO部分学习),或者说释放锁(线程部分学习) ③ 不建议在此处放r...原创 2018-04-10 23:32:04 · 168 阅读 · 0 评论