사블VM
SableVM| 개발자 | 맥길대학교 세이블연구단 |
|---|---|
| 최종 발매 | 1.13 / 2007년 3월 30일; 전 |
| 리포지토리 | |
| 운영 체제 | 크로스 플랫폼 |
| 유형 | Java 가상 시스템 |
| 면허증 | GNU 약소 일반 공중 라이선스 |
| 웹사이트 | sablevm |
SableVM은 Java 가상 머신(VM) 규격, 2판을 구현하는 Java 바이트코드 통역기의 클린룸 구현이었다.SableVM은 강력하고 휴대성이 뛰어나며 효율적이며 완벽한 사양 준수(JVM 사양, Java Native Interface, Invocation Interface, Debug 인터페이스 등)를 제공하도록 설계되었다.유지 보수와 확장이 쉬운 Java Virtual Machine.[citation needed]그것은 이제 더 이상 유지되지 않고 있다.
이 구현은 2000년대 초반 선마이크로시스템스의 통제에서 벗어나 자바 생태계를 타파하기 위한 노력의 일환이었다.[1][2][3]
개요
핵심 엔진은 획기적인 기술을 사용하여 "즐거운" JIT 컴파일러에 근접할 수 있는 성능을 제공하는 동시에 통역사의 소프트웨어 엔지니어링 장점인 휴대성, 유지 보수성 및 단순성을 유지한 통역이다.[4][5]이러한 단순성으로 인해 SableVM의 소스 코드는 새로운 사용자/프로그래머가 매우 쉽게 접근할 수 있고 이해하기 쉽다.
SableVM은 무료 소프트웨어로, GNU LSPL(Lor General Public License)에 따라 라이센스가 부여된다.또한 링크 예외로 GNU General Public License에 따라 라이센스가 부여된 GNU Classpath(FSF에 의해 저작권이 있는 GNU Classpath)를 사용한다.
SableVM은 Java가 JVMDI(Java Virtual Machine Deverging Interface)와 JDWP(Java Debug Wire Protocol)를 지원하는 최초의 오픈 소스 가상 머신이다.[citation needed]이러한 표준 자바 디버깅 인터페이스는 Eclipse가 풍부하고 사용하기 편리한 자바 개발 환경을 제공하기 위해 예를 들어 사용된다.
자바 중간 언어
SableVM의 일부 버전은 Java 프로그램의 형식 구조를 나타내는 중간 언어(XML의 하위 집합)인 Java 중간 언어를 사용한다.이 언어는 확장성과 우수한 성능을 목표로 한 자바 프로그램의 분석을 돕기 위해 2002년 1월 맥길 대학교의 SableVM 팀이 제안한 것이다.[6][7]그 언어는 널리 채택되지 않았다.
다음 Java 코드를 고려하십시오.
공중의 마이클래스 기구들 마이인터페이스 연장하다 마이수퍼 클래스 { 인트로 마이필드; 공허하게 하다 마이메토드 (곱절로 하다 x, 곱절로 하다 y) { 곱절로 하다 z; z = x + y; 이.마이필드 = z } } 이 작품은 다음과 같이 언어로 표현할 수 있다.
<질> <클래스> 이름을 붙이다"마이클래스" 확장하다="MySupperClass> <수정자> 이름을 붙이다"공용" /></수정자 <<<<>> 이름을 붙이다"마이인터페이스" />[/] <<fields>> <밭> 이름을 붙이다"마이필드" 타자를 치다"int" /> </기호> <<methods>> << method> 이름을 붙이다"마이메토드" returntype="void"> <<parameters>> << parameter> 이름을 붙이다"x" 타자를 치다"이중" /> << parameter> 이름을 붙이다"Y" 타자를 치다"이중" /> </기호> <<locals>> <현지> 이름을 붙이다"z" 타자를 치다"이중" /> </기호> <<statements>> <!-- 각 문장은 에 대한 어떤 중간 형식으로 표현된다. 코드 생성기는 3개의 주소 코드와 같다.아래 내용 바프(baf)라는 언어가 사용된다. --> <바프> <![CDATA] $r2 = $r0 + $r1; 이MyField = (2배) $r2; ]]> <!--여기서 x가 $r0, y$r1, z$r2로 표현된다고 가정하고 있다. --> </바프> </기호> </기호> </기호> </클래스> </질> 참고 항목
참조
- ^ "Sun-approved Open Source java making progress". The Inquirer. 2006-03-31. Archived from the original on December 3, 2009. Retrieved 2012-12-02.
{{cite web}}: CS1 maint : 부적합한 URL(링크) - ^ "O'Reilly Network wins a Jolt; SNAP Platform gets jolted". Onlamp.com. Retrieved 2012-12-02.
- ^ "Barbarians at the Gate SYS-CON.TV". Tv.sys-con.com. 2006-09-22. Retrieved 2012-12-02.
- ^ 가그논, 에티엔 M, 로리 J. 헨드렌."SableVM: 자바 바이트코드의 효율적인 실행을 위한 연구 프레임워크"자바 가상 머신 연구 및 기술 심포지엄 진행2001년 1권
- ^ 프로코프스키, 그레고리 B, 에티엔 M. 가그논, 크리스티안 아칸드.SableVM 코드 복사 엔진을 위한 바이트 코드 테스트 프레임워크.기술 보고서 SABLETR-2007-9, Sable Research Group, McGill University, Montréal, Quebec, 2007.
- ^ 엥, 데이비드."JIL: 확장 가능한 중간 언어."맥길대 세이블연구그룹(2002년).
- ^ 엥, 데이비드.코드 시각화에 정적 및 동적 데이터 결합.제28권1번 ACM, 2002.