java基础知识
scusyq
这个作者很懒,什么都没留下…
展开
-
什么是线程安全和线程不安全
首先要明白线程的工作原理,jvm有一个main memory,而每个线程有自己的working memory,一个线程对一个variable进行操作时,都要在自己的working memory里面建立一个copy,操作完之后再写入main memory。多个线程同时操作同一个variable,就可能会出现不可预知的结果。根据上面的解释,很容易想出相应的scenario。而用转载 2011-10-20 15:29:35 · 463 阅读 · 0 评论 -
java synchronized理论和实例详解
理论部分 打个比方:一个object就像一个大房子,大门永远打开。房子里有 很多房间(也就是方法)。这些房间有上锁的(synchronized方法), 和不上锁之分(普通方法)。房门口放着一把钥匙(key),这把钥匙可以打开所有上锁的房间。另外我把所有想调用该对象方法转载 2011-10-19 16:17:39 · 1018 阅读 · 1 评论 -
正则表达式大全
Java代码 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。如: JScript VBScript 匹配 /^\[ \t]*$转载 2011-12-12 18:07:07 · 658 阅读 · 0 评论 -
Failed to create the Java Virtual Machine
由于项目里面用eclipse,今天从eclipse官网下载了一个Eclipse IDE For Java EE Developers,版本:eclipse-jee-helios-win32 自己电脑上装的jdk版本是:1.6.0_20解压后启动,发现弹出提示框“ Failed to create the Java Virtual Machine”转载 2012-01-12 14:32:39 · 398 阅读 · 0 评论 -
面向类的适配器模式
转自 http://lavasoft.blog.51cto.com/62575/90767目的:将一个类的接口转换成客户希望的另外一个接口。A d a p t e r 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 意图:你想使用一个已经存在的类,而它的接口不符合你的需求。 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一转载 2012-04-07 00:14:21 · 480 阅读 · 0 评论 -
默认适配器模式
默认适配器是怎样产生的呢?有时我们定义的接口中多个接口方法,如果直接实现此接口,那么需要在实现类中实现所有的方法,往往不同的需要,可能只用到接口中一个或者几个方法,但显然用这样的实现类会造成资源的浪费,系统开销的加大。那么如何解决此问题,用是配给模式。适配器模式的的核心思想是:为原接口类实现一个默认的抽象类,在改抽象类中编写每一个放的默认实现,当我们需要编写一个具体类事,只需要继承该抽象类,而转载 2012-04-07 00:30:30 · 661 阅读 · 0 评论 -
java中接口和抽象类及其与接口有关的设计模式
使用接口和抽象类的总的原则如下:1.用接口作为系统和外界交互的窗口。站在外界使用者(另一个系统)的角度,接口向使用者承诺系统能够提供哪些服务;站在系统的角度,接口指定系统必须实现哪些服务。接口是系统中最高层次的抽象类型。这里的系统即可以指整个大系统,也可以指完成特定功能的相对独立的局部系统。2.由于外界使用者依赖系统的接口,并且系统内部会实现接口,因此接口本身必须十分稳定,接口一旦制定,就转载 2012-04-06 17:59:01 · 1154 阅读 · 2 评论 -
多线程同步之生产者---消费者模型
生产者消费者模型对于多线程程序来说,不管任何编程语言,生产者和消费者模型都是最经典的。就像学习每一门编程语言一样,Hello World!都是最经典的例子。实际上,准确说应该是“生产者-消费者-仓储”模型,离开了仓储,生产者消费者模型就显得没有说服力了。对于此模型,应该明确一下几点:1、生产者仅仅在仓储未满时候生产,仓满则停止生产。2、消费者仅仅在仓储有产品时候才能消费转载 2012-06-25 19:28:33 · 684 阅读 · 0 评论