4 F_Hello_World

尚未进行身份认证

暂无相关简介

等级
TA的排名 16w+

Mysql数据数据库引擎InnoDB与MyISAM

序:什么是数据引擎?它的作用是什么?mysql的数据存储在磁盘与内存(内存中数据也是来源与磁盘,放在内存中为了加快查询效率)中,这些数据被mysql使用了不同的技术形成了不同的数据文本结构放入了磁盘中,在我们使用时这些技术通过不同的索引技巧,不同的锁定水平使得我们可以放心,便捷快速的使用这些数据。这些对应的技术就是数据引擎,数据引擎在mysql是一个核心组建,在每一张表的创建时,都会指定先对应...

2020-03-07 02:24:49

Synchronized原理和jdk1.8后的优化

Synchronized关键字使用较多的形式如下所示:1:以synchronized同步代码块的形式synchronized(Object){ //代码}2:对一个方法进行synchronized声明,进而对一个方法进行加锁来实现同步。如下面代码public synchornized void test(){ //代码}上述中其实都是对对象加锁,对于第...

2020-03-06 15:45:40

算法数据结构-树(1)

此文包含树,二叉树,满二叉树,完全二叉树,二叉查找树(BST Binary Search Tree,也可以成为排序二叉树,有序二叉树),平衡二叉树(BBT),红黑树,B-树,B+树,B*树。这里暂时不包含各树的java实现。1:树2:二叉树每个节点最大只存在左右两个节点3:满二叉树对于一个深度为h的二叉树中,若节点的个数为2^h-1,则代表该树为一个满二叉树4:完全二叉树...

2020-03-03 11:31:14

​​​​​​​​​​​​​Redis中核心数据结构源码分析-redisObject结构体

序言:了解Redis中核心的数据结构有助于我们了解Redis的底层存储,快速写入,快速寻址原因。以及通过源码可快速的明白各种核心功能(RDB,AOF,LazyFree,内存回收策略,过期键回收策略等)的实现。注意:以下源码都基于redis最新版本(redis5.0系列描述),想要了解redis源码需要对c语言有一定的了解,建议先了解下c的语法以及核心——指针的使用。1:redisObj...

2020-02-26 15:11:10

算法数据结构-Trie树

Trie树,又称为前缀树(因为某节点的后代存在共同的前缀,比如pan是panda的前缀),字典树,顾名思义它本事也是属于树这个数据结构体系中的一员,当然它也有很多变种,如后缀树,Radix Tree/Trie,PATRICIA tree,以及bitwise版本的crit-bit tree等等。我们通常使用Trie来处理字符串匹配的,使用它可以解决在一组字符串集合中快速查找某个字符串的问题。它为...

2020-02-26 14:54:44

Redis中expire类型的已过期键删除策略和数据淘汰策略

序言:Redis服务中的内存是宝贵的。redis通常作为缓存数据用于存储一些热点数据(这些数据可能过一段时间就会失效),也可能存在某些数据被少量访问,也存在类似与字典这些不经常变动但被访问频率较高的数据,redis的内存是宝贵的,redis需要在内存不足的时候进行注意:先参考:Redis中核心数据结构 了解Redis中数据结构有助于下述中源码的了解1:expired类型的已过期Ke...

2020-01-12 21:14:27

Java实现LRU算法

LRU算法LRU(Least recentlyused)—最近最少被使用算法。在一些内存算法表现中若在一个内存有限的环境中,出现内存不足时为了保证程序的正常运行,会将一些价值较低的对象(如何来评定一个对象的价值的高低,对于LRU算法来说:如果数据最近被访问过,那么将来被访问的几率也更高,那么对应的价值就越高)进行清除,空出内存空间。计算机操作系统基础理论中有一个经典理论:最近使用的页面数...

2020-01-10 19:30:14

Java中LinkedHashMap底层实现

目录序言:1:LinkedHashMap中的put(key,value)1.1:LinkedHashMap中对putVal()方法源码描述:1.2:LinkedHashMap中对节点操作方法源码描述:1.3:LinkedHashMap中afterNodeAcces()方法源码描述:1.4:LinkedHashMap中afterNodeInsertion()方法源码描述:...

2020-01-09 17:40:32

Redis中info命令详解

目录序言:1:Server2:Clients3:Memory4:Persistence5:Stats6:Replication7:CPU8:Cluster9:Keyspace序言:redis中info命令可以很直观的通过各种维度属性描述信息告知我们当前redis的状态。我们可以通过此命令构建redis的实时监控系统。在上线之前的压测过程中,监控red...

2020-01-07 16:03:07

redis中内存碎片处理

目录序言:1:Redis中提供了哪些关于内存有关的命令(4.0之后)1.1:MEMOEY DOCTOR1.2:MEMOEY MALLOC-STATS1.3:MEMOEY PURGE1.4:MEMOEY STATS1.5:MEMOEY USAGE1.6:MEMOEY HELP2:什么时候需要进行内存清理2.1:我们通过命令行 INFO MEMORY查看redi...

2020-01-06 17:31:52

Redis两种持久化机制(RDB,AOF)

目录序言:众所周知内存中的数据是脆弱的,随着系统的重启,数据也会消亡。针对这种情况redis提供了将数据从内存持久化到磁盘的操作(RDB-AOF),这样即时系统重启,redis也可以从磁盘中重写加载数据到内存中。1:RDB(Redis DataBase)1.0:开启RDB1.1:RDB触发机制1.2:RDB持久化过程1.3:RDB方式优缺点2:AOF(Append On...

2020-01-03 23:14:16

springboot2.x +redis使用和源码分析三(序列化器)

目录1:spring-redis中提供的默认序列化器1.1:StringRedisSerializer1.2:JdkSerializationRedisSerializer1.3:Jackson2JsonRedisSerializer1.4:GenericJackson2JsonRedisSerializer1.5:GenericToStringSerializer...

2020-01-01 14:38:14

springboot2.x +redis使用和源码分析二(RedisTemplate)

目录序言:本文讲述RedisTemplate对象如何构建以及该对象对于redis提供的功能的支持1:定义RedisTemplate2:基本使用Ddemo3:RedisTemplate对Pipelined支持4:RedisTemplate对事务支持5:RedisTemplate对Lua语言支持5.1:使用内置字符串形式5.2:以文件的形式5.3:使用Lua的一些应...

2019-12-30 23:33:12

springboot2.x +redis使用和源码分析一(springboot自动装配源码分析)

序言:个人感觉springboot的源码是web应用开源框架中写的最好的,观看它的源码可以学习它的编码风格,代码设计思想,如何做到给予使用者最好的使用体验,隐藏连接各应用组件的实现细节,极大降低类开发者实力的要求。查看springboot对各组件的自动装配实现,可以很详细的了解到spring对于组件核心类的初始化过程,以及核心类的作用以及之间的依赖关系。springboot提供的所有的自动...

2019-12-26 18:31:55

自定义Dockerfile安装Redis单点

1:构建Dockerfile文件(Redis版本为5.0.4)FROM centosMAINTAINER 18056601738@163.com##暴露默认端口6379EXPOSE 6379ARG BB="redis-5.0.4"##安装清理RUN yum clean allWORKDIR /usr/local/software/redis##copy最新tar到目前位置...

2019-12-25 10:25:16

docker-将ab测试工具打包镜像

这里我们使用docker的可迁移性将一些本地构建的docker镜像打包到生产环境中。1:本地构建docker镜像1.1 编写DockerfileFROM centosMAINTAINER 18056601738@163.comARG BB="httpd-2.4.41"##安装清理RUN yum clean allWORKDIR /usr/local/software/ab...

2019-12-24 11:27:16

Centos7通过iso镜像挂载本地yum源

话不多说直接开干:在官网中下载Centos对应版本的镜像下载地址:http://mirrors.cn99.com/centos/7.7.1908/isos/x86_64/1:单台服务机安装yum源1:将下载iso镜像包挂载到Linux中# 在/mnt目录创建挂载镜像的文件夹cd /mntmkdir cdRome# 将iso镜像挂载到/mnt/cdRome目录mount ...

2019-12-23 12:18:44

测试工具: Apache Benchmark(ab)安装

Apache Benchmark 简称ab,是apache里一个压力测试工具。安装ab一种直接安装apache server即可里面自带ab服务;另外一种不安装apache server 直接安装ab;这里是通过安装apache server 环境是centos71:先安装基础依赖环境:1.1:依赖基础环境yum install -y gcc gcc-c++yum instal...

2019-12-20 14:44:05

Java垃圾回收机制理解一:垃圾回收算法

概叙:之前描述了Java内存区域的分布,我们知道了虚拟机栈,本地方法栈,程序计数器3个内存区域是各自线程私有的,和线程同生同死。而虚拟机栈中栈帧中分配的内存的区域是随着栈帧的出栈也会跟着消亡。所以这几块区域的内存我们不需要过多的考虑的问题。但是java中堆中和方法区中内存是共享的,在堆中创建的实例对象可能会被多个线程所共有,这时候某一个线程的消亡并不能决定该实例对象是否需要回收。那么我们就会产...

2019-12-18 18:57:07

Java中引用的概念

序言:Java对于引用概念经历过两个时期,JDK1.2之前和JDK1.2之后。在JDK1.2以前Java对于引用的定义很传统,如果reference类型的数据中存储的数值指定是另外一块内存的起始地址,就称为这块内存代表着一个引用.这个定义过于狭隘,在整个应用中对象就存在两种状态存在引用或者不存在。这样会产生一定的问题,对于我们应用系统存在于一些对象只在初始化使用一次(却被其它对象引用),存在一...

2019-12-15 22:37:30

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。