java
文章平均质量分 68
954L
【vx:w_954L】承接软件项目开发部署运维:网站/app/小程序公众号/爬虫等...
CSDN博客专家、Java干货、Vue开发、uniapp开发、小程序公众号开发、Linux部署
展开
-
SSE流式接口,三端调用示例
包含了使用Vue.js、Java和OkHttp来实现Server-Sent Events(SSE)的示例代码。原创 2023-06-25 15:52:43 · 8636 阅读 · 5 评论 -
openOffice安装及使用
p 8100:8100:可选,映射8100到宿主机。此处我不暴露端口,后续将直接关联到java项目中。(已push到官方仓库,制作方式参考Docker方式第二步)如果暴露端口则可以直接通过ip来连接openOffice。下载速度感人,用迅雷下载快一些,然后再上传到服务器。将简体跟繁体所有字体文件上传到fonts目录。将jdk安装包上传至服务器。原创 2022-09-24 15:39:20 · 3860 阅读 · 2 评论 -
整合sharding-jdbc 5.1.1实现读写分离、日期分表
*** 精准匹配* @return// 根据当前日期 来 分库分表 LocalDateTime date = preciseShardingValue . getValue();// 表名后面加上当前年份 String tbName = preciseShardingValue . getLogicTableName() + "_" + date . getYear();// 找到对应表名 if(each . equals(tbName)) return each;......原创 2022-08-10 17:25:32 · 1836 阅读 · 2 评论 -
使用LibreOffice在线word转换pdf
相关资料Windows安装包:LibreOffice_7.0.6_Win_x64.msiLinux(CentOs)安装包:LibreOffice_7.0.6_Linux_x86-64_rpm.zip安装完成后,后续将使用java代码调用软件服务来提供word格式转换安装windows安装:双击,点下一步…(安装路径不要含有中文)Linux安装解压上面资料的zip,得到两个tar压缩文件,上传至Linux安装# 解压tar -zxvf LibreOffice_7.0.6_L.原创 2021-06-09 16:26:16 · 947 阅读 · 0 评论 -
使用docx4j在线word转换pdf及替换文本域
docx4j优势:免费开源可商用,服务器无需安装office软件等docx4j劣势:性能效率相对于其他框架而言较差复杂的word排版内容可能无法转换,对格式要求较高适用场景:对性能效率要求不高,word内容排版简单,后续无很强的应用需求编码实现项目框架环境:JDK1.8、SpringBoot2.3.1.RELEASEmaven<docx4j.version>8.2.9</docx4j.version><dependency> <gro..原创 2021-05-31 11:37:06 · 1337 阅读 · 0 评论 -
Redis 分布式锁实现
不多做介绍了,直接上代码了 private static final Integer TRY_LOCK_COUNT = 3; private static final String LOCK_LUA_SCRIPT = "if redis.call('setNx',KEYS[1],ARGV[1]) == 1 then if redis.call('get',KEYS[1])==ARGV[1] then return redis.call('expire',KEYS[1],ARGV[2]).原创 2021-03-31 14:12:10 · 130 阅读 · 0 评论 -
Java调用shell脚本执行imagemagick压缩图片
文章目录前言安装方式一:Dockerfile方式二:进入已有容器内部安装测试Linux上压缩Java执行shell实现压缩前言自己做个小项目,有个需求得存储图片,为了页面渲染速度。这里存储的是压缩图片,然后外链指向原图。本地不存储。美滋滋。但是想法很美好,结果缺不尽人意…业务逻辑上一点问题没有,结果出在服务器上,内存不足,导致宕机。一通排查之后发现是压缩图片这里导致的内存溢出。尝试解决办法:所有IO流操作完立马close,无效数量降低为每分钟处理3张图片,无效采用谷歌的开源工具th.原创 2020-07-05 21:31:51 · 571 阅读 · 0 评论 -
springCache搭配redis替代mybatis二级缓存[954L]
文章目录原创 2020-06-14 16:19:48 · 799 阅读 · 5 评论 -
mybatis 一级缓存/二级缓存区别[954L]
文章目录mybatis_cache系列前言大白话简述什么是一级缓存?大白话简述什么是二级缓存?缓存命中流程图影响缓存命中规则的因素缓存生命周期何时创建作用范围何时销毁,以及什么情况会销毁mybatis_cache系列建议按顺序阅读源码刨析:mybatis一级缓存[954L]源码刨析:mybatis二级缓存[954L]前言本文主要阐述mybatis一级缓存与二级缓存区别。纯理论简述,将不会有代码coding。建议阅读上述两文后再阅读大白话简述什么是一级缓存?首先一级缓存我们要知道是m原创 2020-06-02 22:25:35 · 378 阅读 · 0 评论 -
源码刨析:mybatis二级缓存[954L]
文章目录mybatis_cache系列前言Coding缓存命中规则缓存生命周期源码看二级缓存mybatis_cache系列建议按顺序阅读,有一些代码沿用之前的code,与一级缓存完全一致的内容或结果就不再操作了源码刨析:mybatis一级缓存[954L]前言本文主要阐述mybatis二级缓存如何使用,命中规则介绍及缓存生命周期。最后再从源码刨析缓存创建销毁的底层实现。基础代码还是基于之前一级缓存的代码,这里就不贴的。Coding首先二级缓存默认是关闭的状态,默认的二级缓存我们实原创 2020-05-30 22:58:39 · 377 阅读 · 0 评论 -
源码刨析:mybatis一级缓存[954L]
前言本文主要阐述何为mybatis一级缓存,后续会相应的出二级缓存blog以及采用redis缓存数据。该篇主要以缓存命中规则及生命周期为目标。再从源码刨析缓存创建销毁的底层实现。先贴一下基础代码pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSc原创 2020-05-29 00:15:48 · 394 阅读 · 0 评论 -
集成目前最主流的日志框架Logback
前言我们先来简单了解一下Logback,它是log4j的升级版,都是同一个作者。Logback超轻量级日志框架,性能是老版log4j的10倍以上,占用内存更小。Logback 的架构非常的通用,适用不同的使用场景。Logback 被分成三个不同的模块:logback-core,logback-classic,logback-access。logback-core 是其它两个模...原创 2020-04-30 15:50:07 · 835 阅读 · 0 评论 -
SpringBoot集成阿里Druid监控sql运行
2020了,现在看见的项目基本都是用阿里这个了,在之前最主要的数据库连接池还是c3p0、dbcp和proxool三种。我们先来看看阿里druid毫不低调的自我介绍:Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。其实我最钟意它的还是他的监控,这篇blog也会做一个监控demo来尝试一下github地址:https://githu...原创 2020-04-26 14:01:45 · 1200 阅读 · 0 评论 -
单元测试利器 - Mock
为什么会有这篇blog呢,起因上周末看了一个朋友的代码。结果随便打开他们的测试用例,看一下,这是嘛?原谅我还停留在junit时代,略丢人,主要是平时开发时间有限,编写测试用例又是一个额外的工作量,写完草草自测完就上线了。周末补了一下这块的空缺:大致看了一下主体还是很简单的,而且还有很多强大的功能官网地址:https://site.mockito.org/GitHub...原创 2020-03-26 11:06:10 · 461 阅读 · 0 评论 -
顺丰api相关示例 - java版本(带打印)
本来一个简简单单的调用api实现的东西根本没必要单独写一篇博客。....但是!这个顺丰坑实在是太多了!!!让我都有点想骂人了都实在忍不住吐槽几点:丰桥的客服qq群,问了一天没人搭理我数据交互格式仅支持xml,好歹也算个大厂,居然不支持jsonjava-demo中的字段属性居然是写在txt文件里????接口文档中的字段描述错误,有的写明非必填,结果接口却要求必填,且返...原创 2020-03-12 16:43:12 · 2942 阅读 · 5 评论 -
mybatis-plus逆向工程生成代码示例
pom.xml<velocity-engine-core.version>2.1</velocity-engine-core.version><mybatis-plus.version>2.2.0</mybatis-plus.version><dependency> <groupId>org.a...原创 2020-03-06 14:34:42 · 3340 阅读 · 2 评论 -
SpringBoot三分钟实现Kaptcha图形验证码
Kaptcha介绍介绍摘自:https://www.jianshu.com/p/a3525990cd82Kaptcha 是一个可高度配置的实用验证码生成工具,可自由配置的选项如:验证码的字体 验证码字体的大小 验证码字体的字体颜色 验证码内容的范围(数字,字母,中文汉字!) 验证码图片的大小,边框,边框粗细,边框颜色 验证码的干扰线 验证码的样式(鱼眼样式、3D、普通...原创 2020-02-29 13:54:04 · 779 阅读 · 0 评论 -
SpringBoot整合Shiro示例
Shiro这个框架呢,对我来说真的相见恨晚,一直想用,但没机会用。这个Shiro我也不多做介绍了,本文也只是简单应用,供大家学习参考。本文有点长,我写了小半天..有点耐心小伙子!本文涉及Shiro知识点:自定义Realms,Shiro加密,登录验证,权限验证,前端Shiro标签,Shiro注解。Shiro的三大核心组件Subject SecurityMan...原创 2020-02-15 13:55:58 · 352 阅读 · 0 评论 -
HashMap解决双层For循环效率问题
业务场景中很经常类似的需求,对两个List相同的数据进行处理。例子如下:import lombok.Builder;import lombok.Data;import lombok.experimental.Tolerate;/** * @author 954L * @create 2019/12/31 20:42 */@Data@Builderpublic cla...原创 2019-12-31 21:48:35 · 2153 阅读 · 8 评论 -
Jquery.dynatree基础示例
目录前言示例htmlDemo初始化树结构ajax返回值格式api介绍(内容摘自网络,自行校验是否可行)初始化树结构其余参数节点的其余属性树对象的事件函数树对象的api函数树节点的api函数前言用这个dynatree写了一个前端的树形结构,还挺好用的。这里总结一下。官网:https://plugins.jquery.com/dyna...原创 2019-11-08 16:48:27 · 1926 阅读 · 0 评论 -
JPA原生sql返回值转自定义实体类
有两个月没更新过CSDN了,裸辞了,半个月前刚入职了新下家,这里适应下新公司的项目技术。持久层用的是之前没用过的jpa,还好平时多多少少也有学过,上手也快。用jpa写原生sql的时候,真的想骂人,各种问题。可是jsql又不支持sql的一些函数,只能写原生sql。这里就先记录第一个坑,用jpa注解查询完之后发现无法用以往的实体类直接映射接收,百度谷歌无果...这里实...原创 2019-10-30 18:00:14 · 7508 阅读 · 8 评论 -
java自定义字段实现
参考博文:https://blog.csdn.net/ytangdigl/article/details/70145910前言来个需求,要求用户可以添加自定义字段,由于之前没做过相关的代码实现。当时的第一反应是想着动态添加数据库表字段,越想越不靠谱,搜一下才知道真的是想错了。这里根据开头给的链接的那篇博文参考实现的需求,但我公司的需求逻辑没有那位老哥那么复杂,对字段类...原创 2019-08-02 15:53:50 · 5435 阅读 · 1 评论 -
SpringBoot jar包内读取classPath文件
一、现象用SpringBoot做的一个小项目。放在linux读取resource下资源时显示:file:/xxx.jar!/BOOT-INF/classes!/xxx.xxx (No such file or directory) 二、原因打包成jar以后,实际上文件是存在于jar这个文件里面的资源文件,在磁盘是没有真实路径的。所以通过其他获取磁盘路径的方式是无法获...原创 2019-02-22 15:52:37 · 5396 阅读 · 0 评论 -
java多线程-初探(二)
java多线程-初探(一) 常见的线程函数sleep 当前线程暂停 join 加入到当前线程中 setPriority 线程优先级 yield 临时暂停 setDaemon 守护线程 sleep当前线程休眠具体的毫秒值后唤醒。Interrupt...原创 2018-12-04 15:01:22 · 195 阅读 · 0 评论 -
springboot中@webfilter注解的filter时注入bean都是null
在使用@Webfilter注解Filter的情况下,不上外部tomcat时是没有问题的。但是在tomcat下运行时,filter中注入的bean就都是null解决办法:一:去掉@Webfilter注解public class GeneralFilter implements Filter { @Autowired private Setting...转载 2019-06-17 09:35:39 · 2030 阅读 · 1 评论 -
mybatis利用resultMap复杂类型list映射
目录映射泛型为对象xmlDTOENTITYMAPPER映射泛型为包装类型xmlDTOMAPPER映射泛型为对象xml<resultMap id="internetDataDTO" type="com.mdm.skr.mdm_common.dto.StrategyInternetDataDTO"> <id ...原创 2019-06-12 16:16:20 · 11426 阅读 · 7 评论 -
linux搭建java项目环境(从无到有)
目录一、前言二、版本要求三、安装资料下载四、开始安装安装mysql数据库(先开始坑最多的)安装tomcat上传jdk安装aapt工具后续部署步骤一、前言这里公司加购一台服务器,这里记录一下部署的相关步骤。后续公司人员直接参考这个就行。也会记录一些相应踩坑解决方案。本章不记录yum、docker等其他安装方式,都用rpm包或者tar.gz的形...原创 2019-03-09 14:46:53 · 815 阅读 · 0 评论 -
maven实现tomcat插件的https环境
1.pom.xml配置tomcat插件 <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.1</...原创 2019-02-22 16:05:54 · 1149 阅读 · 0 评论 -
java多线程-初探(四)
java多线程-初探(三) 本文阐述经典的多线程生产者、消费者模型。涉及线程等待、唤醒、死锁以及常用的synchronized跟JDK5的Lock接口两种方式的知识点。 生产者、消费者模型初步理解生产者:负责给资源中保存数据(资源),当资源中的数据被放满了,这时生产者就应该停止继续保存数据。消费者:负责从资源中取出数据进行消费。当资源中的数据被取完,这时就应该停止取...原创 2018-12-07 13:01:05 · 219 阅读 · 2 评论 -
java多线程-初探(三)
java多线程-初探(二) 本章主要阐述synchronized同步关键字,以及未做同步将出现的问题。 未做同步引发的问题举例本文举例:1万个人一起吃1万碗饭,两个人随便吃。吃完为止。正常想要的结果是:吃到第0碗的时候,程序执行结束,打印出剩余的饭为0碗。未加同步可能出现的结果是:吃到第0碗的时候,有一个人以为还有饭可以吃,接着吃。结果就把剩余的饭吃出负数来了。未加...原创 2018-12-05 13:38:38 · 201 阅读 · 0 评论 -
java多线程-初探(一)
啥是多线程?跟进程又是啥关系? 比方说:我去洗手,洗完手去吃饭。进程(Processor)洗手跟吃饭是两个进程。线程(Thread)在洗手的进程里,我同时听歌,还唱歌。那这里洗手是一个进程,听歌跟唱歌是两个线程。在吃饭的进程里,我同时听歌,还唱歌。那这里吃饭是一个进程,听歌跟唱歌是两个线程。吃饭跟洗手两个进程之间的线程互不干扰,同个进程之间的线程存在锁、等待、唤醒等...原创 2018-12-04 13:49:23 · 291 阅读 · 0 评论 -
基站定位经纬度查询免费api接口-LBS数据仓库
接口地址:http://www.cellocation.com/interfac/#cell对你有帮助的话,右上角给个赞呗~原创 2018-12-04 10:42:18 · 10477 阅读 · 1 评论 -
Linux运行jar的三种方式(保活)
当我们使用SpringBoot的方式开发好了我们的应用,放到我们的Linux服务器上准备上线,首先想到的可能就是通过 java -jar xxx.jar 的方式来运行我们的jar包,程序运行正常,但是窗口被锁定,当我们关闭窗口或Ctrl + C打断程序运行时,程序就会退出,这肯定不是我们想要的,下面我介绍几种Linux下后台启动jar包的方法 优化方法一:java -jar xxx....转载 2018-10-26 17:10:08 · 1329 阅读 · 0 评论 -
java解析apk报错 Expected chunk of type 0x80003, read 0x80001.
业务需求:web页面上传一个apk,java后端读取apk信息展现。传统的读取apk方式:用zip解压读取AndroidManifest.xml中的配置信息。上述读取方式不能适用于所有市面上的apk,遇到某些金融类等等apk需要用aapt工具才能读取。 linux下无法使用aapt.exe读取方式,估附带Linux安装aapt教程。linux下载安装aapt工具 ...原创 2018-12-03 12:07:17 · 1857 阅读 · 0 评论 -
java在线反编译class文件
反编译网址:http://javare.cn对你有帮助的话,右上角给个赞呗~原创 2018-10-27 14:44:31 · 70958 阅读 · 11 评论 -
mybatis-generator自动生成相关代码
根据数据库表自动生成Mapper、xml、entity三个类,两个配置文件轻松搞定!generatorConfig.xml需要被Spring容器扫描,generator.properties跟generatorConfig.xml放在同级目录即可。 maven需要集成mybatis-generator插件<plugin> <groupId>org.myb...原创 2018-12-11 11:14:48 · 175 阅读 · 0 评论 -
jsp、freemarker、velocity、thymeleaf模板引擎优缺点
1、概述在java领域,表现层技术主要有三种, (1)jsp; (2)freemarker; (3)velocity; (4)thymeleaf; 2、jsp优点: 1、功能强大,可以写java代码 2、支持jsp标签(jsp tag) 3、支持表达式语言(el) 4、官方标准,用户群广,丰富的第三方jsp标签库 5、性能良好。jsp编译成class文件执行...转载 2018-12-14 10:28:02 · 6042 阅读 · 0 评论 -
java利用TOTP算法动态生成一次性密码
一、HOTP HOTP 算法,全称是“An HMAC-Based One-Time Password Algorithm”,是一种基于事件计数的一次性密码生成算法,详细的算法介绍可以查看 RFC 4226。其实算法本身非常简单,算法本身可以用两条简短的表达式描述:HOTP(K,C) = Truncate(HMAC-SHA-1(K,C))PWD(K,C,digit) = HOTP(K,...转载 2019-05-17 12:28:40 · 5825 阅读 · 2 评论 -
java利用sigar监控服务器cpu、内存等性能值
前言今天来了个需求,需要实时监控服务器cpu跟内存参数的占用百分比。还没开始前首要想到的是用java执行linux命令:cat /proc/meminfo这里面内存具体信息啥都有,查看cpu的话最常用的就是top+p。想了一通下来,这样做出来好恶心啊...sigar搜了一下性能监控方面的资料,看到一个sigar,我之前没接触过sigar,看很多博文都把这个牛逼吹天上去...原创 2019-05-16 10:01:16 · 5518 阅读 · 17 评论 -
java判断时间差年月日工具类
一、Java 时间比较需求1.A时间到B时间,相差多少年,月,日。如:2011-02-02到 2017-03-02,结果为:* 相差 6年,1个月,0天2.A时间到B时间, 相差年,月,日各是多少。如:2011-02-02到 2017-03-02,结果为:* 以年为单位相差为:6年* 以月为单位相差为:73个月* 以日为单位相差为:2220...转载 2019-05-15 09:59:52 · 2609 阅读 · 4 评论