Design Patterns Easy Explained
⚠️注意
创建型设计模式
🏠简单工厂模式(Simple Factory)
🏭工厂方法模式(Factory Method)
🔨抽象工厂模式(Abstract Factory)
👷构建器模式
🐑原型模式(Prototype)
💍单例模式(Singleton)
结构型设计模式
🔌适配器模式(Adapter)
🚡桥梁模式(Bridge)
🌿组合模式(Composite)
☕装饰模式(Decorator)
📦门面模式(Facade)
🍃享元模式(Flyweight)
🎱代理模式(Proxy)
行为型设计模式
🔗责任链模式(Chain Of Responsibilities)
👮命令行模式(Command)
➿ 迭代器模式(Iterator)
👽中介者模式(Mediator)
💾备忘录模式(Memento)
😎观察者模式(Observer)
🏃访问者模式(Visitor)
💡策略模式(Strategy)
💢状态模式(State)
📒模板方法模式(Template Method)
🚦总结一下
License
# 介绍
设计模式是反 ...
JS Frontend Knowledge Points
# 前言
大家好,我是林三心,基础是进阶的前提,上一篇,我给大家分享了我这一年来平时记录的工作中碰到的 50 个 JS 基础知识点,今天就给大家分享一下,我这一年来,工作中遇到的 50 个 JS 高级知识点吧!!!
# 知识点
# 1、undeclared 与 undefined 的区别?
undefined:声明了变量,但是没有赋值
undeclared:没有声明变量就直接使用
var a; //undefined
b; // b is not defined
# 2、let & const 与 var 的区别?
var 存在变量提升,可重复声明同一变量,声明的变量均可改
let 没有变量提升,不可重复声明同一变量,声明的变量均可改
const 没有变量提升,不可重复声明同一变量,声明的基本数据类型不可改,引用类型可改属性,不可只声明变量而不赋值
# 3、暂时性死区问题
var a = 100;
if(1){
a = 10;
//在当前块作用域中存在a使用let/const声明的情况下,给a赋值10时,只会在当前作用域找变量a,
...
剑指offer summary
# 剑指 offer 思路总结
本部分主要是笔者在练习剑指 offer 时所做的笔记,如果出现错误,希望大家指出!
# 题目
二维数组中的查找
题目:
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的
一个二维数组和一个整数,判断数组中是否含有该整数。
思路:
(1)第一种方式是使用两层循环依次遍历,判断是否含有该整数。这一种方式最坏情况下的时间复杂度为 O (n^2)。
(2)第二种方式是利用递增序列的特点,我们可以从二维数组的右上角开始遍历。如果当前数值比所求的数要小,则将位置向下移动 ,再进行判断。如果当前数值比所求的数要大,则将位置向左移动,再进行判断。这一种方式最坏情况下的时间复杂度为 O (n)。
替换空格
题目:
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为 We Are Happy.则经过替换之后的字符串为 We%20
Are%20Happy
思路:
使用正则表达式,结合字符串的 replace 方法将空格替换为 “%20”
str.replace(/ ...
JDBC 尚硅谷
# JDBC 尚硅谷
# 第 1 章:JDBC 概述
# 1.1 数据的持久化
持久化 (persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以” 固化”,而持久化的实现过程大多通过各种关系数据库来完成。
持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML 数据文件中。
# 1.2 Java 中的数据存储技术
在 Java 中,数据库存取技术可分为如下几类:
JDBC 直接访问数据库
JDO (Java Data Object) 技术
第三方 O/R 工具,如 Hibernate, Mybatis 等
JDBC 是 java 访问数据库的基石,JDO、Hibernate、MyBatis 等只是更好的封装了 JDBC。
# 1.3 JDBC 介绍
JDBC (Java Database Connectivity) 是一个独立于特定数据库管理系统、通用的 SQL 数据库存取和操作的公共接口(一组 API),定义了用来访 ...
My Docker notes
# Docker 入门笔记
# 1 Docker 安装
CentOS 7
# 1.1 YUM 方式
# 配置阿里云yum源
cat >/etc/yum.repos.d/docker.repo<<EOF
[docker-ce-edge]
name=Docker CE Edge - \$basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/\$basearch/edge
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
EOF
# 安装
yum -y install docker-ce
# 查看版本
docker --version
# 启动
syst ...
Docker notes
# Docker
Docker
一、解决的问题
二、与虚拟机的比较
三、优势
四、使用场景
五、镜像与容器
参考资料
# 一、解决的问题
由于不同的机器有不同的操作系统,以及不同的库和组件,在将一个应用部署到多台机器上需要进行大量的环境配置操作。
Docker 主要解决环境配置问题,它是一种虚拟化技术,对进程进行隔离,被隔离的进程独立于宿主操作系统和其它隔离的进程。使用 Docker 可以不修改应用程序代码,不需要开发人员学习特定环境下的技术,就能够将现有的应用程序部署在其它机器上。
# 二、与虚拟机的比较
虚拟机也是一种虚拟化技术,它与 Docker 最大的区别在于它是通过模拟硬件,并在硬件上安装操作系统来实现。
# 启动速度
启动虚拟机需要先启动虚拟机的操作系统,再启动应用,这个过程非常慢;
而启动 Docker 相当于启动宿主操作系统上的一个进程。
# 占用资源
虚拟机是一个完整的操作系统,需要占用大量的磁盘、内存和 CPU 资源,一台机器只能开启几十个的虚拟机。
而 Docker 只是一个进程,只需要将应用以及相关的组件打包,在运行时占用很少的资源 ...
Nodejs notes + mysql + express + 项目
# Nodejs 基础
官网传送门 (opens new window)
# #初识 Nodejs
Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine
Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时环境
基于 Express 框架 (opens new window),可以快速构建 Web 应用
基于 Electron 框架 (opens new window),可以构建跨平台的桌面应用
基于 restify 框架 (opens new window),可以快速构建 API 接口项目
读写和操作数据库、创建实用的命令行工具辅助前端开发、etc…
# #Buffer 缓冲区
Buffer 缓冲区文档 (opens new window)
Buffer 的结构与数组类似,操作方法也与数组类似
数组不能存储二进制文件,Buffer 是专门存储二进制数据的
Buffer 存储的是二进制数据,显示时以 16 进制的形式显示
Buffer 每一个元素 ...
228 Java Interview Questions
# 2019 年 Java 面试题基础系列 228 道(1),快看看哪些你还不会?
# Java 面试题(一)
1、面向对象的特征有哪些方面?
2、访问修饰符 public,private,protected, 以及不写(默认)时的区别?
3、String 是最基本的数据类型吗?
4、float f=3.4; 是否正确?
5、short s1 = 1; s1 = s1 + 1; 有错吗?short s1 = 1; s1 += 1; 有错吗?
6、Java 有没有 goto?
7、int 和 Integer 有什么区别?
8、& 和 && 的区别?
9、解释内存中的栈 (stack)、堆 (heap) 和方法区 (method area) 的用法。
10、Math.round (11.5) 等于多少?Math.round (-11.5) 等于多少?
11、switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上?
12、用最有效率的方法计算 2 乘以 8?
13、数组有没有 length () 方法?String 有没有 ...
Java Big Company Interview Questions
# 2020 年大厂 Java 面试前复习的正确姿势(800 + 面试题附答案解析)
# 前言
个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、 丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!
本篇分享的面试题内容包括:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈。
# 1、Java 基础系列面试题
Java 面试题基础系列 228 道(1),快看看哪些你还不会?
Java 面试题基础系列 228 道(2),查漏补缺!
Java 面试题基础系列 228 道(3),查漏补缺!
Java 面试题基础系列 228 道(4),快看看哪些你还不会?
Java 面试题基础系列 228 道(5),快看看哪些你还不会?
Java 面试题基础系列 228 道(6)
Java 面试题基础系列 228 道(7)
Java 面试题基础系列 228 道(8)
...
Java Collection Interview Questions
# Java 集合面试题(总结最全面的面试题)
Java 面试总结汇总,整理了包括 Java 重点知识,以及常用开源框架,欢迎大家阅读。文章可能有错误的地方,因为个人知识有限,欢迎各位大佬指出!文章持续更新中…
ID
标题
地址
1
设计模式面试题(总结最全面的面试题)
juejin.cn/post/684490…
2
Java 基础知识面试题(总结最全面的面试题)
juejin.cn/post/684490…
3
Java 集合面试题(总结最全面的面试题)
juejin.cn/post/684490…
4
JavaIO、BIO、NIO、AIO、Netty 面试题(总结最全面的面试题)
juejin.cn/post/684490…
5
Java 并发编程面试题(总结最全面的面试题)
juejin.cn/post/684490…
6
Java 异常面试题(总结最全面的面试题)
juejin.cn/post/684490…
7
Java 虚拟机(JVM)面试题(总结最全面的面试题)
juejin.cn/post/684490…
8
Sprin ...