自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Akrisllen的博客

顽固人生的小小记录

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

原创 Java - Spring 基础学习笔记 下

Spring 基础学习笔记 下AwareLifeCycle CallbacksBeanPostProcessor & BeanFactoryPostProcessorAnnotation 注入超好用的 @Component从 properties 文件获取信息AwareSpring中定义了一系列Aware接口,可用于感知spring container,获取container中的信息,...

2018-12-08 22:24:00 209

原创 Java - Spring 基础学习笔记 上

为什么用spring?这个就说到spring的两大特性 - IOC 和 AOP 我们一个一个介绍。IOCDependency Injection,依赖注入。了解设计模式中工厂模式的方法是一种采用了IOC思想的实现方式。这里简单介绍一下。Sound方法中需要调用cat和dog的实例,一般的方式是在Sound中分别实例化对象。这种方式 Sound 方法与Cat Dog紧密关联,如果我们想...

2018-12-08 03:48:56 193

原创 Java源码分析 - HashMap 源码分析

HashMap 源码分析HashMap 简介构造方法HashMap hash函数resize方法put 方法树化get 方法remove方法HashMap 简介HashMap 实现了Map接口,允许null key或者null value,与HashTable相似,但是HashTable 不允许空值并且是线程安全的。HashMap get与put都可以在常数时间内执行,即为O(1)。影响H...

2018-12-04 15:51:54 301

原创 Java源码分析 - ArrayList 源码分析

ArrayList 简介可变长数组,非线程安全。三种构造方式无initialCapacity:ArrayList();有initialCapacity:ArrayList(10);有collection:ArrayList(Collection<? extends E> c);自增的实现方式ArrayList 有两个add方法,可在array下一位加

2018-10-30 13:41:49 159

原创 Java源码分析 - LinkedList 源码分析

LinkedList 源码分析LinkedList 简介LinkedList 线程安全的实现合理的创建标题,有助于目录的生成如何改变文本的样式LinkedList 简介Java源码中的linked list 实际上是数据结构中的双向链表(Doubly-linked list)。实现了List和 Dequeue 接口。针对index的操作会从头或者尾开始进行遍历。LinkedList 线程不安全...

2018-10-26 17:25:43 239

原创 Matlab - 基础使用

基础运算a = 1/2; //0.5b = 1-2; //-1c = 2*pi; //6.2832d = 2^3;//8常见数学函数exp: exponentiation (e^)abs: absolute valuecos, sin, tan :cosine, sine and tangentacos,asin,atan :inverse of cosine, ...

2018-03-06 17:19:04 361

翻译 十分钟掌握LESS

简介CSS使用中有时可能令人沮丧,尤其是当项目包含几千行代码的时候。仅仅改变一个颜色,也可能需要你反复进行搜索,复制粘贴,维护CSS变得枯燥。幸运的是Less Sass Stylus等CSS预处理工具的出现,使这些问题得到解决。变量,可轻松定义或改变数值(CSS将会添加这一功能)动态计算值(CSS中虽然新添了calc,但是只能用于计算长度)Mixin,合并再利用已有风格函数,可以计...

2018-02-28 13:42:46 560

原创 Git版本控制

Git基本概念分布式开源的版本控制系统工作区 暂存区 版本库工作区 电脑可以看见的 暂存区/stage/index 一般存放在 “.git目录下” 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index) 版本库/Reposity 工作区隐藏的 .git 文件,Git版本库中存储了很多东西,例如stage暂存区。以及git自动创建的第一个分支master

2018-01-31 13:56:34 222

转载 99%的人都理解错了HTTP中GET与POST的区别

转自:99%的人都理解错了HTTP中GET与POST的区别GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。当你在面试中被问到这个问题,你的内心充满

2018-01-18 17:07:11 195

原创 结构型模式-桥接模式Bridge

桥接模式:将抽象部分与实现部分分离,使它们都可以独立的变化。上栗子-创建一个继承与circle的redcircle和greencircle类,正常情况下的写法class shape{ public function draw();}class redcircle extends shape{ function draw(){ echo 'draw red circle';

2018-01-12 11:34:17 269

转载 PHP 性能优化建议

PHP优化对于PHP的优化主要是对php.ini中的相关主要参数进行合理调整和设置,以下我们就来看看php.ini中的一些对性能影响较大的参数应该如何设置。 # vi /etc/php.ini(1) PHP函数禁用找到:disable_functions =该选项可以设置哪些PHP函数是禁止使用的,PHP中有一些函数的风险性还是相当大的,可以直接执行一些系统级脚本命令,如果允许这些

2018-01-05 15:43:58 246

原创 PHP 7.1 新特性

来源于官方RFC文档可空类型<?phpfunction answer():?int{ return null; //ok}function answer():?int{ return 4631.8; //4631}function answer(?string $v){ echo $v; //answer(null); ok}注意:如果函数本身定义

2018-01-05 15:00:19 1371

原创 结构型模式-适配器模式

适配器模式用于适配两个不同接口,结合两个独立接口的功能。 何时使用: 1. 系统需要使用现有的类,而此类的接口不符合系统的需要。 2. 想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作,这些源类不一定有一致的接口。 3. 通过接口转换,将一个类插入另一个类系中。(比如老虎和飞禽,现在多了一个飞虎,在不增加实体的需求下,增

2018-01-04 09:57:08 185

原创 PHP AOP 实现

AOP VS OOPAOP(Abstract Oriented Programming),面向切面编程。AOP是OOP的补充和完善,OOP通过封装继承多态建立一种从上到下的系统层次,但对于与系统业务逻辑无关,每一层次都涉及的功能却无能为力,例如日志。这种分散到各处的被称为横切cross-cutting。AOP基本概念切面(Aspect): 一个关注点的模块化,这个关注点横切多个对象。例如loggi

2018-01-02 14:06:31 1051 1

原创 创建模式-构造者/生成器模式(Builder)

生成器模式,又称构造者模式,用于分离复杂对象的构建和表示,通过同样的构建过程创建不同的表示。实现基本部件不变,组合方式改变。举个例子,杯子由杯身和杯盖组成,有的杯盖是玻璃的,有的是陶瓷的。首先构造cover父类,及两个继承类。创建cupbody类。class cover{ protected $type; public function toString(){ ret

2017-12-29 15:51:34 186

原创 创建模式-单例模式

单例模式可以确认该对象只有一个实例存在,对于某些创建比较复杂或者是系统核心的类,不易或不能多次使用new创建,应设置为单例类。//单例类class Singleton{ private static $instance = null; //将构造类设置为私有,防止多次创建 private function Singleton(){} public static fu

2017-12-28 14:35:35 198

原创 创建模式-工厂模式

普通工厂模式首先我们创建继承于animal的猫狗类,使用普通工厂模式,通过制定传入值的不同,确定调用那种具体实现类。<?php//抽象类abstract class animal{ public abstract function eat();}//具体实现类class cat extends animal{ public function eat() {

2017-12-28 10:47:54 256

原创 PHP自动加载

include vs require被包含文件查找顺序:给出的路径-include path-调用脚本文件的目录和当前工作目录; include:未找到发出警告,文件执行每次都进行读取和评估; require:未找到发出致命错误,文件只处理一次(实际上,文件内容替换require语句),效率较高; include_once:如果已包含文件,不会再次包含; require_once同理。命名空

2017-12-27 14:55:11 308

原创 设计模式-GoF, SOLID和陈年往事

设计模式的历史可以从1977年开始说起,从一个叫Christopher Alexander的人说起。这位仁兄在1977年提出了架构概念,出了一本叫A Pattern Language 的有着世界级的影响的书。1987年,两位美国大牛,把这一概念引入了计算机编程,其中一位写出了第一版的wiki。此后,被称作Gang of Four(GoF)的四个人,在1994年合作出版了Design Patte

2017-12-22 17:01:44 482

原创 接口 vs 抽象类, Trait

简单的来说,接口是对行为的抽象,类是对对象的抽象。抽象类抽象类:包含抽象方法的类,不可用于创建对象 特点: 1. 为了子类能够继承,抽象方法必须为public或protected,默认为public 2. 如果继承抽象类,子类必须实现父类的方法,如果不实现,子类也被视为抽象类,也就是说,抽象类是可以继承抽象类的接口接口,实际上就是把需要多次使用的方法从类中剥离出来,以便所有的类使用。是一种对行

2017-12-18 16:34:58 405

转载 MySQL性能优化的最佳20+条经验

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过 多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。1.

2017-11-06 10:34:41 184

转载 设计模式详解

设计模式之间的关系:      设计模式总概况:一、设计原则1、单一职责原则      一个类,只有一个引起它变化的原因。应该只有一个职责。每一个职责都是变化的一个轴线,如果一个类有一个以上的职责,这些职责就耦合在了一起。这会导致脆弱的设计。当一个职责发生变化时,可能会影响其它的职责。另外,多个职责耦合在一起,会影响复用性。例如:要实现逻辑和界面的分

2017-10-30 09:09:31 387

转载 MVC模式(三层架构模式)-转载

MVC模式(三层架构模式)-转载(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。 MVC模式最早由Trygve Reenskaug在1974年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式。MVC模

2017-10-30 08:51:38 950

空空如也

空空如也

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

TA关注的人

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