一、内存分配的策略 按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的. 静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而在编译时就可以给他们分配固定的内存空间.这种分配策略要求程序代码中不允许有可变数据结构(比如可变数组)的存在,也不允.....
分类:
编程语言 时间:
2015-11-15 01:00:37
阅读次数:
349
一.static关键字的用途 可以在没有创建对象的情况下来进行(方法/变量)调用。也就是,被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。 1,static修饰方法 static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以...
分类:
编程语言 时间:
2015-11-15 00:49:46
阅读次数:
395
volatile:只保证共享资源的可见性的,任何修改都写在主存,所有线程马上就能看到,适用于新值不依赖于旧值的情形。synchronized:保证可操作的原子性一致性和可见性。volatile和synchronized的区别: volatile仅仅使变量在值发生改变时能尽快地让其他线程知道,并不能....
分类:
编程语言 时间:
2015-11-15 00:47:16
阅读次数:
263
1,Executor、ExecutorService和ScheduledExecutorService,它们都是接口,它们的关系是ScheduledExecutorService继承ExecutorService而ExecutorService 又继承Executor。这些只要点开源码就能看得到.....
分类:
编程语言 时间:
2015-11-14 01:04:37
阅读次数:
218
ConcurrentHashMap提供了和Hashtable以及SynchronizedMap中所不同的锁机制。1,在并发方面, ConcurrentHashMap提供了好得多的并发性。多个读操作几乎总可以并发地执行,同时进行的读和写操作通常也能并发地执行,而同时进行的写操作仍然可以不时地并发进行(...
分类:
编程语言 时间:
2015-11-14 00:54:28
阅读次数:
273
一,定义 CopyOnWrite容器即写时复制的容器。通俗的理解是当我们往一个容器添加元素的时候,不直接往当前容器添加,而是先将当前容器进行Copy,复制出一个新的容器,然后新的容器里添加元素,添加完元素之后,再将原容器的引用指向新的容器。这样做的好处是我们可以对CopyOnWrite容器进行并发....
分类:
编程语言 时间:
2015-11-14 00:51:16
阅读次数:
330
关于二叉树,目前在leetcode中遇到了两道题目,一道是二叉树的最大深度,一道是二叉树的最小深度;关于二叉树,整好借此机会再学习一下;二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树是递...
分类:
其他好文 时间:
2015-11-13 06:18:37
阅读次数:
274
关于这个问题,先了解一下Thread类方法中被废弃的那些方法。suspend(), resume(),stop()/stop(Throwable obj),destroy()首先,stop(Throwable obj)和destroy()方法在最新的Java中直接就不支持了,没必要去看了。我们只需瞧...
分类:
编程语言 时间:
2015-11-12 01:10:58
阅读次数:
218
Java创建线程有两种方法,一种是继承Thread,另一种实现Runnable或Callable接口。一,继承Threadpublic class APP { public static void main(String[] args) { Thread thread = new...
分类:
编程语言 时间:
2015-11-08 14:17:28
阅读次数:
257
一、Date–s在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date-s后,如果马?.
分类:
系统相关 时间:
2015-10-28 17:29:23
阅读次数:
252