自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 V-install

【代码】V-install。

2023-06-11 12:17:48 133

原创 一次简单的问题排查背后蕴含的巨大的知识量

连续大片内存,回收时,JVM会还给操作系统,通过brk移动指针就可以办到。(malloc如果要向操作系统申请内存时,将brk指针向上移动,free如果要向操作系统归还内存时,将brk向下移动,这意味着,它必须归还最上面的连续内存)但是如果是很多的小的内存碎片,JVM不会还给操作系统,因为通过移动brk指针不能办到。操作系统显示一直保持这个值不变,但是GC日志显示已经回收了。

2023-05-25 19:08:18 509

原创 网络通讯组件性能优化之路

除了操作系统的代码本身更加卓越,其执行比以前更节省CPU资源以外,用户态可感知到的主要为:操作系统尽可能地减少了用户态代码完成一项任务所需要的调用系统调用的次数。ESA RestClient 是一个基于 Netty 的全链路异步事件驱动的高性能轻量级的HTTP客户端。//快速创建RestClient,各项配置均为默认配置。//如果用户想自定义一些配置,则可以使用RestClient.create()来进行自定义配置。

2023-05-05 20:37:55 1107 1

原创 C语言栈帧与Java栈帧

因为C语言编译成的汇编语言的指令集基本都是针对寄存器来进行操作的,而Java语言编译成的指令集 则是通过操作数栈来进行实现的。这样的设计使得Java在这一块可以屏蔽掉底层硬件的不同的寄存器组的个数等的差异。...............

2022-06-20 11:20:17 377

原创 自制操作系统系统性学习(OS)

项目地址:自制操作系统系统性学习前言操作系统,作为人类当前创造出来的最复杂的系统,其蕴含了大量精巧的设计。完全理解操作系统,应该是每一个程序员都想做的事情,但是每当我们想要去学习操作系统,了解其奥秘时,都会被里面 晦涩难懂的设计和一些闻所未闻的名词劝退。即使没有被劝退,非常痛苦的看完一本晦涩难懂的操作系统的书籍后,也会发现自己好像只是理解了一点操作系统的皮毛,并没有对其有一个很透彻的理解。而且时间长了之后,那些好不容易学到的"皮毛"也会被时间带来的“遗忘之风”吹散。而且操作系统不仅要求对底层的硬.

2022-05-16 21:34:46 272

原创 操作系统综合问题整理

CPU怎么从中断到调度,这段调度是在硬中断中还是软中断中调用sleep 或者io 阻塞这些线程挂起如何引起的调度两种(抢占,自愿)引起调度小时方式,调度过程消耗的cpu,算在谁中?cpu消耗是如何计算的?kill -9 如何实现进程间通讯的方式...

2022-05-12 10:58:55 175

原创 保护模式系统调用流程(涉及 IDT GDT)

INT 0x80;系统启动时 初始化 0x80 处为,System_call在 IDT的 0x80 处去寻找 中断描述符,找到中断处理函数。IDT:中断表, 找到 内核函数地址,并将CPL从3改为0,进入内核态。GDT: 通过 段选择子 和 偏移地址 来找到要执行的指令的真正地址。(其中 GDT 中的 DPL 如果 > 段选择子 的CPL)则硬件不允许执行这条指令。...

2022-04-26 18:18:56 249

原创 CPU的冒险及解决策略

几种冒险结构冒险存储器同时读冒险解决策略一: 插入bubble解决策略二: CPU将高速指令缓存 与 高速数据缓存 分为两个组件寄存器组 同时读 写 冒险解决方案:同一个时钟周期在前半个周期 来 写,后半个周期为 读数据冒险解决策略一: 插入bubble解决策略二: 数据前递但是无法解决 访存 数据依赖的问题暂行方案解决策略三: 代码重排序可以使得流水线不会发生停顿。控制冒险解决策略(解决冒险会增大开销,这里的解决策略是针对减少开销的策略的)延

2022-04-17 15:33:47 1273

原创 流水线的误解

不是每个指令都需要跑完所有步骤,不是从内存中获取数据的步骤不需要访存这一步骤。对内存中读取的值进行运算是伪指令,其实际分为从内存中读取到寄存器中、寄存器运算 两个指令。仿真的过程中由于 取指、译码、运算等都是顺时完成的,故一个时钟周期内就可以完成一个指令的执行。实际的执行过程并不是这样。流水线的意义流水线的意义值得不是指令按顺序执行,而是指的是 取指 译码 执行 访存 回写 五个步骤,每个步骤都并发地去执行。就像流水线上的多个工人一样。所以流水线 有一个 填满(多个指令开始运行时,逐渐让各个.

2022-04-16 15:57:18 274

原创 Java中栈和堆的区别

aload 与 getFiled栈帧局部变量表操作数栈返回值地址

2022-03-28 16:35:00 559

原创 graalvm-native-docker-file

FROM openjdk:11-jdkARG MAVEN_VERSION=3.8.4ARG USER_HOME_DIR="/root"ARG SHA=a9b2d825eacf2e771ed5d6b0e01398589ac1bfa4171f36154d1b5787879605507802f699da6f7cfc80732a5282fd31b28e4cd6052338cbef0fa1358b48a5e3c8ARG BASE_URL=https://apache.osuosl.org/maven/mave

2021-12-25 21:34:09 665

转载 maven之发布

https://zhuanlan.zhihu.com/p/141676033

2021-11-05 09:49:26 80

原创 做项目设计时的心态

作为一个普通的程序员,不要一开始就想着完美,以便于未来不再升级。尽管是行业内最好的几个项目,最棒的几个公司,也只是在不断的优化与迭代中进步。所以做项目时大胆一点,不完美也很好。...

2021-11-04 11:07:08 105

转载 SPI之Dubbo SPI

https://dubbo.apache.org/zh/docsv2.7/dev/source/dubbo-spi/

2021-11-04 10:10:51 98

转载 JAVA泛型

https://zhuanlan.zhihu.com/p/64584427

2021-11-01 15:28:53 66

转载 序列化与反序列化

https://tech.meituan.com/2015/02/26/serialization-vs-deserialization.html

2021-10-26 19:42:55 72

转载 GO的面向对象

https://code.tutsplus.com/zh-hans/tutorials/lets-go-object-oriented-programming-in-golang–cms-26540

2021-10-26 10:38:02 86

原创 GO语言——第一个Go程序

第一个Go程序package mainimport "fmt"func main() { fmt.Println("Hello, World!")}执行上面的代码:$ go run hello.goHello, World!此外,我们还可以使用 go build命令来生成二进制文件:$ go build hello.go $ lshello hello.go$ ./hello Hello, World!...

2021-10-25 19:38:03 109

原创 Cookie

Cookie简介Cookie翻译过来是‘ 小甜饼’,Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,实际上Cookie是服务器在本地机器上存储的一小段文本,并随着每次请求发送到服务器。Cookie技术通过请求和响应报文中写入Cookie信息来控制客户端的状态。Cookie的字段的属性与说明logcookie=qqqqqqqqq; //key 与 value expires=Wed, 13-Mar-2019 12:08:53 GMT; //过期时间,如果不设置,则默认关闭浏

2020-08-04 14:27:27 208

原创 Spring中的BeanDefinition系列(三)—— BeanDefinition实现类

前言在 Spring中的BeanDefinition系列(二)中,我们讲解了AbstractBeanDefinition,AbstractBeanDefinition是BeanDefinition实现类的公用代码部分,那么这一节我们就来讲解 BeanDefinition各个重点实现类。BeanDefinition重点实现类有哪些RootBeanDefinition– 不能设置paren...

2020-02-03 22:28:20 1563

原创 Spring中的BeanDefinition系列(二)—— AbstractBeanDefinition

typora-copy-images-to: ./前言​ AbstractBeanDefinition是最终全功能BeanDefinition实现类的基类 。因此它非常重要,搞明白了它,基本上也就明白了一大部分的Spring中的Bean组件。​ 一个因为实现了BeanDefinition接口的类有一些共用的方法和属性,因此需要一个类来完成它们公用的方法和属性,而AbstractBeanDe...

2020-02-03 22:12:38 970

原创 Spring中的BeanDefinition系列(一)—— BeanDefinition

前言​ Bean是Spring中必不可少的一个组件,Bean之于Spring,就像是 员工之于公司。Spring把每个不一样的对象都封装成了Bean,就像是公司把每个不一样的人都封装成了员工。​ 一个BeanDefinition描述和定义了创建一个bean需要的所有信息,属性,构造函数参数以及访问它们的方法。还有其他一些信息,比如这些定义来源自哪个类等等。自己设计BeanDefiniti...

2020-02-03 22:05:08 2199

原创 java模块,程序设计的又一大步

将写

2020-01-11 15:41:49 122

原创 SQLite优化之路——让SQLite油门到底

场景  服务需要不断接收数据,每次接收到数据都需要去数据库中寻找20分钟内该数据是否被接收并被处理过,然后根据是否处理过,对该数据再进行处理,最后将该数据再存入改数据库中。简化该场景,即为 接收数据——> 在数据库中查找一次——>存数据一次。开发过程中遇到的问题这是一个很简单的需求,但是再实际过程中却遇到了很多问题问题1:database is locked产生这个问题...

2019-10-13 17:55:34 2146

原创 SQLite总结

~

2019-08-22 19:40:51 272

原创 SpringBoot总结

Spring 框架功能很强大,但是就算是一个很简单的项目,我们也要配置很多东西。因此就有了Spring Boot框架,它的作用很简单,就是帮我们自动配置。Spring Boot框架的核心就是自动配置,只要存在相应的jar包,Spring就帮我们自动配置。如果默认配置不能满足需求,我们还可以替换掉自动配置类,使用我们自己的配置。Spring boot是一个在Spring 的基础上搭建的全新的微框架...

2019-08-19 20:46:14 711 1

原创 Springmvc总结

springmvc概述SpringMvc介绍什么是springmvcSpring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。springmvc优势1、...

2019-08-19 20:40:42 115

原创 数据库索引深入刨析

为什么要学数据库索引   相信谈到数据库,每一个职业程序员都会说自己会使用。但是会使用很多时候仅仅指的是会写增删改查的语句而已。如果把数据库比作一本书,那么程序员就是这本书总编辑。身为一个总编辑,仅仅会把记录的文字用订书机装订在一起可不够。至少要先明确这本书的内容,以选择合适的文体(选择使用哪一种数据库),还要会对这些内容进行排版(建立恰当的表),添加合适的目录(建立数据库的索引),选择舒服的纸...

2019-06-09 21:08:58 385

原创 锁相环知识相关

1.什么是锁相环锁相环电路是使一个特殊系统跟踪另外一个系统,更确切的说是一种输出信号在频率和相位上能够与输入参考信号同步的电路,它是模拟及数模混合电路中的一个基本的而且是非常重要的模块。2.锁相环的基本理论2.1 锁相环的工作原理锁相环作为一个系统,主要包含三个基本模块:鉴相器(Phase Detector:PD)、低通滤波器(LowPass Filter:LPF),亦即环路滤波器...

2019-06-07 11:12:46 26807 7

原创 数据库的事务和隔离级别深入刨析

数据库的事务前言  什么是事务,它的解释很简单,简单到你觉得这个东西没有多重要(事实当然不是如此,它很重要)。它的意思就是把好几句SQL语句当成一句话来执行。  但是这样简单的一句话,如果不结合代码和实践,很容易理解错误。我自己就是一直将其理解的不是很透彻(没错,这么简单我都理解错了,是有点蠢蠢的,究其原因就是因为觉得太简单了,所以没有用很多的代码去实践,这也导致我在下一步学习隔离级别的时候...

2019-06-05 17:08:47 230

原创 聊点关于CAP理论

为什么要谈CAP理论  为什么要谈CAP理论,从两个角度来讲,一个从自身的角度出发,另一个是从CAP理论本身的重要性出发。1) 自身的原因:今天是我第一次见到CAP理论这个词,是我在看廖雪峰的SQL教学博客时看到。关于SQL自己以前在项目中也用过很多次,但是总觉得自己只是会敲出来而已,至于关于它的东西自己一概不知。所以现在就打算从头到尾好好梳理一下知识脉络,扫一下自己的盲点。而就在我看到...

2019-04-10 16:53:25 281

原创 Git的基本使用

安装廖雪峰带你安装Git

2019-04-02 17:27:14 160

原创 JAVA反射原理

JAVA反射原理1JAVA反射原理2JAVA反射原理3

2019-03-01 16:29:39 1381

原创 JAVA 数学相关

前言这里虽然不常用,但是身为一个专业的JAVA程序员,掌握必要的知识以备未来之需还是很有必要的。RandomRandom 中封装了随机相关的方法: 返回随机的基本数据类型的值。具体咱们直接来看个例子,基本上瞬间就会用了。就算是不能理解,敲一敲,敲得多了自己也就慢慢理解了。 码敲千遍,其意自见。public static void main(String[] args) { Ran...

2019-02-21 18:00:04 149

转载 Python3入门

python3 下载及安装教程python3 下载及安装教程python3 基础教程python3 基础教程pyCharm下载及破解pyCharm下载及安装pyCharm破解方法

2019-01-28 14:03:13 310

原创 java NIO 详谈

前言Java NIO,被称为新 IO(New IO),是 Java 1.4 引入的。与IO API相比,它加入了很多新的东西。那么,为什么要引入NIO呢,还是以前的答案:不管是什么,只要是新入的东西,基本都有三个目的:1.使得开发维护更便捷,减少程序员的开发工作量。2.提高程序运行效率。3.更加安全。NIO的引入目的主要在于上面的2(提高程序运行效率),但是也不是说它就是完美的,...

2019-01-22 11:27:31 242

原创 JAVA注解详谈

为什么引入注解:注解基础

2019-01-21 12:46:45 255 1

原创 枚举

枚举类浅谈

2019-01-18 16:49:01 171

原创 泛型(Generics)小结

1.为什么需要泛型?1)使用集合时可能会发生安全的问题:可以向集合中放入任何类型2)麻烦:从集合中获取元素,需要进行类型的强制转换2.使用泛型:使用泛型方法,泛型类。3.定义泛型1)定义泛型:依照API定义——声明类(接口)时,在类名的后面,大括号的前面利用<>来声明泛型。在类中凡是可以使用类型的地方都可以使用类中声明的泛型。public class Dao&amp

2019-01-15 20:48:17 1804 1

原创 JAVA反射

示例直接上代码吧,简单易懂又暴力: Class<People> reflectClass = People.class; Field declaredField[] = reflectClass.getDeclaredFields(); System.out.println("--------------输出DeclaredFields-------------

2019-01-14 14:46:39 137

哈工大操作系统课件.zip

哈工大操作系统课件.zip

2022-03-27

高效能人士习惯每月培养

高效能人士习惯每月培养

2022-02-08

空空如也

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

TA关注的人

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