自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (8)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java虚拟机堆的内存分配和回收

java内存分配和回收,主要就是指java堆的内存分配和回收。java堆一般分为2个大的区域,一块是新生代,一块是老年代。在新生代中又划分了3块区域,一块eden区域,两块surviver区域。一般称为from surviver和to surviver。这些区域的大小可以自己指定。比如:(-Xms20M 表示可用堆内存大小;-Xmx40M 表示最大堆内存,在堆内存大小不够时,会扩展到最大堆内存;-

2015-12-24 00:12:39 2593

原创 DUBBO本地搭建及小案例

阿里的DUBBO现在使用的人越来越多了,公司也在用,但是自己没有搭建过DUBBO,这几天搭建了一下,于是把我搭建的步骤和遇到的问题分享出来给大家!DUBBO的介绍部分我这里就不介绍了,大家可参考官方文档。DUBBO的注册中心安装DUBBO的注册中心支持好几种,公司用到zookeeper注册中心,所以我这边只说明zookeeper注册中心如何安装。安装zookeeper注册中心首先得

2014-12-26 16:51:11 110746 14

原创 多服务分布式并发问题的理解

最近在研究一些并发的问题,我们知道java中控制并发有很多种方式,但是由于现在项目中一般都不可能把服务器布置成单点,都是以多台服务器集群的方式,所以在java中去加锁已经无法完全控制并发问题了。在我碰到的项目中,数据库的写入基本可以用单点这个词来形容,所以在数据库中我们可以做到并发的控制。关于UPDATE的并发控制update数据库的时候,数据库控制并发的方式,基本分为2种:1.锁更新

2014-12-17 09:51:02 3162

原创 C和C++中sizeof的细节问题

在一本书上看到个关于sizeof细节问题,一开始挺迷惑的。char *words[] = {"stately", "plump", "buck", "mulligan"};sizeof_t words_size = sizeof(words)/sizeof(char *);/*看得我有点迷惑,然后把它拆开来看*/words_size = sizeof(words);//wo

2012-08-21 22:11:06 927

原创 c++类模板

如果要比较两个数的大小,比如要比较两个整型数的大小可以这样写个类:class Compare_int{ public: Compare_int(int arg1, int arg2):number1(arg1),number2(arg2){} int max() {

2012-08-20 23:12:39 691

原创 c++常对象

c++虽然采取了不少有效措施(如设private保护)以增加数据的安全性,但是有些数据却往往是共享的,例如实参和形参,变量与其引用,数据及其指针等,人们可以在不同的场合通过不同的途径访问同一个数据对象。有时在无意之中的误操作会改变有关数据的状况,而这是人们所不希望出现的。既要使数据能在一定范围内共享,又要保证它不被任意修改,这时可以使用const,即把有关的数据定义为常量。#inc

2012-08-16 21:26:24 792

原创 C中碰到的问题(gets和strcpy)

最近碰到了一些问题。第一个是gets函数#include int main(){ char buffer[5]; gets(buffer); printf("%s\n",buffer); return 0;}$./a.outadadadadadadadadadadadadadadadad$

2012-08-12 17:44:40 1387

原创 UNIX程序设计中fork和vfork,exit和_exit的区别

创建子进程有很多种方式,调用fork()和vfork()是其中的两种方式就说说fork和vfork的不同之处吧。fork:父进程调用完fork成功以后创建一个子进程,而且这个子进程会拷贝一份父进程的数据空间,堆和栈空间。并且父子进程的内存空间是完全独立的,并不共享。父进程和子进程谁先执行是不确定的。vfork:父进程调用完vfork后同样创建一个子进程,但是不同之处在于

2012-08-11 17:56:26 2519

转载 一个 fork 的面试题

前两天有人问了个关于Unix的fork()系统调用的面试题,这个题正好是我大约十年前找工作时某公司问我的一个题,我觉得比较有趣,写篇文章与大家分享一下。这个题是这样的:题目:请问下面的程序一共输出多少个“-”?#include #include #include int main(void){ int i; for(i=0; i<2; i++){ f

2012-08-05 21:17:24 1517

原创 c++ 中 const_iterator 和 const vector<>::iterator的区别

最近有空闲时间,就自学下C++,看的是《C++ primer》,感觉这本书对于我这个只会C,没有接触过C++的新手来说有些地方还是感觉讲得不够基础,不过看详细讲基础的书又没有耐性去看。我目前的理解就是: vector::iterator iter 相当于C语言中的 int  *p然后有个:vector::const_iterator iter 相当于C中的 int const *p 就是地

2012-08-05 16:00:19 7376 2

原创 LINUX网络编程之套接字

套接字可以让LINUX在网络上通信,用起来就像管道一样,当然管道都是单向的,套接字既能写也能收!以下是多客户服务器代码:#include #include #include #include #include #include #include #include #define PORT 6000#define SIZE 256static vo

2012-08-04 18:16:56 776

原创 linux程序设计SELECT系统调用

最近刚学了linux网络编程里的套接字,然后也写了简单的客户端和服务器之间连接互相读写的简单程序,一直用轮询的方式进行读写,觉得那样客户端和服务器就一直在占用CPU资源,觉得很浪费CPU资源,之前在同一台机上学过用信号量去控制几个个进程或几个线程间的读写与等待,可是现在是两台机器间的通信,之前的信号量就用不上了,翻了翻书,找到SELECT这个函数,可以解决问题。select这个函数可以设置读写

2012-08-04 15:30:41 1468

原创 消息队列和信号量

程序的实现是两个进程,通过信号量来实现通信,发送方先request发送方的信号量,然后发送,然后再release接收方信号量,这样可以通知接手方可以接收了,接受方接收以后再通过信号量通知发送方,一直这样循环,直到发送方发送"exit"双方才能退出进程。数据的传送是通过消息队列传送的。具体对函数的介绍和实现方法这里就不多说了,信号量和消息队列的知识点还是有点多的,可以参考《linux程序设计

2012-08-02 23:10:07 5722

转载 使用VI同时编辑多个文件

我们可以用ex命令来实现在多个文件之间的切换,而不需要退出vi,这可以为我们节省很多时间,并且因为没有退出vi,我们可以使用buffer来在不同文件之间实现拷贝和粘帖。1)  在启动vi的时候指定多个文件,这就相当在vi启动时我们就把多个文件加入到了vi的候选列表中,在编辑过程中我们可以用命令 :n来切换到下一个文件,我们可以用命令 :args来查看当前又有多少个文件在编辑的候选列表中;但

2012-08-01 22:53:35 972

转载 程序员怎么提高英语阅读水平

今天在知乎上被邀请回答这个问题,一不小心写了很多,算算已经可以当作一篇博客了,于是记录下来。问题:作为一名程序员,虽说每天都在和英语打交道,但是当看到一篇英语文档或者英语技术文章的时候还是比较头疼,理解他们的意思也只能是20%。尤其是使用google搜索的时候,很多问题解决办法都是英文的,还有一些国外比较有名的网站比如 stack overflow,上面也有很多学习的资源。怎样才能让自己顺利阅

2012-08-01 22:50:39 575

原创 进程间的通信

进程间的通信就麻烦一些了,信号的种类就有64种,可以在终端中输入kill -l查看!就先说几个今天刚学的吧1.SIGINT,这个信号是由硬件产生的,比如按下ctrl+c时就会产生这个信号。2.SIGALRM,这个信号是由alrm(unsigned int arg)函数产生的,就是间隔arg秒时间后产生SIGALRM信号。3.SIGCHLD.子进程退出时会产生这个信号。信

2012-07-31 23:15:11 1369

原创 linux线程间用信号量通信

原来总是用互斥锁(MUTEX)和环境变量(cond)去控制线程的通信,用起来挺麻烦的,用信号量(SEM)来通信控制就方便多了!用到信号量就要包含semaphore.h头文件。可以用sem_t类型来声明一个型号量。用int sem_init(sem_t *sem, int pshared, unsigned int value)函数来初始化型号量,第一个参数就是用sem_t声明的信号量,

2012-07-31 22:02:18 4358

原创 今天刚学的,linux多线程编程

今天学的是多线程编程,下面是一个典型的例子。学的东西时间久了总会忘,写下来是最好的办法,以后一看就记起来了!程序的实现是写入数据到buf中,然后在终端显示,直到输入exit退出为止。#include #include #include #define BUFSIZE 128pthread_mutex_t mutex;pthread_cond_t cond;char b

2012-07-30 22:42:01 1626

原创 fork 父进程与子进程的数据是完全独立的

以下问题是我在实际中遇到的,把它简短的表达为以下代码!int flag = 1;int main(){        pid_t pid;        do{               pid = fork();               if (pid == 0)//process of child               {

2012-07-30 22:03:58 1142

转载 Linux 的僵尸(zombie)进程

可能很少有人意识到,在一个进程调用了exit之后,该进程 并非马上就消失掉,而是留下一个称为僵尸进程(Zombie)的数据结构。在Linux进程的5种状态中,僵尸进程是非常特殊的一种,它已经放弃了几乎所 有内存空间,没有任何可执行代码,也不能被调度,仅仅在进程列表中保留一个位置,记载该进程的退出状态等信息供其他进程收集,除此之外,僵尸进程不再占有 任何内存空间。僵尸进程的来由,要追溯到Unix

2012-07-26 22:27:51 825

转载 ARM 汇编 伪指令 MACRO及MEND

MACRO伪操作标识 宏定义的开始,MEND标识宏定义的结束。用MACRO 及MEND定义一段代码,称为宏定义体,这样在程序中就可以通过宏指令多次调用该代码段语法格式MACRO{$label}  macroname {$parameter {,$parameter}...};code...;codeMEND其中:$labelz在宏指令被展开时,lab

2011-11-22 13:04:39 897

转载 ARM处理器模式切换(含MRS,MSR指令)

1.1.1   ARM处理器模式切换(含MRS,MSR指令)除了用户模式和系统模式,其余模式下都有一个私有SPSR保存状态寄存器,用来保存切换到该模式之前的执行状态,之所以用户模式和系统模式没有SPSR是因为,通常CPU大部分时间执行在用户模式下,当产生异常或系统调用时会分别切换进入另外几种模式,保存用户模式下的状态,当切换回原先模式时,直接回复SPSR的值到CPSR就可以了,因此,用户模式和

2011-11-13 13:48:18 2297

原创 TQ2440 查询法实现按键LED的功能

以下是TQ2440裸奔按键LED功能的程序init.s    AREA init, CODE, READONLY start        LDR SP,=4096            import main            bl main            enddef.h#ifndef __DEF_H__#define

2011-11-11 22:27:19 506

原创 TQ2440实现裸机LED二进制显示0-15

本人菜鸟,刚刚开始学习ARM9,用的是TQ2440板子。常常看到别人把自己学习的过程记在博客上,我觉得这个想法不错,有助于学习,所以也想这么做。这样一来,不仅可以记录学习过程,以后可以看看。还有就是想让高手看到,对我的不足可以指点下,让我能学到更多。下面是程序。不知道为什么,ARM9要用汇编才能进入C语中main,这段汇编代码是参考别人的,主要意

2011-11-10 15:57:30 719

Spring源码深度解析 [郝佳编著]

Spring源码深度解析 [郝佳编著] ,很不错哦

2015-12-18

Linux程序设计第四版

《Linux程序设计》很不错的一本讲系统程序设计的书!

2012-11-20

c语言程序设计(谭浩强)

谭浩强的《c语言程序设计》是C语言入门的好书,推荐新手看此书入门!本书的清晰度还是不错的!

2012-11-20

s3c2440中文手册

s3c2440中文手册

2011-11-10

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

TA关注的人

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