自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(101)
  • 资源 (1)
  • 收藏
  • 关注

原创 水平触发与边沿触发

然后它会假设你知道文件描述符已经就绪,并且不会再为那个文件描述符发送更多的就绪通知,直到你做了某些操作导致那个文件描述符不再为就绪状态了。epoll工作在 ET 模式的时候,必须使用非阻塞套接口,以避免由于一个文件句柄的阻塞读/阻塞写操作把处理多个文件描述符的任务饿死。b.用户只读了一部分数据,epoll不通知 (但是客户端再发送信息到读缓冲区就又会通知,即使原先读缓冲区依旧有数据)a.用户不读数据,数据一致在缓冲区中,epoll下次检测的时候就不通知了。c.缓冲区的数据读完了,不通知。

2023-05-25 22:35:50 824

原创 正则表达式如何匹配括号

在用正则表达式匹配小括号()时,应将括号用[]包起来,如下:regexs = "{\"regexs\":[\"showPlayer[(]'(.*?)'\"]}";

2021-09-24 18:57:15 5370

原创 JDK 高版本没有VisualVM

VisualVM 是一款免费的,集成了多个 JDK 命令行工具的可视化工具,提供强大的分析能力,对 Java 应用程序做性能分析和调优。在高版本JDK(大于1.8或后期更新的1.8版本)中已经不会再自动集成 VisualVM1、下载:地址:https://visualvm.github.io/index.html下载独立版2、下载完成后解压3、配置JDK路径:打开配置文件加入JDK 路径visualvm_jdkhome="C:/envProgram/J..

2021-09-12 01:33:49 1961

原创 mysql索引长度

在utf8编码方式下,一个字符占3个字节。 如果索引字段可以为null,MySQL会使用1个字节标识。 如果索引字段的类型长度可变,MySQL会使用2个字节标识。 如果索引字段的类型长度可变,并且可以为null,MySQL会使用1+2=3个字节标识...

2021-09-06 15:33:42 672

转载 Netty中的水平触发和边缘触发

在非阻塞IO中,通过Selector选出准备好的fd进行操作。有两种模式,一是水平触发(LT),二是边缘触发(ET)。在LT模式下,只要某个fd还有数据没读完,那么下次轮询还会被选出。而在ET模式下,只有fd状态发生改变后,该fd才会被再次选出。ET模式的特殊性,使在ET模式下的一次轮询必须处理完本次轮询出的fd的所有数据,否则该fd将不会在下次轮询中被选出。在Netty中,NioChannel体系是水平触发,EpollChannel体系是边缘触发。从源码中,NioServerSocketCha

2021-08-19 00:45:44 841

原创 分区分配算法(Partitioning Placement Algorithm)

https://blog.csdn.net/qq_42992084/article/details/106151267

2021-08-12 01:02:06 748

原创 Peterson‘s Algorithm皮特森算法详解

Peterson算法是实现进程互斥访问临界区的一种方法,避免了单标志法必须交替访问的限制,以及双标志法后检验的“饥饿”问题。Peterson算法实现如下://操作系统 临界区互斥Peterson's Algorithm算法思考 Pi:flag[i] = ture; turn = j;while (flag[j] && turn == j);critical section;// 访问临界区flag[i] = false;remainder section;// 剩余区

2021-08-11 00:38:30 6672

原创 操作系统中调度算法

FCFS:SJF:HRF:SRF:SPF:RR:PS:

2021-08-10 00:52:37 388

原创 操作系统相关英文缩写

PT:process table 进程表PCB: process control block 进程控制块

2021-08-09 01:26:47 1412

原创 存储器的分类

存储器存储器是计算机系统中的记忆设备,用来存放程序和数据。随着技术的发展,CPU的速度变化迅速,但存储器的速度增加得较慢。这使得计算机的速度在很大程度上受限于存储器速度。为了解决这个问题,设计了各种各样的存储器结构。存储器分类按存储器介质分类按存储方式分类按在计算机中的作用分类存储器的层次结构如图,存储系统层次结构主要体现在缓存-主存和主存-辅存这两个存储层次上。CPU和缓存、主存都能直接交换信息;缓存能直接和CPU、主存交换信息;主存可以和CPU、缓存、辅存交换信

2021-03-28 17:46:51 3118

原创 定点数

在现实生活中,我们经常使用整数和小数,不知道你有没有思考过,这些数字在计算机中是如何存储的?我们学习计算机知识时,经常听到「定点数」和「浮点数」,它们之间有什么区别?平时说到整数,我们就说它是一个定点数,说到小数,就说它是一个浮点数,这种说法是正确的吗?这篇文章,我们先来看一下,「定点数」究竟与整数和小数有什么关系。什么是定点数?要想理解什么是「定点数」,首先,我们需要理解「定点」究竟是什么意思?我们都知道,数字既包括整数,又包括小数,而小数的精度范围要比整数大得多,所以如果我们想在

2021-03-26 01:21:58 1886

原创 原码、反码、补码 详解!

本篇文章讲解了计算机的原码、反码和补码,并且进行了深入探求了为何要使用反码和补码,以及更进一步的论证了为何可以用反码、补码一. 机器数和机器数的真值在学习原码,反码和补码之前, 需要先了解机器数和真值的概念。1、机器数一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机用机器数的最高位存放符号,正数为0,负数为1。比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是0000 0011。如果是 -3 ,就是 100 00011 。那么,这里的 00

2021-03-25 23:56:00 2180

原创 计算机组成原理名词指令缩写

 CPU、PC、IR、CU、ALU、ACC、MQ、X、MAR、MDR、I/O、MIPS、CPI、FLOPS  解:全面的回答应分英文全称、中文名、中文解释三部分。  CPU——Central Processing Unit,中央处理机(器),见7题;  PC——Program Counter,程序计数器,存放当前欲执行指令的地址,并可自动计数形成下一条指令地址的计数器;  IR——Instruction Register,  指令寄存器,存放当前正在执行的指令的寄存器;  CU——Control

2021-03-24 23:00:06 4829

原创 Logback file属性 与 fileNamePattern属性的关系

官方原文Note that the file property in RollingFileAppender (the parent of TimeBasedRollingPolicy) can be either set or omitted. By setting the file property of the containing FileAppender, you can decouple the location of the active log file and the locatio

2020-10-29 13:49:22 3634 1

原创 JVM老年代和新生代的比例

在 Java 中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。新生代 ( Young ) 又被划分为三个区域:Eden、From Survivor、To Survivor。这样划分的目的是为了使 JVM 能够更好的管理堆内存中的对象,包括内存的分配以及回收。堆的内存模型大致为:从图中可以看出:堆大小 = 新生代 + 老年代。其中,堆的大小可以通过参数 –Xms、-Xmx 来指定。默认的,新生代 ( Young ) 与老年代 ( Old ) 的比例的值为 1:.

2020-10-19 11:14:40 848

原创 解决unable to find valid certification path to requested target

原因Java在访问SSL加密的网站时,需要从JDK的KeyStore 里面去查找相对应得可信证书,如果不能从默认或者指定的KeyStore 中找到可信证书,就会报这个错误。另外,Java所使用的证书仓库并不是Windows系统自带的证书管理。所以即使系统中包含此证书也不可以使用。解决:从浏览器下载证书安装到java证书中。第一步是要下载证书去你程序要访问的网站,点击那个锁按钮,并点击查看详情(chrome浏览器)点击View certificate点击详细信息复制到

2020-07-25 21:28:29 3658

原创 go的闭包

概念:闭包可以理解成“定义在一个函数内部的函数“。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。或者说是函数和其引用环境的组合体。闭包的概念可以直接百度或者google详细搜索详细,这里主要是通过几个实例来对闭包进行详解。实例1://函数片段func add(base int) func(int) int { fmt.Printf("%p\n", &base) ...

2020-05-08 00:55:21 253

原创 JIT是什么

什么是JIT一些其他解释的网站:http://www.sohu.com/a/169704040_4640841、动态编译(dynamic compilation)指的是“在运行时进行编译”;与之相对的是事前编译(ahead-of-time compilation,简称AOT),也叫静态编译(static compilation)。2、JIT编译(just-in-timecompil...

2020-03-16 09:48:48 1415

原创 springboot报错InvalidConfigurationPropertyNameException, not valid

新搭建了一个项目,使用的springboot,启动报错如下:org.springframework.boot.context.properties.source.InvalidConfigurationPropertyNameException: Configuration property name 'application.authorizationInterceptor' is not...

2020-02-14 20:21:14 2083

原创 spring boot maven 打包提示程序包xxx不存在

你的A模块是一个spring boot项目,创建生成的pom的中肯定是这样的build的 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> ...

2020-01-05 15:42:18 2374

原创 git--修改已经提交并push后的commit注释

把代码push到远程后,发现commit的注释居然多了几个错别字,不行,必须改了!搜索了一些答案之后自己做了一个总结如下:①修改倒数第1次的commit指令:$ git rebase -i HEAD~1②修改pick为edit ①回车后进入一个页面, 按i进入编辑模式, 将要修改的那一条的pick修改成edit, 按esc退出编辑模式,输入:wq保存...

2019-12-17 11:09:03 3023

原创 sql 查询结果增加一列,列名固定,值也固定(mysql可行,其他未知)

在查询结果中新增列名和值都固定的列:SELECT '1' as "settlein_flag", '1' as "trans_stat" , a.shop_id from shop_info a LEFT JOIN card_base_info b on a.shop_cust_id = b.user_cust_id where b.stat_flag = 1;...

2019-11-19 15:17:04 1660

原创 left join on后面 加条件和where后面加条件的区别

student表和grade表简单提一个需求是:我需要统计所有有成绩的学生信息。项目遇到那个问题比这个复杂,但是最终需要筛选的条件和这个大致相同,这里就举个栗子。这里分析一下,既然是学生信息,那么,肯定就是以student为主表,关联的为grade表,写出下面条件。SELECT stu.*FROM student stu LEFT JOIN grade g...

2019-11-19 15:02:45 1047 1

原创 Mysql的row_format(fixed与dynamic)

在mysql中, 若一张表里面不存在varchar、text以及其变形、blob以及其变形的字段的话,那么张这个表其实也叫静态表,即该表的row_format是fixed,就是说每条记录所占用的字节一样。其优点读取快,缺点浪费额外一部分空间。若一张表里面存在varchar、text以及其变形、blob以及其变形的字段的话,那么张这个表其实也叫动态表,即该表的row_format是dyna...

2019-09-06 17:41:56 6442

原创 mybatis-generator的详细配置

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-confi...

2019-07-10 14:31:09 290

原创 常用maven插件介绍(收集)

maven-antrun-plugin maven-archetype-plugin maven-assembly-plugin maven-dependency-plugin maven-enforcer-plugin maven-help-plugin maven-release-plugin maven-resourc...

2019-06-25 11:03:54 4587 5

转载 Navicat Premium Mac 12 破解

https://blog.csdn.net/xhd731568849/article/details/79751188,亲测可用。mark~

2019-06-11 18:40:45 327

原创 java--GC Root有哪些

GC管理的主要区域是Java堆,一般情况下只针对堆进行垃圾回收。方法区、栈和本地方法区不被GC所管理,因而选择这些区域内的对象作为GC roots,被GC roots引用的对象不被GC回收。GC Root常说的GC(Garbage Collector) roots,特指的是垃圾收集器(Garbage Collector)的对象,GC会收集那些不是GC roots且没有被GC root...

2019-05-22 00:27:21 3525 1

原创 Feign Hystrix (HystrixCommonKey) 设置单独接口的超时时间和FallBack

先说结论:HystrixCommonKey生成方法:类名#方法名(入参类型)然后说原理:在package feign.hystrix.SetterFactory中看是如何生产commandKey的:package feign.hystrix;public interface SetterFactory { Setter create(Target<?> var1...

2019-05-12 19:24:34 4145 4

原创 CAP和BASE理论

1. CAP理论2000年7月,加州大学伯克利分校的Eric Brewer教授在ACM PODC会议上提出CAP猜想。2年后,麻省理工学院的Seth Gilbert和Nancy Lynch从理论上证明了CAP。之后,CAP理论正式成为分布式计算领域的公认定理。CAP理论为:一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Par...

2019-05-09 13:37:10 5460

转载 Studio 3T的使用

一、官网地址https://studio3t.com/二、下载和安装点击DOWNLOAD即可下载按照自己电脑系统进行选择,然后填写邮箱和选择行业,第一次登录如果不提交不会下载,下载完成是一个zip压缩包(我的电脑是windows系统),解压缩安装即可,安装途中可以自行选择安装路径安装完成选择连接根据提示进行操作,最后点击保存即可右键新建的连接,选择Add...

2019-05-05 00:43:02 54621 12

转载 String.format()的详细用法

问题在开发的时候一段字符串的中间某一部分是需要可变的 比如一个Textview需要显示”XXX用户来自 上海 年龄 21 性别 男”其中的 XXX 是用户名 每个用户也是不一样的地区 上海 为可变的string数据年龄 21 为可变的int数据性别 男 为可变的string数据遇到这种情况你们是怎么样解决的呢?把这段字符串保存在常量类里吗?不!我们应该遵循Google的开发...

2019-04-30 01:34:45 546

原创 Maven 命令参数

强制更新 Maven 缓存库的方法mvn dependency:purge-local-repository或者执行Maven库强制更新:mvn clean install -UMaven 命令参数命令参数 备注 mvn -v --version显示版本信息; mvn -V --show-version 显示版本信息后继续执行Maven其他目标;...

2019-04-24 09:57:00 1275

转载 postman中 form-data、x-www-form-urlencoded、raw、binary的区别

1、form-data: 就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。当上传的字段是文件时,会有Content-Type来表名文件类型;content-disposition,用来说明字段的一些信息;由于有boundary隔离,所以multip...

2019-04-15 21:44:02 295

转载 死锁,更新锁,共享锁,排它锁,意向锁,乐观锁,悲观锁等名词解释及案例详解

这里做个简明解释,为下面描述方便,这里用T1代表一个数据库执行请求,T2代表另一个请求,也可以理解为T1为一个线程,T2 为另一个线程。T3,T4以此类推几个名词:(1)脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:用户A,B看到的值都是6,用户B把值改为2,用户A读到的值仍为6。(2)丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用...

2019-04-04 22:06:31 528

转载 Linux | 为什么用户态和内核态的切换耗费时间?

思考这个问题的导火线是,看到java中的synchronized关键字。经过编译,synchronized标注的函数会加一个读写锁,一般不推荐使用,因为加锁解锁设计到内核态与用户态的转换,有时转化耗时比函数体执行时间还长,所以不推荐使用。这个观点在学操作系统的时候作为常识被认知,那背后具体的原理是什么呢?一句话回答问题:上面涉及的内核态与用户态切换时系统调用,内核也相当于一个软件,...

2019-04-01 13:41:16 6504

转载 Apache Bench安装与使用

一、Apache Bench简介ApacheBench 是 Apache 服务器自带的一个web压力测试工具,简称ab。ab又是一个命令行工具,对发起负载的本机要求很低,根据ab命令可以创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问,因此可以用来测试目标服务器的负载压力。总的来说ab工具小巧简单,上手学习较快,可以提供需要的基本性能指标,但是没有图形化结果,不能监控。...

2019-03-29 11:25:22 8849

原创 Java中的四种引用类型 Strong, Soft, Weak And Phantom (一)

https://blog.csdn.net/rodbate/article/details/72857447

2019-03-23 19:41:48 316

原创 MySQL性能优化总结

一、MySQL的主要适用场景1、Web网站系统2、日志记录系统3、数据仓库系统4、嵌入式系统二、MySQL架构图:三、MySQL存储引擎概述1)MyISAM存储引擎MyISAM存储引擎的表在数据库中,每一个表都被存放为三个以表名命名的物理文件。首先肯定会有任何存储引擎都不可缺少的存放表结构定义信息的.frm文件,另外还有.MYD和.MYI文件,分别存放了表...

2019-03-23 19:37:19 204

原创 MySQL索引背后的数据结构及算法原理

本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第一部分主...

2019-03-23 19:34:11 153

org.codehaus.plexus.plexus-container-default.3.1.0

刚导入美团cat监控时大家一般会报的jar包缺失网上又找不到的。解压后放入本地仓库中使用

2019-06-19

空空如也

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

TA关注的人

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