Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

选择排序、插入排序和希尔排序

选择排序、插入排序和希尔排序

一些说明我将会写一系列关于算法的博客,因为我是程序员,并不是计算机科学家,也即我是搞工程的,并不是搞学术的,所以对于我来说,最重要的就是1.有哪些算法2.这些算法的原理3.这些算法的实现4.这些算法的效率而其他的,相对而言,并没有那么重要,比如算法的证明,所以以后的博客都会按照上述的思维撰写。一、首先定义一个抽象类,里面集成了排序算法所需要的共同的方法:public abstract class SortBase { public abstract In...
Angular 1 和 Angular 2 集成:无缝升级的方法

Angular 1 和 Angular 2 集成:无缝升级的方法

已经有了 Angular 1 应用程序,正在想着怎么把它升级到 Angular 2?看看我们是怎么样支持递增升级的。摘要好消息。我们计划在同一应用程序上允许 Angular 1 和 Angular 2 混合使用你可以在同一个视图中混用 Angular 1 和 Angular 2 组件Angular 1 和 Angular 2可以跨框架注入服务数据绑定可以跨框架运行为什么要升级?Angular 2 相对于 Angular 1 有很多优势,其中包括:性能有了极...
使用Swift去掉字符串中的空格

使用Swift去掉字符串中的空格

笔试面试时经常会出这样的问题:从某个字符串中删除多余的空格,因为英文是使用空格进行分词的,而URL中通常会包括非常多的特殊字符,所以这是一种很常用的做法。和OC中一样,在swift中也可以使用NSCharacterSet类来实现。对于字符串删空格操作,通常有两种情况:1.删掉字符串首位的空格:var str = "Hello, playground"let whitespace = NSCharacterSet.whitespaceAndNewlineCh...
你知道 Linux 内核是如何构建的吗?

你知道 Linux 内核是如何构建的吗?

介绍我不会告诉你怎么在自己的电脑上去构建、安装一个定制化的 Linux 内核,这样的资料太多了,它们会对你有帮助。本文会告诉你当你在内核源码路径里敲下make 时会发生什么。当我刚刚开始学习内核代码时,Makefile 是我打开的第一个文件,这个文件看起来真令人害怕 :)。那时候这个 Makefile 还只包含了1591 行代码,当我开始写本文时,内核已经是4.2.0的第三个候选版本 了。这个 makefile 是 Linux 内核代码的根 makefil...
Shell数组:Shell数组的定义、数组长度

Shell数组:Shell数组的定义、数组长度

Shell在编程方面比Windows批处理强大很多,无论是在循环、运算。bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。 定义数组在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为:array_name=(value1 ... valuen)例如:array_name...
Shell for循环

Shell for循环

与其他编程语言类似,Shell支持for循环。 for循环一般格式为: for 变量 in 列表 do command1 command2 ... commandN done 列表是一组值(数字、字符串等)组成的序列,每个值通过空格分隔。每循环一次,就将列表中的下一个值赋给变量。 in 列表是可选的,如果不用它,for 循环使用命令行的位置参数。 例如,顺序输出当前列表中的数字:for loop in 1 2 3 4 5do echo "...
Shell脚本语言与编译型语言的差异

Shell脚本语言与编译型语言的差异

大体上,可以将程序设计语言可以分为两类:编译型语言和解释型语言。 编译型语言很多传统的程序设计语言,例如Fortran、Ada、Pascal、C、C++和Java,都是编译型语言。这类语言需要预先将我们写好的源代码(source code)转换成目标代码(object code),这个过程被称作“编译”。运行程序时,直接读取目标代码(object code)。由于编译后的目标代码(object code)非常接近计算机底层,因此执行...
基于Spring声明式事务的分布式事务管理

基于Spring声明式事务的分布式事务管理

开发传统应用遇到的最大问题就是多数据源的事务一致性问题, 下面介绍一种常用的分布式事务处理方式的使用开发环境:Eclipse+Java1.7 + Tomcat7, 另外使用到的开源框架 Spring3.X提到分布式事务大家首先想到的肯定是jta,我们用到的就是基于jta的一种实现atomikos,下面就介绍一下他的使用1、依赖的jarMaven依赖代码 <!--atomikos 分布式事务依赖 --> <depe...
Spring+SpringMVC企业快速开发架构搭建

Spring+SpringMVC企业快速开发架构搭建

从2014年12月开始,一直在研究Spring的框架;并且在我们新的开发框架中得到应用;这篇文章记录了这段时间的成长记录,仅此先给共同成长的小白。为了简单,我们选择使用maven来构建项目,通过maven可以控制引入jar的版本,大大简化了jar包的管理工作,废话不多说,创建一个项目一、创建一个新项目1、创建maven项目2、选择 maven-archetype-webapp3、填写groupId、artifactId、package项目目录:二、项目创建...
WebSocket使用示例

WebSocket使用示例

HTML5给大家提供了一个很高大上的功能:WebSocket socket通信是在服务端与客户端之间进行的,所谓的WebSocket其实就是通过Html 与 后台服务器之间进行的消息传递;下面我们来介绍一下如何实现一个简单的WebSocket实例。注意:JDK必须是1.7以上版本,tomcat必须是7以上版本;spring对Websocket的支持也是只有Spring4之后才有1、编写客户端程序Html代码<div class="row-fluid"...
Java识别简单的验证码

Java识别简单的验证码

1.老规矩,先上图要破解类似这样的验证码:拆分后结果:然后去匹配,得到结果。2.拆分图片拿到图片后,首先把图片中我们需要的部分截取出来。具体的做法是,创建一个的和图片像素相同的一个代表权重的二维数组,遍历图片的每个像素点,如果接近白色,就标记为1,否则标记为0;然后遍历这个二维数据,如果一个竖排都1,说明是空白列,直到第一次遇到不全为1一列,记住列的下标作为起始值,再次遇到全为1的,记住下标作为结束值,然后从起始列到结束列截取图片,依次类推。1 //分...
Linux下运行C++程序出现“段错误(核心已转储)”的原因

Linux下运行C++程序出现“段错误(核心已转储)”的原因

今天Linux下写程序出现了“段错误(核心已转储)"的问题,查了一下资料,加上自己的实践,总结了以下几个方面的原因。1.内存访问出错这类问题的典型代表就是数组越界。2.非法内存访问出现这类问题主要是程序试图访问内核段内存而产生的错误。3.栈溢出Linux默认给一个进程分配的栈空间大小为8M。c++申请变量时,new操作申请的变量在堆中,其他变量一般在存储在栈中。因此如果你数组开的过大变会出现这种问题。首先我们先看一下系统默认分配的资源:ulim...
C++11中的智能指针

C++11中的智能指针

在C++11中,引入了智能指针。主要有:unique_ptr, shared_ptr, weak_ptr。这3种指针组件就是采用了boost里的智能指针方案。很多有用过boost智能指针的朋友,很容易地就能发现它们之间的关间:stdboost功能说明unique_ptrscoped_ptr独占指针对象,并保证指针所指对象生命周期与其一致shared_ptrshared_ptr可共享指针对象,可以赋值给shared_ptr或weak_ptr。指针所指对象在所...
PHP 性能分析与实验:性能的宏观分析

PHP 性能分析与实验:性能的宏观分析

【编者按】此前,阅读过了很多关于 PHP 性能分析的文章,不过写的都是一条一条的规则,而且,这些规则并没有上下文,也没有明确的实验来体现出这些规则的优势,同时讨论的也侧重于一些语法要点。本文就改变PHP 性能分析的角度,并通过实例来分析出 PHP 的性能方面需要注意和改进的点。对 PHP 性能的分析,我们从两个层面着手,把这篇文章也分成了两个部分,一个是宏观层面,所谓宏观层面,就是 PHP 语言本身和环境层面,一个是应用层面,就是语法和使用规则的层面,不过...
<< 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 >>