09 2021 档案
摘要:工程搭建 使用 Maven 创建普通 Web 工程: 修改 pom.xml 添加依赖内容如下图: <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</ve
阅读全文
摘要:Spring 源码环境搭建 Spring 源码下载地址:https://github.com/spring-projects/spring-framework Gradle 下载地址:https://gradle.org/releases/ 查看 Spring 源码中使用的 Gradle 版本,打开
阅读全文
摘要:Spring 框架给我们带来什么样的好处 什么是 Spring Spring 是一个轻量级 Java 开发框架,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的 JavaSE/JavaEE full-stack(一站式)轻量级开源框架,为开发 Java 应用程序提供全面的
阅读全文
摘要:需求 扑克牌 问题,这里要创建 52 个 Card 对象,但这里花色只有四种是固定的,不同的是大小,可以用享元模式来共享对象,减少内存消耗。 什么是享元模式 “享” 是共享的意思,“元” 指的是元件,也就是小颗粒的东西,享元顾名思义便是共享小部件,很多系统或者程序包含大量对象,但是这些对象绝大多数都
阅读全文
摘要:需求 费用报销审批 请求审批 代码实现 员工 /** * @author BNTang * @program design-pattern-pro * @date Created in 2021/10/12 012 9:58 * @description **/ @Data public class
阅读全文
摘要:代理对象 在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象。 需求 电脑厂商 电脑代理商 角色 抽象主题(Subject)类 通过接口或抽象类声明真实主题和代理对象实现的业务方法。 真实主题(Real Subject)类 实现了抽象主题中
阅读全文
摘要:ZGC Z Garbage Collector,ZGC 是从 JDK11 中引入的一种新的支持弹性伸缩和低延迟垃圾收集器 G1 设计上的特点,导致存在以下问题: 停顿时间过长 通常 G1 的停顿时间要达到几十到几百毫秒;这个数字其实已经非常小了,但是我们知道垃圾回收发生导致应用程序在这几十或者几百毫
阅读全文
摘要:什么是 isPrototypeOf 属性 isPrototypeOf 用于判断一个对象是否是另一个对象的原型。 首先看如下这一段代码。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JavaScript-i
阅读全文
摘要:什么是 instanceof 关键字 instanceof 用于判断 "对象" 是否是指定构造函数的 "实例"。 先来看如下这一段代码,利用 instanceof 关键字来看看结果。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF
阅读全文
摘要:例如如下的一段代码,我想要得到的类型为 object。 let obj = new Object(); 如下的代码我想要得到的类型为 Array。 let arr = new Array(); 如下的代码我想要得到的类型为 Person。 let p = new Person(); 通过我前面所介绍
阅读全文
摘要:ES6 之前的继承 在子类中通过 call/apply 方法然后在借助父类的构造函数 将子类的原型对象设置为父类的实例对象 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>ES6继承</title> <scr
阅读全文
摘要:在 ES6 之前如何定义一个类,通过构造函数来定义一个类 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JavaScript-ES6类和对象</title> <script> function Person
阅读全文
摘要:在看本章节的内容之前你要明确几个东西那么就是什么是强类型语言,什么是是弱类型语言 什么是强类型语言 一般 编译型 语言都是强类型语言 强类型语言,要求变量的使用要严格符合定义 例如定义 int num; 那么 num 中将来就只能够存储整型数据 什么是弱类型语言 一般 解释型 语言都是弱类型语言 弱
阅读全文
摘要:this 是什么 谁调用当前函数或者方法,this 就是谁,比如说来看如下的代码我定义了一个函数,并且调用了一下该函数代码如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JavaScript-bind-
阅读全文
摘要:继承方式一 儿子继承父亲的物品就是继承最好的体现 JS 中的继承的目的,把子类型中共同的属性和方法提取到父类型中 减少代码的冗余度,提升代码的复用性 废话不多说直接上代码,如下有一个构造函数当中有两个属性和一个方法,有了构造函数之后就可以创建对象在使用创建好的对象访问属性与方法 <!DOCTYPE
阅读全文
摘要:在 JavaScript 中属性和方法分类两类 实例属性与实例方法 在企业开发中通过实例对象访问的属性,我们就称之为 实例属性 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Demo</title> <sc
阅读全文
摘要:记忆集与卡表 记忆集 在老年代中,可能会存在跨代引用的对象,如果又去对老年代再去扫描效率太低,JVM 在新生代维护了一小块空间,老年代对年轻代所有对象的引用,扫描年轻代的时候,还会扫描这个集合中的对象。 卡表 卡表是一个字节数组,且每一个元素都对应一个内存区域的特定大小的内存块,这个内存块就做卡页,
阅读全文
摘要:对象内存回收 什么是垃圾回收 就是清理无效对象,避免一直占用内存,这种对内存资源的管理就是垃圾回收。 引用计数法 引用计数法采用的原理如下: 引用计数法在对象头处维护一个 counter,每增加一次对该对象的引用计数器自加 1 如果对该对象的引用失联,则计数器自减 1 当 counter 为 0 时
阅读全文
摘要:垃圾回收器概述 垃圾回收算法与垃圾回收器之间关系: 收集算法是内存回收的方法论 垃圾收集器就是内存回收的具体实现 根据具体应用场景选择适合自己的垃圾收集器 垃圾回收器 可以由不同的厂商、不同版本的 JVM 来实现。 垃圾回收器的分类 按垃圾回收线程数🐂 串行垃圾回收器: 串行回收指的是在同一时间段
阅读全文
摘要:创建对象的方法 使用 new 关键字创建对象 使用反射 Class 类的 newInstance 方法 使用 Constructor 类的 newInstance 方法 使用 Clone 方法创建对象 使用(反)序列化机制创建对象 对象创建流程 类加载检查 关于对象的创建过程一般是从 new 指令
阅读全文
摘要:容器编排 是一个容器编排工具,可以通过一个脚本,先安装 Tomcat 容器,在安装 MySQL 容器 容器编排工具 可以通过一个脚本,先安装 Tomcat 容器,在安装 MySQL 容器 容器之间形成一个依赖关系,过程中每一个容器需要的配置文件,都可以进行相应的绑定 将多个容器在一个文件当中进行编排
阅读全文
摘要:在给一个对象不存在的属性设置值的时候,不会去原型对象中查找,如果当前对象没有就会给当前对象新增一个不存在的属性 由于私有属性的本质就是一个局部变量,并不是真正的属性,所以如果通过 对象.xxx 的方式是找不到私有属性的,所以会给当前对象新增一个不存在的属性 <!DOCTYPE html> <html
阅读全文
摘要:局部变量和局部函数 无论是 ES6 之前还是 ES6,只要定义一个函数就会开启一个新的作用域 只要在这个新的作用域中,通过 let/var 定义的变量就是 局部变量 只要在这个新的作用域中,定义的函数就是局部函数 什么是对象的私有变量和函数 默认情况下对象中的属性和方法都是公有的,只要拿到对象就能操
阅读全文
摘要:首先我给出了如下一段代码,obj 对象的构造函数当中并没有 currentType 这个属性那么就会去原型对象当中进行查找,如下也给出了输出结果 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JavaScr
阅读全文
摘要:对象中 __proto__ 组成的链条我们称之为原型链 对象在查找属性和方法的时候,会先在当前对象查找 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JavaScript-原型链</title> <scri
阅读全文
摘要:本章节介绍的内容为文件的上传,首先需要解决几个问题一个就是如何选择文件,这个问题可以利用表单的文件标签进行解决,第二个问题就是用户选择了文件应该用那种方式来提交该文件到服务器当中 用户选择文件以及提交文件的表单如下,提交文件利用 POST 因为 POST 对提交的内容没有大小的限制,有可能用户选择的
阅读全文
摘要:什么是 Dockerfile Dockerfile 为镜像的描述文件 是一个包含用于组合镜像的命令文本文档,是一个脚本文件 Dockerfile 作用 通过读取 Dockerfile 中的指令,按步骤自动生成镜像 解析 Dockerfile docker build -t 机构/镜像名<:tags>
阅读全文
摘要:下载镜像 docker pull mysql/mysql-server:8.0 运行实例 docker run -d --name myMySQL8.0 -p 3308:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_ROOT_HOST=% mysql/mysql
阅读全文
摘要:获取 Tomcat 镜像 docker pull tomcat:8.5 映射端口 可以使用一个参数 -p 来进行端口映射意思就是说从主机当中给出一个端口映射到 Tomcat容器里面的 8080 端口,以后你访问该 Tomcat 就直接以主机给出的端口进行访问即可,还可以通过一个 --name 来指定
阅读全文
摘要:镜像操作 Docker 运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker 会从镜像仓库下载该镜像 镜像仓库地址:https://hub.docker.com/ 获取镜像 命令如下: docker pull[选项][Docker Registry地址[:端口号]/仓库名[:标签]
阅读全文