SecureJSH允许Java编写的服务器端应用程序为管理员、客户、开发者和客户端服务提供一个安全shell,这里可以交互性的让Java语言逐句的运行。 SecureJSH需要JDK 6.0或者JRE 6.0加JAVAC(在classpath中)来运行。
安全: SecureJSH在服务器端实现了RFC-4251,SSH 2.0协议,支持公钥认证,这种方式方便安全(不需要每次输入密码)。
交互式执行:传统的方式下,在运行Java源代码之前你必须将它们编译为bytecode。但是使用SecureJSH,编译的过程是透明完成的,所以你只需要随意输入一些Java表达式(就可以运行)。这意味着你可以使用你书写应用程序时完全相同的语法,与最新的Java语言规范同步。你可以在你的Java项目源码和SecureJSH终端里面拷贝&粘贴任何代码,都没有问题。
智能命令识别,UNIX Shell风格不像JSR-223(Java Scripting Engin,Java脚本引擎)对Java语言的脚本的支持,在(Java脚本引擎)里面你必须将Java类的全部代码输入后才可以执行,SecureJSH更加智能和人性化,如果你输入了不完整的Java表达式它会自动提示你进行多行的输入,然后将这些表达式包装到一个预先定义的类结构中来执行。它是一个真正的Shell。
没有界面,最小化资源消耗:SecureJSH没有需要储存在JVM范围的静态资源,每一个实例只消耗很少量的资源(基于NIO实现,所有的SSH通讯都由一个线程处理)。你可以按照你的想法在一个JVM里面运行任意多个shell服务,包括Java应用程序服务器的JVM。
长远规划因:为在当代的JVM里面,类载入还是一个昂贵的操作(消耗持久生成的堆区域),SecureJSH意图实现一个在当前JVM之上运行的JVM来直接(on-the-fly)的运行bytecode,而不需要使用类载入。这样可能会比在主JVM上运行要慢很多,但是对于交互会话来说已经足够了,特别是考虑到这样可以摆脱类载入对主JVM长期运行带来的负面影响。