
NetBeans is a very developer-friendly environment, usually daunting in its inhibition, because cumbersome and written in Java. Well, let's hope that one day everything will work out, but for now let's see how Real-Time Java can fix this situation.
The Java Real-Time System is distributed (http://java.sun.com/javase/technologies/realtime/index.jsp) under a tough license with the ability to use a limited time: version 2.1 is only a year after installation. Version 2.2 is also available on the site with a 90 day limit.
JavaRTS for full-fledged work requires a Real-Time system, and is available for download only for the Solaris OS and Linux (
real-time patches to the kernel ).
')
What is the difference real-time Java from the usual?
- Real-time thread scheduling and synchronization
The concept of 2 threads appears in RTSJ: real-time and no-heap real-time (which cannot be interrupted by the garbage collector). As well as 28 levels of priorities for them.
- New memory management schemes
- Nanosecond accuracy of time and timers
- Direct access to physical memory (while maintaining security =))
However, for applications written without using the Java Real-Time API, one of the features specific to Java is the work of the garbage collector. It is performed at a time when it does not interfere with anyone and is constantly interrupted by the redevelopment of processes.
So let's go ...
Test object: NetBeans 6.5.1

JavaRTS 2.1
bash-3.2$ javarts -version
Java Real-Time System HotSpot(TM) Client VM warning: unable to lock pages into memory
java version "1.5.0_16"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16_Java-RTS-2.1_fcs-b11_RTSJ-1.0.2)
Java Real-Time System HotSpot(TM) Client VM (build 1.5.0_16-b11, mixed mode)
Archlinuxbash-3.2$ uname -a
Linux hyperion 2.6.29-rt #1 SMP PREEMPT RT Wed Jun 3 17:02:08 MSD 2009 i686 Intel(R) Core(TM) Duo CPU T2450 @ 2.00GHz GenuineIntel GNU/Linux
Everything is ready, we launch our "uneasy" IDE
bash-3.2$ ./netbeans --jdkhome /usr/share/JavaRTS/jrts2.1/
NetBeans started up unexpectedly quickly, although it was predictably not in a hurry when initializing modules.
Usually, slowly and with the hum of the hard drive, the opening, side panels flew out, only for a moment did the mouse brake. Finally, you do not have time to yawn, while heavy menus appear, and the tabs open almost instantly.
Well, while the increase in speed can not but rejoice. Let's try something more abruptly. I have always disliked messing with updates and plugins only because of the long opening of the window to manage them: Tools -> Plugins ... And usually the long initialization of the list of plugins takes about 5-7 seconds in the progress bar.
The next hard thing: Tools-> Options ... Everything hangs up, the menu appears pretty soon, but mouse control returns only after a few seconds.
Memory usage all this time jumps from 90 to 130 MB (according to the monitor of the Java Profiler plug-in), although with jdk1.6.0_12 the limit is usually about 70 MB, but here, probably, the use of different versions of Java (JavaRTS 2.1 compiled based on jdk1.5.0_16).