- 博客(69)
- 资源 (2)
- 收藏
- 关注
原创 tomcat架构
俗话说,站在巨人的肩膀上看世界,一般学习的时候也是先总览一下整体,然后逐个部分个个击破,最后形成思路,了解具体细节,Tomcat的结构很复杂,但是 Tomcat 非常的模块化,找到了 Tomcat最核心的模块,问题才可以游刃而解,了解了Tomcat的整体架构对以后深入了解Tomcat来说至关重要!一、Tomcat顶层架构先上一张Tomcat的顶层结构图(图A),如下:Tomcat中...
2024-03-12 10:21:23 655
原创 Springboot优雅开启与关闭入口流量
这种方法确保在Spring Boot应用程序关闭前关闭入口流量,从而确保你的应用程序在退出时处于正确的状态。通过这种方式,你可以确保在Spring Boot应用程序启动完成后再开启入口流量,从而确保你的应用程序处于稳定的状态下开始处理流量。要确保在Spring Boot关闭前关闭入口流量,你可以使用Spring Boot提供的一些生命周期回调机制。通过这种方式,你可以确保在Spring Boot应用程序关闭前关闭入口流量,从而保证了应用程序的正常关闭和资源的正确释放。这样,当应用程序关闭时,
2024-03-12 10:08:08 367
原创 maven中dependencyManagement
如果所在pom中dependency引入的依赖没有指定版本号,会以pom中dependencyManagement所制定的版本号为准吗。中指定了某个依赖的版本号,然后在项目的其他模块中引用该依赖却没有指定版本号,Maven 会自动使用。这样做的好处是能够在多个模块中统一管理依赖的版本号,从而提高项目的可维护性和一致性。中有指定版本号,那么 Maven 将会使用。元素中没有指定版本号,而且该依赖在。
2024-03-06 10:31:32 201
原创 mysql之host is blocked问题
终于找到了一丝端倪,因为公司有一个检测mysql是否正常的服务,底层是使用telnet来检测的,导致每次telnet,mysql就会记录一次错误的链接,当达到了这个阈值Max_connect_errors,服务器的ip就会blocked,导致正常的程序,也无法创建链接了。毕竟指标不治本,抽出时间决定分析一下问题,查阅了几篇博客。程序上线一段时间之后,更新程序总是遇到这个问题。每次都是重启几次程序,或者执行。
2023-08-21 17:47:59 418 1
原创 管理者笔记
有效的沟通能力有助于建立良好的工作关系,减少误解和冲突,并促进团队的协作和合作。他们应该具备敏锐的洞察力和情商,能够理解他人的需求和动机,并建立积极的合作关系。长远思维:管理者应该具备长远思维,能够超越眼前的问题和挑战,设定明确的目标,并制定长远的战略规划。问题解决能力:管理者应该具备良好的问题解决能力,能够快速识别和解决团队面临的问题和挑战。他们应该能够分析和评估各种情况,做出明智的决策,并解决团队面临的问题和挑战。沟通和协作:与团队成员进行有效的沟通和协作,明确任务和目标,并确保团队理解和支持计划。
2023-06-29 22:09:20 264
原创 如何在logback.xml中自定义动态属性
首先定义一个类,实现PropertyDefiner接口,可以通过继承PropertyDefinerBase会更方便[[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tFC0gZ0t-1677490456717)(//common.cnblogs.com/images/copycode.gif)]](javascript:void(0);“复制代码”)/\*\*\*\* 将本地IP拼接到日志文件名中,以区分不同实例,避免存储到同一位置时的覆盖冲突问题try {
2023-02-27 17:39:05 1299
转载 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 1039
转载 JDK 动态代理和 CGLIB 动态代理
通过反编译生成的 JDK 代理类和 CGLIB 代理类,我们可以看到它们两种不同机制的实现: JDK 动态代理是通过实现目标类的接口,然后将目标类在构造动态代理时作为参数传入,使代理对象持有目标对象,再通过代理对象的 InvocationHandler 实现动态代理的操作。CGLIB 动态代理是通过配置目标类信息,然后利用 ASM 字节码框架进行生成目标类的子类。当调用代理方法时,通过拦截方法的方式实现代理的操作。总的来说,JDK 动态代理利用接口实现代理,CGLIB 动态代理利用继承的方式实现代理。
2023-01-30 16:23:15 225
转载 sql进阶「group by 和 distinct的异同」
在实际使用时,group by和distinct都可以实现单列去重及多列去重的功能,但在功能上,group by可以实现分组后的聚合功能;同时在执行层面上,group by会在多个reduce上并行执行,相比只在一个reduce上执行的distinct会快很多。
2023-01-06 15:20:26 252
转载 MongoDB 5.0 报错Illegal instruction解决
七月的一声炮响,MongoDB Inc给我们送来了MongoDB 5.0,该版不仅带来了核心特性—时序集合,但若使用不慎还会给我们埋些小小的“坑”;如果您的环境正准备安装、试用或升级到MongoDB 5.0,那不妨留步讨论下。
2022-10-11 14:07:56 1227
转载 Nacos
Nacos 英文全称为 Dynamic Naming and Configuration Service,是一个由阿里巴巴团队使用 Java 语言开发的开源项目。Nacos 是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台(参考自)。我们可以将 Nacos 理解成服务注册中心和配置中心的组合体,它可以替换作为服务注册中心,实现服务的注册与发现;还可以替换作为配置中心,实现配置的动态刷新。
2022-10-11 10:16:06 273
转载 Mongodb的三种集群方式的搭建
二是停掉主节点,备节点能变成主节点提供服务。仲裁节点是一种特殊的节点,它本身并不存储数据,主要的作用是决定哪一个备节点在主节点挂掉之后提升为主节点,所以客户端不需要连接此节点。我开始也不相信必须要有仲裁节点,但是自己也试过没仲裁节点的话,主节点挂了备节点还是备节点,所以咱们还是需要它的。第一个命令很容易理解,第二个命令是对需要进行Sharding的数据库进行配置,第三个命令是对需要进行Sharding的Collection进行配置,这里的dcca_dccr_test即为Collection的名字。
2022-10-11 10:07:05 3904
转载 MongoDB集群部署模式
有三种集群部署模式,分别为主从复制(Master-Slaver)、副本集(Replica Set)和分片(Sharding)模式。Sharding 模式追求的是高性能,而且是三种集群中最复杂的。在实际生产环境中,通常将 Replica Set 和 Sharding 两种技术结合使用。
2022-10-11 10:05:34 1866
转载 JavaAIO底层JDK实现
AsynchronousServerSocketChannel:TCP监听套接字:AsynchronousSocketChannel:TCP连接套接字:继承树:异步通道组AsynchronousChannelGroup异步通道组封装了异步I/O完成的处理机制。异步通道创建时要绑定到一个异步通道组(未指定则为系统默认)。通道组使用Linux Epoll为组内所有通道进行异步IO,并将就绪IO操作分发到通道 。通道完成IO操作后,将完成处理器提交给通道组内部的线程池进行异步执行。继承树:异步通道提供商
2022-06-23 10:42:08 242
转载 一个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 6307
转载 数据库索引失效情况
戳这里,加关注哦~索引在我们使用MySQL数据库时可以极大的提高查询效率,然而,有时候因为使用上的一些瑕疵就会导致索引的失效,无法达到我们使用索引的预期效果,今天介绍几种MySQL中几种常见的索引失效的原因,可以在以后的工作中尽可能避免因索引失效带来的坑。一、 被索引字段,发生了隐式类型转换MySQL在sql执行过程中,会将sql语句中与字段原类型不匹配的值,进行一个类型转换看个例子说明,我们创建一个user表,并且添加一个主键id索引,两个二级索引age和phoneCREATE TABLE 't_use
2022-03-29 11:01:27 3921
原创 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 185
原创 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 1055
原创 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 188
原创 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 159
转载 Oracle数据库中的级联查询、级联删除、级联更新操作教程
这里整理了Oracle中的三种级联操作,其中Oracle定义外健的时候可以定义级联删除,但是没有级联修改的语法,当然可以用触发器实现,下面我们详细来看Oracle数据库中的级联查询、级联删除、级联更新操作教程...
2021-06-18 11:38:53 3323
转载 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 280
转载 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 843
原创 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 106
转载 Web前端的状态管理
Web前端的状态管理 背景我相信很多朋友跟我一样,初次听到什么 Flux , Redux , Vuex , 状态管理 的时候是一脸懵逼的。因为在外面之前前端大部分开发的时候,根本没有那么多的概念。自从ReactJS火爆后,什么 Flux, Redux,React全家桶 是一套一套接踵而来。搞的很多开发者甚是头大。所谓的ReactJS全家桶即 ReactJS + Redux + Webpack , 当然其中的Redux可以用其他例如 Mobx 之类的替换。原本可...
2020-12-27 17:18:24 394
转载 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 3011
转载 转载-同步异步,阻塞非阻塞
当你发现自己最受欢迎的一篇blog其实大错特错时,这绝对不是一件让人愉悦的事。《IO - 同步,异步,阻塞,非阻塞》是我在开始学习epoll和libevent的时候写的,主要的思路来自于文中的那篇link。写完之后发现很多人都很喜欢,我还是非常开心的,也说明这个问题确实困扰了很多人。随着学习的深入,渐渐的感觉原来的理解有些偏差,但是还是没引起自己的重视,觉着都是一些小错误,无伤大雅。直到有位博友问了一个问题,我重新查阅了一些更权威的资料,才发现原来的文章中有很大的理论错误。我不知道有多少人已经看过这...
2020-09-02 22:03:03 95
转载 Vim常用操作
【背景知识】vim有 12 个粘贴板,分别是 0、1、2、...、9、a、“、+;用:reg 命令可以查看各个粘贴板里的内容。在vim中简单用 y 命令只是复制到 "(双引号)粘贴板里,同样用 p 命令粘贴的也是这个粘贴板里的内容; 要将vim的内容复制到某个粘贴板,需要先退出编辑模式,再进入命令模式后,选择要复制的内容,然后按 "Ny(注意带引号)完成复制,其中 N 为粘贴板号(注意是按下双引号 + 粘贴板号 + y),例如要把内容复制到粘贴板 a,选中内容后按 "ay...
2020-08-31 20:42:57 129
原创 前端知识笔记
1.es62.nodejs3.webpack//入门https://www.cnblogs.com/xlj-code/p/9241183.html4.react//importhttps://blog.csdn.net/Chris__wang/article/details/82977626//exporthttps://blog.csdn.net/ZYC8888...
2020-08-06 13:28:21 131
原创 vscode修改控制台颜色
setting文件增加:terminal.background "workbench.colorCustomizations": { "[Atom One Light]": { "editor.background": "#C7EDCC", "sideBar.background": "#F0F0F0", "activityBar.background": "#F0F0F0", }, "terminal.background" : "#.
2020-07-27 20:32:05 2468
转载 IDEA中新版本eslint报错 this.cliEngine is not a constructor
新版本ESLint报错TypeError: this.cliEngine is not a constructor点击details在控制台显示报错的位置TypeError: this.cliEngine is not a constructorTypeError: this.cliEngine is not a constructor at ESLintPlugin.invokeESLint (D:\Program Files\JetBrains\IntelliJ IDEA
2020-07-21 17:27:34 3511 2
原创 redis整合springboot
redis开启远程访问https://www.cnblogs.com/liuxiutianxia/p/11057120.htmlhttps://www.cnblogs.com/wanghy898/p/11194954.htmlredis:ERR Client sent AUTHhttps://blog.csdn.net/quanaianzj/article/details/84621743
2020-07-03 15:06:45 115
转载 如何解决idea Language level默认为5.0问题
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1<...
2020-07-01 10:34:04 761
原创 React笔记保存
2018 年,React 将独占前端框架鳌头?前端框架三巨头年度走势对比:Vue 增长率最高React数据流和组件间的沟通总结单向数据流和双向绑定各有什么优缺点?怎么更好的理解虚拟DOM?React中文文档 - 版本较低React 源码剖析系列 - 不可思议的 react diff深入浅出React(四):虚拟DOM Diff算法解析一看就懂的ReactJs入门教程(精华版)CSS Modules 用法教程将MarkDown转换为HTML页面..
2020-06-23 17:14:49 104
转载 Mybatis使用
1.where标签和trim标签的使用1 <where></where>标签的使用说明:在使用mybatis的动态sql时,有时候遇到根据条件判断添加where后面的筛选条件。会出现多余的“and”或者“or”,如下:<select id="findBlog" resultType="Blog"> SELECT * FROM BLOG WHERE <if test="state != null"> state
2020-06-15 11:25:57 141
转载 distinct与NULL在count的注意事项
distinct与NULL在count的注意事项select * from errorinfoselect count(1) from errorinfoselect distinct info from errorinfoselect count(distinct info) from errorinfodistinct 会将所有NULL合并为一项count(distinct)会将NULL除去。select count(distinct info), info from.
2020-06-09 21:39:55 1131
mtputty.7z
2019-12-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人