设计模式的7大原则与23种设计模式概述

二十三种设计模式: 1、创建型模式 1、生成器模式(Builder pattern): 使用生成器模式封装一个产品的构造过程, 并允许按步骤构造. 将一个复杂对象的构建与它的表示分离, 使得同样的构建过程可以创建不同的表示. 2、工厂模式(Factory pattern): 定义了一个创建对象的接...

2019-01-25 14:21:52

阅读数 39

评论数 0

MySQL索引原理及慢查询优化

背景MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的...

2019-01-25 10:33:17

阅读数 31

评论数 0

Java垃圾回收—— 垃圾收集器

概述 Stop The World 枚举GC Roots 安全点 安全区域 垃圾收集器 吞吐量 GC的名词 并行和并发 Serial 收集器单线程垃圾收集新老 ParNew 收集器Serial 升级版新 Parallel 收集器吞吐量优先新老 CMS 收集器停顿时间优先老 G1收集器垃圾区域R...

2019-01-23 19:53:54

阅读数 36

评论数 0

java ThreadLocal(应用场景及使用方式及原理)

虽然ThreadLocal与并发问题相关,但是许多程序员仅仅将它作为一种用于“方便传参”的工具,胖哥认为这也许并不是ThreadLocal设计的目的,它本身是为线程安全和某些特定场景的问题而设计的。 ThreadLocal是什么呢! 每个ThreadLocal可以放一个线程级别的变量,但是它本身可...

2019-01-23 16:10:30

阅读数 31

评论数 0

Class.forName()的作用与使用总结

1、Class类简介: Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识。这项信息纪录了每个对象所属的类。虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类。Class类封装一个对象和接口运行时的状态,当装载类时,Class类...

2019-01-22 16:04:11

阅读数 27

评论数 0

url最大长度

最近在库中存储一些url,针对字段长度,这里简单说下url最大的长度,具体情况根据业务场景而定。 HTTP RFC2616协议没有规定URL的最大长度,但规定服务器如果不能处理太长的URL,就得返回414状态码(Request-URI Too Long)。 HTTP RFC2616协议指出...

2019-01-22 11:34:02

阅读数 28

评论数 0

MySQL的Limit详解

Top子句: TOP 子句用于规定要返回的记录的数目。对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。在SQL Server数据库中语法为:   SELECT TOP number|percent column_name(s) FROM table_name 但是并非所有的数据库系统都支...

2019-01-04 09:50:03

阅读数 28

评论数 0

XSS跨站脚本攻击

XSS跨站脚本攻击 阅读目录1、简介2、原因解析3、XSS攻击分类  3.1、反射型xss攻击  3.2、存贮型xss攻击  3.3、DOMBasedXSS(基于dom的跨站点脚本攻击)4、XSS攻击实例分析  例1、简单XSS攻击  例2、盗取cookie5...

2018-11-05 16:30:09

阅读数 44

评论数 0

mysql中一条insert语句批量插入多条记录

    最近在项目中,需要对数据进行插表操作,由于数据量较大,按照一般的insert into将会有for循环操作,但所在公司部门产品流量大,对性能要求高;所以选择批量插入;下面将简单介绍一下最...

2018-10-30 17:54:56

阅读数 85

评论数 0

X-Forwarded-For

    最近在项目对外联调过程中,发现了关于XFF的问题,这里简单介绍下,大部分是贴维基百科中的词条:https://zh.wik...

2018-10-11 20:02:44

阅读数 44

评论数 0

设计模式之禅精述

     在9月初花费20天左右的时间看完《细说PHP》后,稍作感...

2018-10-07 23:18:25

阅读数 43

评论数 0

B/S、C/S系统设计对比

B/S、C/S对比: 一、C/S 1.优点: (1)安全性:需要其特定的客户端,所以面向对象比较确定,将所进行的信息安全处于一个可控的范围 (2)效率:客户端的服务器直接相连,省却了中间环节,数据的传输比较快 (3)个性化:有特定的客户端,所以可以在较大程度上满足客户的个性化要求...

2018-09-05 07:28:49

阅读数 161

评论数 0

SQL中drop、truncate和delete的应用场景

最近在做的项目中需要对表进行重用,准确地说应该是把数据表中地数据清掉,但表结构及索引等表属性都不变。针对这个场景,这里简单区分下SQL中常见的drop、truncate、delete;已经了解的同学可以略过。 从操作性质上分: SQL有DDL、DCL、DML三种: dele...

2018-09-04 00:02:35

阅读数 300

评论数 0

关于homebrew使用时遇到的问题: Error: Could not symlink bin/composer/usr/local

关于homebrew使用时遇到的问题: Error: Could not symlink bin/gdb/usr/local/bin is not writable. <div ...

2018-08-20 13:05:04

阅读数 95

评论数 0

Redis应用场景介绍

昨天和一位前辈聊天,谈到关于redis到场景问题,这里做一下小结。 Redis呢,百科这样说,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 在官方上讲的很仔细,这里就简单说一下redis几个特点,因为场景是由特...

2018-07-19 17:49:13

阅读数 88

评论数 0

Docker工程环境搭建及介绍

最近在做服务端相关的开发,由于服务机是Linux系统,所以具体开发环境就要相对应,本地代码能够及时同步到服务器进行执行。其实能够实现这个功能有多种方法像安装Vagrant、Virtualbox等,各有千秋,具体的简单比较下文有,这里先介绍Docker环境。是到,刚才聊到也是Docker的功能之一。...

2018-07-17 20:27:09

阅读数 109

评论数 0

Mysql的四种引擎介绍

(1):MyISAM存储引擎不支持事务、也不支持外键,优势是访问速度快,对事务完整性没有 要求或者以select,insert为主的应用基本上可以用这个引擎来创建表 支持3种不同的存储格式,分别是:静态表;动态表;压缩表 静态表:表中的字段都是非变长字段,这样每个记录都是固定长度的,优点存储非...

2018-07-08 11:02:43

阅读数 5071

评论数 0

c++ 深入理解虚函数

为什么使用虚函数?什么是虚函数?虚函数是为了解决什么问题? 面向对象的三大特征: 封装 多态 继承 普通虚函数 虚析构函数 纯虚函数 抽象类 接口类 隐藏 vs 覆盖 隐藏与覆盖之间的关系 早绑定和晚绑定 虚函数表 什么是多态? 相同对象收到不同消息或不同对象收到...

2018-06-23 20:43:02

阅读数 44

评论数 0

JVM的GC-GMS详解

前言 CMS,全称Concurrent Low Pause Collector,是jdk1.4后期版本开始引入的新gc算法,在jdk5和jdk6中得到了进一步改进,它的主要适合场景是对响应时间的重要性需求 大于对吞吐量的要求,能够承受垃圾回收线程和应用线程共享处理器资源,并且应用...

2018-05-14 18:47:27

阅读数 293

评论数 0

深入理解Java并发之synchronized实现原理

最近在梳理关于同步的一些知识,发现知识的海洋无边际,学无止境,这里借鉴以为大佬的文章梳理一下synchronized的底层实现原理。 首先是,synchronized都有什么应用场景呢? 概括,进程同步: 修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁 修饰静态方法,作...

2018-05-07 21:06:10

阅读数 47

评论数 0

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