自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CFZero的专栏

Come From Zero,从零开始,从点滴做起。

  • 博客(15)
  • 收藏
  • 关注

原创 java中的volatile关键字

关键字volatile是虚拟机提供的最轻量级的同步机制,但一般遇到同步问题时大部分还是使用synchronized来解决;当一个变量被声明为volatile后,它将具备两个特性:第一是保证此变量对所有线程可见性,这里的“可见性”是指当一条线程修改了这个变量的值,新值对于其他线程来说是可以立即得知的。第二是禁止指令重排序优化。      首先说一下对所有线程的可见性,关于volati

2015-08-31 22:43:23 314

转载 Java 多线程 并发编程

一、多线程1、操作系统有两个容易混淆的概念,进程和线程。进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括打开的文件、子进程和信号处理。线程:表示程序的执行流程,是CPU调度执行的基本单位;线程有自己的程序计数器、寄存器、堆栈和帧。同一进程中的线程共用相同的地址空间

2015-08-31 21:53:12 451

转载 Java中的值传递和引用传递

当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?     答:是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本。指向同一个对象,对象的内容可以在被调用的方法中改变,但对象的引用(不是引用的副本)是永远不会改变的。Java参数,不管

2015-08-30 16:52:03 307

转载 C语言内存分布(BSS段、数据段、代码段、堆与栈)

BSS段:(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。代码段:代码段(code segment/text s

2015-08-29 12:23:34 392

转载 C变量和函数的存储类型

C变量和函数的存储类型在上一篇《C程序内存管理》的文章中(http://www.linuxidc.com/Linux/2015-01/111157.htm),已经知道了C语言编译后的可执行文件的存储结构以及运行时的内存布局,本文则记录C语言中变量和函数的存储类型,以及在内存中的一些行为。C语言中变量的声明/定义格式如下:存储类型    类型修饰符    数据类型    变量

2015-08-29 12:20:30 561

转载 分析linux系统下几种消息传递通信方式

(1)信号:通知某时间发生了,如SIGPIPE,这个是在socket编程的时候,send数据给对方的时候,对方非正常关闭时,操作系统会告诉进程这个信号,即对方已经异常退出。(2)信号量:用于进程间互斥同步,比如一个进程要对一个共享区域进行写操作,这时不想别的进程对其进行写操作,那么就获取信号量,写完再释放,别的进程就可以读/写操作了。(3)管道:用于有亲缘关系的进程通信,管道一边用于读,另一边

2015-08-29 11:47:28 1623

转载 深入剖析Java中的装箱和拆箱

自动装箱和拆箱问题是Java中一个老生常谈的问题了,今天我们就来一些看一下装箱和拆箱中的若干问题。本文先讲述装箱和拆箱最基本的东西,再来看一下面试笔试中经常遇到的与装箱、拆箱相关的问题。  以下是本文的目录大纲:  一.什么是装箱?什么是拆箱?  二.装箱和拆箱是如何实现的  三.面试中相关的问题  若有不正之处,请谅解和批评指正,不胜感激。  请尊

2015-08-27 18:12:43 300

转载 javascript深入理解js闭包

一、变量的作用域要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。Js代码  var n=999;  function f1(){    alert(n);  }  f1(); // 999另一

2015-08-21 20:22:30 299

转载 STL标准库中的算法函数

STL标准库中的算法函数非修改性序列操作(12个)类型函数名说明循环for_each()对序列中的每个元素执行某操作。查找find()在序列中找出某个值的第一次出现的位置。find_if()在序列中找出符合某谓词的第一个元素

2015-08-21 12:05:54 364

转载 三十分钟掌握STL

三十分钟掌握STL这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它。文中我省略了很多东西。心疼那,浪费我两个晚上。译者:karycontact:[email protected]概述STL的一个重要特点是数据结构和算法的分离。尽

2015-08-21 11:59:41 249

转载 C语言堆栈入门——堆和栈的区别

来看一个网上很流行的经典例子:main.cpp int a = 0; 全局初始化区 char *p1; 全局未初始化区 main() { int b; 栈 char s[] = "abc"; 栈 char *p2; 栈 char *p3 = "123456"; 123456\0在常量区,p3在栈上。 static int c =0; 全局(静态)初始化区 

2015-08-08 20:23:25 406

转载 指针函数与函数指针的区别

一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针     类型标识符    *函数名(参数表)      int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变

2015-08-02 11:04:38 291

转载 g++编译命令使用以及参数详解

gcc & g++现在是gnu中最主要和最流行的c & c++编译器 。g++是c++的命令,以.cpp为主,对于c语言后缀名一般为.c。这时候命令换做gcc即可。其实是无关紧要的。其实编译器是根据gcc还是g++来确定是按照C标准还是C++标准编译链接。下面以Test.cpp为例:命令: g++ Test.cpp功能:生成默认为a.exe的文件,这个过程包含了编译

2015-08-01 16:39:23 6682

转载 gcc 编译器常用的命令行参数一览

这些常用的 gcc/g++ 命令行参数,你都知道么?1. gcc -E source_file.c-E,只执行到预编译。直接输出预编译结果。2. gcc -S source_file.c -S,只执行到源代码到汇编代码的转换,输出汇编代码。3. gcc -c source_file.c-c,只执行到编译,输出目标文件。4. gcc (-E/S/c/) s

2015-08-01 15:47:23 443

原创 贝格尔编排法代码

自己编写的适用于单循环比赛的贝格尔编排法代码,若有可改进之处,望高手指正。import java.util.Scanner;public class BergerTest {public static void main(String[] args) {// TODO Auto-generated method stubBergerTest ber = new BergerTest();Syste

2015-08-01 14:24:06 2814

空空如也

空空如也

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

TA关注的人

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