03 2020 档案
摘要:1、什么是JMM Java 内存模型,是一种抽象的概念并不真实存在,它描述的是一组规则或规范; 2、做什么的 通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式; 3、怎么玩 3.1 定义线程和主内存之间的抽象关系 线程之间的共享变量存储在主内存(main me
阅读全文
摘要:1、JVM架构图 2、类加载器 1、启动类加载器(根类加载器Bootstrap Class Loader) 用来加载Java的核心类库(jre/lib/rt.jar) 2、扩展类加载器(Extension Class Loader) 用来加载Java/lib/ext 3、系统类加载器(应用程序加载器
阅读全文
摘要:1、依赖 <!-- https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-s
阅读全文
摘要:1、生成公钥 #生成公钥,回车确认三次 ssh-keygen -t rsa -C "邮箱" #读取生成的公钥 cat ~/.ssh/id_rsa.pub 2、全局配置 #配置用户名 git config --global user.name "自定义" #全局配置邮箱 git config --gl
阅读全文
摘要:1、概述 如果树中的每个节点的子节点的个数不超过2,就是一个二叉树; 2、特点 增删改查的性能都很高; 3、二叉查找树(二叉排序树、二叉搜索树)(Binary Search Tree) 左子树所有节点的值均小于等于他的根节点的值; 右子树所有节点的值均大于或者等于它根节点的值; 每一个节点最多有两个
阅读全文
摘要:1、概述 是内存中不连续的存储区域,元素是游离存储的,每个元素会记录下一个元素的地址。 2、特点 查询元素慢; 增删元素快(针对于首尾元素,速度极快,一般是双链表); 3、图解 单向链表: 循环链表就是最后一个元素指向第一个元素地址; 双向链表:
阅读全文
摘要:1、概述 是内存中连续存储的区域,分成若干等分的小区域(区域大小是一样)。 2、特点 查询元素快(根据索引快速计算出元素的地址,然后立即去定位); 增删元素慢(创建新数据,迁移元素); 3、图解
阅读全文
摘要:1、是什么 JDK 1.8 用于解决已有集合、数组类库既有的弊端;简化集合和数组的操作; 2、常用API #过滤 filter #遍历 foreach #统计 count #截取 limit #跳过 skip #映射 map #合并stream流 concat 3、收集流 3.1 把stream转换
阅读全文
摘要:1、进程和线程概述 线程依赖于进程存在; 1.1 什么是进程 就是正在运行的程序,是系统进行资源分配和调用的地理单位;每一个进程都有它自己的内存空间和系统资源。 1.1.1 进程的三个特征 动态性:进程是运行中的程序,要动态的占用内存,CPU和网络等资源; 独立性:进程和进程之间是相互独立的,彼此有
阅读全文
摘要:1、File类 代表操作系统的文件对象; 1.1 构造器 #根据一个路径获得File对象 File (String pathname); #根据一个目录和子文件/目录获得实例 File(String parent,String child ); #根据一个父File实例和子路径获得实例 File(F
阅读全文
摘要:1、什么是异常 异常是程序在“编译”或者“执行”的过程中可能出现的问题; 异常是应该尽量提前避免的,研究异常并且避免异常,然后提前处理异常,体现的是程序的安全,健壮性; 2、异常体系 Java中异常继承的根类是:Throwable(根类,不是异常类) Error:严重错误,内存泄漏,JVM错误,管不
阅读全文
摘要:1、是什么 键值对(双列)集合,一个元素有两个值,每个元素叫键值对象;键不能重复; 2、子类 HashMap(重点,面试高频):无序,不重复,无索引;基于哈希表的数据结构,保证键的唯一;线程不安全,效率高。允许Null键和Null值; LinkedHashMap:添加的元素按照元素键有序,不重复;是
阅读全文
摘要:1、什么是集合 集合是一个大小可变的容器,Collection是单列集合,一个元素只能一个值。 2、子类 2.1 List集合 - 添加的元素是有序,可重复,有索引 实现类: ArrayList(常用):底层结构基于数组,查询快,增删慢;线程不安全,效率高; LinkedList常用):底层结构基于
阅读全文
摘要:1、是什么 就是一个标签<数据类型>,可以在编译阶段约束只能操作的数据类型; 2、注意 JDK 1.7开始之后,泛型后面的申明可以省略不写; 泛型和集合都只能支持引用数据类型,不支持基本数据类型; 3、好处 泛型在编译阶段约束了操作的数据类型,从而不会出现类型转换异常; 体现的是Java的严谨性和规
阅读全文
摘要:1、类与对象 类是描述相同事物的共同特征的抽象; 对象是具体存在的实例,是真实的,是类的具体; 2、类的五大成分(有且仅有) 成员变量(Filed:描述类和对象的属性信息的); 成员方法(Method:描述类或者对象的行为信息的); 构造器(Constructor:初始化一个雷的对象并返回引用);
阅读全文
摘要:1、标题 # 一级标题 ## 二级标题 ### 三级标题 ###### 六级标题 2、字体 **粗体** *斜体* ~~删除线~~ 3、区块 > 最外层 > > 第一层嵌套 > > > 第二层嵌套 4、分割线 #用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号
阅读全文
摘要::1、是什么 使用Explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句。分析你的查询语句或是表结构的性能瓶颈。 2、能干嘛 获取表的读取顺序; 哪些索引可以使用; 数据读取操作的操作类型; 哪些索引被实际使用; 表之间的引用; 每张表有多少行被物理查询;
阅读全文
摘要:1、基本原理 从机(slave)会从主机(master)读取binlog来进行数据同步,用于读写分离操作,注意更新后不能马上读取,否则可能会读不到。同步数据很快,正常毫秒级。 三步骤: 主机生成一个二进制日志文件; 从机读取后写入一个relay-log中继日志; 再去读取这个文件进行数据同步.; 2
阅读全文
摘要:1、查看是否开启 SHOW VARIABLES LIKE '%slow_query_log%' 2、开启查询日志 set global slow_query_log=1 3、设置查询多久的才算慢查询 #查看 SHOW VARIABLES LIKE '%long_query_time%'#设置set
阅读全文
摘要:1、内连接(Inner Join) 1.1 取两者的交集,两表共有的 select A.*,B.* from A inner join B on A.key = B.key; 1.2 取两者的差集,两表特独有的 select A.* from A left join B on A.key=B.key
阅读全文
摘要:1、关联查询优化 select * from A(驱动表) join B(被驱动表)on A.id = B.id; 保证被驱动表的join字段已经被索引(即建立了外键关系); left join时,选择小表作为驱动表,大表作为被驱动表; inner join 时,mysql会自动帮你把小结果集的表选
阅读全文
摘要:1、索引简介 索引是帮助MySQL高效获取数据的排好序的数据结构。 2、 优势 类似大学图书馆建书目索引,提高数据检索的效率,降低数据库的IO成本; 通过索引列队数据进行排序,降低数据排序的成本,降低了CPU的消耗; 3、 劣势 降低更新表的速度,如UPDATE、INSERT和DELETE。因为更新
阅读全文
摘要:1、引擎分类 1.1 InnoDB 是系统的默认引擎,是一个事务型的存储引擎,有行级锁定和外键约束。 1.2 MyISAM 没有提供对数据库事务的支持,也不支持行级锁和外键,因此当INSERT(插入)或UPDATE(更新)数据时即写操作需要锁定整个表,效率便会低一些。 1.3 Archive 档案存
阅读全文
摘要:1、简介 redis是一款菲关系型数据库(Not Only SQL ),是对关系型数据库做补充。这是一种基于内存的数据库,用于应对基于海量用户和海量数据前提下的数据处理问题。 因为磁盘读/写速度比较慢的问题,一瞬间成千上万的请求到来,需要系统在极短的时间内完成成千上万次的读/写操作,极其容易造成数据
阅读全文
摘要:第一步:进入setting 第二步:配置maven 第三步:-DarchetypeCatalog=internal
阅读全文
摘要:1、简介 是一个项目管理工具。 全生命周期 -> 编译-》测试-》打包-》安装-》发布 “约定优于配置”的原则 jar包坐标:创建项目时的指定的名称 2、解决了什么问题 jar包管理:放在mavenjar包仓库中,不在项目目录总 代码编译 单元测试 打包、部署项目 3、生命周期 清理生命周期:cle
阅读全文
摘要:1、简介 Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 2、增删改查命令 2.1 创建版本库 通过git init命令把一个目录变成Git可以管理的仓库 git init#从远端获取git pull = git fetch + git rebase 2.2
阅读全文
摘要:1、进程操作 ps -ef 查看进程 kill -9 PID 强制关闭某个进程 2、管道操作 | 一个命令的输出当作后一个命令的输入 3、权限操作 3.1 命令 chmod u=rwx,g=rwx,o=rwx u 当前用户 g 当前用户组 o 其他用户组 3.2 权限说明 r 读取 值 4 w 写入
阅读全文
摘要:压缩文件 非打包 # touch a.c # tar -czvf test.tar.gz a.c //压缩 a.c文件为test.tar.gz a.c 列出压缩文件内容 # tar -tzvf test.tar.gz -rw-r--r-- root/root 0 2010-05-24 16:51:5
阅读全文
摘要:修改server.xml配置 1、新增一个<Service>标签,复制原有的即可; 2、<Service>标签里的<Host>标签新增一个<Context>标签; path 是说明虚拟目录的名字,如果你要只输入ip地址就显示主页,则该键值留为空; docBase 是默认目录的路径,它默认的是$tom
阅读全文
摘要:1、目录操作 #查看目录 ls -a 显示隐藏文件 -l 查看详细信息,简写为“ll” #切换目录 cd path - 返回上一次进入的目录 #创建目录 mkdir dirname -p 创建多级目录 #移除目录 rmdir dirname 2、文件操作 #新建文件 touch file echo
阅读全文
摘要:1、私有仓库搭建 #1、拉取私有仓库镜像 docker pull registry #2、启动私有仓库容器 docker run -id --name=registry -p 5000:5000 registry #3、打开浏览器 输入地址http:私有仓库地址:5000/v2/_catalog,看
阅读全文
摘要:1、Docker服务命令 #启动docker服务 systemctl start docker #停止docker服务 systemctl stop docker #重启docker服务 systemctl restart docker #查看docker服务状态 systemctl status
阅读全文
摘要:这里用的阿里云的 1、登陆阿里云 ->控制台 -> 左上角菜单 “产品和服务” 搜索 “镜像”-> 选择容器镜像服务;如下图 2、左侧菜单最下方有个镜像加速器,里面有配置命令
阅读全文
摘要:1、拉取redis镜像 docker pull redis:5.0 2、创建和启动redis容器 docker run -id \ -p 6379:6379\ --name c_name \ redis:5.0 参数说明: -id 后台运行,需要使用exec进入容器,退出后容器不会关闭;对应 -it
阅读全文
摘要:1、拉取nginx镜像 docker pull nginx 直接pull 默认是获取最新版的; 2、在/root目录下创建nginx目录用于存储nginx数据信息 mkdir ~/nginx cd ~/nginx 3、配置nginx.conf文件 mkdir confdocker run -it -
阅读全文
摘要:1、拉取tomcat镜像 docker pull tomcat:版本号 版本号需要去hub.docker.com 查找支持的镜像版本; 直接pull tomcat默认是获取最新版的; 2、在/root目录下创建tomcat目录用于存储tomcat数据信息 mkdir ~/tomcat cd ~/to
阅读全文
摘要:1、拉取mysql镜像 docker pull mysql:版本号 版本号需要去hub.docker.com 查找支持的镜像版本; 直接pull mysql 默认是获取最新版的; 2、在/root目录下创建mysql目录用于存储mysql数据信息 mkdir ~/mysql cd ~/mysql 3
阅读全文
摘要:1、异步任务 异步方法调用是相当于多个线程执行,不需要等待上一行代码的执行结果。 使用方法: 启动类上面使用@EnableAsync注释,表示开启异步方法调用; 方法上使用@Async注解,来表示这是个异步方法; Future 用于接收异步方法的返回类型; get() 获取异步返回值 isDone(
阅读全文
摘要:1、依赖 <!--Swagger2依赖--> <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> <dependency> <groupId>io.springfox</groupId> <artif
阅读全文
摘要:1、依赖 导入包 <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter --> <dependency> <groupId>org.mybatis.spring.boot
阅读全文
摘要:1、依赖 基于空的maven项目; <dependencies> <!-- https://mvnrepository.com/artifact/junit/junit --> <!--测试依赖包--> <dependency> <groupId>junit</groupId> <artifactI
阅读全文

浙公网安备 33010602011771号