"Jdeveloper运行速度优化"

2013-04-04(Thursday) 00:00

本文适合木有高配机却不得不在JDEV下开发的屌丝程序员

先来了解下Jdev的两个配置文件

{% codeblock lang:java %} E:\Oracle\Middleware11.1.2.3.0\jdeveloper\ide\bin\ide.conf
E:\Oracle\Middleware11.1.2.3.0\jdeveloper\jdev\bin\jdev.conf

几个关键参数: {% codeblock lang:java %} AddVMOption -Xmx //堆大小的最大值,在机器物理内存允许的基础上该值越大越好 AddVMOption -Xms //堆大小的初始值(默认给个128差不多) AddVMOption -XX:MaxPermSize //PermGen大小,太小会报OutOfMemoryError错误

这几个参数设置得不合适的话JDEV会无法启动并报以下错误: {% codeblock lang:java %} Unable to create an instance of the Java Virtual Machine Located at path: E:\Oracle\Middleware11.1.2.3.0\jdk160_24\jre\bin\client\jvm.dll

好了~,我们现在需要做的就是将这几个参数的值设置得适合它的大小,以便JDEV运行得到最佳性能

因为我的机器是32位系统WIN2003 6G内存,系统吃掉2G左右,可用内存不到4G 而32位的JDK最大好像也只能申请1.5G左右,所以在我这机器中Jdev能分配到1G内存就差不多了

先随意设置以上三个参数值,将JDEV能够运行起来,然后使用JDK自带的工具来监控下内存情况 E:\Oracle\Middleware11.1.2.3.0\jdk160_24\bin\jvisualvm.exe

根据图中PermGen中显示使用大小调整三个参数值。 发现在不断操作JDev时PermGen始终维持在128左右不到256的样子, 所以设置
-XX:MaxPermSize值为AddVMOption -XX:MaxPermSize=256M
-Xms值为AddVMOption -Xms128M
通过不断测试最终调整-Xmx值为AddVMOption -Xmx896M

若在运行中出现OutOfMemoryError错误再根据信息慢慢调整。当然最好还是升级机器配置换成64位的系统及JDK就没有内存限制啦!~

Category: java Tagged: jdeveloper AddVMOption


"JavaMail发送邮件中文乱码"

2013-03-20(Wednesday) 00:00

使用JavaMail发送邮件时,邮件主题以及发件人中有中文字符时出现乱码

邮件正文正常。

尝试对中文字符串进行转码:

{% codeblock lang:java %} public String encode(String str) { sun.misc.BASE64Encoder enc = new sun.misc.BASE64Encoder(); try { return "=?UTF-8?B?" + enc.encode(str.getBytes("UTF-8")) + "?="; } catch (UnsupportedEncodingException e) { return "UnsupportedEncodingException"; } }

测试发送之后返回邮件主题内容仍然是乱码 {% codeblock lang:java %} =?UTF-8?B?WzIwMTMtMDMtMTld5pyq5qOA5pyq5Lqk5pWw5o2uLOaAu+ijhei9pumXtOaVhemanOi9puWBnOi9

通过返回字符串=?UTF-8?B?得知已经转码成功,但为啥邮件主题仍然乱码?百思不得其解 …

Category: java Tagged: javamail

Read More

利用javaMail发送邮件功能实现

2012-06-26(Tuesday) 00:00

由于SMTP服务器需要采用SSL方式访问,所以蛋疼了,默认的连接25端口方式无法连接
改成465方式访问,又报连接错误,原来是证书文件的问题。
于是利用 InstallCert.java重新生成证书

java InstallCert smtp.dengdezhao.cn:465
将得到的证书cacert文件放置在任意路径下:比如C盘 c:/cacert

程序中props属性里添加如下参数

props = System.getProperties();
props.put("mail.smtp.host", smtp.dengdezhao.cn); // 设置SMTP主机
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.socketFactory.class",
"javax.net.ssl.SSLSocketFactory");
props.put …

Category: java Tagged: javamail

Read More
Page 1 of 1