自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Bash百宝箱】与Linux关机、重启相关的几个命令

1、 syncsync:flush file system buffers。sync命令作用:刷新文件系统的缓存,将数据同步写入硬盘。执行sync命令的必要性:在计算机中,CPU所处理的数据首先要被读入内存中,而这些数据又经常要写回到硬盘上,但是硬盘的速度相对于内存来说太慢,如果数据频繁在内存与硬盘间交换,系统性能将大打折扣,所以为了加快数据的读取速度,默认情况下,某些已经加载在内存中的数据将不会直

2015-07-29 11:04:38 1668 1

原创 【JS】JavaScript服务器端初探

1、RhinoRhino是Mozilla开发的免费软件,是一种用Java编写的JavaScript解释器,其设计目标是借助于强大的Java平台API实现轻松编写JavaScript程序。Rhino能自动完成JavaScript原生类型之间的相互转换,因此JavaScript脚本可以设置、查询Java属性,并调用Java方法。Rhino常用于创建脚本服务器,也能使用Java的Swing框架创建GUI。

2015-07-25 22:35:29 1883

原创 【JS】JavaScript的子集和超集

1、JavaScript子集JavaScript子集的定义大部分都是出于安全考虑,只有使用这门语言的一个安全的子集编写脚本,才能让代码执行得更安全、更稳定,比如如何更安全地执行一段由不可信第三方提供的广告代码。JavaScript子集通常会移除JavaScript的一些特性,如ADsafe、dojox.secure、Caja、FBJS以及微软的Web Sandbox等,这些都实现了安全子集。2、常量

2015-07-25 22:13:20 3894

原创 【JS】JavaScript正则表达式

正则表达式 是一个描述字符模式的对象,JavaScript的RegExp类表示正则表达式,String和RegExp都定义了方法,后者使用正则表达式进行强大的模式匹配和文本检索与替换功能。JavaScript中的正则表达式用RegExp对象表示,可以使用RegExp()构造函数来创建RegExp对象,不过RegExp对象更多的是通过一种特殊的直接量语法来创建,正则表达式直接量定义为包含在一对斜线之间

2015-07-25 20:51:31 1054

原创 【JS】JavaScript的类及面向对象编程

在JavaScript中,类的实现是基于其原型继承机制的,如果两个实例都从同一个原型对象上继承了属性,我们说它们是同一个类的实例。如果熟悉C++、Java这种强类型面向对象编程语言,比如类的封装、继承、多态特性,你会发现JavaScript中的类与它们有很大不同,一个重要的特性就是动态可继承性,往往弱化对象的类型,强化对象的功能。定义类是模块开发和代码重用的的有效方式之一,下面对JavaScript

2015-07-25 15:07:27 1146

原创 【Java】Java正则表达式规则

在程序设计过程中,经常需要对输入的数据格式进行检查,这时就会用到正则表达式,匹配正则表达式则数据格式正确,否则格式错误。为了检查输入的数据是否满足某种格式,可以使用String类的matches()方法进行判断,语法格式如下:boolean matches(String regex)regex:指定的正则表达式。 返回值:返回boolean类型。 该方法用于告知当前字符串是否匹配参数regex指

2015-07-23 09:21:47 2450

原创 【Java】Java字符串简单用法

Java字符串类型为String类,下面介绍如何操作字符串。1、字符串连接字符串连接使用“+”符号,如下例子: String s = new String("Hello"); String s2 = new String("World"); System.out.println(s + " " + s2); // Hello World2、获取字符串长度

2015-07-22 17:05:25 1199

原创 【Java】Java数组简单用法

数组是具有相同数据类型的一组数据的集合,Java支持多为数组,一维数组的每个基本单元都是基本数据类型的数据,二维数组就是每个基本单元是一维数组的一维数组,以此类推,n维数组的每个基本单元都是n-1为数组的n-1维数组。下面以一维数组为例说明Java数组的用法。1、数组声明数组声明有如下两种形式(方括号的位置不同):int arr[];int[] arr2;2、数组初始化数组初始化也有两种形式,如下

2015-07-22 09:00:25 1553

原创 【JS】JavaScript函数

在JavaScript里,函数即对象,程序可以随意操控它们。比如,JavaScript可以把函数赋值给变量,或者作为参数传递给其它函数。因为函数就是对象,所以可以给它们设置属性,甚至调用它们的方法。JavaScript的函数可以嵌套在其它函数中定义,这样它们就可以访问它们被定义时所处的作用域中的任何变量。这意味着JavaScript函数构成了一个闭包,它给JavaScript带来了非常强劲的编程能力

2015-07-18 15:04:50 1442

原创 【JS】JavaScript数组

JavaScript 数组是值的有序集合,所谓有序即数组的下标或索引从零开始递增,但也可能是稀疏的,数组长度可通过 length 属性获得。数组中元素的类型是任意的,创建数组时无需声明数组长度,它是动态的,会根据需要自动增长或缩减。数组继承自Array.prototype,它定义了一套丰富的数组操作方法,这个在后面会介绍到。1、创建数组使用数组直接量:var empty = [];var prim

2015-07-16 22:49:09 990

原创 【Bash百宝箱】shell命令行快捷键大全

在日常工作中,许多事情要经常与电脑打交道,特别是高频率地使用一些专业性的软件,或者是玩一些键盘流性质的游戏,就应该熟知常用的快捷键,这样玩起来不仅高效,而且略显专业性。对于某些IT工作者来说,Linux的shell终端是一个经常要用到的工具,如果能够熟练使用快捷键,做起事情来且不事半功倍。下面列举一些shell终端常用的快捷键,它们一般是Shift、Ctrl、Alt键与其它按键的组合键,这些快捷键都

2015-07-14 20:35:18 5390

原创 【JS】JavaScript对象

对象是JavaScript的基本数据类型,对象是一种复合值,它将很多原始值或者其它对象聚合在一起,可通过名字访问这些值。对象也可看做是属性的无序集合,每个属性都是一个名值对。属性名是字符串,因此我们可以把对象看成是从字符串值到值的映射。JavaScript对象除了可以保持自己的属性,还可以从一个称为原型的对象继承属性,对象的方法通常是继承的属性,这种原型式继承,是JavaScript的核心特征。除了

2015-07-12 16:22:41 928

原创 【Linux】socket

socket套接字是一种网络IPC,既可以在计算机内通信,也可以在计算机间通信。socket接口可以采用许多不同的网络协议,如常见的TCP/IP协议。1、socket描述符类似于文件描述符,访问socket也有对应的socket描述符。要创建一个套接字,调用socket函数:#include <sys/socket.h> int socket(int domain, int type, int pr

2015-07-10 13:30:25 1555

原创 【Linux】进程间通信之消息队列、信号量和共享存储

消息队列、信号量、共享存储是IPC进程间通信的三种形式,它们功能不同,但有一些相似点,下面先介绍它们相类似的特征,然后再逐一说明。1、相似点每个内核中的IPC结构(消息队列、信号量、共享存储)都用一个非负整数的标识符加以引用,与文件描述符不同,当一个IPC结构被创建,以后又被删除时,与这种结构相关的标识符连续加1,直至达到一个整型数的最大正直,然后又回转到0。标识符是IPC对象的内部名,还有一个外部

2015-07-07 19:24:16 2018

原创 【Linux】进程间通信之管道pipe与FIFO

管道pipe是UNIX系统IPC进程间通信的最古老形式,并且所有UNIX系统都提供此种通信机制。管道有下面两种局限性: 1、历史上,管道是半双工管道,数据只能在一个方向上流动,某些系统则提供了全双工管道。 2、管道只能在具有公共祖先的进程之间使用。半双工管道虽然有自身的局限性,但仍是最常用的IPC形式。每当你在管道线中键入一个由shell执行的命令序列时,shell为每一条命令单独创建一进程,然

2015-07-06 10:53:49 1761

原创 【JS】JavaScript语句

JavaScript语句各式各样,一个JavaScript程序无非是一个以分号分隔的语句集合,所以一旦掌握了JavaScript语句,就可以开始编写JavaScript程序了。1、表达式语句 表达式语句是JavaScript中最简单的语句,如赋值语句、自增自减运算符、delete运算符、函数调用等。2、空语句 空语句什么都不做,用一个单独的分号表示。3、复合语句 用花括号将多条语句括起来便是一

2015-07-04 11:52:39 1178

原创 【Java】用Java实现九宫格

九宫格:共有三行三列九个格子,从1到9共九个数字不重复地填入这九个格子中,条件是每行、每列、两个对角线上三个数字的和相等。下面用Java实现九宫格:public class NineTable { public static void main(String[] args) { int arr[][] = new int[3][3]; int a = 2;

2015-07-03 12:14:19 16974 3

原创 【Linux】IO多路转接

IO多路转接的技术可以避免阻塞IO的弊端,因为我们有时候需要在多个描述符上读read、写write,如果使用阻塞IO,就有可能长时间阻塞在某个描述符上而影响其它描述符的使用。关于阻塞IO的处理办法,可以考虑一下几个方案:1、多进程。弊端是多个进程终止时的通信,增加了程序的复杂度。2、多线程。弊端是多个线程之间的同步,同样也增加了程序的复杂度。3、轮询polling。使用非阻塞IO读取数据,弊端是浪费

2015-07-03 10:25:40 2066

原创 【Linux】readv与writev

readv 和 writev 函数用于在一次函数调用中读、写多个非连续缓冲区。有时也将这两个函数称为散布读和聚集写。#include <sys/uio.h>ssize_t readv(int fd, const struct iovec *iov, int iovcnt);ssize_t writev(int fd, const struct iovec *iov, int iovcnt);这两个函

2015-07-02 20:21:48 7279 2

原创 【Linux】存储映射IO-mmap

mmap,munmap——#include <sys/mman.h>void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);int munmap(void *addr, size_t length);int mprotect(void *addr, siz

2015-07-02 19:43:24 1592

原创 【Linux】记录锁

记录锁的功能是:当一个进程正在读或修改文件的某个部分时,它可以阻止其它进程修改同一文件区。fcntl函数可以实现这一功能。#include <fcntl.h>int fcntl(int fd, int cmd, ... /* arg */ );对于记录锁,cmd是F_GETLK、F_SETLK或F_SETLKW,第三个参数是一个指向flock结构的指针:struct flock {

2015-07-02 16:40:55 1261

原创 【Linux】守护进程

守护进程daemon,是生存期较长的一种进程。它们常常在系统自举时启动,仅在系统关闭时才终止。因为它们没有控制终端,所以说它们是在后台运行的。UNIX系统有很多守护进程,它们执行日常事务活动。1、系统自举自举(bootstrapping)一词来自于人都是靠自身的“自举”机构站立起来的这一思想。计算机必须具备自举能力将自己所有的元件激活,以便能完成加载操作系统这一目的,然后再由操作系统承担起那些单靠自

2015-07-02 15:08:42 1222

原创 【Linux】多线程

一个程序至少有一个进程,一个进程至少有一个线程,进程拥有自己独立的存储空间,而线程可以看作是轻量级的进程,共享进程内的所有资源。可以把进程看作一个工厂,线程看作工厂内的各个车间,每个车间共享整个工厂内的所有资源。就像每个进程有一个进程ID一样,每个线程也有一个线程ID,进程ID在整个系统中是唯一的,但线程ID不同,线程ID只在它所属的进程环境中有效。线程ID的数据类型为pthread_t,通常是无符

2015-07-02 13:12:38 1245

原创 【JS】JavaScript表达式

JavaScript表达式中最简单的一类表达式就是常量,变量名也是一种简单的表达式,将简单的表达式组合成复杂表达式最常用的方法就是使用运算符。JavaScript表达式的类型多种多样,下面逐个说明。1、原始表达式原始表达式是表达式的最小单位,包含常量或直接量、关键字和变量。2、对象和数组的初始化表达式对象和数组的初始化表达式实际上是一个新创建的对象和数组。数组初始化表达式是通过一对方括号和其内由逗号

2015-07-01 22:42:44 1236

原创 【Linux】进程相关知识总结

一、UNIX进程环境在学习UNIX进程工作原理时,我们应该先了解一下UNIX进程的基本环境是怎么样的,首先从main函数开始。1、main函数int main(int argc, char *argv[]);相信main函数是我们非常熟悉的一个函数,它是C程序执行的入口函数。其中,argc是命令行参数的数目,agrv是指向参数的各个指针所构成的数组,而ISO/C和POSIX.1都要求argv[arg

2015-06-30 12:32:34 1394

原创 【Linux】系统数据文件和信息

UNIX系统的正常运行需要使用大量与系统有关的数据文件,例如口令文件/etc/passwd、组文件/etc/group、网路服务/etc/services、协议信息/etc/protocols、网络信息/etc/networks、主机数据/etc/hosts等。下面主要说明一下口令文件。口令文件——UNIX系统的口令文件在Linux上可能有下面一行:root:x:0:0:root:/root:/bi

2015-06-23 13:29:40 1131

原创 【Linux】标准IO库

Linux系统的文件IO都是针对文件描述符的,而标准IO(ISO C)的操作则是围绕流进行的,一个最明显的区别是标准IO比Linux文件IO多了缓冲机制。为了使用流,需要用到文件指针即指向FILE结构的指针,在“libio.h”头文件中有FILE结构的详细说明。“stdio.h”头文件中定义了三个标准流,stdin、stdout和stderr,分别是标准输入、标准输出和标准出错。流可以分为非格式化I

2015-06-19 17:15:46 1634

原创 【Linux】文件和目录

文件结构stat——下面三个函数可以获取文件的状态信息:#include <sys/stat.h>int stat(const char *path, struct stat *buf);int fstat(int fd, struct stat *buf);int lstat(const char *path, struct stat *buf);stat函数指定文件路径,fstat指定文件

2015-06-19 10:33:51 1036

原创 【Linux】文件IO

Unix系统中的大多数文件IO只需用到5个函数:open、read、write、lseek以及close。这些函数是不带缓冲的IO,不带缓冲指的是每个read和write都调用内核中的一个系统调用,它们不是ISO/C的组成部分,而是POSIX和SUS的东西。文件描述符——对于内核而言,所有打开的文件都通过文件描述符引用。文件描述符是一个非负整数,按照惯例,文件描述符0、1、2分别表示的是标准输入、标

2015-06-18 12:30:32 1153

原创 【JS】JavaScript数据类型

JavaScript的数据类型分为两类:原始类型和对象类型。原始类型包括数字、字符串和布尔值,其中有两个特殊的原始值null和undefined,但它们不是数字、字符串和布尔值。除了原始类型之外,剩下的便是对象,对象是属性的集合,每个属性都由“名/值对”构成,普通的对象是个无序集合,但数组对象是个有序集合,函数也是对象,调用函数可运行可执行代码,另外还有几个有用的类对象,它们是日期、正则和错误。Ja

2015-06-18 00:03:56 1054

原创 【Bash百宝箱】几个常用的gdb命令

show——show language:查看当前程序的语言环境。show convenience:查看当前所设置的所有环境变量,不同与environment。show paths:查看程序的运行路径。set——set language :手动设置当前程序的语言环境。set var =:通过var指定variable为程序的变量而非GDB的变量,以免产生冲突。se

2015-06-17 18:23:39 973

原创 【JS】JavaScript词法结构

编程语言的词法结构是一套基础性规则,用来描述如何使用这门语言来编写程序,作为语法的基础,JavaScript基本词法结构如下:1、JavaScript程序是用Unicode字符集编写的,Unicode是ASCII和Latin-1的超集,并支持地球上几乎所有的语言。2、JavaScript是区分大小写的语言,而HTML并不区分大小写。3、JavaScript会忽略程序中标识之间的空格,多数情况下,Ja

2015-06-14 23:23:46 1270

原创 【Python】python扩展

当python的基本功能无法满足要求,或者是为了保密源代码(.py)、遇到性能瓶颈时,我们常常要扩展python,扩展语言可以是C/C++、Java、C#等。为python创建扩展需要三个主要的步骤:创建应用程序代码;利用样板来包装代码;编译与测试。1、 创建应用程序代码 我们创建一个C代码PythonEx.c,实现两个函数fac()和reverse(),分别用来求阶乘和逆转字符串,test()函

2015-06-11 10:51:27 1414

原创 【Python】python数据库编程

在任何的应用程序中,都需要持久存储。一般说来,有三种基本的存储机制:文件、关系型数据库或其它的一些变种,例如现有系统的API、ORM、文件管理器、电子表格、配置文件等等。通过python访问数据库,可以直接使用数据库接口来访问,也可以通过ORM(不需要自己书写SQL)来访问。从python中访问数据库需要接口程序,接口程序是一个python模块,它提供数据库客户端库(通常是C语言写成的)的接口以便访

2015-06-10 16:37:09 1886

原创 【Python】python的web编程

python的web相关模块,有两种不同的类型,urlparse和urllib,分别以不同的功能和兼容性来处理URL,前者主要包括urlparse()、urlunparse()和urljoin(),后者可以使用urlopen()或urlretrive()创建web客户端。urllib2模块是一个比urllib功能更加高级的模块。web开发,无疑要用到统一资源定位器URL,URL格式如下:prot_s

2015-06-10 12:30:40 1793

原创 【Python】python-GUI的几个模块

python的默认GUI工具集是Tk,可以通过python接口Tkinter来使用Tk,Tk并非最强最新,也不是包含GUI构建模块最多的工具集,但它非常简单,并且可以开发出能运行于大多数平台的GUI程序。Tkinter是python的默认GUI库,它基于Tk工具集,Tk最初是为工具命令语言Tcl设计的,Tk流行后被移植到许多其它的脚本语言中,包括python。使用Tk时要创建一个顶层窗口,然后是一些

2015-06-09 14:17:13 5092 1

原创 【Python】python多线程编程

说起多线程,必然想到了进程、锁等东西,python跟线程有关的模块有thread模块、threading模块、Queue模块、mutex模块、SocketServer模块。thread模块提供了基本的线程和锁的支持,但不建议使用,因为当主线程退出的时候,所有其它线程没有被清除就退出了,而threading模块提供了功能更强的线程管理能力,能确保所有重要的子线程都退出后,进程才结束。Queue模块允许

2015-06-09 10:13:11 1321

原创 【Python】python网络协议

套接字是常见的低级别的网络通讯协议,在此基础上,还有许多其它的网络通讯协议,用于实现客户端-服务器的网络互联,下面对这些协议做一个简单的介绍。1、文件传输 FTP:文件传输协议。可以上传或下载文件,采用了Unix多用户的概念,用户一定要输入有效的用户名和密码才能使用,不过也支持匿名登录。在底层实现上,FTP只使用TCP而不使用UDP,主动模式下使用两个套接字,分别是控制命令端口和数据端口,被动模式

2015-06-08 15:00:21 3255 1

原创 【Python】python网络编程

在开始python网络编程之前,首先要了解一下套接字,套接字是一种计算机网络数据结构。套接字有两种,分别是基于文件型的和基于网络型的,前者如AF_UNIX,后者如AF_INET、AF_NETLINK。套接字端口就像电话号码一样,是通讯身份的唯一标识,合法的端口号范围为0到65535,其中,小于1024的端口号为系统保留端口,如果是Unix操作系统,保留的端口号使用可以通过/etc/services文

2015-06-08 12:28:16 1417

原创 【Python】python正则

正则表达式RE为高级文本搜索模式匹配、搜索-替代等功能提供了基础,它是一种由字符和特殊符号组成的字符串,描述了这些字符的某种重复方式,因此能按某种模式匹配一个有相似特征的字符串或字符串的集合。python正则表达式的相关模块为re模块。常用正则表达式符号和特殊字符——literal:匹配字符串的值,即literal本身 re1|re2:匹配正则表达式re1或re2,可以理解为逻辑或 .:匹配任何

2015-06-05 16:16:41 1637

空空如也

空空如也

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

TA关注的人

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