自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(124)
  • 资源 (2)
  • 收藏
  • 关注

原创 jdk21 虚拟线程原理及使用分享

jdk21已于北京时间9月19日21点正式发布, 其中引人注目的就是虚拟线程(Virtual Thread)随之正式发布, 不再是此前jdk19、jdk20中的预览版本。:java传统的线程是对系统线程的包装,为了区别于虚拟线程,因此将通过传统方式实现的线程叫做平台线程(Platform Thread):虚拟线程是由JDK内部实现的轻量级线程,不依赖于操作系统,可以显著减少编写、维护和观察高吞吐量并发应用程序的工作量。

2023-11-12 15:56:50 3709

原创 SpringBoot使用PropertiesLauncher加载外部jar包

使用SpringBoot的PropertiesLauncher可以优先加载外部的jar文件, 这样可以在程序运行前替换jar包,官方文档: Launching Executable Jars在启用应用程序时通过指定外部jar的目录, 再启动, 访问接口返回2.0.0版本, 说明包替换成功指定PropertiesLauncher启动类执行可以正常只加载2.0.0版本中的实现类, 这个符合预期访问资源文件, 会发现本应只从2.0.0版本中加载文件, 结果1.0.0版本中的也被加载了

2023-07-30 00:14:21 2125

原创 升级JDK17问题记录

Jdk9模块后, 有些类访问, 需要通过如下配置打开访问权限。

2023-07-26 01:26:42 1445

原创 升级dubbo3方案

dubbo3升级方案

2023-07-22 18:27:33 718

原创 SpringMVC打印请求参数和响应数据最优方案

SpringMVC 使用RequestBodyAdvice和ResponseBodyAdvice打印请求参数和响应数据

2023-07-19 03:09:38 3333 2

原创 myabtis批量新增

切记: mybatis foreach标签拼接的insert语句不是批量新增

2023-07-19 02:03:45 734

原创 java开启远程debug竟有两种参数!!!

java 开启远程debug

2023-06-30 00:49:39 391

原创 原来url写对了, 也可能会出现404 ??!

opentelemetry+SpringBoot 2.7.11, tomcat启动成功, 但是访问任何接口都是返回404异常问题排查, 原因: 低版本opentelemetry和高版本tomcat存在兼容问题

2023-05-29 00:27:49 601

原创 dubbo SPI之@Activate注解

本文基于dubbo 2.7.22分析:dubbo SPI之@Activate注解, @Activate用于指明该SPI实现类在什么条件下生效

2023-02-25 19:48:40 1537

原创 dubbo SPI之使用Wrapper包装类拦截SPI实现类

本文基于dubbo2.7.7分析1. 讲解如何通过Wrapper类实现对SPI实现类的拦截处理

2023-02-20 12:42:25 1167

原创 dubbo SPI之依赖注入、禁止依赖注入@DisableInject

dubbo SPI之依赖注入、禁止依赖注入@DisableInject、Wrapper包装类

2023-02-20 00:02:57 1331

原创 Power-job 调研

Power-job 调研

2023-02-10 00:12:21 74

原创 dubbo SPI之@SPI、@Adaptive注解, 以及什么时候动态生成$Adaptive代码

本文基于dubbo2.7.7对如下三个问题分析1. ``@SPI``注解的作用;2. ``@Adaptive``注解的作用,放在Type和Method上的区别和注意点;3. 什么时候动态生成和编译``xxx$Adaptive``代码

2023-01-31 12:44:39 625

原创 修改zookeeper目录

修改zk日志和数据存储目录

2022-07-15 12:18:01 1240

原创 Springboot中使DispatcherServlet提前初始化

Springboot中可以通过配置项spring.mvc.servlet.load-on-startup=1使DispatcherServlet提前初始化

2022-04-27 21:29:17 2210

原创 Spring中@Autowire支持注入多个实现类的集合并排序

Spring中``@Autowire``支持注入多个实现类的集合,支持的集合类型包括,``数组``、``Collection的子类接口``、``List``、``Map``类型。并且还会对``数组``和``List``类型就行排序。

2022-04-27 13:44:16 2315

原创 SpringMVC对Servlet3.0异步请求的支持

SpringMVC对Servlet3.0异步请求的支持

2022-04-20 00:06:48 467

原创 Sentinel高可用流量控制组件-SpringMVC使用Sentinel实现流量监控

sentinel高可用流量控制组件-SpringMVC使用Sentinel实现流量监控

2022-04-02 21:07:55 1806

原创 java获取文件的inode标识符

java获取文件的inode标识符,如果文件被删除或者重命名,inode的值会发生变更,因此可以在第一次加载File之后记录inode,后续校验inode的值来判断文件是否被删除、重命名或重新创建等。

2022-04-01 03:57:43 634

原创 Sentinel高可用流量控制组件-目录设置

设置日志目录,默认在 $HOME/logs 目录下//设置metric.log / block.log / sentinel-record.log 等日志目录System.setProperty("csp.sentinel.log.dir", baseDir + "/csp"); //设置eagleeye-self.log目录System.setProperty("EAGLEEYE.LOG.PATH", baseDir + "/eagleeye");metric.log 是记录

2022-03-29 01:29:51 1812

原创 Spring事务处理2-TransactionInterceptor

org.springframework.jdbc.support.JdbcTransactionManager<br/>org.springframework.transaction.interceptor.TransactionInterceptor

2022-03-15 00:45:02 1133

原创 Spring事务原理1-动态代理

spring中事务、缓存、@Async、aop等实现原理其实基本一致,都是通过cglib或jdk生成动态代理,然后通过拦截器执行对应的逻辑。如果同一个类中既有``@Transactional``又有``@Cacheable``生成的是同一个代理类,但是会有多个处理器``Advice``,会适配成``org.aopalliance.intercept.MethodInterceptor``,多个拦截器组成一个拦截器链,调用方法式时依次执行各个拦截器。一个典型的**责任链模式**

2022-03-12 22:38:40 3079

原创 SpringBoot中spring.factories配置的EnableAutoConfiguration执行顺序

SpringBoot中spring.factories指定的EnableAutoConfiguration并不是按照配置顺序执行 ! ! !

2022-03-09 00:01:44 6223 4

原创 Why choose CGLIB proxying as the default after SpringBoot 2.0

SpringBoot 2.0之后为什么选择Cglib作为默认的aop代理方式

2022-03-06 13:48:15 320 1

原创 java高效简洁编码

基于java8高效简洁编码避免未使用变量的定义,减小变量作用域避免无效对象的创建避免频繁创建大对象,大对象容易进入老年代,频繁创建容易导致老年代频繁GC(例如数据库连接)线程中执行定时任务,需要try-catch,否则一旦出现异常,则定时任务不可用最小化变量作用域带有返回值的方法,不应该在方法体内对成员变量修改利用链式编程优化前代码StringBuilder builder = new StringBuilder(96);builder.append("select id, nam

2022-02-27 14:11:57 606

原创 java8中值得优化的地方

如果还有其它类似值得优化的注意点,欢迎评论留言,多多交流!!!

2022-02-27 03:46:01 393

原创 @ControllerAdvice和@RestControllerAdvice注解使用及实现原理

1、统一异常处理;2、通过@InitBinder统一请求参数数据类型转换;

2022-02-18 03:54:50 1597

原创 SpringBoot配置内容协商

默认情况下,SpringBoot中SpringMVC接口返回的数据是json格式,但有些时候同样的数据我们可能需要根据请求来返回不同的格式。即同一个接口可以返回json格式,又可以返回xml格式

2022-02-12 02:07:25 751

原创 Spring对配置类之间继承的特殊处理

Spring对配置类之间继承的特殊处理,相关issue:SpringBoot中冗余的RequestMappingHandlerMapping配置 </br>https://github.com/spring-projects/spring-boot/issues/29682

2022-02-09 17:22:14 2952 4

原创 Spring中相同类型Bean存在多个时抛出异常分析及解决方案

Spring中相同类型Bean存在多个时,通过``@Autowired``在其他类中注入,那么在Spring启动时会抛出异常。</br>调用DefaultListableBeanFactory#getBean(java.lang.Class requiredType)也会抛出异常

2022-02-09 16:51:23 4222 2

原创 获取SpringMVC中url和执行方法的映射

SpringBoot注册了Bean RequestMappingHandlerMapping用于保存Url到Controller中执行方法的映射. 所以只要通过@Autowired获取到RequestMappingHandlerMapping对象就可以获取SpringMVC中url和执行方法的映射.

2022-02-09 00:54:45 908

原创 ScheduledThreadPoolExecutor定时任务

scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit)任务完成之后延时指定时间,再执行下一个任务。如果任务执行过程中发生异常将会终止后续定时任务。scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit)每隔period时间执行一次任务如果指定period内,上

2022-02-07 21:50:28 894

原创 SpringBoot中java.class.path返回的是SpringBoot jar

SpringBoot中System.getProperty(“java.class.path”)返回的是SpringBoot jar, 而不是在外部化部署中返回的加载的jar集合.参考官方文档 https://docs.spring.io/spring-boot/docs/current/reference/html/executable-jar.html

2022-01-23 13:28:34 515

原创 java原生和SpringBoot读取jar包中MANIFEST.MF的方式

java原生和SpringBoot读取jar包中MANIFEST.MF的方式

2022-01-20 22:45:31 5186

原创 Spring对使用@Configuration @Component的类中 “内部类的特殊处理”

Spring对使用@Configuration @Component的类中 “内部类的特殊处理”

2021-12-20 12:01:40 3035 3

原创 使用@Component会导致spring.factories中的EnableAutoConfiguration无效

本文基于SpringBoot 2.6.0 分析,使用@Component会导致spring.factories中的EnableAutoConfiguration无效

2021-12-20 11:49:53 4749

原创 通过maven-clean-plugin插件清除指定的目录

maven-clean-plugin 可以帮助清除java maven工程中编译的target目录,同时我们也可以通过配置来删除指定的目录或者文件。删除工程中的logs目录<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> <configuration>

2021-12-17 00:36:13 4536

原创 Netty搭建Http2服务端并支持TLS传输加密

Netty搭建Http2服务端并支持TLS传输加密

2021-12-11 00:20:55 2009 2

原创 SpringBoot配置logback.xml,控制台设置彩色字体,按日志级别划分log文件

1. 按照日志级别输出到不同日志文件 2. 控制台日志设置和SpringBoot同风格彩色字体样式 3. 指定该包下的日志都打印在customAppender中指定的文件路径 4. 启动后不变的日志打印到单独的包,例如环境变量打印到environment.log中

2021-12-01 00:46:10 3246

原创 基于k8s+docker+istio+envoy+grpc搭建service mesh

基于k8s+docker+istio+envoy+grpc搭建service mesh

2021-11-12 15:54:43 785

dubbo提供 rest 服务接口

dubbo提供 rest 服务接口

2020-11-17

OrderedWebFilter.rar

Servlet3.0 @WebFilter注解不支持排序,解决方案 Servlet3.0 @WebFilter注解可排序实现源码!

2020-05-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除