zoukankan      html  css  js  c++  java
  • C 与 JAVA

    1.static的不同

        C语言中static 是静态变量的意思

            1.如果是静态局部变量,则是在这个函数内部声明和定义的变量,不能被函数之外调用。

            2.如果是静态外部变量,则是在本文件内部声明定义,不能被超出该文件调用使用,而且一直占用内存,不被消灭。

               Java语言中,static修饰的变量是类变量的意思。

    2.volatile在C和JAVA中 

    在用C进行嵌入式编程时:

    一般说来,volatile用在如下的几个地方:
    1、中断服务程序中修改的供其它程序检测的变量需要加volatile;
    2、多任务环境下各任务间共享的标志应该加volatile;
    3、存储器映射的硬件寄存器通常也要加volatile说明,因为每次对它的读写都可能有不同意义;
    另外,以上这几种情况经常还要同时考虑数据的完整性(相互关联的几个标志读了一半被打断了重写),在1中可以通过关中断来实现,2 中可以禁止任务调度,3中则只能依靠硬件的良好设计
    volatile保证每次取值都是从主存中取,保证了值的绝对正确性,而不是从寄存器中取,被volatile修饰的变量是容易被外因意外改变值的量
    而在Java中,volatile没有锁的好使,在Java中使用volatile有很大的限制性,所以建议使用锁进行修饰(synchronized),
     
    synchronized是Java语言的关键字,可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这个段代码。当两个并发线程访问同一个对象object中的这个加锁同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。然而,当一个线程访问object的一个加锁代码块时,另一个线程仍然可以访问该object中的非加锁代码块。
      http://baike.baidu.com/link?url=CsUO5wFqymqI9K7I8HtNH8KUFCGRRkFXC9mErbCHAeniPlhY7R4RsA6TdoEbNyeDNgHoHYMEoYqZyfrksHgpbK  
     
     
  • 相关阅读:
    结巴分词 0.14 版发布,Python 中文分词库
    Lazarus 1.0.2 发布,Pascal 集成开发环境
    Android全屏 去除标题栏和状态栏
    服务器日志现 Android 4.2 传将添多项新特性
    Percona XtraBackup 2.0.3 发布
    长平狐 Android 强制设置横屏或竖屏 设置全屏
    NetBeans 7.3 Beta 发布,全新的 HTML5 支持
    CppDepend现在已经支持Linux
    GromJS 1.7.18 发布,服务器端的 JavaScript
    Apache OpenWebBeans 1.1.6 发布
  • 原文地址:https://www.cnblogs.com/lingxianxia/p/4298725.html
Copyright © 2011-2022 走看看