自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(392)
  • 资源 (12)
  • 论坛 (1)
  • 收藏
  • 关注

原创 JVM专题之垃圾回收器

CMS是怎么解决传统GC暂停时间过长的问题?在CMS垃圾回收时候,有多个阶段是和应用程序并发执行,即便有暂停应用线程的阶段,那都是暂停时间很短的操作。CMS如何解决不应该回收的对象被回收?那既然和应用线程并发执行,那么应用线程完全有可能修改对象的引用,可能会造成本不应该回收的对象被回收。所以我们需要一种机制,知道哪些对象的引用发生了修改,然后需要对它引用链重新跟踪,并进行标记。但是如何知道哪些对象被修改了呢?CMS引入了Card 、Card Table数据结构,以及使用写屏障技术实现了这一点。

2021-04-25 15:30:10 32

原创 JVM专题之分代模型:年轻代、老年代、永久代

一 什么是GC 分代我们知道GC为了方便垃圾回收,根据对象的特点对内存做了内存分代,在JDK1.8 之前主要包括新生代,老年代和永久代,在JDK1.8之后主要是新生代,老年代。方法区的实现元数据区直接分配在直接内存上的,不受JVM 管理。如图示二 GC 为什么需要分代第一:如果不分代,那么内存只有快满的时候才会进行垃圾回收,因为需要收集垃圾对象太多,所以耗费时间,会造成长时间的应用程序卡顿第二:对象的生命周期不同,生命周期比较短的对象,如果及时回收,可以提升内存利用率所以,分代.

2021-04-19 23:18:37 55

原创 热加载和热部署

目录一 什么是热加载和热部署1.1 热部署(Hot Deploy)1.2 热加载(Hot Swap)二 热加载的原理是什么2.1 检测哪些文件需要重新被加载2.2 怎么加载三 热部署的原理是什么四 区别一 什么是热加载和热部署1.1 热部署(Hot Deploy)热部署针对的是容器或者是整个应用,部署了新的资源或者修改了一些代码,需要在不停机的情况下的重新加载整个应用。1.2 热加载(Hot Swap)热加载针对的是单个字节码文件,指的是重新编..

2021-04-19 00:39:08 128 1

原创 JVM专题之类加载机制

一 类加载是什么?什么时候加载类?加载过程是怎么样的?1.1 什么是类加载类加载就是指将在硬盘上编译好的class字节码文件,加载到JVM内存中,然后对字节码文件进行链接和初始化的过程。只有加载后的字节码文件才可以被执行引擎解释和执行。1.2 类加载的时机JVM并不是启动的时候,就把全部的class字节码加载到内存,而是根据运行时候需要进行加载。比如没有加载到内存的类能够实例化吗?要访问静态类的变量或者方法,如果所在类没有被加载到内存,能访问静态变量和或者静态方法吗?第一:创建类实例的时候,肯定要

2021-04-19 00:25:58 577 2

原创 JVM专题之JVM内存和操作系统的进程的内存模型之间的关系

我们在谈及JVM内存的堆、虚拟机栈和本地方法栈、程序计数器和方法区等名词的时候,有没有想过一个问题。JVM是一个进程,那么天真的以为就该和操作系统进程内存模型结构保持一致,比如C/C++程序就是和操作系统的进程的内存模型保持一致。但是JVM内存管理中内存的划分明显和操作系统的进程内存模型有很大出入,那么他们之间的关系究竟是怎样的呢? 这一篇专题来解读这个问题。一 操作系统进程的内存模型1.1 进程的地址空间进程的地址空间,也叫作虚拟地址空间或者逻辑地址空间,指的是这个进程中所有虚拟地址的集合,此时还没

2021-04-18 17:34:20 81 1

原创 操作系统之内存管理

一 基本概念前提:#1我们知道我们的代码是以可执行的文件保存在磁盘上#2 多道程序设计模型允许多个程序同时进入内存#3 每一个进程都有自己独立的地址空间,执行过程中是不能够访问另外的进程的地址空间#4 进程地址空间需要加载物理内存空间才可以被执行;如果是多道程序设计模型,那就是有多个进程都要进入物理内存。#5 进程运行前的地址不是物理地址,是逻辑地址;进程运行时候,被加载到内存之后的才是物理地址。1.1地址空间(Address Space)地址空间,就是地址范围或者地址集合,进程地址空间就

2021-04-17 23:34:28 513 2

原创 计算机组成原理之指令和寻址方式

一 机器指令能够被计算机CPU识别并且操作的命令,就是机器指令。软件通过指令告诉硬件干什么,硬件把结果和状态通过指令系统返回给软件。1.1 指令的格式操作码 地址码 寻址方式1.1.1操作码机器要做什么操作1.1.2 地址码第一种:四地址A1: 第一个操作数地址A2: 第二个操作数地址A3: 结果的地址A4: 下一条指令的地址,利用A4取下一条指令假设指令字长为32位,操作码固定位8位,则剩余的24位分配给4个操作数,则每一个操作数是6位,寻址范围是2^6 =64,如图示:很明

2021-04-17 23:18:47 136

原创 Linux之磁盘冗余阵列

RAID: 是Redundant Arrays of Independent Disk的缩写,即独立磁盘冗余阵列。也就是通过一些技术将多个磁盘组合成一个磁盘组,逻辑上看就是一个较大的磁盘设备。除了存储的功能,还可以根据不同RAID级别提供数据冗余备份的功能。一 mdadm命令,用于管理RAID工具-C 或者 --create:建立一个新阵列-A: 机会磁盘阵列-D 或者 --detail:打印阵列设备详细信息-s或者–scan:扫描配置文件或者/proc/mdstat得到阵列缺失信息-S: 停止

2021-04-17 22:11:40 190 1

原创 操作系统之进程和线程

操作系统也是软件,区别于应用软件的最大特点具有进程管理、内存管理等功能。一 进程1.1 什么是进程(process)进程指的就是正在运行中的程序。进程也是有生命周期,当程序运行结束,则进程结束。如果程序没有运行呢?那就是代码。所以我们判断是不是进程的最主要区别就是看程序是否正在运行。1.2 进程分类1.2.1 按照运行在不同的态分为用户进程和系统进程第一:运行在用户态的进程就属于用户进程,一般是没有权限操作系统资源的第二:运行在内核态的进程就属于系统进程,一般是有权限操作系统资源的1.2.2

2021-04-17 17:58:54 41

原创 操作系统之磁盘管理

一 磁盘的物理地址1.1 磁盘的物理地址我们知道磁盘主要是包括盘片、机械臂和磁头组成的,一个盘片分为两面,每一面都可以进行读写。每一个盘面由磁道组成,每一个磁道由扇区组成,扇区是磁盘进行读写的最小单位。那如何对磁盘寻址呢?首先我们得知道是哪一个磁道,所以首先要把所有磁头都移到对应的磁道柱面上,用来确定磁道;然后根据盘面号决定存储在哪一个盘面上的,最后确定在这个盘面上的哪一个扇区,然后将磁头移到这个扇区,然后控制磁盘旋转,就可以读写数据。如图示:1.2 扇区和磁盘块的关系一个扇区以前一般是512字

2021-04-17 17:38:19 63

原创 计算机组成原理之磁盘

一 机械硬盘结构1.1 硬盘(Hard Disk)硬盘可以看做是多个盘面有规则的叠加,盘片表面涂有磁性材料。每一个盘面由多个磁道组成。硬盘内所有盘片都固定在一根轴上,这个轴就是主轴,带动着盘面旋转。1.2 磁头(Head)硬盘用于存储数据,那么就需要读写,那怎么读写呢?就需要读写的工具-磁头。它的主要作用就是电流信号转化为磁信息存储在硬盘上,通过将磁信息转化为电信号向外传输,进行读取。它是用线圈缠绕在磁芯上制成的(磁芯是指由各种氧化铁混合物组成的一种烧结磁性金属氧化物)。磁头通过感应旋转的盘片上磁

2021-04-14 21:57:27 947 6

原创 Linux 零拷贝方案

一 什么是零拷贝(zero copy)? 零拷贝有什么优点?1.1 什么是零拷贝?零拷贝: 指的是在I/O过程中,用户空间和内核空间不需要进行CPU数据拷贝。零拷贝并不是指I/O过程中一次拷贝都没有发生。传统的I/O读的时候,需要将内核缓冲区的数据拷贝到用户空间的缓冲区;传统I/O写的时候,需要将用户空间缓冲区数据拷贝到内核缓冲区。但是零拷贝就是避免了这种拷贝操作,提升了I/O性能。比如我们读取磁盘数据,然后写入网卡为例,按照传统I/O的工作方式如图所示:从上图我们可以看到,总共发生了4次内核态集

2021-04-14 17:02:16 36 1

原创 Linux I/O模型

一 什么是同步,什么是异步?同步指的是发起I/O请求后,必须等待I/O响应,从内核缓冲区获取到数据,程序才能继续往下执行异步指的是发起I/O请求后,无需等待I/O响应,程序继续往下执行,如果内核缓冲区数据准备好了则通知用户进程或者执行注册的回调函数二 什么是阻塞,什么是非阻塞?阻塞指的是I/O请求时,内核缓冲区没有数据,则需要阻塞等待数据准备好。注意这里也并不是一直阻塞,CPU时间分片到了,则会把请求放入到一个等待队列,然后去执行其他线程了,等待数据返回,触发中断,然后中断处理程序会将该线程移到运行

2021-04-13 18:35:39 42

原创 Reactor线程模型

一 传统阻塞线程模型第一:服务器端有一个Acceptor线程接收客户端请求第二:Acceptor接收到每一个客户端请求后,为每一个线程分配一个线程处理客户端请求缺点:第一:当数据量很大或者客户端很多的时候,就会创建大量的线程对象第二:连接建立后,没有数据可读,会一直处于阻塞状态二 Reactor单线程模型第一:Reactor对象通过Selector(多路复用器)监控客户端请求事件第二: 收到事件后,进行分发第三:如果是建立连接的事件则交给Acceptor,通过accept处理连接请求,

2021-04-12 16:23:50 40

原创 Netty线程模型和核心概念

一 传统阻塞线程模型第一:服务器端有一个Acceptor线程接收客户端请求第二:Acceptor接收到每一个客户端请求后,为每一个线程分配一个线程处理客户端请求缺点:第一:当数据量很大或者客户端很多的时候,就会创建大量的线程对象第二:连接建立后,没有数据可读,会一直处于阻塞状态二 Reactor单线程模型第一:Reactor对象通过Selector(多路复用器)监控客户端请求事件第二: 收到事件后,进行分发第三:如果是建立连接的事件则交给Acceptor,通过accept处理连接请求,

2021-04-12 16:03:08 40 1

原创 文件内存映射和传统I/O机制

一 页高速缓存(页缓存)?1.1 什么是页高速缓存(page cache)? 为什么需要页高速缓存?1.1.1 什么是页高速缓存?页高速缓存,也就是我们经常说的page cache,它是Linux操作系统实现的针对磁盘的一种缓存,通过把磁盘的数据缓存到物理内存,把对磁盘的访问转化为对物理内存的访问。页缓存可以减少内核对磁盘的I/O操作,提升I/O性能。1.1.2 为什么需要页高速缓存?1.1.2.1 内存和磁盘的速度差异因为读取内存的速度远快于读取磁盘的速度,所以从内存访问数据比从磁盘读数据快

2021-04-11 18:54:34 44

原创 磁盘读写流程和网络读写流程

一 页缓存(page cache) 和 套接字缓冲区(socket buffer)1.1 页缓存(page cache)1.1.1 什么是页缓存? 为什么需要页缓存?当应用程序要读取磁盘上的文件的时候,首先需要CPU将磁盘上的文件内容拷贝到主存中,然后我们再从主存中读取文件内容。但是,我们知道从磁盘属于慢速设备,主存属于高速设备,从磁盘传输数据到主存是比较慢的,所以为了均衡这种速度差,就有了类似于CPU 高速缓存一样的东西,叫做页缓存。页缓存,它是利用主存的空闲部分来缓存一些数据块的,也就是页缓存中

2021-04-07 00:05:55 65 1

原创 I/O控制器 和 DMA控制方式

一 IO控制器1.1 I/O控制器是什么IO设备主要包括机械部件和电子部件。磁盘、光盘、鼠标、键盘、显示器、打印机等都属于机械部件;磁盘控制器、显卡、网卡等属于电子部件。CPU是无法直接操作机械部件的,只能通过电子部件间接的控制。这些电子部件就叫做I/O控制器,和CPU、主存之间通过总线通信。如图示:1.2 I/O控制器有哪些功能和组成部分1.2.1 控制器功能第一:传输CPU指令,接收来自CPU的指令第二:缓冲和传输数据第三:选址的功能,根据地址获取本次需要参与I/O的设备第四:向CP

2021-04-05 11:22:32 59

原创 CPU缓存一致性 MESI协议

一 CPU以及缓存和高速缓存结构1.1 CPU结构我们知道CPU主要功能,一是控制,一是运算。主要包括寄存器、控制单元、运算单元和中断系统,主要架构如下:控制单元:主要负责分析和解释指令算数逻辑单元:也就是CPU的运算或者执行单元,负责计算寄存器:有多种类型,包括地址寄存器、数据寄存器和控制寄存器等等,数据寄存器:保存数据和操作数的寄存器;地址寄存器:保存地址;指令寄存器:存放指令的寄存器1.2 寄存器和高速缓存和写缓冲区比较相同点:都可以是CPU这边的硬件,其中高速缓存可以在处理器和MMU

2021-04-04 09:03:21 40

原创 计算机组成原理之CPU以及高速缓存

一 CPU组成结构CPU主要包括四个组成部分,控制器、运算器、寄存器、时钟。1.1控制单元控制单元主要包括取指令、分析指令和执行指令以及对返回的结果进行时序控制。它主要使用到的寄存器包括IR(指令控制器)1.1.1 负责取指令、分析指令和执行指令第一: 通过Mem[PC++]获取指令会把在磁盘上的编译后的机器指令放到内存中,然后CPU开始读取指令,比如指令是8位的 LOAD_A_8。此时的指令是按照操作码和地址码存在的,比如0100 0121第二:指令被取出放到控制器中的IR指令寄存器中第三

2021-03-29 18:36:55 152

原创 操作系统之进程

操作系统也是软件,区别于应用软件的最大特点具有进程管理、内存管理等功能。一 进程1.1 什么是进程(process)进程指的就是正在运行中的程序。进程也是有生命周期,当程序运行结束,则进程结束。如果程序没有运行呢?那就是代码。所以我们判断是不是进程的最主要区别就是看程序是否正在运行。1.2 进程分类1.2.1 按照运行在不同的态分为用户进程和系统进程第一:运行在用户态的进程就属于用户进程,一般是没有权限操作系统资源的第二:运行在内核态的进程就属于系统进程,一般是有权限操作系统资源的1.2.2

2021-03-28 22:47:51 32

原创 Linux之虚拟机配置双网卡

首先检查本地windows 是否有新的HOST-ONLY网卡vim /etc/sysconfig/network-scripts/ifcfg-enp0s3DEVICE=enp0s3TYPE=EthernetBOOTPROTO=dhcpONBOOT=yesNM_CONTROLLED=novim /etc/sysconfig/network-scripts/ifcfg-enp0s8...

2018-10-04 17:47:34 1475

原创 编程基础 之 位运算专题

一 原码、反码和补码1.1原码原码就是将10进制数,转化为2进制码,比如:8:00001000-8: 10001000最高位表示符号位。 1.2 反码反码:如果是正数,即最高位是0,则反码是原码自己;如果是负数,即最高位符号位是1,则符号位保持不变,其余位取反。比如:8的原码:000010008的反码:00001000-8的原码:10001000-8...

2018-09-04 12:11:12 303

原创 window 环境下搭建多个git项目

很多时候,我们在开始用git的时候,就使用全局的配置文件设置了用户名和邮件地址,导致每次切换项目提交代码都需要修改用户名和地址。这种情况主要是开始对git不熟,网上找的例子。另外确保自己本地已经安装git 和 git-bash,并且安装路径添加到环境变量。git-bash里面会有一些用户相关的ssh命令会被用到。一 如果现在已经存在全局配置的git项目我们可以将全局的配置清掉,只在项目级别设置。可...

2018-05-24 17:25:34 762

原创 Log4J 1.x 配置详解

一 Log4J有三个主要的组件1.1 Loggers(记录类型)Log4j划分了5个级别:DEBUG,INFO,WARN,ERROR,FATAL。 这5个level是有优先级顺序的,DEBUG指定的日志级别。比如你指定了WARN级别,可以输出WARN,ERROR和FATAL的日志,但是不会输出DEBUG和INFO级别的日志1.2 Appenders(输出)有了日志,

2018-01-20 17:43:09 771

转载 Linux之内核调试sysrq

# 立即重新启动计算机echo "b" > /proc/sysrq-trigger # 立即关闭计算机echo "o" > /proc/sysrq-trigger # 导出内存分配的信息 (可以用/var/log/message 查看)echo "m" > /proc/sysrq-trigger # 导出当前CPU寄存器信息和标志位的信息echo "p" >

2018-01-15 15:06:48 913

原创 Shell脚本基础语法

一、       编写shell的格式1 第一行决定使用哪一种shellBash:#! /bin/bashPython: #! /usr/bin/python不知道解释器的完整路径,可使用whereis 解释器名称(bash)2 # …… 表示注释3 正常的程序体 二、       source . bash sh ./ 执行脚本有啥区别1 source xxx

2018-01-14 00:02:56 496

转载 Linux之rsync

一 rsync介绍 我们经常需要在不同主机或者相同主机的不同目录做文件同步和更新,Linux提供了很多内置命令可以使用比如scp,cp等等,但是rsync命令是一个更加强大的远程同步工具,可以通过LAN/WAN快速同步多台主机间的文件,它使用的就是rsync算法达到本地和远程两个主机之间文件同步,该算法是增量算法,即只同步两个文件的不同部分,而不是每次同步整个文件,所以速度比较快。 

2018-01-13 21:29:20 332

原创 Linux之磁盘配额

磁盘配额:限定用户或组对磁盘空间的使用一 查看是否安装quota的包rpm -qa|grep quota如果没有则安装yum install quota 二 启用quota磁盘配额功能mkfs.ext4 /dev/sdb3mkdir /tmp/sdb3mount /dev/sdb3 /tmp/sdb3/重新挂载一下:mount -o remount,us

2018-01-09 08:18:05 424

转载 Vim查找替换 & 正则表达式

查找替换语法:=> :[range]s/{pattern}/{string}/[flags]:1,10s/from/to/ 表示在第1到第10行(包含第1,第10行)之间搜索替换:10s/from/to/ 表示只在第10行搜索替换:%s/from/to/ 表示在所有行中搜索替换1,$s/from/to/ 同上flags 有如下四个选项c confirm,每次

2017-12-29 10:29:29 1472

原创 Linux 常用开关机以及7个启动级别

一 关机或重启1.1 shutdown-r: 重启-h 关机-h 时间 定时关机1.2 init关机: init 0重启: init 61.3 poweroff1.4 reboot二 7 个启动级别语法 init 0-60: 系统停机模式1: 单用户模式,root权限,用于系统维护,禁止远程登录,类似windows的安全模式2:

2017-12-28 06:37:20 1020

原创 Linux 别名

Linux中别名,可以让我们平时经常敲的一些很长的命令变短,提高效率。语法如下:alias "命令"比如:alias vimens33= " vim /etc/sysconfig/network-script/ifcfg-ens33"设置别名的有效范围1 用户有效vim ~/.bashrcalias vimens33= " vim /etc/sysconfig

2017-12-28 06:14:40 363

原创 Linux下 sshd服务不能启动

今天遇到CentOS 7 下远程连不上,怀疑服务没有启动,先检查了端口和服务是否启动:ps -A| grep sshd 发现没有netstat -nultp|grep 22 也没有发现22端口检查防火墙是不是会影响,关闭了防火墙,重启sshd服务 systemctl stop firewalld.servicesystemctl start sshd.servi

2017-12-25 11:02:37 47908 3

原创 Java虚拟机专题对象内存定位

一  对象在内存中的布局1.1对象的创建过程对象的创建过程可以如下图所示:1.2 什么是符号引用和直接引用,为什么需要在常量池定位到符号的引号?在类的解析阶段,把虚拟机常量池内的符号引号替换为直接引用。1.2.1 符号引用(SymbolicReferences)就是用一组符号来描述所引用的目标,符号可以是任何形式的,只要使用时能够定位到目标即可。我们知道

2017-12-19 17:09:13 412

原创 Java虚拟机内存的代的划分

一 Java虚拟机为什么需要分代# 如果每次都对整个堆空间进行垃圾回收,花费的时间肯定较长# 不同的对象生命周期不一样,如果每次垃圾回收这些周期的较长的也都去遍历一下,显然没有意义。所以实现分而治之的思想,采用分代,方便进行不同生命周期的对象的管理。 二 如何划分代2.1JDK1.8 之前堆内存划分成2代:新生代(Young区),老年代(Tenured区)方法区:持

2017-12-19 17:04:17 288

原创 Java虚拟机内存溢出

一 生成内存快照我们要检测是哪里的代码出了问题,就必须要借助一些命令或者工具定位到这个问题代码行,那么通常做法是生成内存快照,那么快照应该如何生成呢?我们可以设置JVM的参数:-XX:+HeapDumpOnOutOfMemoryError这样在内存溢出的时候,就会生成内存快照。如果要测试的话,我们可以设置以下参数,将虚拟机内存调小,方便测试:-XX:+HeapDumpOnO

2017-12-19 17:02:24 363

原创 Java虚拟机专题之class文件结构(读书笔记)

我们知道一个Class文件对应着一个接口或者注解的类,但是他们并不一定定义在文件里,也可以直接由类加载器生成。 Java虚拟机定义了专门的数据类型来表示class文件的内容,他们包括u1,u2,u4表示1,2,4个无符号数 一 Class文件结构在Class文件中,各个项按照严格顺序连续存放的,他们之间没有任何填充或者对齐做为分隔符。表由任意数量的可变长度的项组成,表示Cl

2017-12-19 16:58:48 336

原创 Java虚拟机专题之类加载机制

一 类的加载阶段类加载具体做的是什么# 根据类的权限定名,获取此类的二进制流(文件或者网络等)# 将这个字节流所代表的静态存储结构转化为方法区的运行时数据# 在内存创建一个代表这个Class的对象,然后作为数据的访问入口二 类的连接阶段2.1 验证阶段验证的目的是确保加载的Class文件的字节码流的信息符合Java虚拟机规范,不会危害虚拟机的安全。包括文

2017-12-19 16:53:18 305

原创 Java虚拟机专题之字节码指令(读书笔记)

一 字节码与数据类型大部分的指令都包含了其操作所对应的数据类型信息。比如iload指令用于从局部变量表中加载int类型的数据到操作栈中,而fload指令加载的则是float数据类型的数据。 二 加载与存储指令主要用于将数据在栈帧的局部变量表和操作数栈之间来回传输。将局部变量表加载到操作数栈:iload,lload,fload,dload,aload(引用类型)将一个

2017-12-19 16:48:41 352

原创 Java虚拟机专题之垃圾回收(读书笔记)

一 如何判断对象是垃圾对象1.1 引用计数法 (Reference Counting)在对象中添加一个引用计数器,当有其他地方引用这个对象的时候,引用计数器就加1,当引用失效的时候就-1. 当垃圾回收器检查到引用为0,就会认为是垃圾对象,进行回收。 但是有一个问题,比如对象之间循环引用,诸如A,B两个对象,都有一个属性instance, 假设A.instance = B,B.ins

2017-12-19 16:44:23 302

ngrok-stable-linux-amd64.zip

ngrok-stable-linux-amd64.zip

2021-04-19

curl-7.63.0.tar.gz

curl-7.63.0.tar.gz

2021-04-19

zabbix-3.0.10.tar.gz

zabbix-3.0.10.tar.gz

2021-04-19

mysqld_exporter-0.10.0.linux-amd64.tar.gz

mysqld_exporter-0.10.0.linux-amd64.tar.gz

2021-04-19

apollo-1.4.0.tar.gz

apollo-1.4.0.tar.gz

2021-04-19

datax.tar.gz

datax.tar.gz

2021-04-19

jemalloc-4.4.0.tar.bz2

jemalloc-4.4.0.tar.bz2

2021-04-19

maxwell-1.28.0.tar.gz

maxwell-1.28.0.tar.gz

2021-04-19

esrally-dist-1.0.4.tar.gz

esrally-dist-1.0.4.tar.gz

2021-04-19

Percona-XtraBackup-2.4.9-ra467167cdd4-el7-x86_64-bundle.tar

Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁)。XtraBackup支持所有的Percona Server、MySQL、MariaDB和Drizzle

2017-12-31

tomcat6.x服务器

这是我用过的最稳定的tomcat服务器,虽然现在7.x都升级到了30,但是这款仍是最爱

2012-11-23

Lucene pdf download

Lucene pdf download

2014-09-06

happy19870612的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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