翻译:Exceclsior JET for windows

ExcelsiorJET是一款用于优化Java应用程序的工具包,它能够将Java的class或jar文件转化为x86机器码,适用于Windows和Linux平台。该工具包含JET优化程序和运行程序,能够提高Java应用的执行效率,并具备良好的安全防护特性。

自渎文件

Exceclsior JET for windows
v4.5
请先阅读我
* 大致浏览

-JET 优化
-JET 运行
-安装工具包
*系统需求

*快速开始

*界面工具

-Excelsior JET Launcher
-JET 控制面板
-jetPackII
-JET 安装
-开发者资源

*大概
Excelsior JET 是一套完全为了优化运行的工具包,是用java编程语言写的可配置和可运行的程序.
Excelsior JET 产品包括了 JET优化程序,是一个完全的 java SE 5.0 的运行和安装程序工具包.
JET 优化程序能够将你的 class格式或者jar格式的文件转化成 开发者的x86(IA-32)的机器码.这样,
您就能够得到windows或者Linux的运行效果极好的原生代码.
另外,产生的原生代码具有高度的反编译和反修改能力.
JET运行程序包括了sun公司的java2 API的许可并同时提供了所有java的特性,例如垃圾回收机制(garbage colletion).
JET 优化程序和运行程序保证在java标准版本5.0(j2sdk 5.0)下正常运行.
如果你想要把你的应用程序分发给一定数量的用户,你可以使用安装工具包来准备一个包括已经优化过的程序和一个JET Excelsior的运行引擎.您的客户就可以简单地安装这个包就可以开始使用您的程序.一些多余的软件的安装,例如JRE,不是最终客户的系统的必须.

JET 优化程序
------------
JET优化程序会在程序开始运行之前把java的.class文件和.jar文件转换成开发者系统的高效的本地代码,直接运行在硬件上.
优化程序使用了很多很普遍使用在传统C/C++和FORTRAN编译器里的优化技巧.为了解决java的执行效率问题,JET优化程序是注入使用了内嵌虚拟方法,安全可移除普遍存在的同步和栈里分配对象的优雅的(state-of-the art)优化来做出来的.

你可以在JET的控制面板上来用优化程序,一个图形界面的向导的,为了你更快地建立您的项目文件和转换你的程序为高效的可执行程序(请参考下面"图形界面工具"的环节)

JET运行时间(runtime不知道是不是这样翻译)
--------------------------------------
JET运行环境是一个彻底的java虚拟机.但有一点特别,它包括了一个即时编译器(JIT)来装载和运行标准的java字节码文件.和其他虚拟机的关键的分别是JET运行环境可以同时工作在java的字节码文件和JET优化程序产生的原生文件.例如,一个JET编译的程序(.exe)可以装载以.jar形式的文件为java插件程序.

如果你使用的程序是使用插件的,装载它们回耗费一些时间.为了减少这些时间,你可以在JET运行时间里打开你的JIT缓存.这样一来,用JIT编译器产生的原生代码就会保留在JIT的缓存力并会在后来的程序启动时重新使用.欲知详情,请参考JET用户指南的"混合编译模块"("mixed compilation model").

包装程序包
---------

为了提供快速的包装程序,Excelsior JET包括了包装程序(JetPackII),也是一个图形向导.通过它,你可以准备一个包括你的优化的java程序和一个JET的运行时间.

基本的部署程序都是尽量简单的.这个产生的包,例如,一个本身包括了目录,能复制到目标系统.一个在没有解压环境都能点击就运行的系统.你可以简单的整合这些包为任何一个安装程序(NSIS和InstallShield或其他).

包装程序能直接产生一个自解压的安装程序.也就是说,用它产生的安装程序,既可以是无人值的安装,也可以是GUI界面的安装.

在GUI模式下,安装程序会通过安装过程处理允许用户来指定诸如目文件夹,快捷键,开始菜单等等的安装设置.你也可以把安装界面设置成一个飞出的窗口,用户协议和把安装程序显示为英语,德语,法语,俄罗斯语或者日本语,看你的喜好和系统的当地设置.欲知详情,请参考JET用户指南的"开发自动设置"("Deployment automation" ).

请把你的回执提交到java@excelsior-usa.com.

系统要求
操作系统:
windows版本的Excelsior JET 4.5已经在以下系统通过了JCK(Java SE compliance)的测试:
Windows 2000 Professional,
Windows 2000 Server,
Windows 2003 Server,
Windows XP Professional

CPU: Intel Pentium III或800MHZ同等级或更高

内存: 384或以上

硬盘空间: 420MB以上

------------------------------------------------------------------------------------------
详细清单在以下网址:

http://www.excelsior-usa.com/jetsysreq.html

【无人机】基于改进粒子群算法的无人机路径规划研究[和遗传算法、粒子群算法进行比较](Matlab代码实现)内容概要:本文围绕基于改进粒子群算法的无人机路径规划展开研究,重点探讨了在复杂环境中利用改进粒子群算法(PSO)实现无人机三维路径规划的方法,并将其与遗传算法(GA)、标准粒子群算法等传统优化算法进行对比分析。研究内容涵盖路径规划的多目标优化、避障策略、航路点约束以及算法收敛性和寻优能力的评估,所有实验均通过Matlab代码实现,提供了完整的仿真验证流程。文章还提到了多种智能优化算法在无人机路径规划中的应用比较,突出了改进PSO在收敛速度和全局寻优方面的优势。; 适合人群:具备一定Matlab编程基础和优化算法知识的研究生、科研人员及从事无人机路径规划、智能优化算法研究的相关技术人员。; 使用场景及目标:①用于无人机在复杂地形或动态环境下的三维路径规划仿真研究;②比较不同智能优化算法(如PSO、GA、蚁群算法、RRT等)在路径规划中的性能差异;③为多目标优化问题提供算法选型和改进思路。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注算法的参数设置、适应度函数设计及路径约束处理方式,同时可参考文中提到的多种算法对比思路,拓展到其他智能优化算法的研究与改进中。
In file included from /usr/include/eigen3/Eigen/Core:367, from /home/jin/Desktop/slambook-master/3rdparty/ceres-solver/include/ceres/jet.h:165, from /home/jin/Desktop/slambook-master/3rdparty/ceres-solver/internal/ceres/jet_test.cc:31: /usr/include/eigen3/Eigen/src/Core/util/XprHelper.h: In instantiation of ‘struct Eigen::internal::promote_scalar_arg<ceres::Jet<double, 2>, Eigen::Matrix<ceres::Jet<double, 2>, 2, 2>, false>’: /usr/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h:50:1: required by substitution of ‘template<class T> typename Eigen::internal::enable_if<true, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<typename Eigen::internal::promote_scalar_arg<ceres::Jet<double, 2>, T, Eigen::internal::has_ReturnType<Eigen::ScalarBinaryOpTraits<T, ceres::Jet<double, 2>, Eigen::internal::scalar_product_op<T, ceres::Jet<double, 2> > > >::value>::type, ceres::Jet<double, 2> >, const typename Eigen::internal::plain_constant_type<Eigen::Matrix<ceres::Jet<double, 2>, 2, 1, 0, 2, 1>, typename Eigen::internal::promote_scalar_arg<ceres::Jet<double, 2>, T, Eigen::internal::has_ReturnType<Eigen::ScalarBinaryOpTraits<T, ceres::Jet<double, 2>, Eigen::internal::scalar_product_op<T, ceres::Jet<double, 2> > > >::value>::type>::type, const Eigen::Matrix<ceres::Jet<double, 2>, 2, 1, 0, 2, 1> > >::type Eigen::operator*(const T&, const StorageBaseType&) [with T = Eigen::Matrix<ceres::Jet<double, 2>, 2, 2>]’ /home/jin/Desktop/slambook-master/3rdparty/ceres-solver/internal/ceres/jet_test.cc:529:12: required from here /usr/include/eigen3/Eigen/src/Core/util/XprHelper.h:64:8: error: no type named ‘Literal’ in ‘struct Eigen::NumTraits<ceres::Jet<double, 2> >’ struct promote_scalar_arg<S,T,false> : promote_scalar_arg_unsupported<S,T,typename NumTraits<S>::Literal> {}; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/eigen3/Eigen/src/Core/util/XprHelper.h: In instantiation of ‘struct Eigen::internal::promote_scalar_arg<ceres::Jet<double, 2>, Eigen::Matrix<ceres::Jet<double, 2>, 2, 1, 0, 2, 1>, false>’: /usr/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h:50:1: required by substitution of ‘template<class T> typename Eigen::internal::enable_if<true, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<ceres::Jet<double, 2>, typename Eigen::internal::promote_scalar_arg<ceres::Jet<double, 2>, T, Eigen::internal::has_ReturnType<Eigen::ScalarBinaryOpTraits<ceres::Jet<double, 2>, T, Eigen::internal::scalar_product_op<ceres::Jet<double, 2>, T> > >::value>::type>, const Eigen::Matrix<ceres::Jet<double, 2>, 2, 2>, const typename Eigen::internal::plain_constant_type<Eigen::Matrix<ceres::Jet<double, 2>, 2, 2>, typename Eigen::internal::promote_scalar_arg<ceres::Jet<double, 2>, T, Eigen::internal::has_ReturnType<Eigen::ScalarBinaryOpTraits<ceres::Jet<double, 2>, T, Eigen::internal::scalar_product_op<ceres::Jet<double, 2>, T> > >::value>::type>::type> >::type Eigen::MatrixBase<Eigen::Matrix<ceres::Jet<double, 2>, 2, 2> >::operator*<T>(const T&) const [with T = Eigen::Matrix<ceres::Jet<double, 2>, 2, 1, 0, 2, 1>]’ /home/jin/Desktop/slambook-master/3rdparty/ceres-solver/internal/ceres/jet_test.cc:529:12: required from here /usr/include/eigen3/Eigen/src/Core/util/XprHelper.h:64:8: error: no type named ‘Literal’ in ‘struct Eigen::NumTraits<ceres::Jet<double, 2> >’ /usr/include/eigen3/Eigen/src/Core/util/XprHelper.h: In instantiation of ‘struct Eigen::internal::promote_scalar_arg<ceres::Jet<double, 2>, Eigen::Transpose<Eigen::Matrix<ceres::Jet<double, 2>, 2, 1, 0, 2, 1> >, false>’: /usr/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h:50:1: required by substitution of ‘template<class T> typename Eigen::internal::enable_if<true, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<typename Eigen::internal::promote_scalar_arg<ceres::Jet<double, 2>, T, Eigen::internal::has_ReturnType<Eigen::ScalarBinaryOpTraits<T, ceres::Jet<double, 2>, Eigen::internal::scalar_product_op<T, ceres::Jet<double, 2> > > >::value>::type, ceres::Jet<double, 2> >, const typename Eigen::internal::plain_constant_type<Eigen::Transpose<Eigen::Matrix<ceres::Jet<double, 2>, 2, 2> >, typename Eigen::internal::promote_scalar_arg<ceres::Jet<double, 2>, T, Eigen::internal::has_ReturnType<Eigen::ScalarBinaryOpTraits<T, ceres::Jet<double, 2>, Eigen::internal::scalar_product_op<T, ceres::Jet<double, 2> > > >::value>::type>::type, const Eigen::Transpose<Eigen::Matrix<ceres::Jet<double, 2>, 2, 2> > > >::type Eigen::operator*(const T&, const StorageBaseType&) [with T = Eigen::Transpose<Eigen::Matrix<ceres::Jet<double, 2>, 2, 1, 0, 2, 1> >]’ /home/jin/Desktop/slambook-master/3rdparty/ceres-solver/internal/ceres/jet_test.cc:530:37: required from here /usr/include/eigen3/Eigen/src/Core/util/XprHelper.h:64:8: error: no type named ‘Literal’ in ‘struct Eigen::NumTraits<ceres::Jet<double, 2> >’ /usr/include/eigen3/Eigen/src/Core/util/XprHelper.h: In instantiation of ‘struct Eigen::internal::promote_scalar_arg<ceres::Jet<double, 2>, Eigen::Transpose<Eigen::Matrix<ceres::Jet<double, 2>, 2, 2> >, false>’: /usr/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h:50:1: required by substitution of ‘template<class T> typename Eigen::internal::enable_if<true, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<ceres::Jet<double, 2>, typename Eigen::internal::promote_scalar_arg<ceres::Jet<double, 2>, T, Eigen::internal::has_ReturnType<Eigen::ScalarBinaryOpTraits<ceres::Jet<double, 2>, T, Eigen::internal::scalar_product_op<ceres::Jet<double, 2>, T> > >::value>::type>, const Eigen::Transpose<Eigen::Matrix<ceres::Jet<double, 2>, 2, 1, 0, 2, 1> >, const typename Eigen::internal::plain_constant_type<Eigen::Transpose<Eigen::Matrix<ceres::Jet<double, 2>, 2, 1, 0, 2, 1> >, typename Eigen::internal::promote_scalar_arg<ceres::Jet<double, 2>, T, Eigen::internal::has_ReturnType<Eigen::ScalarBinaryOpTraits<ceres::Jet<double, 2>, T, Eigen::internal::scalar_product_op<ceres::Jet<double, 2>, T> > >::value>::type>::type> >::type Eigen::MatrixBase<Eigen::Transpose<Eigen::Matrix<ceres::Jet<double, 2>, 2, 1, 0, 2, 1> > >::operator*<T>(const T&) const [with T = Eigen::Transpose<Eigen::Matrix<ceres::Jet<double, 2>, 2, 2> >]’ /home/jin/Desktop/slambook-master/3rdparty/ceres-solver/internal/ceres/jet_test.cc:530:37: required from here /usr/include/eigen3/Eigen/src/Core/util/XprHelper.h:64:8: error: no type named ‘Literal’ in ‘struct Eigen::NumTraits<ceres::Jet<double, 2> >’ make[2]: *** [internal/ceres/CMakeFiles/jet_test.dir/build.make:63:internal/ceres/CMakeFiles/jet_test.dir/jet_test.cc.o] 错误 1 make[1]: *** [CMakeFiles/Makefile2:1734:internal/ceres/CMakeFiles/jet_test.dir/all] 错误 2 make: *** [Makefile:141:all] 错误 2 如何解决
09-24
“no type named ‘Literal’ in ‘struct Eigen::NumTraits<ceres::Jet<double, 2> >’” 这个编译错误通常是由于 Eigen 和 Ceres 之间的兼容性问题导致的。可以尝试以下几种解决方法: #### 1. 更新 Ceres 库 确保使用的是与 Eigen 3.3.7 兼容的 Ceres 版本。通常 Ceres 2.0 及之后的版本对 Eigen 3.3.x 系列有较好的支持。可以从 Ceres 的官方 GitHub 仓库拉取最新代码,然后重新编译安装: ```bash git clone https://github.com/ceres-solver/ceres-solver.git cd ceres-solver mkdir build cd build cmake .. make -j$(nproc) sudo make install ``` #### 2. 检查头文件包含顺序 在代码中,确保 Ceres 的头文件在 Eigen 的头文件之后包含。例如: ```cpp #include <Eigen/Dense> #include <ceres/ceres.h> ``` #### 3. 手动定义缺失的类型 如果上述方法都无法解决问题,可以尝试手动为 `Eigen::NumTraits<ceres::Jet<double, 2>>` 定义 `Literal` 类型。在包含 Ceres 和 Eigen 头文件之后,添加以下代码: ```cpp #include <Eigen/Dense> #include <ceres/ceres.h> namespace Eigen { template<> struct NumTraits<ceres::Jet<double, 2>> { typedef double Real; typedef double NonInteger; typedef ceres::Jet<double, 2> Nested; enum { IsComplex = 0, IsInteger = 0, IsSigned = 1, RequireInitialization = 1, ReadCost = 1, AddCost = 3, MulCost = 3 }; static inline Real epsilon() { return std::numeric_limits<Real>::epsilon(); } static inline Real dummy_precision() { return 1e-12; } static inline Real highest() { return std::numeric_limits<Real>::max(); } static inline Real lowest() { return std::numeric_limits<Real>::lowest(); } typedef double Literal; // 手动定义 Literal 类型 }; } // namespace Eigen ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值