java
撸不动码的猴子
曾梦想仗剑走天涯,后来因为没钱打乱了原计划!
展开
-
java23种设计模式特点
单例模式:某个类只能有一个实例,提供一个全局的访问点。简单工厂:一个工厂类根据传入的参量决定创建出那一种产品类的实例。工厂方法:定义一个创建对象的接口,让子类决定实例化那个类。抽象工厂:创建相关或依赖对象的家族,而无需明确指定具体类。建造者模式:封装一个复杂对象的构建过程,并可以按步骤构造。原型模式:通过复制现有的实例来创建新的实例。适配器模式:将一个类的方法接口转换成客户希望的另外一个接口。组合模式:将对象组合成树形结构以表示“”部分-整体“”的层次结构。装饰模式:动态的给对象添加新的功能原创 2022-04-01 11:31:30 · 152 阅读 · 0 评论 -
mongo的基础操作
mongo的基础操作等于 , 大于 , 小于等于 , 大于等于 ,等于, 不等于等于:{<key>:<value>} 例子:db.users.find({age:20}).pretty()大于:{<key>:{$gt:<value>}} 例子:db.users.find({age:{$gt:21}}).pretty()小于:{<key>:{$lt:<value>}} 例子:db.users.find({age:{$lt:转载 2022-03-21 20:35:41 · 307 阅读 · 0 评论 -
计算数组出现连续个数最大值
public static int findMaxVal(List<Double> nums) { int maxNum = 0; int count = 0; for (int i = 0; i < nums.size(); i++) { while (i < nums.size() && nums.get(i) < 1) { count++;原创 2022-03-04 10:45:17 · 494 阅读 · 0 评论 -
2021-03-23
consul最近新项目没有使用cloud config,而是使用了consul,听架构大佬大概讲述了一下,这个东西把配置 和注册中心合为一体,本着学习的态度,大概了解了一下consul.什么是consul?consul是分布式的、高可用的、 可横向扩展的用于实现分布式系统的服务发现与配置。它既能做服务注册中心,也能通过k/v形式进行存储.类似于cloudconfig的功能了.首先要明白他的架构再去分解它的细节,话不多说上图:Consul的应用场景包括服务发现、服务隔离、服务配置:服务发现场景原创 2021-03-23 20:27:23 · 87 阅读 · 2 评论 -
java后端处理前端上传二进制流excel文件
最近项目中有需要上传excel文档,后端解析入库,项目技术选型springcloud + vue + postgres.后台接收二进制流,使用 @RequestParam(value = “file”) MultipartFile file 去接收,然后就是引入poi依赖,进行操作.poi就是对office文件处理的依赖jar包,加入maven加入依赖后,对其进行操作.我把它提取成方法,尽量避免在controller做过多逻辑处理,我把它提取成静态方法.话不多说上代码:` public static L原创 2021-03-06 18:38:13 · 2459 阅读 · 2 评论 -
Mybatis中ResultMap和ResultType的区别
MyBatis中在查询进行select映射的时候,返回值类型可以用resultType,也可以用resultMap,在MyBatis进行查询映射时,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对应的值。① 当提供的返回类型属性是resultType时,MyBatis会将Map里面的键值对取出赋给resultType所指定的对象对应的属性。②当提供的返回类...原创 2020-03-10 20:35:50 · 212 阅读 · 0 评论 -
HashMap的线程安全问题
原来只是大概知道hashMap线程不安全(看面试题,也没有仔细去看过源码),现在在自己程序中真的出现了线程安全问题。在用key去取值的时候真的出现了问题,开始也不知道是怎么回事,就是莫名其妙的取得值有问题(大概千万级数据量),终于在大手子的指导下发现问题根本所在,线程安全有问题,最终定义实体类解决问题,好像使用ConcurrentHashMap也可以(具体没研究过),感觉应该是这一块还是比较坑的,...原创 2019-12-05 22:22:00 · 149 阅读 · 0 评论