自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Gem5的基础知识(2)

一、安装交叉编译器1、从网上下载arm-linux-gcc-4.4.3.tar.gz,解压到自己的目录下,我的目录结构/home/cyh/cyh/arm2、建立目录sudo mkdir /usr/local/arm3、复制文件sudo cp -r /home/cyh/cyh/arm/opt/FriendlyARM/toolschain/4.4.3 /usr/local/arm4、添加环境变量 修改

2016-12-22 14:54:27 1976 1

转载 Java的反射机制

转自:http://blog.csdn.net/liujiahan629629/article/details/18013523  反射,当时经常听他们说,自己也看过一些资料,也可能在设计模式中使用过,但是感觉对它没有一个较深入的了解,这次重新学习了一下,感觉还行吧!           一,先看一下反射的概念:              主要是指程

2016-08-22 17:05:22 381

原创 查找(2)——哈希查找

#include <stdio.h>#define MAXSIZE 11#define key 11void insert(int hashArray[],int x){ int i = 0; int t = x % key; while(i < MAXSIZE){ if(hashArray[t] <= -1){ hashArray

2016-08-21 09:42:38 482

转载 C语言文件操作函数大全

C语言文件操作函数大全clearerr(清除文件流的错误旗标) 相关函数 feof表头文件 #include 定义函数 void clearerr(FILE * stream); 函数说明 clearerr()清除参数stream指定的文件流所使用的错误旗标。 返回值   fclose(关闭文件) 相关函数 close,fflush,fopen,setbuf

2016-08-19 11:50:44 420

原创 Java的基础知识9——日期和时间

本篇文章主要是通过连接MySQL,然后从数据库中读取日期和时间。1、准备工作(1)创建数据库create database test;(2)使用数据库use test;(3)创建表create table student(id int primary key auto_increment,name varchar(20),location varchar(30),myTime datetim

2016-08-09 16:43:17 339

原创 Java的基础知识8——图形

1、AWT是Java的比较旧的开发包,而Swing是Java的新的图形开发包。2、AWT提供了五种布局管理器:FlowLayout、BorderLayout 、GridLayout、GardLayout、GridBagLayout。3、FlowLayout是Panel类的默认的布局管理器,FlowLayout布局管理器对组件逐行定位,行内从左到右,一行排满换行。 FlowLayout默认的对齐方式

2016-08-06 16:26:26 373

原创 Java的基础知识7——网络

1、TCP:是专门设计用于在不可靠的因特网上提供可靠、端到端的字节流通信的协议。它是一种面向连接的协议。TCP连接是字节流而非报文流。 UDP:向应用程序提供一种发送封装的原始IP数据报的方法,并且发送时无需建立连接,是一种不可靠的连接。2、java.net包中定义的两个类Socket和ServerSocket,分别用来实现双向连接的client和server端。3、建立连接时所需的寻址信息为远程

2016-08-04 18:01:46 268

原创 Java的基础知识6——线程

1、进程和线程的区别:每个进程都有独立的代码和数据空间,进程间的切换会有较大的开销。线程可以看成是轻量级的进程,同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器,线程切换的开销小。Java的线程是通过java.lang.Thread类来实现的。2、每个线程都是通过某个特定Thread对象所对应的方法run()来完成其操作的,方法run()称为线程体。通过调用Thread类start(

2016-07-31 11:25:46 330

原创 Java的基础知识5——流

1、流的分类: 按数据流的方向不同可以分为输入流和输出流 按处理数据单位不同可以分为字节流和字符流 按功能不同可以分为节点流和处理流2、 \ 字节流 字符流 输入流 InputStream Reader 输出流 OutputStream Writer在Java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。在字节流中输出数据主

2016-07-30 09:54:07 387

原创 Java的基础知识4——容器

1、Collection接口定义了存取一组对象的方法,其子接口Set和List分别定义了存储方式。 Set中的数据对象没有顺序且不可以重复。 List中的数据对象有顺序且可以重复。 Map接口定义了存储键值对的方法,键值对通过键来标识,所以键值不能重复。2、容器类对象在调用remove、contains等方法时需要比较对象是否相等,这会涉及到对象类型的equals方法和hashCode方法。对

2016-07-26 22:03:57 333

原创 Java的基础知识3——常用类

1、String类(不可变的字符序列)public static String valueOf(…)可以将基本类型数据转换为字符串。 public String[] split(…)可以将一个字符串按照指定的分隔符分隔,返回分隔后的字符数组。public class Test{ public static void main(String args[]){ String s =

2016-07-26 13:46:46 214

原创 Java的基础知识2——数组

1、选择和冒泡排序public class SelectAndBubble { public static void main(String[] args) { int array1[] = {7,5,0,9,2,8,4,3,1}; int array2[] = {3,8,0,9,7,4,5,1,6}; /*System.out.println("选

2016-07-24 17:13:05 242

原创 Java的基础知识1

1、对于class的权限修饰只可以用public和default,public类可以在任意地方被访问,default类只可以被同一个包内部的类访问。2、在子类中可以根据需要对从父类中继承来的方法进行重写。 重写的方法必须和被重写的方法具有相同方法名称、参数列表和返回类型。 重写方法不能使用比被重写方法更加严格的访问权限。3、子类的构造的过程中必须调用其父类的构造方法。 子类可以在自己的构造方法

2016-07-24 16:57:57 291

转载 各种排序算法的总结和比较

1 快速排序(QuickSort)快速排序是一个就地排序,分而治之,大规模递归的算法。从本质上来说,它是归并排序的就地版本。快速排序可以由下面四步组成。(1) 如果不多于1个数据,直接返回。(2) 一般选择序列最左边的值作为支点数据。(3) 将序列分成2部分,一部分都大于支点数据,另外一部分都小于支点数据。(4) 对两边利用递归排序数列。快速排序比大部分排序算法

2016-07-20 09:17:45 361

原创 Gem5的基础知识(1)

1、通过下面的命令可以查看se模式和fs模式下的各种可用选项(se和fs的输出内容基本一致)se:./build/X86/gem5.opt ./configs/example/se.py -hfs:./build/X86/gem5.opt ./configs/example/fs.py -h输出内容:gem5 Simulator System. http://gem5.orggem5 is co

2016-07-15 15:56:55 4532 6

原创 一个学生的信息是:姓名,学号,性别,年龄等信息,用一个链表,把这些学生信息连在一起, 给出一个age, 在 链表中删除学生年龄等于age的学生信息。

#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAXSIZE 10typedef struct stu{ char name[MAXSIZE]; int num; char sex[2]; int age; struct stu * next;}StuInfo;StuIn

2016-07-01 10:01:43 2986

原创 交换左右子树

#include <stdio.h>#include <stdlib.h>#define MAXSIZE 20typedef struct node{ char data; node * lchild; node * rchild;}BTree;typedef struct{ BTree * data[MAXSIZE]; int rear; in

2016-07-01 09:58:14 1141

原创 排序(1)

1、直接插入排序#include <stdio.h>#define MAXSIZE 20typedef struct{ int key; int others;}RecordType;void sort(RecordType array[],int n){ int j = 0; for(int i=2;i<n;i++){ if(array[i].k

2016-07-01 09:55:56 300

转载 系统级性能分析工具 — Perf

转自:http://blog.csdn.net/zhangskd/article/details/37902159perf Performance analysis tools for Linux.Performance counters for Linux are a new kernel-based subsystem that provide a fram

2016-06-30 16:08:13 2165

转载 如何指定进程运行的CPU

coolshell最新的文章《性能调优攻略》在“多核CPU调优”章节,提到“我们不能任由操作系统负载均衡,因为我们自己更了解自己的程序,所以,我们可以手动地为其分配CPU核,而不会过多地占用CPU0,或是让我们关键进程和一堆别的进程挤在一起。”。在文章中提到了Linux下的一个工具,taskset,可以设定单个进程运行的CPU。同时,因为最近在看redis的相关资料,redis作为单进程模

2016-06-27 08:59:49 513

转载 线程绑定CPU核

Linux系统提供API函数sched_setaffinity和sched_getaffinity用于设置或获取线程的可以使用的CPU核。int sched_setaffinity(pid_t pid, unsigned int cpusetsize, cpu_set_t *mask);这个函数中pid表示需要设置或获取绑定信息的线程id(或进程id),如果为0,表示对当前调用的线

2016-06-27 08:57:20 1629

原创 Linux动态加载内核模块

Linux属于单内核,为了弥补单内核扩展性与维护性差的缺点,Linux引入动态可加载内核模块,模块可以在系统运行期间加载到内核或从内核卸载。模块是具有独立功能的程序,它可以被单独编译,但不能独立运行。它在运行时被链接到内核作为内核的一部分在内核空间运行。模块通常由一组函数和数据结构组成,用来实现一种文件系统、一个驱动程序或其他内核上层的功能。下面是一个简单的例子: (1)模块hello.c文件#i

2016-06-23 16:32:37 23685 5

转载 CPU亲和性(affinity)sched_setaffinity() 和 sched_getaffinity()

简单地说,CPU 亲和性(affinity) 就是进程要在某个给定的 CPU 上尽量长时间地运行而不被迁移到其他处理器的倾向性。Linux 内核进程调度器天生就具有被称为 软 CPU 亲和性(affinity) 的特性,这意味着进程通常不会在处理器之间频繁迁移。这种状态正是我们希望的,因为进程迁移的频率小就意味着产生的负载小。2.6 版本的 Linux 内核还包含了一种机制,它让开发人员可

2016-06-23 08:52:28 532

转载 如何将所有的进程运行在一个指定的CPU上

转载:http://blog.csdn.net/sunvince/article/details/6533016这是CU上的一个问题... from: http://bbs.chinaunix.net/viewthread.php?tid=2330394  在SMP上,想把所有的用户 态进程运行在一个CPU上,腾出其它CPU干其它事。Linux能通过

2016-06-22 17:11:35 8269 1

转载 Linux进程控制块

进程在操作系统中都有一个户口,用于表示这个进程。这个户口操作系统被称为PCB(进程控制块),在linux中具体实现是 task_struct数据结构,它记录了一下几个类型的信息:1.状态信息,例如这个进程处于可执行状态,休眠,挂起等。2.性质,由于unix有很多变种,进程有自己独特的性质。3.资源,资源的链接比如内存,还有资源的限制和权限等。4.组织,例如按照家族关

2016-06-22 15:44:27 1141

转载 linux进程调度函数浅析

转自:http://www.cnblogs.com/liangning/p/3885933.html众所周知,进程调度使用schedule()函数来完成,下面我们从分析该函数开始,代码如下(kernel/sched/core.c):1 asmlinkage __visible void __sched schedule(void)2 {3 struct task

2016-06-16 14:54:50 1208

转载 内核源码分析之进程调度机制

转自:http://www.cnblogs.com/liangning/p/3892306.html进程调度所使用到的数据结构:1.就绪队列内核为每一个cpu创建一个进程就绪队列,该队列上的进程均由该cpu执行,代码如下(kernel/sched/core.c)。1 DEFINE_PER_CPU_SHARED_ALIGNED(struct rq, runqueu

2016-06-16 14:52:41 3746

原创 查找(3)——二叉排序树的建立、结点的查找和删除

#include <stdio.h>#include <stdlib.h>typedef struct node{ int data; node * lchild; node * rchild;}BTree;void createBTree(BTree * root,int x){ //建立二叉排序树 BTree * q, * p; q = r

2016-06-16 10:15:33 2145

原创 查找(1)

1、顺序查找#include <stdio.h>#define MAXSIZE 20typedef struct{ int key; int otherData;}SeqList;int search(SeqList sl[],int n,int x){ for(int i=0;i<n;i++){ if(sl[i].key == x){

2016-06-14 09:29:47 235

转载 忽然长大-志存高远

1、我们一起回来了        2005年6月的一天,陆希和高远回南中去玩。转眼几年过去了,陆希和高远23岁了,尽管还是读书人都还是学生气的打扮,但已经与中学生们拉开了距离。在校外的小书店里他俩被书店老板一眼觉出异样,老板问:“你们是大学生了吧?大几啊?”高远调皮地答应:“我们啊,明年博士毕业!”老板被高远逗乐了,笑呵呵地说:“不会不会,这小姑娘我记得,几年前老上我这看书买书,顶多也就才从南

2016-06-13 16:58:44 1081

原创 选美比赛

在选美大奖赛的半决胜赛现场,有一批选手参加比赛,比赛的规则是最后得分越高,名次越低。当半决决赛结束时,要在现场按照选手的出场顺序宣布最后得分和最后名次,获得相同分数的选手具有相同的名次,名次连续编号,不用考虑同名次的选手人数。例如 选手序号: 1,2,3,4,5,6,7,选手得分: 5,3,4,7,3,5,6,则输出名次为: 3,1,2,5,1,3,4,请编程帮助大奖赛组委会完成半决赛的评分和

2016-06-13 15:46:51 392

转载 五大常用的算法

转自:http://www.cnblogs.com/steven_oyj/category/246990.html五大常用算法之一:分治算法分治算法一、基本概念   在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,

2016-06-13 14:51:26 719

转载 算法思想

转载自http://blog.sina.com.cn/s/blog_692c05d20100jwjz.htmlTaken from "Introduction to The Design and Analysis of Algorithms" by Anany Levitin节选自《算法设计与分析基础》潘彦 译蛮力法就像宝剑不是撬棍一样,科学也很少使用蛮力。

2016-06-13 10:48:11 1117

转载 淘宝网采用什么技术架构来实现网站高负载的

下面就结合淘宝目前的一些底层技术框架以及自己的一些感触来说说如何构建一个可 伸缩,高性能,高可用性的分布式互联网应用。AD:时间过得很快,来淘宝已经两个月了,在这两个月的时间里,自己也感受颇深。下面就结合淘宝目前的一些底层技术框架以及自己的一些感触来说说如何构建一个可 伸缩,高性能,高可用性的分布式互联网应用。相关专题:淘宝双11背后高并发技术讨论

2016-06-13 10:45:27 391

原创 PARSEC benchmark 编译

1、配置环境source env.sh2、使用下面的命令可以查看parsec中所有的benchmarkparsecmgmt -a info下面是parsec中的部分benchmark: Benchmark 内容 FFT 核心程序,用于计算快速傅里叶变换 OCEAN-CP 非核心程序,用于通过海洋的边缘的海流模拟整个海洋的运动 BLACKSCHOLES 计算财务应用,基于

2016-06-13 09:21:48 3990

转载 cc、gcc、g++、CC的区别概括

gcc是C编译器;g++是C++编译器;linux下cc一般是一个符号连接,指向gcc;gcc和g++都是GUN(组织)的编译器。而CC则一般是makefile里面的一个名字,即宏定义,嘿,因为Linux/Unix都是大小写敏感的系统,这点一定要注意。cc是Unix系统的C Compiler,而gcc则是GNU Compiler Collection,GNU编译器套装。gcc原名为Gun

2016-06-12 15:33:06 361

原创 C++的一些简单示例(5)

8、类与对象我们周围能够感知的一切都是对象,对象是属性和行为的结合,而类是对一组有相同属性和行为的对象的抽象,即把同一类对象共同具有的属性和行为封装在一起,就形成了类。类的特性包括:封装性、继承性和多态性。封装性:封装性是面向对象的基础,包括两方面:一方面,是把一系列的数据和函数放在一个类中;另一方面,封装实现了信息的隐藏,类的设计者可以只为使用者提供可以访问的部分,而把类中其他数据成员和方法隐藏起

2016-06-07 21:34:54 385

原创 重新编译Linux内核

我的虚拟机上装的是14.04的Ubuntu。1、make mrproper 把原来编译产生的垃圾删除(如果是第一次编译就不用这条了)2、查看当前系统源码版本apt-cache search linux-source输出结果:linux-source - Linux kernel source with Ubuntu patcheslinux-source-3.13.0 - Linux kernel

2016-06-07 16:28:44 974

原创 广度优先生成树

#include <stdio.h>#include <stdlib.h>#define MAXSIZE 20typedef struct{ int data[MAXSIZE]; int rear; int front;}SeqQueue;typedef struct node{ int adjvex; struct node * next;}Node

2016-06-07 11:19:50 1976

原创 深度优先生成树

#include <stdio.h>#include <stdlib.h>#define MAXSIZE 20typedef struct node{ int adjvex; struct node * next;}Node;typedef struct{ int vertex; Node * first;}VNode;int visited[MAXSIZE]

2016-06-07 10:13:26 2444

空空如也

空空如也

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

TA关注的人

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