- 博客(38)
- 资源 (12)
- 收藏
- 关注
原创 解决SpringBoot2.6.x和Swagger2冲突
解决SpringBoot2.6.x和Swagger2冲突。补充BeanPostProcessor。
2024-07-31 16:27:36 121
原创 JSON对象与java对象互相转换工具类示例
import com.fasterxml.jackson.annotation.JsonInclude;import com.fasterxml.jackson.databind.DeserializationFeature;import com.fasterxml.jackson.databind.ObjectMapper;import com.fasterxml.jackson.databind.SerializationFeature;import lombok.SneakyThrows;i
2021-12-21 13:33:52 298
原创 forkjoin使用
static class StockTypeForkJoinTask extends RecursiveTask<List<StoreProducts>> { private Integer size; private List<StoreProducts> storeProductsList; private RedisTemplate redisTemplate; private static .
2021-03-23 10:00:50 98
原创 关于JAVA对象大小问题
对象内存中可以分为三块区域:对象头(Header),实例数据(Instance Data)和对齐填充(Padding),以64位操作系统为例(未开启指针压缩的情况)Java对象布局如下图所示:以64位操作系统为例,new Object()占用大小分为两种情况:未开启指针压缩 占用大小为:8(Mark Word)+8(Class Pointer)=16字节开启了指针压缩(默认是开启的) 开启指针压缩后,Class Pointer会被压缩为4字节,最终大小为:8(Mark Wo
2021-03-08 10:39:29 175
原创 自定义springboot starter
starter背景Spring Boot目前已经变成了后端开发这必备技能之一,其中一个主要原因是Spring Boot中有个非常重要的机制(starter机制)。starter能够抛弃以前繁杂的配置,将其统一集成进starter,使用的时候只需要在maven中引入对应的starter依赖即可,Spring Boot就能自动扫描到要加载的信息并启动相应的默认配置。starter让我们摆脱了各种依赖库的处理,以及各种配置信息的烦恼。SpringBoot会自动通过classpath路径下的类发现需要的Bea
2021-02-25 11:33:24 88
原创 JDK8 Optional使用示例
public class OptionalTest { public static void main(String[] args) { Person person = new Person("zhangsan1", 18); String name = getName(person); System.out.println(name); } private static String getName(Person person) {
2021-02-25 10:37:16 75
原创 Java压缩效率优化思路
昨天微信公众号上看到了一篇《Java压缩20M文件从30秒到1秒的优化过程》的文章,记录一下,最后作者的感悟,受教了。可以关注一下原文章链接我没找到(太懒了),加公众号自己去找吧。不废话,直接上代码package com.test;import java.io.*;import java.nio.channels.Channels;import java.nio.channels.FileChannel;import java.nio.channels.WritableByteChann
2020-11-13 17:06:38 1061
原创 基于JSR303参数验证-demo
参考大佬们写的案例,简单做了一个demo,基于JSR303的参数验证,代码包含@NotNull与验证group的基础使用以及自定义的验证的使用代码如下启动类import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;/** * @Description: * @Author YDH * @Date 2020/10/1
2020-11-13 16:03:44 104
原创 git rebase 使用
git因为种种原因多次提交之后,通过push推送代码会出现如下情况点击push会将多次提交的tag推送到分支上,可以在push之前使用rebase命令合并多次commit在命令窗口输入命令 git log 如下,可以看到提交的日志以及版本号现在开始合并test3 与test2 的commit,有两种方式,一种通过HEAD合并,另一种通过commitid合并。已HEAD合并为例子输入命令 git rebase -i HEAD~2HEAD~2 代表合并最近两次的提交。截图如下:蓝色框中为待编
2020-10-30 18:01:12 223
原创 包的内聚性三原则、包的耦合性原则
一、包的内聚性三原则:原则用途:用来指导软件开发者如何将类合理的划分到相应的包中。前提条件:我们已经设计好了一些类,并且它们之间的相互关系也基本明确。由此可见,类的设计先于包的设计,实际开发中我们确实是采用“自底向上”的方式设计和规划包的。(1)重用发布等价原则 REP(Reuse-Release Equivalence Principles) 任何一个开发者都知道,我们对源代码的重用必须是基于包的,如果那个人说某个单独的类可以重用,那完全是外行人说的。 可重用的包必须包含可重用的类。(2
2020-10-21 16:29:14 1485
原创 MessageFormat日常使用
先来一波代码public class MessageFormatTest { public static void main(String[] args) { //ArgumentIndex必须是非负整数,它的个数不只限于0到9这10个,它可以用0到9的数字组成,因此可以有好多个, String msg = "{0}{1}{2}{3}{4}{5}{6}{7}{8}"; Object [] array = new Object[]{"A","B",
2020-09-18 09:39:58 273
原创 MDC使用
MDC(Mapped Diagnostic Contexts)映射诊断上下文,主要用在做日志链路跟踪时,动态配置用户自定义的一些信息,比如requreqiestId、sessionId等等。MDC使用的容器支持多线程操作,满足线程安全。使用示例:此处示例为请求日志拦截中的设置requreqiestIdpublic Object aroundReq(ProceedingJoinPoint joinPoint) throws Throwable { MethodSignature meth
2020-09-17 18:53:28 340
原创 @Autowired 注解用在方法与属性上区别
@Autowired 注解实现依赖注入的以上两种实现方式的区别:当将 @Autowired 注解直接写在成员变量上时,即使设定该成员变量的访问权限为private,那么也会自动将其改变成public;而将 @Autowired 注解写在成员变量的 setter 方法上则不会出现此问题。参考:https://blog.csdn.net/GavinLi2588/article/details/103483634...
2020-09-16 17:21:19 2288
原创 来一波hystrix常用配置
Hystrix 默认加载的配置文件 - 限流、 熔断示例线程池大小hystrix.threadpool.default.coreSize=1缓冲区大小, 如果为-1,则不缓冲,直接进行降级 fallbackhystrix.threadpool.default.maxQueueSize=200缓冲区大小超限的阈值,超限就直接降级hystrix.threadpool.default.queueSizeRejectionThreshold=2执行策略资源隔离模式,默认thread。 还有一种叫信号
2020-08-28 17:19:15 1152
原创 虚拟机(Please umount the filesystem and rectify the problem(s))记录
背景本地虚拟机因为断电重启之后,启动异常,报错:Please umount the filesystem and rectify the problem(s) 。。。。。Generating “/run/initramfs/rdsosreport.txt”。。。修复步骤:1、输入命令:ls -l /dev/mapper2、再输入:xfs_repair /dev/dm-03、输入命令:xfs_repair -L /dev/dm-04、最后进行重启:init 6 等价于 reboot...
2020-08-25 10:55:41 1357 2
原创 oracle 查询sql记录及command_type对应表
SELECT a.machine,c.username,a.program,b.sql_text,b.sql_idFROM dba_hist_active_sess_history aJOIN dba_hist_sqltext bON a.sql_id = b.sql_idJOIN dba_users cON a.user_id = c.user_idWHERE b.command_type = ‘15’ORDER BY a.sample_time DESC;/*参照Command_
2020-08-24 09:49:01 1122
原创 spring ioc继承与java对象继承的区别
Spring 中的子类 Bean 和父 Bean 可以是不同类型 , 但是 Java 中的继承则可保证子类是一种特殊的父类 ;Spring 中 Bean 的继承时实例之间的关系 , 因此主要表现为参数值的延续 ; 而 Java 中的继承是类之间的关系 , 主要表现为方法和属性的延续 ;Spring 中的子 Bean 不可作为父 Bean 使用 , 不具备多态性 ; 而 Java 中的子类实例完全可以当成父类实例来使用 ....
2020-08-20 21:36:12 165
原创 http远程调用,接收响应BufferedReader与ByteArrayOutputStream区别
通过BufferedReader接收响应丢失响应结果中的换行符\n,举例如下http预期响应:0SECTION2HEADER9通过BufferedReader解析代码如下 BufferedReader in = new BufferedReader( new InputStreamReader(conn.getInputStream(), "utf-8" )); while ((line = in. readLine()) != null) { result += lin
2020-05-11 14:41:59 986
原创 Spring 事务的传递性介绍-概念
一: Spring 事务的传递性介绍事务传播行为,所谓事务的传播行为是指,如果在开始当前事务之前,一个事务上下文已经存在,此时有若干选项可以指定一个事务性方法的执行行为。在TransactionDefinition定义中包括了如下几个表示传播行为的常量:TransactionDefinition.PROPAGATION_REQUIRED:如果当前存在事务,则加入该事务;如果当前没有事务,则创...
2020-04-27 20:56:24 493
原创 docker-compose构建zookeeper集群
docker-compose:(3.5版本zookeeper)version: '2'services: zoo1: image: zookeeper restart: always ports: - "2181:2181" volumes: - /usr/zookeeper...
2020-04-22 10:58:27 108
转载 NewProxyResultSet.isClosed()Z is abstract
使用c3p0异常:NewProxyResultSet.isClosed()Z is abstract异常之前是 c3p0 c3p0 0.9.1.2 修改成 com.mchange c3p0 0.9.5.2
2019-04-30 10:35:00 954 1
原创 高并发造数据池异常问题org.apache.tomcat.jdbc.pool.PoolExhaustedException: [pool-21-thread-16] Timeout: Pool emp
项目正常使用没有问题,一旦出现高并发情况,会导致数据库无法连接,org.apache.tomcat.jdbc.pool.PoolExhaustedException: [pool-21-thread-16] Timeout: Pool emp,报错如图分析原因:Tomcat连接池问题导致。方案一:更改Tomcat连接池配置,简书上有个同样问题,大家可以参考一下https://www.jian...
2019-04-26 14:39:30 3103
原创 异常:java.lang.NoClassDefFound:com.machange.v2.naming.javaBeanReferenceMaker
异常:java.lang.NoClassDefFound:com.machange.v2.naming.javaBeanReferenceMaker使用c3p0数据源出现java.lang.NoClassDefFound:com.machange.v2.naming.javaBeanReferenceMaker缺少mchange-commons-java.jar包所导致。pom.xmlco...
2019-04-24 08:52:35 587
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人