JavaSE
文章平均质量分 61
SpringBootSpringBoot
小码哥222
这个作者很懒,什么都没留下…
展开
-
Java8-函数式接口和Lambda
系列文章目录文章目录系列文章目录1.函数式接口1.1 函数式接口的概念1.2 @FunctionalInterface注解2.函数式编程2.1 函数式接口典型使用场景代码示例:2.2 示例2:3.JDK提供的常用的函数式接口4.方法引用1.函数式接口1.1 函数式接口的概念在一个接口中,抽象方法只能有一个,可以有其他的非抽象方法:如static、default方法。定义一个函数式接口很简单:public interface MyFunctionalInterface { // 唯一一个原创 2021-09-23 18:23:39 · 297 阅读 · 0 评论 -
泛型的正确使用姿势
1.泛型的定义泛型即 类型参数。1.1 含有泛型的类泛型的定义:权限修饰符 class 类名<代表泛型的变量> { }例如,API中的ArrayList集合:public class ArrayList<E>{ public boolean add(E e){ } public E get(int index){ } .... }泛型的使用:在创建对象的时候确定泛原创 2021-09-23 18:19:49 · 212 阅读 · 0 评论 -
java中 BigDecimal和BigInteger详解
文章目录1 前言2 BigDecimal2.1 BigDecimal构造方法2.2 BigDecimal的加减乘除3 BigInteger1 前言Java提供了两个用于高精度计算的类:BigInteger 和 BigDecimal。这两个类提供了加减乘除操作的方法。BigInteger与BigDecimal都是不可变的(immutable)的,在进行每一步运算时,都会产生一个新的对象。它们都扩展Number类且实现Comparable接口,可以使用new BigInteger(String) 或原创 2021-09-09 14:26:46 · 717 阅读 · 0 评论 -
java实现多种加密模式的AES算法-总有一种你用的着
ref: https://www.cnblogs.com/3hhh/p/12701209.htmlhttps://blog.csdn.net/u013871100/article/details/80100992三种填充模式的区别(PKCS7Padding/PKCS5Padding/ZeroPadding)某些加密算法要求明文需要按一定长度对齐,叫做块大小(BlockSize),比如16字节,那么对于一段任意的数据,加密前需要对最后一个块填充到16 字节,解密后需要删除掉填充的数据。ZeroPa原创 2021-09-01 16:08:05 · 256 阅读 · 0 评论 -
AES 256 加密解密 Java实现
ref: 加密解析网站: http://tool.chacuo.net/cryptaes/AES 256 加密解密 Java实现:public class AES256Util { /** * AES256 加密 * * @param content * @param secretKey * @return * @throws Exception */ public static String Encrypt(Str原创 2021-08-30 10:02:35 · 850 阅读 · 0 评论 -
集合Stream——List转Map
ref:https://www.cnblogs.com/exmyth/p/11012873.htmlJava集合Stream API有很多类似于sql的操作:取集合元素中的两个字段当作key-value,需保证key不重复。Collectors.toMap(),value为对象Map<Integer, Long> dbIndexDbIdMap ==cluster.getDmDatabaseEntity() .stream() .collect(Collectors.toMap(D原创 2021-08-09 09:47:12 · 241 阅读 · 0 评论 -
Java获取IP等网络信息
ref:https://blog.csdn.net/nianbingsihan/article/details/80265029在Linux 和 win 下 通用的 获取IP等网络信息,就用如下方式:NetworkInterface可以通过getNetworkInterfaces方法来枚举本机所有的网络接口。我们也可以利用getNetworkInterfaces得到的网络接口,来枚举与每一个网络接口 绑定的所有IP地址。getInetAddresses方法NetworkInterface 类可以通原创 2021-06-29 00:41:06 · 1280 阅读 · 0 评论 -
Java必会的工具库,让你的代码量减少90%
refer: https://mp.weixin.qq.com/s/8CrMHarg1zY4IM7umqKSnQ1. Java自带工具方法2. apache commons工具类库apache commons是最强大的,也是使用最广泛的工具类库,里面的子库非常多,下面介绍几个最常用的2.1 commons-lang,java.lang的增强版建议使用commons-lang3,优化了一些api,原来的commons-lang已停止更新Maven依赖是:<dependency&g原创 2021-06-25 09:29:12 · 100 阅读 · 0 评论 -
18个Java8日期处理,工作必用
ref:https://juejin.cn/post/6844903560375697422Java 8 推出了全新的日期时间API,我们将通过一些简单的实例来学习如何使用新API。Java处理日期、日历和时间的方式一直为社区所诟病,将 java.util.Date设定为可变类型,以及SimpleDateFormat的非线程安全使其应用非常受限。新API基于ISO标准日历系统,java.time包下的所有类都是不可变类型而且线程安全。示例1:Java 8中获取今天的日期Java 8 中的 Lo原创 2021-06-23 09:40:34 · 64 阅读 · 0 评论 -
Java中的线程池
啊原创 2021-06-16 23:01:51 · 108 阅读 · 0 评论 -
Google Guava 之 EventBus
文章目录什么是消息总线?什么时候使用消息总线?什么是消息总线?消息代理中间件构建一个公用的消息主题 让所有微服务实例订阅,当该消息主题 产生消息时 会被所有的微服务实例监听到 和 消费。消息总线就是把所有的微服务实例 连接起来。什么时候使用消息总线?就是在我们需要把一个操作 散发到所有后端相关服务器的时候,就可以使用消息总线了。...原创 2021-04-27 23:44:47 · 1325 阅读 · 0 评论 -
java注解Annotation怎么玩?
refer:来自:https://www.cnblogs.com/acm-bingzi/p/javaAnnotation.html系列文章目录文章目录系列文章目录1 什么是注解?2 注解的原理:3 注解分类——基本注解4 注解分类——元注解4 自定义注解使用4.1 声明一个基本注解4.2 使用元注解声明新注解1 什么是注解?Java5之后可以在源代码中嵌入一些补充信息,这种补充信息称为注解(Annotation)。例如在方法覆 盖中使用过的@Override注解,注解都是@符号开头的。注解原创 2021-04-27 00:15:56 · 127 阅读 · 0 评论 -
哪些情况会触发 类的加载过程?
参考:https://blog.csdn.net/csdnsevenn/article/details/102597309哪些情况会触发 类的加载过程?直接上图:原创 2021-03-30 01:18:29 · 304 阅读 · 0 评论 -
jdbc——加载MySql驱动的几种姿势
reference:https://wenku.baidu.com/view/a542eb0d79563c1ec4da7105.html文章目录1、加载MySql驱动(Driver)的几种方法——jdbc2、加载MySql驱动(Driver)最主要的目的是什么?1、加载MySql驱动(Driver)的几种方法——jdbc方式1:Class.forName(“全类名”)好处:编译时,可以脱离驱动类,方便我们切换其他数据库,因为参数是字符串,不存在编译问题。方式2:通过 new com.m原创 2021-03-30 01:08:28 · 2764 阅读 · 0 评论 -
反射 + 获取类的Class对象的几种方式 + 触发类的加载几种情况
refer:Java基础之—反射(非常重要)文章目录1、什么是反射2、获取Class对象的3种方式3、获取到类对应的Class对象后,就可以操作这个类中的方法 和 属性4、类加载过程(或 Class对象的由来)?5、静态编译和动态编译1、什么是反射反射就是 在程序运行过程中,能够 动态 获取 类中的信息的机制叫做 “ 反射机制 ”。对于任意一个类,都能够知道这个类的所有属性 和 方法,然后可以对这个类进行操作。反射就是把java类中的各种成分映射成一个个的Java对象。反射机制使用的前提原创 2021-03-30 00:33:02 · 1514 阅读 · 0 评论 -
LinkedList集合 你真的了解吗?
java.util.LinkedList 集合 存储结构是 双向链表结构。方便元素添加、删除的集合。LinkedList特点:查询慢,增删快。获取集合的首尾元素非常的方便,API中有大量 操作首尾元素的方法。//对于首尾元素的add、remove、get还可以当作堆栈,队列使用。//其中含有push、pop、isEmpty等方法。LinkedList的API:...原创 2021-03-07 23:29:57 · 90 阅读 · 0 评论 -
请谈一谈,什么情况下会发生死锁?解决死锁的策略有哪些?
参考:https://www.nowcoder.com/tutorial/94/7c4c39f1191342d6bb6a088e3d76f661一、请谈一谈,什么情况下会发生死锁?(一)互斥条件:一个资源一次只能被一个进程访问。即某个资源在一段时间内只能由一个进程占有,不能同时被两个或两个以上的进程占 有。这种独占资源如CD-ROM驱动器,打印机等等,必须在占有该资源的进程主动释放它之后,其它进程才能占有该资源。这是由资源本身的属性所决定的。(二)请求与保持条件:一个进程因请求资源而阻塞时,对已获得原创 2021-03-07 20:46:37 · 448 阅读 · 0 评论 -
Java-辨别线程安全与不安全
原创 2019-04-10 18:13:47 · 61 阅读 · 0 评论 -
遍历 HashMap 的 5 种最佳方式
我们来通过示例讨论在 Java 上遍历 HashMap 的五种最佳方法使用 Iterator 遍历 HashMap EntrySet使用 Iterator 遍历 HashMap KeySet使用 For-each 循环迭代 HashMap使用 Lambda 表达式遍历 HashMap使用 Stream API 遍历 HashMap注:hashmap 底层是一个个的Entry组合成的数组。entry即就是:key-value对。通过遍历每一个entry,可以达到遍历每个key-value.原创 2020-11-25 09:17:40 · 822 阅读 · 0 评论 -
Java8——Stream流操作
参考:https://www.cnblogs.com/niujifei/p/11614861.html一、Stream流是什么原创 2020-11-18 00:41:34 · 560 阅读 · 0 评论 -
final关键字
final关键字用法1、修饰类当用final去修饰一个类的时候,表示这个类不能被继承。注意:final类中的成员方法都会被隐式的指定为final方法。说明:在自己设计一个类的时候,要想好这个类将来是否会被继承,如果可以被继承,则该类不能使用fianl修饰,在这里呢,一般来说工具类我们往往都会设计成为一个final类。在JDK中,被设计为final类的有String、System等。代码...原创 2019-08-28 19:58:47 · 96 阅读 · 0 评论 -
HashMap原理?
1、什么是HashMap?HashMap是一个散列桶(数组和链表),它存储的内容是键值对(key-value)映射HashMap采用了数组和链表的数据结构,能在查询和修改方便继承了数组的快速随机查找和链表的修改优点HashMap是非synchronized(线程不安全的),所以HashMap操作效率很快HashMap可以接受null键和值,而Hashtable则不能(原因就是使用equl...原创 2019-08-27 13:22:04 · 94 阅读 · 0 评论 -
Java8的新特性
来自: https://www.cnblogs.com/aspirant/p/8617201.html原创 2019-08-23 01:12:47 · 119 阅读 · 0 评论 -
Java拷贝(Object类的clone方法)
来自:https://zhuanlan.zhihu.com/p/30320149JAVA对象拷贝分为两种方式,一种是引用拷贝,一种是对象拷贝引用拷贝:和对象拷贝的不同之处在于,引用拷贝只会生成一个新的对象引用地址,但两个地址其最终指向的还是同一个对象;对象拷贝:这种方式会重新生成一个新的对象,生成的新对象与原来的对象没有任何关联。1、引用拷贝(对象赋值)1)引用拷贝...原创 2019-08-21 18:24:06 · 528 阅读 · 0 评论 -
String的几种replace()方法
String 和 StringBuilder中都有replace方法,今天我们来看看。String:String replace(char oldChar, char newChar)用新字符newChar 替换所有的 旧字符oldChar 。String replace(CharSequence target, CharSequence replacement)用新字符串rep...原创 2019-08-11 20:46:54 · 102612 阅读 · 0 评论 -
java中String类为什么不可变?
在面试中经常遇到这样的问题:一、什么是不可变对象?答:不可变对象,顾名思义就是创建后的对象不可以改变,典型的例子有java中的String类型。二、不可变对象有什么好处?//在什么情景下使用它?//java的String类为什么要设置成不可变类型?答:相比于可变对象,不可变对象有很多优势:最大的优势是 效率 和 安全 (1)【效率】: ①不可变对象可以提高String Po...原创 2019-08-09 22:47:45 · 227 阅读 · 0 评论 -
Java中的两种比较器的区别及其延申
比较器的使用地方:1)Java对于基本类型的比较时,比的是数值的大小,或字母对应的Ascill码,不会涉及比较器。2)Java中对于基本类型包装类 及 String类,他们都实现了Comparable接口,用来比较两个对象。3)而对于我们自己创建的类Student,如果要对对象进行比较,就得手动实现一个比较策略。4)通常当要给TreeMap、TreeSet中放入自定义类Student时,就...原创 2019-08-07 11:32:06 · 1097 阅读 · 0 评论 -
String不可变
为什么String对象是不可变的?我们先看看它的源码:private final char value[ ] 是封装String字符串的字符数组。我们创建一个String对象:String s = “123”其实就是把“123” 存在了String对象的成员变量 final char value[ ] 中(在Java中,数组也是对象),,value被final修饰,因此value...原创 2019-08-28 20:24:59 · 77 阅读 · 0 评论 -
HashMap为什么不安全?哪里不安全?
链接:https://www.jianshu.com/p/e2f75c8cce01问题一:说一说Map?先看一个Map继承类图Map是一个接口,我们常用的实现类有HashMap、LinkedHashMap、TreeMap,HashTable。HashMap 根据key的hashCode值来找到一个桶的位置来保存value,需要注意的是,HashMap不保证遍历的顺序和插入的顺序是...原创 2019-08-30 09:01:03 · 1794 阅读 · 0 评论 -
强引用、弱引用、软引用、虚引用。
https://blog.csdn.net/baidu_22254181/article/details/82555485https://baijiahao.baidu.com/s?id=1629253892215446066&wfr=spider&for=pc原创 2019-09-24 20:46:17 · 72 阅读 · 0 评论 -
NIO(同步非阻塞IO)
1、区别NIO相当于只是建立了一个连接两端的通道,而实际传输数据的是缓冲区。NIO特点:a、面向缓冲区,用缓冲区传输数据。b、NIO本身不传输数据,只建立通道。c、传输数据的是缓冲区,而且是双向传输数据。打个比喻:- NIO通道:建立的一条铁路- 缓冲区:火车(用来装数据)。面向流 和 面向缓冲区:普通IO是面向字节流的,建立了管道就是为了让数据在管道中流动传输,而且只能是...原创 2019-09-20 23:00:30 · 187 阅读 · 0 评论 -
Java----IO流
1、标准设备输入、输出流:2、打印流:把不同类型的数据 打印到控制台(标准输出设备)或者 文件中。System.out————>标准输出流。out的类型为PrintStream类型。3、数据流:用来读取 / 写出 基本数据类型和String的变量。4、对象流:用来持久化 和 反持久化对象相比于比DataInput/OutStream更强大:数据流只能持久化 和 反持久...原创 2019-09-20 20:59:05 · 104 阅读 · 0 评论 -
面向对象特征之————多态
多态分为:编译时多态 和 运行时多态。编译时多态: 在编译期就能确定我要调用 多个重载的方法中的哪一个。实现:重载运行是多态: 在程序运行时才能确定要调用哪个方法(是调用子类的那个方法 还是 调用父类的那个方法)。这在编译时是不能确定的。怎么样才能展现出多态的效果:重写。实现机制:动态绑定。Java 对于方法调用动态绑定的实现主要依赖于方法表。方法表:位于方法区的某个类的类信息中。...原创 2019-09-13 00:44:44 · 118 阅读 · 0 评论 -
hashCode()和 equals()的若干问题
链接原创 2019-09-07 00:34:30 · 86 阅读 · 0 评论 -
Exception
异常类型在 Java 中所有异常类型都是 java.lang.Throwable 类的子类,即 Throwable 位于异常类层次结构的顶层。Throwable 类下有两个异常分支 Exception 和 Error,如图 1 所示。Error:代表虚拟机内部发生的错误。是不可控的。Exception:程序代码中出现的异常情况。是程序员可控的。分为运行时异常 和 检查异常。运行时异常:是...原创 2019-09-04 10:57:46 · 111 阅读 · 0 评论 -
面试题思考:java中快速失败(fail-fast)和安全失败(fail-safe)的区别是什么?
https://www.cnblogs.com/songanwei/p/9387745.html?tdsourcetag=s_pctim_aiomsg一:快速失败(fail—fast)在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出Concurrent Modification Exception。原理:迭代器在遍历时直接访问集合中...原创 2019-08-31 13:56:43 · 767 阅读 · 0 评论 -
LinkedHashMap
1前言LinkedHashMap的继承于HashMap。2应用场景HashMap的是无序的,当我们希望有顺序地去存储键值时,就需要使用LinkedHashMap的了。结果可知, LinkedHashMap的是有序的,且默认为插入顺序。3构造方法的分析LinkedHashMap的存储数据是有序的,而且分为两种:插入顺序和访问顺序。默认情况下,把accessOrder设置为假,此时存...原创 2019-08-30 09:16:47 · 134 阅读 · 0 评论 -
Scanner的用法(扫描器深入)
public static void test1(){ //创建一个Scanner键盘录入对象 Scanner scanner = new Scanner(System.in); while (scanner.hasNextLine()){//判断当前是否有输入 if(scanner.hasNextInt()){//判断当前的输入是...原创 2019-08-04 23:07:14 · 2016 阅读 · 0 评论