自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 操作系统之死锁

死锁定义: 是指多个程序在运行过程中因争夺资源而造成的一种僵局。当进程处于这种僵持状态是,若没有外力作用,他们将无法向前推进。 产生死锁的原因: 1、竞争资源。当系统中供多个进程共享资源如打印机、公用队列等,其数目不足以满足进程需要,会引起进程对资源的竞争而产生死锁。这种资源也包括进程临时产生的资源。 2、进程间的推进顺序非法。请求和释放顺序不

2017-09-24 13:10:31 579

原创 简单排序总结

冒泡排序: 基本思想:两辆比较相邻记录的关键字,如果反序则交换,直到没有反序的记录位置。比如说从后开始循环,那么最小的数就会从底向上冒出来,所以称之为冒泡; 代码:function BubbleSort(arr){ var flag = true; for(var i = 0;i<arr.length-1 && flag;i++){ for(var

2017-09-21 11:11:19 283

原创 不定宽高的水平垂直居中

经常遇到不定宽高水平垂直居中的问题,下面来说一下主要的两种方法一、使用CSS3 transform 直接上代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>不定宽高水平垂直居中</title> <style type="text/css"> .wrap{

2017-09-20 17:10:27 883

原创 UNIX操作系统进程

一、进程的基本概念 1、定义:进程就是一个正在执行的程序。更精确说进程就是一个被加载到内存中,准备运行的程序。 2、进程的分配: 所有进程都是由内核管理的。当一个进程被创建时,内核赋予进程一个标志符,称为PID,或者称为进程ID。内核维护了当前系统所有的进程的列表称为进程表。在进程表中进程由PID为索引。 3、进程执行顺序 进程永远都

2017-09-16 22:06:00 980

转载 Js 的六个迭代方法(写的太赞,不得不转)

在《JavaScript高级程序设计》中,分门别类介绍了非常多数组方法,其中迭代方法里面有6种,这6种方法在实际项目有着非常广泛的作用。其中本人最爱用forEach和map,好用又高效,不用什么都是for循环大法。但是初学的时候往往觉得头大,这些方法都很像,到底有什么区别?趁着今天有空,我把对着6个方法的认知,用最浅显的图画出来,希望看到的同学觉得有用。

2017-09-10 21:59:43 1789

转载 Js 柯里化

穆乙:http://www.cnblogs.com/pigtail/p/3447660.html 在计算机科学中,柯里化(英语:Currying),又译为卡瑞化或加里化,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。这个技术由 Christopher Strachey 以逻辑学家哈斯凯尔·加里命名的,尽管它是 Mose

2017-09-10 19:11:38 250

原创 Js 相等与全等的区别

相等为:== 全等为:=== 我们经常会搞不懂== 与 ===的区别,其实记住一句话就够了相等 --- 先转换再比较全等 --- 仅比较不转换例如:55 == "55" // true55 === "55" // false从上面代码中,对于相等来说”55”会被转换成number类型的55,所有比较后相等,但是对于全等来说,”55”不会被转换,由于类型不同(一个nu

2017-09-09 09:57:02 1529

转载 ES6:解构赋值

转载自:http://www.csdn.net/article/2015-07-07/2825149-es6-in-depth-destructuring ES6作为新一代JavaScript标准,已正式与广大前端开发者见面。为了让大家对ES6的诸多新特性有更深入的了解,Mozilla Web开发者博客推出了《ES6 In Depth》系列文章。CSDN已获授权,将持

2017-09-09 00:26:19 441

转载 Js 数组深拷贝方法

方法一:js的slice函数 复制代码 代码如下:对于array对象的slice函数, 返回一个数组的一段。(仍为数组) arrayObj.slice(start, [end]) 参数 arrayObj 必选项。一个 Array 对象。 start 必选项。arrayObj 中所指定的部分的开始元素是从零开始计算的下标。 end 可选项。arrayObj 中所指定的部分的结

2017-09-09 00:03:09 1370

转载 JavaScript中的浅拷贝与深拷贝

转载自:http://blog.csdn.net/flyingpig2016/article/details/52895620JavaScript中的浅拷贝与深拷贝   学了这么长时间的JavaScript想必大家对浅拷贝和深拷贝还不太熟悉吧,今天在项目中既然用到了,早晚也要理清一下思路了,在了解之前,我们还是先从JavaScript的数据类型存放的位置 堆栈开始说起吧!

2017-09-08 23:47:41 217

原创 Java中的try-catch速记

1、无论如何都会执行finally,即使在catch部分已经return了 但是try-catch后面部门的代码将不执行了(跳出函数)链接:https://www.nowcoder.com/questionTerminal/ffb26e7e10574ba7b14577f3e328fde7来源:牛客网package algorithms.com.guan.javajicu; public cla

2017-09-08 15:29:03 525

原创 抽象类与接口的区别

一、语法层面上的区别参数抽象类接口默认的方法实现它可以有默认的方法实现接口完全是抽象的。它根本不存在方法的实现实现子类使用extends关键字来继承抽象类。如果子类不是抽象类的话,它需要提供抽象类中所有声明的方法的实现。子类使用关键字implements来实现接口。它需要提供接口中所有声明的方法的实现构造器抽象类可以有构造器接口不能有构造器与正常Java类的区别除了你不能

2017-09-08 14:48:08 229

原创 Java 包与接口、抽象类速记

包的含义: 一个包就是一些提供访问保护和命名空间管理的相关类与接口的集合。使用包的目的是使类容易查找使用,防止命名冲突,以及控制访问。所有java包都在java和javax包层次内。Jar包含义:Jar包其实就是利用jar.exe工具把许多编译好的字节码文件打包成一个文件,后缀为.jar所以称作Jar包。并且通过mainfest.mf文件告诉java虚拟机哪一个是包含main方法的主类(M

2017-09-08 14:30:12 384

转载 KMP算法

从头到尾彻底理解KMP作者:July时间:最初写于2011年12月,2014年7月21日晚10点 全部删除重写成此文,随后的半个多月不断反复改进。后收录于新书《编程之法:面试和算法心得》第4.4节中。1. 引言    本KMP原文最初写于2年多前的2011年12月,因当时初次接触KMP,思路混乱导致写也写得混乱。所以一直想找机会重新写下KMP,但苦于一直以来对KMP的理解始终不够,故才迟迟没有修改本

2017-09-05 18:04:04 281

原创 分块索引(查找)

什么叫做分块索引? 分块索引就是对数据集进行分块,使得分块有序,然后再对每一块建立一个索引项,从而减少索引项个数。 分块查找是折半查找和顺序查找的一种改进方法,折半查找虽然具有很好的性能,但其前提条件时线性表顺序存储而且按照关键码排序,这一前提条件在结点树很大且表元素动态变化时是难以满足的。而顺序查找可以解决表元素动态变化的要求,但查找效率很低。如果既要保持对线性表的查找具有较快的速度

2017-09-05 12:33:39 2048

原创 ES6中的export、import、export default详解

引言: 在ES5中,如果你的js文件是依赖于其他js文件(例如:jquery、bootsrap.js等),那么你必须在html中先加载这些依赖,也就是要控制好每个js的加载顺序。想想为什么不能像java和Python中的import方式来解决呢? 其实在ES6中就引入了export与import概念,将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。一、

2017-06-07 18:54:20 15440

原创 为什么在Vue组件中的data只能返回函数

引言: 通过Vue构造器传入的各种选项大多数都可以在组件里用,唯独只有data选项有区别,在Vue构造器中data返回的是对象,但是在组建中必须返回一个函数。why?先来看下面一个例子:HTML:<div id="example-2"> <simple-counter></simple-counter> <simple-counter></simple-counter> <s

2017-06-07 17:18:13 1251

原创 js 捕获型事件、冒泡型事件、DOM事件流、事件委托

引言: 首先考虑这么一个问题,当在页面画很多同心圆,当你手机放在同心圆圆心的时候,你觉得你的手是放在所有圆内还是只是在你最近的那个圆。 那么还有一个问题,如果你觉得上面那个问题的答案是手指放在全部的圈内,那么你觉得应该怎么给圈排序的,是从最外面的圈开始还是从最近的圈开始呢?一、事件流 其实说的问题就是接下来要说的事件流的问题了。当子节点和父节点都有点击事件,然后点击的是

2017-06-04 21:25:03 541

原创 对于v-if 和 v-show的选择 --Vue.js

引言: 对于v-if和v-show都可以控制元素的显隐,但是因为两者控制显隐方式的不同,所以试用的场合还是不同的。 一、v-if 控制显隐方式 v-if 是惰性的,如果初始渲染的条件为假,那么什么事情都不做,在第一次变为真的时候才开始局部渲染。这就导致当条件为假的时候在条件块里面的子组件不会被渲染,而且时间监听器也不会生效。当条件切换时会有销毁、重建的过程,所以说,v-if才是

2017-06-04 12:12:35 3900

原创 HTML Prop 与 Attr的区别

引言: 昨天在用bootstrap的模态框的时候,因为我需要在不同的列表中打开同一个模态框(内含一个form表单),所以需要根据列表中的内容去渲染不同的模态框,其中form表单中的有一个checkbox复选框,其中的值需要根据对应列表的值去重新渲染,我想到的做法就是通过jquery的attr方法,刚进入模态框的时候先清空checkbox复选框checked属性,然后在通过attr重现设置响应

2017-06-04 11:54:09 2448

原创 计算机网络之网际IP协议

在上一篇文章中提到IP协议,它属于五层协议当中的网路层。它的主要作用有两个。一是负责为分组交换网不同的主机提供通信服务,在发送数据时,网络层是把运输层产生的报文段或者用户数据报分装成报进行传输。二是为源主机寻找合适的路由从而找到目的主机。 一、采用面向连接还是无连接 在讲解之前先来一段IP协议的历史。在计算机网络初期,很多人争论网络层应该采用“面向连接”还是“无连接”。面向连接意味着传输的可靠性

2017-03-19 15:02:35 784

原创 计算机网络之五层协议体系概述

在计算机网络中,最重要的概念概念莫过于网络的体系结构。在1977年之前不同的公司设备都有属于自己的网络体系结构。在这种情况下公司对于自己的设备进行了垄断,而且在不同公司设备之间无法进行网络通信。制定一个通用的网络体系结构迫在眉睫。1977年ISO开始制定了著名的七层网络协议(OSI)。但是后来最广泛使用的还是TCP/IP协议。为了采取一种折中的办法出现了五层协议体系结构。如下图所示: 下面分别

2017-03-18 19:53:39 6974

原创 window下安装Vue.js

遇到各路坑货的安装教程之后我终于成功安装了,接下来分享一下如何在window下安装吧!先说一下大概思路:Vue项目通常通过webpack工具来构建,而webpack命令的执行是依赖node.js的环境的,所以首先要安装node.js。然后nodejs里面自带有npm了,待会可以通过npm安装一些命令行工具。 一、安装nodejs 下载地址:https://nodejs.org/en/downlo

2017-03-16 23:57:16 2598

原创 利用组件开发与composer构建类Laravel框架

(注意这篇文章不适合零基础同学,需要一定得PHP基础) 如今“敏捷开发”“不要重复造轮子”思想已经在软件开发方面盛行了。项目中以框架作为基础进行二次开发已经成为了首选方案。Laravel是一款优秀的PHP框架,在众多框架之中保持着一种领跑的姿态。Laravel比较突出的优点是组件式开发、Ioc容器、分布式运用架构设计。而说到PHP组件开发就不得不提到composer,composer是专门为PHP

2017-03-15 23:31:39 1701

原创 浏览器端数据存储之Cookie、localStorage、sessionStorage

Cookie、localStorage、sessionStorage都是存储在浏览器端会话数据,接下来分别详细介绍三种机制。 一、cookie1、什么是cookiecookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。cookie的作用是保存客户端上用户的信息包括登陆信息、偏好设置或者其他数据。在我一篇HTTP协议的文章中提到过Cook

2017-03-13 20:10:19 2243

原创 XSS(偷你的Cookies)

XSS(Cross Site Scripting),跨站脚本攻击,取名XSS是避免和CSS同名。XSS攻击原理:攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。同时这也因为HTTP采用的明文模式,这样就让黑客有机可乘了(在我另一篇文章介绍过利用fiddle可以捕获HTTP报文)。我发现网上很多关于XSS攻击的文章都没

2017-03-12 22:53:45 10002 1

原创 由一次SQL注入去理解防SQL注入

SQL注入是PHP运用最常见的漏洞之一,很多开发人员都会时刻提防着它,防SQL注入的普遍做法是对数据输入进行过滤,以及对发送到数据库的数据进行转义。其实就是永远不要相信用户输入数据。为了更好的理解SQL注入,笔者今天自己尝试用SQL“攻击”自己了一次。以下是建立攻击的一个过程。1、建立用户表 我用PHPMyAdmin在我test数据库建立了一张user表,表中有三个字段,分别是用户名、密码、

2017-03-12 14:14:57 653

原创 css盒模型和定位

一、CSS盒模型 盒模型在CSS当中是非常重要的,同时也是非常基础的东西。但是有一些开发人员往往会忽略其中的细节问题。 首先什么是盒模型呢?可以打开firebug的布局功能项看到: 这就是一个盒模型。里面有内容的长宽、内边距、边框、外边距。相对应的css属性是:width/height、padding、border、margin。这几个属性从内到外,一级一级

2017-03-11 18:55:29 356

原创 js 创建对象与原型链继承

一、创建对象 object构造函数或者对象字面量都可以用来创单个对象,但是创建多个对象的时候会与大量的重复代码。以下通过分别介绍工厂模式、构造函数模式、原型模式、构造函数模式与原型模式的组合 1、工厂模式 先直接上代码:function createPerson(name,age){ var o = new Object(); o.name =name;

2017-03-11 15:17:03 363

原创 从HTTP协议演进理解HTTP协议

首先什么是HTTP协议? HTTP(HyperText Transfer Protocol)协议从字面意思是超文本传输协议。百度百科对超文本的解释是:超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本。简单来说就是可以链接的文本,该文本不再是简单的只包含文字的文本,还包括图片、声音、视频等。其中HTML就是一种超文本语言。那么就很自然了,可以暂且理解为是为了传输HTML的

2017-03-10 12:33:21 449

原创 js 变量与作用域、内存

一、基本类型与引用过类型说到js的变量就不得不说js变量的的类型,js变量分为两个类型,基本类型和引用类型。基本类型包括Undefind、Null、Boolean、Number、String。引用类型包括Object、Array、Date、RegExp、Function、基本包装类型(Boolean/Number/String可能此处有些疑惑,稍后解释)、单体内置对象基本类型与引用类型的一个很大区

2017-03-09 22:56:23 360

原创 mysql查询优化

**用来加速数据库查询的技术有很多,但是最重要的方式就是为表建立索引。如果说你抛开索引这个方法而去通过其他方式去优化查询速度,那纯粹就是在浪费时间。下面先说说索引带来的优点**: 1、索引是一种已经排好了顺序,也就是索引值是有序的,但是没有索引值的字段值是无序状态的,当你要搜索一个没有建立索引的表时,数据库会全盘扫描表中的每一行数据,直到最后一行。但是当你为该表增加索引之后,数据库会使用各种

2017-03-09 22:29:38 218

原创 关于闭包的问题

什么是闭包? 按照通俗的理解就是函数里面的函数,该函数能访问包含它的函数的变量。按照比较官方的理解:闭包是指有权访问另一个函数作用域的变量的函数。For Example:function funcA() { var a = 1, b = 2; return funcB(); function funcB() { // 注意,a 和 b 在本函数里根本没

2017-03-09 22:12:18 294

空空如也

空空如也

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

TA关注的人

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