自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

萧曳丶

多品味

  • 博客(758)
  • 资源 (321)
  • 收藏
  • 关注

原创 HotSpot JVM 运行结构 图解

JVM 结构

2022-04-01 16:02:32 669 1

原创 技术最全 知识图谱 - 2019年各行业知识图谱

2019-12-02 23:36:37 8126 6

原创 极客时间 IT 20+ 张 各架构 高清技能图谱

2019-04-16 13:54:34 9473 12

原创 IDEA启动项目报错:java: java.lang.OutOfMemoryError: Java heap space

修改构建堆进程大小。

2024-09-20 16:16:33 134

原创 volatile 浅谈

在Java中,volatile 关键字是一种轻量级的同步机制,它用于确保变量的可见性和有序性,但不保证原子性。当我们说 volatile 屏障时,我们实际上是在讨论 volatile 变量如何影响Java内存模型(JMM)中的操作重排序和内存可见性问题。

2024-08-15 18:00:44 217

原创 JAVA 如何获取线程中异常

在Java中,获取线程异常的方式通常依赖于你如何创建和管理线程。Java线程可以通过实现Runnable接口或继承Thread类来创建。对于异常处理,有几种方法可以做到这一点。

2024-08-15 17:03:30 231

原创 NIO线程模型

通道是NIO中用于数据读写的组件,类似于标准IO中的流,但与之不同的是,通道是可以双向读写的。:选择器是NIO中的一个重要组件,用于检测一个或多个通道,并确定哪个通道已经准备好进行读或写。这样,一个单独的线程可以管理多个通道,从而实现高效的IO操作。:在NIO中,所有的数据读写都是通过缓冲区来进行的。:根据选择器返回的就绪事件,对相应的通道进行读写操作。:由于NIO采用了非阻塞的方式,因此可以避免传统IO模型中的阻塞现象,提高IO效率。:首先,需要将通道注册到选择器中,并指定感兴趣的事件(如读、写等)。

2024-08-09 16:26:52 443

原创 SpringBoot3 响应式编程

响应式编程是一种编程范式,它使用异步数据流来处理数据,并基于观察者模式来触发事件的响应。在Spring Boot 3中,响应式编程主要通过Spring WebFlux和Spring Data R2DBC等组件来实现。Spring Boot 3中的响应式编程通过Spring WebFlux和Spring Data R2DBC等组件提供了强大的异步、非阻塞和基于事件的数据处理能力。这使得开发者能够构建高性能、可扩展的Web应用程序,以应对现代互联网应用中的高并发和实时数据处理挑战。

2024-08-09 14:40:40 622

原创 Spring Boot 3 新特性

Spring Boot 3 官方支持Java 17,并且由于Java 17带来了许多新特性(如Record类、密封类和接口、模式匹配等),Spring Boot 3 也对这些新特性进行了优化和整合,使得开发者可以更高效地编写代码。: Spring Boot 3 基于 Spring Framework 6 构建,后者同样支持Java 17,并引入了许多新特性,如更细粒度的配置、更高效的日志记录、对WebFlux的增强等。这些改进使得开发者可以更方便地跟踪和诊断应用程序中的问题。

2024-08-09 14:00:04 687

原创 JVM 加载阶段 Class对象加载位置是在 堆中还是方法区?

Class对象的加载位置:Class对象本身是加载到堆区中的。类的类型信息加载位置:类的类型信息(元数据)是加载到方法区(或元空间)中的。因此,对于问题“jvm 加载阶段 Class加载到堆中还是方法区”,答案是:Class对象加载到堆中,而类的类型信息加载到方法区(或元空间)中。这两个区域在JVM的类加载过程中都扮演着重要的角色,共同支持着Java程序的运行。

2024-08-06 17:56:45 558

原创 Redis 缓存击穿、穿透、雪崩

缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又都去数据库去取数据,引起数据库压力瞬间增大,造成过大压力。在这个时间段内,对缓存中的所有key的访问都会落在DB上,造成DB访问量骤增,引起DB压力瞬间增大,甚至导致DB宕机。: 缓存穿透是指用户查询数据,在数据库没有,缓存中自然也不会有。:在访问缓存之前,先使用分布式锁或其他并发控制手段,确保只有一个线程或进程去数据库查询,并将结果更新到缓存中,其他线程或进程则等待缓存更新后访问。

2024-08-06 17:44:49 335

原创 Mysql 组合索引最左原则

MySQL中的组合索引(也称为复合索引或联合索引)是基于表中多个列创建的索引。当查询条件中使用了组合索引中的列时,MySQL可以利用这个索引来加速查询。然而,在使用组合索引时,必须遵循一个重要的原则,即“最左前缀原则”(Leftmost Prefix Rule)。

2024-08-06 16:36:52 283

原创 Spring Boot 常用设计模式

在Spring Boot中,常用的设计模式多种多样,这些设计模式不仅帮助维护了代码的清晰度和灵活性,还使得框架易于扩展和维护。

2024-08-06 16:18:47 1380

原创 Java NIO(Non-blocking I/O)简单理解

Java NIO是Java平台中用于高效输入/输出(I/O)操作的一套新的API,与标准的Java I/O(基于流的阻塞I/O)不同,Java NIO提供了非阻塞式的I/O操作。

2024-08-06 15:28:24 434

原创 JAVA 分层规约

Web 层绝不应该继续往上抛异常,因为已经处于顶层,如果意识到这个异常将导致页面无法正常渲染,那么就应该直接跳转到友好错误页面,尽量加上友好的错误提示信息。• BO(Business Object):业务对象,可以由 Service 层输出的封装业务逻辑的对象。3. Web 层:主要是对访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理等。• VO(View Object):显示层对象,通常是 Web 向模板渲染引擎层传输的对象。层,产生的异常类型有很多,无法用细粒度的异常进。

2024-08-05 14:30:16 348

原创 Mysql binlog 三种模式

(二进制日志)有三种主要的模式,它们决定了二进制日志中记录信息的详细程度。这些模式对于复制、数据恢复以及审计等场景非常重要。)来设置binlog的模式。可以通过MySQL的配置文件(通常是。注意:修改配置后需要重启MySQL服务才能生效。

2024-08-04 10:59:20 244

原创 Seata 是什么

的分支事务纳入到全局事务的管理中。

2024-08-03 20:25:30 801

原创 Docker export 和 save 区别

docker export 和 docker save 的主要区别在于它们处理的对象和用途不同。‌。

2024-08-02 10:12:50 438

原创 Nginx 高级 扩容与高效

页面首次打开,直接读取缓存数据,刷新,会向服务器发起请求。

2024-08-01 15:31:18 659

原创 Nginx 常用配置

全局配置主要设置一些影响Nginx服务器整体运行的配置指令,包括运行Nginx的用户和组、进程数、日志文件路径等。用户和组:user [user] [group];指定运行Nginx的用户和用户组,默认为nobody。进程数:worker_processes auto;指定工作进程的数量,建议设置为CPU核心数或核心数的倍数。错误日志:error_log /var/log/nginx/error.log;指定全局错误日志文件的路径。PID文件:pid /run/nginx.pid;

2024-08-01 12:04:51 536

原创 Docker compose 一键安装超多中间件

注意:● 将下面文件中 kafka 的 119.45.147.122 改为你自己的服务器IP。● 所有容器都做了时间同步,这样容器的时间和linux主机的时间就一致了。

2024-07-29 16:55:27 495

原创 Docker 快速搭建 WordPress 个人博客系统

启动。

2024-07-29 16:17:32 188

原创 Centos7 Docker engine 安装并设置国内镜像源

请将 替换为您选择的镜像源的 URL。例如,阿里云的 Docker 镜像源 URL 可能类似于 https://.mirror.aliyuncs.com,其中 是您的阿里云账号 ID。在 CentOS 7 上安装 Docker Engine 并设置国内镜像源的过程可以分为两个主要步骤:安装 Docker Engine 和配置国内镜像源。验证配置: 运行一个 Docker 容器,并观察拉取镜像的速度,以验证是否已成功配置国内镜像源。安装 Docker CE: 安装最新版本的 Docker CE。

2024-07-29 12:23:19 533

原创 Linux 常用命令

安全地复制文件到远程主机或从远程主机复制文件到本地。:查看文件内容,也可以将多个文件内容合并输出。:强大的文本分析工具,用于处理文本和数据提取。:在文件中搜索匹配的行。:实时显示系统资源的使用情况和进程信息。:流编辑器,用于对文本进行过滤和转换。结合使用,可以显示所有用户的进程信息。用于查看文件和目录的磁盘空间占用情况。:显示系统信息,如内核版本、主机名等。:显示文件的前几行或后几行。(显示所有文件,包括隐藏文件)、:创建空文件或修改文件的时间戳。:显示当前工作目录的完整路径。:显示当前运行的进程。

2024-07-27 22:19:19 465

原创 Spring Security 原理

需求满足:如果应用程序有特定的安全需求,用户可以自定义Spring Security的配置。通过编写自定义过滤器、用户认证提供者、访问决策管理器等组件,用户可以扩展或修改Spring Security的行为以满足特定需求。

2024-07-27 21:26:45 428

原创 AutoConfigurationImportSelector 作用

可扩展性:通过实现AutoConfigurationImportSelector接口,开发者可以自定义Spring Boot的自动配置行为。这意味着开发者可以根据项目的具体需求,添加或修改自动配置的规则,从而实现更精细化的控制。灵活性:AutoConfigurationImportSelector提供了灵活的配置方式,允许开发者在不影响全局配置的情况下,针对特定场景进行定制。

2024-07-27 21:23:45 320

原创 Spring 可以通过多少种方式完成依赖注入?

依赖注入(Dependency Injection,DI)是一种设计模式,旨在通过将一个对象所需的依赖关系传递给它,来减少组件之间的耦合度,使得应用程序代码更加松耦合、易于维护和测试。

2024-07-27 21:17:27 342

原创 BeanFactory和ApplicationContext有什么区别?

BeanFactory:是Spring框架中最底层的接口,是IoC(控制反转)容器的核心。它主要负责Bean的定义、加载、实例化、依赖注入和生命周期管理。BeanFactory提供了IoC容器最基本的功能。ApplicationContext:是BeanFactory的子接口,它扩展了BeanFactory的功能,并提供了更全面的容器特性。ApplicationContext是Spring应用中的核心容器,用于管理和配置应用中的对象(称为beans)。

2024-07-27 21:14:54 324

原创 java8 字符串常量池存放在哪

在Java 8中,字符串字面量和其他类常量被存储在元空间(Metaspace)的字符串常量池中,而元空间是Java虚拟机(JVM)的本地内存的一个区域。如果没有,则会在字符串常量池中创建一个新的字符串,并将引用指向它。)不会被存储在字符串常量池中,它们总是被创建在Java堆上,并且与字符串常量池中的任何条目无关。需要注意的是,虽然字符串常量池在逻辑上位于元空间中,但字符串对象本身(即String类的实例)仍然位于Java堆上。字符串常量池中的条目只是对这些对象的引用,而不是对象本身。

2024-07-23 09:36:04 255

原创 JAVA CPU飚高排查方案和思路?

当Java程序CPU使用率异常飙高时,排查问题的方案和思路通常包括以下几个步骤:

2024-07-21 22:13:41 934

原创 硅谷甄选项目笔记

在vue框架中事件分为两种:一种是原生的DOM事件,另外一种自定义事件。原生DOM事件可以让用户与网页进行交互,比如click、dbclick、change、mouseenter、mouseleave…自定义事件可以实现子组件给父组件传递数据自定义事件可以实现子组件给父组件传递数据.在项目中是比较常用的。比如在父组件内部给子组件(Event2)绑定一个自定义事件在Event2子组件内部触发这个自定义事件我是子组件2

2024-07-01 12:47:43 1251

原创 Vue3快速上手

VUE3快速上手

2024-06-15 12:07:39 751

原创 JavaScript 原型链

2024-06-06 10:56:17 129

原创 Dockerfile ubuntu安装openjdk8 和 ffmpeg

【代码】Dockerfile ubuntu安装openjdk8 和 ffmpeg。

2024-05-28 17:14:53 271 1

原创 Dockerfile在jdk8基础镜像上,制作ffmpeg镜像

基础镜像,也可以改成自己的。

2024-05-22 19:11:57 572

原创 Dockerfile使用 alpine 基础镜像制作jdk运行环境

【代码】Dockerfile使用 alpine 基础镜像制作jdk运行环境。

2024-05-22 19:05:10 369

原创 解决Idea中maven无法下载源码

删除这一段。

2024-04-09 16:44:38 147

转载 java 实现 websocket的五种方式

本文主要讲述在Java技术领域实现websocket服务的五种方式.  使用Java原生代码实现websocket服务的方法, 此方法需要引入一个第三方库java-websocket.jar. 截至目前2023/01/01最新版本为1.5.3.  项目源代码位于: https://github.com/TooTallNate/Java-WebSocket  示例代码位于: https://github.com/TooTallNate/Java-WebSocket/tree/master/src/m

2024-02-06 16:06:00 9511 2

原创 Sentinel 源码分析

例如,我们在order-service服务中,将的方法标记为一个资源。1)首先在order-service中引入sentinel依赖

2024-02-05 10:33:40 1413

原创 Nacos 源码分析

要研究Nacos源码自然不能用打包好的Nacos服务端jar包来运行,需要下载源码自己编译来运行。Nacos的GitHub地址:https://github.com/alibaba/nacos课前资料中已经提供了下载好的 1.4.2版本的Nacos源码:如果需要研究其他版本的同学,也可以自行下载:大家找到其release页面:https://github.com/alibaba/nacos/tags,找到其中的1.4.2.版本:点击进入后,下载Source code(zip):我们的课前资料提供了一个微服

2024-02-05 10:23:14 1563 1

基于三菱PLC的时序循环电路通用设计方法.pdf

基于三菱PLC的时序循环电路通用设计方法

2021-11-28

A700使用手册(应用篇)chnc.pdf

A700使用手册(应用篇)chnc.pdf

2021-11-28

2021中国HR生存发展现状白皮书-三茅·2号人事部.pdf

2021中国HR生存发展现状白皮书-三茅·2号人事部.pdf

2021-07-21

深度学习与TF-PPT和代.zip

深度学习与TensorFlow 2入门实战(完整版)

2020-05-23

谷粒商城电商项目 ( 大型分布式基础+高级、高可用集群部署)(全栈开发篇)

谷粒商城电商项目 ( 大型分布式基础+高级、高可用集群部署)(全栈开发篇)

2020-05-22

第六期微服务架构-SpringCloudAlibaba代码和文档.zip

第六期微服务架构-SpringCloudAlibaba代码和文档.zip

2020-05-21

MybatisCodeHelperNew-Pro.zip

IDEA Mybatis 插件 MybatisCodeHelperNew-Pro

2020-05-01

亿图图示 9.4.zip

亿图图示 9.4.zip

2020-04-29

Centos7重置密码.txt

Centos7重置密码.txt

2020-04-25

代码规范 .pdf

代码规范 .pdf

2020-04-25

iOS-面试宝典3.0.pdf

iOS-面试宝典3.0.pdf

2020-04-25

iOS面试题2019年度总结188题(下).pdf

iOS面试题2019年度总结188题(下).pdf

2020-04-25

阿里巴巴大规模流媒体的闪烁运行时改进.pdf

阿里巴巴大规模流媒体的闪烁运行时改进.pdf

2020-04-25

JAVA 面试入坟系列(0.0.1) By_萧曵丶.pdf

JAVA 面试入坟系列(0.0.1) By_萧曵丶.pdf

2020-04-13

JAVA 面试入坟系列(思维导图) By_萧曵丶.pdf

JAVA 面试入坟系列(思维导图) By_萧曵丶.pdfJ

2020-03-22

线程编程方面.doc

线程编程方面.doc

2020-03-21

消息中间件面试专题及答案.pdf

消息中间件面试专题及答案.pdf

2020-03-21

小算法题总结.xmind

小算法题总结.xmind

2020-03-21

性能优化PPT.pdf

性能优化PPT.pdf

2020-03-21

最新JAVA面试题总结之数据库.docx

最新JAVA面试题总结之数据库.docx

2020-03-21

最新JAVA面试题总结之框架.docx

最新JAVA面试题总结之框架.docx

2020-03-21

最新JAVA面试题总结之基础.docx

最新JAVA面试题总结之基础.docx

2020-03-21

最新JAVA面试题总结之Redis.docx

最新JAVA面试题总结之Redis.docx

2020-03-21

最新JAVA面试题总结之JavaWeb.docx

最新JAVA面试题总结之JavaWeb.docx

2020-03-21

优秀简历的编写思路.pdf

优秀简历的编写思路.pdf

2020-03-21

智联招聘2017 面试题.pdf

智联招聘2017 面试题.pdf

2020-03-21

中级程序员必备面试题.txt

中级程序员必备面试题.txt

2020-03-21

黑马Nacos jar包分析

黑马Nacos jar包分析 和 protoc-3.17.3-win64

2024-02-05

cloud-source-demo

cloud-source-demo

2024-02-05

麻省理工学院公开课:微分方程课件.zip

麻省理工学院公开课:微分方程课件.zip

2021-12-10

麻省理工学院开放课程.算法导论课件

算法

2021-12-10

三菱QD75定位模块用户手册.pdf

三菱QD75定位模块用户手册

2021-11-28

三菱PLC的QD75M系列-使用教程.pdf

三菱PLC的QD75M系列-使用教程

2021-11-28

三菱PLC的QD75M系列-使用教程(20150410172124).pdf

三菱PLC的QD75M系列-使用教程(20150410172124)

2021-11-28

利用VB和三菱FX_PLC开发小型自控系统.pdf

利用VB和三菱FX_PLC开发小型自控系统

2021-11-28

QD75定位模块教程.pdf

QD75定位模块教程

2021-11-28

电气自动化技术网提供.txt

电气自动化技术网提供

2021-11-28

MR-JE-A技术资料集(Eng)sh030128c.pdf

MR-JE-A技术资料集(Eng)sh030128c

2021-11-28

MT500程序转换成MT8000.pdf

MT500程序转换成MT8000

2021-11-28

FR-F500J使用手册(详细篇).pdf

FR-F500J使用手册(详细篇)

2021-11-28

空空如也

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

TA关注的人

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