自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 Java核心技术卷I读书笔记之检测字符串是否相等

使用equals方法检测两个字符串是否相等s.equals(t)注:一定不要使用==运算符检测两个字符串是否相等!这个运算符只能确定两个字符串是否放置在同一位置上。如果虚拟机始终将相同的字符串共享,就可以使用==检测是否相等,然而实际上只有字符串常量是共享的,+或substring等操作产生的结果并不是共享的。...

2020-03-04 17:07:51 119

原创 Java核心技术卷I读书笔记之强制类型转换

强制类型转换的语法格式是在圆括号中给出想要转换的目标类型,后面紧跟待转换的变量名。double x = 9.997;int nx = (int)x;注:1、如果试图将一个数值从一个类型强制转换为另一类型,而又超出了目标类型的范围,结果会被截断成一个完全不同的值2、不要在boolean类型与任何数值类型之间进行强制转换,可以用条件表达式替代b ? 1 : 0...

2020-03-04 14:40:07 110

原创 Java核心技术卷I读书笔记之Java常量

常量的声明:Java中使用关键字final声明常量final double CM_PER_INCH = 2.54使用关键字static final设置一个类常量public static final double CM_PER_INCH = 2.54注:const是Java保留关键字但是目前并没有使用,Java中必须使用final定义常量...

2020-03-04 14:17:25 136

原创 Java核心技术卷I读书笔记之Java数据类型

4种整型注:在Java中所有的数值类型所占据的字节数量与平台无关 byte 1字节 short 2字节 int 4字节 long 8字节 2种浮点类型注:double精度是float的两倍,一般都使用double类型。...

2020-03-04 11:24:49 134

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

以下文字部分均为本人自己的想法与总结所以未必正确;参考https://blog.csdn.net/jhq0113/article/details/46454419https://github.com/flyingalex/design-patterns-by-php/blob/master/files/chapter24.md定义:包含了一些命令对象和一些处理对象,每个处理对象决定...

2020-03-02 19:36:55 189

原创 PHP设计模式之命令模式

以下文字部分均为本人自己的想法与总结所以未必正确;参考https://www.cnblogs.com/dawuge/p/9400831.htmlhttps://github.com/flyingalex/design-patterns-by-php/blob/master/files/chapter23.md定义:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化...

2020-03-02 19:29:34 123

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

以下文字部分均为本人自己的想法与总结所以未必正确;参考https://www.cnblogs.com/xuwendong/p/9898030.htmlhttps://github.com/flyingalex/design-patterns-by-php/blob/master/files/chapter20.md定义:迭代器模式提供了一种方法顺序访问一个聚合对象中的各个元素...

2020-03-02 17:53:12 143

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

以下文字部分均为本人自己的想法与总结所以未必正确;参考https://github.com/flyingalex/design-patterns-by-php/blob/master/files/chapter10.md定义:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤优点:1、封装不变部分,扩展可变部...

2020-03-02 17:29:14 100

原创 《Go语言实战》读书笔记之Golang的映射

映射是一个存储键值对的无序集合创建和初始化make函数创建//创建一个映射,键的类型是string,值的类型是intdict := make(map[string]int)使用映射字面量创建//创建一个键和值类型都是string的映射dict := map[string]string{"Red": "#da1337", "Orange": "#e95a22"}使用...

2020-03-02 16:06:19 169

原创 《Go语言实战》读书笔记之Golang的切片

创建和初始化:在64位机器上一个切片需要24字节:指针字段8字节,长度字段8字节,容量字段8字节make和切片字面量//创建一个字符串切片 //其长度和容量都是5个元素 (如果只指定长度,那么切片容量和长度相等)slice := make([]string, 5)//分别指定长度和容量slice := make([]int, 3, 5)使用切片字面量//不指定[...

2020-03-02 16:04:43 166

原创 《Go语言实战》读书笔记之Golang的数组

声明和初始化:声明数组时需要指定内部存储的数据的类型,以及需要存储的元素的数量,这个数量也称为数组的长度//声明一个包含5个元素的整型数组var array [5]int一旦声明,数组里存储的数据类型和数组长度就都不能改变了。如果需要存储更多的元素,就需要先创建一个更长的数组,再把原来数组里的值复制到新数组里。//用具体值初始化每个元素array := [5]int{1...

2020-03-02 16:04:03 145

原创 PHP设计模式之策略模式

以下文字部分均为本人自己的想法与总结所以未必正确;参考https://www.cnblogs.com/qixuejia/p/4370270.html策略模式: 概述: 策略模式就是用来封装算法的,但在实践中,我们发现可以用它来封装几乎任何类型的规则,只要在分析过程中听到需要在不同时间应用不同的业务规则,就可以考虑使用策略模式处理这种变化的可能性。 策略模式是一种定...

2020-02-25 17:51:55 110

原创 MySQL的timestamp类型和datestamp的区别

TIMESTAMP和DATETIME的不同点:1)两者的存储方式不一样对于timestamp,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回。(这就解释了我在接口输出的时间和直接查数据库的时间为什么差8小时)。对于datetime,不做任何改变,原样输入和输出。2) 两者所能存储的时间范围不一样timestamp...

2019-09-05 19:31:26 1511

原创 PHP设计模式之享元模式

以下文字部分均为本人自己的想法与总结所以未必正确;代码摘自https://blog.csdn.net/rust94/article/details/88895465享元模式: 概念: 运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,...

2019-09-05 16:30:36 106

原创 Laravel源码解读之Facades

Laravel中使用Facade可以方便的取出容器中的对象本文以调用DB为例解读Facades的源码controller:namespace App\Http\Controllers;use Illuminate\Support\Facades\DB;class TestController extends Controller{ public function...

2019-08-29 11:41:45 324

原创 PHP的后期静态绑定理解

官方原文:后期静态绑定工作原理是存储了在上一个“非转发调用”(non-forwarding call)的类名。当进行静态方法调用时,该类名即为明确指定的那个(通常在::运算符左侧部分);当进行非静态方法调用时,即为该对象所属的类。所谓的“转发调用”(forwarding call)指的是通过以下几种方式进行的静态调用:self::,parent::,static::以及fo...

2019-08-28 18:14:14 163

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

以下文字部分均为本人自己的想法与总结所以未必正确;代码摘自https://blog.csdn.net/rust94/article/details/88895465外观模式:  外观模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。角色: 1、抽象主题(Subject): 它把所有观察者对象的...

2019-07-17 16:02:22 93

原创 PHP设计模式之外观模式

以下文字部分均为本人自己的想法与总结所以未必正确;代码摘自https://blog.csdn.net/rust94/article/details/88895465外观模式:   概念: 外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式又称为门面模式,它是一种对象结...

2019-07-17 15:42:32 124

原创 PHP设计模式之代理模式

以下文字部分均为本人自己的想法与总结所以未必正确;代码摘自https://blog.csdn.net/rust94/article/details/88895465代理模式:   概念: 代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。适用场景:中介隔离作用:在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象可以在客户类和委托对象...

2019-07-12 17:08:56 93

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

以下文字部分均为本人自己的想法与总结所以未必正确;代码摘自https://blog.csdn.net/rust94/article/details/88895465装饰模式:   概念: 装饰模式(又称包装模式)就是把要添加的附加功能分别放在单独的类中,并让这个类包含它要装饰的对象,当需要执行时,客户端就可以有选择地、按顺序地使用装饰功能包装对象。角色: 抽象...

2019-07-12 11:35:02 105

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

以下文字部分均为本人自己的想法与总结所以未必正确;代码摘自https://blog.csdn.net/rust94/article/details/88895465适配器模式: 什么是适配器:适配器的存在,就是为了将已存在的东西(接口)转换成适合我们需要、能被我们所利用的东西。在现实生活中,适配器更多的是作为一个中间层来实现这种转换作用。比如电源适配器,它是用于电流变换(...

2019-07-11 11:38:54 81

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

以下文字部分均为本人自己的想法与总结所以未必正确;代码部分摘录自 https://github.com/flyingalex/design-patterns-by-php建造者模式: 概念:建造者模式(Builder Pattern)也叫做生成器模式,其定义为:将一个复杂对象的构造与它的表示分离,使得同样的构造过程可以创建不同的表示。 适用:当创建复杂对象...

2019-07-10 17:32:39 89

原创 PHP设计模式之原型模式

以下文字部分均为本人自己的想法与总结所以未必正确;代码部分摘录自https://github.com/flyingalex/design-patterns-by-php原型模式: 概念:原型模式是先创建好一个原型对象,然后通过clone原型对象来创建新的对象。适用于大对象的创建,因为创建一个大对象需要很大的开销,如果每次new就会消耗很大,原型模式仅需内存拷贝即可。【主...

2019-07-10 16:50:20 84

原创 PHP设计模式之单例模式

以下文字部分均为本人自己的想法与总结所以未必正确;代码部分摘录自https://github.com/flyingalex/design-patterns-by-php单例模式: 概念:确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例 特点:三私一公 私有的构造方法 (防止类外实例化) ...

2019-07-10 16:21:07 80

转载 设计模式的分类

设计模式的分类:1、创建型模式,共五种:单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式。2、结构型模式,共七种:适配器模式、装饰者模式、代理模式、门面模式(外观模式)、桥梁模式、组合模式、享元模式。3、行为型模式,共十一种:策略模式、模版方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式...

2019-07-10 13:34:16 226

原创 PHP设计模式之抽象工厂模式

以下文字部分均为本人自己的想法与总结所以未必正确;抽象工厂模式: 概述:抽象工厂模式对同一类产品实现了封装,上层应用(客户端)只需调用相应的工厂接口来创建具体的产品,无需关心产品是如何创建优点: 1、解耦, 分离了客户端和类,客户端只需要去找相应的工厂,则可以得到所需的产品 2、易于扩展,当水果厂添加某项功能...

2019-07-10 11:31:12 92

原创 PHP设计模式之工厂方法模式

以下文字部分均为本人自己的想法与总结所以未必正确;代码部分摘录自https://github.com/flyingalex/design-patterns-by-php工厂方法模式: 优点:弥补了简单工厂的确点,即当要修改类的时候工厂类也需要做出相对应的更改。之所以可以解决简单工厂的问题,是因为工厂方法模式把具体产品的创建推迟到工厂类的子类(具体工厂)中,此时工厂类不再负责...

2019-07-09 17:32:32 117

原创 PHP设计模式之简单工厂模式

以下文字部分均为本人自己的想法与总结所以未必正确;代码部分摘录自https://github.com/flyingalex/design-patterns-by-php简单工厂模式: 优点:将调用者与创建者分离,调用者直接向工厂请求,减少代码的耦合(也就是说对象的创建交由工厂类负责),提高系统的可维护性与可扩展性  缺点:当要修改类的时候,工厂类也需要做出相对应的更改...

2019-07-09 16:59:27 104

原创 MySQL中int(1)和int(10)有什么区别

MySQL可以为整数类型指定宽度,例如INT(11),对大多数应用这是没有意义的:它不会限制值的合法范围,只是规定了MySQL的一些交互工具(例如MySQL命令行客户端)用来显示字符的个数。对于存储和计算来说,INT(1)和INT(20)是相同的。以上内容摘录自《高性能MySQL》...

2019-07-02 16:02:50 1620

原创 MySQL数据类型的选择几个简单原则

MySQL支持的数据类型非常多,选择正确的数据类型对于获得高性能至关重要。不管存储哪种类型的数据,下面几个简单的原则都有助于做出更好的选择。1、更小的通常更好。2、简单就好。简单数据类型的操作通常需要更少的CPU周期。例如,整型比字符操作代价更低,因为字符集和校对规则(排序规则)使字符比较比整型比较更复杂。这里有两个例子:一个是应该使用MySQL内建的类型(2)而不是字符串来存储日期和...

2019-07-02 15:59:08 2204

原创 MySQL: Hash索引优缺点

优点:因为索引自身只需存储对应的哈希值,所以索引的结构十分紧凑,这也让哈希索引查找的速度非常快缺点:1、不能避免读取行哈希索引只包含哈希值和行指针,而不存储字段值,所以不能使用索引中的值来避免读取行。不过,访问内存中的行的速度很快,所以大部分情况下这一点对性能的影响并不明显。2、无法用于排序哈希索引数据并不是按照索引值顺序存储的,所以也就无法用于排序。3、无法使用部分索...

2019-06-24 11:46:24 3861

原创 MySQL: B-Tree索引的优点和限制

先来说说优点:最常见的B-Tree索引,按照顺序存储数据,所以MySQL可以用来做ORDER BY和GROUP BY操作。因为数据是有序的,所以B-Tree也就会将相关的列值都存储在一起。最后,因为索引中存储了实际的列值,所以某些查询只使用索引就能够完成全部查询。据此特性,总结下来索引有如下三个优点:索引大大减少了服务器需要扫描的数据量。 索引可以帮助服务器避免排序和临时表。 索引可以...

2019-06-24 11:23:16 800

原创 PHP常见算法或函数

<?php//不用第三个变量,交换两个变量的值function changeVar(){ $a = '123'; $b = '456'; list($a, $b) = array($b, $a); echo $a . '-' . $b;}//文件锁function fileLock(){ $fp = fopen('....

2018-03-30 12:18:49 153

原创 Apache开启虚拟机配置及伪静态规则

学习记录,配置Apache2.4版本支持虚拟机并启用伪静态规则。1、修改配置文件先编辑Apache的conf目录下的httpd.conf文件。去除# LoadModule rewrite_module modules/mod_rewrite.so的注释,开启mod_rewrite.so模块支持。去除# Include conf/extra/httpd-vhosts.conf的注释,引入虚拟机配置文...

2018-03-30 11:48:26 1536

空空如也

空空如也

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

TA关注的人

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