- 博客(240)
- 收藏
- 关注

原创 java线程池使用最全详解
线程池使用前言在执行一个异步任务或并发任务时,往往是通过直接new Thread()方法来创建新的线程,这样做弊端较多,更好的解决方案是合理地利用线程池,线程池的优势很明显,如下:降低系统资源消耗,通过重用已存在的线程,降低线程创建和销毁造成的消耗;提高系统响应速度,当有任务到达时,无需等待新线程的创建便能立即执行;方便线程并发数的管控,线程若是无限制的创建,不仅会额外消耗大量系统资源,更是占用过多资源而阻塞系统或oom等状况,从而降低系统的稳定性。线程池能有效管控线程,统一分配、调优,提供资源
2021-05-18 15:16:22
88600
9

原创 分布式部署ID全局配置之雪花算法
HttpClient使用(包含HttpPost及HttpGet)简介HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。HttpClient最新版本是HttpClient 4.5.3 (GA)。官方下载:http://hc.apache.org/downloads.cgi主要特性基于标准、纯净的Java语言,实现了HTTP1.0和HTTP1.1。以可扩展的面向
2021-01-05 09:59:44
2821
1

原创 springboot集成Apollo实时监听同步更新最新值
springboot集成Apollo实时监听同步更新最新值前言:Apollo是携程开源的配置中心组件,在使用Apollo配置中心的时候,我们时常需要自己写热更新属性的代码,Apollo也提供了热更新,只不过目前只支持@Value注解的热更新,但一些场景下,我们都是对Apollo获取的结果进行处理后,例如封装成集合或者bean才使用,所以这里存在个问题,就是Apollo配置更新了,但是bean或者封装的集合没有更新。解决方案封装成集合使用热更新:方案一:采用Apollo自带的热更新(@Value)
2020-09-10 09:25:06
3106
原创 linux 查看文件或文件夹所占磁盘空间大小
du -ah 子目录以及子目录里的文件的大小。du -sh * 目录里的每个字目录的大小。du -sh 整个目录的大小。
2023-04-17 11:18:55
428
原创 docker目录映射
docker ps // 查看所有正在运行容器docker stop containerId // containerId 是容器的IDdocker ps -a // 查看所有容器 $ docker ps -a -q // 查看所有容器IDdocker stop $(docker ps -a -q) // stop停止所有容器docker rm $(docker ps -a -q) // remove删除所有容器docker restart 容器id //重启容器。
2023-04-17 11:10:17
2344
转载 Spring Boot 和 Spring Cloud Feign调用服务及传递参数踩坑feign调用传参
Spring Boot 和 Spring Cloud Feign调用服务及传递参数踩坑记录_whaleluo的博客-程序员资料_feign调用传参
2022-07-18 10:47:51
4419
1
原创 使用RestTemplate:报错Could not extract response: no suitable HttpMessageConverter found for response typ
RestTemplate报错HttpMessageConverter
2022-07-17 10:04:19
1740
原创 Caused by: java.lang.IllegalStateException: Ambiguou There is already ‘XXXXXXController‘ bean method
FeignClient调用报错
2022-07-17 09:28:36
238
原创 MyBatis-Plus的saveBatch批量插入为何效率很低耗时长详解及解决方案
Mybatis-plus的saveBatch耗时详解及解决方案
2022-07-15 08:43:23
15300
3
原创 SqlSession was not registered for synchronization because synchronization is not active事务开启失败
SqlSession事务开启失败
2022-07-15 08:10:29
20164
1
原创 mybatis动态更新及批量动态插入
动态更新<update id="updateElevator" parameterType="com.diantijiang.saas.data.elevator.Elevator" > update dc_elevator <set> <if test="inspectionCode != null">inspection_code = #{inspectionCode,jdbcType=VARCHAR},</if>
2022-05-07 10:11:42
1792
原创 mapstruct 详解及使用教程
参考链接:mapstruct的基本使用介绍是不是有时候发现明明source和target不是同一个类型,但是却转换成功了,这是因为mapstruct有一套自己的类型转换机制类型转换的流程首先尝试自动进行类型转换若是无法支持的类型转换,则是尝试调用已经存在的类型转换方法不存在可用的方法则是尝试自己创建一个类型转换方法类型转换分类自动转换以下的类型之间是mapstruct自动进行类型转换的。基本类型及其他们对应的包装类型。此时mapstruct会自动进行拆装箱。不需要人为的处理基本类型
2022-05-06 11:22:43
6102
原创 Mac 环境gitlab上传项目中的文件为空
问题:如图当自己创建的项目B文件夹中存在文件.git时,这时cd到A层时上传项目会导致上传项目为一个空的文件夹。解决办法:解决办法:因为.git为隐藏文件,在此问价夹下点击command + shfit + .就可以切换隐藏文件的显示与隐藏,当显示时将此文件夹删掉重新上传项目即可...
2022-05-06 11:00:53
637
翻译 Mac安装Blew步骤
转自:乔一亖地址:https://www.cnblogs.com/joyce33/p/13376752.html感谢作者的辛苦付出,尊重版权,从我做起。Homebrew 是什么Homebrew是 mac的包管理器,仅需执行相应的命令,就能下载安装需要的软件包,可以省掉自己去下载、解压、拖拽(安装)等繁琐的步骤。 比如安装服务器 nginx,打开终端执行以下命令即可安装:brew install nginxHomebrew 官方文档 https://brew.sh/Homebrew 怎么安装
2022-05-06 10:46:34
577
原创 mybatis批量插入,批量更新以及null值解决方案
前言mybatis批量插入、批量更新常规写法,及升级写法null value in column “xxx” violates not-null constraint mybatis批量操作报错问题处理。批量插入常规写法:<insert id="insertUser" parameterType="com.test.UserEntity"> insert into t_com_user(user_name, age, gender) values <foreach coll
2022-05-06 10:09:27
11284
原创 LocalDateTime获取当前时间戳
以上都是获取当前时间的时间戳。而要想使用localdateTime获取当前时间,只需要LocalDateTime.now()即可。输出结果如下:
2022-05-05 16:34:01
12637
原创 mysql性能调优分析之Explain详解
简介explain显示了mysql如何使用索引来处理DML语句以及连接表,explain显示的信息可以帮助选择更好的索引和写出更优化的查询语句。explain列解释table:显示这一行的数据是关于哪张表的type:显示连接使用了何种类型,从最好到最差的连接类型顺序:const,eq_reg,ref,range, index ,ALLpossible_keys:显示可能应用在这张表中的索引,如果为空,没有可能的索引,可以为相关的域从WHERE语句中选择一个合适的语句。key:实际使用的索引。如
2022-05-05 16:16:22
518
原创 MyBatis的JdbcType 与Oracle、MySql数据类型详解
mybatis jdbcType与Oracle mysql数据类型对应表mybatis的jdbcType中部分没有对应的oracle和mysql的数据类型中,后续碰到再具体分析。更新日志Mysql中没有CLOB类型
2022-05-05 13:48:44
1402
原创 Mac安装jdk和maven3.6配置环境
maven3.6:网上有或者私聊博主私发jdk1.8_211地址:https://pan.baidu.com/s/1CVuWES-F1PoaV63oL3nCHQ 密码:c62d环境配置jdk的真实主目录如下:/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home打开终端,进入当前用户的home目录:cd ~/打开.bash_profile并编辑:open .bash_profile在文件的末尾加入这一行语句:exp
2022-03-23 23:10:00
863
原创 Mac安装配置jdk环境找不到.bash_profile则自己创建.bash_profile文件
1.启动Terminal终端工具2.输入cd ~/ 进入当前用户的home目录或cd /Users/YourUserName创建:touch .bash_profile4.打开并编辑:open -e .bash_profile5.保存关闭,其实创建了一个空文件6.更新:source .bash_profile...
2022-03-23 22:56:12
1807
原创 Linux部署jdk&tomcat&mysql
Linux安装jdklinux Tomcat安装Linux安装eclipseLinux安装MySQL
2021-08-22 21:47:00
134
原创 Linux系统详解
Linux系统学习Linux组概念及使用Linux权限概念及使用Linux定时任务调度Linux磁盘分区和挂载磁盘情况查询Linux网络配置原理最后记得重启服务service network restartLinux进程管理
2021-08-21 16:53:24
118
原创 Win10系统解决VMware启动centOS7,本机电脑蓝屏问题
Win10系统解决VMware启动centOS7,本机电脑蓝屏问题根据网上查到的原因是电脑驱动不兼容的问题等等五花八门的问题,但具体原因不明确,我下载的是VMware15.0.4,启动centOS7本机电脑必蓝屏重启,一直以为是centOS7镜像文件的原因,害我下载了好几个版本的,tm一个版本4g+…,最后发现是VMware的原因,又新下载了16.1.0版本的就完美解决了附上VMware16.1.0版本链接https://pan.baidu.com/s/1A7bFL1kkMYTnU5t2RmXbtQ
2021-08-19 00:11:11
2185
2
原创 Win10系统下的VMware16.1.0版本下载虚拟机迁移方案
对于同一台机器迁移新VM版本只需要关闭VM,不需要移除绑定的虚拟机,直接卸载原有的VM,卸载完成后,记得用清理软件,清理干净老版本的VM(不然会影响新版本的VM安装),然后重启系统,再次安装新的虚拟机到原来老版本安装VM的位置即可,再次启动VM,虚拟机会自动挂载到VM上。对于迁移到另一台新机器具体请看VM16.1.0虚拟机迁移方案:https://docs.vmware.com/cn/VMware-Workstation-Pro/16.0/com.vmware.ws.using.doc/GUID-FC
2021-08-19 00:08:12
1004
原创 安装VMware 出现警告1946无法设置快捷方式解决方案
遇到安装VMware 出现”警告1946无法设置快捷方式“时,我们只能选择卸载干净(卸载完成之后,我们启动杀毒软件或者是垃圾清理软件,清理注册表,一定要清理干净之前安装的VM文件,尤其注册表),重启电脑重装,不然会出现启动虚拟机”无法获得VMCI驱动程序的版本:句柄无效“的情况。...
2021-08-18 23:56:20
5244
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人