关于jdk1.6.21与eclipse 3.6冲突的完美解决方案

   之前我曾经撰文写过eclipse3.6+tomcat 7的整合文章,也提到过jdk1.6.21在eclipse 3.6下存在冲突的问题,但说的不是很详细,有人问到,那我就再说一下吧。这是这个官方就有说明的,在下载页面很明显的标出了,只是有的同学不是在官方下载的或者太粗心没注意到。我们看官方是怎么说的。
  

       The Eclipse 3.3 - 3.6 launchers for Windows had a problem with the Oracle/Sun Java VM version '1.6.0_21-b06'.

UPDATE: Oracle/Sun have released a respin of their JDK/JRE to fix this, so the recommended resolution of this problem is to download and re-install version 1.6.0_21-b07' or higher from http://www.java.com (alternative link is http://java.sun.com/javase/downloads/index.jsp). Make sure you have b07 or higher by running java -version.

Before the fix was released, there were three choices to work around this:

  1. switch back to '1.6.0_20' (as of July 19, 2010 it can still be downloaded here)
  2. Change the commandline for launching or add the following line after "-vmargs" to your Eclipse.ini file:
    -XX:MaxPermSize=256m
    (Detailed instructions/examples)
  3. For 32-bit Helios, download the fixed eclipse_1308.dll and place it into
    (eclipse_home)/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503

The Java bug was closed for voting and comments at 6969236 on the Java BugParade because the change has been reverted; the related Eclipse bug report is open for voting and comments at bug 319514.
    已经说得很明白了,由于1.6.0_21-b06中部分包的名字被Oracle公司修改了,会造成原先的插件内存泄露,故官方也给出了三种解决方案。
(1)把JDK的版本降级到 jdk 1.6.0_20。下载地址:here
(2)修改Eclipse.ini文件里的设置,在-vmargs后添加或修改下面这句-XX:MaxPermSize=256m。
(3)对于32位版本的Eclipse3.6,可以下载这个补丁。
eclipse_1308.dll,并且放置到(eclipse_home)/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503。
(4)升级jdk
1.6.0_21-b06到1.6.0_21-b07或更高。

转:轻松配置log4j,实现错误消息的email通知

本文系转载,文中内容未经测试。

需求描述:任何程序都会存在bug,虽然项目经过反复测试,已经上线运行了,但难免会遇到各种错误,在这里轻松配置log4j实现错误消息的email通知.
        两个文件:web.xml log4j.properties
        web.xml
        在web.xml中添加如下代码


<!-- 设置上下文参数 -->
    
<context-param>
        
<!-- log4j配置文件位置 -->
        
<param-name>log4jConfigLocation</param-name>
        
<param-value>/WEB-INF/classes/log4j.properties</param-value>
    
</context-param>
    
<context-param>
        
<param-name>log4jRefreshInterval</param-name>
        
<param-value>6000</param-value>
    
</context-param>
    
<!-- log4j监听器 -->
    
<listener>
        
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    
</listener>

      log4j.properties

阅读剩余部分...

eclipse 3.6(helios) 新特性介绍

     2010年6月Eclipse基金会发布了代号为Helios(中文意为太阳神)的Eclipse3.6版。这是Eclipse社区最大的一次发行版,它涉及到39个不同的项目,大约有3.3亿行代码(Eclipse官网数据)。Helios带有很多新的有趣的特性以供软件开发社区的不同需求。 

这些天,我花时间来使用这些新特性。这里给出我认为Helios中较不错的10个特性。前6个是Eclipse平台和Java开发工具的,后4个是web工具平台的。 

阅读剩余部分...

以汉化tomcatplugin插件为例详述eclipse 3.6汉化教程

    本文将介绍eclipse 3.6汉化的技术,当然下面的介绍理论上对Eclipse略早一些的版本也是适用的,但是我并没有汉化过3.6一下的版本,因为我这里只有eclipse 3.6的安装包,我就用这个来讲解。
关键词:eclipse 3.6汉化,omcatPluginV321汉化包,JAR文件解包打包及汉化
     众所周知,eclipse是一个优秀的IDE,可以用来开发JAVA,PHP,C/C++等,目前的最新版本是3.6,为用英文版。官方也有汉化包,但是并不完整。由于eclipse是由一个个插件组成的,因此官方的汉化包只是基于基本的IDE,对于从其他地方下来的插件是没有汉化的。如果你想DIY自己的eclipse或者需要汉化自己下载的eclipse插件,那你可以继续阅读本文。

一.本文以汉化eclipse的tomcat插件tomcatPluginV321为例,在此之前,你需要做以下准备


(1)汉化eclipse并不需要什么高深的技术,由于它是基于JAR包的,所以我们只要有JAVA的基础知识(即使你没有,那你看了下文我的介绍后,也完全可以自己汉化,一同分享)。因此呢,如果你英语不好的话,需要一个翻译软件,推荐有道词典。如果你对计算机专业英语很熟悉,最好。
(2)由于编码问题的普遍原因,汉化并非是汉化成中文,而是汉化成unicode码。(关于编码的知识,请看这里【字符编码笔记:ASCII,Unicode和UTF-8】)。所以你需要一个汉字到Unicode的转换软件。这种小软件很好找,你也可以用汉化助手来帮忙。
(3)JDK,你需要一个JDK来解包,打包JAR文件,我的是JDK 1.6.18。

阅读剩余部分...

Java持久层框架iBATIS入门介绍及缓存使用

iBATIS是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO),同时还提供一个利用这个框架开发的JPetStore实例。相对Hibernate和Apache OJB等“一站式”ORM解决方案而言,ibatis 是一种“半自动化”的ORM实现。

其中SQL MAP的体系结构如下:
iBATIS.jpg
平时我们跟数据库交互,直接在java代码中编写sql语句,获取数据库链接,然后执行得到结果。
Jsp:
     sql =“ select  2 from dual“ ;
     rs = stmt.executeQuery(sql);
Java:
      sql =“ select  2 from dual“ ;
      Map tMap = (Map) SafeDBConn.get(sql);
我们的Sql语句是放在jsp或者java代码中,如果要修改的话需要重新进行编译。
ibatis实现了sql语句和代码的分离,把sql放在了xml配置文件中。
例如:
<!--根据手机号码查询教师信息 -->
 <select id="selectTeacherByMobile" parameterClass="String" resultClass="Teacher">
         select * from teacher where mobile=#mobile#
 </select>

阅读剩余部分...

[重点推荐]一款专业级Web开发工具NetBeans6.9.1,php,java开发利器

      一款专业级Web开发工具NetBeans6.9.1,php,java开发利器.
     首先,之所以标题不叫 PHP开发工具,是因为这是一个综合的开发工具,就像Eclipse、VS,所以,如果你只是纯粹的PHP开发人员,也许你会有更好的选择。

所以这贴不是讨论那个好那个坏的,仁者见仁,智者见智,各有所需,各有所好。
由于本人经过长时间的使用和赛选,觉得它是最出众的,不敢独享,所以拿出来分享。
言归正传,本人重点推荐的Web专业开发工具是:NetBeans
     没错,你没看错,就是SUN公司推出的皇家Java开发工具,今年已经10年了,但是很少有人知道它能用来做PHP开发,因为NetBeans在2008年的9月份左右才开始支持PHP开发,也推出了相应的PHP版,安装文件>相当小,只有31M,当然并没有包含Java运行环境,这个需要独立安装。但是对于JAVA版的,可以下载捆绑了JRE的安装包。
NetBeans目前有JAVA,JAVAFX,J2EE,C++,PHP,RUBY,ALL一共7个安装包,最新版本为6.9.1。
介绍一下它的特性

阅读剩余部分...

转:jvm classloader

1. 从一个简单小实验开始:

(1) Eclipse下建一简单Java project,写一个简单程序,如下:


  1. package com.javaeye.loader;  
  2.   
  3. public class URLClassLoaderTest {  
  4.     public void show() {  
  5.         System.out.println("I am running...");  
  6.     }  
  7. }  

(2) 到项目对应bin/com/javaeye/loader下找到URLClassLoaderTest.class文件,将此文件保存,然后删除整个project;

(3) 在磁盘任何位置建立文件夹com,在com里建立javaeye,在javaeye里建立loader,我建在C盘java目录下,建立完成后将(2)中保存的URLClassLoaderTest.class文件拷贝到其中,
(4) 在非本地Apache Server上任何位置建立文件夹com,在com里建立javaeye,在javaeye里建立loader文件夹,完成后将(2)中保存的URLClassLoaderTest.class文件拷贝到其中,我的非本地计算机IP为192.168.66.250,系统为Linux Redhat, 建立完成后我们可以访问
 (5) 给出两端端测试代码:


  1.                @Test  
  2. public void testInWeb() throws Exception{  
  3.     URL[] urls = new URL[]{new URL("http://192.168.66.250/root/java/")};  
  4.     URLClassLoader loader = new URLClassLoader(urls);  
  5.     Class clas = loader.loadClass("com.javaeye.loader.URLClassLoaderTest");  
  6.     Method m = clas.getMethods()[0];  
  7.     Object o = clas.newInstance();  
  8.     m.invoke(o);  
  9. }  
  10. @Test  
  11. public void testInFileSystem() throws Exception{  
  12.     URL[] urls = new URL[]{new URL("file:/C:/java/")};  
  13.     URLClassLoader loader = new URLClassLoader(urls);  
  14.     Class clas = loader.loadClass("com.javaeye.loader.URLClassLoaderTest");  
  15.     Method m = clas.getMethods()[0];  
  16.     Object o = clas.newInstance();  
  17.     m.invoke(o);  
  18. }  

 分别运行两端代码他们输出结果都是:


Java代码

  1. I am running...  

阅读剩余部分...

转:java中六种字符串连接方法的效率对比

剑字有19种写法,Java中字符串连接也有好多种写法,比如要连接6个字符串,以下5种写法都是可以的,究竟哪种写法最简捷,哪种最高效呢。

    public static String concat1(String s1, String s2, String s3, String s4, String s5, String s6) {
        String result = "";
        result += s1;
        result += s2;
        result += s3;
        result += s4;
        result += s5;
        result += s6;
        return result;
    }

阅读剩余部分...

    Page :
  1. 1
  2. ...
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7