经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
 Spring Boot
C3P0反序列化链分析

C3P0反序列化链分析

前言 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。使用它的开源项目有Hibernate、Spring等。之前有接触到过,但是没有深入了解,像之前学二次反序列化时,WrapperConnectionPoolDataSource就是C3...[2024/4/15]

面试官:实战中用过CountDownLatch吗?详细说一说,我:啊这

写在开头 在很多的面经中都看到过提问 CountDownLatch 的问题,正好我们最近也在梳理学习AQS(抽象队列同步器),而CountDownLatch又是其中典型的代表,我们今天就继续来学一下这个同步工具类! CountDownLatch有何作用? 我们知道AQS是专属于构造锁和同步器的...[2024/4/15]

RestTemplate进行https请求时适配信任证书

转载请注明出处: 1.http协议请求   使用RestTemplate进行http协议的请求时,不需要考虑证书验证相关问题,以下为使用RestTemplate直接使用的代码示例: import org.springframework.web.client.RestTemplate; ...[2024/4/15]

Kryo反序列化链分析

前言 Kryo是一个快速序列化/反序列化工具,依赖于字节码生成机制(底层使用了ASM库),因此在序列化速度上有一定的优势,但正因如此,其使用也只能限制在基于JVM的语言上。 Kryo序列化出的结果,是其自定义的,独有的一种格式。由于其序列化出的结果是二进制的,也即byte[],因此像redis...[2024/4/15]

实战指南:使用 xUnit.DependencyInjection 在单元测试中实现依赖注入【完整教程】

引言 上一篇我们创建了一个Sample.Api项目和Sample.Repository,并且带大家熟悉了一下Moq的概念,这一章我们来实战一下在xUnit项目使用依赖注入。 Xunit.DependencyInjection Xunit.DependencyInjection 是一个用于 xU...[2024/4/15]

Spring Boot 工程开发常见问题解决方案,日常开发全覆盖

本文是 SpringBoot 开发的干货集中营,涵盖了日常开发中遇到的诸多问题,通篇着重讲解如何快速解决问题,部分重点问题会讲解原理,以及为什么要这样做。便于大家快速处理实践中经常遇到的小问题,既方便自己也方便他人,老鸟和新手皆适合,值得收藏 ?? 1. 哪里可以搜索依赖包的 Maven 坐标和...[2024/3/29]

消息队列的七种经典应用场景

在笔者心中,消息队列,缓存,分库分表是高并发解决方案三剑客。 在职业生涯中,笔者曾经使用过 ActiveMQ 、RabbitMQ 、Kafka 、RocketMQ 这些知名的消息队列 。 这篇文章,笔者结合自己的真实经历,和大家分享消息队列的七种经典应用场景。 1 异步&解耦 ...[2024/3/29]

OGNL表达式注入分析

OGNL基础 依赖 <dependency> <groupId>ognl</groupId> <artifactId>ognl</artifactId> <version>3.1.19</version> ...[2024/3/29]

浅谈分布式任务调度系统Celery的设计与实现

Celery是一个简单、灵活且可靠的分布式任务队列,它支持任务的异步执行、进度监控、重试机制等功能。 Celery的核心组件包括: Broker:消息中间件,如RabbitMQ。用于任务的发布和订阅。 Worker:任务执行者,运行在各个Worker节点上。 Client:任务提交者,运行在...[2024/3/26]

Shiro反序列化分析

前言 Shiro,一个流行的web框架,养活了一大批web狗,现在来对它分析分析。Shiro的gadget是CB链,其实是CC4改过来的,因为Shiro框架是自带Commoncollections的,除此之外还带了一个包叫做CommonBeanUtils,主要利用类就在这个包里 环境搭建 ht...[2024/3/25]

从零开始学Spring Boot系列-集成Kafka

Kafka简介 Apache Kafka是一个开源的分布式流处理平台,由LinkedIn公司开发和维护,后来捐赠给了Apache软件基金会。Kafka主要用于构建实时数据管道和流应用。它类似于一个分布式、高吞吐量的发布-订阅消息系统,可以处理消费者网站的所有动作流数据。这种动作流数据包括页面浏览...[2024/3/22]

开源一个教学型分库分表示例项目 shardingsphere-jdbc-demo

在笔者心中,消息队列,缓存,分库分表是高并发解决方案三剑客。 分库分表之所以被广泛使用,因为工程相对简单,但分库分表并不仅仅是分片,还是需要考虑如何扩缩容(全量同步、增量同步、数据校验等)。 因此笔者做了一个教学型分库分表示例项目 ,计划将分库分表的技术体系都实际演示一遍。 ht...[2024/3/22]

Solon Web 文件上传的最佳实践

文件上传是 Web 开发中最常见的一个应用场景。一般在处理数据时,会有两种常见的方案:直接把文件流放在内存里,或者把文件流先缓冲到磁盘。 1、如果是高频且文件极小 使用纯内存模式,默认即可。如果高频小文件,是不适合用“临时文件模式”的,磁盘可能容易刷坏。只能多配些内存! 2、如果是低频或者文件...[2024/3/20]

写了个简单爬虫,分析 Boss 直聘自动驾驶岗位

两年前,朋友想知道 Bo 直聘上关于自动驾驶的岗位有哪些 ,于是,笔者写了一个简单的爬虫 crawler-bo ,将岗位的信息收集起来。 这篇文章,笔者想分享爬虫 crawler-bo 的设计思路。 1 基本原理 Selenium + chromedriver 对于很多动态渲染的网...[2024/3/18]

VSCode 配置 Spring Boot 项目开发环境

神器IDEA在升级到2023之后越发卡顿, EDU邮箱也不能用了, 照现在这个JDK版本的升级速度, 神器不升级也不行, 需要开始物色替代品. 其它IDE我用得少, VSCode还是比较熟悉的, 可以作为备选项. 两三年前曾经试过配置Java环境, 存在不少问题作罢. 最近搜了下相关的文章, ...[2024/3/11]

从零开始学Spring Boot系列-集成MySQL

在Spring Boot中集成MySQL是为了让开发者能够轻松地与MySQL数据库进行交互。本篇文章将指导你如何在Spring Boot 3.2.3项目中使用Gradle来集成MySQL。在此之前,我们需要在Ubuntu 22.04上安装MySQL 8作为我们的数据库服务器。 安装MySQL8 ...[2024/3/4]

从零开始学Spring Boot系列-返回json数据

欢迎来到从零开始学Spring Boot的旅程!在Spring Boot中,返回JSON数据是很常见的需求,特别是当我们构建RESTful API时。我们对上一篇的Hello World进行简单的修改。 添加依赖 首先,确保你的build.gradle文件中已经包含了Spring Web...[2024/3/1]

新来个架构师,用48张图把OpenFeign原理讲的炉火纯青~~

大家好,我是三友~~ 在很久之前,我写过两篇关于OpenFeign和Ribbon这两个SpringCloud核心组件架构原理的文章 但是说实话,从我现在的角度来看,这两篇文章的结构和内容其实还可以更加完善 刚好我最近打算整个SpringCloud各个组件架构原理的小册子 所以趁着这个机会...[2024/3/1]

求求你别再用OkHttp调用API接口了,快来试试这款HTTP客户端库吧

引言 在日常业务开发中,我们时常需要使用一些其他公司的服务,调用第三方系统的接口,这时就会涉及到网络请求,通常我们可以使用HttpClient,OkHttp等框架去完成网络请求。随着RESTful API的普及,一个高效、简洁且易于维护的HTTP客户端库显得尤为关键。而本文主要介绍一款强大的网络...[2024/3/1]

【Filament】立方体贴图(6张图)

1 前言 ? 本文通过一个立方体贴图的例子,讲解三维纹理贴图(子网格贴图)的应用,案例中使用 6 张不同的图片给立方体贴图,图片如下。 ? 读者如果对 Filament 不太熟悉,请回顾以下内容。 Filament环境搭建 绘制三角形 绘制矩形 绘制圆形 绘制立方体 纹理贴图...[2024/3/1]

如何创建自己的Spring Boot Starter并为其编写单元测试

当我们想要封装一些自定义功能给别人使用的时候,创建Spring Boot Starter的形式是最好的实现方式。如果您还不会构建自己的Spring Boot Starter的话,本文将带你一起创建一个自己的Spring Boot Starter。 快速入门 创建一个新的 Maven 项目。...[2024/2/28]

从零开始学Spring Boot系列-Hello World

欢迎来到从零开始学Spring Boot的旅程!在这个系列的第二篇文章中,我们将从一个非常基础但重要的示例开始:创建一个简单的Spring Boot应用程序,并输出“Hello World”。 1. 环境准备 首先,确保你的开发环境已经安装了以下工具: Java Development Ki...[2024/2/26]

从零开始学Spring Boot系列-前言

从零开始学Spring Boot系列-前言 在数字化和信息化的时代,Java作为一种成熟、稳定且广泛应用的编程语言,已经成为构建企业级应用的首选。而在Java生态系统中,Spring框架无疑是其中最为耀眼的一颗明星。它提供了全面的编程和配置模型,用于构建企业级应用。随着Spring Boot的出...[2024/2/23]

Sentinel 源码学习

引入依赖 <dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-core</artifactId> <version&g...[2024/2/21]

十八张图带你入门实时监控系统HertzBeat

我们经常讲:研发人员有两只眼睛,一只是监控平台,另一只是日志平台。在对性能和高可用讲究的场景里,监控平台的重要性再怎么强调也不过分。 这篇文章,我们聊聊开源实时监控告警系统 HertzBeat 赫兹跳动。 1 产品特色 HertzBeat 有两个非常鲜明的特色:强大的监控模版和无需 Ag...[2024/2/7]

事务提交之后再执行某些操作 → 引发对 TransactionSynchronizationManager 的探究

事务提交之后再执行某些操作 → 引发对 TransactionSynchronizationManager 的探究

开心一刻   昨晚,小妹跟我妈聊天   小妹:妈,跟你商量个事,我想换车,资助我点呀   妈:哎呀,你那分扣的攒一堆都够考清华的,还换车资助点,有车开就不错了   小妹:你要是这么逼我,别说哪天我去学人家傍大款啊   妈:哎呀妈,你脸上那褶子比你人生规划都清晰,咋地,大款缺地图呀,找你?...[2024/1/29]

手把手带你上手swagger3

配置POM 只需要加一个依赖,并且要注意,swagger3在springboot2.5版本以上会出现问题 <dependency> <groupId>io.springfox</groupId> ...[2024/1/24]

mysql和redis库存扣减和优化

前言 大流量情况下的库存是老生常谈的问题了,在这里我整理一下mysql和redis应对扣除库存的方案,采用jmeter进行压测。 JMETER设置 库存初始值50,线程数量1000个,1秒以内启动全部,一个线程循环2次,共2000个请求 MySQL方案 初始方案 <updat...[2024/1/19]

Guava Cache 异步刷新技巧,你值得拥有!

Guava Cache是一款非常优秀的本地缓存框架,提供简洁易用的 API 供开发者使用。 这篇文章,我们聊聊如何使用 Guava Cache 异步刷新技巧带飞系统性能 。 1 基本用法 首先,在 Java 应用中添加 maven 依赖: <dependency> ...[2024/1/3]

23年底,我出齐了Spring boot,Spring cloud和案例方面的书,正在写一本面试书(代年终总结)

年末了,再来总结一下吧,希望本人明年的年终总结文还能在博客园发。 这次总结的主题是本人出的java书。这几年本人出了不少书,其中有python、redis和Java方面的。 姑且不说其它,java方面,本人出了spring boot,spring cloud(第一代),spring clou...[2023/12/29]

Spring Boot 2.x 到 3.2 的全面升级指南

Spring Framework 是一种流行的开源企业级框架,用于创建在 Java Virtual Machine (JVM) 上运行的独立、生产级应用程序。而Spring Boot 是一个工具,可以让使用 Spring 框架更快、更轻松地开发 Web 应用程序和微服务。随着 Spring Bo...[2023/12/29]

【流式传输】使用Spring Boot实现ChatGpt流式传输

【流式传输】使用Spring Boot实现ChatGpt流式传输

引言     在ChatGpt火了这么久,他的那种单字单字返回的格式可能让很多朋友感到好奇,在之前我用c#写了一个版本的,同时支持IAsyncEnumerable以及SSE,今天把之前写的Java版本的也发出来,和大家一起学习,有不对的地方,欢迎各位大佬指正。 Code     我这边用的是J...[2023/12/21]

ConcurrentModificationException日志关键字报警引发的思考

本文将记录和分析日志中的ConcurrentModificationException关键字报警,还有一些我的思考,希望对大家有帮助。 一、背景 近期,在日常的日志关键字报警分析时,发现我负责的一个电商核心系统在某时段存在较多ConcurrentModificationException异常日...[2023/12/11]

【实用+干货】如何使用Clickhouse搭建百亿级用户画像平台看这一篇就够了

背景 如果你是用户,当你使用抖音、小红书的时候,假如平台能根据你的属性、偏好、行为推荐给你感兴趣的内容,那就能够为你节省大量获取内容的时间。 如果你是商家,当你要进行广告投放的时候,假如平台推送的用户都是你潜在的买家,那你就可以花更少的钱,带来更大的收益。 这两者背后都有一项共同的技术支撑,...[2023/12/5]

用户注册这样玩,保你平安

前言 基本上每个系统系统都包含用户注册、发送验证码等基本操作。在前些年,我还记得我在逛 csdn、贴吧、网易新闻等网站的时候是可以不登陆也能浏览完网页内容的,但是近几年这些网站已经改成了不登陆不让用,浏览网页时不时提醒你要进行登录,对于一些不喜欢注册的用户造成了相当大的困扰。 但是不知道大家有...[2023/12/1]

三个月写了个短信平台,开源出来!

三个月写了个短信平台,开源出来!

1 初心 大家好,我是勇哥。花了三个月的时间,我手写了个短信平台服务 platform-sms,今天开源出来 Beta 版本。 写这个开源项目的初心其实很简单:"帮助初中级研发工程师入门架构设计,提升他们的技术认知"。 2018年,作为架构师,我参与一个短信平台的重构。发送短信的场景包括...[2023/11/29]

简单地聊一聊Spring Boot的构架

本文由葡萄城技术团队发布。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 前言 本文小编将详细解析Spring Boot框架,并通过代码举例说明每个层的作用。我们将深入探讨Spring Boot的整体架构,包括展示层、业务逻辑层和数据访问层。通...[2023/11/15]

产品代码都给你看了,可别再说不会DDD(十):CQRS

这是一个讲解DDD落地的文章系列,作者是《实现领域驱动设计》的译者滕云。本文章系列以一个真实的并已成功上线的软件项目——码如云(https: www.mryqr.com)为例,系统性地讲解DDD在落地实施过程中的各种典型实践,以及在面临实际业务场景时的诸多取舍。 本系列包含以下文章: D...[2023/11/6]

Prometheus+Grafana实现服务性能监控:windows主机监控、Spring Boot监控、Spring Cloud Alibaba Seata监控

Prometheus+Grafana实现服务性能监控:windows主机监控、Spring Boot监控、Spring Cloud Alibaba Seata监控

1、Prometheus介绍 Prometheus使用Go语言开发,中文名称叫:普罗 米修斯。Prometheus是一个开源系统最初在SoundCloud构建的监控和警报工具包。自 2012 年成立以来,许多公司和组织已经采用了 Prometheus,它现在是一个独立的开源项目并独立于任何公司...[2023/11/3]

Isito 入门(九):安全认证

本教程已加入 Istio 系列:https: istio.whuanle.cn 目录7,认证Peer AuthenticationPeerAuthentication 的定义实验RequestAuthencationRequestAuthencation 的定义AuthorizationPol...[2023/11/1]

高性能日志脱敏组件:已支持 log4j2 和 logback 插件

项目介绍 日志脱敏是常见的安全需求。普通的基于工具类方法的方式,对代码的入侵性太强,编写起来又特别麻烦。 sensitive提供基于注解的方式,并且内置了常见的脱敏方式,便于开发。 同时支持 logback 和 log4j2 等常见的日志脱敏插件。 拓展阅读 金融用户敏感数据如何优雅地实现...[2023/10/19]

【译】为什么命名“它”为依赖属性(DependencyProperty)

当我们创建新的类和成员时,我们花费了大量的时间和精力是它们尽可能的好用,好理解,好发现。通常我们会遵循.Net框架设计指南,尤其是会不断地研究这个新类与其他类,未来计划等内容之间的关系。 当命名依赖属性(DependencyProperty)和依赖对象(DependencyObject)的时候...[2023/10/13]

若依(ruoyi)开源系统保姆级实践-完成第一个页面

若依(ruoyi)开源系统保姆级实践-完成第一个页面

一、案例描述 若依官网文档地址:http: doc.ruoyi.vip/ruoyi/document/hjbs.html 本教程主要内容,自定义数据库表,使用若依开源系统生成代码并配置权限。 若依环境配置 新建数据表t_user,利用若依代码生成工具生成服务端及页面代码。 菜单配置 权限配置...[2023/10/11]

Spring Boot虚拟线程与Webflux在JWT验证和MySQL查询上的性能比较

Spring Boot虚拟线程与Webflux在JWT验证和MySQL查询上的性能比较

早上看到一篇关于Spring Boot虚拟线程和Webflux性能对比的文章,觉得还不错。内容较长,我就不翻译了,抓重点给大家介绍一下这篇文章的核心内容,方便大家快速阅读。 测试场景 作者采用了一个尽可能贴近现实操作的场景: 从授权头信息中提取JWT 验证JWT并从中提取用户的Email 使...[2023/9/20]

深入浅出:SPI机制在JDK与Spring Boot中的应用

本文分享自华为云社区《Spring高手之路14——深入浅出:SPI机制在JDK与Spring Boot中的应用》,作者:砖业洋__ 。 Spring Boot不仅是简化Spring应用开发的工具,它还融合了许多先进的机制。本文深入探讨了Spring Boot中与Java的标准SPI相似的机制,揭...[2023/9/15]

Node.js vs. Spring Boot:Hello World 性能对决,谁更快一点?

前言: Spring Boot 在 Java 生态中备受欢迎,它是一款基于 Java 构建的轻量级服务端框架,主要用于 Web 服务。Spring Boot 的应用使得创建各类基于 Spring 的企业级应用变得异常简单。Node.js作为一种基于Chrome V8引擎的JavaScript运行...[2023/9/14]

分布式锁的3种实现!附代码

分布式锁是一种用于保证分布式系统中多个进程或线程同步访问共享资源的技术。同时它又是面试中的常见问题,所以我们本文就重点来看分布式锁的具体实现(含实现代码)。 在分布式系统中,由于各个节点之间的网络通信延迟、故障等原因,可能会导致数据不一致的问题。分布式锁通过协调多个节点的行为,保证在任何时刻只...[2023/9/13]

@Async注解详解 以及 可能遇到的各种问题

一、简介 1)在方法上使用该@Async注解,申明该方法是一个异步任务; 2)在类上面使用该@Async注解,申明该类中的所有方法都是异步任务; 3)方法上一旦标记了这个@Async注解,当其它线程调用这个方法时,就会开启一个新的子线程去异步处理该业务逻辑。 4)使用此注解的方法的类对象,必须是...[2023/9/13]

Spring Boot 中使用 Poi-tl 渲染数据并生成 Word 文档

Spring Boot 中使用 Poi-tl 渲染数据并生成 Word 文档

本文 Demo 已收录到 demo-for-all-in-java 项目中,欢迎大家 star 支持!后续将持续更新! 前言 产品经理急冲冲地走了过来。「现在需要将按这些数据生成一个 Word 报告文档,你来安排下」 项目中有这么一个需求,需要将用户填写的数据填充到一个 Word 文...[2023/9/10]

小知识分享:控制层尽量别暴露这样的接口,避免横向越权。

小知识分享:控制层尽量别暴露这样的接口,避免横向越权。

前言 谈不上是多么厉害的知识,但可能确实有人不清楚或没见过。 我还是分享一下,就当一个小知识点。 如果知道的,就随便逛逛,不知道的,Get到了记得顺手点个赞哈。 正文 1、接口别随便暴露 当一个项目的维护周期拉长的时候,不断有新增的需求,如果经手的人也越来越多,接口是会肉眼可见增多的...[2023/9/9]

562
2
记录数:398 页数:1/812345678下一页尾页
 友情链接:直通硅谷  直通硅谷 怎么样 mac软件下载
加载更多