- 博客(95)
- 资源 (6)
- 收藏
- 关注
原创 springboot 日志配置
<?xml version="1.0" encoding="UTF-8"?><configuration> <property name="log.directory" value="logs/" /> <property name="log.context.name" value="epape
2021-11-06 11:36:26 176
原创 google aviator:Java逻辑公式引擎
背景在我们的业务场景中有一个需求,我们有一个配置功能,该功能需要配置两个变量之间比较大小。使用tab比较难表达,所以就提出了,可以让用户写比较简单的函数进行配置。或者选tab进行选择(前段直接将对应的tab字符串拼接来给后端执行)。或者这么说吧,可以通过字符串的表达的意思,进行执行这个字符串的索要表达的逻辑,且这个逻辑和这个字符串可以自定义。Aviator简介Aviator是一个高性能、轻量级的java语言实现的表达式求值引擎,主要用于各种表达式的动态求值。现在已经有很多开源可用的jav
2021-03-25 16:33:15 1742
原创 mybatis trim 简单使用
1.<trim prefix="" suffix="" suffixOverrides="" prefixOverrides=""></trim>prefix:在trim标签内sql语句加上前缀。suffix:在trim标签内sql语句加上后缀。suffixOverrides:指定去除多余的后缀内容,如:suffixOverrides=",",去除trim标签内sql语句多余的后缀","。prefixOverrides:指定去除多余的前缀内容例如:..
2020-11-19 10:56:34 839
原创 视频图像处理 ffmpeg 使用
java ffmpeg 使用示例private void outputMp4() { String fileName = UUID.randomUUID().toString().replaceAll("-", "") + ".mp4"; log.info("录屏文件上传到文件服务器开始,文件名:{}", fileName); try { BufferedImage img = ImageIO.read(videos.get(0)
2020-10-28 13:04:57 688
原创 做自动化项目的感想
自动化 顾名思义 就是模拟用户的操作, 可能有误,但在软件层面上就是这样, 不然怎么算自动化,简而易见,就是不通过用户的手,而由程序去进行模拟用户的操作。 现在我们用的还是web端的, 用了selenium grid, selenium grid 是一个简单的一个实现调用不同浏览器进行网站的操作, 普通的有通过 xpath 定位, ID标签定位等。 编辑好操作的步骤,调用浏览器进行模拟用户操作,完成一序列的测试。主用用于 测试,由机器根据操作步骤进行操作,完成一序列的操作。...
2020-09-10 15:54:23 167
原创 IDEA 如何在本地【一台机子】启动多个实例
Allow parallel run 允许并行运行 把这搞上,启动时更改不同的端口就可以 实现多个实例 同时运行了!
2020-03-25 19:05:29 660
原创 Java 中的MyBatis之java.lang.UnsupportedOperationException异常解决方案
这个异常放在mybatis xml上,就是返回类型没有对应上今天在使用MyBatis执行sql语句时,出现如下异常:执行的sql语句配置信息如下:<select id="getNameByCodition" parameterType="String" resultType="Java.util.List">select t.product_name from ...
2019-12-31 15:56:26 1777 1
原创 如何将MySQL 添加数据后 将 自增 重置为1
1、问题背景一张数据库表设置主键id为自增长,表里添加数据后删除了,id还是从之前的值开始增长,而不是从1开始自增长。该如何让id重新从1开始自增2、实现命令(1)利用alterUSE book;DELETEFROM t_books_author; ALTER TABLE t_books_author auto_increment = 1;(2)tr...
2019-11-26 09:52:29 505
转载 Java Stream 流基本介绍
Stream系列:Java 8系列之Stream的基本语法详解Java 8系列之Stream的强大工具CollectorJava 8系列之重构和定制收集器Java 8系列之Stream中万能的reduce概述继Java 8系列之Lambda表达式之后,我们来了解Stream。Stream 是用函数式编程方式在集合类上进行复杂操作的工具,其集成了Java 8中的众多新特性之一的聚合操...
2019-11-24 20:17:48 210
转载 JVM 类加载面试题详解
面试题带着问题学习是最高效的,本次我们将尝试回答以下问题:什么是类的加载? 哪些情况会触发类的加载? 讲一下JVM加载一个类的过程 什么时候会为变量分配内存? JVM的类加载机制是什么? 双亲委派机制可以打破吗?为什么答案放在文章的最后,来不及看原理也可以直接跳到最后直接看答案。深入原理类的生命周期类的生命周期相信大家已经耳熟能详,就像下面这样:不过这东西总...
2019-11-20 17:03:16 165
原创 MyBatis-Plus 查询踩的坑
1、判断一个字段是否为空,并作为条件进行查询时 一开始我是写成了LambdaQueryWrapper<ProductCatalog> lambda = new LambdaQueryWrapper<>();if(StringUtils.isBlank(productCatalog.getParentBIds)){ lambda.in(Prod...
2019-11-20 16:56:17 3775
转载 淘宝双11,亿级流量高并发是怎么抗住的?看完这篇你就明白了!
1. 概述本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。2. 基本概念在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍:分布式 系统中的多个模块在不同服务器上部署,即可称为分布式系统,如To...
2019-11-14 16:56:35 1268
原创 连接远程mysql数据库失败常见原因及解决办法
1. 没有开启 MySQL 的远程登陆帐号。1、设置mysql的用户权限若想myuser使用mypassword从任何主机连接到mysql服务器mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;若想仅允许用户myuser从ip为 1...
2019-11-13 17:03:27 1815
原创 springboot 国际化
1、在项目下新增个资源文件2、文件内容:3、在配置文件application.yml上加上资源路径messages: # 定义国际化文件的文件地址,读取的原则是顺序读取如果存在同名的则读取第一个 basename: i18n/supplier encoding: UTF-84、添加两个Java工具类(放在当前文件下),全局读取前端传来的选择...
2019-11-12 17:01:12 233
原创 Java List 去重的方法
最近项目中需要对list集合中的重复值进行处理,大部分是采用两种方法,一种是用遍历list集合判断后赋给另一个list集合,一种是用赋给set集合再返回给list集合。但是赋给set集合后,由于set集合是无序的,原先的顺序就打乱了。所以我又想着能不能用set的特性进行去重又不打乱顺序呢?试了一下,也是可以的,几种方法在不同情况下都有各自的优势。现在将代码写出来,比较一下。//set集...
2019-11-12 16:04:18 2501 3
原创 阿里巴巴部署插件
在idea可以搜索安装Alibaba CloudToolKit,进行安装使用需要自己写好线上运行脚本,在idea上运用插件,进行部署使用,配置方面如下要注意点①:线上服务器的IP要先搞好,部署好自己的系统,指定上传的jar到那个目录下 ...
2019-09-26 10:52:57 712
原创 工具类的寻找
我最近在网上找了下各种工具类,发现很多工具类,其中有个工具类还是可以的!HuTool工具类,包含了各种Java的代码方法的封装,只需引用进来,就可以使用调用,十分方便,感觉省了很多重复造轮子的时间极大的提高了开发效率,不过对于新手还是尝试自己写哈,能提高自己对代码的熟练度,而不至于太依赖于外部引用的工具类,毕竟还是要提升下自己在代码上的运用!最后附上该工具类的地址:http://h...
2019-09-26 10:35:43 148
原创 Nginx反向代理和负载均衡
什么是反向代理?说到反向代理,大家一般都会提一下:正向代理,正向代理就是代理,比如我们写爬虫的时候IP被封、Google的时候404,这个时候我们都会用到代理,你可以把代理理解成一个跳板,我们的电脑不能访问Google,那我们就去访问能访问Google的服务器,一般我都是在这两种情况下使用代理,可能有更高深的用法,具体我也没用过。 说完代理,就来说一下我们今天的主角--反向代理定义反向...
2019-05-17 18:58:57 162
原创 JAVA中几种常用JSON库性能比较
JSON类库比较本篇通过JMH来测试一下Java中几种常见的JSON解析库的性能。每次都在网上看到别人说什么某某库性能是如何如何的好,碾压其他的库。但是百闻不如一见,只有自己亲手测试过的才是最值得相信的。JSON不管是在Web开发还是服务器开发中是相当常见的数据传输格式,一般情况我们对于JSON解析构造的性能并不需要过于关心,除非是在性能要求比较高的系统。目前对于Java开源的...
2019-05-16 19:49:47 871
原创 tk-mybatis 的简单使用
tkmybatis是在mybatis框架的基础上提供了很多工具,让开发更加高效,下面来看看这个框架的基本使用,后面会对相关源码进行分析,感兴趣的同学可以看一下,挺不错的一个工具实现对员工表的增删改查的代码java的dao层接口public interface WorkerMapper extends Mapper<Worker> {}实体对象@Table(n...
2019-05-16 14:00:23 2507
原创 IDEA中使用阿里巴巴规约插件检查代码
本规约是java开发神奇插件,可以实时的检查代码的规范程度,也可以检查已经写好的项目中存在步不规范的代码的次数。由于我们公司使用的IDEA开发,所以这里仅仅讲述IDEA的安装一级使用方法,eclipse或者Myeclipse也可以,但是这里不做赘述。打开IDEA的Preferences->plugins->Browe repositories,然后搜索Alibaba Java ...
2019-05-15 20:23:06 2141
原创 OffsetDateTime 设置时间格式
import java.time.LocalDateTime;import java.time.OffsetDateTime;import java.time.ZoneOffset;import java.time.format.DateTimeFormatter; import org.apache.commons.lang3.StringUtils; /** * Offset...
2019-05-09 14:49:25 7786
原创 MyBatis-Plus 简单的查询操作
是对MyBatis-Plus的功能进行简单介绍,虽然是介绍,也让我们领略到他的优雅与强大。你是不是已经被吸引了?别着急,上一节,我们算是参观了MyBatis的风景,这一节,我将带你领略他独特的魅力。Lambda官方表示,3.x支持Lambda表达式,那应该怎么使用呢?我们来看个例子:QueryWrapper<Student> queryWrapper = new Q...
2019-05-08 20:56:14 43563 4
原创 JAVA 中15 种锁介绍
1、公平锁/非公平锁2、可重入锁/不可重入锁3、独享锁/共享锁4、互斥锁/读写锁5、乐观锁/悲观锁6、分段锁7、偏向锁/轻量级锁/重量级锁8、自旋锁上面很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的特性,有的指锁的设计,下面总结内容对每个锁的名词进行一定的解释.公平锁/非公平锁公平锁公平锁是指多个线程按照申请锁...
2019-04-29 15:23:49 142
转载 mysql中存储时间类型的选择
一般应用中,我们用timestamp,datetime,int类型来存储时间格式:int(对应javaBean中的Integer或int)1. 占用4个字节2. 建立索引之后,查询速度快3. 条件范围搜索可以使用使用between4. 不能使用mysql提供的时间函数结论:适合需要进行大量时间范围查询的数据表datetime(javaBean中用Date类型)1. 占用8个...
2019-04-29 09:33:26 1900
转载 【POI框架实战】——POI导出Excel时设置单元格类型为数值类型
背 景 最近做的一个ITFIN的项目中,后台需要用POI实现导出功能,导出的数据中有文本格式,也有货币格式,所以为了方便在将来导出的表格中做计算,存放货币的单元格需要设置为数值类型。 导出的Excel的单元格都是文本格式(单元格左上角有个小三角): 费了不少功夫,终于把“小三角”去掉了,这里总结并分享一下问题的解决方法。 通过poi导出excel的过程大致是这样的:...
2019-04-17 15:43:54 9215 5
原创 POI导出Excel,xls与xlsx需要注意的地方
导出xlsx文件:response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");response.addHeader("Content-Disposition","attachment;filename=fileName"+".xlsx");创建工作...
2019-04-17 15:19:50 2031
原创 JAVA如何实现图片批量下载
现在我有个业务场景,就是需要把多张图片一起下载下来,怎么弄我的思路是将数组存储多张图片,用文件流的方式打包成压缩文件。 @GetMapping("/user/download/image") @ApiOperation(value = "图片资料下载", notes = "传入下载用户id") public void download(@RequestParam...
2019-04-04 16:57:19 2958 1
原创 easyui datagrid 数据为空时清除数据
方法一:$('#list-lsData').datagrid('loadData', { total: 0, rows: [] }); 使用这种方式清空 但是如果你的方法中存在 onloadSuccess方法时有给出提示 则不能使用负责会弹出两次 方法二: /*清除数据表格中的数据*/ function clearDataGrid(){ //获取当前页的记录数 var...
2018-12-27 19:38:00 1117
原创 springmvc 配置定时任务,cron表达式
xmlns:task="http://www.springframework.org/schema/task" http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.0.xsd<!-- task任务扫描注解 --> ...
2018-11-22 00:13:16 904
原创 Intellij IDEA 上显示Run Dashboard 视图
一般有时候创建springboot项目的时候右下角可以提示你打开Run Dashboard但是如果不提醒就需要自己配置了。找到项目中.idea文件下的件下的workspace.xml 打开 接下来找到<component name="RunDashboard">代码中加入<option name="configurationTypes"> <set&g...
2018-11-15 14:44:24 1459
原创 springcloud中feign访问其他服务并传参数出现错误的问题status 405
status 405 reading LogisticsOrderService#getLogistics(Integer,String,Integer,Integer) 当使用feign传参数的时候,需要加上@RequestParam注解,否则对方服务无法识别参数; @GetMapping("/order/getLogistics") public ResponseObj ...
2018-11-08 14:42:31 2938
原创 【java】树结构在实际中的应用:菜单树,权限树分析
实际应用中的树结构树结构分析要说树结构中最具美感的应该是二叉树了,但是实际中更多的是n叉树。 我们拿菜单树为例子。 无论是二叉树还是n叉树,每个结点至多有一个父节点,但是可以有0到n个分支。 没有父节点的那个叫做根节点,没有分叉的那个叫做叶子节点。对应到菜单树中那么一级菜单项显然就是根节点,最后一级菜单项就是叶子节点。根据OOP思想,我们需要把结点封装为一个类。既然要体现出父子结...
2018-11-01 19:15:07 517
原创 nat123 可用 80端口 开发自己的公众号啦
1.下载一个外网映射工具nat123并安装 官方网站: http://www.nat123.com/2.下载通tomcat,访问:http://tomcat.apache.org/,download下的tomcat8.0,下载windows下载zip格式,linux下载3.更改tomcat的conf文件夹下文件server.xml(1).<Connecto...
2018-10-27 11:53:32 1228
原创 idea 常用快捷键使用
快捷键 作用 Ctrl + Y 删除一行 Ctrl + D 复制一行 Ctrl + Alt + L 格式化 Ctrl + Alt + O 导包 Alt + Insert(可修改) New菜单\代码生成菜单(生成getter和setter,maven依赖等) Ctrl + / 注释 Ctrl + Shift + / 多...
2018-10-25 23:19:45 498
原创 mysql 使用union ALL出现乱码
类型不同时会出现乱码我的是在Java中 导出的一个功能,我把表字段表头 用中文去union all 出来所需要的数据但发现导出的时候 ,表头中文出现乱码原因是我 有个是数字型的decimal 类型, 而表头是varchar类型的中文字符。 解决:CONVERT(sum(a.out_number),CHAR) out_number 数字类型转化为char ...
2018-10-20 22:07:19 1471
转载 消息队列之 RabbitMQ
消息队列之 RabbitMQ关于消息队列,从前年开始断断续续看了些资料,想写很久了,但一直没腾出空,近来分别碰到几个朋友聊这块的技术选型,是时候把这块的知识整理记录一下了。市面上的消息队列产品有很多,比如老牌的 ActiveMQ、RabbitMQ ,目前我看最火的 Kafka ,还有 ZeroMQ ,去年底阿里巴巴捐赠给 Apache 的 RocketMQ ,连 redis 这样的 ...
2018-10-15 23:24:05 191
转载 Java Integer(-128~127)值的==和equals比较产生的思考
java中有两种类型基本类型基本数据类类型存的是数值本身引用类型引用类型变量在内存放的是数据的引用基本类型通过==比较的是他们的值大小,而引用类型比较的是他们的引用地址正文在一些特殊的类中,如Integer在使用==比较的时候往往非常容易出错,下面通过几个例子来探索一下具体的原理代码片段public class Test03 { public static ...
2018-10-13 10:56:21 1127
原创 iview 实现省市级联效果
HTML部分 <template> <Form ref="formValidate" :model="formValidate" :rules="ruleValidate"> <FormItem prop="province" label="省份"> <S
2018-10-10 22:03:11 4725
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人