mainly marketing articlle by cofiiunder What if you didn't have to do any of this funny business to get scalability and reliability? What if the JVM had access to a service that you could plug into to make its heap durable, arbitrarily large, and shared with every other JVM in your application tier? Enter Terracotta, network-attached, durable virtual heap for the JVM. In the spirit of full-disclosure, I'm a co-founder of Terracotta and work there as a software developer. Terracotta is an infrastructure service that is deployed as a stand-alone server plus a library that plugs into your existing JVMs and transparently clusters your JVM's heap. Terracotta makes some of your JVM heap shared via a network connection to the Terracotta server so that a bunch of JVMs can all access the shared heap as if it were local heap. You can think of it like a network-attached filesystem, but for your object data; see Figure 1.
NestedVM translated C (actually any language supported by GCC) programs to JVM bytecode. You can find some more information at http://nestedvm.ibex.org. How it works * Paper * Talk How to use it * Quick Start Guide * David Aubin's Cygwin Building Guide * Building Tips * Unix Runtime (a.k.a. "What the heck does this error mean about unknown syscall") Similar Projects * Cibyl
LambdaVM is a JVM backend for GHC. It is available at http://darcs.brianweb.net/ghc. October, 2008 Update See http://www.cs.rit.edu/~bja8464/lambdavm/ Documentation * Building Guide * FFI * Exceptions * Concurrency Misc Notes * Implementation * Todo * NestedVM Integration
Jaskell is a functional scripting programming language that runs in JVM. The name "Jaskell" stands for Java-Haskell, but it is not haskell 1. Most of the current scripting languages are Object-Oriented. Though they more or less have functional tastes (Ruby's sexy closure, for example), the heart of them are still Object-Oriented. One of the most important essenses of functional programming (combinators) is yet to be brought into Java. 2. Jaskell brings with it higher order function, function currying, pattern match and monadic combinator support. 3. Monadic combinator is ideal for designing Domain Specific Language. It is relatively easy to tailor Jaskell runtime to make domain specific syntax look like simple atomic statements. See Neptune for a real example. 4. Jaskell is nothing but a Java library that passes Java objects in and out of the interpreter.
Efficiently translating Haskell to JVM Bytecode using GHC's intermediate language, STG. LambdaVM is the proof that complete and efficient translation is possible. LambdaVM is a set of patches to GHC's which extend it to fully support generating useable JVM bytecode. It modifies the three primary components of GHC: * The compiler itself: The compiler has been modified to transform STG, one of GHC's many intermediate languages, to JVM bytecode. * The runtime system (RTS): GHC's RTS implemented as a mix of C and C-- has been reimplemented in Java. * The base libraries: GHC's base libraries have been modified to run on top of Java's standard libraries rather than ANSI C/POSIX libraries. October, 2008 Update LambdaVM is coming back! I've fixed all the GHC 6.8.x build problems and the instructions below should once again work. LambdaVM itself is still based on a circa November, 2007 GHC HEAD but moving all my changes to the current HEAD is next
Nailgun is a client, protocol, and server for running Java programs from the command line without incurring the JVM startup overhead. Programs run in the server (which is implemented in Java), and are triggered by the client (written in C), which handles all I/O.
Fan is an OO, functional programming language designed to cross compile to both the Java and .NET platforms. It provides a concise syntax along with elegant, cross portable libraries.
Lex Spoon discusses the Scala programming language including the origin of Scala, the philosophy behind Scala, the Scala feature set, Object-Oriented and Functional programming in Scala, examples of Scala code, writing DSLs, how Scala is converted into Java, Scala performance, Abstract Data Types, unapply, actors and partial functions. Lex Spoon divides his time between two posts: he works at EPFL in Switzerland on the Scala team, and at IBM Research in New York on X10.
Save. Refresh. Enjoy. And stop redeploying in Java! JRebel is a small JVM-plugin that makes it possible for Java developers to instantly see any code change
Magpie is a small dynamically-typed programming language built around patterns, classes, and multimethods. From functional languages, it borrows first-class functions, closures, expressions-for-everything, and quotations. Its most novel feature is probably an extensible syntax. It runs on the JVM.
Java is a safe programming language and prevents programmer from doing a lot of stupid mistakes, most of which based on memory management. But, there …
By default, the virtual machine grows or shrinks the heap at each collection to try to keep the proportion of free space to live objects at each collection within a specific range. This target range is set as a percentage by the parameters -XX:MinHeapFreeRatio= and -XX:MaxHeapFreeRatio=, and the total size is bounded below by -Xms and above by -Xmx .
Supported Java binary distributions currently include:
Oracle (http://www.oracle.com/technetwork/java/javase/downloads):
The Java Development Kit (JDK), version 6, 7 and 8
The Java Runtime Environment (JRE), version 6, 7 and 8
The Java API Javadoc, version 6, 7 and 8
This is the 5th post in the The state of JVM desktop frameworks focus series. The previous posts of this series were dedicated to frameworks that were pretty similar to each other. This week’s post is dedicated to Jet Compose for Desktop, the new kid on the block that offers an original approach.
B. Claudel, Q. Sabah, and J. Stefani. Formal Techniques for Distributed Objects, Components, and Systems, volume 9039 of Lecture Notes in Computer Science, Springer, (2015)
S. Imam, and V. Sarkar. Proceedings of the 4th International Workshop on Programming Based on Actors Agents & Decentralized Control, page 67--80. ACM, (2014)
P. Hofer, F. Hörschläger, and H. Mössenböck. Proceedings of the 6th ACM/SPEC International Conference on Performance Engineering, page 87--90. ACM, (2015)
A. Sewe, M. Mezini, A. Sarimbekov, and W. Binder. Proceedings of the 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications, page 657--676. ACM, (2011)
B. Daloze, C. Seaton, D. Bonetta, and H. Mössenböck. Proceedings of the 10th International Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems, (2015)
W. Li, D. White, and J. Singer. Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools, page 101--112. ACM, (2013)
M. Steindorfer, and J. Vinju. Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, page 783--800. New York, NY, USA, ACM, (2015)
M. Arnold, S. Fink, D. Grove, M. Hind, and P. Sweeney. Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications - OOPSLA \textquotesingle00, page 47--65. ACM, (October 2000)
T. Mytkowicz, A. Diwan, M. Hauswirth, and P. Sweeney. Proceedings of the 31st ACM SIGPLAN Conference on Programming Language Design and Implementation, page 187--197. ACM, (June 2010)
H. Burchell, O. Larose, and S. Marr. Proceedings of the 21st ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, ACM, (September 2024)