- 浏览: 3048164 次
- 性别:
- 来自: 海外
文章分类
- 全部博客 (430)
- Programming Languages (23)
- Compiler (20)
- Virtual Machine (57)
- Garbage Collection (4)
- HotSpot VM (26)
- Mono (2)
- SSCLI Rotor (1)
- Harmony (0)
- DLR (19)
- Ruby (28)
- C# (38)
- F# (3)
- Haskell (0)
- Scheme (1)
- Regular Expression (5)
- Python (4)
- ECMAScript (2)
- JavaScript (18)
- ActionScript (7)
- Squirrel (2)
- C (6)
- C++ (10)
- D (2)
- .NET (13)
- Java (86)
- Scala (1)
- Groovy (3)
- Optimization (6)
- Data Structure and Algorithm (3)
- Books (4)
- WPF (1)
- Game Engines (7)
- 吉里吉里 (12)
- UML (1)
- Reverse Engineering (11)
- NSIS (4)
- Utilities (3)
- Design Patterns (1)
- Visual Studio (9)
- Windows 7 (3)
- x86 Assembler (1)
- Android (2)
- School Assignment / Test (6)
- Anti-virus (1)
- REST (1)
- Profiling (1)
- misc (39)
- NetOA (12)
- rant (6)
- anime (5)
- Links (12)
- CLR (7)
- GC (1)
- OpenJDK (2)
- JVM (4)
- KVM (0)
- Rhino (1)
- LINQ (2)
- JScript (0)
- Nashorn (0)
- Dalvik (1)
- DTrace (0)
- LLVM (0)
- MSIL (0)
最新评论
-
mldxs:
虽然很多还是看不懂,写的很好!
虚拟机随谈(一):解释器,树遍历解释器,基于栈与基于寄存器,大杂烩 -
HanyuKing:
Java的多维数组 -
funnyone:
Java 8的default method与method resolution -
ljs_nogard:
Xamarin workbook - .Net Core 中不 ...
LINQ的恶搞…… -
txm119161336:
allocatestlye1 顺序为 // Fields o ...
最近做的两次Java/JVM分享的概要
之前的一帖里提到了JRuby里Java类的名称问题。后来读到JavaEye上当Ruby遇到Java,勇敢地跨越边界吧这一帖,发现里面有这样的代码例子:
然后觉得有点奇怪:为什么基类的部分用java.lang.StringBuffer就行呢?在类的名字定义那里要是写java.lang.StringBuffer明明不行的。
后来发觉Ruby在定义类的时候,基类的部分只要是个返回Class类型的表达式就行,不一定要是具体的基类的名字。
在Ruby 1.8.6里测试:
在JRuby 1.1.2里测试得到的结果是一样的。这样就可以理解为什么前面StringBuffer的例子能正确执行了。
但是类名的部分仍然必须是一个合法的名字,而不能是任意的表达式。
class MyStringBuffer < java.lang.StringBuffer def append(v) end end
然后觉得有点奇怪:为什么基类的部分用java.lang.StringBuffer就行呢?在类的名字定义那里要是写java.lang.StringBuffer明明不行的。
后来发觉Ruby在定义类的时候,基类的部分只要是个返回Class类型的表达式就行,不一定要是具体的基类的名字。
在Ruby 1.8.6里测试:
irb(main):001:0> class A irb(main):002:1> end => nil irb(main):003:0> class B irb(main):004:1> def B.a irb(main):005:2> A irb(main):006:2> end irb(main):007:1> end => nil irb(main):008:0> class C < B.a irb(main):009:1> end => nil irb(main):010:0> C.superclass => A
在JRuby 1.1.2里测试得到的结果是一样的。这样就可以理解为什么前面StringBuffer的例子能正确执行了。
但是类名的部分仍然必须是一个合法的名字,而不能是任意的表达式。
发表评论
-
字符串的一般封装方式的内存布局 (0): 拿在手上的是什么
2013-11-04 18:22 21489(Disclaimer:未经许可请 ... -
字符串的一般封装方式的内存布局
2013-11-01 12:55 0(Disclaimer:未经许可请 ... -
RubyConf notes
2011-11-08 19:10 0symmetric coroutine Fiber#trans ... -
ShanghaiOnRails第八次线下活动——你不需要知道的Ruby实现
2010-11-12 15:39 2841上个月底正好赶上参加了ShanghaiOnRails 第八次线 ... -
JRuby的运行模式
2010-11-01 11:21 0// 老的JRuby还是用org.jruby.evaluato ... -
你不需要知道的Ruby草稿
2010-10-27 11:25 0一些Ruby实现 Ruby 1.8 树遍历解释 Ruby 1 ... -
Ruby里的fiber/coroutine例子
2010-01-26 18:33 0Ruby 1.9开始支持fiber。与“fiber”一词的一般 ... -
JRuby使用技巧收集
2009-12-28 09:35 0java.lang.Thread.new { puts &qu ... -
特殊类型的eigenclass
2009-12-17 03:39 0Fixnum的实例没有eigenclass true、fals ... -
奇怪的参数
2009-12-08 02:25 0默认参数与闭包的组合 真正的问题不是只是默认参数看起来很诡异, ... -
MacRuby的执行模式
2009-12-07 07:41 0mailing-list macruby-devel http ... -
Rubinius的执行模型
2009-12-05 15:22 0Rubinius wants to help YOU make ... -
Ruby 1.8和1.9中String#hash的实现
2009-11-22 18:23 01.8 string.c int rb_str_hash(s ... -
To囧:拿你来测测Watir...
2009-11-21 22:38 3441iaimstar 写道@RednaxelaFX 你最近ruby ... -
[标题党] MagLev中GC类的真相……
2009-11-21 14:46 0注意到本文的标题:我是说“GC类”的真相,不是说GC的真相哦~ ... -
小试rubyzip的一个脚本
2009-11-17 20:42 3455呼,今天开始3天都是新人培训,总算可以抽点时间发一帖。 现在在 ... -
爬一下Google和百度看口碑对它们做的SEO效果如何
2009-11-09 00:27 0#!/usr/bin/env ruby require ... -
把Mechanize的html_parser改回到Hpricot
2009-11-08 14:45 3115记得我最初开始用Nokogir ... -
使用新的RubyInstaller
2009-11-07 02:37 0Hpricot的安装需要编译,需要devkit -
Ruby metaprogramming tech notes
2009-09-28 15:39 0class Builder def self.build ...
相关推荐
用python读取由ruby/jruby生成的yml数据
这就是JRuby的出现原因,它是一个将Ruby语言实现于Java虚拟机(JVM)上的项目。 JRuby的核心目标是提供与原生Ruby解释器相当的性能,同时利用JVM的跨平台兼容性和企业级特性,如垃圾回收、线程支持和丰富的库。通过...
在IT行业中,语言迁移是一个常见的现象,特别是在软件开发领域,开发者可能会从一种编程语言迁移到另一种,例如从Java转向Ruby。然而,这种迁移过程往往伴随着风险。本文主要探讨了Java和Ruby这两种语言在迁移过程中...
JRuby是Ruby编程语言的一个实现,它是用Java语言编写的,因此可以无缝地与Java平台交互。JRuby的优势在于它不仅支持Ruby语法,还能利用Java的生态系统,包括Java库、Java虚拟机(JVM)以及各种企业级服务。这使得...
JRuby 是一个基于 Java 平台的 Ruby 实现,它允许开发者利用 Ruby 语言的优势同时享受 Java 生态系统的强大功能。在本文中,我们将详细探讨如何安装和配置 JRuby,特别是针对 JRuby 1.1.2 版本与 Java 1.6。 **一、...
它为您提供了一个特殊的Manager类,该类可以加载代理列表,对其进行验证并返回随机或特定的代理。 它还具有一个Client类,该类封装了用于使用代理发送HTTP请求的所有逻辑,该代理由gem自动获取和验证。 请查看下面...
1. JRuby 定义:JRuby 是 Ruby 语言的一个开源实现,它的目标是使 Ruby 程序能够无缝地在 Java 平台上运行。JRuby 不仅实现了 Ruby 标准库,还支持 Ruby on Rails 框架,使得 Java 开发者能够利用 Ruby 的生产力特性...
- 当同时安装了 Ruby 和 JRuby 时,请确保 JRuby 的环境变量优先级高于 Ruby,以避免冲突。 - 在进行测试案例编写时,建议遵循 BDD 的原则,确保测试案例清晰、易读。 - Cucumber 支持多种格式的输出,可以根据实际...
标题中的"hdfs client for ruby (just jruby) hdfs客户端 基于jruby.zip"指出,这个压缩包提供了一个专门为JRuby(Java版本的Ruby)设计的HDFS客户端。JRuby允许Ruby代码与Java平台无缝集成,因此这个客户端能够利用...
一个真正的应用程序的 Dockerfile 应该从这个镜像继承,添加一个应用程序用户,添加 git,做一个源签出和bundle install等。生成rubies/ 要更新 rubies rubies/下可用的所有 Ruby 版本 Dockerfile,请执行make ...
JRuby 是一个开源的、高性能的 Ruby 解释器,它能够将 Ruby 代码编译成 Java 字节码,从而在 Java 虚拟机(JVM)上运行。JRuby 的出现使得 Ruby 开发者能够利用 JVM 的强大功能和丰富的库,同时也让 Java 开发者能够...
标题“jruby-src-1.0”指的是JRuby的一个特定版本——1.0的源代码。JRuby是一种实现Ruby编程语言的Java版本,它允许在Java平台上运行Ruby代码,同时也支持与Java应用程序进行无缝集成。这个压缩包“jruby-src-1.0....
ruby-install安装Ruby,JRuby,Rubinius,TruffleRuby或mruby。 功能支持安装任意版本。 支持从ruby-versions下载最新版本和校验和。 支持installi ruby-install安装Ruby,JRuby,Rubinius,TruffleRuby或mruby...
在Ruby的世界里,管理不同的Ruby实现(如MRI、JRuby、Rubinius、MagLev和MRuby)是非常重要的,这有助于开发者根据项目需求选择最适合的运行时环境。`ruby-install`就是这样一个工具,它允许用户方便地安装和管理...
Puma:为并发构建的Ruby Web服务器Puma是用于Ruby / Rack应用程序的简单,快速,多线程,高度并发的HTTP 1.1服务器。...每个请求都在一个单独的线程中提供服务,因此是真正的并发Ruby实现(JRuby,Rubinius
- **创建Ruby项目**:通过简单的几个步骤即可创建一个新的Ruby项目。 - **创建Rails项目**:同样地,也可以创建Rails项目,并利用NetBeans提供的各种特性来加速开发流程。 #### 三、配置环境 - **注册Ruby安装**:...
JRuby是Java平台上的一个实现,它允许开发者在Java虚拟机(JVM)上运行Ruby编程语言。这个“jruby-bin-1.3.1.zip”压缩包是JRuby的一个早期版本,专为Ruby语言的研发提供必要的工具和环境。在这个版本中,重点是兼容...
`rbenv`是一个用于管理全局或用户级别的Ruby版本的工具,它允许你在多个项目之间轻松切换Ruby版本。而`ruby-build`是`rbenv`的一个插件,它的主要功能是编译并安装各种版本的Ruby。 首先,你需要在你的系统上安装`...