JRuby——Java和Ruby的强强联合
JRuby是一个纯Java实现的Ruby解释器。通过JRuby,你可以在JVM上直接运行Ruby程序,调用Java的类库。很多Java编写的Ruby IDE都是使用JRuby来解释语法的。
JRuby,JVM下的一个开源Ruby解释器,能够在Java里面使用Ruby类库。就像标准的Ruby解释器一样,除开使用Ruby调用本地方法(C代码)或者Java类库以外,Ruby代码都能够在JRuby里面正确执行。
为什么JRuby除了适合用来开发面向Internet 的Web 应用之外,还有很多公司将JRuby 看作是使Rails 进入企业应用的关键技术,例如ThoughtWorks。JRuby 允许Rails 应用部署在流行的Java 应用服务器中,很多企业早已建立了这样的运行环境,但因为某些原因无法为运行Rails 应用建立一个全新的运行环境。任何技术的流行,深究起来,其背后都有经济上的原因。Rails 能够达到5 倍于SSH 的开发效率,使它成为了一个几乎无法被抗拒的选择。Rails 进入企业应用,只是一个时间问题,它的前景十分光明。
下载和安装JRuby到JRuby的官方网站:
http://jruby.org/
图:JRuby官方网站截图
下载最新版本的JRuby。这里边有windows版本和linux还有macos版本的,你可以根据你自己的环境下载相应的版本。
下载完成之后解压缩,然后到解压后的目录,我们下文中提到的目录 JRUBY_HOME 就是默认的解压根目录。
在 JRUBY_HOME 下执行bin\jruby -v
如果出现如下提示则表示成功运行:
图:验证JRuby是否成功运行
运行第一个JRuby程序在 JRUBY_HOME 下的samples目录下新建文件random.rb,加入如下程序:
![](http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
1 require java 2 include_class java.util.Random 3 r = Random.new(123) 4 puts "Some random number #{r.nextInt % 10}" 5 r.seed = 456 6 puts "Another random number #{r.nextInt % 10}"
然后执行如下命令:
图:运行JRuby random.rb
就会得到对应的结果。
其中Java调用JRuby和JRuby调用Java的例子可以在下面的链接中看到,写的很详细:
https://github.com/jruby/jruby/wiki/JRubyAndJavaCodeExamples
在JRuby运行Swing在上面的例子运行成功后,我们接下来运行swing的例子,在sample目录下新建文件swing2.rb,输入如下内容:
![](http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
![复制代码](http://common.cnblogs.com/images/copycode.gif)
1 # Import Java packages 2 include Java 4 import javax.swing.JFrame 6 frame = JFrame.new("Hello Swing") 7 button = javax.swing.JButton.new("Klick Me!") 8 button.add_action_listener do |evt| 9 javax.swing.JOptionPane.showMessageDialog(nil, EOS) 10 html Hello from b u JRuby /u /b . br 11 Button #{evt.getActionCommand()} clicked. 12 EOS 13 end 15 # Add the button to the frame 16 frame.get_content_pane.add(button) 18 # Show frame 19 frame.set_default_close_operation(JFrame::EXIT_ON_CLOSE) 20 frame.pack 21 frame.visible = true
![复制代码](http://common.cnblogs.com/images/copycode.gif)
别梦依稀咒逝川,Ruby二十八年前|M1芯片Mac os系统配置Ruby(3.0.0) on Rails(6.1.1)开发环境 在每个开发者心里,都会有一门“最好”的语言,在这个世界的某个深处,在一些矫矫不群的人们心中,这门语言的名字叫做Ruby,它今年二十八岁了,历史和Java一样的悠久,但是它没有大厂背书、它的性能被开发者诟病、时至今日依然无法高效利用多核资源,甚至于它每年都要被“死亡”一次,相比于有太阳计算机系统、甲骨文、IBM 这些大公司支持的 Java,它是那么的一无所有,但是,它又拥有全世界最虔诚的“信徒”,拥有最活跃的开发者社区,这一切,又让它是那么的应有尽有。是的,这就是Rubyist的理念:有的时候,你想证明给一万个人看,到后来,你发现只得到了一个明白的人,那就够了。
基于Docker在Win10平台搭建Ruby on Rails 6.0框架开发环境 2023年,“非著名Web框架”--Ruby on Rails已经18岁了。在今年,Rails 6.0趋于完善,除了拿掉讨厌的Jquery,Webpacker 也成为默认前端打包方案,Sprockets 开始软着陆,未来很可能会和Jquery一样被彻底废弃,这就是历史的进程。
【Ruby on Rails全栈课程】5.3 项目上线--git部署项目 1、git分布式版本控制系统是什么? 现在本地电脑1有一套data_system的代码,如果想把这套代码放到云服务器上,应该怎么做呢? 最简单的做法是直接将本地电脑1上的代码拷贝到服务器上。 但是我们拷贝完成后发现了一个bug1,在本地电脑1的代码中修复了之后。需要与云服务器上的代码同步,还是要将本地电脑1的代码拷贝到服务器上吗? 团队的另一个人修改了bug2,没有修改bug1,他如果将自己本地电脑2的代码拷贝到服务器上,就会将你刚刚修改的bug1代码覆盖掉。 所以我们现在需要一个第三方先将代码处理整合一下,将我们自己的代码与团队其他人的代码整合起来,再通过git pull操作将整合后
相关文章
- java 上传文件接口_Java接口实现文件上传
- java输出值取后两位小数,Java输出结果保留两位小数
- JAVA语言实现计算器
- JAVA基本数据类型及变量
- java try lock_ReentrantLock
- wpf listview 分组_JAVA排序
- JAVA读取csv文件_java读取csv文件某一列
- 从java到JavaScript(1),看Dart:对比Java/Go/Swift/Rust
- Java学习笔记之二十三instanceof运算符的用法小结详解编程语言
- Java学习笔记之九java二维数组及其多维数组的内存应用拓展延伸详解编程语言
- Java学习笔记之三java中的变量和常量详解编程语言
- eeOracle放弃Java EE:梦想的终结(oracle放弃java)
- Java与Linux搭配,开发无限可能(java与linux)
- 缓存掌握Redis与Java结合 管理过期缓存(redisjava过期)
- 使用Java轻松导出MySQL数据(java导出mysql)
- 期Java开发高效配置MySQL长期支撑(mysql java 长)
- MySQL与Java结合,构建高效多功能缓存系统(MySQL java缓存)
- Java与MySQL的无缝衔接:实现高效数据操作(java中使用mysql)
- Java数据库之MySQL学习使用教程(mysql中java教程)
- Java导入Oracle 实现快速数据传输(java导入oracle)
- 编程Oracle数据库中实现Java编程的突破之道(oracle使用java)
- java获取properties属性文件示例
- java显示当前美国洛杉矶时间
- java求数组第二大元素示例