- 军军小站|张军博客
搜索到与相关的文章
编程技术

排序 - 堆排序

堆排序的概念:首先,我们先要理解堆的定义,堆定义:n个关键字序列K1,K2,...,Kn称为(Heap),当且仅当该序列满足如下性质(简称:堆性质):(1)k(i)<=k(2i)且k(i)<=k(2i+i)(1<=i<=n/2),当然,这是最小根堆,(2)k(i)>=k(2i)且k(i)>=k(2i+i)(1<=i<=n/2),大根堆则换成>=号。k(i)相当于二叉树的非叶结点,k(2i)则是左孩子,k(2k+1)是右孩子若将此序列所存储的向量R[1...

系统 2019-08-12 09:30:35 2744

Java

Java线程:线程栈模型与线程的变量

Java线程:线程栈模型与线程的变量SCJP5学习笔记要理解线程调度的原理,以及线程执行过程,必须理解线程栈模型。线程栈是指某时刻时内存中线程调度的栈信息,当前调用的方法总是位于栈顶。线程栈的内容是随着程序的运行动态变化的,因此研究线程栈必须选择一个运行的时刻(实际上指代码运行到什么地方)。下面通过一个示例性的代码说明线程(调用)栈的变化过程。这幅图描述在代码执行到两个不同时刻1、2时候,虚拟机线程调用栈示意图。当程序执行到t.start();时候,程序多

系统 2019-08-12 09:30:00 2744

Ubuntu

Ubuntu上搭建Watir-Webdriver与Cucumber环境

本文主要演示如何在Ubuntu上搭建Watir-Webdriver与Cucumber环境,用于自动化测试。1.Ubuntu环境A.安装因为我的工作机是Windows,所以采用虚拟机的方式使用Ubuntu。1.首先安装虚拟机软件,可以使用VMwareworkstation、VirtualBox等虚拟机软件。2.在虚拟机中安装Ubuntu,我使用了Ubuntu13.1032位.注意:Ubuntu32位与64位对于我们的环境搭建没有区别,因为我的虚拟机内存为1G

系统 2019-08-12 09:27:40 2744

Linux

Linux驱动程序入门

http://blog.csdn.net/zilong91/archive/2007/07/26/1708402.aspx序言Linux是Unix操作系统的一种变种,在Linux下编写驱动程序的原理和思想完全类似于其他的Unix系统,但它dos或window环境下的驱动程序有很大的区别。在Linux环境下设计驱动程序,思想简洁,操作方便,功能也很强大,但是支持函数少,只能依赖kernel中的函数,有些常用的操作要自己来编写,而且调试也不方便。本人这几周来为

系统 2019-08-12 01:32:57 2744

各行各业

网络数据包的捕获及分析软件简介(下)

自由转载^_^同时请注明原文出处:http://www.cnblogs.com/wangvsa/archive/2012/07/19/2600013.html上一篇简单介绍了几个捕获数据包的工具,这篇整理一下数据包及日志分析工具。二、数据包及日志分析工具很多数据包捕获工具记录log采用pcap格式,因此也就有很多工具分析pcap文件。下面简单介绍几个。1.capinfos-Printsinformationaboutcapturefiles这个工具比较简洁

系统 2019-08-12 01:32:49 2744

Android

android 详解 SharedPreferences

SharedPreferences存储类效率分析SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长整形、Int整形、String字符串型的保存,它是什么样的处理方式呢?SharedPreferences类似过去Windows系统

系统 2019-08-29 23:28:21 2743

编程技术

Objective-C语法之集合对象的那些事儿(九)

Objective-C语法之集合对象的那些事儿集合对象的关键字是NSSet与NSMutableSet。前者是不可变集合,后者是可变集合,Objective-C语言中大部分数据结构都存在可变与不可变两种数据。这里的集合很像Java语言与C语言中的Set,用法基本一样。但是在Objective-C语言中同一个集合可以储存不同对象的数据。下面分享一个例子就很清楚的看出。1.创建不可变集合对象[NSNumbernumberWithInteger:9527];因为集

系统 2019-08-29 22:56:16 2743

编程技术

简单原则

如果你想最简单地完成一项编程任务,我认为可以从四个方面入手:1.清晰原则。代码要写得尽量清晰,避免晦涩难懂。清晰的代码不容易崩溃,而且容易理解和维护。重视注释。不为了性能的一丁点提升,而大幅增加技术的复杂性,因为复杂的技术会使得日后的阅读和维护更加艰难。2.模块原则。每个程序只做一件事,不要试图在单个程序中完成多个任务。在程序的内部,面向用户的界面(前端)应该与运算机制(后端)分离,因为前端的变化往往快于后端。3.组合原则。不同的程序之间通过接口相连。接口

系统 2019-08-12 09:29:45 2743

SqlServer

SQLSERVER 18056 错误

From:http://blog.csdn.net/yangzhawen/article/details/820916718056客户端无法重新使用SPID为%d的会话,该会话已被重置用于连接池。失败ID为%d。此错误可能是由于先前的操作失败引起的。请查看错误日志,找出在显示此错误消息之前刚发生的失败操作。2011-11-1916:33:53.91spid5495TheclientwasunabletoreuseasessionwithSPID5495,w

系统 2019-08-12 01:33:15 2743

编程技术

三种网络协议握手

当连接建立协议级运输网络似品尝我们的生活中来电:A:你好我是A。你听得到我在说话吗?B:听到了,我是B,我说A啊,你听到我在说话吗?A:嗯,听到了。简要的图演示样例如以下:----------------建立连接,開始聊天!-------------建立连接的第一步:建立连接的第二步:建立连接的第三步:版权声明:本文博客原创文章,博客,未经同意,不得转载。三种网络协议握手

系统 2019-08-12 01:33:00 2743