本文试图向大家解释清楚JMM及其抽象模型,但不仅仅是一个介绍,更希望能讲清楚JMM内存模型抽象的原因。
一、JMM的概念;
二、JMM的抽象将内存内存模型分成线程私有的本地内存和所有线程共享的主存;
三、JMM抽象模型造成了并发编程中共享变量的内存可见性问题,为什么会造成?选择这样的抽象模型有什么好处?有什么样的方法来处理这个问题?...
分类:
编程语言 时间:
2015-07-18 14:12:09
阅读次数:
150
类及成员类是一组对象的属性和行为特征的抽象描述,对象是类的实例。类是抽象的,对象是具体的。 抽象是有选择的忽略。 封装:使数据及方法结合;控制访问可见性。允许控制---只能通过公共的方法来访问对象。 允许变化---私有对象的类型发生变化也不会影响对象的使用。静态数据描述了一个类的所有对象的信息。静态...
局部变量
范围:在一个函数内部定义的变量,作用范围只限于本函数体内。
生存期:程序执行到本函数才会给局部变量分配内存单元,函数执行完毕局部变量所占的存储单元就被释放
全局变量
在函数体外部定义的变量是全局变量,可以被本文件所有其他函数访问使用。
作用域:所有文件。在一个cpp定义的全局变量在另一个cpp中使用,应该在使用它的函数体内部或外部进行...
分类:
编程语言 时间:
2015-07-13 16:07:39
阅读次数:
160
又看到一个很有意思的HTML5事件,visibilitychange事件在当前网页在可见和不可见之间变换的时候调用,比如用户正在刷微博,刷到一半切去看视频了,这个时候微博就能通过visibilitychange发现用户没有看自己了,可以根据实际需要暂停请求或者一些别的操作,等用户切回来的时候继续加载。
通过document的hidden属性可以判断标签是否可见。true时代表标签不可见。
这个事...
分类:
Web程序 时间:
2015-07-11 21:35:56
阅读次数:
283
刚刚看了一下synchronized和volatile的区别,这里做一下笔记。 多线程中内存是如何分配的? 分为主内存和线程内存,当线程与其他线程共享一个变量时,便会把主内存的变量复制到线程内存中去。当发生对变量的修改时...
分类:
编程语言 时间:
2015-07-11 10:42:23
阅读次数:
133
本文章由cartzhang编写,转载请注明出处。 所有权利保留。
文章链接:
作者:cartzhang
说明:本文同时发布于Unity蛮牛译馆!蛮牛译馆
2D可见性
原文地址:原文
2D Visibility
重要提示: 本文章中的图片为Flash,可以去原文中观看,译文中均为截图!
特此说明!
二维可见性计算
时间:2015-07-09
翻译...
分类:
其他好文 时间:
2015-07-10 15:23:55
阅读次数:
125
如果一个物体被unity判定为”退一万步讲也一定不可见“,则unity不会去渲染它,但是如果我们给此物体添加了逻辑,这个逻辑仍然会被执行。因此,假如这个逻辑是巨耗性能的逻辑,比如说”mesh的每个顶点都按sin(t)波动“之类,那么我们需要手动根据可见性去优化这个逻辑,比如不可见就停了它,或者不可见...
分类:
编程语言 时间:
2015-07-07 21:05:48
阅读次数:
387
在JDK1.5之前,也就是J.U.C加入JDK之前,Java是依靠synchronized关键字(JVM底层提供)来维护协调对共享字段的访问,保证对这些变量的独占访问权,并且以后其他线程忽的该锁时,将可以看到对这些变量进行的更改(可见性,互斥性)。 锁机制的问题: 锁问题不可回避的,就是上下文...
分类:
其他好文 时间:
2015-07-06 19:39:49
阅读次数:
88
Unity性能优化之Draw Call Unity(或者说基本所有图形引擎)生成一帧画面的处理过程大致可以这样简化描述:引擎首先经过简单的可见性测试,确定摄像机可以看到的物体,然后把这些物体的顶点(包括本地位置、法线、UV等),索引(顶点如何组成三角形),变换(就是物体的位置、旋转、缩放、以及摄像机...
分类:
编程语言 时间:
2015-07-06 11:58:47
阅读次数:
225
Python中并没有真正意义上的“私有”,类的属性的的可见性取决于属性的名字(这里的属性包括了函数)。例如,以单下划线开头的属性(例如_spam),应被当成API中非公有的部分(但是注意,它们仍然可以被访问),一般是具体实现细节的部分。单下划线常用来实现模块级私有化,当我们使用“frommymodu...
分类:
编程语言 时间:
2015-07-02 13:56:29
阅读次数:
161