![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 52
糊口度日的小白
这个作者很懒,什么都没留下…
展开
-
按几率产生随机数
按几率产生随机数import org.apache.commons.lang3.RandomUtils;import java.util.ArrayList;import java.util.List;/**按几率产生随机数例如,产生0.1-100的随机数,0.1-1的几率是90%,1-10的几率是9%,10-100的几率是1%*/public class RateRandomNumber {/**产生随机数@param min 最小值@param max 最大值@ret原创 2021-09-17 17:46:33 · 467 阅读 · 0 评论 -
excel
excelAPI转载 2021-06-07 17:34:18 · 55 阅读 · 0 评论 -
HashMap 原理
先了解数组和链表有助于理解hashmap的原理数组特点:增删慢、查询快原因:数组在内存中占用的是一堆连续的存储空间,遍历时数组的首地址是知道的,而且数组中的每一个元素占用的空间大小是一样的,因此就可以通过数组下标确定数组的位置和值。元素地址=(首地址+(元素下标+1)*每个元素占用的空间大小)因为在增加一个元素或者删除某个元素的时候,该元素的位置一旦发生改变就会影响它后面所有元素的位置的变化。所以增删慢链表**特点:**增删快、查询慢**原因:**链表中的各元素存储占用的空间是不连续的, 并转载 2021-05-27 17:26:11 · 254 阅读 · 0 评论 -
countdownlatch 门栓
概念CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程执行完后再执行。例如,应用程序的主线程希望在负责启动框架服务的线程已经启动所有框架服务之后执行。用法CountDownLatch典型用法1:某一线程在开始运行前等待n个线程执行完毕。将CountDownLatch的计数器初始化为n new CountDownLatch(n) ,每当一个任务线程执行完毕,就将计数器减1 countdownlatch.countDown(),当计数器的值变为0时,在CountDow转载 2021-05-23 10:37:50 · 91 阅读 · 0 评论 -
泛型 小结
概念那么参数化类型怎么理解呢?特性写法:demo当实现泛型接口的类,未传入泛型实参时:当实现泛型接口的类,传入泛型实参时:泛型方法的基本介绍泛型方法与可变参数静态方法与泛型如何解决上面的问题?Class<?>和 `Class`区别泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的转载 2021-05-13 10:24:33 · 94 阅读 · 0 评论 -
list 递归 tree
package cn.picclife.authen.common.bean.domain;import lombok.Data;import java.lang.reflect.Array;import java.util.ArrayList;import java.util.Arrays;import java.util.Iterator;import java.util.List;/** * @Author liyueming * @CreateTime 2021/3/29原创 2021-04-09 13:05:52 · 69 阅读 · 0 评论 -
list循环去重
package other;import java.util.ArrayList;import java.util.HashSet;public class test4 { public static void main(String[] args) { ArrayList list = new ArrayList(); list.add("aaa"); list.add("aaa"); list.add("bbb");转载 2021-04-07 13:58:36 · 264 阅读 · 0 评论 -
中介者模式
概念:就是相当于一个注册中心,如聊天室中各个用户聊天的消息都可以通过该注册中心将消息发到聊天室。用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。...转载 2021-03-26 00:11:18 · 47 阅读 · 0 评论 -
备忘录模式
概念:顾名思义就是用来备份存档的书面意思是指:是行为型模式设计模式之一,该模式用于保存对象当前状态,并且在之后可以再次恢复到此状态。备忘录模式实现的方式需要保证被保存的对象状态不能被对象从外部访问,目的是为了保护被保存的这些对象状态的完整性以及内部实现不向外暴露。结构:发起人(Originator) 用来创建备忘录和恢复备忘录备忘录(Memento) 用于存储 Originator 的内部状态,并且只能被 Originator 对象访问 。负责人(Caretaker)用来存储备忘录和获取备忘录备转载 2021-03-24 22:23:02 · 75 阅读 · 0 评论 -
Java8中的LocalDateTime、Instant、DateTimeFormatter
1. 概要Java8出现的Instant 类似于 Date ,LocalDateTime 类似于 Calendar,DateTimeFormatter 类似于 SimpleDateFormat,由于 SimpleDateFormat 是线程不安全的(一般使用 SimpleDateFormat 的时会把它定义成静态变量,从而避免频繁地创建它的对象实例,但 SimpleDateFormat 内部使用 Calendar 去完成日期的转换,多线程情况下可能会出现线程不安全情况),推荐使用 Instant转载 2021-03-23 16:47:32 · 445 阅读 · 0 评论 -
责任链模式
概念:为请求者创建了一个处理链,按序对该请求进行处理,在执行这条链的时候,可以选择是否继续向下执行或者直接返回(对一个进行进行多种规则的处理)这种模式我觉得在实际 场景中应用比较少 他的关键点在于提供对后续处理者的引用优点:1、降低耦合度。它将请求的发送者和接收者解耦。2、简化了对象。使得对象不需要知道链的结构。3、增强给对象指派职责的灵活性。通过改变链内的成员或者调动它们的次序,允许动态地新增或者删除责任。4、增加新的请求处理类很方便。案例:对字符窜的处理1.public abstra原创 2021-03-17 17:54:03 · 107 阅读 · 0 评论 -
迭代子模式
概念:又称“游标模式”,可以顺序的访问一个聚集中的元素,而不必暴露聚集中的内部结构特点:对外使用简单,可以使用户透明的访问聚集中元素,对内进行结构封装不必暴露给用户聚集:指的是对元素封装的一个容器,可以容纳各种类型的对象(如iterator接口)Java聚集(Collection)对象是实现了共同的java.util.Collection接口的对象(聚集对象是能够容纳一组对象的容器对象)聚集对象提供的方法:增删改查(如Arraylist)白箱聚集:粗俗点说 就是接口对外暴露,聚集对象实例和迭代子对转载 2021-03-17 15:40:22 · 94 阅读 · 0 评论 -
java 枚举
https://www.cnblogs.com/jingmoxukong/p/6098351.html 去他家看 挺不错的转载 2021-03-15 00:41:48 · 52 阅读 · 0 评论 -
Mapstruct 使用方法(mappings)
案例:现在有这么个场景,从数据库查询出来了一个user对象(包含id,用户名,密码,手机号,邮箱,角色这些字段)和一个对应的角色对象role(包含id,角色名,角色描述这些字段),现在在controller需要用到user对象的id,用户名,和角色对象的角色名三个属性。一种方式是直接把两个对象传递到controller层,但是这样会多出很多没用的属性。更通用的方式是需要用到的属性封装成一个类**(DTO**),通过传输这个类的实例来完成数据传输。导入依赖:org.mapstructmapstruc转载 2021-03-02 15:57:34 · 15949 阅读 · 0 评论 -
简单工厂模式
概念:客户端通过给工厂中传入不同的参数值来实例化不同的对象,执行对应的方法。结构图定义一个shape接口public class shape{void draw();}定义一个实现类public class line implements shape{public void draw(){sout(“画条线----line”);}}public class circle implements shape{public void draw(){sout(“画个○----圆”);转载 2021-02-20 10:27:28 · 33 阅读 · 0 评论 -
instanceof关键字
instanceof是Java的一个二元操作符,和==,>,<是同一类东东。由于它是由字母组成的,所以也是Java的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据。它的作用是测试它左边的对象是否是它右边的类的实例boolean result=objectA instanceof objectBobjectA 可以是objectB的 子类 基类 实现类 (父类返回也是false)如果 objectA 是 objectB 的一个实例,则 inst原创 2021-02-19 23:13:36 · 53 阅读 · 0 评论