自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (6)
  • 收藏
  • 关注

原创 Java 8-17核心特性全景解析之Java12

Java 12首次引入了Switch表达式作为预览特性,这是对传统switch语句的增强,使其可以作为表达式使用,并提供了更简洁的语法。Java 12引入了Shenandoah垃圾收集器作为实验性特性,它是一种低停顿时间的垃圾收集器,旨在减少GC暂停时间。Java 12添加了一套基于JMH(Java Microbenchmark Harness)的微基准测试套件,用于测试和比较JDK的性能。Java 12增强了类,添加了紧凑的数字格式化支持,可以将大数字以更易读的形式显示。Java 12引入了。

2025-03-26 18:28:40 548

原创 Java 8-17核心特性全景解析之Java11

Java 11将Java 9中引入的HTTP客户端API从孵化模块升级为标准模块,提供了现代化的HTTP客户端,支持HTTP/1.1和HTTP/2协议。Java 11为String类添加了多个实用的新方法,简化了字符串处理。Java 11允许在Lambda表达式的参数中使用var关键字,与Java 10引入的局部变量类型推断相呼应,同时可以添加注解。Java 11引入了ZGC (Z Garbage Collector),这是一个可扩展的低延迟垃圾收集器,旨在将GC停顿时间控制在10毫秒以内,无论堆大小如何。

2025-03-26 18:27:03 811

原创 Java 8-17核心特性全景解析之Java9、10

模块系统是Java 9最重要的特性,旨在解决Java平台和应用程序的可伸缩性问题,提供更好的封装性和依赖管理。JShell是Java 9引入的交互式编程环境,允许开发者快速测试Java代码片段,无需编写完整的类或方法。Java 9引入了创建不可变集合的便捷工厂方法,使创建小型集合实例更加简洁。Java 9允许在接口中定义私有方法,进一步增强了接口的封装能力,使默认方法的代码复用更加便捷。Java 9对Stream API进行了增强,添加了几个新的方法,使流处理更加灵活和强大。

2025-03-25 19:23:38 1094

原创 Java 8-17核心特性全景解析之Java8

Lambda表达式是Java 8引入的最重要特性,它为Java带来了函数式编程的能力,使代码更加简洁、可读性更强。Stream API提供了一种函数式的集合操作方式,支持串行和并行处理,极大地简化了集合操作。方法引用是Lambda表达式的一种简化形式,当Lambda表达式的内容仅仅是调用一个已存在的方法时,可以使用方法引用来替代。Java 8允许在接口中定义默认方法和静态方法,这使得接口的设计更加灵活,同时保持了向后兼容性。

2025-03-25 19:18:05 1010

原创 SpringBoot事务原理剖析

SpringBoot事务管理机制构建在Spring事务抽象之上,通过AOP实现声明式事务管理。开发者需理解事务传播行为、隔离级别以及常见的事务失效场景,才能设计出健壮的事务解决方案。在实际应用中,应根据业务特点选择合适的事务传播行为和隔离级别,避免过大的事务边界,并为关键业务操作编写完善的单元测试验证事务行为。SpringBoot事务管理广泛使用ThreadLocal机制实现线程隔离和事务上下文传播,这使得声明式事务能够优雅地工作,但也带来了多线程环境下的特殊考虑。理解ThreadLocal在事务中

2025-03-24 18:32:57 723

原创 Spring Boot事件机制详解

事件驱动架构(Event-Driven Architecture, EDA)是一种软件设计模式,其中系统组件通过事件的发布与订阅进行通信。在Spring Boot中,事件机制为应用程序提供了松耦合的组件间通信方式,使得发布者无需关心谁在监听,监听者也无需了解事件来源

2025-03-24 16:20:57 1174

原创 SpringBoot 3.0之后为什么移除了spring.factories

从SpringBoot 3.0开始,引入了基于imports文件的新机制,作为的替代方案。这些文件位于文件名对应的spring.factories中的键对于自定义的扩展点,需要提供类似的imports// 自定义扩展点加载器示例// 迁移到新机制// 或者实现自己的imports文件加载逻辑// ...// 1. 创建配置属性类// getter和setter方法// ...// 2. 创建自动配置类。

2025-03-23 13:46:15 964

原创 一文看懂Spring Boot中的事务管理:传播特性与隔离级别详解

在企业级应用开发中,事务管理是确保数据一致性和完整性的关键机制。Spring Boot作为流行的Java开发框架,提供了强大而灵活的事务管理功能。本文将深入介绍Spring Boot中事务的传播特性与隔离级别,帮助开发者更好地理解和应用这些概念。事务是一组操作的集合,这些操作要么全部成功执行,要么全部失败回滚,保证了数据的一致性。原子性(Atomicity):事务中的所有操作作为一个整体执行,要么全部成功,要么全部失败。一致性(Consistency)

2025-03-23 12:23:40 713

原创 @Lazy懒加载详解

懒加载(Lazy Loading)是一种设计模式,核心思想是延迟对象的初始化,直到真正需要使用该对象的时候才进行创建和初始化。在Spring Boot中,我们可以通过@Lazy注解来实现这一机制。

2025-03-22 15:37:55 915

原创 如何开发一个你自己的springboot-starter

Starter 是 Spring Boot 的一个核心特性,它包含了一组依赖描述,用来简化应用程序的依赖配置。使用 Starter 可以避免手动管理依赖项的版本冲突问题,同时通过自动配置机制,无需编写大量配置代码就能快速集成某项功能。当我们开发了一个通用功能模块,希望在多个项目中复用时,将其封装为 Starter 是一个很好的选择。这样其他项目只需要引入你的 Starter 依赖,就能自动获得该功能,而无需关心内部实现细节。按照惯例,我们的自定义 Starter 应该使用非官方命名方式。

2025-03-22 15:15:37 1172

原创 为什么阿里Java规范不建议使用@Autowired

为什么阿里巴巴Java开发手册不建议使用@Autowired,而是@Resource,本文给出了详细的介绍

2025-03-21 14:24:22 743

原创 Java注解处理器(Annotation Processor)详解

Java注解处理器是一个强大的工具,可以在编译时生成代码、验证API使用和提供元数据。通过与Google Auto Service结合,可以简化处理器的注册过程。注解处理器的主要优势在于它们可以在编译时捕获错误并生成高效的代码,避免运行时反射带来的性能开销。在实际应用中,注解处理器被广泛用于依赖注入框架、ORM映射、路由生成和序列化等场景,极大地提高了开发效率并减少了样板代码。

2025-03-21 14:04:56 820

原创 Mybatis和Mybatis-plus常用注解

mybatis和mybatis-plus常用注解

2025-03-20 14:55:44 1114

原创 Spring常用参数校验注解

Spring常用常数校验注解

2025-03-20 13:47:26 990

原创 Lombok常用注解

Lombok是一个Java库,通过注解的方式帮助开发者减少样板代码的编写,提高开发效率。本文将Lombok常用注解分类整理,并提供详细说明和使用示例。

2025-03-19 23:26:52 1290

原创 SpringBoot常用注解

SpringBoot框架提供了丰富的注解,极大地简化了应用开发。本文将SpringBoot常用注解按功能分组,并提供详细说明和使用示例。

2025-03-19 23:21:36 1325

原创 图解Spring-启动过程

图解Spring启动过程

2025-03-19 14:47:57 88

原创 图解Spring-解决循环依赖流程

图解Spring循环依赖问题

2025-03-18 23:27:43 191

原创 图解Spring-Bean生命周期

图解Spring Bean的生命周期

2025-03-18 23:08:59 83

原创 openFeign接口文件上传报错

OpenFeign 默认并不支持。

2024-10-23 11:37:47 271 1

原创 IDEA deploy报错

Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy) on project xxx: Failed to retrieve remote metadata cn.xxx.xxx:1.0.0-SNAPSHOT/maven-metadata.xml: Could not transfer metadata cn.xxx.xxx:1.0.0-SNAPSHOT/maven-m

2021-05-27 15:03:08 1188

原创 MybatisPlus:使用了SQL的保留字(关键字)

解决方法: 字段使用``符号包裹字段:表:

2020-10-22 15:28:35 1017 2

原创 在Springboot下使用Netty并引入redis后@Scheduled定时任务抛NoSuchMethodError异常

原因:Springboot版本为2.1.3.RELEASE, Netty版本为4.1.50.Final, 引入spring-boot-starter-data-redis依赖后, 因为其中也有Netty依赖, 但是版本只有4.1.33, 因而版本冲突导致异常解决方法:1. 将Springboot版本改为2.2.6.RELEASE2. 或将Netty版本改为4.1.33.Final<parent> <groupId>org.springframework.boo.

2020-10-10 09:43:20 585

转载 Ntrip协议简介

https://blog.youkuaiyun.com/sinat_19447667/article/details/67637167

2020-09-15 09:34:35 1067 1

原创 架构师进阶导图

https://www.processon.com/view/link/5cb6c8a4e4b059e209fbf369#map

2020-08-27 16:09:40 217

原创 docker - 设置时区的几种方式

1、在Dockerfile中设置镜像时区# 设定时区ENV TZ=Asia/ShanghaiRUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone2、创建容器时设置时区将宿主机与容器的时间进行挂载-v /etc/localtime:/etc/localtime3、进入容器进行设置1)进入容器内:docker exec -it 容器名 /bin/bash 2)设

2020-07-27 10:12:41 5266 1

原创 上传文件提示The temporary upload location [/tmp/tomcat.xxxx...问题解决方案

异常描述Caused by: java.io.IOException: The temporary upload location [/tmp/tomcat.xxx.xxx/work/Tomcat/localhost/ROOT] is not valid原因spring boot应用服务启动的时候,会在tmp目录下生成一个关于tomcat的文件目录,上传的文件先要转换成临时文件保存在这个文件夹下面。由于临时tmp目录下的文件,在长时间(10天)没有使用的情况下,就会被系统机制自动删除掉,所以长时间没

2020-07-01 14:41:37 11401

转载 github提速

https://blog.youkuaiyun.com/qq_44621510/article/details/95251993

2020-06-15 14:07:37 186

原创 openFeign Get请求自动转为Post问题

在对象前面加上注解@SpringQueryMap

2020-06-01 16:44:23 1074

原创 关闭防火墙后,启动容器报错: docker0: iptables: No chain/target/match by that name

在关闭防火墙后, 启动容器报以下错误:Error response from daemon: Cannot restart container 41d2e371d5c5: driver failed programming external connectivity on endpoint sentinel-26379 (1be5e5aa55e555d192adfcd90b0ad395683afce74087dc9d21933331d41051ea): (iptables failed: iptable

2020-05-28 16:18:36 540

原创 Redis各版本描述

Redis2.6Redis2.6在2012年正是发布,经历了17个版本,到2.6.17版本,相对于Redis2.4,主要特性如下:服务端支持Lua脚本。去掉虚拟内存相关功能。放开对客户端连接数的硬编码限制。键的过期时间支持毫秒。从节点支持只读功能。两个新的位图命令:bitcount和bitop。增强了redis-benchmark的功能:支持定制化的压测,CSV输出等功能。基于浮点数自增命令:incrbyfloat和hincrbyfloat。redis

2020-05-27 19:51:49 4568

原创 SpringCloudGateway获取请求体参数方式

1.版本说明框架版本springboot2.2.6.RELEASEspring-cloud-alibaba2.2.0.RELEASEspring-cloud-gateway2.2.0.RELEASE2.需求需要在网关打印请求日志, 其中需要获取POST请求的请求体参数3.遇到的问题按照网上查到的方案, 用在这个版本的cloud上, 全都不起作用;请求体只能读取一次, 读取之后, 后续的过滤器将无法获取请求体数据;SpringCloudGateway使

2020-05-23 21:19:02 4627 3

原创 Netty与SpringBoot使用注意点

1. 注意在Encoder、Decoder、Handler中使用注入@Resourceprivate AuthHandler authHandleServerBootstrap b = new ServerBootstrap(); b.group(bossGroup, workerGroup) .channel(NioServerSocketChannel.class) .childHandler

2020-05-20 16:29:58 422

原创 Spring Cloud通过Feign请求返回值LocalDateTime异常

问题描述:通过openFeign调用接口, 请求能达到服务, 但是返回值中含有LocalDateTime类型参数, 报以下错误:feign.codec.DecodeException: Type definition error: [simple type, class java.time.LocalDateTime]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot co

2020-05-20 16:16:59 3189 1

转载 gateway yml配置文件转成json格式

- id: admin-service uri: lb://admin-service predicates: - Path=/admin/** - Weight=service1, 90 filters: - SwaggerHeaderFilter - StripPrefix=1 - id: order-service uri: lb://order-service ...

2020-05-09 15:21:38 2083

原创 SpringCloudGateway遇到的坑

1. 启动报错: No qualifying bean of type 'org.springframework.core.convert.ConversionService原因:gateway采用的是webflux, 如果引入了含有mvc的依赖就会报错, 比如: swagger2, spring-boot-starter-web等解决方法:排除相关依赖<exclusions&gt...

2020-05-06 20:19:21 3819

原创 @RequestMapping和@FeignClient放在同一个接口上遇到的坑

@RequestMapping("/user/admin")@FeignClient(ServiceNameConstants.USER_ADMIN_SERVICE)public interface IUserAdminAuthApi { ...}问题:当一个接口上同时拥有@RequestMapping和@FeignClient注解时, 请求会报异常解决方法:把@RequestM...

2020-05-06 20:03:43 6234 1

原创 Android - 如何打jar包

在需要打包的module中的build.gradle中添加如下配置//Copy类型task makeJar(type: Copy) { //删除存在的 delete 'build/xxxSDK.jar' delete 'build/intermediates/packaged-classes/debug/classes.jar' //设置拷贝的文件 ...

2020-03-12 16:07:21 339

原创 使用safe-rm避免rm -rf / 危险操作

使用safe-rm避免rm -rf / 危险操作1. 下载safe-rmwget -c https://launchpadlibrarian.net/188958703/safe-rm-0.12.tar.gz2. 解压&移动&授权tar -xzvf safe-rm-0.12.tar.gzcd safe-rm-0.12mv safe-rm /usr/local/bin/r...

2020-03-06 16:46:06 779

原创 Android - JNI笔记

JNI开发流程编写Java接口(native方法)(选中需要生成C代码的Java文件)生成.c接口文件(使用javah命令生成)编写Android.mk文件编写Application.mk文件实现.c接口文件ndk-build编译so文件在src/main/libs目录下Java中使用System.loadLibrary(“Android.mk中LOCAL_MODULE的值”)加...

2020-03-04 17:18:49 361

百度瓦片图工具.zip

百度瓦片图生成工具,可以将自定义图片,切割成不同缩放级别的瓦片图,使用很简单,亲测有效,分享给大家,该软件目前只能支持单个任务,如果大家想同时进行多个切图任务,可以软件多开

2020-01-19

ffmpeg-Windows版&Linux版.zip

内含FFmpeg Windows版本和Linux版本, FFmpeg是目前大家开发都在用的一款视频转码工具, 可以用来把视频转成m3u8或者用于视频格式转码, 具体使用方式, 可以查看我上传的视频转码工具类(HLSUtils),里面有m3u8生成工具类和mp4格式转码工具类 https://download.youkuaiyun.com/download/AWen_Jack/12113896

2020-01-19

HLSUtils.zip

内含将mp4格式视频转码成m3u8视频格式(HLS协议)的工具类以及将其他视频格式转码成mp4的工具类

2020-01-19

OMA-AD-SUPL-V2_1-20120529-C.en.zh-CN.pdf

OMA-AD-SUPL-V2_1-20120529-C.en.zh-CN SUPL2.0协议中文机翻版PDF,可以对照原文进行阅读,有些翻译的还是挺不错的

2020-01-19

pycharm漂亮主题Monokai

SublimeMonokai, 自己稍微改了一下, 非常喜欢这款主题, 自己也一直在用, 分享给大家!

2019-12-06

IDEA很好看的主题-SublimeMonokai.icls

SublimeMonokai, 自己稍微改了一下, 非常喜欢这款主题, 自己也一直在用, 分享给大家!

2019-12-06

空空如也

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

TA关注的人

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