自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

桔子

每件事都有它自然发生的时间

  • 博客(183)
  • 收藏
  • 关注

原创 MySQL进阶:5.存储引擎

1.MySQL自上而下的四层结构连接层:以连接池方式管理客户端与MySQL服务器的连接服务层:包括但不限于SQL优化服务、数据缓存服务等存储引擎层:包括但不限于InnoDB、MyISAM等存储层:数据落地(写入磁盘),与文件系统交互2.存储引擎所谓引擎,以汽车引擎为例,引擎就是为汽车提供动力服务的核心组件。再比如,车载音响可以为汽车提供音乐服务,但它并不是必须的、关键的服务,所以它对于汽车而言不能是引擎。再套入MySQL来说,存储引擎是MySQL最核心的服务,这么理解就行了。2.1本质存

2020-07-07 19:52:59 384

原创 MySQL进阶:4.为什么不推荐使用存储过程和触发器

以下内容摘自:为什么大家都不推荐使用MySQL触发器而用存储过程?,侵权立删。存储过程和触发器二者是有很大的联系的,我的一般理解就是触发器是一个隐藏的存储过程,因为它不需要参数,不需要显示调用,往往在你不知情的情况下已经做了很多操作。从这个角度来说,由于是隐藏的,无形中增加了系统的复杂性,非DBA人员理解起来数据库就会有困难,因为它不执行根本感觉不到它的存在。再有,涉及到复杂的逻辑的时候,触发器的嵌套是避免不了的,如果再涉及几个存储过程,再加上事务等等,很容易出现死锁现象,再调试的时候也会经常性的.

2020-07-07 19:52:27 4564

原创 MySQL进阶:3.视图

1.视图概述视图(View)是一种虚拟概念,它并不在数据库中真实存在。它是一条SELECT语句执行后返回的结果集。视图存在的意义:简单:使用视图的用户完全不需要关心对应的表的个数和结构,因为它就是一个已经过滤好的复合条件的结果集;数据独立:一旦视图创建成功,源表(们)就算增加了列项,也对视图没有任何影响;如果修改了列名,视图只要也跟着修改一下即可。2.操作视图语法2.1创建// 不一定要用select *,可以根据实际情况select指定的一个或多个列项mysql> create

2020-07-07 19:51:26 255

原创 MySQL进阶:2.索引

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

2020-06-30 19:05:49 337 3

原创 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 294

原创 图解:什么是索引?

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

2020-06-30 19:01:41 1361

原创 图解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 7456 7

原创 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 596

原创 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 327

原创 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 243

原创 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 222

原创 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 171

原创 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 292

原创 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 277

原创 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 1231

原创 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 264

原创 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 223

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

第1节:分支冲突

2020-05-07 19:19:26 392

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

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

2020-05-06 18:32:35 573 2

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

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

2020-05-06 11:39:15 376

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

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

2020-03-22 16:24:18 329

原创 极简解释“Java注解Annotation”

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

2020-01-16 11:48:07 150

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

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

2019-11-27 19:43:58 2813 12

原创 Linux下安装groovy & Idea安装groovy

1.下载groovy-2.5.3 下载链接:某盘链接 提取码:q3ir如果链接失效,请留言。 2.Linux安装groovy #先将groovy上传到Linux云服务器,从本地传输到远程,-r是用于传输文件夹的参数,直接上传压缩包可以不用-r#下面示例中scp的参数自行替换$ scp -r local_folder remote_username@remote_ip:remote_...

2019-11-06 10:51:11 792

原创 记一次“部署服务遇到bug”的定位及感悟

一、背景 需求 现在有一套监控系统,我们组需要将它接入进来,用于给组内开发的系统提供监控服务。并且,现在需要将其部署在多活节点上。 监控功能介绍 主要分成两个功能:agent服务:按照指标(如net.out.bytes)采集当前机器的数据;others服务:处理(如分析、转发、存储等)agent采集后上报的数据,这里其实是细分成四个服务的,为了方便,统称为一个,others服务。...

2019-10-23 16:58:48 201

翻译 什么是数字签名?

  本篇博文是博主对David Youd于1996年发表的《What is a Digital Signature?》的翻译,原文地址:What is a Digital Signature?  图片来源:数字签名是什么?用图片通俗易懂地解释  文中红色字属于博主附加的解释文字,并非原文翻译内容  鲍勃有两边钥匙,一把公钥,一把私钥。  鲍勃的公钥可以被分享给任何需要它的人,但是...

2019-10-12 14:58:44 388

原创 如何设置并查看"MySQL操作记录"的日志?

# 1.自定义创建存放log文件的目录$ mkdir /usr/local/mysql$ mkdir /usr/local/mysql/log# 2.将该目录的用户改成mysql# 否则mysql没有权限在该文件中写日志,也就无法生成log文件$ chown -R mysql:mysql /usr/local/mysql# -R 是将指定目录以及其所有子目录的用户都改成mysql...

2019-09-27 17:26:45 283

原创 Broker、Proxy、Agent是什么?原来它们都是蟹堡王餐厅里的章鱼哥~

先来看看维基百科怎么定义agent?维基百科agent in ComputingAgent architecture, a blueprint for software agents and control systemsAgent-based model, a computational model for simulating the actions and interact...

2019-09-21 15:41:42 3870 2

原创 Spring:IOC、依赖注入、AOP是什么?

Java:反射Java:设计模式Java:反射动态代理博主前言:上面三个知识点是理解Sprig中IOC、依赖注入、AOP的基础,如果不清楚的,还请先看完上面三篇博客。大白话解释Spring中的IOC、依赖注入、AOP是什么IOC(控制权反转)工厂模式就是体现IOC的一种方法。工厂模式中Factory类就像是一个容器,其他类创建对象皆从该容器中取,而不再是自己主动new出来的,...

2019-09-06 16:48:40 1006

转载 BIOS究竟是什么?详细解读电脑开机时做的一些有趣的事!

昨天为大家讲解重装系统时,涉及到了BIOS+MBR和UEFI+GTP,那么今天就为大家详细的讲一讲,这个BIOS+MBR究竟是什么东西,以及电脑在开机时,自己都做了一些什么事!首先呢,系统的启动从来都不是一件简单的事,甚至是一件相当复杂的事,从你摁下电源的那一刻,电脑就开始了复杂而漫长的运算我们都知道“boot”这个单词在电脑程序里面通常是理解为“启动”或“引导”,但是在英文里“boot”还有一个...

2019-09-03 14:22:29 402

转载 什么是VLAN?VXLAN?以及VLAN和VXLAN的区别?

转自:CSDN博主octopusflying的《关于VLAN和VXLAN的理解》该博主的这篇文章写的极好,强烈推荐!就是文字排版有点不舒服,我转载一下,重新排版。VLAN概括VLAN (Virtual Local Area Network)意为虚拟局域网,是在交换机实现过程中涉及到的概念,由802.1Q标准所定义。由于交换机是工作在链路层的网络设备,连接在同一台交换机的终端处于同一个...

2019-07-17 16:51:06 7281

原创 Java:反射动态代理

各位读者请注意:以下连续三篇(包括本篇),属于引导型博客,并不是对知识点的详细解释,而是对“反射、设计模式和反射动态代理”这三个知识模块的个人理解型的白话文。对于初学java,尤其是别的语言转java语言的同学来说应该可以有不小帮助,对于“想要钻研深入的技术的同学”,可以忽略本文。一、反射与工厂模式1.工厂模式的缺点class WorkFactory { public WorkF...

2018-12-18 15:17:09 325

原创 Java:设计模式

各位读者请注意:以下连续三篇(包括本篇),属于引导型博客,并不是对知识点的详细解释,而是对“反射、设计模式和反射动态代理”这三个知识模块的个人理解型的白话文。对于初学java,尤其是别的语言转java语言的同学来说应该可以有不小帮助,对于“想要钻研深入的技术的同学”,可以忽略本文。一、工厂模式1.白话解释一下什么是工厂模式现在有一个接口,可以被多个子类implements,此时又定义一...

2018-12-17 20:38:59 240

原创 Java:反射

各位读者请注意:以下连续三篇(包括本篇),属于引导型博客,并不是对知识点对详细解释,而是对“反射、设计模式和反射动态代理”这三个知识模块的个人理解型的白话文。对于初学java,尤其是别的语言转java语言的同学来说应该可以有不小帮助,对于“想要钻研深入的技术的同学”,可以忽略本文。一.什么是反射?一句白话文通俗解释:“现在有一个实例化的对象,我可以通过这个对象搞到它所属类的完整结构。”强...

2018-12-17 18:34:39 224

转载 腾讯面试真题:证明为什么哈希表除m取余法的被除数为什么用素数比较好

转载自:[算法分析:哈希表的大小为何是素数](https://blog.csdn.net/zhishengqianjun/article/details/79087525)1问题分析2实例分析1 取模2 选取数列3 检验3结论1、问题分析​ 最近看到了哈希表的问题,网上也看到了一些解释,不过并没有讲的很清楚,正好顺便来探讨一下,如有不足之处,还请指出。...

2018-09-01 16:15:42 3955 8

原创 《Linux高性能服务器编程》学习笔记:目录索引

对于初学者的个人建议,可以按照下面排列的顺序学习 《Linux高性能服务器编程》学习笔记(三)–tcp协议详解《Linux高性能服务器编程》学习笔记(二)–ip协议详解《Linux高性能服务器编程》学习笔记(一)–tcp/ip协议族《Linux高性能服务器编程》学习笔记(九)–I/O复用...

2018-07-24 17:36:51 847

原创 《Linux高性能服务器编程》学习笔记(九)--I/O复用

select函数函数参数详解 #include &amp;amp;amp;amp;amp;amp;amp;amp;lt;sys/select.h&amp;amp;amp;amp;amp;amp;amp;amp;gt; int select(int nfds, fd_set *readfds, fd_set *writefds,fd_set *exceptfds, struct timeval *timeout); 形参(后四个参数均是输入输出型参数): ①n

2018-07-23 23:53:15 542

原创 《Linux高性能服务器编程》学习笔记(一)--tcp/ip协议族

TCP/IP协议族图解封装图解分用图解以太网帧格式图解ARP协议结构详解图解ARP框架整理图解 注:需要该.xmind文件,可自行下载ARP框架图.xmindDNS工作原理 ①输入域名后,现在本机对应的域名服务器中查找 ②域名服务器先查找自己的数据库中的数据,如果没有...

2018-07-15 14:59:41 512

原创 《Linux高性能服务器编程》学习笔记(二)--ip协议详解

IP框架整理图解 注:需要该.xmind文件,可自行下载IP协议框架图.xmind

2018-07-14 22:04:20 397

原创 《Linux高性能服务器编程》学习笔记(三)--tcp协议详解

TCP头部结构详解图解文字详解端口号 很简单,源端口号就是报文的发送端,目的端口号就是报文的接收端序号 ISN 先来了解一下什么是ISN? 序号值被系统初始化为某个随机值(不一定是1),这个随机值就叫做ISN 一次TCP通信(从TCP连接建立到断开)过程中,某一个传输方向上的字节流的每个字节都有自己的编号,序号代表这一段字节流中第一个...

2018-07-08 21:40:11 468

空空如也

空空如也

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

TA关注的人

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