自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 实习感想(一)

在刚到公司实习的时候,组长就给我布置了任务,完成一个转化分析的功能,首先看到这个功能,毕竟刚接触一门新的语言,看不懂代码的语法,要一个一个去查,也不懂项目的逻辑,后来慢慢看代码,消化代码,还有组长给我讲解业务的逻辑,使我慢慢懂了一些,然后开始写代码,再写的过程中,首先得通过调用接口来获取数据。    根据别人给的接口格式,定义变量并调用http协议的方法请求,并把定义的url等变量写在专门写配置信

2016-07-30 17:42:09 566

原创 算法:数值的整数次方

算法:数值的整数次方

2016-05-11 15:02:13 459

原创 迪杰斯特拉算法解析

迪杰斯特拉算法的解析

2016-05-08 16:48:07 845

转载 操作系统上下文切换

http://blog.csdn.net/xifeijian/article/details/8209783进程切换进行进程切换就是从正在运行的进程中收回处理器,然后再使待运行进程来占用处理器。 这里所说的从某个进程收回处理器,实质上就是把进程存放在处理器 的寄存器中的中间数据找个地方存起来,从而把处理器的寄存器腾出来让其他进程使用。那么被中止运行进程的中间数据存在何处好呢

2016-05-07 17:36:48 5053

原创 解析库函数调用与系统调用的区别

解析库函数调用与系统调用的区别

2016-05-07 16:41:22 969

转载 系统调用的实现原理

转载出处: http://blog.csdn.net/chosen0ne/article/details/7721550系统调用概述        计算机系统的各种硬件资源是有限的,在现代多任务操作系统上同时运行的多个进程都需要访问这些资源,为了更好的管理这些资源进程是不允许直接操作的,所有对这些资源的访问都必须有操作系统控制。也就是说操作系统是使用这些资源的唯一入口,而这个入口就

2016-05-07 15:31:43 503

原创 二进制中1的个数的多种解法解析以及完整c语言代码

二进制中1的个数的多种解法解析以及完整c语言代码

2016-05-07 12:44:30 735

原创 斐波那契数列的非递归c语言实现以及斐波那契数列的应用

斐波那契数列的非递归c语言实现以及斐波那契数列的应用即青蛙跳台阶问题的解析

2016-05-06 21:46:27 14399

原创 求旋转数组的最小数字算法的解析以及完整c语言代码实现

题目:输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素,例如{1,2,3,4,5}数组的一个旋转数组{3,4,5,1,2},其最小的元素为1,  解析加完整可以与运行代码

2016-05-06 19:57:10 924

原创 快速排序的c语言实现代码

快速排序的基本思想就是选择一个基准元素,通常选择第一个元素或者最后一个元素,通过一趟扫描,将待排序列分成两部分,一部分比基准元素小,一部分大于等于基准元素,此时基准元素在其排好序后的正确位置,然后再用同样的方法递归地排序划分的两部分。具体代码如下://快速排序实现#includeint partion(int data[],int low,int high){ int t

2016-05-04 23:12:25 7284

原创 希尔排序的c语言实现代码

算法先将要排序的一组数按某个增量d(n/2,n为要排序数的个数)分成若干组,每组中记录的下标相差d.对每组中全部元素进行直接插入排序,然后再用一个较小的增量(d/2)对它进行分组,在每组中再进行直接插入排序。当增量减到1时,进行直接插入排序后,排序完成。     具体代码如下:   //希尔排序#includevoid shellsort(int a[],int n){ int

2016-05-04 19:38:43 2036

原创 堆排序的c语言实现

说到堆排序,其实就是首先建立一个大顶堆或者小顶堆,然后把他的最顶上的元素输出,然后让最顶上的元素与最后的元素进行交换并删除最后一个元素,依次输出则得到排好序的元素。具体代码实现如下(已通过编译并成功运行):  #includevoid swap(int a[],int x,int y){ int temp=0; temp=a[x]; a[x]=a[y]; a[

2016-05-04 15:35:43 670

原创 直接插入排序的c语言实现

直接插入排序即是在要排序的数组中,假设前n-1(n>=2)个数已经是排好序的,现在要把第n个数插入到前n个已经排好序的数组中,使得这n个数也变成有序的,如此反复循环,使得要排序的数组中的最后一个元素也排好序,        我们可以先假设第一个数是排好序的,然后第二个数和第一个数进行比较,如果第二个数比第一个数大,那么说明前两个数排好序,无需做调整,如果第二个数比第一个数小,那么就把第一个数向

2016-05-03 21:01:23 11819 2

原创 用两个栈实现队列的操作

只要了解栈和队列的特性,这道题应该就不会有难度,插入元素的时候,都插入到第一个栈,然后删除的时候,可以把第一个栈中的元素全部弹出并压入第二个栈,这样的话第二个栈中的元素与第一个栈的元素顺序相反,先进的元素处于栈顶,可以直接进行删除,这样的话,删除一个元素的步骤是:当第二个栈不为空时,处于栈顶的元素总是最先进入队列的元素,可以弹出,如果第二个栈为空时,把第一个栈中的元素逐个弹出并压入第一个栈即可。如

2016-04-26 20:49:47 416

原创 根据二叉树的前序遍历和中序遍历构建二叉树的c语言完整代码

//重建二叉树:输入某二叉树的前序和中序遍历,重建出该二叉树#include#includetypedef struct binarytreenode{ int value; struct binarytreenode *left; struct binarytreenode *right;}binary;binary* constructcore(int *st

2016-04-26 17:22:10 5703

原创 从尾到头打印链表中每个节点的值(采用栈实现)

用栈实现从尾到头输出链表中的结点的完整c语言代码

2016-04-25 15:49:43 526

原创 查找链表中倒数第k个结点

例如有一个链表一共有6个结点,从头开始他们的值依次是1、2、3、4、5、6,那么这个链表的倒数第三个结点是值为4的结点。首先看到这个题目,我们也许会想到从链表的尾端开始遍历,回溯K步,可是这个链表是单链表,只有从前向后的指针,没有从后向前的指针,因此这种思路不行,于是我们又想到链表的倒数第k 个结点就是从头开始的N-k+1个结点,因此只需从头遍历走n-k+1步即可。可是这样的话为哦们需要对

2016-04-24 11:05:31 971

原创 字符串中的空格替换

实现一个函数,将字符串中的每个空格替换成“%20”,例如输入i am happy,输出i%20am%20happy。  首先我们想到的是原来一个空格符,替换成三个字符‘%’、‘2’、‘0’.  解法一:最直观的做法就是从头到尾扫描字符串,每碰到一个空格,就必须先把空格后面的字符后移两个字节,否则后面的两个字节就被覆盖了,假设字符串的长度为n,对于一个空格字符,需要向后移动0(n)个字符,因

2016-04-22 17:11:38 1429

原创 将一个字符串转换为整数

这个题目本身其实没有什么难度,但是重在考察我们的细心程度,要考虑全面,尽可能提高程序鲁棒性。首先要考虑到所输入的字符串是否是空字符串,空指针,输入的字符串是否有效,以及是否包含非法字符,如果正确的话则在考虑字符串的正负以及转换后的整数是否溢出。//将一个字符串转换为整数#include#includeint main(){ char *s="345"; int n

2016-04-18 18:01:51 880

原创 tcp三次握手四次挥手(及原因)详解

TCP(Transmission Control Protocol,传输控制协议)是 面向连接的协议,也就是说在收发数据之前,必须先和对方建立连接,一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,只简单的 描述下这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步 (同步就是两台主机一个

2016-04-13 21:02:55 33206 14

原创 java虚拟机类加载机制---《深入理解java虚拟机》读书笔记

Java虚拟机类加载机制是把Class类文件加载到内存,并对Class文件中的数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型的过程。    java可动态扩展的语言特性就是依赖运行期动态加载和动态链接这个特点实现的。    类从被加载到虚拟机内存中开始,到卸载出内存为止,整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段,其中验证、准备、解析3

2016-04-12 21:52:24 2861

原创 InnoDB存储引擎表的逻辑存储结构

1.索引组织表:    在InnoDB存储引擎中,表都是按照主键顺序组织存放的,这种存储方式的表称为索引组织表,在innodb存储引擎表中,每张表都有主键,如果创建的时候没有显式定义主键,则InnoDB会按照如下方式选择或者创建主键: 1). 首先判断表中是否有非空的唯一索引,如果有,则该列就为主键。 2).   如果不符合上述条件,则innodb会自动创建一个6字节大小的指针 如

2016-04-12 17:38:32 4520

原创 java线程安全和锁优化

面向对象的编程思想是站在现实世界的角度去抽象和解决问题,他把数据和行为都看作是对象的一部分,这样可以让程序员能以符合现实世界的思维方式来编写和组织程序。线程安全的一个恰当的定义:当多个线程访问一个对象时,如果不用考虑这些线程在运行环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的 。按照线程安全

2016-04-10 16:17:43 3060 2

原创 InnoDB存储引擎的文件简述(表空间文件和重做日志文件)

除了mysql数据库本身的文件外,各个存储引擎还有自己独有的文件,与innodb密切相关的文件有:  1)表空间文件:      innodb采用将存储的数据按表空间进行存放的设计,在默认配置下会有一个初始大小为10mb.名为ibdata1的文件,该文件即为默认的表空间文件,可以通过参数innodb_data_file_path进行设置,用户可以通过多个文件组成一个表空间,同时制定文件的

2016-04-09 18:56:00 1822

原创 mysql数据库的各种类型的文件简述

1.参数文件:     1)参数        数据库参数其实就是一个键值对,比如innodb存储引擎中的innodb_buffer_pool_size,将这个参数设为1G,则键是innodb_buffer_pool_size,值为1G,一般通过show variables来查看数据库中的所有参数。     2)参数类型        mysql数据库中的参数可以分为两类,分别是动

2016-04-09 16:09:13 3871

原创 java虚拟机内存结构----《深入理解java虚拟机》读书笔记

最近在看java虚拟机的书籍,对于第二章的一个知识点的总结:java虚拟机规范规定的java虚拟机内存其实就是java虚拟机运行时数据区,其架构如下:其中方法区和堆是由所有线程共享的数据区。Java虚拟机栈,本地方法栈和程序计数器是线程隔离的数据区。(1).程序计数器:是一块较小的内存空间,其作用可以看作是当前线程所执行的字节码的行号指示器,字节码解析器工作时通过改

2016-04-09 11:44:13 399

原创 InnoD存储引擎的关键特性

今天在阅读InnoDB存储引擎后,对其的一些了解,并对它的关键特性做了一下总结:1.插入缓冲(insert buffer)  1)使用插入缓冲的原因:       非聚集索引叶子节点的插入不再是顺序的了,需要离散的访问分聚集索引,由于随机读取的存在而导致了插入的性能降低,这是因为B+树的特性决定了非聚集索引的离散性,       因此innodb存储引擎设计了插入缓冲,对于非聚

2016-04-08 16:58:48 834

原创 innodb存储引擎的体系结构

Innodb存储引擎有多个内存块,组成了一个内存池,负责:       (1)维护所有进程/线程需要访问的多个内部数据结构,       (2)缓存磁盘上的数据,方便快速的读取,同时对磁盘文件的数据修改之前在这里缓存,       (3)重做日志缓冲     后台线程:  后台线程的主要作用是负责刷新内存池中的数据,保证缓冲池中的内存缓存的是最近的数据,此外将已修改的数据文

2016-04-06 21:27:11 1391

原创 mysql数据库各存储引擎比较

mysql数据库区别于其他数据库的最重要的一个特点是其插件式的表存储引擎,存储引擎是基于表的,而不是数据库InnoDB存储引擎:       支持事务,其设计目标主要面向在线事务处理(OLTP)的应用,其特点是行锁设计、支持外键、并支持类似于oracle的非锁定读,即默认读取操作不会产生锁,其将数据放在一个逻辑的表空间中,此外,InnoDB存储引擎支持用裸设备用来建立其表空间,所谓裸设备即

2016-04-05 16:49:02 3239

原创 小猴子下落问题

有一颗二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从左到右从上到下的编号为1,2,3,·····,2的D次方减1。在结点1处放一个小猴子,它会往下跑。每个内结点上都有一个开关,初始全部关闭,当每次有小猴子跑到一个开关上时,它的状态都会改变,当到达一个内结点时,如果开关关闭,小猴子往左走,否则往右走,直到走到叶子结点。一些小猴子从结点1处开始往下跑,最后一个小猴儿会跑到哪里呢?输入

2016-03-27 23:26:03 660

原创 士兵杀敌(一)

描述南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的。小工是南将军手下的军师,南将军现在想知道第m号到第n号士兵的总杀敌数,请你帮助小工来回答南将军吧。注意,南将军可能会问很多次问题。输入只有一组测试数据第一行是两个整数N,M,其中N表示士兵的个数(1,M表示南将军询问的次数(1随后的一行是N个整数,ai表示第i号士兵杀敌数目。(0随后的M行每行有两

2016-03-27 23:13:42 722

原创 java web之监听器介绍

java web中的三大组件分别是servlet listener filter。而其中的listener便就是java web中的监听器。      首先介绍一下监听器就是一个接口,接口的内容由我们自己实现,而且他需要注册,其次监听器的内容会在特殊事件发生时被调用。      java web中一共有八大监听器,首先便是事件源(产生事件的源头)为三大域的六个监听器,分别是ServletC

2015-06-27 16:35:55 1406

原创 java web 中分页技术

java web中的分页技术,就是显示用户查询的数据的时候,规定每页显示多少条数据,      即如下所示:        这样的话,用户可以自己选择要查看哪一页,更加的人性化,一次只查询一页,不用查询所有页,     首先分页得知道当前页码(pagecode),由用户选定,然后提交给后台,默认为第一页,     其次得知道总页数(totalpages),总页数可以通过总记录数

2015-06-24 22:53:46 888

原创 java web中表单提交的方式

在java web中表单提交的几种方法,本人才学疏浅,望大神帮我补充,      第一种也是最简单的方法就是在form 标签中加上一个action,action对应的就是你要将表单提交的地址,其中按扭为submit,例如: 用户名: 密码: 学号: 验证码: 换一张 按下登录按钮

2015-06-24 16:55:50 7175

原创 java web中的多条件查询

所谓多条件查询即为用户输入想要查询的条件,然后根据用户输入的条件进行查询。     当用户有可能什么也不输入,这个条件我们应该考虑到。如果不输入就查询,则我们在页面上显示所有的查询结果,     当用户输入一个条件,我们则根据用户输入的这一个条件来进行查询,两个条件,三个条件也是一样,      而这个时候我们就应该考虑一下查询条件是可变的,我们应该怎样根据可变的条件来书写sql语句,

2015-06-24 16:14:27 15050 2

原创 字符串反转

字符串反转分很多种类型的,对于存在空格的字符串,有可能是每一个子字符串之间反转,而且其子字符串之间也要进行反转,也有可能是子字符串之间进行反转,而其内部不需要进行反转。   内部不需要反转的字符串可以首先把它以空格分隔成几个子字符串,然后对子字符串进行操作反转,最后输出即可  具体代码如下import java.util.Scanner;//把一个字符串进行翻转,例如:i am a s

2015-05-28 21:40:15 473 1

原创 在字符串中查找第一个只出现一次的字符

在字符串中查找第一个只出现一次的字符。例如输入字符串"abaccdef",输出b,    分析:(1)创建一个数组,并初始化数组,                      (2)遍历字符串,把遇到的字符串的ACSII码值作为下标,后面每遇到一次,次数加一,             (3)遍历数组,如果遇到某个下标的次数为一则输出这个下标,如果只查找第一个,则输出一个就break 

2015-05-26 20:32:45 2041

原创 压缩一个字符串中的空格

从键盘中输入一个字符串,如果存在多个空格,则压缩到之间只存在一个空格,行首和行尾存在的空格全部去掉。   具体代码如下:import java.util.Scanner;//将字符串中的n个空格压缩成一个,减少n-1个空格,行首/行尾的空格全部去掉public class YaSuo { public static void main(String[] args){ Scanne

2015-05-26 19:16:35 2081

原创 对一个字符串实现反转,如果存在分号或者逗号等,则按照符号分割分别进行反转

对一个字符串实现反转:        例如输入we;tonight;you;反转后输出ew;thginot;you;(其中考虑到分号的问题)     思路:把输入的字符串按照分号或者逗号进行分割:java.util.StringTokenizer进行分割;                然后把每一个子串的String对象变成可变的StringBuffer对象,使用它的reverse

2015-05-25 20:53:04 3153

原创 用java写关于删除一个字符串的字符以及删除一个字符串与另一个字符串中相同字符的问题

用java写删除一个字符串的其中字符可以直接采用String的一个方法replace()即可。用java写删除一个字符串中与另一个字符串中相同字符的代码的基本思想是:        (1)从键盘中分别输入两个字符串,然后用tocharArray()方法把字符串转换为字符数组,        (2)然后让两个字符数组遍历,并设定一个boolean类型的变量,默认值为false,   

2015-05-25 19:47:31 5557 2

空空如也

空空如也

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

TA关注的人

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