3 王老桔

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 2w+

4.Docker实战:Docker部署Tomcat

1.部署可以复制下面内容,以脚本的方式执行,也可以复制一条执行一条#! /bin/bash# 搜索nginx镜像,看是否存在(这一步可以不做,一般都会存在)docker search tomcat# 官方推荐部署方式# docker run -it --rm tomcat:9.0# 指令解释:下载并运行9.0版本的tomcat,以交互的方式运行,并且在容器运行结束后清除该容器(镜像不会删除)# 我们不推荐使用这种方式,一般都是需要该容器运行结束后处于关闭或者暂停状态,而不是直接清除#

2020-08-04 20:18:31

3.Docker实战:Docker部署Nginx

1.部署可以复制下面内容,以脚本的方式执行,也可以复制一条执行一条#! /bin/bash# 搜索nginx镜像,看是否存在(这一步可以不做,一般都会存在)docker search nginx# 下载nginx镜像docker pull nginx# 以后台的方式启动nginx,起名为nginx-1,设置公网访问为3344,设置启动占用端口为80docker run -d --name nginx-1 -p 3344:80 nginx # 启动完成后,别人就可以通过访问3344端口

2020-08-04 20:17:51

2.Docker入门:Docker命令

1.Docker命令详解菜鸟教程:Docker 命令大全2.常见命令简介# 如果不想记下面的指令,可以使用docker --help # 查看所有docker指令# docker常用指令# 以下指令均需要以docker开头,如docker portport # 查看映射端口对应的容器内部源端口pause # 暂停容器ps # 展示容器列表pull # 从docker镜像源服务器拉取指定镜像或者库镜像push # 推送指定镜像或者库镜像至docker

2020-08-04 20:17:04

1.Docker入门:什么是Docker?如何安装Docker?

1.什么是Docker1.Docker的本质也是一个可以通过yum下载并安装的工具;2.可以使用Docker下载某些镜像,如:centos、nginx、tomcat、mysql等镜像;3.Docker可以基于已下载的镜像创建一个容器,并且使用创建好的容器;4.镜像和容器的关系就像类和对象、程序代码和进程、模板和实例的关系;5.容器和虚拟机之间的关系:一个虚拟机可以包含多个容器,容器与容器之间相互独立,可以简单理解成容器时虚拟机内创建的微型虚拟机;6.容器不仅仅可以创建在虚拟

2020-08-04 20:16:05

JVM底层原理分析:2.堆内存分析和JVM调优

1.堆内存内部结构组件说明年轻代(新生代)新创建的对象会先存放在年轻代,一般占堆内存的1/3,包括:伊甸区、幸存区From、幸存区To,占比分别为年轻代的8/10、1/10、1/10老年代存放由年轻代转过来的对象,一般占堆内存的2/3【如图】2.年轻代内部结构2.1结构说明 组件 说明 伊甸区 1.新创建的对象一般先放在年轻代中的伊甸区,当伊甸区填满后,会触发minor

2020-07-10 19:29:08

JVM底层原理分析:1.JDK体系、JVM架构和运行时数据区

1.JDK体系结构【组成部分】组件说明Java基础命令如java、javac、javadoc等JRE(Java运行时环境)由各个组件组成,如JDBC、JVM等【如图】2.JVM内部结构【组成部分】组件说明类加载器读取.class文件,并生成class对象,并将其加载到内存中运行时数据区(内存模型)为生成的class对象提供的生存空间字节码执行引擎用于调用内存区中的class对象并执行代码逻辑,以及执行GC操作等【如图

2020-07-10 19:28:35

MySQL进阶:7.SQL优化

以下内容均以InnoDB类型的表为例1.海量数据导入优化# 导入指定文件的数据到指定表# 文件中的数据格式:"1,wy,123123\n2,xy,123123\n3,zy,123123"mysql> load data local infile '/xx/xx/xx' into table 'xxx' fields terminated by ',' lines terminated by '\n';优化方法原因建议按照主键顺序导入因为存在主键,所以必定要维护至少一个

2020-07-08 20:51:45

MySQL进阶:6.定位SQL性能问题

1.SQL性能问题在应用开发过程中,初期数据量往往比较小,SQL语句的性能体现并不明显。举个例子:假设数据量为100时,查询性能是0.01s,数据量增长到1000时,查询性能是0.05s。0.01和0.05这种差值从直观感受上来说体现不出来太大变化,还是会觉得挺快的。随着数据量的增加,SQL语句的性能问题就会逐渐显露出来,比如当数据量为10w时,查询性能为5s,这就能明显感觉到性能非常低。如果开发过程中遇到这样的问题,即SQL性能问题,就需要我们进行SQL优化。2.SQL优化步骤定位SQL性能瓶颈位

2020-07-07 19:53:34

MySQL进阶:5.存储引擎

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

2020-07-07 19:52:59

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

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

2020-07-07 19:52:27

MySQL进阶:3.视图

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

2020-07-07 19:51:26

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

查看更多

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