USA India
Home Articles UserTV Press Releases Dictionary Books Education Careers B-Channels Resources Forums Blogs Classifieds
Saturday 30 Aug, 2008 eNewsletter Register Login
My Profile
Adison
Blogs
Today in Blogs
Recent Blogs
Popular Blogs
Most Viewed Blogs
Community Recommended
Blogs by Category
Networking / Security
Communications
Electronics
Hardware
Operating Systems
Software
Programming
Opensource
Database
Internet
Wireless
Mobile Computing
Graphics
Multimedia
Gadgets
Adobe
Apple Mac
Autodesk
Cisco
Citrix
Google
IBM
Microsoft
Oracle
PHP
SUN
Others
 
  Post a Blog blogs Home
Category >> Programming
Implementation of Real time Java Efficiently
Posted by : Adison | Fri,8 Jun 2007 | 2:18:58
Tags : Implemation,Java,Programming
Rating :
Comments (0) Views (2266) Email Blog Forums Save to Favourites
More from this user Print Blog Bookmarks
Add to
 

Real-time Java is an emerging set of technologies that enable customers to write applications in Java with deterministic run-time requirements. IBM provides a real-time Java solution called IBM WebSphere Real Time, which features Real Time GC, Ahead Of Time Compilation, and a conforming RTSJ environment, all running on an enhanced Real Time Linux. The Linux product only uses freely-available technology developed by the Linux community. The technologies provided here show a first glimpse of where the industry is taking real-time Java

 
Efficient implementation of monitors and exceptions is crucial for the performance of Java. One implementation of threads showed a factor of 30 difference in run time on some benchmark programs. This article describes an efficient implementation of monitors for Java as used in the CACAO just-in-time compiler. With this implementation the thread overhead is less than 40% for typical application programs and can be completely eliminated for some applications.


For all its functionalities, Java is known to suffer in terms of responsiveness. To make it lend itself to real-time embedded systems and other computing systems that need to be extremely fast and responsive, companies like IBM, Sun etc have developed or are working on real-time Java specifications and development platforms.

 

In order to analyse the real time application, we contacted Mr. Anand Mahadevan, Lead Consultant of Satyam Computers.  Give below is the text of the interview:

 

<!--[if !supportLists]-->1.    <!--[endif]-->What about the Java Programme and how is it used in various organizations?
 

Java is language of choice for software development. It has evolved, matured and gained acceptance across the industry.

Java is a programming language which was developed by Sun Microsystems and initially was targeted for a non-computing environment. The advent of Internet and popularity of the World Wide Web resulted in the acceptance of Java. Java is an object-oriented language that is modelled on C++ but has less clutter.  From a usage standpoint it has gained wide acceptance across all spheres of software development.

 

<!--[if !supportLists]-->2.    <!--[endif]-->What are the limitations in implementing Java programme

 

There are no apparent limitations for implementing a Java programme. The only limitation would be computing power as Java has a virtual machine, which needs a fair amount of resources and computing power to perform efficiently.

 
 
<!--[if !supportLists]-->3.    <!--[endif]-->How to overcome these limitations?

 

           As computing power and memory has become cheap it now has no barrier in developing and deploying Java based applications. There are no apparent limitations in Java development.

 

<!--[if !supportLists]-->4.    <!--[endif]-->Can you tell your experience about Java programme?

 

 I have been involved with Java ever since its inception (early 90's). I was initially a skeptic but a combination of increase in computing power and stability of the VM's we started to take it seriously. A lot of mission critical applications were developed and deployed using Java programming language in my 14 years of experience. Java's famous quote line of  "Write once and run anywhere" was practically put to use. We had applications written on Solaris and like a chime, with no code change was deployed on Windows and Linux. This was huge as the enterprise was a heterogeneous mix of Operating Systems.

 
<!--[if !supportLists]-->5.    <!--[endif]-->What are the applications for which Java programme can be successfully used?

 
            ; Java can be used to build content rich web applications. In act a majority of applications like online    banking have Java components. One can also build system applications and database applications. Java can thought as a language of choice for almost all type application scope.

 
 
<!--[if !supportLists]-->6.    <!--[endif]-->How will you train people in junior levels?

 

There are enough books and materials out there for training junior level programmers. Java is taught as a part of the curicullum in almost all computer science courses. A systematic approach should be take to train with emphasis on OOPS concept and then working on the language nuances.

 
 
<!--[if !supportLists]-->8.    <!--[endif]-->What are the latest developments in Java programme?

 

Java as a language has matured. The latest development from the Java world is the 1.5 release with emphasis on web services.

 
 

<!--[if !supportLists]-->9.    <!--[endif]-->Would you like to share your personal experience regarding stepwise

Java implementation

 

Any Java implementation should start with a good ground up design. A lot of thought and energy should be spent on coming with a good design. Implementation will basically comprise of setting up a build environment, deciding on a IDE (Integrated Development Env) like Eclipse, Net Beans... and setting up the source repository.

 

One of the key aspects of Java implementation is to ensure that the proper version of JVM is installed on the client machine. Typically you one could have developed the application a JVM version that might be higher than the target/production machine JVM. We just have to be careful enough to ensure that JVM compatibility exists.

 

Here are few quotes from software engineers:

“When I was at the Trolltech booth at LinuxWorld Expo in Boston, two guys stepped up to our booth, showing interest to our slogans about productivity gain. I asked them about their business, and whether they were in development, adminstration or management. “Development”, they said. So I asked how familiar they were with Qt. Then one of the two looks at me with a grim face and goes “C++ is a pretty hard hitting language. We write governmental prototype software in JSP.”. And then they rushed away. Sigh. Then, another guy shows up and talks about how everything is moving towards PHP and Ajax.

“Because everyone has a browser!”
“What about the back-button?”, I asked.
“PHP scripts will be able to disable that button in the future.”, he said.
“Better not hit the bookmark-button!” I warned.
“PHP scripts will be able to disable that button in the future.”, he said.
“So are you talking about thin clients, or about the programming language PHP?”

Programming languages, are tools. Let’s just agree on that. I love Java for all it’s worth, PHP is wonderful, and I love working with C++. What I can’t stand is language protagonists. ;-) People who seriously think that one tool can solve all problems. Nothing good comes from that. Or as they say in the US, that once you’ve got the perfect hammer, everything looks like a nail. C++ is not perfect for embedded web development. PHP is good for that. Java is no good for performance-critical applications. Use C++ for that. Applets? Servlets? Yes, please, please, go with Java. Or use PHP. Or C++. Just please know that these are all different tools that you can choose amongst.

I’m seeing most protagonism (?) in the Java world. Java isn’t a language, it’s a movement.
But if you take away one essential feature, say, implicit memory management in Java, and replace it with explicit management (a.k.a. delete and pointers), what does Java give you? Now, we’re talking about syntactic sugars like .h+.cpp vs .java, and features of the toolkit. Java is a programming language. Implicit memory management is a tool. It cannot solve all problems but it certainly solves many of them. And Java is actually really really ridiculously fast. That’s what I hear all the time. Actually, they say, it’s really really fast. The JIT compiler can in theory generate code that’s faster than what any C++ compiler can do. And I think that when P = NP, it certainly will! But until then, we will not see Matlab, Mathematica, 3D studio or Photoshop written in Java. Why? Not because people in theory want fast code, but because they know what they get when they use C++. Your average high-performance Java application typically contains tons (or, as they say in the US, miiillions ;-)) of tricks to bypass the GC (as nobody wants a GC sweep in the middle of heavy calculation, real-time rendering and such). And then there’s tricks to ensure that certain parts of the code are unrolled to ensure that the JIT kicks in.

When you as a Java programmer make an effort to bypass your favorite Java features in order to write an application in Java that is not suited for Java. And when you as a PHP programmer write tons and tons of code to make your web application looks like a true, native application with tray icons and window decorations, strip away the navigation controls and bookmark handling. That’s when you know you’ve become a language protagonist. ;-)

So please, choose the right tool. You’re a great programmer! But that doesn’t mean you have no options.

Unfortunately, with things like Java becoming /cool/, rather than well-understood, this is the way things will go. :-(

Chase Venters: The Mac OS X kernel is written in C++. Its actually quite fast and powerful

 

Before implementing Java, the actual need of the organization depending type of transactions, nature of business and day-to-day business operations.  This will help to implement Java programme successfully.

 
Comments (0) Views (2266) Email Blog Forums Save to Favourites
More from this user Print Blog Bookmarks
Add to
 Comments
Sorry!! There are no records to display
Comments
Your Name * E-mail Address * Your Website
 
Your Comments *
Enter code shown below
 
View all | Recent | Popular | Community Recommended | Most Viewed | Today in Blog
 
 
Recent Posts
Inbound faxes in SBS 2003...
Early Bird Rate for SMB N...
SBS 2003 Faxing Detailed...
Faxing in SBS 2003...
Beyond Remote Desktop in ...
Comments By
Sorry!! There are no comments posted for this blog
My Important Tags
sbs (74Blogs)
smb (29Blogs)
smb nation (27Blogs)
harry brelsford (27Blogs)
brelsford (13Blogs)
WSS (11Blogs)
exchange (10Blogs)
outlook (7Blogs)
sbs 2008 (5Blogs)
 (5Blogs)
Top 99 Tags
Sponsored Links
Copyright © 2001-2008 ComputerUser, Inc., All Rights Reserved
About us | Terms of use | Privacy Policy | Legal | Trademark/Copyright | Awards | Advertise | Writer guidelines | Sitemap | Contact | FAQ's | Feedback  | Link to us

Here are the topics we cover computer certification computer careers computer training computer games consulting data recovery data security digital entertainment emerging technology gadget reviews handheld computers hardware reviews home automation home networks home office how-to advice internet linux local companies local news local profiles macintosh mp3 players network security online music online security open-source small-business technology soho software reviews technology books technology dictionary vpn web site reviews wi-fi windows wireless technology tech articles tech news press releases tech dictionary education resources career solutions create your personal blog upload your videos become a writer usergroups special interest group SIG 3com cipts adobe adobe certified expert apc ncpi apple achds acpt acsa actc avaya bea 8.1 certified administrator 8.1 certified architect 8.1 certified developer 9 certified administrator bicsi rcdd checkpoint ccmse ccsa ccsa ngx ccse ccse ng plus with ai ccse ngx cisco access routing and lan switching ccda ccdp ccie ccip ccna ccnp ccnp old ccsp ccvp crmam ip communications optical proctored exams for validating knowledge sales specialist storage networking vpn and security wireless lan citrix cca 3.0 cca 4.0 cca 4.5 cca xp ccea 3.0 ccea 4.0 ccea xp ccia ciw ciw associate ciw certified instructor master ciw admin master ciw designer master ciw enterprise developer security analyst comptia a+ network+ security+ server+ computer associates ca cusa cuse cwna cwna cwsp dell eccouncil cea cep certified ethical hacker chfi e-commerce architect emc emc specialist implemenation technology foundations enterasys ese eta exam express exin exin itil extreme networks ena ens filemaker f7cd f8cd fortinet fortigate foundry cne fujitsu fujitsu guidance software ence hdi css hda hdm hdsa hitachi hitachi certified professional hp ais apc app aps ase certified systems developer csa cse master ase huawei hcne hyperion hcp ibm advanced deployment professional advanced technical expert application developer business process analyst certified administrator certified advanced system administrator certified advanced technical expert certified associate developer certified enterprise developer certified solution designer certified specialist certified systems expert database administrator db2 deployment professional enterprise developer eserver certified specialist ibm on demand business solution advisor solution designer solutions developer solutions expert storage administrator system administator iisfa cifi intel isaca cisa isc cissp sscp iseb itil ism cpm juniper jncia jncis legato lcaa lcea lotus clp lpi lpic level 1 lpic level 2 lpic level 3 macromedia mcafee mcdata csnd microsoft crm mbs mcad .net mcdba mcdst mcitp mcp mcpd mcsa longhorn mcsa 2003 mcsa 2008 mcsd .net mcse mcse 2000 security mcse 2000 to mcse 2003 upgrade mcse 2003 mcse 2003 messaging mcse 2003 security mcse 2008 mcts microsoft business solutions microsoft partner competency mile2 cnsa network appliance nac-na nac-nie naca nace nacp network general sniffer certified professional nokia nokia security administrator nortel ncde ncds ncse ncss ncts novell5 cna 5 cne 6 cna 6 cne 6.5 cne cne upgrade omg ocup oracle 10g dba 10g oca 11i 8i dba 9i dba 9i internet application developer oca ocp8 to ocp8i dba upgrade exam pmi project management professional polycom pcve redhat rhce rhct sair sas institute sas scp saas scp snia snia certified architect snia certified professional snia certified systems engineer snia storage networking certification program administrator professional associate symantec scse scsp scta scts teradata tca v2r5 tcad v2r5 tcda v2r5 tcis v2r5 tcm v2r5 tcp v2r5 tia ccnt ctp tibco tcp trusecure ticsa veritas infraguard chamber of commerce vcp vmware certified professional webex linkedin facebook myspace Professional page layout, image editing, vector illustration, and print production Website design, development, prototyping, and blogging Creation of rich interactive content Industry-standard visual effects and motion graphics Video capture, editing, and production; DVD titling; and digital audio, Adobe Photoshop CS3 extended, Adobe illustrator CS3,Adobe indesign CS3,Adobe Acrobat 8 Professional, Adobe Flash CS3 Professional, Adobe Dreamweaver CS3,Adobe Contribute CS3,Adobe Fireworks CS3,Adobe After Effects CS3 Professional, Adobe Premiere Pro CS3,Adobe Soundbooth CS3,Adobe Encore CS3,Adobe OnLocation,Adobe Bridge CS3,Adobe Version Cue CS3,Adobe Device Central CS3,Adobe Stock Photos, Intel Pentium 4 (1.4GHz processor for DV; 3.4GHz processor for HDV), Intel Centrino, Intel Xeon, (dual 2.8GHz processors for HD), or Intel Core, Duo (or compatible) processor; SSE2-enabled processor required for AMD systems Microsoft Windows XP with Service Pack 2 or Microsoft Windows Vista Home Premium, Business, Ultimate, or Enterprise (certified for 32-bit editions) 1GB of RAM for DV; 2GB of RAM for HDV and HD; more RAM recommended when running multiple components 10GB of available hard-disk space (additional free space required during installation) Dedicated 7,200 RPM hard drive for DV and HDV editing; striped disk array storage (RAID 0) for HD; SCSI disk subsystem preferred Microsoft DirectX compatible sound card (multichannel ASIO-compatible sound card recommended),1,280x1,024 monitor resolution with 32-bit color adapter Blu-ray burner required for Blu-ray Disc creation OHCI compatible IEEE 1394 port for DV and HDV capture, export to tape, and transmit to DV device QuickTime 7.1.2 software required to use QuickTime features Broadband Internet connection required for Adobe Stock Photos* and other services