java技术
GoodStudyAndDayDayUp
日日留心,事事留心
展开
-
文件二进制数组 base64相互转化
文件二进制数组 base64相互转化原创 2022-12-08 15:56:35 · 636 阅读 · 0 评论 -
stream实现多级group
stream实现多级group原创 2022-11-12 22:00:41 · 1288 阅读 · 0 评论 -
HashMap put get源码解析
hashmap put get 源码解析原创 2022-10-07 21:57:09 · 96 阅读 · 0 评论 -
replace()与replaceAll()的异同
replace()与replaceAll()的异同原创 2022-07-28 16:15:07 · 155 阅读 · 0 评论 -
自定义异常,返回异常信息
自定义异常,返回异常信息原创 2022-06-28 09:18:39 · 1460 阅读 · 0 评论 -
反射获取、修改属性的值
1. 获取属性的值private Object getAttributeByReflect(SKDCKDDto skdckd, String fieldName) { try { Field declaredField = skdckd.getClass().getDeclaredField(fieldName); declaredField.setAccessible(true); return declaredF原创 2022-05-30 08:43:49 · 294 阅读 · 1 评论 -
java使用日志
1. 开启添加成员private static final Logger LOGGER = LoggerFactory.getLogger(XxxController.class);2.使用LOGGER.info("before param is {}",param);...LOGGER.info("after param is {}",param);注释:不用添加依赖,spingboot 自带。import org.slf4j.Logger;import org.slf4j.L原创 2022-04-15 17:20:22 · 193 阅读 · 0 评论 -
springboot数据库和连接池配置
############################### DRUID数据源配置 start ################################spring: datasource: driver-class-name: org.postgresql.Driver druid: filter: slf4j: enabled: true stat: log-slow-sql: true原创 2022-04-02 11:19:00 · 4883 阅读 · 0 评论 -
Matcher 方法
matcher 方法总结下面这个测试能很好的体现 private static Pattern humpPattern = Pattern.compile("[A-Z]"); public static void main(String[] args) { String str="thisIsOneDog"; // 1. 使用匹配样式去匹配字符串,生成匹配对象 Matcher matcher = humpPattern.matcher(str原创 2022-04-01 16:57:32 · 1646 阅读 · 0 评论 -
adfs 登录逻辑
1. 登录按钮前端直接调用adfs api;2. adfs 回调adfs api 获取系统配置,然后调用系统中配置的 callBack api;3. 获取tokencallBack api 返回用户token 给前端;4. 获取资源前端调用 系统 userInfo api,获取资源和用户的权限;...原创 2022-04-01 10:52:57 · 513 阅读 · 0 评论 -
java 生成pdf
1. 生成 pdf 文件package com.lenovo.npi.datacenter.module.dashboard.helper;import com.itextpdf.text.Document;import com.itextpdf.text.DocumentException;import com.itextpdf.text.PageSize;import com.itextpdf.text.Paragraph;import com.itextpdf.text.pdf.PdfW原创 2022-01-11 20:43:39 · 907 阅读 · 0 评论 -
JVM配置
-server -Xmx5g // 最大堆内存-Xms5g // 初始堆内存-Xmn3g // 年轻代内存,推荐值为堆的3/8-Xss256k // 每个线程的堆栈大小-XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/mqmweb/logs -XX:ErrorFile=/usr/mqmweb/logs/jvm_error.log -DlogDir=/usr原创 2021-12-08 10:11:27 · 1818 阅读 · 0 评论 -
从线程池到多线程
1. 配置线程池import com.google.common.util.concurrent.ThreadFactoryBuilder;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import java.u原创 2021-06-07 09:29:07 · 170 阅读 · 0 评论 -
Java 对象重写equals
1 重写equals重写equals 之前 需要重写 hashCode() @Override public boolean equals(Object obj) { if (null == obj) { return false; } PssPlanInfo o = (PssPlanInfo)obj; if (date.equals(o)) { return true;原创 2021-04-08 20:41:26 · 324 阅读 · 0 评论 -
文件的上传、预览、下载配置
1. yaml 配置spring-boot-plus: # 是否启用ansi控制台输出有颜色的字体,local环境建议开启,服务器环境设置为false enable-ansi: false # 拦截器配置 interceptor-config: resource-config: include-path: ${spring-boot-plus.resource-access-patterns} # 文件上传下载配置:/opt/DocumentCenter/Qua原创 2021-04-07 14:37:27 · 269 阅读 · 0 评论 -
java 实现接口参数
/** * 定义一个 接口类 xxx ,用于调用PSSHeaderSelectService 接口的方法; */ public interface xxx { /** * yyy接口,用于具体调用 */ void yyy(PssHeaderSelectQuery query, Map<String, List<Map<String, Object>>> result, PSSHead...原创 2021-04-01 09:08:35 · 1166 阅读 · 0 评论 -
java util.date和sql.date
1. 遍历时间区间 /** * 1. 触发时获取当前时间点时间; * 2. 获取后3年的时间数据;(需要干掉当前时间之后的数据) * 3. 解析每一天的数据:日/周/月/季度/年/财年.../假期,封装list; * 4. 批量新增list * * @author: leiming5 */ private void handle() { Date startDate = new Date();原创 2021-02-27 17:04:43 · 250 阅读 · 0 评论 -
java通常需要的技术
项目中通常需要的服务,从端口号可以看出原创 2021-01-25 17:06:37 · 125 阅读 · 0 评论 -
elasticsearchTemplate 根据id主键进行操作
代码罗列如下 /** * 根据ID批量查询数据 * * @param index 数据所在索引 * @param ids id清单 * @author: leiming5 */ @Override public List<ProcessEsVo> queryBatch(String index, List<String> ids) { Client client = elasti原创 2020-12-16 10:05:16 · 2994 阅读 · 1 评论 -
Url字符串实现post/get/delete
1 直接通过Url字符串实现post/get/delete连接package com.lenovo.cd.mf.authcenter.util;import org.springframework.stereotype.Component;import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.HttpURLConnection;imp原创 2020-09-18 17:33:00 · 522 阅读 · 0 评论 -
java jdk structure中符号的含义
我们在研究jdk的时候一定会看到,很多符号,具体啥意思,一番研究总结如下:1 class\method\field\interfacec:class缩写m:method 缩写f:field缩写i:interface缩写2 public\private\default(无修饰符)\protect绿色锁:public小圆圈:default红色锁:private灰色钥匙:protect3 final\static\File is read-only(整个文件只读)左上角符号:f原创 2020-05-18 11:43:53 · 1519 阅读 · 0 评论 -
HashMap_get方法实现解析
1 get() /** * Returns the value to which the specified key is mapped, * or {@code null} if this map contains no mapping for the key. * * <p>More formally, if this map contains a mapping from a key * {@code k} to a value {原创 2020-05-17 23:23:54 · 1308 阅读 · 0 评论 -
arrayList 的底层实现疑问解析
1.arrayList类的结构和设计理念2.modCount 数结构操作次数3.实际使用的list和他的底层数组4.arrayList类中继承的类有哪些?各有哪些实现和功能?5.arrayList类中实现的接口有哪些?各有哪些实现和功能?持续更新中。。。...原创 2020-03-26 09:15:34 · 963 阅读 · 0 评论 -
mysql group by的坑
场景查询 最大version的数据id,version,tenant为联合主键错误查询select max(version) version, id, tenant,type, name, format, default_value, multi_line, max_length, min_length, formula from imcs_field_string_definiti...原创 2020-03-19 18:08:05 · 1862 阅读 · 0 评论 -
集合框架解析和遍历性能比较
场景面试通常会问到关于集合框架的问题,总结如下:1 arrayList与LinkedList 都实现了哪些接口?及实现后的意义?1)ArrayList,继承AbstractList类,并且实现了List,RandomAccess,Clonable,Serializable四个接口。LinkedList,继承AbstractSequentialList类,并且实现了List,Deque,C...原创 2020-03-17 20:57:37 · 860 阅读 · 0 评论 -
删除数据同步数据
前言:最近在导数据,现需要重新导,设计三种数据库,sqlserver、mysql、mongodb,需要将将sqlserver中数据转文档保存导mongodb,mysql保存原始数据和文档的关系。1.删除数据场景一,导入数据异常,数据有错误,需要删除后重新导;1.1查询数据是否存在//db.formData.find({"_id":NumberLong("12158357240966062...原创 2020-01-11 12:08:52 · 855 阅读 · 0 评论 -
springBoot创建一个简单的定时任务
前言:常用手段1.代码如下import cn.cncommdata.schedule.service.IXFScheduleService;import org.springframework.beans.factory.annotation.Value;import org.springframework.scheduling.annotation.EnableScheduling;...原创 2020-01-10 20:04:00 · 533 阅读 · 0 评论 -
java直接使用url和参数调用第三方接口
前言:我们现在通常都是微服务,可以直接使用client,通过feign调用别的服务的接口,还有一种原始的方法:1.核心工具import org.springframework.stereotype.Component;import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.Print...原创 2020-01-10 19:37:36 · 2344 阅读 · 0 评论 -
Could not find value method on SQL annotation. Cause: org.apache.ibatis.builder.BuilderException:
前言:许久没有使用mysql,报此错,解决后记录1.原因一:xml中的sql语句,没有使用mybatis正确的符号;< < 小于号 <= 和<=的表示是一个意思> > 大于号& & 和' ’ 单引号&qu...原创 2020-01-10 19:19:59 · 3913 阅读 · 0 评论 -
redis 2.9.0实现分布式锁
1.前言最近看到一个很有意思的分布式锁实现方式,不同于传统操作,诸君共享;2.获取锁public class RedisTool { private static final String LOCK_SUCCESS = "OK"; private static final String SET_IF_NOT_EXIST = "NX"; private static ...原创 2020-01-06 17:18:09 · 697 阅读 · 2 评论 -
springBoot之网络请求配置
前言接口写好了,微服务间的调用,经常发现连接超时,传输大文件的时候无法连接等等问题。总结如下:1.调用第三方接口等待超时配置spring: mvc: async: request-timeout: 300002. feign连接超时配置feign: hystrix: enabled: false client: config: ...原创 2020-01-02 15:43:02 · 1641 阅读 · 0 评论 -
mongodb手写原生sql
1.前言navicat 筛选功能有许多限制,很多时候需要手写sql,直接查询需要的数据;现总结如下:2.简单查询db.formData.find({"_id":NumberLong("1210387935069868032")})3.排序和分页db.getCollection("formDataApproval").find({"form_data_id" : NumberLong...原创 2019-12-31 17:39:37 · 1444 阅读 · 0 评论 -
Easy Excel全家桶
1.导包 <!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel --> <dependency> <groupId>com.alibaba</groupId> <artifactId>ea...原创 2019-12-17 09:51:44 · 698 阅读 · 0 评论 -
RabbitMQ全家桶
1.概念2.与其他MQ对比的优势3.与其他MQ对比的劣势4.docker 安装4.1将下面的xxxxxxxxxxx替换为你拉取镜像生成的IDdocker pull rabbitmq:3.7.7-managementdocker run -d --name rabbitmq3.7.7 -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/...原创 2019-11-06 18:24:51 · 356 阅读 · 0 评论 -
fastDFS全家桶
前言:fastDFS是一个使用十分广泛的分布式文件存储系统内,很多公司都在用它。有幸我的业务中也涉及到,从开始的研究到后来的使用,中间踩过许多坑,现将我的经验总结,便于大家和我以后查阅,防止踩坑。1. docker 安装fastDFS只需要将下面的111.111.111.111替换为你的服务器的IP即可,其他都不要动。docker pull delron/fastdfsdocker r...原创 2019-11-06 13:15:05 · 981 阅读 · 1 评论 -
springBoot 项目排除数据库启动
1. 场景在家里运行项目,运行springBoot的时候报数据库连接不了,公司的数据库家里不能连接。2. 配置2.1 保留之前的properties 配置不注释;2.2 在启动类中添加, exclude = {DataSourceAutoConfiguration.class}package cn.cncommdata.file;import org.mybatis.spring....原创 2019-11-06 12:06:43 · 12920 阅读 · 2 评论 -
手写数组二分排序
1. 需求对数组进行升排序 public static void main(String[] args) { TestController controller = new TestController(); long t = System.currentTimeMillis(); int[] a = {5, 6, 3, 2, 9, 1...原创 2019-11-05 09:18:21 · 747 阅读 · 0 评论 -
redis实战、应用场景、操作方法、面试题
redis最新理解、使用场景、使用手段、面试题1.主要问题1.1什么是redis?1.2redis能够存储什么数据?存储量如何?1.3redis的优点?redis为什么快?1.4redis的缺点?如何解决?1.5redis 能不能用作一般网络系统的主数据库?存在有那些问题?如何解决?2.应用场景2.1...原创 2019-10-24 12:47:51 · 1383 阅读 · 0 评论 -
java两个set取并集之坑
1.业务场景需要获取两个set(set1、set2)的并集,去重;2.错误操作3.正确操作原创 2019-10-24 11:54:45 · 1959 阅读 · 1 评论 -
新建一个简单springBoot项目
1. 项目1.1 打开IDEAIDEA >File>new==>project ==>springInitializar1.2 连续点击三个nextnext==>next==>next1.3 finish注意:2. 配置一个简单的controller2.1端口号server.port=90902.2pom 添加依赖 <...原创 2019-10-23 13:44:19 · 535 阅读 · 0 评论