java imageio处理图像_Linux geoserver调优之Java图像处理优化(原生JAI和ImageIO和java默认库相互转换)...
注:geoserver 版本 Linux geoserver2.15.0 安装 :bin方式安装(内嵌jetty,非war安装)
一。geoserver调优之Java图像处理优化
1.原生JAI和ImageIO
GeoServer的图像处理功能使用了Java的JAI和JAI ImageIO功能,但由于Java的JAI和JAI ImageIO库默认是Java实现,若将其换为原生库可显著提高图像处理速度。注意,在windows下只有32位Java环境才可用,64位Java环境不可用原生库。下载和拷贝原生库文件的操作参考以下代码:
cd /tmp
#解压
gunzip -c jai-1_1_3-lib-linux-amd64.tar.gz | tar xf -
gunzip -c jai_imageio-1_1-lib-linux-amd64.tar.gz | tar xf -
#把解压之后的相关文件拷贝到jre目录下(jdk安装目录)
#/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64 指jdk安装目录,查看jdk安装目录,参考:
https://www.cnblogs.com/luminccs-5308/p/10043338.html
cp /tmp/jai-1_1_3/lib/*.jar /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/ext/
cp /tmp/jai-1_1_3/lib/*.so /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/amd64/
cp /tmp/jai_imageio-1_1/lib/*.jar /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/ext/
cp /tmp/jai_imageio-1_1/lib/*.so /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/amd64/
2.重启geoserver报错 geoserver启动 Could not initialize class javax.media.jai.JAI
3.解决:删除$CATALINA_BASE/webapps/geoserver/WEB-INF/lib目录下的 jai_codec-1.1.3.jar; jai_core-1.1.3.jar; jai_imageio-1.1.jar 三个文件
注:先备份后删除
mkdir -p /tmp/geoserver/
cp /usr/local/geoserver-2.15.0/webapps/geoserver/WEB-INF/lib/jai*.jar /tmp/geoserver/
cd /usr/local/geoserver-2.15.0/webapps/geoserver/WEB-INF/lib
ls
ls jai*
rm -f -r jai_codec-1.1.3.jar
ls jai*
rm -f -r jai_core-1.1.3.jar
ls
ls jai*
rm -f -r jai_imageio-1.1.jar
ls jai*
4.重启geoserver
二。原生库变回java库
1.删除jre下的原生jar包(核对是否是自己之前复制过去的那些jar包)
rm -f -r /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/ext/jai_codec.jar
rm -f -r /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/ext/jai_core.jar
rm -f -r /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/ext/jai_imageio.jar
rm -f -r /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/ext/mlibwrapper_jai.jar
rm -f -r /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/ext/clibwrapper_jiio.jar
2.删除jre下的原生so文件(核对是否是自己之前复制过去的那些文件)
rm -f -r /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/amd64/libmlib_jai.so
rm -f -r /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/amd64/libclib_jiio.so
3.把之前删除的/webapps/geoserver/WEB-INF/lib目录下的 jai_codec-1.1.3.jar; jai_core-1.1.3.jar; jai_imageio-1.1.jar 三个文件还原
cp -r /tmp/geoserver/*.jar /usr/local/geoserver-2.15.0/webapps/geoserver/WEB-INF/lib/
java imageio处理图像_Linux geoserver调优之Java图像处理优化(原生JAI和ImageIO和java默认库相互转换)...相关推荐
- java项目processes设置,Jvm调优和SpringBoot项目优化的详细教程
参考文章 1.先看一下未设置JVM参数的情况,默认情况下,没有设置任何Jvm参数. 2.设置Jvm参数. 配置参数: 关于这些设置的JVM参数是什么意思,参考Jvm调优. -XX:MetaspaceS ...
- Java项目运维与监控调优
引言 编写目的 目前线上问题是以java的为主,但是配置方式不是特别的统一,把这些进行统一化后有利于问题的定位和解决一些不稳定因素. 阅读对象 开发人员.运维人员. JAVA项目线上配置 启动java ...
- 《Java性能调优实战》笔记(一)Java编程性能调优、多线程性能优化
文章目录 一.Java性能调优概述 1.1 性能调优标准 1.2 制定性能调优策略 二.Java编程性能调优 2.1 字符串 2.2 正则表达式 2.3 ArrayList和LinkedList的选择 ...
- Java性能压测工具及其调优
Java性能压测工具及其调优 JMeter工具 使用 JVisualVM使用 使用 简介 在日常的开发中,Java的性能显得尤为重要,一个程序的好坏主要就是性能来决定的. JMeter工具 JMete ...
- Tomcat 调优及 JVM 参数优化
Tomcat 本身与 JVM 优化 Tomcat:调整Server.xml JVM:bat启动服务方式的话修改catalina.bat 服务式启动的话参考:http://www.cnblogs.com ...
- R语言使用caret包对GBM模型自定义参数调优:自定义参数优化网格
R语言使用caret包对GBM模型自定义参数调优:自定义参数优化网格 目录 R语言使用caret包对GBM模型自定义参数调优:自定义优化参数网格
- java基础值java 运行参数,及jvm调优
java启动参数共分为三类 其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容: 其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且 ...
- Java 14 Hotspot 虚拟机垃圾回收调优指南!
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 大鹏123 来源 | www.cnblogs. ...
- java jvm性能调优_java jvm性能优化
摘要: 堆大小设置 年轻代的设置很关键 JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bit 还是64-bit)限制:系统的可用虚拟内存限制:系统的可用物理内存限制.32位系统下,一般 ...
最新文章
- 在网页中动态的生成一个gif图片
- 串口同步异步c语言程序,同步串口spi的c语言编程
- C++中extern “C”含义深层探索(zz)
- Django之MVC框架与MTV框架详解
- java 访问 网络swf_JAVA访问网络资源
- 简历写了会Kafka,面试官90%会让你讲讲acks参数对消息持久化的影响
- python3 Async/Await入门指南
- 用python验证猜想之类的例子_python练手好例子:验证哥德巴赫猜想
- Taro+react开发(11)--不能加分号
- 快进键启动,一文带你了解云原生时代容器安全
- JavaScript数据结构与算法(1)(数组、栈、队列、链表)(ES6)
- 大道至简第三章。感受。
- Android数据库升级、降级、创建(onCreate() onUpgrade() onDowngrade())的注意点
- android 输出流对象,Android-IO流之对象操作流ObjectInputStream/ObjectOutputStream
- warning: refname ‘HEAD‘ is ambiguous解决方法
- HDU 4675 GCD of Sequence(莫比乌斯反演 + 打表注意事项)题解
- mysql与linux版本区别_MySQL各版本的区别
- Python 开发音乐下载器实践
- Pandas的时间序列Period,period_range---详解(29)
- JAVA实现PDF无损转WORD
热门文章
- 清华大学孙茂松:透过喧嚣,坐看云起,NLP 的迷思与感悟
- 行至水穷处,坐看云起时
- 套用模板,又申请了两张软著证书
- 小爱音箱怎么装app_小爱音箱app下载-小爱音箱手机版 v2.2.2 - 安下载
- 25页国有企业数字化转型ppt,解决4个典型痛点场景,实现提质增效
- (最好的BEST)脑电生理记录和刺激工具箱
- 全球计算机科学硕士申请,2020年爱丁堡大学计算机科学专业硕士申请条件-学费-世界排名...
- 类人猿按键精灵PC内存教程(新)
- 软件工程直招士官生_如何看待今年首次面向普通高校毕业生直招士官?是毕业生的一个好选择吗?...
- 解决:[DCC Fatal Error] **.dpk : E2202 Required package '***' not found