自定义博客皮肤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)
  • 收藏
  • 关注

原创 MultiValueMap的使用 和一个键多个值的理解

MultiValueMap的使用和理解源代码 MultiValueMap<String, String> multiValueMap =new LinkedMultiValueMap<>(); multiValueMap.add("aa","aa"); multiValueMap.add("aa","bb"); multiValueMap.add("aa","cc"); multiValueMap.add("aa"

2020-10-30 15:21:06 3288

转载 汉明码通俗理解

想要理解汉明码首先要知道“奇偶校验”这个东西。这个东西很简单。我们约定一串编码里1的个数是偶数个,那么这串编码里携带的信息就是对的,否则就是错的。我们可以在开头对这串编码加一位校验码实现奇偶校验。for example:我们想传输10010这串码,那么在传输的时候,就传010010,其中在开头的0就是校验位。我们想传输10000这串码,那么在传输的时候,就传110000,其中在开头的1就是校验位。两个例子的1的个数都是偶数。好了,接下来可以讲汉明码了。首先汉明码是采用奇偶校验的码。它采用了一

2020-10-17 14:08:43 1287

转载 -Xdebug 启动命令详解和使用

-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=nJAVA的调试方法如下:1。首先支持JVM,并设置参数,使之工作在DEBUG模式下,加入参数:-Xdebug -Xrunjdwp,transport=dt_socket,server=y,address=5432,suspend=n,onthrow=java.io.IOException,launch=/sbin/echo其中,-Xdebug是通知JVM工作在DEB

2020-09-27 11:37:29 5426

原创 Java class文件主要包含信息详解

源文件(.java源代码)通过编译器编译成字节码文件class。通过JVM中的解释器将字节码文件生成对应的可执行文件,运行。将编译后的程序加载到方法区,存储类信息。运行时,JVM创建线程来执行代码,在虚拟机栈和程序计数器分配独占的空间。根据方法区里的指令码,在虚拟机栈对线程进行操作,程序计数器保存线程代码执行到哪个位置。跨平台能力:编译后,不依赖于平台环境,在各种操作系统均可运行。JAVA程序的运行原理Class字节码文件:是一个二进制文件,包含了JAVA程序执行的字节码,包..

2020-09-27 11:33:53 880

原创 MySql常用的数据库引擎详解(InnoDB,MyISAM ,MEMORY,MERGE)

如何查看当前mysql所支持的数据库引擎?​ 可以使用 show engines;命令查看InnoDBInnoDB存储弓|擎是Mysq|的默认存储引擎。InnoDB存储引擎提供了具有提交、回滚、崩溃恢复能力的事务安全。但是对比MyISAM的存储引擎, InnoDB写的处理效率差-些,并且会占用更多的磁盘空间以保留数据和索引。InnoDB存储引擎不同于其他存储引擎的特点:事务控制,在mysql对innodb引擎的表 在文件系统的表现方式为:tablename.frm表结构文件和tablename.i

2020-09-27 11:30:15 183

原创 Mysql索引以及使用索引注意事项

直接创建索引CREATE INDEX index_name ON table(column(length))修改表结构的方式添加索引ALTER TABLE table_name ADD INDEX index_name ON (column(length))创建表的时候同时创建索引CREATE TABLE table (id int(11) NOT NULL AUTO_INCREMENT ,title char(255) CHARACTER SET utf8 COLLATE utf8_gene

2020-09-27 11:27:10 1572

原创 MYSQL缓存配置及优化

查询缓存配置1.查看当前的MySQL数据库是否支持查询缓存: SHOW VARIABLES LIKE 'have_query_cache' ;2.查看当前MySQL是否开启了查询缓存: SHOW VARIABLES LIKE 'query_cache_type' ;3.查看查询缓存的占用大小:SHOW VARIABLES LIKE 'query_cache_size' ;4.查看查询缓存的状态变星:SHOW STATUS LIKE 'Qcache%' ;Qcache_ free_

2020-09-27 11:24:17 387

原创 MYSQL锁机制详解和优化

锁分类从对数据操作的粒度分:1)表锁:操作时,会锁定整个表。2)行锁:操作时,会锁定当前操作行。从对数据操作的类型分:1)读锁(共享锁) :针对同一份数据,多个读操作可以同时进行而不会互相影响。2)写锁(排它锁) :当前操作没有完成之前,它会阻断其他写锁和读锁。简而言之,就是读锁会阻塞写,但是不会阻塞读。而写锁,则既会阻塞读,又会阻塞写。InnoDB行锁行锁介绍行锁特点: 偏向InnoDB存储引擎,开销大,加锁慢;会出现死锁;锁定粒度最小T发生锁冲突的概率最低并发度也最高。InnoD

2020-09-27 11:22:49 149

原创 Mysql搭建主从复制详细步骤

master1 )在master的配置文件( /usr/my.cnf)中,配置如下内容:#mysq1 服务ID,保证整个集群环境中唯一server-id=1#mysq1 binlog 日志的存储路径和文件名log-bin=/var/1ib/mysq1/mysq1bin#是否只读,1 代表只读,0代表读写read-only=0#忽略的数据, 指不需要同步的数据库binlog-ignore-db=mysql2)执行完毕之后,需要重启Mysql: service mysql restart

2020-09-27 11:20:32 76

原创 Mysql日志(错误日志, 二进制日志bin_log)详解

Mysql日志在任何一种数据库中,都会有各种各样的日志,记录着数据库工作的方方面面,以帮助数据库管理员追踪数据库曾经发生过的各种事件。MySQL 也不例外,在MySQL中,有4种不同的日志,分别是错误日志二进制日志( BINLOG日志)、查询日志和慢查询日志,这些日志记录着数据库在不同方面的踪迹。错误日志错误日志是MySQL中最重要的日志之一, 它记录了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,可以首先查看此日志。该日志是默

2020-09-27 11:18:53 378

原创 Mysql Redo_log工作原理和bin_log

一、日志类型redo log在数据库重启恢复的时候被使用,因为其属于物理日志的特性,恢复速度远快于逻辑日志。而我们经常使用的binlog就属于典型的逻辑日志。二、 checkpoint坦白来讲checkpoint本身是比较复杂的,checkpoint所做的事就是把脏页给刷新回磁盘。所以,当DB重启恢复时,只需要恢复checkpoint之后的数据。这样就能大大缩短恢复时间。当然checkpoint还有其他的作用。三、 LSN(Log Sequence Number)LSN实际上就是InnoDB使用的

2020-09-27 11:16:06 410

原创 zookeeper基本使用和分布式锁

zookeeper和分布式锁介绍:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。zookeeper常用命令●Is/ls2 path列出当前目录下的全部子目录,|s2会多包含-一些状态信息●create path data创建持久Znode,并存放数据data●create -e path d

2020-08-11 15:46:00 151

原创 intellij启动项目报错:com.intellij.util.io.PersistentEnumeratorBase$CorruptedException

intellij启动或运行报错:com.intellij.util.io.PersistentEnumeratorBase$CorruptedException出现这问题的本质原因是在idea 构建或者启动运行且没有真正运行的时候,杀掉idea的进程或者强制关机导致idea 构建的运行文件不完整或者丢失 之后启动程序 idea 检查构建文件的时候发现文件并不完整(或者丢失)故而报错解决办法:Error:Internal error: (com.intellij.util.io.PersistentE

2020-08-11 15:38:54 15327 2

原创 Mysql内存管理及优化

Mysql内存管理及优化内存优化原则1)将尽量多的内存分配给MySQL做缓存,但要给操作系统和其他程序预留足够内存。2)MyISAM 存储引擎的数据文件读取依赖于操作系统自身的IO缓存,因此,如果有MyISAM表,就要预留更多的内存给操作系统做IO缓存。3)排序区、连接区等缓存是分配给每个数据库会话( session )专用的,其默认值的设置要根据最大连接数合理分配,如果设置太大,不但浪费资源,而且在并发连接较高时会导致物理内存耗尽。MyISAM内存优化myisam存储引擎使用key. buff

2020-07-08 13:32:57 157

原创 Mysql缓存和常见缓存失效问题

查询缓存配置1.查看当前的MySQL数据库是否支持查询缓存: SHOW VARIABLES LIKE 'have_query_cache' ;2.查看当前MySQL是否开启了查询缓存: SHOW VARIABLES LIKE 'query_cache_type' ;3.查看查询缓存的占用大小:SHOW VARIABLES LIKE 'query_cache_size' ;4.查看查询缓存的状态变星:SHOW STATUS LIKE 'Qcache%' ;Qcache_ free_

2020-07-08 13:30:36 1585

原创 mysql分析sql和sql优化

sql优化插入优化插入数据的时候可一条语句多个值,或者是开启事务,每隔插入多条数据后在提交order by 优化尽量减少额外的排序,通过索引直接返回有序数据。where条件和Order by使用相同的索引,并且Order By的顺序和索引顺序相同,并且Order by的字段都是升序,或者都是降序。否则肯定需要额外的操作,这样就会出现FileSort.优化group by语句由于GROUP BY实际上也同样会进行排序操作,而且与ORDER BY相比, GROUP BY主要只是多了排序之后的分组操

2020-07-08 13:27:09 103

原创 mysql索引以及索引失效场景

索引直接创建索引CREATE INDEX index_name ON table(column(length))修改表结构的方式添加索引ALTER TABLE table_name ADD INDEX index_name ON (column(length))创建表的时候同时创建索引CREATE TABLE table (id int(11) NOT NULL AUTO_INCREMENT ,title char(255) CHARACTER SET utf8 COLLATE utf8_g

2020-07-08 13:20:14 172

原创 简单回顾Java垃圾回收算法和垃圾回收器

垃圾回收机制垃圾回收机制的算法有:引用计数法,为对象的引用进行计数,如果计数为零时进行垃圾回收缺点:需要更新计数器,影响性能和时间开销,无法解决循环引用标记清除法,标记:从根节点开始标记引用的对象。清除:未被标记引用的对象就是垃圾对象,可被清理缺点:效率低,标记和清除都需要遍历所有对象,且在GC时需要停止应用程序,标记清除后内存碎片化严重标记压缩算法,标记:从根节点开始标记引用的对象。清除:未被标记引用的对象就是垃圾对象,可被清理缺点:效率低,标记和清除都需要遍历所有对象,且在GC时

2020-07-08 13:16:33 136

原创 rabbitMQ实现死信队列(延迟消息队列)

rabbitMQ实现死信队列(延迟消息队列)思路所谓延迟消息队列,就是消息的生产者发送的消息并不会立刻被消费,而是在设定的时间之后才可以消费。我们可以在订单创建时发送一个延迟消息,消息为订单号,系统会在限定时间之后取出这个消息,然后查询订单的支付状态,根据结果做出相应的处理。rabbitmq延迟消息使用RabbitMQ来实现延迟消息必须先了解RabbitMQ的两个概念:消息的TTL和死信Exchange,通过这两者的组合来实现。消息的TTL(Time To Live)消息的TTL就是消

2020-06-15 15:45:24 1811 2

原创 最详细的xxl-job java配置方式spring-boot

————XXL-JOB*是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。且支持线上编写调度任务。如何集成?去gitee或者github下载源代码 goto xxl-job下载或者克隆后用idea 打开项目或直接用idea克隆项目到本地在项目的doc文件夹下有个db文件夹 ,db文件夹下的sql脚本是xxl-job运行最基本的数据库和表,用sqlyol或Navicat运行脚本,或者其他方式执行sql脚本

2020-06-05 12:41:37 1665

原创 立即数和数字

什么是立即数?立即数就是不需要在容器或内存单元取的就是立即数!什么是数字?需要在容器或者内存单元中取,使用时候从内存单元和容器中取出的值...

2020-02-05 16:26:12 468

原创 DIV指令的用法和相关

DIV:除法16位数 ÷ 8位数除数:由8位的通用寄存器或者内存单元来提供AX:被除数用法:div 除数列:div CL(除数位置)运算后当前进行计算的寄存器的高八位用来存储除法的余数,低八位储存的是运算结果的商32位数 ÷ 16位数除数:同上由16位的通用寄存器或者内存单元来提供同上使用方式运算后当前进行计算的高16位寄存器计算后 余数结果存储在高16位寄存器,商存储...

2020-02-05 16:19:25 2516

原创 8086处理器的寄存器

2020-02-05 16:02:33 188

原创 docker命令入门(集成redis,nginx,mysql,tomcat)

docker命令入门(集成redis,nginx,mysql,tomcat)docker 是一个go语言开发的一个将应用和应用依赖包在一起的容器!主要应用:Web 应用的自动化打包和发布自动化测试和持续集成、发布在服务型环境中部署和调整数据库或其他的后台应用1.docker的安装1 yum包更新sudo yum update2、作用:安装需要的软件包, yum-util 提供yu...

2020-01-09 17:27:49 376

原创 解决idea重装或升级启动无响应

解决idea重装或升级启动无响应卸载idea后系统内有残留下上一个版本的使用信息,所以导致idea启动无响应,解决办法有两个1.重装之前删除C:\Users{当前用户}\ 下的关于所idea的所有文件夹2.安装过后无法启动使用的上一个版本的配置无法启动C:\Users{当前用户}\ 上一个idea版本里的config目录下有一个idea64.exe.vmoptions文件查看是否有缺...

2019-12-30 10:16:46 2528

原创 安卓接JNI的具体流程

安卓接JNI的具体流程本次使用开发环境Android Studio 3.4折腾数天后终于弄明白,遇到各种问题,记录最方便的方法。。。首先了解为什么要用到JNI//一般用到高速运算的程序都会使用JNI处理图片等等…建立安卓项目的配置文件---------------------------------------apply plugin: ‘com.android.applicatio...

2019-12-27 09:54:52 1000 3

空空如也

空空如也

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

TA关注的人

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