自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (4)
  • 收藏
  • 关注

原创 从输入URL到页面加载完成的过程中都发生了什么

首先,对于http肯定是有客户端和服务器的,在这个语境中,客户端和服务器本质上也都是一个软件,实现了http协议相关标准的软件。客户端一般由都是由浏览器充当,也就是说,在浏览器中实现了http客户端的相关功能。而服务器的实现就多种多样啦,我们可以用java写servlet,c#写ASP.net,还有php,ruby,Python,nodejs等。实际上我想,http服务在操作系统底层应该有实现,而

2014-11-30 21:39:56 4680

原创 希尔排序---shellsort

#include using namespace std;void shellSort(int a[], int n){ int i, j, gap; for(gap = n/2; gap > 0; gap /= 2)//间隔,逐次递减一半 { for(i = 0; i < gap; i++)//从49到76,逐步递增,也就是分组数。每次循环对一组数完成排序 { for(

2014-11-30 10:58:17 645

原创 (每日算法)LeetCode---Minimum Window Substring (最小子串窗口)

Given a string S and a string T, find the minimum window in S which will contain all the characters in T in complexity O(n).For example,S = "ADOBECODEBANC"T = "ABC"Minimum window is "BAN

2014-11-30 09:51:16 1038

原创 数组、指针数组、数组指针、返回数组指针的函数的关系

直接上代码吧,解释说得很清楚了。// C++Primer.cpp : 定义控制台应用程序的入口点。#include "stdafx.h"#include using namespace std;int (*function(int i))[10];//返回数组指针的函数int main(){ cout<<"数组、指针数组、数组指针、返回数组指针的函数:"<<endl<<endl

2014-11-27 16:40:19 717

原创 Java多线程(2)--线程的中断和中断的控制

如果Java程序不只有一个执行线程,只有当所有线程结束的时候这个程序才能运行结束。更确切的说是所有的非守护线程运行结束的时候,或者其中一个线程调用了System.exet()方法时,程序才运行结束。Java提供了中断机制,我们可以采用它来结束一个线程。我们创建一个线程,使其运行5秒后通过中断机制强制使其终止。程序检查数字是否是质数。package com.concurrency;pub

2014-11-25 15:38:04 743

原创 (每日算法)LeetCode---Search a 2D Matrix(查找元素是否存在)

通过二分查找查找元素是否存在矩阵中。

2014-11-24 22:02:49 571

原创 (每日算法)LeetCode--Set Matrix Zeroes (矩阵置零)

给定一个矩阵,如果有零元素那么就将零元素所在的行和列都置为零。Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.最直观的解法就是开辟一个新的矩阵,当原矩阵存在零元素的时候,就将新矩阵的对应行和列置为零。这样空间复杂度较高,也是题目不允许的。题目的难

2014-11-24 20:09:19 1097

原创 Github中的README.md使用的标记语言---Markdown语言

github上的README.md文件就是使用的Markdown语言编写的。它是一种易读易写的标记语言。    1.来龙去脉和语法特点    Markdown 是一种轻量级标记语言,创始人为约翰·格鲁伯(John Gruber)。它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档”。这种语言吸收了很多在电子邮件中已有的纯文本标记的特

2014-11-22 08:14:02 1501 1

原创 Java多线程(1)--创建和线程信息获取

通过创建实现Runnable接口的类。使用带参数的Thread构造器来创建Thread对象。这个参数就是实现Runnable接口的类的一个对象。创建10个线程,每个线程打印乘以1-10的结果。package com.concurrency;public class Calcalator implements Runnable{ private int number; public

2014-11-21 15:58:11 779

原创 Linux安装中文man手册

1、下载中文包;http://pkgs.fedoraproject.org/repo/pkgs/man-pages-zh-CN/manpages-zh-1.5.1.tar.gz/13275fd039de8788b15151c896150bc4/2、编译安装tar xf manpages-zh-1.5.1.tar.gzcd manpages-zh-1.5.1./configure

2014-11-21 11:20:38 907

原创 Eclipse 安装Vim插件-viPlugin

1.viPlugin是什么?   viPlugin是一个eclipse 针对vi的插件,使用此插件可以让你在使用eclipse进行编码时使用几乎所有vi命令,可     以极大的提高开发编码效率。 2.viPlugin如何安装?   2.1  点击你的eclipse中的 help --> Install New Software... --> Add..  -->

2014-11-19 13:32:18 1220

原创 Vim 常用快捷键及键盘图

Vim常用的快捷键h - 光标左移一个字符   j - 光标下移一个字符 k - 光标上移一个字符   l - 光标右移一个字符  下移15行 - 15jCtrl + f - 屏幕向下移动一页   Ctrl + d - 向下移动半页Ctrl + b - 屏幕向下移动一页   Ctrl + u - 向上移动半页n - 光标右移n个字符0 - 数字0,移动到

2014-11-18 16:01:25 1061

原创 mount命令使用详解(Linux)

linux是一个优秀的开放源码的操作系统,可以运行在大到巨型小到掌上型各类计算机系统上,随着 linux系统的日渐成熟和稳定以及它开放源代码特有的优越性,linux在全世界得到了越来越广泛的应用。现在许多企业的计算机系统都是由UNIX系 统、Linux系统和Windows系统组成的混合系统,不同系统之间经常需要进行数据交换。  挂接命令(mount)  首先,介绍一下挂接(moun

2014-11-14 10:18:54 870

原创 (每日算法)Leetcode--Edit Distance(编辑距离)

简单地说,就是仅通过插入(insert)、删除(delete)和替换(substitute)个操作将一个字符串s1变换到另一个字符串s2的最少步骤数。熟悉算法的同学很容易知道这是个动态规划问题。 其实一个替换操作可以相当于一个delete+一个insert,所以我们将权值定义如下:I  (insert):1D (delete):1S (substitute):1

2014-11-13 20:58:16 2805

原创 (每日算法)Leetcode--Simplify Path (简单路径)

给定一个Unix风格的路径,简化之。使其不改变路径的结果,但是去掉中间无用的字符。因为系统执行的时候也是逐段查看的,因此最直观的做法就是使用栈来简化,当是/..时,出栈;当是/.时,忽视;当时其他时才进栈。Given an absolute path for a file (Unix-style), simplify it.For example,path = "/ho

2014-11-12 21:31:00 907

原创 (每日算法)Leetcode--Simplify Path (简单路径)

给定一个Unix风格的路径,简化之。使其bGiven an absolute path for a file (Unix-style), simplify it.For example,path = "/home/", => "/home"path = "/a/./b/../../c/", => "/c"

2014-11-12 20:33:36 90

原创 (每日算法)leetcode--Text Justification(格式化字符串)

给定一组字符串,按照给定长度(eg.16)格式化显示,使每一行尽可能多的单词,单词之间的空格均衡-最左侧可以稍多左右对齐。最后一行靠左对齐,即最右侧可以没有但系。Given an array of words and a length L, format the text such that each line has exactly L characters and is ful

2014-11-11 21:22:40 982

原创 编译器的工作过程

编译器的工作过程源码要运行,必须先转成二进制的机器码。这是编译器的任务。比如,下面这段源码(假定文件名叫做test.c)。#include stdio.h>int main(void){ fputs("Hello, world!\n", stdout); return 0;}要先用编译器处理一下,才能运行。$ gcc tes

2014-11-11 19:35:10 1413 1

原创 计算机是如何启动的?

从打开电源到开始操作,计算机的启动是一个非常复杂的过程。我一直搞不清楚,这个过程到底是怎么回事,只看见屏幕快速滚动各种提示...... 这几天,我查了一些资料,试图搞懂它。下面就是我整理的笔记。零、boot的含义先问一个问题,"启动"用英语怎么说?回答是boot。可是,boot原来的意思是靴子,"启动"与靴子有什么关系呢? 原来,这里的boot是bootst

2014-11-11 19:17:41 817

原创 进程与线程的理解和直观比喻

进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。1.计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。2.假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工。

2014-11-11 19:09:54 948

原创 在windows7系统上安装Linux-CentOS双系统步骤详解

需要的软件:1)EasyBCD-用来添加和修改启动项2)分区助手3)WinGrub-查看分区卷工具4)Ext2Fsd-在安装镜像大于4G的时候使用第一步:将以上软件安装,在我的电脑-管理-磁盘管理中将想要安装centos的分区--删除卷。打开软件助手,其中就能看到之前创建的未分配空间,右键--创建分区,10G,只是用来存放安装文件----提交即可第二步:将下载的Cent

2014-11-09 10:54:35 820

原创 C++ static 、extern以及全局变量之间的相关逻辑

全局变量,就是指那些定义在函数之外的变量,当然也是定义在类之外的变量。(1)全局变量会被自动初始化,函数中的变量不会被自动初始化,类中定义的那些成员变量(内建)也不会自动初始化。那么这里有一个疑问,为什么要这样设置?并且为什么,在进程内存区中,分为初始化了的全局变量、静态变量,和未初始化的全局、静态变量。(2)全局变量如果加上static关键字,事情将会变得很奇妙。

2014-11-06 19:44:34 801

原创 Python实现网络爬虫

一、网络爬虫的定义网络爬虫,即Web Spider,是一个很形象的名字。把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛是通过网页的链接地址来寻找网页的。从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如

2014-11-04 23:30:34 2421 1

原创 Redis 数据结构解析和命令指南

命令参考文档:redis commands—你也许已经知道Redis并不是简单的key-value存储,实际上他是一个数据结构服务器,支持不同类型的值。也就是说,你不必仅仅把字符串当作键所指向的值。下列这些数据类型都可作为值类型。二进制安全的 字符串 string二进制安全的 字符串列表 list of string二进制安全的 字符串集合 set of strin

2014-11-03 15:51:54 1055

转载 面试知识点总结

基础篇:操作系统、计算机网络、设计模式一:操作系统1. 进程的有哪几种状态,状态转换图,及导致转换的事件。2. 进程与线程的区别。3. 进程通信的几种方式。4. 线程同步几种方式。(一定要会写生产者、消费者问题,完全消化理解)5. 线程的实现方式. (也就是用户线程与内核线程的区别)6. 用户态和核心态的区别。7. 用户栈和内核栈的区

2014-11-01 12:05:54 524

翻译 推荐书籍

操作系统:现代操作系统UNIX环境高级编程鸟哥的LINUX私房菜(基础学习篇)LINUX多线程服务端编程  LINUX高性能服务器篇深度探索Linux操作系统:系统构建和原理解析网络:TCP/IP协议(卷一)UNIX网络编程(卷一、卷二)计算机系统:深入理解计算机系统算法和数据结构:编程之美剑指Offer编程珠玑算法导论leetc

2014-11-01 11:51:50 509

SSH框架整合实例

完整的ssh框架整合实例,真的是完整的,不要积分

2014-08-28

阿里巴巴2014名企实习

包括笔试面试的经验分享,有笔试题目和面试题目的分享,看一下收获很大的

2014-05-29

排列生成算法

对排列生成算法的很好的总结,很详细,有着丰富的例子,理解起来不是问题

2013-11-23

数据库 分析了解图书信息管理的创建过程

库表的建立,这是很容易实现的,希望对大家会有作用,谢谢

2011-06-03

空空如也

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

TA关注的人

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