java历程
文章平均质量分 55
iteye_12157
这个作者很懒,什么都没留下…
展开
-
项目在64位JDK下正常,32位下出现异常
这几天,发现项目在64位JDK下启动,一切正常,但是换到32位的JDK下之后,启动出现java.lang.StackOverflowError异常。 关于java.lang.StackOverflowError异常,一般情况下是代码写的有问题,出现了死循环或深层次的递归调用,导致内存溢出。 但是我们的项目,除在64位JDK下正常外,部署在公司的服务器上,使用中也一切良好,因此基...原创 2013-02-27 15:02:14 · 326 阅读 · 0 评论 -
如何使用Java自带的正则表达式
在Sun的Java JDK 1.40版本中,Java自带了支持正则表达式的包,本文就抛砖引玉地介绍了如何使用java.util.regex包。 可粗略估计一下,除了偶尔用Linux的外,其他Linu x用户都会遇到正则表达式。正则表达式是个极端强大工具,而且在字符串模式-匹配和字符串模式-替换方面富有弹性。在Unix世界里,正则表达式几乎没有什么限制,可肯定的是,它应用非常之广泛。...原创 2011-12-21 21:20:03 · 64 阅读 · 0 评论 -
深入浅出之正则表达式
前言:半年前我对正则表达式产生了兴趣,在网上查找过不少资料,看过不少的教程,最后在使用一个正则表达式工具RegexBuddy时发现他的教程写的非常好,可以说是我目前见过最好的正则表达式教程。于是一直想把他翻译过来。这个愿望直到这个五一长假才得以实现,结果就有了这篇文章。关于本文的名字,使用“深入浅出”似乎已经太俗。但是通读原文以后,觉得只有用“深入浅出”才能准确的表达出该教程给我的感受,...原创 2011-12-21 21:10:46 · 56 阅读 · 0 评论 -
JDK实现动态代理的例子-proxy
public interface Target { public void doSomething();} public class TargetImpl implements Target { @Override public void doSomething() { System.out.printl...原创 2011-08-23 16:16:26 · 67 阅读 · 0 评论 -
如何重写hashCode的方法
为什么要重写hashCode方法? 我们应该先了解java判断两个对象是否相等的规则。 在java的集合中,判断两个对象是否相等的规则是:首先,判断两个对象的hashCode是否相等如果不相等,认为两个对象也不相等如果相等,则判断两个对象用equals运算是否相等 如果不相等,认为两个对象也不相等 如果相等,认为两个对象相等 我们在equals方法中需要向下转型,...原创 2011-07-19 15:40:42 · 154 阅读 · 0 评论 -
java的System.getProperty()方法可以获取的值
java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor.url Java 供应商的 URL java.home Java 安装目录 java.vm.specification.version Java 虚拟机规范版本 java.vm.specification.vendor Java 虚拟机规范供应商 java.vm.spec...原创 2009-10-14 15:17:42 · 79 阅读 · 0 评论 -
Eclipse 中 将Java Project 转换为Dynamic Web Project
接手一个前期的Web项目,当时是用MyEclipse建立的,用MyEclipse发布运行没有任何问题。现在因为没有购买MyEclipse的年费,决定用EclipsE+WPT继续开发,没想到在WPT的Server中发现不了该项目,于是使用下面的方法将其转换为WPT能识别的项目。1. 修改项目的.project文件,保存,不记得是否需要重启Eclipse了。 在<natures> ...原创 2009-10-10 15:46:34 · 157 阅读 · 0 评论 -
windows下架设subversion服务器
一、安装下载http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91如:安装到 D:\deploy\Subversion二、建立Repository 打开命令窗口, 键入 : svnadmin create --fs-type fsfs G:\svnsrc\game三、配置Repository进入Rep...原创 2009-09-09 17:35:57 · 85 阅读 · 0 评论 -
Eclipse SVN合并两个版本
先把SVN的地址切换到要修改的版本,(已经修改好,版本较新) 修改好提交之后,把SVN切换回要合并的版本(版本较旧,以下称为当前版本) 右键在SVN菜单中,选择合并 上面起始路径,即为当前版本的路径,一般无需修改 下面目标路径,指定要合并过来的版本,即比当前版本要新的 可以在相应的下面,选择合并的版本号 点击合并即可 合并后查看,如果没有问题...2009-09-03 18:05:09 · 108 阅读 · 0 评论 -
让Double类型完整显示,不用科学计数法显示E
http://www.meiriyouke.net/?p=260 今天做项目时,需要用到Excel批量导入手机号码,使用POI在读取Excel文件时,手机号码该列被认为是Double类型,插入到数据库时(数据库是varchar型),用了科学计数法表示,如:1.397545871E10,很显然,这不是我想要的。 起初把它转为BigDecimal型再转为String型以为解决问题,但...原创 2010-07-09 19:14:33 · 3486 阅读 · 0 评论 -
Eclipse控制台console自动跳出来
有时候Eclipse启动,控制台console不会自动跳出来,需要手工点击该选项卡才行, 按下面的设置,可以让它自动跳出来(或不跳出来): windows -> preferences -> run/debug -> console 在右边面板勾选或去掉"Show when program writest to...原创 2010-07-12 10:18:14 · 297 阅读 · 0 评论 -
Linux 安装SVN 整合Apache + 权限控制
一:相关版本subversion在安装的时候,要求相关软件的版本一致,而不是说软件版本最新就最好.下面是我安装的相关版本.httpd-2.2.3.tar.gzsubversion-deps-1.4.0.tar.gzsubversion-1.4.0.tar.gz二:安装准备# mkdir /subversion# cp httpd-2.2.3.tar.gz /subversion/# cp su...原创 2011-01-14 16:22:46 · 113 阅读 · 0 评论 -
如何进行JVM参数配置
堆大小设置JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在WindowsServer2003系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型JVM参数配置:java-Xmx3550m-Xms3550...原创 2013-02-27 13:46:16 · 87 阅读 · 0 评论 -
Java编程中“为了性能”尽量要做到的一些地方
下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。 1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,控制资源的使用,通过线程同步来控制资源的并发访问;第二,控制实例的产生,以达到节约资源的目的;第三,控制数据共享,在不建立直接关联的条...原创 2013-01-24 17:09:57 · 76 阅读 · 0 评论 -
Java中动态实例化一个对象
使用场合:不知道具体要去实例化那个类的对象,通常这个参数由用户传入。即类名不确定!使用方法:Class newTraffic = Class.forName("Car"); Traffic t= (Traffic)newTraffic.newInstance(); 说明:1、newTraffic为定义的一个变量,类型为Class,用来保存我们动态创建对象实例的类名...原创 2012-04-07 12:06:58 · 398 阅读 · 0 评论 -
Javar泛型方法及动态参数
(1) 如何创建泛型方法 我们用例子来说明一下如何创建一个泛型方法: class Lists { public static List toList(T[] arr) { List lists = new ArrayList(); for(T element : arr) { lists.add(element); } retu...原创 2012-04-07 12:05:36 · 582 阅读 · 0 评论 -
nexus的安装和基本配置
Nexus介绍Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就可以满足这样的需要。此外,他还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的RES...原创 2012-03-14 14:44:35 · 235 阅读 · 0 评论 -
启动Tomcat6.x时does not exist or is not a readable directory
前几天重新安装了Tomcat6,安装完Tomcat6后在wepapps下面会有一些tomcat自带的项目(root、manager、host-manager等几个),这几天项目没什么用我就删掉了,后来在MyEclipse中配置好Tomcat,新建web项目,在启动Tomcat是会出现 严重: Error starting static Resources java.lang.IllegalArgu...原创 2012-03-14 14:31:13 · 75 阅读 · 0 评论 -
Linux上Jira 5.0的安装、破解及汉化
因为机子上要同时部署jira,confluence等多个平台,因此jira独立安装明显浪费资源,所以采用war包方式安装,共用一个tomcat。 准备工作:下载JIRA,下载地址:http://www.atlassian.com/software/jira/JIRADownloadCenter.jspa,目前为止,最新版本是5.0,选择JIRA 5.0 WAR的压缩包。保证主机上的JD...原创 2012-03-13 16:37:52 · 155 阅读 · 0 评论 -
java出现[Heap size],[PermGen space],[Java heap space ]的解决方法
//首先检查程序有没有限入死循环 排除程序本身的问题答案大致有这两种解决方法: 1、设置环境变量 解决方法:手动设置Heap size 修改TOMCAT_HOME/bin/catalina.sh 添加:JAVA_OPTS= '-Xms32m -Xmx512m' 可以根据自己机器的内存进行更改。 2、java -Xms32m -Xmx800m className 就是在执行JAVA类文件...原创 2012-03-13 11:06:49 · 171 阅读 · 0 评论 -
eclipse安装svn
这里介紹Eclipse的SVN Plugin,叫做Subclipse,官方网站的下载地址在http://subclipse.tigris.org/,也提供了update site http://subclipse.tigris.org/update。Eclipse的使用者可以通过Eclipse的插件自动下载和更新功能来安装这个插件,在Eclipse的菜单中选择Help->Software...原创 2009-08-18 11:30:36 · 56 阅读 · 0 评论 -
MyEclipse快捷键与插件大全,eclipse快捷键与插件大全,eclipse快捷键,myeclipse快捷键...
Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当前行到上一行(复制增加) Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了) Alt+↑ 当前行和上面一行交互位置(同上) Alt+← 前一个编辑的页面 Alt+→ 下一个编辑的页面(当然是针对上...原创 2009-08-01 12:03:36 · 79 阅读 · 0 评论 -
eclipse/myeclipse注释行模板的安装步骤
注释比代码还重要??当然!在一个项目的完整的生命周期中,其维护费用,往往是其开发费用的数倍。因此项目的可维护性、可复用性是衡量一个项目好坏的关键。而注释行则是可维护性中必不可少的一环。安装方法:打开eclipse/myeclipse选择 window-->Preferences-->JAVA-->Code-->Code Templates 右边点Import 选择你写好...原创 2009-08-01 11:52:07 · 67 阅读 · 0 评论 -
Javamail 发送带附件邮件
使用时,要注意与其它mail包的冲突问题,如geronimo-javamail_1.4_spec-1.3.jar会导致邮件发出去的都是编码数据import java.util.Date; import java.util.Properties; import javax.activation.DataHandler;import javax.activation.FileDataSourc...原创 2009-12-10 16:59:41 · 243 阅读 · 0 评论 -
MyEclipse里面的工程文件上面有红叉标示的解决方法
MyEclipse对里面的工程文件进行了多个文件类型的标签或错误验证。解决方法如下:Window-->Preferences-->MyEclipse-->Validation-->选中Disable ALL,点击Apply,然后OK,即可。...原创 2009-12-08 14:36:02 · 161 阅读 · 0 评论 -
Java 设置swing启动默认位置
可以:如下假如你有个JFrame 对象 f;f.setLocationRelativeTo(null);//f启动后就在屏幕正中央了---------------------------屏幕分辨率求法:int w = f.getToolkit().getScreenSize().width;//宽度int h = f.getToolkit().getScreenSize().height;//高度...原创 2009-11-12 21:24:57 · 612 阅读 · 0 评论 -
Eclipse插件安装的三种方法
一、使用eclipse的SoftwareUpdates / Find and install... search for new features... 输入软件安装地址进行安装 二、下载插件文件,将其解压缩到eclpise对应的目录中。重起eclipse,如果插件不能升效,则请eclipse\configuration\org.eclipse.update目录删除后再启动eclip...原创 2009-11-10 17:43:11 · 70 阅读 · 0 评论 -
java中对日期的加减操作
java中对日期的加减操作 gc.add(1,-1)表示年份减一. gc.add(2,-1)表示月份减一. gc.add(3.-1)表示周减一. gc.add(5,-1)表示天减一. 以此类推应该可以精确的毫秒吧.没有再试.大家可以试试. GregorianCalendar类的add(int field,int amount)方法表示年月日加减. field参数表示年,月.日等. amount...2009-03-10 15:34:43 · 101 阅读 · 0 评论 -
jdk和ant环境变量配置
jdk环境变量配置: 假定你的jdk安装在C:\Java\jdk1.6.0_03,windows2000/xp环境变量设置如下 JAVA_HOME=C:\Java\jdk1.6.0_03 PATH=%JAVA_HOME%\bin CLASSPATH=.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar...原创 2009-03-03 13:42:40 · 76 阅读 · 0 评论 -
Java的IO系统
1. stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。在Java的IO中,所有的stream(包括Input和Out stream)都包括两种类型: 1.1 以字节为导向的stream 以字节为导向的stream,表示以字节为单位从stream中读取或往stream中写入信息。以字节为导向的stream包括下面几种类型: 1) input stream...原创 2009-03-03 13:41:29 · 59 阅读 · 0 评论 -
常规JavaMail 邮件发送实用类
import java.util.Date; import java.util.Properties; import javax.mail.Address; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAdd...原创 2009-03-03 13:37:43 · 643 阅读 · 0 评论 -
javamail的几个实用知识点
1.把邮件保存为一个文件,这个文件可以直接用Outlook,Foxmail等邮件客户端工具打开。 private void savemail(MimeMessage msg, String path) { try { File f = new File(path); f.getParentFile().mkdirs(); FileOutputStream fo = new FileOutput...原创 2009-12-10 17:03:40 · 668 阅读 · 0 评论 -
JavaMail常见问题
阅读邮件——IMAP 问. 我尝试在 IMAP 服务器上运行演示程序,但我得到了错误。答:首 先检查在 IMAP 服务器上确实有一个电子邮件账户。与系统管理员协商有关它的事情。通过在代码中调用 session 对象上的 setDebug(true) 方法来打开调试模式。这将造成在屏幕上转储 IMAP 协议跟踪。把这个跟踪发送给我们。对于说明问题,这个跟踪是非常有用的。如果可以的话,请将有关你的 I...原创 2009-12-10 17:05:34 · 530 阅读 · 0 评论 -
关于Java权限控制算法
向大家介绍一种很不错,也是Linux中的权限管理算法。 定义a^b为:a的b次方 假如,我们为每一个操作设定一个唯一的整数值,比如: 删除A---0 修改A---1 添加A---2 删除B---3 修改B---4 添加B---5 。。。 理论上可以有N个操作,这取决于你用于储存用户权限值的数据类型了。 这样,如果用户有权限:添加A---2;删除B---3;修改B---4 那...原创 2009-12-10 21:55:15 · 148 阅读 · 0 评论 -
关于Eclipse的SVN插件(Subclipse)历史版本乱码的问题
我的项目都统一使用了UTF-8编码查看当前版本,还是提交到SVN服务器,或者Checkout出代码都是正常的,在Eclipse里面,或文本文件编辑器打开都可以看到正确的内容。但是在进行本地文件和SVN远程文件比较的时候,远程文件中所有的中文都是乱码,如下图所示: 而通过 SVN 的界面直接打开远程文件,所显示的也是乱码。实在郁闷,这样即无法判别文件的差异。在网...原创 2010-08-13 16:08:08 · 264 阅读 · 0 评论 -
Windows 找不到文件'-Xms 128m'.
今天早上一时兴起,想安装Jira来玩玩,这是一个BUG管理系统,用于跟踪和管理项目中的BUG。它其实就是一个Tomcat下的项目而已。 下载了jira以后,解压就可以用,看样子很容易....... 结果一启动,报错了.......Windows 找不到文件'-Xms 128m'.如图: 这是咋啦?好像没有啥问题啊?java -versi...原创 2009-07-11 14:55:30 · 1114 阅读 · 0 评论 -
常用的一些Java相关环境设置
JAVA_HOME:E:\soft\Java\jdk1.5.0_10Path:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%JAVA_HOME%\binCATALINA_HOME:E:\TomcatCATALINA_BASE=E:\TomcatClassPath=%JAVA_HOME%\lib\dt...原创 2009-07-11 14:54:15 · 68 阅读 · 0 评论 -
Java 中通过方法名动态调用方法
Method method = clazz.getMethod(methodName,new java.lang.Class[]{parameterTypesClass}); method.invoke(object,new Object[]{parameter}); methodName是要调用的方法名字,parameterTypesClass是要调用方法的参数的类型的数组...2009-05-27 14:34:20 · 202 阅读 · 0 评论 -
HashSet类的用法 添加 删除 遍历
HashSet是实现Set接口的一个类,具有以下的特点:Ø 不能保证元素的排列顺序,顺序有可能发生变化。Ø 另外HashSet不是同步的,如果多个线程同时访问一个Set,只要有一个线程修改Set中的值,就必须进行同步处理,通常通过同步封装这个Set的对象来完成同步,如果不存在这样的对象,可以使用Collections.synchronizedSet()方...原创 2009-05-26 11:34:10 · 380 阅读 · 0 评论 -
远程关闭与重启tomcat的方法
测试成功,jsp 代码如下:<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%><%Runtime run = Runtime.getRuntime(); Process pro = run.exec("d:\\to...原创 2009-05-04 14:48:34 · 74 阅读 · 0 评论