自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 nginx中proxy_pass的值带上双引号有什么作用

的值用双引号括起来通常是为了确保Nginx能够正确解释包含特殊字符或变量的目标地址,从而避免潜在的配置错误。但对于大多数情况下,使用双引号并不是必需的,只要目标地址没有包含特殊字符或变量,通常可以直接指定不用双引号。:如果目标地址中包含空格或其他特殊字符,将其用双引号括起来可以确保Nginx正确解释地址,而不会将其视为配置文件中的语法错误。在这种情况下,将目标地址用双引号括起来可以确保Nginx正确解释包含变量的地址。在这种情况下,双引号可确保Nginx将整个目标地址视为单个参数。

2024-04-18 13:52:20 242

原创 TCP协议复习

综合来看,发送方通过SEQ字段发送数据,并期待接收到接收方的ACK报文段来确认数据的成功接收;而接收方通过发送ACK报文段来确认已经成功接收到数据,并在其中的ACK字段中指示下一个期望接收的数据序列号。这种机制保证了TCP连接的可靠性和顺序传输的正确性。总结来说,SYN报文用于建立连接,FIN报文用于终止连接。通过这两种控制报文,TCP协议实现了可靠的连接建立和关闭过程。这些报文共同构成了TCP连接的建立、数据传输和连接终止过程中的控制和管理机制。

2024-04-16 10:08:33 397

转载 Maven依赖管理之BOM

BOM全称是Bill Of Materials,译作材料清单。BOM本身并不是一种特殊的文件格式,而是一个普通的POM文件,只是在这个POM中,我们罗列的是一个工程的所有依赖和其对应的版本。该文件一般被其它工程使用,当其它工程引用BOM中罗列的jar包时,不用显示指定具体的版本,会自动使用BOM对应的jar版本。所以BOM的好处是用来管理一个工程的所有依赖版本信息。

2024-04-10 10:29:38 24 1

原创 钩子函数和副作用

在这个示例中,父组件定义了一个名为的回调函数,并将其作为props传递给子组件。当子组件内部状态更新时,会调用函数,该函数会首先更新子组件的状态,然后调用父组件传递的回调函数,将更新后的state内容作为参数传递给父组件。最后,父组件接收到子组件传递的state内容,并更新自身状态以反映这一变化。

2024-04-10 10:14:17 393

原创 jvm堆知识

你提到了JVM(Java虚拟机),它是Java程序的运行环境,负责将Java字节码转换为特定平台的机器代码,并执行这些代码。:Java源代码经过编译器编译生成的中间代码,与特定平台无关,可以在任何支持Java的环境中执行。这些字节码被存储在以.class为后缀的文件中。:负责将类文件加载到内存中,并生成对应的Class对象。类加载器通常按照特定的层次结构进行组织,可以从不同的位置加载类文件,例如文件系统、网络等。:JVM在内存中管理的各种数据结构,包括方法区、堆、栈、程序计数器和本地方法栈等。

2024-04-10 09:56:11 637

原创 关于create table as

该语句对"列结构"是可以正常复制的,只有索引、主键等信息会丢失,原以为"AUTO_INCREMENT"是属于id这一列的列信息,看起来并不是。create table as这个语句的不熟悉,这个语句建表导致的表主键、索引、

2024-04-08 17:16:16 188

原创 常见的sql优化策略

综上所述,SQL 优化是数据库性能优化的重要组成部分,通过合理设计数据库结构、优化查询语句、使用索引等策略,可以有效提高 SQL 查询的性能。索引可以加速 SQL 查询的速度,特别是对于经常用于筛选、排序和连接的列。确保在经常查询的列上创建合适的索引,以提高查询性能。根据查询需求选择合适的连接方式,如 INNER JOIN、LEFT JOIN、RIGHT JOIN 等,以最小化数据集的大小。定期执行数据库维护操作,如索引重建、统计信息更新等,以确保数据库的性能保持在一个较高的水平。

2024-04-03 13:31:35 619

原创 nginx中配置的ssl_certificate_key和ssl_certificate是什么,是如何发挥作用的

当客户端与服务器建立连接时,Nginx会使用指定的证书和私钥来进行SSL/TLS握手过程。客户端会验证服务器提供的证书,并使用服务器的公钥加密会话密钥,以确保通信的机密性和完整性。SSL证书文件包含用于验证服务器身份的公钥以及相关信息,如服务器的域名和证书颁发机构(CA)的签名。: 这个指令用于指定SSL证书的私钥文件的路径。私钥文件通常包含与SSL证书配对的私钥,用于加密和解密通信中的数据。私钥是SSL/TLS加密的关键组成部分,它用于生成加密的会话密钥和对数据进行解密。

2024-04-03 13:27:16 801

原创 如何理解Java中的cas

CAS,即 Compare and Swap,是一种并发编程中常用的原子操作,用于实现多线程环境下的同步。CAS 操作包括三个参数:内存位置(通常是一个变量的内存地址)、期望值和新值。操作的含义是:当且仅当内存位置的值等于期望值时,才将该位置的值更新为新值,否则不进行任何操作。在 Java 中,CAS 主要通过包中的原子类来实现。例如AtomicLong等。这些原子类提供了一系列的方法,比如,用于执行 CAS 操作。

2024-04-03 13:24:06 824

原创 nginx一个端口对应多个域名

头部字段来确定应该将请求发送到哪个域名所对应的虚拟主机上。然后,它会根据请求的 URI 和相应的配置来处理请求。在上面的示例中,Nginx 配置了三个不同的虚拟主机,它们分别对应了。块代表一个虚拟主机(或服务器块),其中包含特定域名的配置。要在Nginx上配置一个端口对应多个域名,您可以使用。当客户端发起请求时,Nginx 会根据请求中的。块定义了特定域名的配置,可以在每个。块中定义与该域名相关的具体配置。块来定义每个域名的配置。

2024-04-03 13:18:29 294

原创 tomcat架构

俗话说,站在巨人的肩膀上看世界,一般学习的时候也是先总览一下整体,然后逐个部分个个击破,最后形成思路,了解具体细节,Tomcat的结构很复杂,但是 Tomcat 非常的模块化,找到了 Tomcat最核心的模块,问题才可以游刃而解,了解了Tomcat的整体架构对以后深入了解Tomcat来说至关重要!一、Tomcat顶层架构先上一张Tomcat的顶层结构图(图A),如下:Tomcat中...

2024-03-12 10:21:23 669

原创 Springboot优雅开启与关闭入口流量

这种方法确保在Spring Boot应用程序关闭前关闭入口流量,从而确保你的应用程序在退出时处于正确的状态。通过这种方式,你可以确保在Spring Boot应用程序启动完成后再开启入口流量,从而确保你的应用程序处于稳定的状态下开始处理流量。要确保在Spring Boot关闭前关闭入口流量,你可以使用Spring Boot提供的一些生命周期回调机制。通过这种方式,你可以确保在Spring Boot应用程序关闭前关闭入口流量,从而保证了应用程序的正常关闭和资源的正确释放。这样,当应用程序关闭时,

2024-03-12 10:08:08 385

原创 maven中dependencyManagement

如果所在pom中dependency引入的依赖没有指定版本号,会以pom中dependencyManagement所制定的版本号为准吗。中指定了某个依赖的版本号,然后在项目的其他模块中引用该依赖却没有指定版本号,Maven 会自动使用。这样做的好处是能够在多个模块中统一管理依赖的版本号,从而提高项目的可维护性和一致性。中有指定版本号,那么 Maven 将会使用。元素中没有指定版本号,而且该依赖在。

2024-03-06 10:31:32 215

原创 在Kubernetes(K8s)中,CPU和内存的单位

在Kubernetes(K8s)中,CPU和内存的单位

2024-01-22 11:54:16 1174 1

原创 mysql之host is blocked问题

终于找到了一丝端倪,因为公司有一个检测mysql是否正常的服务,底层是使用telnet来检测的,导致每次telnet,mysql就会记录一次错误的链接,当达到了这个阈值Max_connect_errors,服务器的ip就会blocked,导致正常的程序,也无法创建链接了。毕竟指标不治本,抽出时间决定分析一下问题,查阅了几篇博客。程序上线一段时间之后,更新程序总是遇到这个问题。每次都是重启几次程序,或者执行。

2023-08-21 17:47:59 455 1

原创 管理者笔记

有效的沟通能力有助于建立良好的工作关系,减少误解和冲突,并促进团队的协作和合作。他们应该具备敏锐的洞察力和情商,能够理解他人的需求和动机,并建立积极的合作关系。长远思维:管理者应该具备长远思维,能够超越眼前的问题和挑战,设定明确的目标,并制定长远的战略规划。问题解决能力:管理者应该具备良好的问题解决能力,能够快速识别和解决团队面临的问题和挑战。他们应该能够分析和评估各种情况,做出明智的决策,并解决团队面临的问题和挑战。沟通和协作:与团队成员进行有效的沟通和协作,明确任务和目标,并确保团队理解和支持计划。

2023-06-29 22:09:20 273

原创 如何在logback.xml中自定义动态属性

首先定义一个类,实现PropertyDefiner接口,可以通过继承PropertyDefinerBase会更方便[[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tFC0gZ0t-1677490456717)(//common.cnblogs.com/images/copycode.gif)]](javascript:void(0);“复制代码”)/\*\*\*\* 将本地IP拼接到日志文件名中,以区分不同实例,避免存储到同一位置时的覆盖冲突问题try {

2023-02-27 17:39:05 1361

转载 getSecurityManager详解

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZsRPWgrO-1675067056442)(//common.cnblogs.com/images/copycode.gif)]](javascript:void(0);[[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YhgLdeuo-1675067056447)(//common.cnblogs.com/images/copycode.gif)]](javascript:void(0);

2023-01-30 16:26:08 1119

转载 JDK 动态代理和 CGLIB 动态代理

通过反编译生成的 JDK 代理类和 CGLIB 代理类,我们可以看到它们两种不同机制的实现: JDK 动态代理是通过实现目标类的接口,然后将目标类在构造动态代理时作为参数传入,使代理对象持有目标对象,再通过代理对象的 InvocationHandler 实现动态代理的操作。CGLIB 动态代理是通过配置目标类信息,然后利用 ASM 字节码框架进行生成目标类的子类。当调用代理方法时,通过拦截方法的方式实现代理的操作。总的来说,JDK 动态代理利用接口实现代理,CGLIB 动态代理利用继承的方式实现代理。

2023-01-30 16:23:15 237

转载 sql进阶「group by 和 distinct的异同」

在实际使用时,group by和distinct都可以实现单列去重及多列去重的功能,但在功能上,group by可以实现分组后的聚合功能;同时在执行层面上,group by会在多个reduce上并行执行,相比只在一个reduce上执行的distinct会快很多。

2023-01-06 15:20:26 269

原创 导出数据库表结构-供设计文档使用

【代码】导出数据库表结构-供设计文档使用。

2022-11-25 15:31:05 179

转载 MongoDB 5.0 报错Illegal instruction解决

七月的一声炮响,MongoDB Inc给我们送来了MongoDB 5.0,该版不仅带来了核心特性—时序集合,但若使用不慎还会给我们埋些小小的“坑”;如果您的环境正准备安装、试用或升级到MongoDB 5.0,那不妨留步讨论下。

2022-10-11 14:07:56 1287

转载 Nacos

Nacos 英文全称为 Dynamic Naming and Configuration Service,是一个由阿里巴巴团队使用 Java 语言开发的开源项目。Nacos 是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台(参考自)。我们可以将 Nacos 理解成服务注册中心和配置中心的组合体,它可以替换作为服务注册中心,实现服务的注册与发现;还可以替换作为配置中心,实现配置的动态刷新。

2022-10-11 10:16:06 323

转载 Mongodb的三种集群方式的搭建

二是停掉主节点,备节点能变成主节点提供服务。仲裁节点是一种特殊的节点,它本身并不存储数据,主要的作用是决定哪一个备节点在主节点挂掉之后提升为主节点,所以客户端不需要连接此节点。我开始也不相信必须要有仲裁节点,但是自己也试过没仲裁节点的话,主节点挂了备节点还是备节点,所以咱们还是需要它的。第一个命令很容易理解,第二个命令是对需要进行Sharding的数据库进行配置,第三个命令是对需要进行Sharding的Collection进行配置,这里的dcca_dccr_test即为Collection的名字。

2022-10-11 10:07:05 3961

转载 MongoDB集群部署模式

有三种集群部署模式,分别为主从复制(Master-Slaver)、副本集(Replica Set)和分片(Sharding)模式。Sharding 模式追求的是高性能,而且是三种集群中最复杂的。在实际生产环境中,通常将 Replica Set 和 Sharding 两种技术结合使用。

2022-10-11 10:05:34 1920

转载 JavaAIO底层JDK实现

AsynchronousServerSocketChannel:TCP监听套接字:AsynchronousSocketChannel:TCP连接套接字:继承树:异步通道组AsynchronousChannelGroup异步通道组封装了异步I/O完成的处理机制。异步通道创建时要绑定到一个异步通道组(未指定则为系统默认)。通道组使用Linux Epoll为组内所有通道进行异步IO,并将就绪IO操作分发到通道 。通道完成IO操作后,将完成处理器提交给通道组内部的线程池进行异步执行。继承树:异步通道提供商

2022-06-23 10:42:08 251

原创 关于t-io框架的学习

tio,t-io

2022-06-20 13:50:15 3025 1

转载 一个Java对象占用多大内存

​这个问题一般会出现在稍微高端一点的 Java 面试环节。要求面试者不仅对 Java 基础知识熟悉,更重要的是要了解内存模型。Java 对象模型HotSpot JVM 使用名为 oops (Ordinary Object Pointers) 的数据结构来表示对象。这些 oops 等同于本地 C 指针。 instanceOops 是一种特殊的 oop,表示 Java 中的对象实例。在 Hotspot VM 中,对象在内存中的存储布局分为 3 块区域:对象头(Header) .

2022-03-30 10:33:42 6359

转载 数据库索引失效情况

戳这里,加关注哦~索引在我们使用MySQL数据库时可以极大的提高查询效率,然而,有时候因为使用上的一些瑕疵就会导致索引的失效,无法达到我们使用索引的预期效果,今天介绍几种MySQL中几种常见的索引失效的原因,可以在以后的工作中尽可能避免因索引失效带来的坑。一、 被索引字段,发生了隐式类型转换MySQL在sql执行过程中,会将sql语句中与字段原类型不匹配的值,进行一个类型转换看个例子说明,我们创建一个user表,并且添加一个主键id索引,两个二级索引age和phoneCREATE TABLE 't_use

2022-03-29 11:01:27 3952

原创 Checked and Unchecked Exceptions

In Java programming, for every occurrence of an exception, there generates an exception object, which holds all the details of the exception. Then the program searches for its respective exception handler. If found, the exception is handled or resolved, or

2022-03-19 21:03:54 191

原创 springboot1.X升级2.X

1.Xserver.context-path=/chat-service-cispring.http.multipart.maxFileSize=30Mbspring.http.multipart.maxRequestSize=30Mb2.Xserver.servlet.context-path=xxxxspring.servlet.multipart.max-file-size=10Mbspring.servlet.multipart.max-request-size=100Mb

2021-12-28 15:14:29 1062

原创 jstatd监控

参照这个博客:Visual GC提示"不受此JVM支持“解决方案(配置jstatd) - 流柯 - 博客园Visual GC提示'不受此JVM支持“解决方案(配置jstatd)https://www.cnblogs.com/liu-ke/p/7411484.html如果有问题:jvisualvm连接到远程jstatd没有显示应用程序 | 经验摘录如何解决 《jvisualvm连接到远程jstatd没有显示应用程序》 经验,为你挑选了1个好方法。https://qa.1r1g.com/sf/ask/2

2021-12-27 11:44:06 195

原创 mongodb命令

版本:3.4.23用户增删改查> use adminswitched to db admin> db.auth('admin','123456')1> db.system.users.find().pretty()use admin // 表示这个账户在那个库验证db.createUser( { user: "adminUserName", pwd: "userPassword", roles:

2021-09-13 17:49:16 171

转载 Oracle数据库中的级联查询、级联删除、级联更新操作教程

这里整理了Oracle中的三种级联操作,其中Oracle定义外健的时候可以定义级联删除,但是没有级联修改的语法,当然可以用触发器实现,下面我们详细来看Oracle数据库中的级联查询、级联删除、级联更新操作教程...

2021-06-18 11:38:53 3438

转载 springboot项目启动成功后执行一段代码的两种方式

springboot项目启动成功后执行一段代码的两种方式 实现ApplicationRunner接口package com.lnjecit.lifecycle;import org.springframework.boot.ApplicationArguments;import org.springframework.boot.ApplicationRunner;import org.springframework.core.annotation.Order;import org..

2021-05-13 17:02:12 284

转载 WebMvcConfigurerAdapter已过时,替换接口或类

WebMvcConfigurerAdapter已经过时,在新版本2.x中被废弃,原因是springboot2.0以后,引用的是spring5.0,而spring5.0取消了WebMvcConfigurerAdapter以下WebMvcConfigurerAdapter 比较常用的重写接口/** 解决跨域问题 **/public void addCorsMappings(CorsRegistry registry) ;/** 添加拦截器 **/void addInterceptors(Int.

2021-02-02 16:17:59 852

原创 Oracle 表字段操作

?-- 添加字段alter table table_name add (字段名 字段类型 默认值 是否为空);alter table sf_users add (HeadPIC blob);alter table sf_users add (userName varchar2(30) default '空' not null);-- 修改字段alter table 表名 modify (字段名 字段类型 默认值 是否为空);alter table sf_InvoiceApply modify (BILLCO

2020-12-28 17:28:57 109

转载 Web前端的状态管理

Web前端的状态管理 背景我相信很多朋友跟我一样,初次听到什么 Flux ,  Redux ,  Vuex , 状态管理 的时候是一脸懵逼的。因为在外面之前前端大部分开发的时候,根本没有那么多的概念。自从ReactJS火爆后,什么 Flux, Redux,React全家桶 是一套一套接踵而来。搞的很多开发者甚是头大。所谓的ReactJS全家桶即 ReactJS + Redux + Webpack , 当然其中的Redux可以用其他例如 Mobx 之类的替换。原本可...

2020-12-27 17:18:24 400

转载 Springboot配置jetty

1.jetty介绍2.配置 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <!-- json库统一使用fastjs

2020-09-12 14:27:30 3057

转载 转载-同步异步,阻塞非阻塞

当你发现自己最受欢迎的一篇blog其实大错特错时,这绝对不是一件让人愉悦的事。《IO - 同步,异步,阻塞,非阻塞》是我在开始学习epoll和libevent的时候写的,主要的思路来自于文中的那篇link。写完之后发现很多人都很喜欢,我还是非常开心的,也说明这个问题确实困扰了很多人。随着学习的深入,渐渐的感觉原来的理解有些偏差,但是还是没引起自己的重视,觉着都是一些小错误,无伤大雅。直到有位博友问了一个问题,我重新查阅了一些更权威的资料,才发现原来的文章中有很大的理论错误。我不知道有多少人已经看过这...

2020-09-02 22:03:03 99

curl-7.73.0-win64-mingw.zip

curl_for_win64,网上不太好找,下载解压配置环境变量即可使用。

2021-01-22

mtputty.7z

轻量,实用。在开发过程中我们常常会有连接远程 lunix 服务器的需求,这个时候我们需要一个工具来帮助我们做这件事,而这类工具就是远程连接工具。常见的工具有XShell,SecureCRT,Putty等。这里我选用的是免费开源的Putty。MTPuTTY (多标签PuTTY) 帮助你管理不同的PuTTY连接,使用一个标签式的用户界面.每个 PuTTY 连接运行在不同的标签,你可以方便地切换它们。

2019-12-25

空空如也

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

TA关注的人

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