自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 什么时候触发Full GC

如果老年代剩余空间不足以容纳这些对象,就需要进行Full GC。需要注意的是,Full GC通常比Minor GC和CMS GC的停顿时间长,同时对于大型应用程序,Full GC可能会影响性能,因此应该尽量避免Full GC的发生。老年代空间不足:当老年代中没有足够的空间来分配一个大对象时,会先尝试进行Minor GC,如果仍然无法获得足够的空间,则会触发Full GC。Perm区空间不足:Perm区是存放类信息和常量池等元数据的区域,如果Perm区没有足够的空间来存放这些信息,就会触发Full GC。

2023-06-30 10:51:12 4119

原创 Runtime::new()与#[tokio::main]执行同一个异步方法举例说明

上面调用了runtime的block_on()方法,block_on要求一个Future作为参数,可以像上面一样直接使用一个async {}来定义一个Future。每一个Future都是一个已经定义好但尚未执行的异步任务,每一个异步任务中可能会包含其它子任务。await可以将已经定义好的异步任务立即加入到runtime的任务队列中等待调度执行,于此同时,await会等待该异步任务完成才返回。

2023-06-28 13:23:09 314

原创 如何解决idea项目中左右侧边栏消失

view->Appearance->Tool Windonws Bars

2023-06-25 13:49:18 554

原创 Rust异步编程之Tokio入门

一般来说,I/O受限(I/O Bound)的程序(程序执行的速度依赖于I/O子系统的速度)比起CPU受限(CPU Bound)的任务(程序执行的速度依赖于CPU的速度)可能更适合于异步任务的执行。异步编程,诀窍就是当CPU等待外部事件或动作时,异步运行时会安排其他可继续执行的任务在CPU上执行,而当从磁盘或者I/O子系统中断到达的时候,异步运行时会知道识别这事,并安排原来的任务继续执行。async,await关键字事rust标准库用于异步编程的内置核心原语集的代表,就是语法糖。

2023-06-21 10:56:00 2103

原创 tokio::select! 不是第一个就绪的异步任务如何处理

例如,在以下代码中,即使异步任务 task1 和 task2 同时就绪,tokio::select!当执行完一个任务后,tokio::select!在下一次迭代时会再次检查所有未完成任务的状态,然后选择另一个就绪的任务。宏会分别执行两个就绪的任务。当一个任务完成后,其相应的变量(例如 task1_done 或 task2_done)将被设置为 true,并且程序将在下一次迭代时继续检查其他任务。宏时,如果有多个异步任务同时就绪,它会选择其中一个任务进行处理。其他就绪的任务并不会被丢弃,而是留待下一次选择。

2023-06-12 15:34:07 276 1

原创 error: failed to run custom build command for `ring v0.16.20`问题解决

【代码】error: failed to run custom build command for `ring v0.16.20`问题解决。

2023-06-12 13:11:09 2891

原创 BIO,NIO,AIO,SELECT,POLL,EPOLL讲解

可以看到 *int bind(int sockfd, struct sockaddr *my_addr, socklen_t addrlen)*方法,该方法的作用是为ListenFd绑定一个本地的地址,以便于其它的socket(套接字),能够与其建立连接。可以看到 *int socket(int domain, int type, int protocol)*方法,该方法的作用是创建一个监听描述符ListenFd。,该方法接收具体的连接。

2023-05-18 11:26:23 343 1

原创 JVM(五):自定义类加载器

隔离加载类在某些框架内进行中间件与应用的模块隔离,把类加载到不同的环境。比如:阿里内某容器框架通过自定义类加载器确保应用中依赖的jar包不会影响到中间件运行时使用的jar包。再比如:Tomcat这类Web应用服务器,内部自定义了好几种类加载器,用于隔离同一个Web应用服务器上的不同应用程序。(类的仲裁–>类冲突)修改类加载的方式类的加载模型并非强制,除Bootstrap外,其他的加载并非一定要引入,或者根据实际情况在某个时间点进行按需进行动态加载扩展加载源。

2023-03-01 18:56:31 196

原创 JVM(三):类加载器

负责加载用户自定义路径下的类包。

2023-02-28 16:21:38 94

原创 JVM(四):双亲委派机制

如果一个类加载器在接到加载类的请求时,它首先不会自己尝试去加载这个类,而是把这个请求任务委托给父类加载器去完成,依次递归,如果父类加载器可以完成类加载任务,就成功返回。只有父类加载器无法完成此加载任务时,才自己去加载。单讲理论不行,直接看源码很直观,下面这段源码就是双亲委派机制的逻辑,总共就三句话概括,非常简单先检查这个类是否已经被加载过,直接走解析逻辑并返回。如果没被加载过则先由父加载器加载。如果父类加载器没加载成功,才由自己去加载。再简单一点讲就是父先上,父不行才轮到子上。

2023-02-02 13:22:06 106

原创 JVM(二):类加载过程

上图是类的整个生命周期,其中加载、连接、初始化是类加载的三个阶段。连接又分为验证、准备、解析三个子阶段。

2022-09-06 11:55:27 344

原创 Idea中jclasslib的安装与使用

Idea中jclasslib的安装与使用

2022-09-05 15:54:43 377

原创 HSDB使用

HSDB(Hotspot Debugger),JDK自带的工具,用于查看JVM运行时的状态。位于JDK安装目录 …/jdk/lib/sa-jdi.jar 包中,是sa-jdi.jar包中的一个函数。

2022-09-05 11:45:09 1080

原创 JVM(一):Klass模型

学习类的加载能帮助我们了解我们写的java类如何加载到JVM内存中以及整个生命周期,是我们知其所以然,明明白白写代码。

2022-09-02 17:18:15 1034

原创 Myabtis-Plus自定义代码生成器与自定义代码生成模板

在编写代码时我们会编写大量与业务无关的代码,比如Contoller,Service,Entity以及一些增删改查接口的定义,这些代码基本都是固定的模板,手动编写浪费大量时间,今天介绍一下Mybatis-Plus代码生成器来简化代码的开发,减少重复代码的编写。 ......

2022-08-29 13:31:40 1497

原创 MySQL Binlog简介

binlog(binary log,二进制日志)是MySQL server维护的一组日志文件,用来记录对数据进行修改的信息。

2022-08-13 16:30:07 1089

原创 Canal原理

在开发过程中我们经常有MySQL增量同步数据到其他数据源,比如kafka,elasticsearch等,一种方法是我们在自己代码里实现同步的逻辑,但是这样会带来数据不一致,代码耦合等问题。今天就介绍一款阿里巴巴开源的组件canal,实现增量数据订阅和消费。..................

2022-08-13 09:03:18 826

原创 canal实现mysql数据同步

canal.adapter配置文件application.yml中es的访问地址填,要加上http://,否则会连接不上。有些版本不要加,如果出现连接报错,可以参考一下这个解决方案。es7下同步数据的配置文件xxx.yml,在确认配置没有问题的情况下启动adapter查看日志报错的情况,建议删除掉这个配置文件,重新建一个新的配置文件,再进行配置。另外配置文件要有被访问的权限。.........

2022-07-28 18:41:37 1686

原创 VMware16虚拟机安装教程

我的电脑是Windows电脑,所以选择Workstation16ProforWindows下载,如果你的电脑事Linux系统,选择Workstation16ProforLinux下载。注意双击打开时会遇到打开较慢的情况,不要着急,等一会儿就会加载出来。注意许可证自己搜索vmware16许可证,填入即可。.........

2022-07-28 11:43:21 15566

原创 idea设置

一.IntelliJ IDEA中设置同时打开多个文件且分行显示

2019-06-26 09:50:37 140

原创 mysql数据库插入表情

问题:在评论或者其他带表情插入数据库时会出现如下错误:Cause: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x8C\x9D' for column 'nick_name' at row 1原因:普通的字符串或者表情都是占位3个字节,所以utf8足够用了;但是移动端的表情符号占位是4个字节,普通的utf8就不够用了;避...

2019-04-23 11:44:35 1100

转载 jsr 303

https://blog.youkuaiyun.com/qq920447939/article/details/80198438https://blog.youkuaiyun.com/larger5/article/details/79744569

2019-03-27 16:30:03 101

原创 Spring自动装配-@Autowired&@Qualifier&@Primary

1

2019-03-07 16:58:27 175

原创 spring属性赋值@Value赋值与@PropertySource加载外部配置文件

1.实体类package com.hjj.bean;import org.springframework.beans.factory.annotation.Value;public class Person { //使用@Value赋值; //1、基本数值 //2、可以写SpEL; #{} //3、可以写${};取出配置文件【properties】中的值(在运行环境变量里面的...

2019-03-07 14:43:17 814

原创 mysql常用语句

1.删除字段alter table table_name drop column table_column

2018-12-27 11:30:58 130

原创 notepad++ 行首,行末添加内容

行首,行末添加内容1.原始数据2.ctrl+F, ^代表行首,$代表行末,这里以行首为例3.替换结果

2018-12-14 14:52:21 1119

空空如也

空空如也

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

TA关注的人

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