什么是内存屏障? 内存屏障,又称为内存栅栏,是一组处理器指令,用于实现对内存操作的顺序限制。 内存屏障为何重要? 对主存的一次访问一般花费硬件的数百次时钟周期。处理器通过缓存能够从数量级上降低内存延迟的成本,这些缓存为了性能重新排列待定内存操作的顺序。 也就是说,程序的读写操作不一定会按照它要求处理 ...
分类:
移动开发 时间:
2019-04-07 18:06:39
阅读次数:
195
引自:https://shift-alt-ctrl.iteye.com/blog/2302923 在JAVA 1.7引入了一个新的并发API:Phaser,一个可重用的同步barrier。在此前,JAVA已经有CyclicBarrier、CountDownLatch这两种同步barrier,但是Ph ...
分类:
其他好文 时间:
2019-04-04 15:51:43
阅读次数:
132
django第13天(auth组件,forms组件) auth组件 forms组件 渲染模板 渲染错误信息 局部钩子 全局钩子 中间件 python 1.中间件是什么: 请求和响应之间的一道屏障 2.中间件的作用: 控制请求和响应 3.自定义中间件 一.导入类 from django.utils.d ...
分类:
其他好文 时间:
2019-03-21 11:53:00
阅读次数:
175
单例设计模式,意味着整个系统中只能存在一个实例,比方说像日志对象这种。我们常说的有饿汉式和懒汉式这两种模式来创建单例对象,今天就拓展一下思维,多看几种。 首先我们若是想一个类只有一个对象,那肯定先要私有化构造器,断了在其它的类中使用构造器创建实例的念头。其它的类中不能创建,我们就只能在类中自己创建一 ...
分类:
其他好文 时间:
2019-03-12 14:09:16
阅读次数:
157
防火墙:保证数据的安全性是继数据可用性之后的最为重要的一项工作防火墙作为公网和内网之间的保护屏障防火墙种类:硬件防火墙:网关服务器软件防火墙:装在操作系统中的软件防火墙管理工具主要功能:依据策略对穿越防火墙的自身流量进行过滤。在centos和RHEL系统中:firewalld:7版本以上(centos7.x,RHEL7.x)iptables:6版本(centos6.x,RHEL6.x)注:ipta
分类:
其他好文 时间:
2019-02-18 17:34:37
阅读次数:
201
面向对象编程是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的方式。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。 封装原则:将属性隐藏起来,若需要访问 ...
分类:
编程语言 时间:
2019-02-17 20:46:37
阅读次数:
186
概念: volatile关键字,官方解释:volatile可以保证 可见性、顺序性、一致性 。 可见性:volatile修饰的对象在加载时会告知JVM,对象在CPU的缓存上对多个线程是同时可见的。 顺序性:这里有JVM的内存屏障的概念,简单理解为:可以保证线程操作对象时是顺序执行的,详细了解可以自行 ...
分类:
编程语言 时间:
2019-02-15 15:49:25
阅读次数:
279
1. final的简介 final可以修饰变量,方法和类,用于表示所修饰的内容一旦赋值之后就不会再被改变,比如String类就是一个final类型的类。即使能够知道final具体的使用方法,我想对final在多线程中存在的重排序问题也很容易忽略,希望能够一起做下探讨。 2. final的具体使用场景 ...
分类:
其他好文 时间:
2019-02-08 20:12:25
阅读次数:
174
Java线程安全 可见性,原子性,有序性 Java内存模型(JMM) Java内存模型(Java Memory Model)描述了Java程序中各种变量(线程共享变量)的访问规则,以及在JVM中将变量存储到内存和从内存中读取变量这样的底层细节。 所有的变量都存储在主内存中。 每个线程都有自己独立的工 ...
分类:
编程语言 时间:
2019-02-06 13:17:11
阅读次数:
200