Java
Java开发相关框架
ZHAIKEsir
这个作者很懒,什么都没留下…
展开
-
mysql数据库备份(mysqldump)
mysql数据库备份原创 2023-09-14 15:14:46 · 760 阅读 · 0 评论 -
postman实现发起请求前后使用js编码进行测试
点击右上角眼睛图标,然后可以自定义环境environment添加变量,或者直接添加变量至全局中。将responseBody返回结果进行解析或者直接存在环境变量中。这里定义了url后就可以在postman中使用。先点击add添加一个自定义的环境,然后选中。globals添加变量的方法与环境的一致;点击edit,定义当前环境中的变量。原创 2021-09-18 12:31:21 · 700 阅读 · 0 评论 -
Java文件导入接口多参数写法 (POST方法同时支持接收文件流和其他参数)
请求时需要指定参数类型 (Content Type),json的为 application/json , 文件流为 multipart/form-data。注解进行接收,因为在 post 方法中表单传输 json 格式默认视为字符串类型,接口无法映射对应实体类。使用表单方式进行传输,需要注意其他参数需要使用。原创 2023-02-22 09:53:47 · 5434 阅读 · 1 评论 -
freemarker导出word常用方法及说明 ( 转中文序号、递归填充数据、导入网络图片等)
可以直接将word另存为xml文件,然后打开就是xml标签样式的模板!!!注意保存的格式必须为Word XML文档格式原创 2021-12-09 19:52:23 · 1188 阅读 · 0 评论 -
Java 下载多个文件至内存并压缩文件包返回,无需保存至本地打包压缩
从其他服务器下载文件,将这些文件打包压缩后返回给浏览器。不想将文件下载到本地后在打包压缩,所以只用内存流。原创 2022-11-28 10:20:11 · 1222 阅读 · 0 评论 -
java.io.IOException: Stream closed【response.body().byteStream() 下载流多次使用问题解决】
在调用下载地址后返回 response 对象,直接对 response.body().byteStream() 操作报错。原创 2022-11-23 16:08:42 · 1112 阅读 · 0 评论 -
Java8 嵌套list集合按行去重
需要对比整行数据进行去重,数据存储结构为嵌套list。原创 2022-11-21 15:36:06 · 481 阅读 · 0 评论 -
【mybatis标签改造】java.sql.SQLException: ORA-01795: 列表中的最大表达式数为 1000
方案:最小改动方案,用or拼接多个in,效果 - - in() or in() or in()问题: 单次in最多支持1000个。原创 2022-11-15 11:15:30 · 340 阅读 · 0 评论 -
IDEA 一个本地服务同时启动多个端口,一个开发一个联调
【代码】IDEA 一个本地服务启用多个端口。原创 2022-09-28 14:28:41 · 614 阅读 · 0 评论 -
git 如何将新增或变更的代码忽略,不进行提交
git 如何将新增或变更的代码忽略,不进行提交原创 2022-09-08 11:39:11 · 663 阅读 · 0 评论 -
MYSQL - ORDER BY FIELD遇到null进行排序
COALESCE函数作用从左到右判断入参,返回第一个。使用COALESCE函数,将null转换为具体值。原创 2022-07-21 15:26:53 · 751 阅读 · 2 评论 -
maven仓库中已有的包在工程中却识别不到(IDEA)
在报错项目上右键,选择maven,选择reload重新加载即可。原创 2022-07-21 11:27:02 · 1304 阅读 · 0 评论 -
IDEA导入maven工程后无法识别
IDEA导入工程后,检索不到pom文件,手动去指明一下就好了,就可以识别为maven工程了弹出搜索,也可以使用快捷键点击添加maven配置文件选中顶级的pom文件,点击ok导入,即可识别为maven原创 2022-05-25 09:46:07 · 665 阅读 · 0 评论 -
IDEA中类或方法被调用,但显示灰色,点击显示 is never used的解决方法
问题IDEA中类或方法被调用,但显示灰色,点击显示 is never used原因:IDEA缓存导致的刷新缓存就好了原创 2022-05-25 09:39:46 · 8752 阅读 · 2 评论 -
MySQL或Oracle按照自定义顺序进行排序语法 ORDER BY
场景in查询,并且需要按照 IN 内元素的顺序进行显示 / 返回MySQL关键字 FIELDORDER BY FIELD( fieldId, 90, 89, 92, 91 )Oracle关键字 DECODE,并且需要指定顺序1,2,3,4…ORDER BY DECODE( FIELDID, 92, 1, 89, 2, 90, 3, 91, 4 )...原创 2022-05-23 15:59:26 · 1769 阅读 · 0 评论 -
Oracle查看表空间是否可以拓展及利用率
查看表是否可以拓展SELECT TABLESPACE_NAME, FILE_NAME, AUTOEXTENSIBLE FROM DBA_DATA_FILES;查看表空间SELECT A.TABLESPACE_NAME "表空间名", TOTAL / 1024 / 1024 "表空间大小单位M", FREE / 1024 / 1024 "表空间剩余大小单位M", (TOTAL - FREE) / 1024 / 1024 "表空间使用大小单位M",原创 2022-05-20 18:01:19 · 282 阅读 · 0 评论 -
git删除历史提交记录中的文件
git删除历史提交文件查看占用查找提交记录删除ref中的引用执行gc回收强制推送至远程由于项目中每次都会提交上去jar包,导致仓库体积越来越大,删除掉历史的没用的文件经过删除,仓库由 3.3G 变为 1.1G查看占用git rev-list --objects --all | git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' | sed -n 's/^blob //p' | sort --nu原创 2022-04-26 15:11:33 · 972 阅读 · 0 评论 -
AOP记录业务在分布式服务中的执行时间及异常信息
自定义注解标记环绕通知方法体@Documented@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD, ElementType.PARAMETER})public @interface XxxLogAOP { // 流程名称 String value() default "";}编写切面类在第一个调用的服务切面类中先去new一个新记录,后续服务均去做更新操作@Component@Aspect@S原创 2022-04-25 17:52:44 · 356 阅读 · 0 评论 -
jar包启动卡住WebApplicationContext : initialization 解决方法
方法:将$JAVA_HOME/jre/lib/security/Java.security内,将 securerandom.source 的内容改为file:/dev/./urandom 即可java -jar -Djava.security.egd=file:/dev/./urandomjava -Djava.security.egd=file:///dev/urandom -jar $jar_file原因:由于tomcat启动时产生随机数导致jvm阻塞,可能是多次启动原创 2022-04-24 18:05:06 · 1201 阅读 · 0 评论 -
mybatis使用标签批量插入或更新Oracle时出现ORA-01790(union)
mybatis使用标签批量插入或更新Oracle时出现ORA-01790(union)问题代码解决方法问题代码begin MERGE INTO data_risk_signal_detail drsd USING ( <foreach collection="list" item="module" index="index" separator="union"> SELECT #{module.meid, jdbcTyp原创 2022-04-02 09:38:56 · 1684 阅读 · 0 评论 -
Java仿造mybatisplus条件生成器实现 —— 构造器模式
Java构造器模式注解版本编码版本注解版本注解使用是Lombok包中的@Builder或者@Accessors(chain = true)@Builder该注解会在编译时将实体类编译为构造器模式,需要构造出builder后并返回内部的实体类@Accessors(chain = true)该注解与普通构造器模式不同,直接在实体类中链式调用set方法,比@Builder使用省略具体使用时看自己的需求,已知Lombok的部分注解会与其他jar包冲突编码版本编写一个相应的Builder类,该原创 2022-03-11 17:50:36 · 422 阅读 · 0 评论 -
Java实现log日志按照天存储(多种解决方法)
Java日志按照天存储(多种解决方法)代码样例Log4j日志按照天去存放Logback日志按照天去存放logback取代log4j的理由:代码样例https://gitee.com/ZHAIKEsir/logLog4j日志按照天去存放https://blog.csdn.net/csdnluolei/article/details/87696391LogbackLogback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch日志按照天去存放h原创 2022-03-07 16:37:24 · 1930 阅读 · 0 评论 -
WEB调用子服务接口
下载接口写在了子服务上,前端不可改变调用地址的情况下,解决办法重定向重定向,默认发送的get请求,直接让web重新调用返回的接口地址,最简便原创 2022-02-17 09:23:49 · 134 阅读 · 0 评论 -
拓展mybatisPlus实现类方法,批量插入时,唯一索引冲突后更新
package com.yscredit.fahai.util;import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;import com.baomidou.mybatisplus.core.metadata.TableFieldInfo;import com.baomidou.mybatisplus.co原创 2022-01-18 17:26:49 · 2475 阅读 · 0 评论 -
es-Java高级客户端api官方文档
官方文档:https://www.elastic.co/guide/en/elasticsearch/client/java-rest/6.2/java-rest-high-getting-started.html原创 2020-12-10 09:43:10 · 1610 阅读 · 0 评论 -
idea重置git使用的update project按钮
idea update project 的时候,勾选了下面的复选框,下次不会再提示:再次启用弹窗提示的方法,如图:勾选 update 复选框原创 2021-07-28 14:30:45 · 1603 阅读 · 0 评论 -
springboot项目升级为https协议,并且兼容http协议
springboot升级https协议实践1 取得证书2 将证书(pfx)放入项目resource目录下3 配置application.yml4 兼容http访问配置5 可能出现的问题6 证书类型与后缀辨别7 证书转换方法1 取得证书下载证书时选择tomcat方式2 将证书(pfx)放入项目resource目录下需要与application.yml同级3 配置application.ymlserver: port: 8443 ssl: key-store原创 2021-01-29 17:41:59 · 1618 阅读 · 0 评论 -
Java8中stream流的collectingAndThen方法应用实例
ds原创 2021-09-08 15:04:34 · 1166 阅读 · 0 评论 -
java.math.BigDecimal 比较大小
BigDecimal a = new BigDecimal (101);BigDecimal b = new BigDecimal (111); //使用compareTo方法比较//注意:a、b均不能为null,否则会报空指针if(a.compareTo(b) == -1){ System.out.println("a小于b");} if(a.compareTo(b) == 0){ System.out.println("a等于b");} if(a.compareTo转载 2021-04-09 16:38:24 · 465 阅读 · 0 评论 -
Java8使用stream处理集合
stream类处理集合1. 将集合类型进行一个转换(map)2. 过滤集合中符合条件的元素,并返回一个新集合(filter)3. 循环集合进行操作(forEach)简单的使用方法,是将list转为流进行处理1. 将集合类型进行一个转换(map)// 1.将对象包装为返回类List<User> dataList = UserMapper.selectList(null);List<UserVO> voList = dataList.stream().map(data ->原创 2021-07-26 15:33:39 · 3620 阅读 · 1 评论 -
linux配置springboot项目jvm监听端口
java -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.rmi.port=99 -Dcom.sun.management.jmxremote.port=99 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar原创 2021-03-05 10:17:46 · 460 阅读 · 2 评论 -
Java中String与Date类型互转
String转换成Date类型SimpleDateFormat format= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date date = format.parse("2019-09-19")Date转换成String类型SimpleDateFormat format= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String time = format.format(new Date());.原创 2021-09-04 17:31:50 · 141 阅读 · 0 评论 -
Java创建集合并放入一个元素
需要注意的是,下面6个方法返回的容器类均是immutable,即只读的,如果调用修改接口,将会抛UnsupportedOperationException1.List这个方法主要用于只有一个元素的优化,减少内存分配,无需分配额外的内存,可以从SingletonList内部类看得出来,由于只有一个element,因此可以做到内存分配最小化// 方法public static <T> List<T> singletonList(T o);//方法的调用示例List<S原创 2021-08-26 14:15:50 · 1293 阅读 · 0 评论 -
Java中不同集合类型区别
1.Map的区别2.Set的区别特性:不允许重复HashSet:无序不重复TreeSet:有序不重复3.ListList:有序(元素存入顺序),可重复LinkedList:链表,线程不安全 【CD速度较快(增、删)】LinkedList是采用链表的方式来实现的,它本身有自己特定的方法,如: addFirst(),addLast(),getFirst(),removeFirst()等。由于是采用链表实现的,因此在进行insert和remove动作时在效率上要比ArrayL原创 2021-09-04 22:02:05 · 133 阅读 · 0 评论 -
Java多线程 - 线程池常用容量设置
线程执行方式线程的执行是由CPU进行调度的,一个CPU在 同一时刻只会执行一个线程操作系统利用了时间片轮转的方式,CPU给每个任务都服务一定的时间,然后把当前任务的状态保存下来,再加载下一个任务的状态后,继续服务下一个任务。任务的保存及再加载的过程叫作 上下文切换 ,上下文切换会导致额外的开销线程池容量设置参考建议与cpu相关,如果是 不经常 使用的计算service推荐大容量进行优化// prod 4核cpu // 如果是CPU(计算)密集型应用,则线程池大小设置为N+1//原创 2021-11-12 17:36:02 · 917 阅读 · 0 评论 -
WebSocket服务无法使用自动注入解决方法
使用websocket时,无法在@ServerEndpoint声明的websocket服务器中通过@autowired自动注入。【解决方案】需要通过Spring 上下文来获取该对象错误方法,这样无法从容器中获取会产生空指针异常解决方法,使用上下文获取第一步:在WebSocketServer中,使用set方法传入上下文 /* * 提供一个spring context上下文(解决方案) */ private static ApplicationContex原创 2021-11-17 11:37:57 · 1927 阅读 · 2 评论 -
Java8按照指定大小切分list
// 指定大小 int maxNum = 100; // 切分次数 int step = (list.size() + maxNum - 1) / maxNum; List<List<String>> collectList = Stream.iterate(0, n -> n + 1) .limit(step) .parallel() .map( .原创 2021-11-26 11:06:37 · 1813 阅读 · 0 评论 -
阿里fastjson - JSONObject使用
String ----------JSONObject对象转换JSONObject jsonObject = JSONObject.parseObject(str);String str = JSONObject.toJSONString(obj);JSONObjecty一些常用方法put,向JSONObjecty中存放key-value类型getXXX,入参key取出对应数据类型的数据String code = jsonObject.getString("code");BigDecimal原创 2021-10-27 09:14:54 · 423 阅读 · 0 评论 -
Oracle中Number对应Java的类型
1. 如果不指定number的长度,或指定长度n>18id number not null,转换为java类时,为BigDecimal类型id number(n) not null,转换为java类时,为BigDecimal类型2. 如果number的长度在10 <= n <= 18id number(n) not null,转换为java类时,为Long类型3. 如果number的长度在1 <= n <= 9id number(n) not null,转换为j原创 2021-11-19 11:38:37 · 9926 阅读 · 0 评论 -
java8正确处理文件Files
需要使用 try-with-resources 语句来保证stream的close方法被调用,从而关闭打开的文件// try-with-resources语句,等同于try-catch-finallytry(Stream<String> stream = Files.lines(Paths.get(file))){ stream.collect(Collectors.toList());} catch (IOException e){ logger.error("get cont原创 2021-11-09 15:48:14 · 982 阅读 · 0 评论