Amon's Blog

猛猛如玉

前言:
当上传大数据文件的时候,失败。经验证,出现OOM异常 。

过程:
windows的用绿色版tomcat:
set JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx1280m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

windows安装版tomcat(用服务启动tomat):这个是执行bin/tomcat.exe,不读取catalina.bat的配置
修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions
原值为
-Dcatalina.home=”C:\ApacheGroup\Tomcat 5.0”
-Djava.endorsed.dirs=”C:\ApacheGroup\Tomcat 5.0\common\endorsed”
-Xrs
加入 -Xms300m -Xmx350m

linux:
在/usr/local/apache-tomcat-5.5.23/bin目录下的catalina.sh
添加:JAVA_OPTS=’-Xms512m -Xmx1024m’
要加“m”说明是MB,否则就是KB了,在启动tomcat时会报内存不足。
-Xms:初始值
-Xmx:最大值
-Xmn:最小值

remark:
设置JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap size 的大小是Young Generation 和Tenured Generaion 之和。提示:在JVM中如果98%的时间是用于GC且可用的Heap size 不足2%的时候将抛出此异常信息。提示:Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。

最后跟用户说通过设置tomcat内存和分割excel解决。但是这毕竟不是解决之道。
想:
代码里面控制分次读取,读取后释放资源继续读取。
同时在导出excel的时候遇到OOM的异常的话,也可以使用分次写文件,或者写多个文件最后合并excel。
同时我在想,他那个超过65535行数据的excel怎么写的数据,应该是导出的…
这样的还是用csv或者txt什么的好。

前言:
安装了linux后,安装VM tools是必要的,功能自不必多说。比如我当时的客户机的屏幕很大,不能适应宿主机。

过程:
1.右击虚拟机右下角CD/DVD————设置————使用iso镜像文件————选择VMware workstation安装目录里linux.iso。
同时你可以看到有windows.iso,solaris.iso,linux.iso,这些都是在不同系统里安装vmware tools所需的镜像文件。

2.选择后,重启客户机。开机后,有的说会在桌面上看到VMware tools的安装文件,有的说直接默认打开了,但是我没有遇到上述两种情况,我在主文件夹左侧导航里设备那找到了VMware tools的安装压缩包,
但又发现一个问题,无法像网上那样用命令找到,虽然看到目录是media,但是在cmd里始终是找不到的。
只好在设备那里打开VMware tools的驱动目录,复制到主文件夹去。
然后解压缩,使用命令或者右键都可以。
命令就用tar zxvf xxx.tar.gz,默认解压到当前目录,然后cd进入这个解压后的目录,
执行安装文件:sudo ./vmware-install.pl。
然后一路回车就是了,有兴趣的也可以看看安装时的提示。安装完后重启虚拟机。
反复的试试虚拟机工具栏————视图——————立即适应客户机。然后虚拟机的窗口就能在宿主机中完美的显示出来了。如果不行的话,也可以试试视图里面其他的调整,直到满意为止。

remark:上次安装的时候因为强制取消了一些更新,这次一看竟然有300多MB,什么程序的更新,系统的更新,不认识的,各种更新都有。想想还是更新下吧。

前言:

贴出下面要用到的下载地址:

vmware:http://www.vmware.com/cn/

注册码(摘自网上经网友测试过的,未经本人测试,仅为方便读者顺手):

MV4YN-0L38Q-2ZK60-XUA7K-AAZ18
JC6AP-D4H0P-TZ131-4A2QM-8CNP7
0U6UU-6AJDL-RZTK9-230Q0-8ARJQ
JG2TD-DJL95-FZZZ8-DU1NH-33GH7
VM汉化包:[VM汉化包下载](http://down.qiannao.com/space/file/xjl456852/-4e0a-4f20-5206-4eab/-8f6f-4ef6/VMware-002dworkstation-002dfull-002d8.0.2-002d591240_-6c49-5316.rar/.page)
鉴于vmware里面太多e文,还是用汉化版比较没压力。
ubuntu下载:[http://www.ubuntu.org.cn/](http://www.ubuntu.org.cn/)
 

1.下载VM并安装。

2.打开VM,新建虚拟机,照着点就是了。

3.基本上没啥好说的,注意一点的就是网络类型,有的推荐说NAT,但是我今天设置的NAT网络无法连接,然后我随便选了个,使用桥接网络。反正能连上就行(等会安装ubuntu要下载安装软件)。

4.新建好虚拟机后,就可以启动那个虚拟机,会自动启动装系统的程序,但是我今天遇到一个问题,刚开始装入iso文件的时候就提示无法识别系统,但是我没在意,继续新建虚拟机后,在启动的时候出现operating system not found,后来换了个iso文件,就可以了。

5.安装ubuntu系统没什么好说的,键盘布局我在想是不是要选英语美国的,还有汉语的,不过我没敢选,怕是哪个奇葩的中国人设计的键盘布局。在中国安装语言包的时候,等了半天,我也急着回家了,就干脆skip了,要个毛的语言包?

6.安装完后会发现启动的分辨率不是我们真机的分辨率,因为自带的是800多分辨率,自己在ubuntu设置里面找–显示–设置为真机的分辨率即可。

 

总体来说,安装linux还是挺傻瓜化的。。。

今天做了一次面条,有必要介绍一下。

1.把剩菜热一下,放在碗里。
2.烧一锅水,烧到开为止。
3.把面条放到里面,有筷子一直搅。
4.待到面条中间有白线(点评:面条本来是生的,是白色的,放锅里煮慢慢熟,就不会是白色,等到面条中间有一点点白的时候就快完全熟了,关火让面条自己完全熟。)
5.把面条盛到剩菜的碗里,可以放入自己想要的调料什么的,美味的面做好了:)

remark:没有拍图,可惜了…

在eclipse里面开发java项目的时候,偶尔会遇到无法导包的问题,

如:

import com.sun.management.OperatingSystemMXBean;
无法导入。本来想导com.sun.management包内的,却只有java.lang包的这个类。
com.sun.management.OperatingSystemMXBean位于java lib的rt.jar,
在eclipse里面可以看到项目引用的JRE System Library里面有rt.jar,
并且可以打开看到也有com.sun.management这个包,里面也有OperatingSystemMXBean这个类,
但是为何总是无法导入呢。
偶然的发现一个解决办法:
在项目的java Build Path-Libraries里面,把JRE System Library Remove掉,然后再重新添加Library,
点击右边的Add Library-JRE System Library-就默认选择workspace default JRE-finish。
遇到这样奇葩的问题,就这样试试吧:)

0%