- 浏览: 21671 次
- 性别:
- 来自: 深圳
最新评论
-
FDI:
请教下楼主,如果在不同代码块中存在同名的函数声明,在预编译期间 ...
Javascript的"预编译"思考 -
liu_87663663:
讨论的很深刻,不错。
Javascript的"预编译"思考 -
finaland:
..............你回复的也太快了吧,我正在一边思想 ...
Javascript的"预编译"思考 -
finaland:
[再接刚才的回复]抱歉,刚才的回复贴了之后,总感觉针芒在背,坐 ...
Javascript的"预编译"思考 -
finaland:
[接刚才的回复]理由是:# <script> # ...
Javascript的"预编译"思考
文章列表
今天工作需要,搜索下JS面试题,看到一个题目,大约是这样的
<script>
var x = 1, y = z = 0;
function add(n) {
n = n+1;
}
y = add(x);
function add(n) {
n = n + 3;
}
z = add(x);
</script>
问执行完毕后 x, y, z 的值分别是多少?
仔细看的人马上就知道了, x, y 和 z 分别是 1, undefined 和 undefined。
...
- 2009-10-22 22:04
- 浏览 5169
- 评论(13)
今天下了个框架的Demo本地运行瞧瞧,结果死活找不到XX配置文件,报错如下
Caused by: java.io.FileNotFoundException: Users/apple/Downloads/Folx/apache-tomcat-6.0.32/webapps/simple3/WEB-INF/project.xml (No such file or directory)
索性自己 download 源码看,发现其获取配置文件是这么写的
final File projectFile = new File(servletContext.getRealPath(& ...
在 Java 中,finally 有没有可能不会执行的,试看看下面的情况
public class TestFinally {
private static class DaemonThread extends Thread {
@Override
public void run() {
try {
TimeUnit.MILLISECONDS.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
Syst ...
1. linux 访问 window 共享的方法
* 建立挂载目录如 /mnt/share
* smbmount //targetIp/targetFolder localFolder 挂载之, 如果没有安装 smbmount, 可用 sudo apt-get install smbfs 来安装
* smbumount localFolder 取消挂载.
* linux 一般是 utf8, windows 是 gbk,因此如果共享目录有中文,则需要设置编码,
smbmount //targetIp/targetFolder localFolder -o codepage ...
volatile(不稳定的)
volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。
Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。
这样当多个线程同时与某个对象交互时,就必须要注意到要让线程及时的得到共享成员变量的变化。
而volatile关键字就是提示VM:对于这个成员变量不能保存它的私有拷贝,而应直接与共享成员变量交互。
使用建议 ...
ClassLoader学习心得
1. 实例化指令才会使类装载器装载类。单独声明并不会装载。
A a = new A(); // load class A
B b; // class B won't be loaded
2. 类的静态初始化块的执行默认是在第一次实例化时执行,而并非在装载时就执行。
采用 new class 或者 Class.forName(String) 的方式加载类时,默认行为是"加载类"和"执行初始化块"一起进行。
但是采用 Class.forName(St ...
淘宝UED的CSS书写顺序:
.css {
// 显示属性
display:
position:
float:
clear;
cursor:
// 盒模型
width:
height:
margin:
padding:
// 文字
color:
font:
content:
text-align:
text-decoration:
white-space:
vertical-align:
// 边 ...
记录一些CSS学习过程的心得。
DOCTYPE 需要声明,不然浏览器会以怪异模式进行解析页面。
在 XHTML 页面前面可以加上XML声明,如
<?xml version="1.0" encoding="utf-8" ?>
但是对于IE6来说,如果第一行不是DOCTYPE声明,就会以怪异模式进行解析。
选择器如果有空格,那么是选择后代,否则是选择一个元素。
伪类选择器采用冒号:来进行选择,而且没有空格,如 a:hover。
对于只使用@import导入样式的文档,IE6在加载最终样式前没有显示样式,可以在文档头 ...
HashMap 和 HashTable
- 博客分类:
- Java线程安全
区别
HashTable 与 HashMap 的区别主要在于 HashTable 是同步的,而 HashMap 不是同步的。
HashTable 在 get(), put(), remove() 等方法都加上了 synchronized 关键字进行同步。这样的效率确实不高。
HashMap 如果想使用同步版的,可以使用 Collections.synchronizedMap(new HashMap()) 来获取同步版。具体实现也就是添加了一个 Object,然后调用 get(), put() 等方法时都先锁定这个 Object。
误区
同步的不代表是线程安全的,比如下面的代码。由于这个事 ...
window.onload 应该都知道了,不过此事件要在DOM完全加载完毕,包括图片都加载完毕才触发,如果我们有事情需要注册到onload上,有时恐怕得等到黄瓜菜都凉了。于是这时 DOMContentLoaded 翩翩而来,此事件在 DOM 加载完毕(不包括图片都加载完毕)后触发,正合要求,但很不幸的是此事件IE不支持。下面来看看JQuery的如何解决这个问题,废话不说,直接看代码
ready: function( fn ) {
// 绑定监听
jQuery.bindReady();
// 如果 DOM 加载完毕
if ( jQuery.isReady ) {
...
DOMContentLoaded 与 onload 的不同之处在于 DOMContentLoaded 发生在 DOM 加载完毕,但是图片等可能未加载完成的情况。DOMContentLoaded 被除IE外的浏览器支持。针对IE浏览器,也可以模拟这个事件,有两种方案
1、 在页面加一个标签
<script src="//:" defer />
<script type="text/javascript">
//<![CDATA[
var $ = document.getElementById;
var fire ...
今天看了一点JDK的代码,不巧居然看到了 JDK 的一个小 bug, 呵呵。且看 javax.sql.rowset.serial 包下的 SerialBlob 类,其中有段代码如下
/**
* Returns the position in this <code>SerialBlob</code> object where
* the given pattern of bytes begins, starting the search at the
* specified position.
*
...
初涉 JS, 颇有些新鲜感。整理出几个心得
1. undefined
当需要判断一个变量是否为 undefined 时,直接用
alert(om == undefined);
可能出错。因为 JS 如果引用未声明的变量,那么会出现JS错误,在上述例子中,如果 om 未曾声明,就会报 JS 错误。因此判断一个变量是 undefined,最好用这种方法
alert(typeof om == 'undefined');
2. JS 中没有块作用域,在函数中声明的变量在整个函数中都可用(无论是在函数开头处声明还是末尾处声明),如
function() {
...
- 2009-10-10 16:18
- 浏览 1085
- 评论(0)