服务器outofmemory问题...解决了可以加到200分~~~ 改一下catalina.bat就行了,给Tomcat多分配点内存.Too easy 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上说的没错,这样很有效,baidu上搜一下就知道了 是呀..网上的解决方法都是设置tomcat的内存..但是问题是..假如一个client疯狂地发出请求...我的server就已经承受不了了..如果多个client就更不用说了..所以我暂时不加内存,看看有没有别的方法可以解决....http://forum.java.sun.com/thread.jspa?threadID=780647&tstart=0Load the image:1. image = ImageIO.read(imgFile);2. fis = new java.io.FileInputStream(imgFile); com.sun.image.codec.jpeg.JPEGImageDecoder decoder = com.sun.image.codec.jpeg.JPEGCodec.createJPEGDecoder(fis);image = decoder.decodeAsBufferedImage();Get the image properties:1. ImageInfo.getHeight();2. Image.getHeight();Resize and save:1. thumbImage = new BufferedImage(desiredWidth, desiredHeight, BufferedImage.TYPE_INT_RGB);graphics2D = thumbImage.createGraphics();graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION,RenderingHints.VALUE_INTERPOLATION_BICUBIC);graphics2D.drawImage(image, 0, 0, desiredWidth, desiredHeight, null);//save thumbnail image to OUTFILEoutstream = new FileOutputStream(outputImagePath);out = new BufferedOutputStream(outstream);encoder = JPEGCodec.createJPEGEncoder(out);param = encoder.getDefaultJPEGEncodeParam(thumbImage);int quality = Integer.parseInt(imageQty);quality = Math.max(0, Math.min(quality, 100));param.setQuality((float)quality / 100.0f, false);encoder.setJPEGEncodeParam(param);encoder.encode(thumbImage);out.flush();out.close();outstream.close();thumbImage = null;outstream = null;out = null;graphics2D.dispose();graphics2D = null;encoder = null;2. shrinkedImage = image.getScaledInstance(desiredWidth, desiredHeight, Image.SCALE_SMOOTH); Jimi.putImage("image/jpeg", shrinkedImage, outputImagePath);shrinkedImage = null; 如果是要经常resize,则最好把图片压缩后存为小图片文件,这样在读取的时候直接通过web方式读取图片了,不用每次都读取压缩。在上传文件的时候,只要根据平时常用的小图尺寸压缩成一个小图(保留大图文件)文件,这样就是一个大图和一个小图就可以了。 写文件SRC: out = new FileOutputStream(thumbImage); encoder = JPEGCodec.createJPEGEncoder(out); encoder.encode(image); out.close();压缩成小图文件是,jpg结尾为jpg,gif文件和png文件压缩后的文件结尾为png. 哦..我现在就是在服务器生成小图文件...但是问题是服务器在频繁进行resize操作的时候..内存会消耗得很快... java获取服务器域名 推荐几本适合java初学者实用的书 java 正则表达式 急救 关于 页面图片呈金字塔显示 谁有socket长连接的例子? J2EE最新的书能推荐几本吗??谢谢!!! 熟悉Eclipse的朋友请进哈! 帮帮忙??? 关于DAO的一个小疑惑 JBOSS 数据源绑定问题,请高手指教 求救!!!求救!!! java 中如何得到存储过程的多个返回值 为什么我TOMCAT配制后老出错
http://forum.java.sun.com/thread.jspa?threadID=780647&tstart=0Load the image:
1. image = ImageIO.read(imgFile);
2. fis = new java.io.FileInputStream(imgFile);
com.sun.image.codec.jpeg.JPEGImageDecoder decoder = com.sun.image.codec.jpeg.JPEGCodec.createJPEGDecoder(fis);
image = decoder.decodeAsBufferedImage();Get the image properties:
1. ImageInfo.getHeight();
2. Image.getHeight();Resize and save:
1. thumbImage = new BufferedImage(desiredWidth, desiredHeight, BufferedImage.TYPE_INT_RGB);
graphics2D = thumbImage.createGraphics();
graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION,RenderingHints.VALUE_INTERPOLATION_BICUBIC);
graphics2D.drawImage(image, 0, 0, desiredWidth, desiredHeight, null);
//save thumbnail image to OUTFILE
outstream = new FileOutputStream(outputImagePath);
out = new BufferedOutputStream(outstream);
encoder = JPEGCodec.createJPEGEncoder(out);
param = encoder.getDefaultJPEGEncodeParam(thumbImage);
int quality = Integer.parseInt(imageQty);
quality = Math.max(0, Math.min(quality, 100));
param.setQuality((float)quality / 100.0f, false);
encoder.setJPEGEncodeParam(param);
encoder.encode(thumbImage);
out.flush();
out.close();
outstream.close();
thumbImage = null;
outstream = null;
out = null;
graphics2D.dispose();
graphics2D = null;
encoder = null;2. shrinkedImage = image.getScaledInstance(desiredWidth, desiredHeight, Image.SCALE_SMOOTH);
Jimi.putImage("image/jpeg", shrinkedImage, outputImagePath);
shrinkedImage = null;
在上传文件的时候,只要根据平时常用的小图尺寸压缩成一个小图(保留大图文件)文件,这样就是一个大图和一个小图就可以了。
out = new FileOutputStream(thumbImage);
encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
out.close();
压缩成小图文件是,jpg结尾为jpg,gif文件和png文件压缩后的文件结尾为png.
但是问题是服务器在频繁进行resize操作的时候..内存会消耗得很快...