Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Java集合大家族

Java集合大家族

在编写 Java 程序中,我们最常用的除了八种基本数据类型,String 对象外还有一个集合类,在我们的的程序中到处充斥着集合类的身影!Java 中集合大家族的成员实在是太丰富了,有常用的 ArrayList、HashMap、HashSet,也有不常用的 Stack、Queue,有线程安全的 Vector、HashTable,也有线程不安全的 LinkedList、TreeMap 等等!上面的图展示了整个集合大家族的成员以及他们之间的关系。下面就上面的各个...
Java内存模型-volatile

Java内存模型-volatile

volatile 的特性当我们声明共享变量为 volatile 后,对这个变量的读/写将会很特别。理解 volatile 特性的一个好方法是:把对 volatile 变量的单个读/写,看成是使用同一个锁对这些单个读/写操作做了同步。下面我们通过具体的示例来说明,请看下面的示例代码:class VolatileFeaturesExample {//使用volatile声明64位的long型变量volatile long vl = 0L;public void...
Java内存模型-final

Java内存模型-final

与前面介绍的锁和 volatile 相比较(见http://www.linuxidc.com/Linux/2016-08/134512.htm),对 final 域的读和写更像是普通的变量访问。对于final 域,编译器和处理器要遵守两个重排序规则:在构造函数内对一个 final 域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序。初次读一个包含 final 域的对象的引用,与随后初次读这个 final 域,这两个操作之间不...
Canonical为Ubuntu系统发布Linux Kernel安全更新

Canonical为Ubuntu系统发布Linux Kernel安全更新

Ubuntu 安全公告 USN-3084-1 声称,目前已经发现三个安全漏洞会影响到 Ubuntu 16.04 LTS(Xenial Xerus)系统、更高版本,以及其衍生系统。第一个漏洞发现于 Linux Kernel 的审核子系统,它可以允许本地攻击者中断系统调用的审核或损坏审核日志。第二个安全问题关系到 Linux Kernel 的 KVM(基于内核的虚拟机)虚拟机管理程序实现,它没有在 PPC64 (PowerPC 64-bit)和PowerPC(...
Java内存模型-总结

Java内存模型-总结

处理器内存模型顺序一致性内存模型是一个理论参考模型,JMM 和处理器内存模型在设计时通常会把顺序一致性内存模型作为参照。JMM 和处理器内存模型在设计时会对顺序一致性模型做一些放松,因为如果完全按照顺序一致性模型来实现处理器和 JMM,那么很多的处理器和编译器优化都要被禁止,这对执行性能将会有很大的影响。根据对不同类型读/写操作组合的执行顺序的放松,可以把常见处理器的内存模型划分为下面几种类型:放松程序中写-读操作的顺序,由此产生了 total store...
计算机程序能像数学证明那样无法破解

计算机程序能像数学证明那样无法破解

2015 年夏天,一组黑客尝试控制一架军用无人直升机。 黑客已经抢得了一个先机:他们已能访问无人机的部分计算机系统,他们所需要做的是入侵无人机的机载飞行控制计算机,然后无人机就是他们的了。 在美国国防部高级研究计划署(DARPA)发起的这个项目的早期,“红队”黑客们就像入侵你的家庭无线网络那样轻而易举的控制无人机。但随后的几个月,DARPA 的工程师实现了一种新的安全机制——一种无法用现有技术破解的软件系...
C++ 变量初始化规则

C++ 变量初始化规则

定义没有初始化式的变量时,系统有时候会帮我们初始化变量。系统如何初始化取决于变量的类型以及变量定义的位置。内置类型变量是否自动初始化取决于变量定义的位置。函数体外定义的变量初始成0;函数体内定义的变量不进行自动初始化。除了用作赋值操作的左操作数,其他任何使用未初始化变量的行为都是未定义的,不要依赖未定义行为。以int类型为例,一段简单的测试代码:#include <iostream>using namespace std;int a;int m...
Java集合-hashCode

Java集合-hashCode

hashCode 的作用在 Java 集合中有两类,一类是 List,一类是 Set 他们之间的区别就在于 List 集合中的元素师有序的,且可以重复,而 Set 集合中元素是无序不可重复的。对于 List 好处理,但是对于 Set 而言我们要如何来保证元素不重复呢?通过迭代来 equals() 是否相等。数据量小还可以接受,当我们的数据量大的时候效率可想而知(当然我们可以利用算法进行优化)。比如我们向 HashSet 插入 1000 数据,难道我们真的要...
<< 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 >>