自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

独守丶轩

所有的博客均为学习笔记,希望能帮助大家,如果有错误的地方,希望可以一起交流改正。

  • 博客(53)
  • 收藏
  • 关注

原创 量子计算 量子力学假设与量子测量

文章目录假设一(状态空间)假设二(演化)量子力学的假设是经过长期的尝试与失败后而推导出来的,经过了发明者的大量猜测和摸索。对于这些假设,我们只需要掌握这些假设,懂得如何应用以及何时应用这些假设。假设一(状态空间)任一孤立物理系统都有一个称为状态空间的复内积空间(即希尔伯特空间)与之相联系,系统完全有状态向量所描述,这个向量是系统状态向量的一个单位向量。示例设 ∣0⟩|0\rangle∣0⟩ 和 ∣1⟩|1\rangle∣1⟩ 构成这个状态空间的一个标准正交基,则状态空间中的任意状态向

2021-09-17 21:17:01 556

原创 数据结构与算法之排序、查找、哈希表

文章目录时间复杂度顺序:O(1) < O(log2n) < O(n) < O(nlog2n) < O(n2) < O(n3) < O(nk) < O(2n)

2021-07-29 11:47:13 138 1

原创 数据结构与算法之稀疏数组、队列、链表、栈、递归

文章目录稀疏数组队列链表稀疏数组public class Sparsearray { public static void main(String[] args) { int[][] arr = new int[10][10]; arr[1][2] = 1; arr[2][4] = 2; System.out.println("原数组"); for (int[] ints : arr) { f

2021-07-24 10:57:55 83

原创 Java8新特性

文章目录Lambda表达式四大内置核心函数式接口方法引用与构造器引用Stream APIOptionalLambda表达式Lambda表达式需要函数式接口的支持。函数式接口:接口中只有一个抽象方法,可以使用@FunctionalInterface注解修饰。格式一:无参数,无返回值public class Lambda01 { public static void main(String[] args) { Runnable runnable = ()-> Sy

2021-07-19 10:28:58 81

原创 Redis知识总结

文章目录五大数据类型发布和订阅新数据类型五大数据类型key建操作查看当前库中所有keykeys *判断某个key是否存在exists key查看key的类型type key删除keydel keyunlink key --异步删除设置key的过期时间expire key 10查看还有多少秒过期ttl key ---1表示永不过期,-2表示已过期String最大长度为512M加入数据set key value

2021-07-16 15:03:27 104 4

原创 MySQL之锁

文章目录表锁行锁表锁读锁会阻塞写,但是不会阻塞读。而写锁则会把读和写都阻塞。Myisam的读写锁调度是写优先的。创建数据库环境create table `db_lock`( `id` int not null primary key auto_increment, `name` varchar(20))engine=MyISAM;insert into db_lock (name) values ('1');insert into db_lock (name) va

2021-07-15 14:13:38 90

原创 RabbitMQ知识总结

文章目录Hello WorldWork Queues消息应答发布确认Hello World生产者public class Producer { private static final String QUEUE_NAME = "hello"; public static void main(String[] args) { ConnectionFactory factory = new ConnectionFactory(); factory.s

2021-07-15 10:32:41 75

原创 MongoDB常用命令

文章目录常用命令数据库操作集合操作文档基本增删改查常用命令数据库操作选择和创建数据库,如果数据库不存在则创建use 数据库名称查看所有数据库show dbs查看当前正在使用数据库db删除当前使用的数据库db.dropDatabase()集合操作创建集合db.createCollection("test")查看集合show collections删除集合db.test.drop()文档基本增删改查单个插入db.comment

2021-07-11 18:06:38 49

原创 JUC并发编程

文章目录synchronized和Lock线程通信(生产者和消费者)线程六种状态初始(NEW):新创建了一个线程对象,但还没有调用start()方法。运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取CPU的使用权,此时处于就绪状态(ready)。就绪状态的线程在获得CPU时间片后变为运行中状态(r

2021-07-11 18:04:06 166 1

原创 设计模式之职责链模式

文章目录职责链模式基本介绍代码示例注意事项和细节职责链模式基本介绍职责链模式,又叫责任链模式,为请求创建了一个接收者对象的链。这种模式对请求的发送者和接收者进行解耦。职责链模式通常让每个接收者都包含对另一个接收者的引用,如果一个对象不能处理该请求,那么它就会把请求传给下一位接收者,以此类推。这种设计模式属于行为型模式。代码示例public class PurChase { private float price = 0.0f; public PurChase(float

2021-07-08 18:24:41 57

原创 设计模式之策略模式

文章目录策略模式基本介绍代码示例注意事项和细节策略模式基本介绍策略模式中,定义算法簇,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。这算法体现了几个设计原则,第一,把变化的代码从不变的代码中分离出来;第二,针对接口编程而不是具体类(定义了策略接口);第三,多用组合/聚合,少用继承(客户通过组合方式使用策略)。代码示例public interface FlyBehavior { void fly();}public class BadFly imp

2021-07-08 17:48:45 65

原创 设计模式之状态模式

文章目录状态模式基本介绍代码示例注意事项和细节状态模式基本介绍状态模式:它主要用来解决对象再多种状态转换时,需要对外输出不同的行为的问题。状态和行为是一一对应的,状态之间可以相互转换。当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类。代码示例public abstract class State { public abstract void deductMoney(); public abstract boolean raffle(); pub

2021-07-07 22:42:01 42

原创 设计模式之解释器模式

文章目录解释器模式基本介绍解释器模式基本介绍在编译园里中,一个算术表达式通过词法分析器形成词法单元,而后这些词法单元再通过语法分析器构建语法分析树,最终形成一颗抽象的语法分析树。这里的词法分析器和语法分析器都可以看成是解释器。解释器模式:给定一个表达式,定义它的文法的一种表示,并定义一个解释器,使用该解释器来解释语言中的表达式。...

2021-07-07 20:28:55 45

原创 设计模式之备忘录模式

文章目录备忘录模式基本介绍代码示例注意事项和细节备忘录模式基本介绍备忘录模式在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保持这个状态。这样以后就可将该对象恢复到原先保存的状态。备忘录模式输入行为型模式。代码示例public class Memento { private int vit; private int def; public Memento(int vit, int def) { this.vit = vit;

2021-07-07 14:50:37 60

原创 设计模式之中介者模式

文章目录中介者模式基本介绍代码示例注意事项和细节中介者模式基本介绍中介者模式,用一个中介对象来封装一系列的对象交互。中介者使各个对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。中介者模式属于行为型模式,使代码易于维护。比如MVC模式,C是M和V的中介者,在前后端交互时起到了中间人的作用。代码示例public abstract class Mediator { public abstract void register(String colleagueN

2021-07-07 14:27:46 55

原创 设计模式之观察者模式

文章目录观察者模式基本介绍代码示例观察者模式基本介绍观察者模式:对象之间多对一的一种设计方案,被依赖的对象对Subject,依赖的对象为Observe,Subject统治Observe变化。Subject是一的一方,Observe是多的一方。代码示例public interface Observer { void update(float temperature);}public class TencentObserver implements Observer{ pr

2021-07-07 11:03:01 40

原创 设计模式之迭代器模式

文章目录迭代器模式基本介绍代码示例注意事项和细节迭代器模式基本介绍迭代器模式是常用的常用的设计模式,属于行为型模式。如果我们的集合元素是用不同的方式实现的的,有数组,还有java的集合类,或者还有其他方式,当客户端要遍历这些集合元素的时候就要使用多种遍历方式,而且还会暴露元素的内部结构,可以考虑使用迭代器模式。迭代器模式,提供一种遍历集合元素的统一接口,用一致的方法遍历集合元素,不需要知道集合对象的底层表示,即:不暴露内部结构。代码示例public class Department {

2021-07-06 21:57:32 42

原创 设计模式之访问者模式

文章目录访问者模式基本介绍代码示例注意事项和细节访问者模式基本介绍访问者模式,封装一些作用于某种数据结构的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。主要将数据结构与数据操作分离,解决数据结构和操作耦合性的问题。访问者模式的基本工作原理是:在被访问的类里面加一个对外提供接待访问者的接口。访问者模式主要应用场景是:需要对一个对象结构中的对象进行很多不同操作(这些操作彼此没有关联),同时需要避免让这些操作“污染”这些对象的类,可以选用访问者模式。代码示例publ

2021-07-06 17:56:14 44

原创 设计模式之命令模式

文章目录命令模式基本介绍代码示例注意事项和细节命令模式基本介绍命令模式:在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接受者是谁,也不知道被请求的操作是哪个。我们只需要在程序运行时指定具体的请求接收者就可以,此时,可以使用命令模式来进行设计。命令模式使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活,实现解耦。在命名模式中,会将一个请求封装为一个对象,以便使用不同参数来表示不同的请求,同时命令模式也支持可撤销的操作。通俗易懂的理解:将军发布命令,士兵去

2021-07-06 15:19:50 58

原创 设计模式之模板方法模式

文章目录模板模式基本介绍代码示例钩子方法模板模式基本介绍模板方法模式,又叫模板模式。在一个抽象类公开定义了执行它的方法的模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式执行。简单说,模板模式定义一个操作的算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构,就可以重新定义该算法的某些步骤。这种类型的设计模式属于行为型模式。代码示例public abstract class SoyMilk { //模板方法定义成final,不让子类去覆盖

2021-07-06 14:31:41 61

原创 设计模式之代理模式

文章目录代理模式基本介绍静态代理基本介绍代码示例优缺点动态代理基本介绍代码示例Cglib代理基本介绍代码示例代理模式基本介绍代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象。这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象。代理模式有不同的形式,主要有三种:静态代理、动态代理和Cglib代理。静态代理基本介绍静态代理在使用接口时,需要定义接口或者父类

2021-07-05 22:39:47 32

原创 设计模式之享元模式

文章目录享元模式基本介绍代码示例注意事项和细节享元模式基本介绍享元模式也叫蝇量模式:运用共享技术有效的支持大量细粒度的对象。常用于系统底层开发,解决系统的性能问题。像数据库建连接池,里面都是创建好的连接对象,在这些连接对象中有我们需要的则直接拿来用,避免重新创建,如果没有我们需要的,则创建一个。享元模式能够解决重复对象的内存浪费问题,当系统中有大量相似对象,需要缓冲池时。不需总是创建新对象,可以从缓冲池里拿。这样可以降低系统内存,同时提高效率。享元模式经典的应用场景就是池技术了,String常

2021-07-05 10:14:38 44

原创 设计模式之外观模式

文章目录外观模式基本介绍代码示例注意事项和细节外观模式基本介绍外观模式,也叫“过程模式”:外观模式为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式通过定义一个一致的接口,用于屏蔽内部子系统的细节,使得调用端只需跟这个接口发生调用,而无需关心这个子系统的内部细节。代码示例public class DVDPlayer { //使用饿汉式单例模式 private static DVDPlayer instance =

2021-07-04 21:36:21 44

原创 设计模式之组合模式

文章目录组合模式基本介绍代码示例注意事项和细节组合模式基本介绍组合模式,又叫部分整体模式,它创建了对象组的树形结构,将对象组合成树状结构以表示“整体-部分”的层次关系。组合模式一句树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式。组合模式使得用户对单个对象和组合对象的访问具有一致性,即:组合能让客户以一致的方式处理个别对象以及组合对象。组合模式解决这样的问题,当我们要处理的对象可以升成一颗树形结构,而我们要对树上的节点和叶子进行操作时,它能够提供一致的方式,而不

2021-07-04 20:54:03 43

原创 设计模式之装饰者模式

文章目录装饰者模式基本介绍代码示例装饰者模式星巴克咖啡订单项目:咖啡种类:Espresso、ShortBlack、LongBlack、Decaf。调料:Millk、Soy、Chocolate要求在扩展新的咖啡种类时,具有良好的扩展性、改动方便、维护方便。使用面向对象的的方法来计算不同种类咖啡的费用:客户可以点单品咖啡,也可以单品咖啡+调料组合。基本介绍装饰者模式:动态地将新功能附加到对象上。在对象功能扩展方面,它比继承更有弹性,装饰者模式也体现了开闭原则。代码示例public

2021-07-04 16:42:50 48

原创 设计模式之桥接模式

文章目录桥接模式基本介绍代码示例注意事项和细节桥接模式基本介绍桥接模式是指:将实现与抽象放在两个不同的类层次中,是两个层次可以独立改变。桥接模式是一种结构型设计模式。桥接模式基于类最小设计原则,通过使用封装、聚合以及继承等行为让不同的类承担不同的职责。它的主要特点是把抽象与行为实现分离开来,从而可以保持各部分的独立性以及应对他们的功能扩展。代码示例public interface Brand { void open(); void close(); void cal

2021-07-04 15:01:35 47

原创 设计模式之适配器模式

文章目录适配器模式基本介绍类适配器适配器模式基本介绍适配器模式将某个类的接口转换成客户端期望的另一个接口便是,主要目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器。适配器模式属于结构型模式。主要分为三类:类适配器模式、对象适配器模式、接口适配器模式。工作原理:适配器模式:将一个类的接口转换成另一个接口,让原本接口不兼容的类可以兼容。从用户的角度看不到被适配者,是解耦的。用户调用适配器转化出来的目标接口方法,适配器再调用被适配者的相关接口方法。用户收到反

2021-07-04 14:32:08 67

原创 设计模式之建造者模式

文章目录传统方法代码示例优缺点建造者模式基本介绍代码示例注意事项和细节传统方法盖房项目需求:需要建房子:这一过程为打桩、砌墙、封顶。房子有各种各样的,比如普通房,高楼,别墅,各种房子的过程虽然一样,但是要求不要相同的。代码示例public abstract class AbstractHouse { public abstract void buildBasic(); public abstract void buildWall(); public abstra

2021-07-03 21:39:38 53

原创 设计模式之原型模式

文章目录传统方法代码示例优缺点原型模式基本介绍代码示例浅拷贝深拷贝传统方法现在有一只羊tom,姓名为:tom,年龄为:1,颜色为:白色。编写程序创建和tom羊属性完全相同的10只羊。代码示例public class Sheep { private String name; private int age; private String color; public Sheep(String name, int age, String color) {

2021-07-03 15:08:40 34

原创 设计模式之工厂模式

文章目录传统方法代码示例优缺点简单工厂模式基本介绍代码示例工厂方法模式基本介绍代码示例抽象工厂模式基本介绍代码示例传统方法一个披萨项目:要便于披萨种类的扩展,要便于维护披萨种类很多(GreekPizza、CheesePizza)披萨的制作有prepare,bake,cut。box完成披萨店订购功能代码示例public abstract class Pizza { private String name; public void setName(String name

2021-07-02 21:28:23 50

原创 设计模式之单例模式

文章目录单例模式介绍饿汉式(静态常量)代码示例优缺点饿汉式(静态代码块)代码示例优缺点懒汉式(线程不安全)代码示例优缺点懒汉式(线程安全,同步方法)代码示例优缺点懒汉式(线程安全,同步代码块)代码示例优缺点双重检查代码示例优缺点静态内部类代码示例优缺点枚举代码示例优缺点注意事项和细节单例模式介绍所谓类的单例设计模式,就是采取一定的方法保证整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得对象实例的方法(静态方法)。饿汉式(静态常量)代码示例public class Sin

2021-07-02 15:41:27 101

原创 设计模式之七大原则

文章目录设计模式的目的单一职责原则基本介绍案例注意事项和细节接口隔离原则基本介绍案例依赖倒转原则基本介绍案例注意事项和细节里氏替换原则开闭原则迪米特法则合成复用原则设计模式的目的重用性:相同功能的代码,不用多次编写。可读性:编程规范性,便于其他程序员的阅读和理解。可扩展性:当需要增加新的功能时,非常的方便。可靠性:当增加新的功能后,对原来的功能没有影响。使程序呈现高内聚,低耦合的特性。单一职责原则基本介绍对类来说,级一个类应该只负责一项职责。如类A负责两个不同职责:职责1,职责2。当

2021-07-01 16:33:08 177

原创 MySQL 插入中文 ERROR 1366 (HY000): Incorrect string value: ‘\xE7\x8E\x9E\x97‘ for column

打开 MySQL Workbench更改数据库编码:点击相应数据库,右键选择 Alter Schema ,出现下列界面,更改相应位置或者执行以下代码alter schema`hospital` default character set utf8 default collate utf8_general_ci ;更改数据表编码,点击相应数据库,右键选择 Alter Table ,出现下列界面,更改相应位置或者执行以下代码alter table..

2021-04-23 18:09:30 950

原创 Linux之Shell编程

文章目录Shell的变量设置环境变量位置参数变量预定义变量运算符条件判断if判断Shell的变量定义变量:变量=值撤销变量:unset 变量声明静态变量:readonly 变量,不能撤销#定义变量A=100echo "A=$A"#撤销变量unset Aecho "A=$A"#定义静态变量readonly B=100echo "B=$B"定义变量的规则:变量名称可以由字母、数字、下划线组成,但不能以数字开头。等号两侧不能有空格。变量名称一般习惯为大写。将命

2021-03-01 16:09:15 148

原创 Linux之常用指令

文章目录vi和vim编辑器三种模式切换常用快捷键关机重启和注销vi和vim编辑器三种模式切换常用快捷键粘贴:p。拷贝当前行:yy,拷贝当前行下的5行:5yy 。删除当前行:dd,删除当前行下的5行:5dd。查找:输入 /xxx 后回车,输入 n 查找下一个。设置行号:输入 set nu 后回车;取消行号:输入 set nonu 后回车。到文档末行::G;到文档首行:;gg。撤销:u。移动光标到20行:输入20后按下 shift+g。关机重启和注销shutdownshut

2021-02-24 20:45:16 70

原创 Linux之远程登录与传输

文章目录远程登录远程上传下载文件远程登录安装XShel5建立连接Linux终端输入ifconfig查看ip远程上传下载文件安装XFtp5配置

2021-02-23 15:58:58 58

原创 MySQL之索引及索引优化

文章目录什么是索引优势劣势索引分类BTree索引什么是索引索引(index)是帮助MySQL高效获取数据的数据结构。索引的目的在于提高查询效率,类似于字典。索引是排好序的快速查找数据结构。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以 某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储在磁盘上。平常所说的索引,如果没有特别指明,都是B树(多路索

2021-02-21 18:13:52 86

原创 MySQL之Explain

文章目录简介简介使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句。分析你的查询语句或是表结构的性能瓶颈。

2021-02-21 10:55:00 80

原创 MySQL之JOIN连接

文章目录SQL机读顺序JOIN图内连接左连接右连接A独有B独有全连接A独有+B独有SQL语句建立数据库使用数据库建立数据表插入数据内连接左连接右连接A独有B独有全连接A独有+B独有SQL机读顺序fromonjoin、wheregroup byhavingselectorder bylimitJOIN图内连接select * from A inner join B on A.key = B.key左连接select * from A left join B on A.ke

2021-02-20 15:35:13 248

原创 MySQL之架构及引擎

文章目录架构引擎架构连接层最上层是一些客户端和连接服务,包含本地socket通信和大多数基于客户端或服务端工具实现的类洗浴tcp/ip的通信。主要完成一些类似于连接处理、授权认证及相关的安全方案。在该层上引入线程池的概念,为通过认证安全接入的客户提供线程。同样在该层上可以实现基于SSL的安全连接。服务器也会为安全接入的每个客户端验证它所具有的操作权限。服务层第二层结构主要完成大多数的核心服务功能,如SQL接口,并完成缓存的查询,SQL的分析和优化及部分内置函数的执行。所有跨存储引擎的功能也在这一

2021-02-20 13:39:53 98

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除