自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 Elasticsearch8.x版本Java客户端Elasticsearch Java API 如何并发修改

并发控制,一般有两种方案,悲观锁和乐观锁,其中悲观锁是默认每次更新操作肯定会冲突,所以每次操作都要先获取锁,操作完毕再释放锁,适用于写比较多的场景。而乐观锁是默认每次更新操作都不会冲突,所以在更新前和更新后都不需要获取锁和释放锁的操作,所以效率更高,适合于读多写少的场景中。

2024-03-18 17:56:04 766

原创 Elasticsearch8.x版本Java客户端Elasticsearch Java API Client中常用API练习

同时推出了全新的java API客户端Elasticsearch Java API Client,该客户端也将在Elasticsearch8.0及以后版本中成为官方推荐使用的客户端。批量添加的核心是需要构建一个泛型为BulkOperation的ArrayList集合,实质上是将多个请求包装到一个集合中,进行统一请求,进行构建请求时调用bulk方法,实现批量添加效果。注:index中参数为文档所属的索引名,id中参数为当文档的id,document为文档数据,新版本支持直接传入java对象。

2024-03-15 15:42:34 1729 3

原创 比较新list和旧list中的元素

【代码】比较新list和旧list中的元素。

2023-05-10 23:11:11 667 1

原创 50道SQL题目

地址:https://www.cnblogs.com/Diyo/p/11424844.html 大佬地址比较全以下是自己写的-- 1、查询"01"课程比"02"课程成绩高的学生的信息及课程分数SELECT a.s_id, max( CASE WHEN a.c_id = '01' THEN a.s_score END ) s01, max( CASE WHEN a.c_id = '02' THEN a.s_score END ) s02 FROM score a GROUP BY a.s

2021-05-07 17:26:38 190

原创 导出excel

pom <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId> <version>3.2.0</version> </dependency> <dependency> <groupId>cn.afterturn

2020-11-05 00:26:55 129

原创 报表导出

@GetMapping("/export") public void toList(HttpServletResponse response) throws UnsupportedEncodingException { List<Goods> list = new ArrayList<Goods>(); for (int i = 0; i < 50; i++) { Goods g = new Goods();

2020-11-01 22:58:03 111

原创 码中自有颜如玉 码中自有黄金屋

想要修改 vi /etc/motd, 然后把我下面的文本复制进去就可以了~ 娱乐一下文本: .::::. .::::::::. ::::::::::: ..:::::::

2020-10-19 22:23:27 185

原创 git

回复暂存git stash pop stash@{0}添加暂存git stash暂存列表git stash list

2020-10-19 16:48:49 80

原创 IDEA快捷指令收藏

Idea快捷键-修改同名变量名Window: Ctrl+Shift+Alt+JMac: Ctrl+Option+Gctrl + rctrl+r表示:当前文件内容替换,指的是在当前打开的文件中替换匹配的字符,只操作一个文件。

2020-09-30 15:28:32 226

原创 顺序打印5次abc

//打印abc五次 public static void main(String[] args) { PrintTest p = new PrintTest(1,5); new Thread(()->{ p.print(1,2,"a"); }).start(); new Thread(()->{ p.print(2,3,"b"); }).start(); ne..

2020-09-17 12:31:26 94

转载 使用LocalDateTime而不是Date?

参考资料:好好学Java https://mp.weixin.qq.com/s/Dd_7yUh3lq3TqE2cjsYXvw在项目开发过程中经常遇到时间处理,但是你真的用对了吗,理解阿里巴巴开发手册中禁用static修饰SimpleDateFormat吗?通过阅读本篇文章你将了解到:为什么需要LocalDate、LocalTime、LocalDateTime【java8新提供的类】;java8新的时间API的使用方式,包括创建、格式化、解析、计算、修改。为什么需要LocalDate、LocalT

2020-09-11 14:25:58 180

原创 线程安全,锁,线程池简单分析

线程安全简单分析成员变量和静态变量是否线程安全?1.如果没有共享,线程安全2.如果被共享,根据他们是否能够改变如果只有读,线程安全如果有读写操作,则这段代码是临界值,需要考虑线程安全​局部变量是否线程安全?是安全的但是局部变量引用未必安全如果该对象没有逃出方法的作用访问,是线程安全的如果该对象逃出方法的作用范围,需要考虑线程安全分析i++线程是否安全?结论:很显然不是线程安全的分析:使用 javac xxxxxx.java 指令来编译使用 javap -c xx

2020-09-11 13:51:42 231

原创 Linux常用命令

环境变量配置:vi /etc/profile将文件移动:mv 原文件名 移动到路径查询进程:ps -ef|grep tomcatvi 进入后 i为编写模式,Ctrl+c退出编写,:wq!保存退出修改环境变量后需要 source /etc/profile 更新一下环境上传文件使用 rz 确保rz是下载成功的删除文件 rm解压:tar -zxvf压缩:tar -zcvffind主要用于查找名为什么什么的文件touch 创建一个文件 eg: touch a.txtmkdir 新建一个文件

2020-08-04 16:50:03 99

原创 springboot纯净整合shiro的

springboot纯净整合shiro的shiro介绍Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。Apache Shiro 体系结构1、 Authentication 认证 ---- 用户登录2、 Authoriza...

2020-04-16 14:49:27 148

原创 SpringBean的生命周期

SpringBena的生命周期Spring对bean进行实例化,调用Bean的构造参数调用bean的set方法将属性注入到bean的属性检查bean是否实现beanNameaware,beanFactoryAware当经过上述几个步骤后,bean对象已经被正确构造,但如果你想要对象被使用前再进行一些自定义的处理,就可以通过BeanPostProcessor接口实现。该接口提供...

2020-01-15 10:29:44 198

原创 Git合并代码

将develop合并到master分支1.查看当前分支(当前分支可以直接查看或者命令查看)git branch或者命令git status*代表当前分支2.切换分支到mastergit checkout master3.将代码更新到最新版本git pull origin develop4.在master分支上,将develop分支合并到master上面git merge deve...

2019-11-18 16:59:33 163

原创 git stash暂存的操作

git切换分支$ git branch -a 来查看所在目录的分支$ git branch -a master* trunk remotes/origin/HEAD -> origin/master remotes/origin/master remotes/origin/xxxxx然后输入命令切换分支$ git checkout -b zhanghanlun...

2019-11-18 10:43:44 177

原创 使用TK_mybatis快速搭建项目

pom <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId>...

2019-11-14 15:31:38 347

原创 总结一个项目中使用的逆向工程

先配置maven,这个是以插件形式配置的maven <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-ma...

2019-10-29 15:04:07 220

原创 redis常见问题总结

一、面试经常问到的Redis的过期策略过期策略通常有以下三种:定时过期:每个设置过期时间的key都需要创建一个定时器,到过期时间就会立即清除。该策略可以立即清除过期的数据,对内存很友好;但是会占用大量的CPU资源去处理过期的数据,从而影响缓存的响应时间和吞吐量。惰性过期:只有当访问一个key时,才会判断该key是否已过期,过期则清除。该策略可以最大化地节省CPU资源,却对内存非常不友好。极...

2019-10-28 14:58:51 256

原创 Oracle分页

由于之前在带有oracle系统中的服务没有写分页,想在带有mysql的服务直接将查出来的list塞到pageinfo中。 PageInfo<MemberSignInfo> pageinfo = new PageInfo<MemberSignInfo> (memberSignInfoListResponse.getMemberSignInfoList());想...

2019-10-28 14:57:21 521

原创 JDK 8 List指定对象去重

创建对象 Student student1 = new Student("张三",20,"周"); Student student2 = new Student("李四",30,"上号"); Student student3 = new Student("王五",18,"阿西吧"); Student student4 = new Student("...

2019-09-27 15:43:36 1041

原创 线程等待调用小案例

需求设置是个线程只有一个线程执行完毕后下一个线程才会执行。public class DataCollection { //设置执行顺序 public static final LinkedList<Control> CONTROLS = new LinkedList<>(); public static void main(String[] args...

2019-09-24 14:38:13 115

原创 为什么wait()和notify()需要搭配synchonized关键字使用(三)

理解此问题先修知识:synchronized 的含义:Java中每一个对象都可以成为一个监视器(Monitor), 该Monitor由一个锁(lock), 一个等待队列(waitingqueue ), 一个入口队列( entry queue).对于一个对象的方法, 如果没有synchronized关键字, 该方法可以被任意数量的线程,在任意时刻调用。对于添加了synchronized关...

2019-09-24 10:08:54 227

原创 线程问题之线程之间的通信(二)

手写一个单线程的生产者和消费者实现,实现生产者生产一个数字,如果已经生产线程等待,调用消费者消费这个数字,取消等待再次生产。流程单线程实现生产者消费者public class OtherService { private int i = 1; // 添加一个锁 final private Object LOCK = new Object(); priva...

2019-09-23 18:04:43 109

原创 多线程实现线程中断(一)

在业务需求中会有大文件或者限制时间返回,规定时间没返回则认为失败,关闭线程创建一个ThreadClose类public class ThreadClose { // 创建线程保证两个方法调用同一个线程 private Thread thread ; private Boolean flage = false; public void execute(Runn...

2019-09-23 17:36:38 607 1

原创 JDK8新特性详解,lamdba表达式详解

一、初步了解lamdba表达式在jdk8之前我们方法参数都是基本数据类型或者引用数据类型,但是在8方法中可以传递函数表达式,即lamdba表达式,此表达式伟大在于既能兼容面向对象的调用也可以使用函数式编程,这是一个质的改变。传递值变成传递行为,这也是面向对象和函数式编程的区别。1.表达式的使用(type a,type b)->{需要执行的语句;}一个type可以省略括号,多个type...

2019-09-12 17:56:30 299

原创 Oracle使用存储过程插入,修改CLOB数据

oracle中,如果直接插入clob数据,可能会报字符过长,导致sql不能正常执行。因此,可以通过存储过程来执行:DECLARE clob_data CLOB := 'xxxxxxxxxxxxxxxxxxx';begininsert into CERT.TT_ESIGN_MEMBER_SEAL_INFO (ID, PARTNER, MEMBER_ID, EX01, EX02, EX03)...

2019-08-27 13:45:04 2105

原创 JAVA Excel导入修改后导出,使用EasyPoi

**使用easypoi** @Test public void getChange() throws IOException { ImportParams params = new ImportParams(); // 源文件存放地址 List<Excels> list = ExcelImportUtil.importEx...

2019-05-28 16:38:51 512

转载 springboot中filter、interceptor的区别和实例

前言:从概念上来讲,filter是servlet规范定义的,而interceptor是spring定义的。作用在什么位置?一次会话,请求在进入servlet容器执行service()方法之前就会经过filter过滤(上图步骤1),在离开servlet容器相应客户端的时候也会经过过滤器(上图步骤7)。而interceptor,分两种情况,一种是对会话的拦截,需要定义类实现spring的org....

2019-04-25 15:01:29 214

原创 java定时发送邮件

配置setting和定时任务// 配置发送地址 Setting setting = new Setting("config/mail.setting"); // 收到邮件地址 private static final String recipient = "xxxxxx@163.com" ; @Scheduled(cron = "*/10 * * *...

2019-01-03 16:37:38 985 1

原创 RabbitMQ 研究和SpringBoot 整合

1 介绍     MQ全称为Message Queue,即消息队列, RabbitMQ是由erlang语言开发,基于AMQP(Advanced MessageQueue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛。 开发中消息队列通常有如下应用场景:1、任务异步处理。将不需要同步处理的并且耗时长的操作由消息队列通知消...

2018-12-14 18:00:34 248

原创 文件上传,断点续传操作

一、使用springmvc的上传 // 使用transferTo public String upload(MultipartFile file) throws IOException { File dest = new File("E:\\test\\"+UUIDUtils.getUUID()+file.getName()); if(dest.ex...

2018-12-11 15:45:59 763

转载 使用ffmpeg转换视频为gif

使用ffmpeg转换视频为gif ffmpeg 是一个自由软件,可以运行音频和视频多种格式的录影、转换、流功能,包含了libavcodec——这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库。 “FFmpeg”这个单词中的“FF”指的是“Fast Forward” 在Ubuntu上安装ffmpegsudo apt-get insta...

2018-12-07 09:59:35 1393

原创 mybatis映射异常:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflect

先说下原因     Mapper文件中当我们的入参为entity实体,或者map的时候,使用if 参数判断没任何问题。但是当我们的入参为java.lang.Integer 或者 java.lang.String的时候,这时候就需要注意一些事情了&lt;select id="findByBatchNo" parameterType="java.lang.String" resultTy...

2018-12-06 10:33:15 8825 1

转载 快速生成ResultMap和Model的方法

package com.example.demo.Test;import java.io.*;/** * 作者: lin * 描述: * 日期: 2018/12/5 14:04 */public class myTest { public static void main(String[] args) { String filePath = "D:...

2018-12-05 15:11:32 3398 1

转载 已存在的项目使用git进行管理

https://blog.csdn.net/jmyyhw/article/details/79648843

2018-10-26 14:18:27 121

转载 Java 处理图片 base64 编码的相互转换

https://www.cnblogs.com/libra0920/p/5754356.html

2018-10-19 17:40:13 139

转载 vue.js安装与配置

我们在前端学习中,学会了HTML、CSS、JS之后一般会选择学习一些框架,比如Jquery、AngularJs等。这个系列的博文是针对于学习Vue.js的同学展开的。  1.如何简单地使用Vue.js  如同以前我们学过的Jquery一样,我们在程序中使用Vue.js时也可以使用直接引用的方法,直接下载并用 &lt;script&gt; 标签引入,Vue.js会被注册为一个全局变量。在这里...

2018-10-16 16:22:14 136

转载 SpringBoot配置类WebMvcConfigurerAdapter

https://blog.csdn.net/u012129558/article/details/79006253 HandlerInterceptor拦截器使用总结https://blog.csdn.net/weixin_36832313/article/details/79115693

2018-10-16 11:23:45 288

为啥不能少于10个字,很奇怪的要求

为啥不能少于10个字,很奇怪的要求

2024-01-09

空空如也

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

TA关注的人

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