朴素系统优化思维的实践
常见的系统优化方案有很多,系统扩容、单此执行优化非核心流程剔除、分布式缓存等等,今天,就记录从一件小事到系统优化的多种方案的思考。
Wesley13 Wesley13
3年前
java中volatile关键字的理解
一、基本概念Java内存模型中的可见性、原子性和有序性。可见性:  可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉。通常,我们无法确保执行读操作的线程能适时地看到其他线程写入的值,有时甚至是根本不可能的事情。为了确保多个线程之间对内存写入操作的可见性,必须使用同步机制。  可见性,是指线程之间的可见性,一个线
Stella981 Stella981
3年前
C++——volatile关键字的学习
首先声明一点,本文是关于volatile关键字的学习,学习内容主要是来自一些大牛的网络博客。一篇是何登成先生的C/CVolatile关键词深度剖析(http://hedengcheng.com/?p725)一篇是chao\_yu的C/C中volatile关键字详解(https://www.oschina.net/action/GoTo
Wesley13 Wesley13
3年前
Java 深入理解volatile关键字
我们知道Java中volatile实现了修饰变量的原子性以及可见性,并且为了实现多线程环境下的线程安全,禁止了指令重排。首先我们先来了解一下happensbefore原则、asifserial语义以及数据依赖性,引用自《Java并发编程的艺术》happensbefore简介从JDK5开始,Java使用新的JSR133内存模型
Stella981 Stella981
3年前
C#中的static关键字
要理解static,就必须要先理解另一个与之相对的关键字,那就是auto,其实我们通常声明的不用static修饰的变量,都是auto的,因为它是默认的,就象short和long总是默认为int一样;我们通常声明一个变量:inta;strings;其实就是:autointa;autostrings;
Wesley13 Wesley13
3年前
Java多线程之volatile关键字
volatile关键字1importjava.util.concurrent.TimeUnit;23/4volatile5volatile比synchronized效率高很多6能用volatile就不要用synchronized,很多并
Wesley13 Wesley13
3年前
Java中的static关键字解析
一.static关键字的用途: 在《Java编程思想》P86页有这样一段话: _“static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。”_  这段话虽然只是说明了static方法
Stella981 Stella981
3年前
PHP 5.5 新特性关键字 yield
PHP5.5新特性关键字yield(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fblog.lmlphp.com%2Farchives%2F126%2FPHP_5_5_new_features_yield)技术(https://www.oschina.net/action/Go
Stella981 Stella981
3年前
C语言中volatile关键字的学习
    volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改。用volatile关键字声明的变量i每一次被访问时,执行部件都会从i相应的内存单元中取出i的值。没有用volatile关键字声明的变量i在被访问的时候可能直接从cpu的寄存器中取值(因为之前i被访问过,也就是说之前就从内存中取出i的值保存到某个寄
Wesley13 Wesley13
3年前
Java基础学习总结(9)——this关键字
一、this关键字this是一个引用,它指向自身的这个对象。看内存分析图:  假设我们在堆内存new了一个对象,在这个对象里面你想象着他有一个引用this,this指向这个对象自己,所以这就是this,这个new出来的对象名字是什么,我们不知道,不知道也没关系,因为这并不影响这个对象在内存里面的存在,这个对象只要在内存