摘要:原文符号因为?在正则表达式中有特殊的含义,所以如果想匹配?本身,则需要转义,\?有无量词问号可以表示重复前面内容的0次或一次,也就要么不出现,要么出现一次。非贪婪匹配贪婪匹配在满足匹配时,匹配尽可能长的字符串,默认情况下,采用贪婪匹配string pattern1 = @"a.*c"; // greedy match Regex regex = new Regex(pattern1);regex.Match("abcabc"); // return "abcabc"非贪婪匹配在满足匹配时,匹配尽可能短的字符串,使用?来表示非贪婪匹配s
阅读全文
文章分类 - Java
摘要:JVM启动参数解析JVM启动参数共分为三类;其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容;其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;其三是非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用;本文主要描述标准参数部分,剩下的两个部分将会陆续推出。JVM启动参数之标准参数列表如下:-client设置jvm使用client模式,特点是启动速度比较快,但运行时性能和内存管理效率不高,通常用于客户端应用程序或者PC应用开发和调试。-server此JVM启动参数中
阅读全文
摘要:How to stop at a C/C++ code block while debugging a Java JNI?I use the procedure described below to break the code execution into a C/C++ code while debugging a JNI code block. I use Microsoft Visual Studio 2008 and Netbeans IDE for my project.I am sure you can adapt it for other IDEs as well.Config
阅读全文
摘要:Collection,Map,HashMap,hashTable,TreeMap,List,Vector,ArrayList的区别Collection接口,包含list和set子接口Collection和Map接口之间的主要区别在于:Collection中存储了一组对象,而Map存储关键字/值对。在Map对象中,每一个关键字最多有一个关联的值。Map:不能包括两个相同的键,一个键最多能绑定一个值。null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,即可以表示Map中没有该键,也可以表示该键所对应的值为null。因此,在Map中不能由g
阅读全文
摘要:Invalid byte 1 of 1-byte UTF-8 sequence昨天在用SAX解析XML文档的时候,在XML文件中如果有中文的话就会抛出“invalid byte 1 of 1-byte UTF-8 sequence”异常,调试是总是找不到问题所在,于是求救于网络,终于找到问题所在,成功解决了问题,在此谢谢强大的网络资源。 XML内容实际是以UTF-8编码的,因此造成了包括中文字符的XML文件无法正常阅读,将编码格式改成“GB2312”后就可以正常解析了。<?xml version="1.0" encoding="GB2312"?&g
阅读全文
摘要:Java执行环境本身就是一个平台,执行于这个平台上的程序是已编译完成的Java程序(后面会介绍到Java程序编译完成之后,会以.class文件存在)。如果将Java执行环境比喻为操作系统,如果设置Path变量是为了让操作系统找到指定的工具程序(以Windows来说就是找到.exe文件),则设置Classpath的目的就是让Java执行环境找到指定的Java程序(也就是.class文件)。 有几个方法可以设置Classpath,最简单的方法是在系统变量中新增Classpath环境变量。在图2-9中的“系统变量”下单击“新建”按钮,在“变量名”文本框中输入Classpath,在“变量值”文本
阅读全文
摘要:远程调试对应用程序开发十分有用。例如,为不能托管开发平台的低端机器开发程序,或在专用的机器上(比如服务不能中断的 Web 服务器)调试程序。其他情况包括:运行在内存小或 CUP 性能低的设备上的 Java 应用程序(比如移动设备),或者开发人员想要将应用程序和开发环境分开,等等。先决条件启动配置类型启动配置保存一组用于启动程序的属性。启动配置类型是一种可以在 Eclipse 平台上启动的独特程序。如果您还没安装该程序,请下载 Eclipse V3.4(Ganymede)。在 Ganymede 中,套接字(socket)监听连接器被添加到 Remote Java Application 启动配置
阅读全文
摘要:用过EJB2.x的人估计对EJB带来的痛苦记忆犹新。一大堆的接口、一大堆的规定、一大堆的配置,痛苦不堪的调试……。因此,“我们是否需要EJB2”这个答案还是比较显然,那就是我们绝大多数系统不需要,除非你的系统真的是分布式计算,迫不得已需要用EJB2。 现在EJB3已经出炉了,开发的复杂度确实大大地减少,已经和编写普通Javabean无异,部署也非常方便。那么我们的系统是否需要采用EJB3呢? 我想用另一个问题来回答这个问题。那就是:我们要EJB3做什么? 通常EJB能提供如下用途:分布式计算、可配置的事务管理、OR-Mapping,容器管理的安全性等。 如果你的系统确实有分布式计算,或者把计算
阅读全文
摘要:http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html
阅读全文
摘要:http://zhangjunhd.blog.51cto.com/113473/128174当选择使用JPanel和顶层容器的content pane时,需要考虑布局管理。JPanel缺省是初始化一个FlowLayout,而content pane缺省是初始化一个BorderLayout。下面将分别介绍几种最常用的布局管理器:FlowLayout、BorderLayout、BoxLayout、Ca...
阅读全文
摘要:把Java对象序列化成二进制流存储到DB,再从DB反序列化回对象package examples.development.applications;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectInput...
阅读全文
摘要:在struts.xml中有dtd的定义,定义如下Java代码http://struts.apache.org/dtds/struts-2.0.dtd 这里定义该xml中的语法规则,从这里可以看到这个语法规则每次都会从网上拿,这当然会很费力气。我需要将其配置成本地的。 点击window->preferences->XML->XML Catalog. 点击add。 将struts2-...
阅读全文
摘要:我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个的所有属性和方法都会自动序列化。 然而在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性需要序列化,而其他属性不需要被序列化,诚然,你可以让这个类来实现Externalizable...
阅读全文
摘要:之前向大家推荐过一款Java反编译工具Java Decompiler, 目前该工具有对其进行较大的更新,所以也再次推荐给大家。官网下载网址:http://java.decompiler.free.fr/Eclipse 插件更新Url http://java.decompiler.free.fr/jd-eclipse/update目前该插件只支持Windows x86平台。 支持的Eclipse的版...
阅读全文
摘要:http://www.javaeye.com/topic/378077
阅读全文
摘要:Vector类可以实现可增长的对象数组。与数组一样,它包含可以使用整数索引进行访问的组件。但是,Vector的大小可以根据需要增大或缩小,以适应创建Vector后进行添加或移除项的操作。 Vector继承自AtrastractList,实现了 Serializable, Cloneable, Iterable, Collection, List, RandomAccess 的接口。每个Vector...
阅读全文
摘要:浅谈Java中final,finalized,finallyfinal:final可以让你控制你的成员、方法或者是一个类是否可被覆写或继承等功能,这些特点使final在Java中拥有了一个不可或缺的地位,也是学习Java时必须要知道和掌握的关键字之一。final成员当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不...
阅读全文
摘要:以下文字和架构图均在本人相关系统设计和架构方案中有所应用。原文出处:http://space.itpub.net/6517/viewspace-6096541.Spring架构图Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。Spring框架的功能可以用在任何J2EE...
阅读全文
摘要:在表现形式上,J2EE是一组规范,而.NET更象是一组产品。但它们的目的都是为了企业应用提供分布式的,高可靠性的解决方案.它们在架构上有着很多的相似之处,下表是一个简单对照: J2EE .NET 通信协议 Remote Method Invocation over Internet InterOrb Protocol (RMI/IIOP),XML 编程语言 ...
阅读全文
摘要:6月23号Eclipse基金会发布了最新的Eclipse太阳神版本,囊括了39个项目,下面我们就来看看哪些项目是最受Eclipse开源社区喜欢的。Eclipse最初是一个Java IDE,但后来变得越来越强大,早已超出了IDE的范畴,截至目前,Eclipse可支持静态和动态编程语言,胖客户端、瘦客户端和服务器端框架,建模和业务报表,嵌入式和移动开发,Eclipse包含的项目和子项目已经超过125个...
阅读全文