
java
文章平均质量分 58
xylylx
这个作者很懒,什么都没留下…
展开
-
Java正则表达式详解 (转载)
一、正则表达式基础知识 我们先从简单的开始。假设你要搜索一个包含字符“cat”的字符串,搜索用的正则表达式就是“cat”。如果搜索对大小写不敏感,单词“catalog”、“Catherine”、“sophisticated”都可以匹配。也就是说: 1.1 句点符号 假设你在玩英文拼字游戏,想要找出三个字母的单词,而且这些单词必须以“t”字母开头,以“n”...原创 2010-08-23 19:28:10 · 108 阅读 · 0 评论 -
热部署、热加载
不重启Tomcat有两种方式:热部署、热加载 热部署:容器状况在运行时重新部署整个项目。这类环境下一般整个内存会清空,重新加载,这类方式 有可能会造成sessin丢失等环境。tomcat 6确实可以热部署了,而且对话也没丢. 热加载:最好是在调试过程中使用,免患上整个项目加载,Debug标准样式支持热加载。容器状况在运行时重 新加载转变编译后的类。在这类环境下内存不...原创 2012-03-19 14:14:15 · 198 阅读 · 0 评论 -
理解java动态加载机制
1.java动态性java是一种动态解释性语言,程序运行时jvm将预先编译好的class文件按规则和需求加载到内存中,每个java文件都对应一个class文件,这些文件对于java运行环境都是一个个运行单元,当文件需要更新时,无需重新编译其他java文件,只需要将重新编译的class文件放到java路径当中,新功能就会更新。2.动态加载机制1)预先加载和按需加载2)显示加载和隐式加...原创 2012-03-20 00:01:50 · 466 阅读 · 0 评论 -
Java绝对好文,转载的!(转载)
想来学习Java也有两个年头了,永远不敢说多么精通,但也想谈谈自己的感受,写给软件学院的同仁们,帮助大家在技术的道路上少一点弯路。说得伟大一点是希望大家为软件学院争气,其实最主要的还是大家自身的进步提升?? 1. 关于动态加载机制?? 学习Java比C++更容易理解OOP的思想,毕竟C++还混合了不少面向过程的成分。很多人都能背出来Java语言的特点,所谓的动态加载机制等等。当然概念往...原创 2012-03-25 14:45:50 · 199 阅读 · 0 评论 -
Java访问权限修饰符(转)
1、Class类的访问权限: public:可以供所有的类访问。 默认:默认可以称为friendly但是,java语言中是没有friendly这个修饰符的,这样称呼应该是来源于c++。默认的访问权限是包级访问权限。 即如果写了一个类没有写访问权限修饰符,那么就是默认的访问权限,同一个包下的类都可以访问到,即使可以实例化该类 (当然如果这个类不具有实例化的能力...原创 2012-03-28 11:20:51 · 123 阅读 · 0 评论 -
为什么匿名内部类只能访问其所在方法中的final变量(转)
(1).所谓“局部内部类”就是在对象的方法成员内部定义的类。而方法中的类,访问同一个方法中的局部变量,却必须要加上一个final。(2).原因是编译程序实现上的困难:内部类对象的生命周期会超过局部变量的生命期。局部变量的生命期:当该方法被调用时,该方法中的局部变量在栈中被创建,当方法调用结束时,退栈,这些局部变量全部死亡。而内部类对象生命期,与其它类一样,当创建一个局部内部类对象后,只有当没有...原创 2012-03-28 15:45:59 · 127 阅读 · 0 评论 -
java内部类
一、 定义放在一个类的内部的类我们就叫内部类。二、 作用1.内部类可以很好的实现隐藏,也就是封装性。一般的非内部类,是不允许有 private 与protected权限的,但内部类可以2.内部类拥有外围类的所有元素的访问权限3.可是实现多重继承4.可以避免修改接口而实现同一个类中两种同名方法的调用1,概述内部类是指在一个外部类的内部再定义一个类。内部类作...原创 2012-03-28 16:26:55 · 105 阅读 · 0 评论 -
java学习之路(转)
(一) 从事软件行业工作已经近7年了,实际Java开发也就是近4年.真正从怎么会用Eclipse开始学起. 问过同事一个对象为什么可以几个类共用 ...到现在4年后的今天,也不敢说Java学的有多好,相反觉得有很多东西要去学习. 只想就我个人的一些心得,给初学者一点可资借鉴的意见吧. 今天先说说学习Java的必备条件, 其一,兴趣. "兴趣是最好的老师",很...原创 2012-03-30 15:01:33 · 113 阅读 · 0 评论 -
Java程序设计之-复合优先于继承
组合通过创建一个由其他对象组合的对象来获得新功能的重用方法 新功能的获得是通过调用组合对象的功能实现的 有时又叫聚合 例如: 一个对象拥有或者对另外一个对象负责并且两个对象有相同的生命周期。(GOF) 一个对象包含另一个对象集合 被包含对象对其他对象是不可见的并且只能从包含它的对象中访问的特殊组合形式 组合的优缺点优点 1. 被包含对象通过包含他们的...原创 2012-04-03 10:33:38 · 190 阅读 · 0 评论 -
浅析java回调机制与观察者模式
1 java回调机制:首先解释java回调机制,对象能够携带一些信息,这些信息允许它在稍后的某个时刻调用初始的对象,如果回调是通过指针实现的,那么就只能寄希望程序员不会误用此指针,java更小心仔细,所以没有在语言中包括指针。回调的价值在于它的灵活性-可以在运行时动态决定需要调用什么方法。Java代码 import static net.mindview.util.Print.*...原创 2012-04-10 17:23:10 · 152 阅读 · 0 评论 -
Java访问控制private之我见
最近待业在家,遂有空重新读了thinking in Java这本书,发现工作了几年,对访问控制有了更深的理解,这里专谈private关键字,想了一个例子,以记录自己的理解。访问控制的原因有二:1.避免客户端程序员触及他们不应该触及的部分2.允许库设计者改变类内部工作方式而不担心影响到客户端程序员下面分别对这两点进行解释,请看下面的代码。[code="java"]pu...原创 2013-05-24 11:36:53 · 428 阅读 · 0 评论 -
组合or继承
到底使用组合还是继承是每本讲设计的资料里都要讨论一番的话题,两者的目标都是为了实现代码复用。下面说说我对组合和继承的优缺点的理解。继承缺点:1.破坏封装性1)继承所有接口:不管是自己想要的接口还是不想要的接口,统统继承过来,导致对外提供的服务混乱,不利于程序管理2)父类子类紧耦合:在一些极端的例子中,父类和子类紧耦合,子类依赖于父类的实现细节,如effective java 中...原创 2013-05-27 11:54:18 · 203 阅读 · 0 评论 -
Registry of Singleton 模式(转)
考虑使用 Singleton 模式 时拥有子类别的问题,在Singleton模式中的getInstance()通常是一个静态方法,不能在子类别中重新定义它,关于子类别实例的产生交由getInstance()来进行是最好的选择,例如:public class Singleton { private static Singleton instance = null; pri...原创 2012-03-06 10:01:20 · 183 阅读 · 0 评论 -
单例模式(Singleton Pattern)
6.单例模式(Singleton Pattern)前面说提到的五种创建模式,主要解决的问题是如何创建对象,获得产品。而单例模式最要关心的则是对象创建的次数以及何时被创建。 Singleton模式可以是很简单的,它的全部只需要一个类就可以完成(看看这章可怜的UML图)。但是如果在“对象创建的次数以及何时被创建”这两点上较真起来,Singleton模式可以相当的复杂,比头五种模式加起来还复...原创 2012-03-05 20:40:11 · 99 阅读 · 0 评论 -
java.util.concurrent 多线程框架
http://daoger.iteye.com/blog/142485背景前段时间一个项目中因为涉及大量的线程开发,把jdk cocurrent的代码重新再过了一遍。这篇文章中主要是记录一下学习ThreadPoolExecutor过程中容易被人忽略的点,Doug Lea的整个类设计还是非常nice的 正文先看一副图,描述了ThreadPoolExecutor的工...原创 2012-02-26 16:15:16 · 127 阅读 · 0 评论 -
验证日期的正则表达式比较全面地验证(转载)
1.验证日期的正则表达式加入闰年的判断以及思路分析进入正题之前,我们需要澄清两个概念:一,什么是合法的日期范围?对于不同的应用场景,这个问题有不同的解释。这里采纳MSDN中的约定:DateTime 值类型表示值范围在公元(基督纪元)0001 年 1 月 1 日午夜 12:00:00 到公元 (C.E.) 9999 年 12 月 31 日晚上 11:59:59 之间的日期和时间。 ...原创 2010-08-23 19:37:15 · 150 阅读 · 0 评论 -
wait、sleep 和 yield 方法(转)
wait是Object类的方法,sleep与yield都是Thread类的方法。wait调用的时候需要注意的是该方法是释放锁标志的,而sleep在调用的时候是紧紧抱着锁标志的,也就是等他完全执行完成了才可以让其他线程来访问的sleep 方法使当前运行中的线程睡眼一段时间,进入不可运行状态,这段时间的长短是由程序设定的,yield 方法使当前线程让出 CPU 占有权,但让出的时间是不可设定的。实...原创 2010-10-22 17:38:05 · 128 阅读 · 0 评论 -
thread 和 runnable 区别
· 两种实现方式的区别和联系:在程序开发中只要是多线程肯定永远以实现Runnable接口为主,因为实现Runnable接口相比继承Thread类有如下好处:->避免点继承的局限,一个类可以继承多个接口。 ->适合于资源的共享以卖票程序为例,通过Thread类完成:package org.demo.dff;class MyThread extends Thread{ privat...原创 2010-10-26 17:25:17 · 106 阅读 · 0 评论 -
java实现生产者与消费者问题
class Producer implements Runnable { private String producerName = null; private StoreHouse storeHouse = null; public Producer(String producerName, StoreHouse storeHouse) ...原创 2011-11-01 10:43:13 · 151 阅读 · 0 评论 -
java多线程总结及示例(线程创建、后台线程、volatile、线程池、生产者消费者)(转)...
[b]java多线程总结一:线程的两种创建方式及优劣比较 [/b]首先分析两种方式的输出结果,同样是创建了两个线程,为什么结果不一样呢?使用实现Runnable接口方式创建线程可以共享同一个目标对象(TreadDemo1 tt=new TreadDemo1();),实现了多个相同线程处理同一份资源。然后再看一段来自JDK的解释:Runnable 接口应该由那些打算通...原创 2011-11-01 11:54:18 · 128 阅读 · 0 评论 -
synchronized与static synchronized 的区别
1.synchronized与static synchronized 的区别 synchronized是对类的当前实例进行加锁,防止其他线程同时访问该类的该实例的所有synchronized块,注意这里是“类的当前实例”, 类的两个不同实例就没有这种约束了。那么static synchronized恰好就是要控制类的所有实例的访问了,static synchronized是限制线程同...原创 2011-12-24 22:48:40 · 98 阅读 · 0 评论 -
Java线程同步机制synchronized关键字的理解
由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。 需要明确的几个问题: 1)synchronized关键字可以作为函数的修饰符,也可作为函数内的语句,也就是平时说的同步方法和同步语句块。如果再细的分类,synchronized可作用于instance...原创 2011-12-25 14:34:58 · 153 阅读 · 0 评论 -
XML 系列教程
http://www.w3school.com.cn/x.asp原创 2012-05-06 12:50:18 · 166 阅读 · 0 评论 -
内部类为什么必须引用final局部变量
在方法中创建内部匿名类时,一般是作为callback接口的实现而创建的,可能方法已经执行完了局部变量生命周期结束了,之后如果callback触发了,就可能引起变量引用丢失等内存访问不一致。而加上final后,编译器是这样处理内部类的。如果这个外部局部变量是常量,则在内部类代码中直接用这个常量。如果是类的实例,则编译器将产生一个内部类的构造参数,将这个final变量传到内部类里,这样即使外部...原创 2011-11-13 21:40:21 · 167 阅读 · 0 评论 -
Java回调函数的理解 (转)
所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定B的接口规范(函数原型),然后由C提前通过S的一个函数R告诉S自己将要使用B函数,这个...原创 2011-11-19 01:08:54 · 94 阅读 · 0 评论 -
关于多个线程同时调用单例模式的对象,该对象中方法的局部变量是否会受多个线程的影响...
对于那些会以多线程运行的单例类,例如Web应用中的Servlet,每个方法中对局部变量的操作都是在线程自己独立的内存区域内完成的,所以是线程安全的。对于成员变量的操作,可以使用ThreadLocal来保证线程安全。局部变量不会受多线程影响成员变量会受到多线程影响多个线程应该是调用的同一个对象的同一个方法:如果方法里无成员变量,那么不受任何影响如果方法里有成员变量,只...原创 2012-02-12 12:16:42 · 300 阅读 · 0 评论 -
线程----BlockingQueue (转),java
/** 本例介绍一个特殊的队列:BlockingQueue,如果BlockQueue是空的,从BlockingQueue取东西的操作将会被阻断进入等待状态,直到BlockingQueue进了东西才会被唤醒.同样,如果BlockingQueue是满的,任何试图往里存东西的操作也会被阻断进入等待状态,直到BlockingQueue里有空间才会被唤醒继续操作. 本例再次实现11.4线...原创 2012-02-26 13:50:00 · 96 阅读 · 0 评论 -
面向接口编程详解
面向接口编程详解 2009-04-23 作者:张洋 来源:ZhangYang's Blog 本系列《面向接口编程详解》将分为三部分:面向接口编程详解(一)——思想基础 在这一篇中,将对接口及面向接口编程有个大致的介绍,着重在于思想上的讲解。面向接口编程详解(二)——编程实例 这一篇将结合一个实例“移动存储设备模拟”来让大家对面向接口编程有个直观印象。面向接口...原创 2012-04-19 21:42:38 · 141 阅读 · 0 评论