• 2024-06-18spring boot jpa 进行通用多条件动态查询和更新 接口
    原因:jpa没有类似于mybatis的那种拼接sql的方式想动态更新需要使用CriteriaUpdate的方式去一直拼接,其实大多数场景只要传入一个非空实体类,去动态拼接sql1.定义实体类继承一个统一的类型@Data@ToString@Entity@Table(name="sys_user")@DynamicInsert@JsonIgno
  • 2024-05-26半年不在csdn写博客,总结一下这半年的学习经历,coderfun的一些碎碎念.
    前言自从自己建站一来,就不在csdn写博客了,但是后来自己的网站因为资金问题不能继续维护下去,所以便放弃了自建博客网站来写博客,等到以后找到稳定,打算满意的工作再来做自己的博客网站。此篇博客用来记录自己在csdn消失的这几个月到底做了什么正文这一篇记录了博主从一个浅浅
  • 2024-05-10m1_day20
    课程内容:Stream流Stream流:jdk8.0新增的类专门用来处理集合/数组中的元素可以将Stream流看做是一个处理数据的管道通过他的一系列方法[过滤求和去重求最值...]对流里面的元素进行加工可以使代码变得更加简化且优雅流的特点:惰性求值延迟执行内部迭代器
  • 2024-04-24java中的Context
    在java编程中,上下文(Context)是指程序运行时的环境和状态的集合。包括了类对象变量方法等运行时的相关数据在类中,我们可以通过this获取当前类的变量、方法的上下文,例如getset方法:this.val就是获取当前类的上下文。publicclassUser{privateStringname;publicStri
  • 2024-04-17java多线程 读取变量同步安全的案例
    本次介绍,我使用的是synchronized同步代码块的关键字来读取list,在写java多线程时,一定要注意synchronized关键字的有效范围。ps:如果synchronized关键字的代码块范围太大,可能会导致优先获取到cpu资源的第一个线程在满足条件的情况下一直无法跳循环,从而使得其他线程无法给获
  • 2024-03-11使用@Autowired + Map 实现策略模式
    创建接口publicinterfaceUserService{StringgetName();}创建多个类实现上面的接口实现一importcom.boot.service.UserService;importorg.springframework.stereotype.Service;@Service("zhangsan")publicclassZhangsanUserServiceImplimplementsUserServ
  • 2024-03-06Caused by: org.apache.ibatis.reflection.ReflectionException: Error parsing property name 'lambd
    问题描述1、编译过程是不会被发现的;2、运行时报错:Causedby:org.apache.ibatis.reflection.ReflectionException:Errorparsingpropertyname'lambda$pages$4d14352e$1'.Didn'tstartwith'is','get'or'set'。问题分析MyBatis-Plus的条件构造器常用
  • 2024-02-25python——面向对象——知识汇总二
    Pythonproperty()函数:定义属性 我们一直在用“类对象.属性”的方式访问类中定义的属性,其实这种做法是欠妥的,因为它破坏了类的封装原则。 正常情况下,类包含的属性应该是隐藏的,只允许通过类提供的方法来间接实现对类属性的访问和操作。因此,在不破坏类封装原则的基础上,为了能
  • 2024-01-29Dubbo之服务禁用启用逻辑
    一、简介本文主要介绍dubbo里面和服务disable相关的源码流程,方便以后出问题快速定位原因;之前是一套注册中心zk集群,dubbo版本2.7.3,dubbo-admin启用禁用没有问题,现在升级dubbo版本为2.7.22,zk集群搞了2套,发现disable和enable没用了,禁用了依然可以调用,遂研究了下关于disable的相关
  • 2024-01-20compareTo、Comparator、TreeSet排序那些事
    前言:对于后端开发而言,学会对数据的自定义排序还是十分有必要的。需要用到排序的场景也是很多的,什么排行版展示、利用时间+别的条件排序、还有预接单的数据就是要展示在已接单的数据前面这种需求、等等。总之很重要的!一:对集合排序对以下的数据做展示顺序排序:未接单>预接单>已接单。(
  • 2024-01-15切点打印:被切的类名、方法名、方法参数值、方法参数类型等
    privatevoidprintMethod(JoinPointjoinPoint,Stringname)throwsNoSuchMethodException{MethodSignaturesignature=(MethodSignature)joinPoint.getSignature();Class<?>clazz=joinPoint.getTarget().getClass();Methodmethod=clazz.ge
  • 2024-01-10无涯教程-Redis - CLIENT GETNAME 命令函数
    RedisCLIENTGETNAME命令返回由CLIENTSETNAME设置的当前连接的名称,由于每个新连接都是在没有关联名称的情况下开始的,因此,如果未分配名称,则返回空批量答复。CLIENTGETNAME-语法以下是RedisCLIENTGETNAME命令的基本语法。redis127.0.0.1:6379>CLIENTGETNAME参考
  • 2024-01-10Thread 之 join() 方法
    案例代码@Slf4jpublicclassJoinDemo{publicstaticvoidmain(String[]args)throwsInterruptedException{Threadt1=newThread(()->{log.info("{}线程启动",Thread.currentThread().getName());try{
  • 2023-12-20javascript Pipe方法执行流
    pipe的概念很简单,就是将n个函数组合起来,他是一个从左到右的流,每个函数执行的时候都传入之前函数的结果。下面写一个返回一个人名字的函数:getName=(person)=>person.name;getName({name:"Buckethead"})//返回"Buckethead"接下来写一个将字符串大写的函数uppercase=(
  • 2023-12-12深入浅出Thread.currentThread()与this的区别
    Thread.currentThread()与this的意义Thread.currentThread()可以获取当前线程的引用this可以理解为调用当前方法的对象的引用初步分析代码如下,生成一个线程,并且启动线程。publicclassMain{publicstaticvoidmain(String[]args){Pointpoint=ne
  • 2023-11-30@Autowired作用在方法上 @autowired注解放在方法上,如果方法没有参数,spring容器会在类加载完后执行一次这个方法;如果方法中有参数的话,还会从容器中自动注入这个方法的参数,然后
    @Autowired作用在方法上@autowired注解放在方法上,如果方法没有参数,spring容器会在类加载完后执行一次这个方法;如果方法中有参数的话,还会从容器中自动注入这个方法的参数,然后执行一次这个方法。@autowired用于测试的实体类User,并将这个类注入到Spring容器中,为@autowired注解
  • 2023-11-27多线程.模拟龟兔赛跑
    packageJavaSE.Thread.document01;/***模拟龟兔赛跑*/publicclassDemo05implementsRunnable{publicstaticStringwinner;//胜者@Overridepublicvoidrun(){for(inti=1;i<=100;i++){if(Thread.currentThread().getName()
  • 2023-11-24juc 学习
    CyclicBarrier应用场景是比如在做压力测试时,使用多少个用户并发,做集合点测试。比如设置100个用户并发,100个用户同时进行压测,只有100个用户压测完毕时,才能再发起下一波的压力测试。 packagecom.study.juc;importjava.util.concurrent.BrokenBarrierException;importja
  • 2023-11-22JUC的强大辅助类
    JUC的强大辅助类juc中提供了常用的辅助类,通过这些辅助类,可以很好的解决线程数量过多时,Lock锁的频繁操作这三种辅助类为:1.CountDownLatch,减少计数。2.CyclicBarrier,循环栅栏。3.Semaphore,信号灯。减少计数器(CountDownLatch)CountDownLatch类可以设置一个计数器,然后通过cou
  • 2023-11-16SpringBoot 中大文件(分片上传)断点续传与极速秒传功能的实现
    1.背景在实际项目中,我们经常会遇到需要上传大文件的情况,常见的方法是将整个文件一次性上传,在文件较大时会出现上传速度慢或者可能导致上传失败等问题。针对这种情况,通常可以采用分片上传的方式,将文件分为多个小片段进行上传,降低单个上传请求的负载,提高上传效率。同时,考虑到用户
  • 2023-11-14jpa 的 Specification案例
    dao接口除了extendsJpaRepository外,还要extends JpaSpecificationExecutor<dependency><groupId>com.github.wenhao</groupId><artifactId>jpa-spec</artifactId><version>3.2.4</versi
  • 2023-11-07mybatisplus轻松完成一次模糊+分页查询
    之前一直用mybatis+pageinfo完成模糊+分页查询,还需要手写sql语句,之前一直没做尝试,今天试了试mybatisplus一个人完成模糊+分页,挺简单的有一个小插曲是,我的前端接受的data中,data.list变成了data.record,一开始没有查到数据,让我差点怀疑自己哪里写错了,在使用sout的检查中我发现servic
  • 2023-10-31SpringBoot中,为什么不直接使用一个Service写功能,而是Service接口+ServiceImpl实现类?
    当项目比较简单的时候,需求明确,变更不频繁或者几乎不怎么修改的时候,用第一种就好了当项目比较复杂,需求变更多的时候,用第二种比较好service层=service接口+serviceImpl实现类这种方式好处:1、解耦合2、便于扩展例如:publicinterfaceHumanService{StringgetName();}@Serv
  • 2023-10-09生成invoke脚本
    publicstaticvoidmain(String[]args)throwsNoSuchMethodException{//入参CmsModuleDTOqueryReq=newCmsModuleDTO();queryReq.setModuleScenario("新手");//getInvoke(入参,类名.class,方法名)StringinvokeCommand
  • 2023-09-282023.9.28动手动脑
    1.此代码有什么问题 建造构造类的构造函数,再调用时需要输入传入参数,不能再调用原始类的默认构造。2.静态方法中只允许访问静态数据,那么,如何在静态方法中访问类的实例成员(即没有附加static关键字的字段或方法)?在静态方法中访问类的实例成员(非静态字段或方法),需要通过实例化类对