- 博客(124)
- 资源 (45)
- 收藏
- 关注
原创 2024-02学习笔记
当我们向Set集合中添加一个已经存在的元素时,Set集合会如何处理呢?实际上,。当我们向Set集合中添加一个元素时,Set集合会首先判断该元素是否已经存在于集合中。如果该元素已经存在于集合中,Set集合就不会将其添加到集合中。如果该元素不存在于集合中,Set集合就会将其添加到集合中。
2024-03-01 10:24:37 902
原创 2023-12学习笔记
这是一个我今天研究了很久的问题,开始不知道原因是在这里,还在那想是不是@Data覆盖了无参构造,结果当然不是。先说下解决历程。
2023-12-11 20:54:41 1147
原创 手撕数据库连接池
这个不是因为闲的没事干,先说下需求背景我们有一个数据源管理模块,配置的数据源连接,用户名,密码等信息在数据源管理模块配置好之后,去另一个模块选择数据源,获取每个数据源下库表结构以及字段但是我们平时用的1.因为Druid虽然支持多数据源,但一般都是支持两个,三个数据源进行切换。但是2.而且Druid是需要在yml文件中,提前配置好你需要哪几个数据库,把连接信息写上但。
2023-11-10 15:29:44 130
原创 json字符串转为开闭区间
按照页面每一行的从左到右* 示例[{"leftSymbol":">=","leftNum":100,"relation":"无","rightSymbol":null,"rightNum":0},{"leftSymbol":"","rightNum":3}]
2023-11-07 17:08:37 238
原创 2023-10学习笔记
不管是上一篇博客,通过java代码执行sql还是我们常用的Mybatis的#{}和${}都会提到sql注入的问题应该知道是说传入无关的参数,比如本来是想要一个where条件查询参数 但是你拼了一个drop比如 原来的sql 然后你传入那此时整个sql就变成了你查完把表删了还是用1.1的例子,把${}改成#{}你原来你传入sql最后变成了看到没, 你只是传进来了一个字符串而已,对数据安全啥影响没有PreparedStatement通过?占位符 和 参数绑定的方式【运维】Prepared
2023-10-25 20:14:06 160
原创 oauth2和knife4j结合
他是swagger的升级版,在有swagger的调试功能以及接口描述的基础上,让人看着更加一目了然。这次可能说的比较浅,主要是说怎么使用以及简单配置,还有我自己踩过的坑,因为这个东西我也第一次用。截个图看看效果有文档,有调试,可以代替postman了。
2023-10-16 19:28:49 322
原创 Mybatis-plus
在有Mybatis基础的情况下,再去接触Mybatis-plus,就容易的多先就我现在使用情况讲讲,我眼中,它跟Mybatis啥区别吧。作为Mybatis的升级版,它除了具备Mybatis本身就有的功能之外,还增加了,以及逻辑删除标识等功能。
2023-10-13 20:45:33 534
原创 Websocket升级版
之前写过一个关于websocket的博客,是看书时候做的一个demo。但是纸上得来终觉浅,这次实战后实打实的踩了不少坑,写个博客记录总结。
2023-10-12 19:58:23 714
转载 SpringBoot跨域
首先感谢大佬分享,参考SpringBoot跨域和不能生效的问题 - 大麦牛奶 - 博客园这是我百度了半天唯一好用的一个,其他什么"*"都不好用import org.springframework.core.Ordered;import org.springframework.core.annotation.Order;import org.springframework.stereotype.Component;import javax.servlet.*;import javax.ser
2021-11-19 11:22:09 119
原创 分类统计,每组只取一条
select t.owner_id, t.batch_number, t.create_by createBy, t.create_date createDate,rowId from ( select ROW_NUMBER() over (partition by batch_number order by create_date desc) rowId, * from ep_modifica.
2021-11-17 09:31:52 1551
原创 一段关于反射的代码
存在数据库中的json串,我需要反射执行方法{ "paramClass":"java.lang.Long", "methodName":"name", "provider":"com.ai.ep.external.rpc.employee.DefaultEmployeeRepository" } public String translate(@NonNull ModificationTranslate translate) { .
2021-11-17 09:20:47 386
原创 如何写单元测试
1.测试方法要写在test包下,与main同级2.test下路径要和main下路径相同3.Application.java启动类这个写在test包下@EnableAspectJAutoProxy@SpringBootApplication@EnableElasticsearchRepositories@MapperScan("com.ai.ep.persistence.postgresql.mapper")public class Application { publ.
2021-11-09 14:33:43 1579
原创 2021-11-5最近问题整理
1.idea启动时读不到其他配置文件中配置得属性启动配置中选Build Project2.@ConfigurationProperties初始化时读不到配置文件中的值原因:我把属性写在了application-cache.yml文件中,但是没有把cache标签加到application.yml文件中解决办法3.pd生成ddl1.多个表同时生成ddl2.单个表得ddl4.枚举类或者其他value类型得返回try catchpublic clas...
2021-11-08 11:12:15 129
原创 @RequiredArgsConstructor和@FieldDefaults
1.现在写@Autowired,Idea编辑器报黄线警告,Spring更推荐构造器注入2.上代码@RestController@RequiredArgsConstructorpublic class CostCenterController { final ICostCenterSv costCenterSv; final FlowRepository defaultFlowRepository;3.@RequiredArgsConstructor...
2021-11-01 11:06:41 343
原创 咖啡因Caffeine
1.本地缓存使用2.最让我惊艳的是getAll方法起初是为了存list,人员信息每次查询时候,都会传一组不同的list给我,我为了不每次都调用rpc接口,就想到用一个map<Long,Employee> 但是又要自行去过滤哪些不是map中已经存在的,而且不止我这要用到这个,所以我还得写个自定义注解@Aroung,就感觉有点麻烦3.getAll方法它其实包括了put和get还有过滤这三个操作3.1先上代码再bb public static final Cache<
2021-11-01 10:34:13 814
原创 初识mapstruct
1.作为对象映射工具2.从目前得使用情况以及结合网上得文章来看,与使用得方法名无关,比如,两个单个得对象间映射,A,B你名字可以叫做 A toEntity(B b) 也可以叫做 A btoA(B b)再或者集合映射 你可以是List<A> toEntitys(List<B> bs) 也可以是 List<A> map(List<B> bs)只要你的类型对应上了就好3.先上代码再bb这个接口是我们项目公共的,继承了这个接口就不用在子接口..
2021-11-01 10:06:45 337
原创 oracle的视图和同义词
可参考文章:https://blog.csdn.net/mrlin6688/article/details/53352441一.视图1.视图其实就是一条查询sql语句,用于显示一个或多个表或其他视图中的相关数据。2.视图不是真正的表,它是一张虚表,不会要求分配存储空间,也不包含实际的数据。3.视图只定义了查询,视图中的数据从基表中获取,这些数据在视图被引用时,动态生成。4.不管是视图还是同义词,想要修改数据都要修改源表才行5.视图中可以使用连接(join),用多个表中相关的列构成一个
2021-09-09 11:12:15 1502
原创 COALESCE函数和NVL函数
1.COALESCE函数可以接收多个参数他是逐个判断所接收的参数是否为空,返回第一个不为空的,如果都为空就返回NULL2.NVL只接收两个参数3.可参考文章https://blog.csdn.net/weixin_38750084/article/details/830342944.sql优化左边是我不知道COALESCE函数写出来的垃圾SQL 右边是优化后的...
2021-08-31 15:55:41 606
原创 阿里的easyExcel
一.easyExcel导出bigDecimal类型数据并设置千分号显示1.实体属性 @ExcelProperty(value = "实际认款金额", index = 10 ) BigDecimal clamAmount;2.
2021-06-19 18:21:15 2151
原创 gradle皮毛
皮毛都不算1.gradle在maven基础上升级了2.maven用的是xml语言进行配置,而gradle用的groovy语言进行配置但是不需要精通groovy语言3.下载去官网:https://services.gradle.org/distributions/下载-bin.zip文件4.配置配置环境变量用gradle -v验证是否配置成功5.groovy中的闭包闭包:代码块6.gradle存储路径D:\soft\gradle\repository\cache
2021-05-26 19:16:07 118
原创 lambda表达式-2021-5-16
最近又找了个lambda表达式的课程,来记录下笔记一.lambda表达式好处是不用写参数的类型1.等号左边是接口,等号右边是实现 Itest itest = (s1, s2) -> { System.out.println("sssss"); return "123"; }; System.out.println(itest.test("s1","s2"));2.最经典的Runnable写法
2021-05-16 17:32:02 313
原创 lambda表达式-2021-5-5
有时间需要和上一篇lambda表达式笔记整合一下一.函数式接口1.概念Java中使用Lambda表达式的规范,必须是为函数接口函数接口的定义:在该接口中只能存在一个抽象方法,该接口称作为函数接口2.@FunctionalInterface函数式接口@FunctionalInterface 这个注解标识了函数式接口 被这个注解标识的接口 有且只能有一个未实现的方法,否则报错一个interface只有一个抽象方法的情况下,那么这个接口就属于函数式接口@FunctionalInt.
2021-05-05 20:57:18 1923 1
原创 面试之-单链表反转
public class Lnode { int data; Lnode next;}public class TestNode { public static void main(String[] args){ //一般头节点都不放东西 Lnode node0 = new Lnode(); Lnode node1 = new Lnode(); Lnode node2 = new Lnode(); .
2021-03-04 21:50:20 95 2
原创 hadoop学习笔记7-Azkaban
一.Azkaban基础国内翻译成了阿兹卡班1.为什么使用azkabanhadoop大数据处理一般具有延迟性,适合定时调度。而azkaban,就是一个定时调度工具那为什么不用crontab?简单的定时你是可以用crontab,那复杂的呢?比如我任务a依赖于任务b,任务b又依赖于任务c,你怎么执行?所以,azkaban就是一个适用于执行工作流的定时调度系统2.azkaban执行流程3.azkaban可以兼容所有版本的hadoop(反正都是命令执行)type一共就两种.
2021-02-26 09:21:12 721
原创 hadoop学习笔记6-sqoop
一.sqoop基础1.sqoop也是apache的项目2.sql-to-hadoop比如将mysql的数据导入到hdfs中,反过来也是以前我老记不住sqoop是干嘛的,但是把他分解成sql-to-hadoop,就好记了3.sqoop作业:用于定时执行。数据导出导入,sqoop作业是重点5.sqoop怎么和hadoop合作sqoop接到导入导出命令后,生成mapreduce代码,打成jar包,提交给hadoop这个jar保命称,我执行过程中发现他是根据表名自动生成得
2021-02-24 22:54:41 310
原创 hadoop学习笔记5-hive
一.hive基础1.hive作用将结构化数据文件映射成一张表提供类似于sql的查询功能 HQL存储在hdfs上2.hive的内置数据库一般用mysql为什么不用默认的内置数据库?默认内置derby弊端,一台机器只支持一个客户端比如你用xshell连接服务器之后通过bin/hive启动了hive,不关;然后你再打开一个xshell,还去执行bin/hive命令,就会报错,因为被锁住了3.hive和hadoop三大组件的结合使用MapReduce进行计算;数据存储在HDFS上
2021-02-24 15:17:17 894
原创 hadoop学习笔记4-MapReduce
一.MapReduce基础1.分布式计算框架2.又是来自于论文3.优点:海量数据离线处理,运行在廉价机器4.缺点:不适合实时处理5.入门:wordcount很多场景都是wordcount的延伸,比如统计top n6.分而治之的思想,过程与归并排序相似中间shuffle步骤很重要:本来split分布到不同机器上了,shuffle把一样的单词放到同一个地方最终reduce后把计算结果输出到hdfs上7.mapreduce整个过程是键值对的处理8.核心概念split交由ma
2021-02-22 13:58:53 132
原创 hadoop学习笔记3-yarn
一.yarn基础1.管理多种大数据框架spark hive等使得不同框架之间资源共享,减少资源浪费2.诞生原因为了运行多种框架,比如想引入spark计算引擎,才导致了yarn的诞生3.yarn缩写yet another resource negotiator(协作)使得xxx on yarn 如spark on yarn;storm on yarn使得资源按需分配,充分利用资源二.yarn组成1.Client客户端2.ResourceManger类似..
2021-02-22 10:48:59 141
原创 hadoop学习笔记2-hdfs
一.HDFS基本知识1.让文件平均分块block 每块有多个副本 每块和每个副本存在不同的Datanode上。一个文件分成多块 默认每块128M 那么一个130M的文件 就会分成一块128M 一块2M一个文件,除了最后一个block之外,其他block大小都一样副本因子(replication):一个文件副本数量,默认三份二.优缺点优点1.使得多个计器之间能够负载均衡2.有一个服务器挂了也不影响整个文件3.多个datanode并行处理,提升速度缺点1.数据...
2021-02-22 10:15:34 171
原创 hadoop学习笔记1-概述
一.HADOOP三大组件hdfs负责存储 yarn负责调度和资源管理 mapreduce基于yarn分布式存储+计算 hadoop可以存储海量数据,并且对数据进行统计分析,比如通过hive sql(类似于普通sql)hadoop生态圈是很大的,想学好大数据,要学的东西特别多,目前从它三大组件开始(别的软件图标都是动物,只有zookeeper是人,看起来zookeeper像动物管理员)二.hdfs核心组件1:hdfs分布式文件存储系统,多副本 多个datanode 把文件存...
2021-02-22 09:22:48 114
原创 归并排序
心血来潮手写的,路过大佬欢迎指正 public static void main(String []args){ int []arr = {7,5,3,9,0}; int[] arrAfter = guibing2(arr, 0, arr.length - 1); System.out.println(Arrays.toString(arrAfter)); } public static int[] guibing2(int[]
2021-02-03 10:46:23 62
原创 不知道标题叫啥的学习笔记
1.maven基于java ,所以配置环境变量应先配置java再配置maven2.关于压缩包后缀tar.gz属于linux环境zip属于windows环境3.事务手动回滚 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();配合 @Transactional 注解一起使用之前我好奇我同事为什么要在拦截里手动回滚,不是已经有@Transactional 注解了么后来才知道,有try .
2021-01-27 21:01:24 774
tomcat 8.0.35上传好像没成功
2019-04-17
jdk版本8u92, 8中比较高到的版本
2019-04-17
java代码混淆,无法实现01001那种,但是可以把包名以及变量名和类名变成0oo0oo这种 增加代码阅读难度
2023-11-20
docker安装工具.zip
2020-07-19
mysql5.7.24的msi安装文件.zip
2019-06-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人