IBM SDK for Java: SDK and Runtime Guide Preface

Total Page:16

File Type:pdf, Size:1020Kb

IBM SDK for Java: SDK and Runtime Guide Preface IBM SDK for z/OS, Java Technology Edition Version 7 SDK and Runtime Guide IBM SDK for z/OS, Java Technology Edition Version 7 SDK and Runtime Guide Note Before using this information and the product it supports, read the information in “Notices” on page 481. Copyright information This edition of the user guide applies to the IBM 31-bit SDK for z/OS, Java Technology Edition, Version 7, product 5655-I98, and to the IBM 64-bit SDK for z/OS, Java Technology Edition, Version 7, product 5655-I99, and to all subsequent releases, modifications, and Service Refreshes, until otherwise indicated in new editions. Portions © Copyright 1997, 2013, Oracle and/or its affiliates. © Copyright IBM Corporation 2011, 2013. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Preface ...............v RMI-IIOP limitations ..........66 Further reading ............66 Chapter 1. Product overview ......1 Examples of client–server applications ....66 Using the ORB ............72 Introduction to Java ............1 How the ORB works ..........75 IBM Software Developers Kit (SDK) .....1 Additional features of the ORB .......82 IBM Java Runtime Environment (JRE) .....4 The Java Native Interface (JNI) ........88 IBM Java Virtual Machine (JVM).......5 Overview of JNI ............89 What's new ...............6 The JNI and the Garbage Collector .....90 IBM J9 Virtual Machine ..........6 Copying and pinning ..........94 Memory management ..........11 Handling exceptions ..........96 Class data sharing ...........12 Synchronization ............96 The JIT compiler............13 Debugging the JNI ...........97 Diagnostic component ..........13 JNI checklist .............99 Conventions and terminology ........16 Other sources of information ........17 Accessibility ..............18 Chapter 3. Planning.........101 Migrating from earlier IBM SDK or JREs ....101 Chapter 2. Understanding the IBM Version compatibility ...........102 Software Developers Kit (SDK) for Java 19 Supported environments .........102 The building blocks of the IBM Virtual Machine for Chapter 4. Installing and configuring Java .................19 Java application stack ..........20 theSDK..............105 Components of the IBM Virtual Machine for Java 21 Working with BPXPRM settings .......105 Memory management ...........23 Setting the region size ..........106 Overview of memory management .....23 Setting MEMLIMIT ...........106 Allocation ..............26 Setting LE runtime options .........106 Detailed description of global garbage collection 29 Setting LE 31-bit runtime options......107 Generational Concurrent Garbage Collector. 37 Setting LE 64-bit runtime options......108 Balanced Garbage Collection policy .....39 Marking failures ............108 How to do heap sizing .........45 Setting the path ............108 Interaction of the Garbage Collector with Setting the class path ...........109 applications .............46 Updating your SDK or JRE for daylight saving How to coexist with the Garbage Collector . 47 time changes .............109 Frequently asked questions about the Garbage Running the JVM under a different code page . 110 Collector ..............50 Using non-default system fonts .......111 Class loading ..............53 The parent-delegation model .......53 Chapter 5. Developing Java Namespaces and the runtime package ....54 applications ............113 Custom class loaders ..........54 Using XML ..............113 Class data sharing ............55 Migrating to the XL-TXE-J ........115 The JIT compiler.............57 | Securing JAXP processing against malformed JIT compiler overview ..........57 || input ...............117 How the JIT compiler optimizes code.....58 XML reference information ........117 Frequently asked questions about the JIT Debugging Java applications ........122 compiler ..............59 Java Debugger (JDB) ..........122 The AOT compiler ............60 Determining whether your application is running Java Remote Method Invocation .......61 on a 31-bit or 64-bit JVM .........123 The RMI implementation .........61 How the JVM processes signals .......124 Thread pooling for RMI connection handlers . 62 Signals used by the JVM ........124 Understanding distributed garbage collection . 63 Linking a native code driver to the Debugging applications involving RMI ....63 signal-chaining library .........126 TheORB...............64 Writing JNI applications ..........127 CORBA...............64 Supported compilers ..........128 RMI and RMI-IIOP ...........65 Native formatting of Java types long, double, Java IDL or RMI-IIOP? .........65 float ...............128 © Copyright IBM Corp. 2011, 2013 iii Support for thread-level recovery of blocked First steps in problem determination ....174 connectors ..............129 z/OS problem determination .......175 CORBA support ............129 NLS problem determination .......194 System properties for tracing the ORB ....130 ORB problem determination .......196 System properties for tuning the ORB ....131 Attach API problem determination .....209 Java security permissions for the ORB ....131 Using diagnostic tools ..........212 ORB implementation classes .......132 Overview of the available diagnostic tools. 212 RMI over IIOP .............132 Using the IBM Monitoring and Diagnostic Tools RMI-IIOP Programmer's Guide ......133 for Java ..............219 Implementing the Connection Handler Pool for Using dump agents ..........221 RMI................140 Using Javadump ...........240 Enhanced BigDecimal ..........140 Using Heapdump ...........262 Working in a multiple network stack environment 140 Using system dumps and the dump viewer . 271 Support for XToolkit ...........141 Tracing Java applications and the JVM ....288 Support for the Java Attach API .......141 JIT and AOT problem determination ....322 The Diagnostics Collector ........328 Chapter 6. Running Java applications 145 Garbage Collector diagnostic data .....333 The java and javaw commands .......145 Class-loader diagnostic data .......341 Obtaining version information.......145 Shared classes diagnostic data .......344 Specifying Java options and system properties 146 Using the Reliability, Availability, and Standard options ...........147 Serviceability Interface .........372 Globalization of the java command .....148 Using the HPROF Profiler ........385 The Just-In-Time (JIT) compiler .......149 Using the JVMTI ...........389 Disabling the JIT ...........149 Using the Diagnostic Tool Framework for Java 405 Enabling the JIT ...........149 Using JConsole ............412 Determining whether the JIT is enabled . 150 Specifying a garbage collection policy .....150 Chapter 10. Reference .......417 Garbage collection options ........151 Command-line options ..........417 More effective heap usage using compressed Specifying command-line options......417 references .............151 General command-line options ......418 Pause time .............152 System property command-line options . 419 Pause time reduction ..........152 JVM command-line options........428 Environments with very full heaps .....153 JVM -XX command-line options ......446 || Euro symbol support ...........154 JIT and AOT command-line options .....448 || Configuring large page memory allocation . 154 Garbage Collector command-line options . 453 Balanced Garbage Collection policy options . 464 Chapter 7. Performance .......157 JVM messages .............465 Class data sharing between JVMs ......157 Finding logged messages ........466 Overview of class data sharing ......157 Obtaining detailed message descriptions . 466 Class data sharing command-line options . 159 CORBA minor codes ...........467 Creating, populating, monitoring, and deleting a Environment variables ..........469 cache ...............165 Displaying the current environment .....469 Performance and memory consumption . 166 Setting an environment variable ......469 Considerations and limitations of using class Separating values in a list ........469 data sharing .............166 JVM environment settings ........470 Adapting custom class loaders to share classes 168 z/OS environment variables .......473 Performance problems ..........169 Default settings for the JVM ........474 Known issues and limitations ........476 Chapter 8. Security .........171 Support for virtualization software ......479 Notices ..............481 Chapter 9. Troubleshooting and Privacy Policy Considerations ........483 support ..............173 Trademarks ..............483 Submitting problem reports ........173 Problem determination ..........173 iv IBM SDK for Java: SDK and Runtime Guide Preface This user guide provides general information about the IBM® SDK for z/OS®, Java™ Technology Edition, Version 7. The guide gives specific information about any differences in the IBM implementation compared with the Oracle implementation. This user guide applies to IBM SDK for z/OS, Java Technology Edition, Version 7. Read this user guide with the more extensive documentation on the Oracle Web site: http://www.oracle.com/technetwork/java/index.html. The terms Runtime Environment and Java Virtual Machine are used interchangeably throughout this user guide. The Program Code is not designed or intended for use in real-time applications such as (but not limited to) the online control of aircraft, air traffic, aircraft navigation, or aircraft communications; or in the design, construction, operation, or maintenance of any nuclear facility. © Copyright IBM Corp. 2011, 2013 v vi IBM SDK for Java: SDK and Runtime
Recommended publications
  • Workforce Management Web
    Workforce Management Web 8.5.214.14 9/23/2021 8.5.214.14 8.5.214.14 Workforce Management Web Release Notes Release Date Release Type Restrictions AIX Linux Solaris Windows 05/08/19 General X X Contents • 1 8.5.214.14 • 1.1 Helpful Links • 1.2 What's New • 1.3 Resolved Issues • 1.4 Upgrade Notes • 1.5 Supported Languages Workforce Management Web 2 8.5.214.14 What's New Helpful Links This release includes the following new features and enhancements: Releases Info • WFM Web for Supervisors includes a redesigned Forecast module, • List of 8.5.x Releases enabling access to existing forecasting functionality and features, but with many user-friendly enhancements, wizards, and tools. Web for • 8.5.x Known Issues Supervisors (Classic) Forecast module is still supported and available. Note: The Forecast module is currently available only in English. (WFM-28004) Product Documentation • AI-powered Forecasting is introduced in the redesigned Forecast module, providing a sophisticated, automated build method that uses the best of best forecasting algorithms provided through Genesys Workforce Management hosted cloud infrastructure. For information about how to use this build method, see Building Volumes in the Workforce Management Genesys Products Supervisor Help.(WFM-28004) List of Release Notes • The Workforce Management Supervisor Help is a context-sensitive Help that describes the new Forecast interface, including topics that describe the Forecast Scenario and Master Forecast views, and procedures that describe forecasting tasks. The Workforce Management Supervisors (Classic) Help is still available. (WFM-29230) • The Overlays view in the new WFM Web Forecast interface is enhanced, enabling supervisors to adjust Spread over distribution to 15 or 30 minutes (in addition to 60).
    [Show full text]
  • Making Speech Recognition Work on the Web Christopher J. Varenhorst
    Making Speech Recognition Work on the Web by Christopher J. Varenhorst Submitted to the Department of Electrical Engineering and Computer Science in partial fulfillment of the requirements for the degree of Masters of Engineering in Computer Science and Engineering at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY May 2011 c Massachusetts Institute of Technology 2011. All rights reserved. Author.................................................................... Department of Electrical Engineering and Computer Science May 20, 2011 Certified by . James R. Glass Principal Research Scientist Thesis Supervisor Certified by . Scott Cyphers Research Scientist Thesis Supervisor Accepted by . Christopher J. Terman Chairman, Department Committee on Graduate Students Making Speech Recognition Work on the Web by Christopher J. Varenhorst Submitted to the Department of Electrical Engineering and Computer Science on May 20, 2011, in partial fulfillment of the requirements for the degree of Masters of Engineering in Computer Science and Engineering Abstract We present an improved Audio Controller for Web-Accessible Multimodal Interface toolkit { a system that provides a simple way for developers to add speech recognition to web pages. Our improved system offers increased usability and performance for users and greater flexibility for developers. Tests performed showed a %36 increase in recognition response time in the best possible networking conditions. Preliminary tests shows a markedly improved users experience. The new Wowza platform also provides a means of upgrading other Audio Controllers easily. Thesis Supervisor: James R. Glass Title: Principal Research Scientist Thesis Supervisor: Scott Cyphers Title: Research Scientist 2 Contents 1 Introduction and Background 7 1.1 WAMI - Web Accessible Multimodal Toolkit . 8 1.1.1 Existing Java applet . 11 1.2 SALT .
    [Show full text]
  • Cross-Platform System of Medical Documents Protection Through Digital Signatures
    CROSS-PLATFORM SYSTEM OF MEDICAL DOCUMENTS PROTECTION THROUGH DIGITAL SIGNATURES Fernando Guilherme Ferreira Sousa Project/Dissertation developed under supervising of José Magalhães Cruz (PhD) in Glintt - Healthcare Solutions, S.A. 1. Motivation documents, which are then sent to the server and, consequently, validated and stored in the database. Due to the extreme information sensibility in the Subsequent to this process, each time a document is health area, it is really necessary to be absolutely sure opened to be viewed, for example, a check is made of about who performs certain medical transactions. It a possible change to the same document, in order to must have permission and authority to do so, i.e. be ensure that recurrently its integrity. Through really the right person to do this transaction. In areas cryptography-based security methods of public keys, involving health treatments, marking of exams or it is verified if someone tampered the document or even surgeries and new prescriptions, there must be made it invalid in some way. an extremely effective control to verify effectively that all transactions must be properly carried out, Each platform that the doctor use should read his without any type of deception or illegality. digital certificate, which is contained in a Smart Card and is installed on the machine, once inserted in a One of the biggest motivations is that the patient, in suitable card reader. Then, the digital signature is the future, might be aware that there is a control in performed with the certificate’s associated private the preparation of their medical documents. All key, which certificates the medical document.
    [Show full text]
  • Exploiting SAS Software Using Java Technology
    Exploiting SAS® Software Using Java™ Technology Barbara Walters, SAS Institute Inc., Cary, NC Java programs are often delivered via the Internet. In order to protect the local machine from malicious programs, the Java language and the JVM Abstract provide a secure environment for application execution. The secure This paper describes how to use Java™ technology with SAS software. environment ensures that the client machine (the machine where the SAS Institute currently offers several Java development tools that allow browser is running) is not corrupted by the downloaded program and that applications to access SAS data and take advantage of SAS no information is stolen from the client machine. computational capabilities. This paper describes how to use these class libraries and address client/server configuration and performance Java security is based upon the “sandbox” model. The sandbox is the issues. set of resources (threads, socket connections, local files, etc.) that the downloaded Java code is allowed to access. The code is restricted from accessing resources outside of its sandbox. In executing Java applets, Introduction each Web browser defines the limits of the sandbox. Since its introduction in mid-1995, Java have become an integral part of The Security Manager enforces the limits of the sandbox. For applets, the World Wide Web. Java is a rich programming language that enables the Web browser controls the Security Manager. Each browser may put Web programmers to create sophisticated and responsive client/server different restrictions on applet behavior. The default limits imposed by applications. Because Java is portable and secure, users of Web the Security Manager are: applications can be confident that those applications will execute • Classes cannot access the local file system properly and not corrupt their computers.
    [Show full text]
  • Applets, Servlets and JSP
    Java Programming : applets, servlets and JSP. SR03 Dritan Nace A summary of Java Java is a language developed by Sun, which is designed to be object oriented and Simple, robust and secure, independent of hardware architectures and Multitasking. Object oriented and simple : Simpler than C++, transparent memory managment… Robust et secure : Data typing is extremely strict. For applets, it is in principle impossible to access the resources of the host machine. Independant of hardware architectures : The compiler generates a universal code : the « byte-code ». An interpreter which is specific to the host machine, « virtual machine », executes the programs. Multitasking : Java seemingly allows execution of several processes. In reality, a time slot is given to each process on the processor (Multithreaded). J2SE versus J2EE J2SE (standard edition) contains the basic usable components from both the client and server side, – GUI, AWT/Swing for applications (client) or applets. Currently J2SE v1.6 (ou V6) J2EE (enterprise edition), is in a certain sense an extension of SE, designed for server side programming – Servlets, JSP, EJB, etc. • Currently J2EE v1.4 Java and object oriented programming • Classes, and objects – The objects include data and processing for the data. Communication is done via messages (methods). – A class corresponds to an abstract model for object construction. A class is made up of: • attributes (static part) • Methods (dynamic part), which define the behaviour. – Inheritance : the « is a » relationship : a car is a vehicule, – Polymorphism : the same message can be recognised by several objects and entail different behaviour. Portability: JVM The compiler compiles the java source in byte code : javac car.java => car.class Then, java is the name of the program which will interpret the generated byte code.
    [Show full text]
  • Abstract Window Toolkit Overview
    In this chapter: • Components • Peers 1 • Layouts • Containers • And the Rest • Summary Abstract Window Toolkit Overview For years, programmers have had to go through the hassles of porting software from BSD-based UNIX to System V Release 4–based UNIX, from OpenWindows to Motif, from PC to UNIX to Macintosh (or some combination thereof), and between various other alternatives, too numerous to mention. Getting an applica- tion to work was only part of the problem; you also had to port it to all the plat- forms you supported, which often took more time than the development effort itself. In the UNIX world, standards like POSIX and X made it easier to move appli- cations between different UNIX platforms. But they only solved part of the prob- lem and didn’t provide any help with the PC world. Portability became even more important as the Internet grew. The goal was clear: wouldn’t it be great if you could just move applications between different operating environments without worr yingabout the software breaking because of a different operating system, win- dowing environment, or internal data representation? In the spring of 1995, Sun Microsystems announced Java, which claimed to solve this dilemma. What started out as a dancing penguin (or Star Trek communicator) named Duke on remote controls for interactive television has become a new paradigm for programming on the Internet. With Java, you can create a program on one platform and deliver the compilation output (byte-codes/class files) to ever yother supported environment without recompiling or worrying about the local windowing environment, word size, or byte order.
    [Show full text]
  • Apache Harmony Project Tim Ellison Geir Magnusson Jr
    The Apache Harmony Project Tim Ellison Geir Magnusson Jr. Apache Harmony Project http://harmony.apache.org TS-7820 2007 JavaOneSM Conference | Session TS-7820 | Goal of This Talk In the next 45 minutes you will... Learn about the motivations, current status, and future plans of the Apache Harmony project 2007 JavaOneSM Conference | Session TS-7820 | 2 Agenda Project History Development Model Modularity VM Interface How Are We Doing? Relevance in the Age of OpenJDK Summary 2007 JavaOneSM Conference | Session TS-7820 | 3 Agenda Project History Development Model Modularity VM Interface How Are We Doing? Relevance in the Age of OpenJDK Summary 2007 JavaOneSM Conference | Session TS-7820 | 4 Apache Harmony In the Beginning May 2005—founded in the Apache Incubator Primary Goals 1. Compatible, independent implementation of Java™ Platform, Standard Edition (Java SE platform) under the Apache License 2. Community-developed, modular architecture allowing sharing and independent innovation 3. Protect IP rights of ecosystem 2007 JavaOneSM Conference | Session TS-7820 | 5 Apache Harmony Early history: 2005 Broad community discussion • Technical issues • Legal and IP issues • Project governance issues Goal: Consolidation and Consensus 2007 JavaOneSM Conference | Session TS-7820 | 6 Early History Early history: 2005/2006 Initial Code Contributions • Three Virtual machines ● JCHEVM, BootVM, DRLVM • Class Libraries ● Core classes, VM interface, test cases ● Security, beans, regex, Swing, AWT ● RMI and math 2007 JavaOneSM Conference | Session TS-7820 |
    [Show full text]
  • Migrating from Java Applets to Plugin-Free Java Technologies
    Migrating from Java Applets to plugin-free Java technologies An Oracle White Paper January, 2016 Migrating from Java Applets to plugin-free Java technologies Migrating from Java Applets to plugin-free Java technologies Disclaimer The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. Migrating from Java Applets to plugin-free Java technologies Executive Overview ........................................................................... 4 Browser Plugin Perspectives ............................................................. 4 Java Web Start .................................................................................. 5 Alternatives ....................................................................................... 6 Native Windows/OS X/Linux Installers ........................................... 6 Inverted Browser Control ............................................................... 7 Detecting Applets .............................................................................. 7 Migrating from Java Applets to plugin-free Java technologies Executive Overview With modern browser vendors working to restrict or reduce the support of plugins like
    [Show full text]
  • Installing Open Java Development Kit – Ojdkbuild for Windows
    Installing Open Java Development Kit – ojdkbuild for Windows © IZUM, 2019 IZUM, COBISS, COMARC, COBIB, COLIB, CONOR, SICRIS, E-CRIS are registered trademarks owned by IZUM. CONTENTS 1 Introduction ......................................................................................................... 1 2 OpenJDK distribution .......................................................................................... 1 3 Removing Oracle Java ......................................................................................... 2 4 Installing OJDK – 32bit or 64bit, IcedTea Java .................................................. 3 5 Installing the COBISS3 interface ........................................................................ 7 6 Launching the COBISS3 interface .................................................................... 11 7 COBISS3 interface as a trusted source in IcedTea ojdkbuild ........................... 11 © IZUM, 16. 7. 2019, VOS-NA-EN-380, V1.0 i VOS Installing Open Java Development Kit – ojdkbuild for Windows 1 Introduction At the end of 2018 Oracle announced a new business policy for Java SE which entered into force in April 2019. That is why when you install Java a notification and warning window appears. All versions of Java from 8 u201 onwards not intended for personal use are payable. For this reason, we suggest you do not update Java 8 to a newer version for work purposes. If you want a newer version of Java 8, install OpenJDK 8 and IcedTea. Also, do not install Java 8 on new computers (clients), but install OpenJDK 8 with IcedTea support. 2 OpenJDK distribution OpenJDK 1.8. build for Windows and Linux is available at the link https://github.com/ojdkbuild/ojdkbuild. There you will find versions for the installation. The newest version is always at the top, example from 7 May 2019: © IZUM, 16. 7. 2019, VOS-NA-EN-380, V1.0 1/11 Installing Open Java Development Kit – ojdkbuild for Windows VOS 3 Removing Oracle Java First remove the Oracle Java 1.8 software in Control Panel, Programs and Features.
    [Show full text]
  • CDC: Java Platform Technology for Connected Devices
    CDC: JAVA™ PLATFORM TECHNOLOGY FOR CONNECTED DEVICES Java™ Platform, Micro Edition White Paper June 2005 2 Table of Contents Sun Microsystems, Inc. Table of Contents Introduction . 3 Enterprise Mobility . 4 Connected Devices in Transition . 5 Connected Devices Today . 5 What Users Want . 5 What Developers Want . 6 What Service Providers Want . 6 What Enterprises Want . 6 Java Technology Leads the Way . 7 From Java Specification Requests… . 7 …to Reference Implementations . 8 …to Technology Compatibility Kits . 8 Java Platform, Micro Edition Technologies . 9 Configurations . 9 CDC . 10 CLDC . 10 Profiles . 11 Optional Packages . 11 A CDC Java Runtime Environment . 12 CDC Technical Overview . 13 CDC Class Library . 13 CDC HotSpot™ Implementation . 13 CDC API Overview . 13 Application Models . 15 Standalone Applications . 16 Managed Applications: Applets . 16 Managed Applications: Xlets . 17 CLDC Compatibility . 18 GUI Options and Tradeoffs . 19 AWT . 19 Lightweight Components . 20 Alternate GUI Interfaces . 20 AGUI Optional Package . 20 Security . 21 Developer Tool Support . 22 3 Introduction Sun Microsystems, Inc. Chapter 1 Introduction From a developer’s perspective, the APIs for desktop PCs and enterprise systems have been a daunting combination of complexity and confusion. Over the last 10 years, Java™ technology has helped simplify and tame this world for the benefit of everyone. Developers have benefited by seeing their skills become applicable to more systems. Users have benefited from consistent interfaces across different platforms. And systems vendors have benefited by reducing and focusing their R&D investments while attracting more developers. For desktop and enterprise systems, “Write Once, Run Anywhere”™ has been a success. But if the complexities of the desktop and enterprise world seem, well, complex, then the connected device world is even scarier.
    [Show full text]
  • Javafx in Action by Simon Morris
    Covers JavaFX v1.2 IN ACTION Simon Morris SAMPLE CHAPTER MANNING JavaFX in Action by Simon Morris Chapter 1 Copyright 2010 Manning Publications brief contents 1 ■ Welcome to the future: introducing JavaFX 1 2 ■ JavaFX Script data and variables 15 3 ■ JavaFX Scriptcode and structure 46 4 ■ Swing by numbers 79 5 ■ Behind the scene graph 106 6 ■ Moving pictures 132 7 ■ Controls,charts, and storage 165 8 ■ Web services with style 202 9 ■ From app to applet 230 10 ■ Clever graphics and smart phones 270 11 ■ Best of both worlds: using JavaFX from Java 300 appendix A ■ Getting started 315 appendix B ■ JavaFX Script: a quick reference 323 appendix C ■ Not familiar with Java? 343 appendix D ■ JavaFX and the Java platform 350 vii Welcome to the future: introducing JavaFX This chapter covers ■ Reviewing the history of the internet-based application ■ Asking what promise DSLs hold for UIs ■ Looking at JavaFX Script examples ■ Comparing JavaFX to its main rivals “If the only tool you have is a hammer, you tend to see every problem as a nail,” American psychologist Abraham Maslow once observed. Language advocacy is a popular pastime with many programmers, but what many fail to realize is that programming languages are like tools: each is good at some things and next to useless at others. Java, inspired as it was by prior art like C and Smalltalk, sports a solid general-purpose syntax that gets the job done with the minimum of fuss in the majority of cases. Unfortunately, there will always be those areas that, by their very nature, demand something a little more specialized.
    [Show full text]
  • The Design and Performance of Medjava
    The following paper was originally published in the Proceedings of the 4th USENIX Conference on Object-Oriented Technologies and Systems (COOTS) Santa Fe, New Mexico, April 27-30, 1998 The Design and Performance of MedJava Prashant Jain, Seth Widoff, and Douglas C. Schmidt Washington University For more information about USENIX Association contact: 1. Phone: 510 528-8649 2. FAX: 510 548-5738 3. Email: [email protected] 4. WWW URL:http://www.usenix.org/ The Design and Performance of MedJava A Distributed Electronic Medical Imaging System Developed with Java Applets and Web Tools Prashant Jain, Seth Widoff, and Douglas C. Schmidt g fpjain,sbw1,schmidt @cs.wustl.edu Department of Computer Science Washington University St. Louis, MO 63130, (314) 935-4215 th This paper appeared in the 4 USENIX Conference on performance-sensitive distributed applications where C and Object-Oriented Technologies and Systems (COOTS), Sante C++ are currently used. Fe, New Mexico, April 1998. Abstract 1 Introduction The Java programming language has gained substantial popu- Medical imaging plays a key role in the development of a reg- larity in the past two years. Java’s networking features, along ulatory review process for radiologists and physicians [1]. The with the growing number of Web browsers that execute Java demand for electronic medical imaging systems (EMISs) that applets, facilitate Internet programming. Despite the popu- allow visualization and processing of medical images has in- larity of Java, however, there are many concerns about its ef- creased significantly [2]. The advent of modalities, such as ficiency. In particular, networking and computation perfor- angiography, CT, MRI, nuclear medicine, and ultrasound, that mance are key concerns when considering the use of Java to acquire data digitally and the ability to digitize medical images develop performance-sensitive distributed applications.
    [Show full text]