07 2021 档案

摘要:JDK 新建 JAVA_HOME: D:\Develop\Java\jdk1.8.0_291 修改 Path: %JAVA_HOME%\bin %JAVA_HOME%\jre\bin 新建 CLASSPATH: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar 阅读全文
posted @ 2021-07-30 11:44 BNTang 阅读(83) 评论(0) 推荐(0)
摘要:测试的分类 黑盒测试 不需要有代码基础,也就是软件的使用过程,测试业务逻辑是否正常,使用过程当中是否存在 BUG 不需要写代码,给输入值,看程序是否能够输出期望的值 白盒测试 所有的代码都暴露给测试,通过代码进行测试,测试代码的业务逻辑 需要写代码的。关注程序具体的执行流程,一般是程序员自己 单元测 阅读全文
posted @ 2021-07-30 11:08 BNTang 阅读(348) 评论(0) 推荐(0)
摘要:需求 🐤进入公司入职 行政接待:每一个都是一个单独的子系统 拍照:单独的子系统 HR 办理入职:单独的子系统 实现方法 1 外观设计模式 定义 又叫门面模式,为多个复杂的子系统提供一个一致的接口,使这些子系统更加容易被访问 外观模式将一个或者数个类的复杂的一切都隐藏在背后,只显露出一个干净美好的外 阅读全文
posted @ 2021-07-29 23:18 BNTang 阅读(74) 评论(0) 推荐(0)
摘要:概念 Java 注解是在 JDK5 时引入的新特性,注解(也被称为 元数据) 为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便地使用这些数据 注解类型定义指定了一种新的类型,一种特殊的接口类型 在关键词 interface 前加 @ 符号也就是用 @interface 阅读全文
posted @ 2021-07-28 19:39 BNTang 阅读(79) 评论(0) 推荐(0)
摘要:类的加载时机 当程序要使用某个类时,如果该类还未被加载到内存中 系统会通过加载,连接,初始化三步来实现对这个类进行初始化 加载:就是指将 class 文件读入内存,并为之创建一个 Class 对象。任何类被使用时系统都会建立一个 Class 对象 连接:验证是否有正确的内部结构,并和其他类协调一致, 阅读全文
posted @ 2021-07-27 19:45 BNTang 阅读(322) 评论(0) 推荐(0)
摘要:参考:https://www.cnblogs.com/TangXiaoHuiHui/articles/12205126.html 阅读全文
posted @ 2021-07-27 15:29 BNTang 阅读(28) 评论(0) 推荐(0)
摘要:TCP 通信能实现两台计算机之间的数据交互,通信的两端,要严格区分为客户端(Client)与服务端 通信步骤 服务器先启动,服务器不会主动的请求客户端 客户端请求服务器,必须使用客户端请求服务器端,客户端与服务端就会建立一个逻辑连接 这个连接中包含一个对象,IO 对象 客户端与服务端通信,客户端与服 阅读全文
posted @ 2021-07-27 10:23 BNTang 阅读(242) 评论(0) 推荐(0)
摘要:定义 用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象 这种模式存在的应用场景在于,能够复制当前对象,实现对象数据的克隆 需求 🐤批量发送邮件 实现方式 1 创建 Mail.java /** * @author BNTang */ public class Mai 阅读全文
posted @ 2021-07-26 22:42 BNTang 阅读(43) 评论(0) 推荐(0)
摘要:什么是 window window:是一个全局对象,代表浏览器中一个打开的窗口,每个窗口都是一个 window 对象 什么是 document document 是 window 的一个属性,这个属性是一个对象 document 代表当前窗口中的整个网页 document 对象保存了网页上所有的内容 阅读全文
posted @ 2021-07-26 17:22 BNTang 阅读(50) 评论(0) 推荐(0)
摘要:JavaScript 中函数是引用类型 (对象类型) 既然是对象, 所以也是通过构造函数创建出来的, "所有函数" 都是通过 Function 构造函数创建出来的对象 JavaScript 中只要是 "函数" 就有 prototype 属性 "Function函数" 的 prototype 属性指向 阅读全文
posted @ 2021-07-26 16:11 BNTang 阅读(81) 评论(0) 推荐(0)
摘要:每个 "构造函数" 中都有一个默认的属性, 叫做 prototype prototype 属性保存着一个对象, 这个对象我们称之为 "原型对象" 每个 "原型对象" 中都有一个默认的属性, 叫做 constructor constructor 指向当前原型对象对应的那个 "构造函数" 通过构造函数创 阅读全文
posted @ 2021-07-26 14:48 BNTang 阅读(70) 评论(0) 推荐(0)
摘要:JVM / JRE / JDK JVM Java 虚拟机(Java Virtual Machine)它是运行所有 Java 程序的虚拟计算机 所有的 Java 程序会首先被编译为 .class 的类文件,这种类文件可以在虚拟机上执行 Java 语言通过字节码的方式,在一定程度上解决了传统解释型语言执 阅读全文
posted @ 2021-07-25 09:14 BNTang 阅读(140) 评论(0) 推荐(0)
摘要:需求 一个类,计算机类 Computer 包括如下的设备。 cpu ram usbCount keyBoard display 而其他 3 个是可选参数,可选设备如下。 usbCount keyBoard display 两种常用的方式 🐤折叠构造器模式 🐱‍👤JavaBean 🐱‍👓缺点 阅读全文
posted @ 2021-07-24 12:58 BNTang 阅读(108) 评论(0) 推荐(0)
摘要:产品族 所谓产品族,是指位于不同产品等级结构中,功能相关联的产品组成的家族 需求 假设现在引入一种新的产品 按照工厂方法模式的写法,自然就要在具体的苹果工厂类里再增加一个新的方法,返回新的苹果实例 同时也要增加新的苹果这个新的产品 其他水果工厂类是一样的做法 这明显违背了 OCP (开闭) 原则 苹 阅读全文
posted @ 2021-07-23 23:03 BNTang 阅读(159) 评论(0) 推荐(0)
摘要:prototype 特点 存储在 prototype 中的方法可以被对应构造函数创建出来的所有对象共享 prototype 中除了可以存储方法以外, 还可以存储属性 prototype 中如果出现了和构造函数中同名的属性或者方法, 对象在访问的时候, 访问到的是构造函中的数据 prototype 应 阅读全文
posted @ 2021-07-22 17:51 BNTang 阅读(65) 评论(0) 推荐(0)
摘要:什么是构造函数 构造函数和工厂函数一样, 都是专门用于创建对象的 构造函数本质上是工厂函数的简写 构造函数和工厂函数的区别 构造函数的函数名称 首字母 必须 大写 构造函数只能够通过 new 来调用 <!DOCTYPE html> <html lang="en"> <head> <meta char 阅读全文
posted @ 2021-07-22 14:54 BNTang 阅读(241) 评论(0) 推荐(0)
摘要:什么是工厂函数 工厂函数就是专门用于创建对象的函数, 我们就称之为工厂函数 例如如下的代码,通过观察发现都是创建对象。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Demo</title> <script 阅读全文
posted @ 2021-07-22 14:08 BNTang 阅读(397) 评论(0) 推荐(0)
摘要:什么是函数 函数就是没有和其它的类显示的绑定在一起的, 我们就称之为函数 什么是方法 方法就是显示的和其它的类绑定在一起的, 我们就称之为方法 函数和方法的区别 函数可以直接调用, 但是方法不能直接调用, 只能通过对象来调用 函数内部的 this 输出的是 window, 方法内部的 this 输出 阅读全文
posted @ 2021-07-22 13:36 BNTang 阅读(294) 评论(0) 推荐(0)
摘要:概述 “工厂方法模式” 是对简单工厂模式的进一步抽象化 其好处是可以使系统在不修改原来代码的情况下引进新的产品,即满足开闭原则 实现过程 定义接口与实现类 创建工厂 使用 优缺点 优点 用户只需要知道具体工厂的名称就可得到所要的产品,无须知道产品的具体创建过程 灵活性增强,对于新产品的创建,只需多写 阅读全文
posted @ 2021-07-20 22:34 BNTang 阅读(58) 评论(0) 推荐(0)
摘要:JavaScript 中提供了一个默认的类 Object, 我们可以通过这个类来创建对象 由于我们是使用系统默认的类创建的对象, 所以系统不知道我们想要什么属性和行为, 所以我们必须手动的添加我们想要的属性和行为 给一个对象添加属性 对象名称.属性名称 = 值; 给一个对象添加行为 对象名称.行为名 阅读全文
posted @ 2021-07-19 11:57 BNTang 阅读(122) 评论(0) 推荐(0)
摘要:什么是预解析 浏览器在执行 JS 代码的时候会分成两部分操作:预解析以及逐行执行代码, 也就是说浏览器不会直接执行代码, 而是加工处理之后再执行, 这个加工处理的过程, 我们就称之为预解析。 预解析规则 将变量声明和函数声明提升到当前作用域最前面 将剩余代码按照书写顺序依次放到后面 🐤注意点:通过 阅读全文
posted @ 2021-07-19 11:36 BNTang 阅读(111) 评论(0) 推荐(0)
摘要:实现方式 1 方式 1 存在的问题 开闭原则 什么是开闭原则 一个软件实体应当对 扩展开放,对 修改 关闭 也就是说,我们在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展 应当可以在不必修改源代码的情况下改变这个模块的行为 优点 通过扩展已有的软件系统,可以提供新的行为,以满足对软件 阅读全文
posted @ 2021-07-18 13:28 BNTang 阅读(70) 评论(0) 推荐(0)
摘要:概述 统一建模语言是面向对象软件的标准化建模语言 1997 年 UML 被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标准 它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息 UML 建模的核心是模型,模型是现实的简化、真实系统的抽象 UML 三要素 事物 事物是对模型中最具 阅读全文
posted @ 2021-07-13 11:01 BNTang 阅读(615) 评论(0) 推荐(0)
摘要:什么是设计模式 软件设计模式(Software Design Pattern)又称设计模式 是一套被反复使用、多数人知晓的、代码设计经验的总结 它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案 也就是说,它是解决特定问题的一系列套路,具有一定的普遍性,可以反复使用代码设计经验的 阅读全文
posted @ 2021-07-12 09:11 BNTang 阅读(80) 评论(0) 推荐(0)
摘要:Hash 与 Hash表 与 HashCode 什么是 Hash 哈希 (hash) 简单的理解就是将任意长度的输入通过散列算法转换成固定长度的输出,这个输出一般称之为 散列码 或 哈希值 通过输出的结果来访问地址的数据结构 Hash 表 hash 表也称散列表(Hash table) 哈希表是一种 阅读全文
posted @ 2021-07-09 17:34 BNTang 阅读(217) 评论(0) 推荐(0)
摘要:为什么需要 less CSS 的语法虽然简单,但它同时也带来一些问题 CSS 需要书写大量看似没有逻辑的代码,不方便维护及扩展,也不利于复用 造成这些原因的本质源于 CSS 是一门非程序式的语言,没有变量 / 函数 / 作用域等概念 什么是 less(Leaner Style Sheets) Les 阅读全文
posted @ 2021-07-02 16:26 BNTang 阅读(80) 评论(0) 推荐(0)
摘要:🐤注意点: 初学者在研究 "作用域链" 的时候最好将 ES6 之前和 ES6 分开研究。 需要明确 ES6 之前定义变量通过 var ES6 之前没有 块级作用域, 只有全局作用域和局部作用域 ES6 之前函数大括号外的都是全局作用域 ES6 之前函数大括号中的都是局部作用域 ES6 之前的作用域 阅读全文
posted @ 2021-07-02 15:32 BNTang 阅读(53) 评论(0) 推荐(0)
摘要:在 JavaScript 中定义变量有两种方式 ES6 之前: var 变量名称; ES6 开始: let 变量名称; 两种定义变量方式的区别 是否能够定义同名变量 通过 var 定义变量, 可以重复定义同名的变量, 并且后定义的会覆盖先定义的。 <!DOCTYPE html> <html lang 阅读全文
posted @ 2021-07-02 10:20 BNTang 阅读(67) 评论(0) 推荐(0)
摘要:需求 要求用户输入密码, 判断输入的密码是否正确 (假设正确密码是 123456) 如果正确, 输出 "欢迎回来",如果不正确, 要求用户重新输入。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Demo< 阅读全文
posted @ 2021-07-02 09:58 BNTang 阅读(116) 评论(0) 推荐(0)
摘要:什么是箭头函数 箭头函数是 ES6 中新增的一种定义函数的格式,目的: 就是为了简化定义函数的代码,例如数组的简化如下。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Demo</title> <scrip 阅读全文
posted @ 2021-07-01 19:54 BNTang 阅读(282) 评论(0) 推荐(0)
摘要:什么是匿名函数 匿名函数就是没有名称的函数。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Demo</title> <script type="text/javascript"> // 有名称的函数 fu 阅读全文
posted @ 2021-07-01 19:50 BNTang 阅读(127) 评论(0) 推荐(0)
摘要:将函数作为其他函数的参数。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Demo</title> <script type="text/javascript"> let say = function () 阅读全文
posted @ 2021-07-01 19:29 BNTang 阅读(240) 评论(0) 推荐(0)
摘要:在 ES6 之前可以通过逻辑运算符来给形参指定默认值,格式: 条件A || 条件B,如果条件 A 成立, 那么就返回条件 A,如果条件 A 不成立, 无论条件 B 是否成立, 都会返回条件 B。 <!DOCTYPE html> <html lang="en"> <head> <meta charse 阅读全文
posted @ 2021-07-01 19:05 BNTang 阅读(537) 评论(0) 推荐(0)
摘要:扩展运算符在等号左边, 将剩余的数据打包到一个新的数组中, 🐤注意点:只能写在最后。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Demo</title> <script type="text/java 阅读全文
posted @ 2021-07-01 17:45 BNTang 阅读(155) 评论(0) 推荐(0)
摘要:因为 console.log(); 也是通过 () 来调用的, 所以 log 也是一个函数。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Demo</title> <script type="text/j 阅读全文
posted @ 2021-07-01 16:28 BNTang 阅读(82) 评论(0) 推荐(0)
摘要:什么是函数 函数是专门用于封装代码的, 函数是一段可以随时被反复执行的代码块。 函数格式 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Demo</title> <script type="text/jav 阅读全文
posted @ 2021-07-01 13:24 BNTang 阅读(78) 评论(0) 推荐(0)
摘要:什么是二维数组 二维数组就是数组的每一个元素又是一个数组, 我们就称之为二维数组。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Demo</title> <script type="text/javasc 阅读全文
posted @ 2021-07-01 11:06 BNTang 阅读(754) 评论(0) 推荐(0)
摘要:🐤如下代码是示例中所需要使用到的变量数据提前贴出来放在这。 let arr = [1, 2, 3, 4, 5]; 清空数组 方式一。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Demo</title> 阅读全文
posted @ 2021-07-01 10:33 BNTang 阅读(75) 评论(0) 推荐(0)