自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (40)
  • 收藏
  • 关注

原创 基于Spring Boot与Micrometer的系统参数监控指南

本文介绍了如何通过Micrometer为SpringBoot应用构建监控系统。Micrometer作为供应商中立的指标门面,支持多种监控后端(如Prometheus)。文章详细讲解了集成步骤:添加依赖、配置端点、选择监控系统,并演示了计数器、计量仪、计时器等核心指标的使用方法。同时提供了HTTP请求监控、自定义过滤器和最佳实践建议,帮助开发者构建高效可靠的监控方案,确保应用稳定性。

2025-09-15 16:14:17 854

原创 构建实时消息应用:Spring Boot + Vue 与 WebSocket 的有机融合

本文介绍了如何整合SpringBoot和Vue实现实时双向通信,通过Spring WebSocket+STOMP+SockJS构建高效可靠的通信机制。后端配置WebSocket消息代理并创建消息处理控制器,前端使用Vue连接WebSocket服务并实现消息收发功能。最后讲解了如何通过Nginx部署前后端分离项目,代理静态资源、API请求和WebSocket连接。文章提供了一个完整的聊天室示例,涵盖从开发到部署的全流程,帮助开发者快速掌握实时通信技术的实现方法。

2025-09-11 12:27:35 639 1

原创 Spring Web 异步响应实战:从 CompletableFuture 到 ResponseBodyEmitter 的全链路优化

本文对比分析了Spring中两种异步响应机制:CompletableFuture适用于一次性异步任务(如数据库查询、远程调用),通过@Async注解实现非阻塞处理;ResponseBodyEmitter则适合流式推送场景(如任务进度、日志流),支持分块传输数据。文章详细介绍了两种方式的实现代码、Nginx配置及前端接收方法,并提供了场景选择建议:一次性结果用CompletableFuture,实时推送用ResponseBodyEmitter。同时强调了连接管理和线程池配置的重要性。

2025-09-09 15:38:52 835 2

原创 性能飙升!Spring异步流式响应终极指南:ResponseBodyEmitter实战与架构思考

异步流式响应是解决传统同步响应瓶颈的有效方案。文章介绍了Spring中ResponseBodyEmitter的核心原理,通过HTTP分块传输编码实现数据的渐进式发送。通过一个"实时数据报表生成"的示例,演示了如何在后端实现Emitter,包括线程管理、异常处理和超时设置等关键点。同时提供了前端使用FetchAPI和EventSource两种消费流式响应的方法。最后给出了架构建议,包括资源管理、错误处理和监控等重要实践,帮助开发者构建高效、可扩展的异步流式应用。

2025-09-08 10:44:27 780

原创 会话管理巅峰对决:Spring Web中Cookie-Session、JWT、Spring Session + Redis深度秘籍

特性/方案传统Cookie-SessionJWT状态管理有状态(服务器端)无状态(客户端Token)有状态(外部化存储)扩展性差(需粘性会话或复制)极佳(天生分布式)极佳(共享存储)性能高(内存读取)中(需验证签名)中高(网络IO,Redis极快)安全性较好(服务器端存储)需注意Token盗用与废止问题较好(服务器端逻辑,存储可控)适用场景简单单体应用分布式API、移动端、SSOSpring分布式Web应用集群代码侵入性无(内置)中高(需自行处理Token生成验证)低(配置即用)

2025-09-05 11:12:07 1105 1

原创 Java轻量级状态机在支付流程中的设计与实现

在支付系统中,交易状态管理是核心业务逻辑之一。一个清晰、健壮的状态机设计能够确保支付流程的可靠性和可维护性。本文将介绍基于Spring Boot环境的轻量级状态机设计,实现支付交易的状态管理。清晰的状态转换规则:通过配置化的方式定义状态转换规则,易于理解和维护松耦合设计:状态管理器与业务逻辑分离,便于测试和扩展事件驱动架构:通过Spring事件机制实现状态变更的监听和处理事务安全:使用Spring的@Transactional确保状态变更的原子性分布式锁支持:防止并发状态修改导致的数据不一致。

2025-09-02 10:25:18 1698

原创 性能屠夫还是稳定王者?SpringBoot项目Log4j2与Logback异步日志终极对决

本文对比了SpringBoot中Log4j2与Logback的异步日志性能。Log4j2基于无锁环形队列设计,在高并发下吞吐量可达Logback的10倍,延迟更低且GC压力更小;Logback则配置简单,与SpringBoot生态集成更好。Log4j2适合高并发核心系统,Logback适用于常规业务场景。文章提供了两者的完整配置示例,并指出异步日志可能存在的日志丢失风险。建议根据业务场景选择:追求极致性能选Log4j2,注重易用性选Logback。

2025-08-29 09:50:29 658

原创 针对不同使用场景,Redis的Value应该如何序列化,优缺点如何,进来看

本文介绍了SpringBoot中Redis的四种Value序列化方案:1)Jackson2JsonRedisSerializer适合跨语言、可读性要求高的场景;2)GenericJackson2JsonRedisSerializer支持多态类型,兼容性更好;3)JdkSerializationRedisSerializer适合纯Java环境;4)StringRedisSerializer性能最优但需手动序列化。建议根据场景选择,推荐GenericJackson2JsonRedisSerializer作为通用

2025-08-28 15:42:01 351

原创 MyBatis Plus 与 MyBatis的PK:Spring Boot 下的详解、选型与实战

MyBatis 是一款优秀的半自动化的 ORM 框架,它封装了 JDBC,开发者可以通过 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs 映射成数据库中的记录。它的核心优势在于灵活的 SQL,开发者可以精确地控制每一条 SQL 语句。MyBatis Plus(简称 MP)是一个MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,旨在简化开发、提高效率。

2025-08-27 14:49:04 827

原创 去掉WebSocket味,如何基于 Spring的WebFlux实现SSE功能,也就是服务端主动消息推送,轻松加愉快

本文介绍了如何使用SpringBoot WebFlux实现SSE(Server-Sent Events)功能。SSE是一种基于HTTP的服务器推送技术,适用于实时通知、监控仪表盘等场景。文章详细讲解了SSE原理、与WebSocket的区别,并提供了SpringBoot后端实现(包括基础流、自定义事件流和使用ServerSentEvent工具类)和Vue.js前端实现的完整代码示例。通过结合WebFlux的Flux响应式流和SSE协议,可以轻松构建高效的服务器推送功能。

2025-08-27 09:29:56 1185

原创 Java并发容器ArrayBlockingQueue与LinkedBlockingQueue对比PK

这些示例展示了和添加元素put()(阻塞)、offer()(非阻塞)、add()(抛异常)获取元素take()(阻塞)、poll()(非阻塞)、remove()(抛异常)检查元素peek()element()批量操作drainTo()addAll()队列状态size()isEmpty()高级用法:迭代器遍历、批量处理在 Spring Boot 环境中,我们可以将这些队列配置为 Bean,然后在服务类中注入使用,实现生产者和消费者模式。通过合理选择队列类型和操作方法,可以构建出高效、可靠的并发应用程序。

2025-08-26 15:10:15 1063

原创 抛弃Hystrix,在Spring Boot 项目中如何集成和应用 Resilience4j 的断路器(Circuit Breaker)功能

摘要:本文介绍了Resilience4j断路器在微服务架构中的应用,包括防止服务雪崩、实现优雅降级和自动恢复三大场景。详细说明了SpringBoot项目中的配置方法,提供了YAML配置示例和核心代码实现。通过@CircuitBreaker注解和fallback方法,演示了如何在订单服务调用中实现断路器保护。最后介绍了测试方法和Actuator监控端点,帮助开发者掌握这一提升系统弹性的重要技术。

2025-08-26 10:22:39 901

原创 SpringBoot + RabbitMQ + MongoDB + Redis:高性能高并发高可用的半导体生产工厂数据处理落地实践

通过五大层次(接入、缓冲、处理、存储、应用)实现职责分离与水平扩展。

2025-08-25 17:10:36 2237

原创 Jvm内部事件分发机制,Spring Event和Guava Eventbus以及GreenRobot Eventbus怎么选怎么用

本文对比了三种主流Java事件驱动框架:Spring Event、Guava EventBus和GreenRobot EventBus。Spring Event深度集成Spring生态,适合企业级应用,支持事务绑定等高级特性;Guava EventBus轻量简单,适合非Spring项目进程内解耦;GreenRobot EventBus专为Android优化,提供粘性事件和线程模式支持。选择建议:Spring应用选Spring Event,普通Java项目用Guava EventBus,Android开发首选

2025-08-25 09:20:17 776

原创 java中,synchronized 关键字与 ReentrantLock 重入锁的区别以及应用场景,注意事项

在 Java 并发编程中,关键字和都是用于实现线程同步的重要机制,但它们在实现方式、功能和性能特征上有所不同。

2025-08-22 14:01:19 581

原创 手把手,Rabbitmq3.12,镜像队列如何配置,​​Spring Boot如何连接镜像队列集群

RabbitMQ镜像队列集群配置指南:需要至少3个节点(推荐奇数节点),确保时间同步、网络通畅和相同的Erlang cookie。配置步骤包括安装相同版本RabbitMQ、设置主机名解析、同步cookie、组建集群(通过rabbitmqctl命令)及设置镜像策略(推荐ha-two策略)。SpringBoot连接需配置集群地址并实现重试机制,提供生产者和消费者代码示例。常见问题包括节点加入失败、同步问题和消息丢失,需检查网络、cookie一致性和启用确认机制。最后强调根据生产环境调整参数并进行充分测试。

2025-08-22 10:31:06 548

原创 Mysql8 主从复制关键配置语句

本文介绍了MySQL主从复制的配置步骤。主库配置包括修改my.cnf文件设置server-id和binlog格式,创建专用复制用户并调整认证插件为mysql_native_password。从库通过CHANGE MASTER命令指定主库信息,并展示了主从同步状态检查方法。当同步出现故障时,可通过查询performance_schema.replication_applier_status_by_worker表查看具体错误信息。文中还提供了主从库版本查询、用户权限查看等辅助命令,并附有配置截图说明。

2025-08-21 16:11:22 160

原创 Redisson 原理、用途及Spring Boot集成指南

Redisson是一个基于Redis的Java分布式框架,提供分布式锁、集合、原子操作等能力。其核心原理包括:基于Netty的非阻塞IO、响应式编程、分布式数据结构实现。SpringBoot集成需添加依赖,配置RedissonClient,支持单机/集群模式。典型应用场景包括分布式锁(RLock)、分布式Map(RMap)、原子操作(RAtomicLong)、发布订阅(RTopic)及SpringCache集成。通过合理配置超时和重试策略,可构建稳定高效的分布式系统。

2025-08-21 14:32:54 378

原创 RSA非对称加密怎么实现,Java语言轻松搞定

本文介绍了非对称加密的核心概念及其Java实现,重点演示了RSA算法的密钥生成、数据加密解密、数字签名和验证流程。代码示例展示了如何使用Java加密体系(JCA)实现2048位RSA密钥对的生成、PKCS1Padding填充模式的加密/解密,以及SHA256withRSA签名算法。典型应用场景包括安全数据传输、数字签名防篡改和登录令牌验证。文章还给出了密钥长度(建议3072位)、加密数据长度限制、密钥存储安全等注意事项,并建议结合AES加密大数据、使用HSM保护私钥、定期轮换密钥等安全增强措施。

2025-08-21 10:09:07 516

原创 如何基于Redis的ZSet数据结构设计一个通用的,简单的,可靠的延迟消息队列,以RedisTemplate为例

摘要:基于Redis实现延迟队列的方案,使用ZSet存储待处理消息(score为触发时间),List存储就绪消息。通过定时任务将ZSet中到期的消息转移到List,消费者从List中阻塞获取消息。该方案简单可靠,仅依赖Redis基础数据结构,确保消息不丢失且高效处理,适用于订单超时等场景。核心流程分为生产者添加消息、定时任务转移消息和消费者处理消息三个阶段,通过Redis的ZSet和List特性实现延迟队列功能。

2025-08-20 15:44:47 589

原创 2015-4-25华为成研所实习生招聘面试回顾

博主一直对华为还是挺追崇,比较情有独钟,华为的企业文化,研发能力还有产品口碑,都是相当领先的。大概是在3月份时候,看到华为招聘的微信公众号上面发的消息,说开始实习生招聘。然后秉着试试水,积累经验顺便找找感觉的保守心态,大概3月25号网申了软件开发岗,因为博主对于软件开发还是挺有兴趣的。

2015-04-26 00:20:39 2651

大学生编程比赛题目

比较简单的编程比赛题目,可以作为练习题目,也可以作为小规模比赛用题。

2015-05-29

简易安卓相机Camera应用,可聚焦、丰富的设置选项,Eclipse工程源码

基于安卓camera组件开发的相机应用程序,有基本的自动循环聚焦功能、白平衡、曝光补偿大小设定、矩形框等,以及音量键拍照、拍照静音、自设图片保存文件夹等偏好设置选项。

2014-05-19

ArcMenu——Github上找到的一个超赞的Menu开源控件

Github上找到的一个超赞的Menu开源控件,适用于安卓开发,顾名思义,就是一个弧形的菜单控件,淘宝客户端就用了这个控件。内附详细demo

2015-04-29

百度地图Android_SDK完整版

百度地图Android_SDK完整版,内附三个文件夹,SDK,DOC还有Demo,开发前需要前往百度地图API网站上申请开发秘钥。

2015-04-30

vue+element-ui的web前端开发脚手架项目

纯属学习之用,参考了element-ui官网上的例子,也有部分bootstrap的UI,先导入main.sql到mysql当中,登录admin,admin

2020-08-01

科大讯飞人脸识别SDK

科大讯飞人脸识别SDK,包含说明文件PDF,Java库文件jar,一个demo 分为联网模式和离线模式

2015-04-29

安卓开发之——Listview 完美释例(仿微信页面)

安卓开发之——Listview 完美释例(仿微信页面),比较简单易懂。

2015-04-23

微信接入开发官方实例源码

微信接入开发官方实例工程源码,环境Eclipse,亲自测试,可以运行,模拟微信很多功能。

2014-09-28

人脸识别经典算法PCA以及2DPCA完美matlab版

此程序包含经典PCA以及2DPCA算法的MATLAB程序,以及在ORL人脸数据库中的人脸识别应用,分类识别算法采用的是SVM。 PCA最高识别率为85% 2DPCA为91% 程序中涉及到一些图片路径的修改,请注意自己修改。 部分重要程序有xxx以及TDxxx两份,分别对应于PCA以及2DPCA程序的使用。 主要识别能力有:单张人脸的类别的识别,全体人脸的识别率的计算,单张人脸的图像近似重构。 特别注意:在test之前一定要先train一下哦: 比如: TDtrain(40,5,5); TDtest 交流学习

2015-06-04

face++人脸识别SDK(包含java和matlab版本)

face++人脸识别SDK(包含java和matlab版本)

2015-04-29

基于百度地图SDK做的轻量级的地图应用程序(源码)

基于百度地图SDK做的轻量级的地图应用源码工程文件,demo版本,可在线查看基本地图,卫星地图,交通路况图等,能够下载离线地图包,能够搜索附近,部分功能还没有完善,用作学习交流之用。 另附百度地图SDK下载地址: http://download.youkuaiyun.com/detail/lssjzmn/865

2015-05-14

java语言JSON解析包,全部7个包

java语言JSON解析包,全部7个包,少了一个包都不行哦。

2015-04-29

简易安卓手电筒,有闪烁功能,可调频率,可以测环境光照度

简易安卓手电筒,有闪烁功能,可调频率,可以测环境光照度

2014-05-19

自己编写的GitHub上的SlindingMenu开源控件用法实例(工程文件)

自己编写的GitHub上的SlindingMenu开源控件用法实例(工程文件),另有ListView作为侧滑菜单内容,以及欢迎页面的设定。 求5分好评,谢谢! 注:压缩文件是.7z格式 解压后,有两个文件夹,SlindingMenu是Library,SlindingMenuDemo是实例工程。

2015-04-17

TabActivity使用释列

TabActivity尽管已经弃用,但是对于要求不那么高的App来说,也是完全可以用的。

2014-11-17

ViewPager类的简单释列,用于滑动浏览条目

用android.support.v4.View.ViewPager类写的一个小Demo,可以用来滑动浏览各项条目,简单好用,适合快速上手ViewPager实现滑动效果。

2014-10-22

圆形的ImageView可以完全替代安卓系统默认的ImageView

圆形的ImageView可以完全替代安卓系统默认的ImageView,内附详细demo。

2015-04-29

安卓开发之DatePicker和TimePicker的应用释例

DatePicker和TimePicker的应用方法简单举例,内容较为简单,但实用性很强。

2014-07-09

基于百度地图SDK做的轻量级的地图应用程序1.2(源码)

基于百度地图SDK做的轻量级的地图应用源码工程文件,demo版本,可在线查看基本地图,卫星地图,交通路况图等,能够下载离线地图包,能够搜索附近,部分功能还没有完善,用作学习交流之用。 另附百度地图SDK下载地址: http://download.youkuaiyun.com/detail/lssjzmn/865

2015-05-20

安卓开发之多线程举例

安卓开发之多线程举例-循环计数-子线程Thread循环计数,主线程利用Handler提取子线程进位,

2014-06-14

Jdk8-linux-8u351

Java8的linux平台各个版本安装包

2024-11-08

Rest Http Api文档模板.docx

小团队内部http api接口文档

2021-09-30

springboot+dubbo+nacos+ribbon 微服务示例项目

这是一个springboot(2.3.4)+dubbo(3.1.1)+nacos(2.1.2)+ribbon 微服务示例项目,包含了消费端,提供端和api三个模块,对dubbo的微服务RPC调用以及Ribbon服务调用做了示例,仅供学习交流之用。

2022-11-01

Dockerfile制作基于Ubuntu的java应用镜像

基于Ubuntu18镜像,打包jre8以及自己的java应用jar包到镜像,包含Dockerfile文件和启动截图等,环境为Win10 Pro + Docker Desktop,仅供学习参考。

2022-09-21

ORL人脸识别数据库全套

著名人脸识别数据库ORL,已经为大家分类打包好,一共40个人每人10张脸,有正脸、左右侧脸、正脸表情变化等,包括jpg以及pgm格式,保证全面无删减哦。

2015-06-17

一图掌握Arthas常用命令

一图掌握Arthas常用命令,总结了Arthas中的常用命令、参数以及用例,在使用时可以方便查到需要的功能。

2022-05-19

Redis高可用之哨兵+主从模式总结

Redis高可用之哨兵+主从模式总结, springboot配置举例,图文并茂解释

2022-04-29

最近邻域分类法matlab实现

最简单的模式识别分类器,最小邻域分类,分类速度快,小样本时识别率高,matlab版本。

2015-06-11

2DPCA最新改进算法

2015年见刊的基于2DPCA人脸识别算法最新改进算法,发表在某SCI期刊上的。个人对其算法进行了MATLAB编程实现,效果不错。需要您自己找一个人脸库,比如ORL,AR,PIE

2015-07-31

Android support library新控件简单使用示例-Android studio

Android support library新控件的一个简单使用示例demo,开发环境是Android studio。 包括了Tablayout,snackbar textinputlayout 以及floatingactionbutton等支持库里面的新控件。 另外使用了ViewPager+Fragment+FragmentPagerAdapter最为滑动组件。 水平有限,请指正。

2015-12-29

FERET人脸识别数据库

著名人脸识别数据库FERET,已经为大家分类打包好,一共200个人每人7张脸,有正脸、左右侧脸、正脸微笑以及正脸微光照。保证全面无删减哦。

2015-06-16

PIE人脸识别数据库jpg版

著名人脸识别数据库PIE,已经为大家分类打包好,一共68个人每人24张脸,有正脸、左右侧脸、正脸微笑以及不同角度光照。

2015-06-17

易读易用的vue-element 前后端分离项目脚手架

后端javaer的福音!这是一个基于vue-element-admin的基础模板vue-admin-template改造+简化而来(例如,加入了标签导航,国际化等等),可以让非专业前端的javaer快速上手的前后端分离项目(前端部分),相信你在日常开发工作中用得到。 你需要至少对以下内容有初步的了解与使用经验,因为项目中用到了: 1.npm 2.vue, vue-router, vuex 3.element-ui 2.x 4.axios 5.i18n PS: 1.本人用的IDE是WebStorm 2.做了信息脱敏,所以遇到xxx或者找不到图片之类的请自行修正 3.启动之前请先无比按照自己的环境修改“src/views/login/index.vue”的handleLogin方法进行登录操作 感谢原始项目: https://panjiachen.github.io/vue-element-admin-site/zh/ 本人另一个前后端不分离项目(springboot)请移驾:https://download.youkuaiyun.com/download/lssjzmn/12677695 祝愉快!

2021-11-24

site-navigator

springboot+mybatis+vue+element-ui,只有一个主页面的简易网址收集导航工具。 仅用于学习交流

2021-10-07

Mongodb复制集(集群)搭建demo.doc

Mongodb集群搭建入门教程,适合对mongodb感兴趣的入门新手学习使用,共勉。 Mongodb你懂的。

2021-07-15

基于springboot和rabbitmq的消息收发demo

基于springboot和rabbitmq的消息收发demo,学习共享 基于springboot和rabbitmq的消息收发demo,学习共享

2020-01-20

elastic-job-lite-console-3.0.0.M1-SNAPSHOT.rar

当当elastic-job控制台jar包,elastic-job-lite-console-3.0.0.M1-SNAPSHOT,本人从git下载源码后编译生成的jar。 $ 解压 elastic-job-lite-console-3.0.0.M1-SNAPSHOT.rar $ cd elastic-job-lite-console-3.0.0.M1-SNAPSHOT/bin $ ./start.bat $ 访问http://localhost:8899/即可访问控制台 配置注册中心 左边菜单点击【全局配置】选中【注册中心配置】,然后出现一个已配置列表,在列表的分页显示下方有个【添加】按钮进行添加 注册中心信息填写 注册中心名称:自己自定义填写 注册中心地址:填写对应服务的zk信息,多个用逗号分隔 命名空间:填写对应服务的zk命名空间namespace 登录凭证:可不填,默认zookeeper不需要填写,除非设置了zookeeper相关信息 填写完之后,点击右下角【提交】按钮,即完成 列表中出现新增的注册配置,然后点击该配置最后的操作项,【连接】,则连接上zookeeper 查看作业 上面配置完注册中心后,会显示对应的定时任务,在左侧【作业操作】下点击【作业维度】,即可查看当前挂在zookeeper的命名空间下的所有任务,提供删除,编辑,触发,失效等一系列功能

2020-05-18

mybatis-demo-git.rar

this is a demo project for learning mybatis framework based on springboot 环境: JDK 1.8 MYSQL 5.7 IDEA 2017.3

2020-01-20

基于springboot的dubbo微服务应用demo

基于springboot的dubbo微服务应用demo,加入了springHttpInvoker接口作为学习测试 api模块为公共实体及服务接口,内有测试用的sql数据脚本 consumer为dubbo服务的消费者及测试 两个provider为不同的dubbo服务提供者 环境: JDK1.8 MYSQL5.7 IDEA2017.3 zookeeper3.4.14 dubbo2.7.3

2020-01-21

Android support library新控件的简单使用示例(Android Studio)

Android support library新控件的简单使用示例,开发环境为Android studio。 包含了tablayout,floatingactionbutton,snackbar,textinputlayout等新控件,另外,使用了viewpager+fragment+fragmentpageradapter作为滑动组件。 水平有限,交流学习。

2015-12-29

空空如也

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

TA关注的人

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