- 浏览: 515876 次
- 性别:
- 来自: 武汉
最新评论
文章列表
什么是arguments
arguments 是是JavaScript里的一个内置对象,它很古怪,也经常被人所忽视,但实际上是很重要的。所有主要的js函数库都利用了arguments对象。所以agruments对象对于javascript程序员来说是必需熟悉的。
所有的函数都有属于自己的一个arguments对象,它包括了函所要调用的参数。他不是一个数组,如果用typeof arguments,返回的是’object’。虽然我们可以用调用数据的方法来调用arguments。比如length,还有index方法。但是数 组的push和pop对象是不适用的。
创建一个灵活的函数
看起来貌 ...
关于Thread.IsAlive属性
- 博客分类:
- J2SE
今天在讨论多线程的时候,谈到了这个属性。IsAlive,顾名思义,它表示线程当前是否为可用状态,如果线程已经启动,并且当前没有任何异常的话,则返回true,否则为false
为什么要了解这个属性,是因为下面代码有的朋友不是很理解
下面代码演示的多个线程对共享资源争用的问题,具体细节这里不详细讨论了。
Thread thread1 = new Thread(new ThreadStart(SomeMethod));
Thread thread2 = new Thread(new ThreadStart(SomeMethod));
Thread thread3 = new T ...
基于总线模式的消息服务
- 博客分类:
- J2EE
前言
一直以来,都对异步事件很感兴趣,比如一个应用在运行一个耗时的过程时,最好的方式是提交这个耗时的过程给一个专门的工作线程,然后立即返回到主线程上,进行其他的任务,而工作线程完成耗时任务后,异步的通知主线程,这个过程本身是很有意思的。传统的事件-监听器模型可以较好的解决这个问题,不过事件和监听器两者的耦合往往略显紧密,所以需要另一种实现,使得这两者的耦合尽量小,那样模块可以比较通用。
总线模式
前几天跟同事讨论了下Swing中的消息机制,同事给我讲了下总线模式的消息机制,感觉很有意思,于是周末就自己实现了下。具体的思路是这样的:
系统中存在一个消息服务(Message Ser ...
Git合并两个commit
- 博客分类:
- Git
一个同事让我把他的repository若干个commit变成一个,我用git rebase -i合并到最后发现剩下只有两个commit的时候,git rebase -i不再起作用,于是我求助了git maillist,果然很快有人给出了答案:
$ git reset --soft HEAD^1 只回退commit,保留change和index
$ git commit -a --amend
$ git push origin --force
git reset --mixed:此为默认方式,不带任何参数的git reset,即这种方式,它回退到某个版本,只保留源码,回 ...
Backbone 可编辑表格实现
- 博客分类:
- Backbone
需求:用backbone.js和jquery实现一个可编辑的员工信息表格。
功能:1、录入员工信息。2、删除员工信息。3、双击表格可对员工信息进行修改。4、能对员工信息进行有效性校验。5、能对员工信息进行持久化。
设计:
用Employe ...
文章源自:http://www.ibm.com/developerworks/cn/web/1209_shiwei_requirejs/index.html
AMD 简介
前端开发在近一两年发展的非常快,JavaScript 作为主流的开发语言得到了前所未有的热捧。大量的前端框架出现了,这些框架都在尝试着解决一些前端开发中的共性问题,但是实现又不尽相同。在这个背景下,CommonJS 社区诞生了,为了让前端框架发展的更加成熟,CommonJS 鼓励开发人员一起在社区里为一些完成特定功能的框架制定规范。AMD(Asynchronous Module Definition)就是其中的一 ...
文章源自:http://blog.fens.me/nodejs-browserify/
从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发。Nodejs框架是基于V8的引擎,是目前速度最快的Javascript引擎。chrome浏览器就基于V8,同时打开20-30个 ...
Java:对象的强、软、弱和虚引用
- 博客分类:
- J2SE
文章源自:http://zhangjunhd.blog.51cto.com/113473/53092/
1.对象的强、软、弱和虚引用
在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用。图1为对象应用类层次。
⑴强引用(StrongReference
github添加合作者
- 博客分类:
- Git
打开项目主页,然后按照如下步骤进行操作:
Settings -> Collaborators ->输入一个要添加的账号->点击"Add Collaborators"
这样即可以进行合作开发了
这仅仅是最简单的操作,还有比较复杂的一些,比如Organizations以及Team等,参见如下(转载):
GitHub提供免费的团队环境,不过免费仓库容量是300MB,请大家注意。
申请GitHub个人账号
1. 使用浏览器访问GitHub主页。如果使用IE,尽量不使用IE9以下的版本。
2.1. 没有申请过GitHub账 ...
IndexedDB:浏览器里内置的数据库
- 博客分类:
- HTML5
文章源自:http://www.webhek.com/indexeddb
IndexedDB是HTML5规范里新出现的浏览器里内置的数据库。对于在浏览器里存储数据,你可以使用cookies或local storage,但它们都是比较简单的技术,而IndexedDB提供了类似数据库风格的数据存储和 ...
冒泡型事件的基本思想是、事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发。
<html>
<head>
<title></title>
</head>
<body onclick="theClick()">
<div onclick="theClick()">点击</div>
</body>
</html>
IE5.5冒 ...
一个通用并发对象池的实现
- 博客分类:
- J2SE
Source: http://ifeve.com/generic-concurrent-object-pool/
Source of English: http://www.javacodegeeks.com/2012/09/a-generic-and-concurrent-object-pool.html
这篇文章里我们主要讨论下如何在Java里实现一个对象池。最近几年,Java虚拟机的性能在各方面都得到了极大的提升,因此对大多数对象而言,已经没有必要通过对象池来提高性能了。根本的原因是,创建一个新的对象的开销已经不像过去那样昂贵了。
然而,还是有些对象,它们的创建开销是非常大的 ...
如何创建不可变的Java类或对象
- 博客分类:
- J2SE
在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述如何创建不可变的Java类或对象,更多Java专业知识,广州疯狂java培训官网与你分享;
immutable Objects
文章源自:http://www.cnblogs.com/linjiqin/archive/2013/05/30/3108188.html
并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法
在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。
注:什么叫线程安全?这 ...
spring配置详解-连接池配置(转载)
- 博客分类:
- J2EE
一、连接池概述 数据库连接池概述: 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能 ...