自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(151)
  • 资源 (3)
  • 收藏
  • 关注

原创 Spring Data JPA 使用JpaSpecificationExecutor实现多条件查询2 in的用法(含于)

之前写过一篇Spring Data JPA 使用JpaSpecificationExecutor实现多条件查询(分页查询和非分页查询),但是筛选条件都是单一的,并不存在包含关系,例如我传ID[1,2,3],希望找到ID是这里面其中一个的所有记录。这时候就需要使用in。示例场景:根据项目名称查询人员,但是人员表中只有一个项目ID,也即,首先需要通过项目名称模糊查询到对应的项目ID列表,再通过这个ID列表去筛选人员。代码:筛选条件方法,使用in:private Specification<User

2021-06-02 20:12:37 9

原创 记一个内存泄漏问题:Query Plan Cache BoundedConcurrentHashMap占用堆内存

原因是hibernate会缓存sql语句以减少重复编译,便于直接命中提高效率。这个缓存默认最大值为2G,且在使用in时,只要in后面的参数有任何一个不一样的,就会视为不同的语句而保存下来。解决这个问题可以将缓存最大值改小。我看大家都是这样写的:spring: jpa: properties: hibernate: query: plan_cache_max_size: 64 plan_parameter_metadata_

2021-05-18 11:20:52 35

原创 docker 上传镜像

这里以tomcat镜像为例1、把镜像放到k8s主节点任意文件夹下这边我直接用xftp传的,直接放到了/tmp下2、使用docker load –i命令,将镜像加载到本地仓库docker load -i /tmp/tomcat.tar3、加载完毕后用docker images命令查看本地镜像信息docker images4、使用docker tag命令,标记本地镜像,注意标记规则为镜像仓库IP:端口号/项目名称/镜像名docker images能看到加载完毕的镜像名(这里为centos7_to

2021-05-08 17:25:55 18

原创 linux命令 su和sudo的区别

sudo用于暂时获取超级权限执行命令,例如:sudo chmod -R 777 /xxxsu用于切换用户从root用户切换到普通用户无需密码 直接su username即可但是从普通用户切换到root用户需要输入密码 且需要输入root的密码当然我们也可以用 sudo su root 这样的话就可以只输入普通用户的密码切到root用户了...

2021-05-08 16:53:40 7

原创 Java8新特性 Stream简介 stream().filter和stream().map区别

需要使用Stream,首先要使用.stream()或.parallelStream()将集合生成流,其中最常用的是它的filter和map方法,简单写了下,如下:import java.io.*;import java.util.stream.Collectors;import java.util.List;import java.util.ArrayList;class test { public static void main (String[] args) { List&lt

2021-04-28 16:25:19 154

原创 Java中List的复制 深拷贝和浅拷贝

首先说一下深拷贝和浅拷贝的区别:浅拷贝就是复制出来了一个list,但是它们指向同一地址,所以一旦一个变了,另一个也会跟着改变。深拷贝则不共享地址,不会被对方影响。浅拷贝:深拷贝: List<Integer> oldList = new ArrayList<>();//假设已对oldList赋值 List<Integer> newList = new ArrayList<>(); Collections.addAll(newList, ne

2021-04-27 10:42:59 24

原创 Spring Cloud概念及Feign使用方法简介

文章目录一、集群、分布式和微服务二、服务治理框架:Eureka三、远程调用工具类:RestTemplate一、集群、分布式和微服务仅谈谈自己的理解,可能有不对或者不到位的地方,欢迎指正。集群是指多个服务器通过局域网或其他连接方式进行连接,可以被看作同一台服务器,协同完成工作,来提高性能或可靠性。这些服务器,应该也可以通过同一个ip进行访问。分布式是指一个业务拆成多个子业务,部署在不同的服务器上以提高效率。集群和分布式并不冲突,也有分布式集群,即既将一个大的业务拆成不同的子业务,同一个子业务也可以用

2021-04-06 12:18:24 21

原创 Spring Data JPA实现分页多条件查询2

之前写过一篇博客Spring Data JPA 使用JpaSpecificationExecutor实现多条件查询(分页查询和非分页查询)然后发现还有其他两种写法,会更简便一些。1、使用JPA自带的findByXxx接口示例:default方法在java8以后,接口中可以添加使用default或者static修饰的方法,在这里我们只讨论default方法,default修饰方法只能在接口中使用,在接口中被default标记的方法为普通方法,可以直接写方法体。实现类会继承接口中的default方

2021-04-06 10:44:50 31 2

原创 JVM简介及Java的垃圾回收机制(GC)

文章目录一、JVM体系结构1、体系结构简介2、类加载器简介一、JVM体系结构1、体系结构简介JVM体系结构含两个子系统:类加载器、执行引擎。两个组件:运行时数据区、本地接口。相互关系如下图(找的网图,侵删)其中运行时数据区当中的方法区和堆是所有线程共享的数据区,虚拟机栈(java栈)、本地方法栈和程序计数器是线程隔离的数据区。2、类加载器简介类加载器负责加载Java类的字节代码到虚拟机中,具体介绍可参考jvm之java类加载机制和类加载器(ClassLoader)的详解...

2020-10-02 14:25:25 74

原创 RabbitMQ简介并在SpringBoot项目中使用RabbitMQ

rabbitMQ是一个开源的消息代理和队列服务器,通过普通协议在完全不同的应用之间共享数据。RabbitMQ使用Erlang语言编写,并基于AMQP协议Erlang语言 数据传输延迟低(利于承载高并发) socket也一样rabbitMQ可以与SpringAMQP完美整合,SpringAMQP框架提供了原生的rabbitMQ api 也提供了丰富的拓展APIrabbitMQ集群模式丰富,表达式配置,HA模式,镜像队列模型AMQP:高级消息队列协议 是一套规范生产者 消费者 虚拟主机 里面的交换机

2020-09-29 16:23:58 115

原创 Spring中Bean的初始函数和消亡函数

文章目录bean的初始和消亡函数1、初始函数:实现 InitializingBean 接口2、初始函数:自定义方法添加 bean 的依赖关系注入之后的行为(此时需要修改xml文件3、单例与多例bean时初始函数的调用时机4、消亡函数:实现DisposableBean接口5、消亡函数:自定义方法添加 bean 销毁之前的行为(此时需要修改xml文件bean的初始和消亡函数1、初始函数:实现 InitializingBean 接口package com.homework.bean;import org

2020-09-08 10:39:12 86

原创 Spring Data Jpa查询全部并排序

1、Repository层只需要简单地extends JpaRepository,依旧不用写任何东西。因为它自己其实有一个findAll(Sort sort)的方法,直接用就可以了。2、Service层中如下List<xxxDO> xxxDOS = xxxRepository.findAll(new Sort(Sort.Direction.ASC,"属性名"));但注意springboot2.2.1及以上的版本Sort的构造方法变为私有,需要像下面这样写:List<xxxDO&g

2020-08-24 11:35:02 1242

原创 Spring Data JPA 使用JpaSpecificationExecutor实现多条件查询(分页查询和非分页查询)

文章目录1、Repository层继承`JpaSpecificationExecutor`2、Service层编写方法设置筛选条件Specification3、在Service层调用刚刚编写的方法和Repository层的方法实现查询①非分页查询②分页查询1、Repository层继承JpaSpecificationExecutor<T>如下:@Repositorypublic interface UserRepository extends JpaRepository<UserD

2020-08-19 15:38:48 397

原创 SpringBoot中的定时功能——@Scheduled

最近在做一个关于健康码的小demo,需要一个每日上报信息功能,每天第一次登录的时候需要上报自己的健康信息,所以我的想法是用一个字段来标识今天用户是否上报过,如果没有就让前端显示上报页面,因此就涉及到了定时,在每天0点的时候需要把所有用户的那个字段都设为false。其实定时也很简单,如下所示即可,只要程序启动了就可以,也不需要用任何东西去调用下面的程序。不过虽然不需要被调用,它还是需要使用注解@Component,这是为了把它塞到Spring的容器中,所有的操作都是在Spring容器中进行的。packag

2020-08-14 20:35:39 100 1

原创 在SpringBoot项目中使用Spring Data JPA完成简单的登录注册

目录1、Maven依赖及application.properties配置2、实体类(BO)使用@Entity注释3、Repository(dao层)使用@Repository,继承JpaRepository<>4、在UserServiceImpl中进行调用5、UserReqDTO、UserRespDTO和UserRegisterDTO6、UserRestService和UserRestServiceImpl1、Maven依赖及application.properties配置<depen

2020-08-14 20:13:26 200

原创 SpringMVC数据绑定

文章目录简介1、简单数据2、数组3、简单对象4、多级对象5、同属性对象6、集合对象①list对象②Set③Map7、json简介数据绑定是指将界面上的属性绑定到一个对象的某个实例上的某个属性。1、简单数据如果是简单数据,可以使用基本类型或是包装类型进行绑定,如果使用基本类型比如int,则说明这里的key是必须传的,如果不传入数据或传入的数据不是数字,则会报错因此对于可能为空的数据,需要使用包装类型。当然在实际应用中可以通过@RequestParam对是否必须进行配置,设置为@RequestPara

2020-08-05 17:16:21 54

原创 在IDEA中使用SpringBoot创建第一个SSM程序(数据库使用postgresql,jdk版本为11)

文章目录一、写在前面二、安装IDEA并配置Maven三、SpringBoot是做什么的?四、创建一个SpringBoot工程1、通过IDEA的SpringInitializr创建2、通过官网创建五、安装并创建PostgreSQL数据库1、安装地址2、建表3、插入数据及设置主键4、注意事项!非常重要!六、编写application.properties,启动项目七、Mybatis Generator工具1、引入依赖2、mybatis-generator.xml3、自动生成八、测试一、写在前面对于我而言,在

2020-07-31 16:17:47 159

原创 成为社畜后的二三事

近来总是失眠。失眠来源于焦虑,就算知道晚睡只会让第二天效率低下,并没有其他任何实际用处,也还是深陷情绪。世上本无事,庸人自扰之。有时候会问自己,来到这里,后悔吗。回答是不后悔的,至少现在并不。当时选offer的时候想的就是想要更大一点的平台,想有更多可能。如果我留在实习的时候在的银行,或许不会接触到什么新的技术,也或许这辈子都跳不出去了。虽然现在公司用的东西我都没有用过,一切都要自学,但是这样也很好,如果有一天不想再接触新的东西了,那或许职业的瓶颈就到了。认识了一些有意思的人。有大学的时候开过火锅店的

2020-07-29 15:27:18 93

原创 HTTP简介

文章目录什么是HTTP协议?HTTP请求过程HTTP报文结构请求报文结构响应报文结构HTTP认证方法长连接与短连接HTTPSHTTPS的加密方法HTTP2与HTTP1.x的区别什么是HTTP协议?HTTP(HyperText Transfer Protocol),即超文本传输协议,最初是为了提供一种发布和接收HTML页面的方法。它使用TCP协议作为自己的传输层,默认情况下使用TCP的80端口,而HTTPS默认使用TCP的443端口。它的特性为①文本协议,②无状态,③无连接。文本协议是相对二进制协议

2020-07-28 14:31:24 70

原创 Lombok简介

文章目录一、什么是Lombok二、Lombok的使用三、常用Lombok注解四、使用Lombok可能存在的隐患五 、出处一、什么是Lombok通俗地来讲,Lombok就是用注解帮你完成getter、setter、equals等方法编写的工具。当变量发生改变时,也不再需要修改对这些方法进行修改,Lombok会搞定这件事。二、Lombok的使用1、maven依赖引用<dependency> <groupId>org.projectlombok</groupId&g

2020-07-20 16:57:30 41

原创 IDEA中部分依赖包下载失败 提示cannot resolve plugin xxx

注意这里的情况是【部分】失败,所以我可以确定自己的maven配置没有问题,在出现此类情况时先检查maven配置,具体配置方法参考使用IntelliJ IDEA创建Maven项目最后发现是网络原因,即使添加了一个阿里云的国内镜像也可能会出现这种情况,因此方法就是…多添加几个。修改Maven的安装目录config下的settings.xml中mirrors部分:...

2020-07-20 15:24:27 1350

原创 IDEA2020配置Git 实现从GitLab中导入项目

目录下载git 注意版本需在2.9以上在idea中集成gitlab下载git 注意版本需在2.9以上git下载地址下载安装比较容易就不赘述了~按指引一步步来就行安装后打开git bash 设置全局用户名和邮箱设置用户名:git config --global user.name "yourname"设置邮箱:git config --global user.email youremailname@xxx.com在idea中集成gitlab这篇文章写得已经够清楚了,我就不再做多余的工作

2020-07-17 16:00:06 4305

原创 git入门

是之前准备发的文章,现在其实不记得什么了,把当时的笔记复制在这里~如果后面发现有问题会修改或者完善。帮助:git help打开git bash后:cd到想要的路径git init —— 初始化一个空的git本地仓库。执行之后会在当前目录下自动生成.git隐藏文件夹,该文件夹就是Git版本库。git add xxx(文件名) —— 将该文件添加到暂存区(开始追踪文件)git add . 将当前工作区中所有的的文件修改、文件新增、文件删除添加到暂存区git add -u 将当前工作区中所有的文件修

2020-06-22 01:36:24 80

原创 linux常用命令及通配符

常用命令及说明命令说明ls查看文件ls -a查看所有文件(包含隐藏文件)ls -l查看文件及详细信息cd目录跳转pwd查看当前目录路径mkdir创建文件夹rm删除文件rm -r彻底删除rmdir删除目录(不允许删除非空目录)mv移动文件或修改文件名history显示输入过的命令history 5显示最后输入的五条命令$HISTFILE="/home/.myhistory"改变存历史命令的位

2020-06-22 01:17:54 285

原创 Linux中的Shell脚本入门简介

文章目录什么是shell脚本运行shell脚本shell语法开头与注释变量环境变量用户变量预处理变量算术运算整数运算小数运算语句ifcasewhileuntilfor单引号、双引号和倒引号重定向管道后台运行符号 &命令操作组操作 () {}什么是shell脚本shell脚本是把一系列命令敲进去,以.sh结尾的文件,将许多指令汇整写一起,让使用者很容易地就能够一个操作执行多个命令。运行shell脚本保存了该文件之后需要修改该文件权限chmod a+x test.sh

2020-06-22 00:35:56 80

原创 大学四年·写于离校前

6.19交完毕设相关材料后,在学校的事情应该算是差不多结束了。【关于这四年】其实在这四年里,我少了很多锐意进取和一往无前的勇气。可能是因为连自己都放弃了追求,没有棱角,也没有梦想。偶尔也会怀念以前张扬又向上的自己。很久没有接受过挑战,也很久没有肩负过责任。唯一觉得做得很正确的事情是做了FS的社长,在这些日子里回想起来的时候能想起做的拆机比赛、参加的ROG DAY、发放的RNG见面会门票以及开展的干事培训。也短暂加入过890和精弘网络。没有想过要读研,一方面是想早点经济独立,一方面觉得也许读研只是又浪

2020-06-21 15:37:17 1008 2

原创 使用intellij idea创建maven项目

文章目录关于安装idea下载maven配置环境变量修改配置文件修改本地仓库位置修改默认jdk版本添加国内镜像源idea配置maven关于安装idea由于之前一直用的eclipse,刚刚开始着手准备用idea,所以所有的配置都要重新来过。在安装idea的时候,这篇文章给了我不少帮助,有需要的可以看一下。不过博主也是转载的,可惜没有放原文链接,所以只能放这个啦~ 优点就是还挺全面详细的,缺点就是由...

2019-09-09 11:58:54 198

原创 剑指offer(2)—— 替换空格

文章目录题目描述解题思路代码1、使用String类的方法2、纯手工编写题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解题思路1、对于java而言其实很容易,因为可以使用String类的方法。2、如果不使用String类的方法,那么我们需要做的就是首先遍历得到空格数量...

2019-09-05 10:24:08 89

原创 剑指Offer(1)—— 二维数组中的查找

文章目录写在前面题目描述解题思路代码注意事项写在前面由于已经到九月了,准备秋招确实是刻不容缓的事情了,从今天准备开始刷剑指Offer,想记录一下。我知道解题方法和思路其实很多地方都可以搜到,但是希望在这个系列里面可以有一些我自己的东西。题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个...

2019-09-03 10:57:40 74

原创 实习杂谈(三)

这篇文章本来应该上周五发的,结果后面因为要联调所以搁置了。距离上次写博客(实习周/月记)又是两个星期过去了。先说上星期吧(08.05-08.09),主要就是一个项目的前置开发,说实话看着还挺懵的,用httpclient,把json转成object,转来转去,也没怎么仔细看,可能是因为要求的格式不同吧。但是实际操作其实很容易,无非是照着人家的代码写,然后就自己也没怎么动脑子orz,看懂了但是让我...

2019-08-19 11:00:59 103

原创 实习杂谈(二)

上个星期做的事情不多,除了提交了之前的代码和开会之外就是自己看一看流程,熟悉一下代码逻辑。第一次提交代码,提供更新清单,好在最后没有出什么问题。本意是这个星期没什么新任务的话刷一下剑指offer的,明天就要进行网易的线上笔试了,然而到现在根本没有准备过。说是贪玩也好,有那么一、、自闭。而且这两天还感冒了,吃泰诺也止不住发热咳嗽,明天很想咕咕咕。剑指offer没有刷,新任务倒是下来了,也是比较容...

2019-08-02 17:43:46 124

原创 Spring Data JPA @Query注解介绍

一、查询1、用?的形式获取参数示例:@Query("select u from User u where emailAddress = ?1 and name = ?2")User findByEmailAndName(String emailAddress, String name);在这里?+数字代表占位符,比较特殊的是数字从1开始,而非从0开始。?1代表顺序中的第一个参数。2、...

2019-07-24 10:32:55 1066

原创 java的反射机制

文章目录一、什么是反射二、反射机制的作用三、类名与属性名的获取一、什么是反射JAVA反射机制是在运行状态中,对于任意一个类(指.class文件),都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。简单说起来:获取类的字节码文件(.class),通过该文件对这个类的对象进行获取。二、...

2019-07-23 17:15:11 34

转载 JAXB快速入门

文章目录参考简介JAXB使用基础介绍1、常用API2、常用注解3、实际应用中注意的问题工具方法参考原文链接:JAXB应用实例原文会有比较详细的介绍,这边是比较简略的简介现在的Java中有很多类库比如DOM、SAX、JDOM和DOM4J等等都可以操作XML,但如果仅仅是想做JavaBean和XML节点元素的互相转换,而不涉及动态XML的处理,那么JAXB绝对是一个不错的选择。在比较新的jd...

2019-07-23 11:35:36 70

原创 实习杂谈

这应该是我第一次在c博写个人相关的东西,平时在博客里也不会提起近况,说起来原因也不过是感觉勉强算是一个技术博或者学习博吧,写些有的没的总觉得很奇怪。从7.3入职到现在也有20天了,半个多月。学校要求下校友邦,听说要写周报,我到现在也拖着没有下。公司的话环境还比较轻松,比较意外的是我本来以为会是直接转正的形式,然而似乎是打算我们实习三个月就可以走人了,意味着秋招的时候还要奔波于各个公司面试。之前看...

2019-07-23 11:06:41 114

原创 报错:Address already in use:bind (error while binding on 0.0.0.0/0.0.0.0:10603)

百度了一下大多是认为端口被占用,删掉进程中的javaw.exe即可,但我这边并没有这个进程。最奇怪的是,平常有用的重启大法都失效了原因:这个项目在tomcat的server.xml中配了Context这一行<host> …… <Context docBase="" path=""/></host>这个配置中docBase为项目具体路径,path...

2019-07-10 15:19:06 1671

原创 快速入门SpringMVC

文章目录你或许需要一些struts2基础简介基本流程1、在web.xml中配置入口servlet2、配置文件为dispatcher-servlet.xml(相当于struts.xml)配置文件命名文件位置① WEB-INF文件夹下② 根据contextConfigLocation的value进行判断文件内容①数据库信息还是配置在applicationContext.xml中②***spring注解...

2019-07-08 15:43:19 89

原创 eclipse中maven的配置和使用

一、简介MAVEN仓库就是放置所有JAR文件的地方(可以有本地仓库和远程仓库),所有MAVEN项目可以从同一个MAVEN仓库中获取自己所需要依赖的JAR。运行MAVEN的时候会先从本地仓库获取,如果本地仓库没有,会先从远程仓库下载到本地再使用。MAVEN缺省的本地仓库地址为${user.home}/.m2/repository远程仓库的配置可以在项目的pom.xml中,也可以在maven的...

2019-07-05 17:26:47 90

原创 安卓使用网络技术实战——简易的在线考试app

文章目录一、实现内容二、用到的部分知识点及参考1.实现界面跳转并传递数据——使用Intent2.控件的隐藏与显示3.通过Handler把需要在另一个线程执行的操作加入到消息队列中去4.使用okHttp解析XML文件5.单选项——使用RadioGroup和RadioButton并获取用户选中值三、效果图四、完整代码1.服务器端.xml文件2.添加okhttp依赖3.布局文件——activity_ma...

2019-05-27 00:18:29 1338 2

原创 安卓简易日程表实现

文章目录一、前言二、运行截图与功能说明三、知识点与参考1.数据库的操作2.显示月日历3.给TextView添加点击事件四、完整代码1.数据库有关的类MySQLiteOpenHelper2.activity_main.xml3.MainActivity4.用于删除和修改的Activity的布局activity_edit_schedule.xml5.EditScheduleActivity一、前言...

2019-05-27 00:17:00 5090 2

mPaaS热修复

保存的网页https://www.yuque.com/tutorials/college/hotpatch,作者也不是我,只是存一下免得以后页面消失

2019-04-28

添加hibernate支持所需要的jar包

添加hibernate支持所需要的jar包,含antlr-2.7.7.jar,dom4j-1.6.1jar,hibernate-commons-annotatlons-4.0.1-Final.jar,hibernate-core-4.2.4.Final.jar,hibernate-jpa-2.0-api-1.0.1.Final.jar,javassist-3.15.0.GA.jar,jboss-logging-3.1.0.GA.jar,jboss-transaction-api_1.1_spec-1.0.0.Final.jar

2018-07-13

jars-struts2.3

struts2开发所需要的jar包,版本为2.3.24。(已修正datetimepicker乱码问题)

2018-10-18

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除