3 王老桔

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 2w+

MySQL底层原理解析:2.索引

本文导读本文主要对索引进行详解1.索引概述索引的本质:一种有序的数据结构,一般常用的是多路平衡搜索树,即BTREE索引的作用:帮助MySQL高效获取数据条件查询数据方式没有索引顺序遍历数据表查询使用索引根据数据结构(索引)的查询顺序查询【☆☆☆必看】图解:什么是索引2.索引的优缺点优点缺点类似书本的目录索引,提高数据检索效率,降低数据库的IO成本索引本质是数据结构,也是一张表,该表中保存了主键与索引字段,并指向实体类的记录,所以索

2020-06-30 19:05:49

MySQL底层原理解析:1.MySQL基础环境搭建

# 1.下载适合Centos的MySQL5.7wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz# 2.解压缩tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz# 3.重命名一下文件夹,方便后面操作mv mysql-5.7.30-linux-glibc2.12-x86_64 mysql# 4.建议将mysq

2020-06-30 19:04:24

图解:什么是索引?

1.磁盘【图解】以一个拥有3个磁道和4个扇区的磁盘为例2.数据表与磁盘【图解】以一个简单的用户表user_table为例,总共存储100行数据每一个Block可以存储4行数据,那么该表需要占用25块磁盘;那么如果在该表中查询数据,最坏情况下据需要查询25块磁盘才能查到;需要注意的是,磁盘中的数据是无法直接处理的,需要读取到内存中处理,处理完成后再返回磁盘,即一次IO,那么在该表中查询,最坏的情况就是需要25次IO;3.何为索引?【图解】数据表index_table中只存储两列数

2020-06-30 19:01:41

图解B树构建过程

1.B树结构同时满足以下特性每个节点最多包含n个孩子,即n叉树;除了根节点和叶子节点外,每个节点至少有ceil(n/2)个孩子(ceil是向上取整);若根节点不是叶子节点,则至少有两个孩子;所有叶子节点在同一层;☆☆☆每个非叶子节点由m个key和m+1个指针组成,其中(ceil(n/2)-1)<=m<=n-1;【B树的非叶子节点示意图】key是存储的值,保存的是数据表某一列的内容p是指针,指向当前节点的孩子一个非叶子节点中包括m个key和m+1个指针【伪代码示例】

2020-06-24 20:12:27

Tomcat底层原理分析:9.Tomcat性能调优

本文导读本文主要讲了从三个方面对Tomcat进行优化:1.Tomcat的JVM的内存优化2.Tomcat的JVM的GC策略优化3.Tomcat的连接器优化1.JVM调优Tomcat的实质也是一个Java应用,那么JVM的配置就与其运行性能密切相关。通常,JVM优化的重点则集中在内存分配和GC策略的调整上,原因如下:内存直接影响服务的运行效率和吞吐量;JVM的GC机制会不同程度地导致程序运行中断(即JVM执行垃圾回收时,程序会停止运行),根据应用程序的特点,选择不同的GC策略,可以极大地

2020-06-23 20:28:25

Tomcat底层原理分析:8.Tomcat安全性配置解析

本文导读本文主要讲了Tomcat部署后需要修改哪些默认配置,从而保证Tomca的安全性;以及如何为我们部署在Tomcat上的Web项目设置https协议,从而进一步保证Web项目的安全性。1.配置安全部署完Tomcat环境之后,Tomcat会有一些默认功能和默认配置,建议按照下面的提示修改Tomcat的默认配置!!!安装完Tomcat后,强烈建议情况webapps目录下所有的文件,即禁用Tomcat的管理界面,防止出现别人通过管理界面修改部署在Tomcat中的web服务;注释或者删除tom

2020-06-23 20:25:36

Tomcat底层原理分析:7.Tomcat集群配置解析

本文导读本文主要讲了如何设置Tomcat集群以及如何使用Nginx进行反向代理;注:本文图片均来自java进阶教程动手实现Tomcat【黑马程序员精品公开课】,侵权立删。1.Tomcat集群结构图通过Nginx进行反向代理,即可实现访问一个ip:port,将请求负载均衡到集群中的一个Tomcat-Server中。2.Nginx配置安装好Nginx后,打开nginx.conf,设置下面内容# 假设当前Tomcat集群中有两台服务器# upstream serverpool配置的作用:匹

2020-06-23 20:21:58

Tomcat底层原理分析:6.Tomcat中对JVM的配置解析

本文导读本文需要对JVM有一定了解。Tomcat的实质也是一个Java应用,所以本文主要讲解一下如何配置Tomcat的JVM。1.JVM内存模型图2.JVM配置项2.1Linux环境下Tomcat配置JVM# 复制下面内容到catalina.sh文件中JAVA_OPTS="-server -Xms1024m -Xmx2048m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -XX:SurvivorRatio=82.2参数详解

2020-06-23 20:16:10

Tomcat底层原理分析:5.Web应用配置解析

本文导读本文主要对web.xml的配置内容进行解析,请务必认真看注释。1.web.xml配置文件内容解析web.xml配置文件在Tomcat和JavaWeb项目中都有,优先使用JavaWeb项目中的web.xml配置文件<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.s

2020-06-23 20:11:59

Tomcat底层原理分析:4.Tomcatd的server.xml配置内容解析

本文导读本文主要对server.xml中主要的配置参数内容进行解析,可以将本文结合Tomcat底层原理分析:2.Tomcat架构分析一起阅读注:本文主要摘自Tomcat中server.xml文件内各节点详解,侵权立删。1.server.xmlserver.xml是Tomcat服务器的核心配置文件,包含了Tomcat的Servlet容器(Catalina)的所有配置1.1主要结构正如该文件的扩展名所示,这是一个 xml 格式的文件,打开之后将会看到如下的结构:<!-- Server是s

2020-06-23 20:07:04

Tomcat底层原理分析:3.Jasper引擎

本文导读作者认为随着时间推移,JSP会使用的越来越少,因此这里不会对“Tomcat中与JSP引擎”进行讲解。注:本文图片均来自黑马程序员精品公开课,侵权立删。1.Jasper简介【HTML】静态网页资源,浏览器只能加载静态资源。【JSP】jsp是一种非静态网页资源,其内部可以包含/兼容java代码,其本质上是一个Servlet。【Jasper】Jasper就是Tomcat的JSP核心引擎,它可以对JSP语法进行解析,将JSP生成Servlet以及Class字节码。用户通过URL访问JSP时,就

2020-06-23 20:03:27

Tomcat底层原理分析:2.Tomcat架构分析

本文导读本文主要讲了Tomcat的各个组件之间的关系以及Tomcat底层是如何实现“一个URL定位到一个具体的servlet”。注:本文图片均来自java进阶教程动手实现Tomcat【黑马程序员精品公开课】,侵权立删。1.Tomcat整体架构Tomcat本质上就是一个Servlet容器,所以Catalina就是其核心,其他模块都是为Catalina提供支撑的。比如:通过Coyote提供Sockets通信,Jasper提供JSP引擎,Naming提供JNDI服务,Juli提供日志服务。【Tomca

2020-06-23 19:59:42

Tomcat底层原理分析:1.基础环境搭建

本文导读Java和Tomcat的下载,可以按照下面教程中的链接下载,也可以自己在官网中选择不同版本下载Java官网下载Tomcat官网下载1.Java# 1.下载jdk1.8的rpm包wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d5

2020-06-23 19:53:18

Java:函数式编程

1.Lambda基础Lambda表达式的作用就是:减少代码的冗余量,相对于内部匿名类可读性增强1.1普通函数定义:// 返回类型 方法名 参数列表 方法体int add (int a, int b) { return a+b; }1.2省略过程step1:返回类型和方法名直接省略,使用lambda操作符 -> 连接(int a, int b) -> { return a+b; }step2:参数类型省略,并且要省略全都得省略(a, b) -> { return

2020-05-21 14:56:44

图解Git第三章:解决冲突、“git merge和git rebase的区别”

第1节:分支冲突

2020-05-07 19:19:26

图解Git第二章:多人合作开发操作git

第1节:分支 = github项目的副本1.1本节涉及概念:概念解释分支就是github项目的副本本地分支克隆项目到本地后,在本地上的项目副本远程分支远程仓库里的项目副本1.2图解【git clone后本地分支】远程仓库现在有四个分支,git clone项目会默认创建一个本地master分支,与远程master分支关联。【基于远程分支,创...

2020-05-06 18:32:35

图解Git第一章:单人开发项目操作git

本节涉及概念:概念解释仓库就是github项目分支就是github项目的副本本地分支本地副本:就是在你自己电脑上的分支远程分支远程副本:就是在远程仓库里的分支工作区当前项目目录所在的本地文件夹暂存区git add之后的区域版本区git commit之后的区域图解:【待插图】本节涉及git指令:指令作用...

2020-05-06 11:39:15

漫画赏析:Linux 内核到底长啥样

本文转载自:漫画赏析:Linux 内核到底长啥样,如若侵权,请联系我,侵权立删。今天,我来为大家解读一幅来自 TurnOff.us 的漫画 “InSide The Linux Kernel” 。 TurnOff.us 是一个极客漫画网站,作者Daniel Stori 画了一些非常有趣的关于编程语言、Web、云计算、Linux 相关的漫画。今天解读的便是其中的一篇。在开...

2020-03-22 16:24:18

极简解释“Java注解Annotation”

`这篇博客不适合想要彻底弄懂Java注解的同学,它更适合对Java注解有一定了解,但是对其没有清楚梳理过Java注解的同学。下面用7句话总结一下Java注解:Java注解的本质就是一个类,它和class、interface一样,都是类;定义方式:在interface前面加一个@就是注解// 这是一个名为TestAnnotation的注解public @interface Test...

2020-01-16 11:48:07

为什么我要“安利”你们来实习?

写在前面:送你们两句名人名言:“人的思维是否具有客观的真理性,这并不是一个理论的问题,而是一个实践的问题。人应该在实践中证明自己思维的真理性,即实践是检验真理正确与否的唯一标准。” --马克思“想让孩子知道烛火危险不危险,别拦着他,让他摸一次就知道了。” --我写这两句名言(第二句不是,我可比不上马大爷,哈哈哈哈哈哈哈哈),其实就是想表达一个观点:任何事不要轻信别人说什么就是什么,必定要...

2019-11-27 19:43:58

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力探索
    原力探索
    参与《原力计划【第二季】——打卡挑战》的文章入选【每日精选】的博主将会获得此勋章。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。