自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

摘自《Header First设计模式》文中的源码初代方法:package singleton;public class Singleton { //利用静态变量记录Singleton类唯一的实例 private static Singleton uniqueInstance = null; //声明为私有的构造器,只有Singleton类内才能能够调用构造器 private Singleton() { System.out.pr

2021-07-24 17:28:48 2221

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

摘自《》定义一个鸭子的模型接口:Duck.javapackage Adapter;/* * 鸭子实现了Duck的接口,具备呱呱叫和飞行的能力 */public interface Duck{ public void quack(); public void fly();}定义一个火鸡的模型接口:Turkey.javapackage Adapter;/* * 介绍新的街头冠禽 */public interface Turkey{

2021-04-01 15:36:14 127 1

原创 抽象类和接口的概念以及区别

定义抽象类:它是一种特殊的、不能被实例化的类,只能作为其他类的父类使用。使用abstract关键字声明。接口:它是一种特殊的抽象类,也是一个特殊的类,使用interface关键字声明。相同点1 两者都是抽象类,都不能实例化。2 interface实现类及abstract class的子类都必须要实现已经声明的抽象方法。区别1 从关键字implement看,表示实现,既interface表示需要具体的类去实现; 而关键字extends表示为扩展,abstra...

2020-11-27 15:36:49 1034

原创 laravel框架容器的基本实现原理

这段代码来自《laravel 框架关键技术解析》书中的对框架容器框架的提炼,很好的还原了laravel 的服务容器的核心思想,有兴趣的童鞋可以自己执行并研究下代码的逻辑。<?phpinterface Visit{ public function go();}class Train implements Visit{ public function go() { echo "go to Tibet by train" . PHP_EOL;

2020-11-18 19:04:20 543

原创 PHP的扩展cli模式与php-fpm不一致

在安装php-redis,php-mongodb等扩展的完成时候,在web页面上echo phpinfo()时,扩展详情全部都显示,便以为都安装完成了。但是后来在cli执行时候,发现没有这扩展包含的函数,再使用php -m检查时候,发现并没有这些扩展。 于是查资料的得知,加载扩展是通过读取php.ini配置文件生成。 使用命令:php --ini...

2019-07-24 12:18:46 2212

原创 git clone重新迁移laravel框架

用git项目管理工具,重新git clone拉取laravel框架的代码,无法直接使用,首先需要解决dependenciescomposer install更新完dependencies后,直接访问,还会发生如下报错:RuntimeException thrown with message "No application encryption key has been speci...

2019-06-14 15:41:18 443

原创 redis的各个数据结构常用功能

redis的各个数据结构常用功能 结构类型 常用命令 使用场景 String set、get、mset、mget、incr 缓存、计数器、session、限速(发短息间隔) List rpush、lpop、lrange、lindex 消息队列(brpop可实现阻塞队列)、文章列表 Hash hset、hget 关系记录表 S...

2019-05-12 23:34:28 147

原创 PHP设计模式之装饰者模式:钢铁侠的战衣逐步升级

#钢铁战衣升级标准interface DecorateArmor{ public function generateWeapon();//生成新功能}#待装饰对象 Iron ManClass IronMan implements DecorateArmor{ private $name; public function __construct($name) { $th...

2018-11-22 01:05:17 205

原创 Go手动安装pkg包初体验

GO环境变量配置vim /etc/profile将Go环境如下的全部环境变量添加至 /etc/profile文件,并重启export GOROOT=/usr/local/go-1.10.3                        #Go环境的安装目录export GOPATH=/usr/local/var/www/go-1.10.3         #Go工作目录expor...

2018-09-12 18:27:45 7456 1

原创 MySQL之查询:max()和min()函数与索引利用

       通常大部分索引的数据结构均为B-Tree,该结构按顺序直接存储该索引字段的值,因此直接可以再树的两端获取到最大值与最小值,例如下面这条SQL,我想统计出一个公司员工ID的最大值与最小值:SELECT MAX(id),MIN(id) FROM staff_infoEXPLAIN分析结果如下:       综述:可以看到在索引字段使用MAX,MIN聚集函数时,可以直接取...

2018-04-18 21:29:53 23349 9

原创 安装PHP的Redis扩展

 下载与解压 从PHP扩展官网http://pecl.php.net/下载最新版本的redis压缩包: wget http://pecl.php.net/get/redis-3.1.6.tgz 将下载后的压缩包进行解压 :tar -zxvf redis-3.1.6.tgz   安装 cd redis-3.1.6 进入解压完成的目录下,使用phpi...

2018-01-15 21:19:40 294

原创 MySQL之索引:索引字段使用顺序对复合索引有效性的影响

整理下复合索引中,使用顺序对索引有效性的影响首先这里建立一张数据表,并建立符合索引( index_A,index_B,index_C)CREATE TABLE `test_index_sequence` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `index_A` varchar(255) DEFAULT NULL, `index_B` var

2017-10-17 15:01:11 5762 5

原创 利用静态变量记录并控制递归函数的执行次数

static关键字        在PHP的函数内部中,当我们定义一个变量为static时,需要对该变量进行初始化对该变量赋值且仅初始化一次,由于static修饰的变量是局部的,该变量仅在函数内部有效,当每次调用该函数时,该变量的值都会保留。        利用这一特性,可以统计出递归函数的调用次数,并可以做限制,防止未收敛的函数无线执行下去,造成死循环。

2017-09-26 18:40:54 3387

原创 PHP的引用变量

概念使用PHP的引用变量后,可以使不同的变量名称访问同一个变量内容,并且使用了同一个内存地址定义方式使用 & 符号例如下面这段代码:<?php /* * 引用变量 */$a = array(1,2,3,4);echo '首先看到变量$a的值为:'.PHP_EOL;print_r($a);$b = &$a;//这里将变量$a所占内存空间也共享到变量$be

2017-09-20 11:22:48 359

原创 MySQL之建表:IP地址的存储方法及SQL函数对索引的影响

由于MySQL没有专门用来存储IP地址的数据类型,所以通常大部分情况是直接用varchar类型存储。这里可以使用整数类型代替,因为varchar是可变长形,需要多余的一个字节存储长度,使用int类型可以减少存储空间,提高性能。建立一张存储IP地址的数据表address,顺便在字段login_IP上建立索引:CREATE TABLE `address` ( `id` bigi

2017-09-13 19:59:05 1933

原创 MySQL之索引:索引字段的选取

        日常在建数据表的时候,通常会在WHERE,GROUP BY,ORDER BY等常用的字段上建立索引,当有多个字段时候,有一项原则就是该字段的去重后的值个数越多,索引建立的必要性越强。        这里建立一张数据表,有staff_id和leader_id两个字段,通过EXPLAIN分析可以验证哪个字段更适合做索引。CREATE TABLE `test_index_distinct...

2017-09-13 19:53:20 3959

空空如也

空空如也

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

TA关注的人

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