- 博客(20)
- 收藏
- 关注
转载 redis 持久化
redis 将数据写到内存里,一旦服务器宕机,数据将会丢失。为了解决这个问题,redis提供持久化--RDB和AOF,将内存中的数据写入到硬盘里。转载原文:https://www.cnblogs.com/dengtr/p/5085287.html...
2018-10-11 23:47:11 116
原创 mysql常见3种存储引擎
1、InnoDB:聚簇索引存储结构,将数据和索引单独存放。 支持AUTO_INCREAMENT,支持事物,采用MVCC并发(行级锁变种),支持外键,自适应性哈希索引2、MyISAM:MyISAM的表存储成3个文件。文件的名字与表名相同。拓展名为frm、MYD、MYI。 其实,frm文件存储表的结构;MYD...
2018-10-10 18:02:19 149
原创 redis
redis 命令:https://blog.csdn.net/weixin_38364973/article/details/80527033redis 简介:https://blog.csdn.net/middleware2018/article/details/80355418redis文档: http://www.redis.cn/documentation.html...
2018-10-10 17:50:58 99
原创 mysql索引
索引是存储引擎用于快速寻找到记录的一种数据结构,先在索引中找到对应值,再根据值找到数据行并返回索引列可以包含一个或多个列的值,若包含多个列,要保证列的顺序,mysql只能利用最左前缀列一、索引类型1、B+tree:树结构,对索引列进行顺序存储,即每一个叶子节点都包含指向下一个叶子节点的指针,进行遍历。 该索引会包含指针和索引列2、hash...
2018-10-10 11:53:40 111
原创 垃圾回收
Java垃圾回收,英文全称Garbage Collection,简称GC,是JVM实现的对内存垃圾进行回收的方法。Java内存中,划分为Young区(年轻代)、Old区(年老代)和Perm区(永久代),其中Young区由Eden和2个Survivor(From和To)组成,如下图(蓝色区域是Young区)Young区:存储所有新生成的对象;Old区:经过一定次数GC后还存在的对象,将移...
2018-10-09 17:30:56 100
原创 cms垃圾收集器
concurrent mark sweep (标记-清除),基于“标记-清除”算法的垃圾回收器,目标的获取最短回收停顿时间,希望系统停顿时间最短,保证系统响应速度。cms 收集器可以与用户线程同时进行四个步骤:1、初始标记 :标记 GC roots 能直接关联的对象2、并发标记: 进行 GC roots tracing 的过程3、重新标记: 修正并发标记期间,因用户程序继续运作导致...
2018-10-09 17:16:54 92
原创 常用排序算法
1、冒泡排序比较相邻的两个值,大小不一致就互换位置,一直轮训到最后一个值2、选择排序从无序数组中选取关键字(最大值或最小值)放到已排序的序列起始位置,再从剩余的数组中找到最大或最小的值放到已排序列的末尾 3、快速排序4、递归5、二分查找 :对有序数组进行关键值key的查招,只要思想:折半,递归...
2018-10-08 20:17:50 80
原创 Java虚拟机
Java虚拟机的运行时数据区主要分为以下几个区域1、程序计数器:保存独立线程的字节码的行号指示器,根据计数器的值选取下一个执行的指令 作用:一个线程从开始到执行完毕后,将指示信号传递给下一个线程2、虚拟机栈:Java程序中每一个方法从调用到执行结束都是一个入栈到出栈的过程,栈中保存了局部变量表,操作栈,动态链接,方法出口信息。3...
2018-10-08 15:07:45 73
原创 Java线程
Java线程调度分为两类:(1)、协同式:执行时间由线程决定,当前线程执行完毕后通知系统切换到另一线程(2)、抢占式:执行时间由系统分配,Java5种进程状态:(1)、new :创建后未启用(2)、Runable:正在执行或等待内存分配时间的状态(3)、waiting : 要被其他线程显示唤醒(4)、Timed Waiting : 在一定时间后自动被系统唤醒(5)、...
2018-10-08 14:40:40 84
原创 Java内存模型
一、目标:定义在虚拟机中将变量存储到内存和从内存中取出变量的细则,此时的变量包括实例字段、静态字段和构成数组对象的元素,但不包括局部变量和方法参数,因为后者是线程私有的,不会被共享,自然不存在竞争问题二、规定:1、所有变量都存储到主内存里,每个工作内存(每条线程)保留要被该线程使用的变量的主内存副本拷贝,对变量的读取、赋值要在工作内存中完成2、各线程之间不能直接访问变量 ,需要主内存传...
2018-10-08 13:08:49 81
原创 虚拟机类加载过程
类加载全过程 : 加载 --> 验证 --> 准备 --> 解析 --> 初始化1、加载 (一般从war中读取) (1)、通过类的限定名获取此类的二进制字节流 (2)、将二进制字节流的静态存储结构转化为方法区的运行时数据结构 (3)、在Java堆生成这个类的对象,作为方法区的数据访问入口2.验证 (确保class文件的字节流包含的信息符合虚拟机的要求)...
2018-10-08 12:20:18 105
转载 java 中常见异常
算术异常类:ArithmeticExecption空指针异常类:NullPointerException类型强制转换异常:ClassCastException数组负下标异常:NegativeArrayException数组下标越界异常:ArrayIndexOutOfBoundsException违背安全原则异常:SecturityException文件已结束异常:EOFEx...
2018-10-08 11:34:36 77
转载 Java线程排查过程
最近公司系统老是卡顿,通过top命令查看,发现java的进程占用CPU很高,3200%多。系统曾出现过多次类似问题,这里记录下排查过程,为以后提供参考。顺带补充一下多线程的相关知识。排查过程如下:1、top #查看java进程占用cpu、内存情况2、ps (ps -mp java进程ID -o THREAD,tid...
2018-10-07 15:49:41 274
原创 tomcat 容器加载
一、加载配置文件 Tomcat容器加载时首先读取的是web.xml文件,读取的节点顺序是listener>filter>servlet,还存在一个<context-param>标签,这个标签可以存放在任意位置,一般的读取节点顺序是context-param>listener>filter>servlet二、同类标签说明 (1)、filter ...
2018-07-06 17:32:36 281
转载 http与https区别
HTTPS缺省工作在TCP协议443端口,它的工作流程一般如以下方式1) 完成TCP三次同步握手2) 客户端验证服务器数字证书,通过,进入步骤33) DH算法协商对称加密算法的密钥、hash算法的密钥4) SSL安全加密隧道协商完成4) 网页以加密的方式传输,用协商的对称加密算法和密钥加密,保证数据机密性;用协商的hash算法进行数据完整性保护,保证数据不被篡改如果HTTPS是网银服务,以上SSL...
2018-06-28 11:41:56 105
原创 Git常用命令说明
大笔一挥,让我来讲讲神奇的分布式代码版本管理工具Git1、git clone -b <> 仓分支名 库地址 2、git status3、git branch4、git checkout -b <本地新分支> //创建新分支并切换5、git add <file> 6、git commit -m '注释'7、git pull origin <本地...
2018-06-20 18:55:54 83
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人