Java:
java concurrent包下的4个类:
Semaphore:类,控制某个资源可被同时访问的个数。
ReentrantLock:类,具有与使用synchronized方法和语句所访问的隐式监视器锁相同的一些基本行为和语义,但功能更强大。
Future:接口,表示异步计算的结果。
CountDownLatch:类,可以用来在一个线程中等待多个线程完成任务的类。
JVM内存可简单分为三个区:
1.堆区(heap):用于存放所有对象,是线程共享的(注:数组也属于对象)
2.栈区(stack):用于存放基本数据类型的数据和对象的引用,是线程私有的(分为:虚拟机栈和本地方法栈)
3.方法区(method):用于存放类信息、常量、静态变量、编译后的字节码等,是线程共享的(也被称为非堆,即None-Heap)
Java的垃圾回收器(GC)主要针对堆区。
Java的引用类型:
1.强引用:一个对象赋给一个引用就是强引用,比如new一个对象,一个对象被赋值一个对象。
2.软引用:用SoftReference类实现,一般不会轻易回收,只有内存不够才会回收。
3.弱引用:用WeakReference类实现,一旦垃圾回收已启动,就会回收。
4.虚引用:不能单独存在,必须和引用队列联合使用。主要作用是跟踪对象被回收的状态。
CSS:
CSS中position属性有4个可选值,它们分别是:static、absolute、fixed、relative。
position:static 无定位
该属性值是所有元素定位的默认情况,在一般情况下,我们不需要特别的去声明它,但有时候遇到继承的情况,我们不愿意见到元素所继承的属性影响本身,从而可以用position:static取消继承,即还原元素定位的默认值。
position:absolute 绝对定位
使用position:absolute,能够很准确的将元素移动到你想要的位置。
position:fixed 相对于窗口的固定定位
这个定位属性值是什么意思呢?元素的定位方式同absolute类似,但它的包含块是视区本身。在屏幕媒体如WEB浏览器中,元素在文档滚动时不会在浏览器视察中移动。例如,它允许框架样式布局。在页式媒体如打印输出中,一个固定元素会出现于第一页的相同位置。这一点可以用于生成流动标题或脚注。我们也见过相似的效果,但大多数效果不是通过CSS来实现了,而是应用了JS脚本。请注意:IE6不支持CSS中的position:fixed属性。
position:relative 相对定位
所谓相对定位到底是什么意思呢?就是基于哪里的相对呢?相对定位是相对于元素默认的位置的定位。既然是相对的,我们就需要设置不同的值来声明定位在哪里,top、bottom、left、right四个数值配合,来明确元素的位置。