20 Years of Java

Total Page:16

File Type:pdf, Size:1020Kb

20 Years of Java 20 years of Java Vladimir Ivanov HotSpot JVM Compile r Twitter: @iwan0www Oracle Corp. OpenJDK: vlivanov 1 28.11.2015 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 20 years of Java (The Platform) Vladimir Ivanov HotSpot JVM Compile r Twitter: @iwan0www Oracle Corp. OpenJDK: vlivanov 2 Copyright © 2015, Oracle and/or its affiliates. All rights reserved Safe Harbor Statement The preceding 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. 3 Copyright © 2015, Oracle and/or its affiliates. All rights reserved About me Joined Sun Microsystems (SPBDC) to work JDK 1.0 on HotSpot JVM Now 1996 2002 2005 2010 2015 Wrote my first Became part of program in Java. Oracle Corp. after acquisition 4 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 1991: Project Green 5 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 1991: *7 (StarSeven) Oak programming language 6 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 1991: *7 (StarSeven) Duke 7 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 1994: WebRunner/HotJava browser 8 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 1995: First release: 1.0a2 9 Copyright © 2015, Oracle and/or its affiliates. All rights reserved Intel Pentium P54CS, 0.35µm, 200MHz, 66MHz FSB 10 Copyright © 2015, Oracle and/or its affiliates. All rights reserved Sun Enterprise 10000 64 UltraSPARC II CPUs, 400 MHz, 16x4GB RAM 11 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 1996: JDK 1.0 January, 23 § 6 packages § # of classes – java.applet – java/ 225 – java.awt – sun/ 379 – java.io – java.lang – java.net – java.util 12 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 1996: picoJava 13 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 1997: JDK 1.1 February, 19 14 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 1998: J2SE 1.2 December, 8 15 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 1999: J2SE, J2ME, J2EE 16 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 1999: J2SE, J2ME, J2EE 17 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 2000: J2SE 1.3 May, 8 18 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 1998: JCP 19 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 2002 February, 6 20 Copyright © 2015, Oracle and/or its affiliates. All rights reserved Java Releases Inner classes JavaBeans HotSpot JVM JDBC JNDI RMI Java Sound Reflection JVMDI JNI JVMPI First release JDK 1.1 January, 23 December, 8 J2SE 1.3 February, 6 1995 1996 1997 1998 2000 2002 March February, 19 May, 8 JDK 1.0 J2SE 1.2 J2SE 1.4 Swing AWT Regular Expressions JIT compiler Network IPv6 support Java Plug-in I/O Logging Collections XML, XSLT Java Web Start 21 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 2004: J2SE 5.0 September, 30 22 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 2004: J2SE 5.0 September, 30 23 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 2006: Java SE 6 December, 11 § Scripting Language Support (JSR 223) § Java Compiler API (JSR 199) § Support for pluggable annotations (JSR 269) § Numerous performance improvements – C1: new linear register allocator – C1: IR in SSA form 24 Copyright © 2015, Oracle and/or its affiliates. All rights reserved Java SE 6u HotSpot Express § Escape analysis in C2 – 6u23 § NUMA GC Enhancements – Java SE 6u2 § Compressed OOPs – 6u23 § Tiered compilation 25 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 2007 May, 8 26 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 2007: May JavaFX 1.0 on December, 2008 27 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 28 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 2010 29 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 2011: Java SE 7 July, 28 § JVM support for dynamic languages (JSR 292) § Small language changes – e.g. strings in switch, try-with-resources § New file I/O library (defined by JSR 203) 30 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 2014: Java SE 8 March, 18 § JSR 335: Language-level support for lambda expressions § JSR 223: Project Nashorn, a JavaScript runtime § JSR 308: Annotation on Java Types § JSR 310: Date and Time API § JEP 122: Remove the permanent generation 31 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 2014: Java SE 8 March, 18 32 Copyright © 2015, Oracle and/or its affiliates. All rights reserved 2016: Java SE 9 ETA: September, 22 Scalability Performance Project Jigsaw Security http://openjdk.java.net 33 Copyright © 2015, Oracle and/or its affiliates. All rights reserved Project Jigsaw Scalability 34 Copyright © 2015, Oracle and/or its affiliates. All rights reserved Java 8 tools JDK tools.jaxws tools.base JRE corba devtools tools.jre crypto compact3 jaxws compiler rowset compact2 xmldsig desktop rmi javafx naming jaxp jdbc httpserver auth sctp compact1 prefs jx.annotations instrument 54MB 30 16 11 nashorn 35 4 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Copyright © 2015, Oracle and/or its affiliates. All rights reserved Project Jigsaw Performance rmic xml.ws hotspot.agent javadoc xml.bind jconsole jcmd jdi smartcardio crypto.ec compiler se aBach crypto.pkcs11 xml.ws hBpserver compact3 jvmstat hprof.agent jdwp.agent xml.soap corba instrument sql.rowset naming.rmi localedata xml.bind security.acl naming naming sctp compact2 ac:vaon compiler management zipfs sql security.auth desktop prefs compact1 rmi security.jgss scripting. annota:ons.common xml.crypto xml logging scrip:ng security.sasl nashorn base charsets 36 Copyright © 2015, Oracle and/or its affiliates. All rights reserved Project Jigsaw tools tools.jaxws tools.base cosnaming management.iiop corba devtools tools.jre crypto management kerberos jaxws compiler rowset jta xmldsig desktop rmi javafx naming jaxp jdbc logging httpserver tls auth 4 Copyright © 2014, Oracle and/or its affiliates.sctp All rights reserved. prefs jx.annotations instrument base script nashorn 37 Copyright © 2015, Oracle and/or its affiliates. All rights reserved Project Jigsaw tools tools.jaxws tools.base cosnaming management.iiop corba devtools tools.jre crypto management kerberos jaxws compiler rowset jta xmldsig desktop rmi javafx naming jaxp jdbc logging httpserver tls auth 4 Copyright © 2014, Oracle and/or its affiliates.sctp All rights reserved. prefs jx.annotations instrument base script nashorn 38 Copyright © 2015, Oracle and/or its affiliates. All rights reserved Project Jigsaw tools tools.jaxws tools.base cosnaming management.iiop corba devtools tools.jre crypto management kerberos jaxws compiler rowset jta xmldsig desktop rmi javafx naming jaxp jdbc logging httpserver tls auth 4 Copyright © 2014, Oracle and/or its affiliates.sctp All rights reserved. prefs jx.annotations instrument base script nashorn 39 Copyright © 2015, Oracle and/or its affiliates. All rights reserved Project Jigsaw crypto javafx 4 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. base script nashorn 40 Copyright © 2015, Oracle and/or its affiliates. All rights reserved .jmod *.class .jar *.jar $JRE/bin/java *.jmod jlink /lib/... JVM image Fat binary 419 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Copyright © 2015, Oracle and/or its affiliates. All rights reserved Project Jigsaw Opportunities for performance improvements rt.jar crypto nashorn.jar, jfxrt.jar, sunjce_provider.jar javafx base script nashorn myapp.jar 42 Copyright © 2015, Oracle and/or its affiliates. All rights reserved Project Jigsaw Opportunities for performance improvements crypto § Improved class loading architecture javafx – fast class lookup base script nashorn 43 Copyright © 2015, Oracle and/or its affiliates. All rights reserved Project Jigsaw Opportunities for performance improvements crypto § Improved class loading architecture javafx – fast class lookup base script nashorn 44 Copyright © 2015, Oracle and/or its affiliates. All rights reserved Project Jigsaw Opportunities for performance improvements crypto § Improved class loading architecture javafx – fast class lookup base script nashorn § Aggressive inlining 45 Copyright © 2015, Oracle and/or its affiliates. All rights reserved Project Jigsaw Opportunities for performance improvements crypto § Improved class loading architecture javafx – fast class lookup base script nashorn § Aggressive inlining § Ahead-Of-Time compilation 46 Copyright © 2015, Oracle and/or its affiliates. All rights reserved Project Jigsaw Opportunities for performance improvements crypto § Improved class loading architecture javafx – fast class lookup base script nashorn § Aggressive inlining § Ahead-Of-Time compilation § JVM-specific memory images – e.g. Application Class Data Sharing (AppCDS) 47 Copyright © 2015, Oracle and/or its affiliates. All rights reserved Project Jigsaw Opportunities for performance improvements crypto § Improved class loading architecture javafx – fast class lookup base script nashorn
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]
  • Cost-Effective Compilation Techniques for Java Just-In-Time Compilers 3
    IEICE TRANS. ??, VOL.Exx–??, NO.xx XXXX 200x 1 PAPER Cost-Effective Compilation Techniques for Java Just-in-Time Compilers Kazuyuki SHUDO†, Satoshi SEKIGUCHI†, Nonmembers, and Yoichi MURAOKA ††, Fel low SUMMARY Java Just-in-Time compilers have to satisfy a policies. number of requirements in conflict with each other. Effective execution of a generated code is not the only requirement, but 1. Ease of use as a base of researches. compilation time, memory consumption and compliance with the 2. Cost-effective development. Less labor and rela- Java Virtual Machine specification are also important. We have tively much effect. developed a Java Just-in-Time compiler keeping implementation 3. Adequate quality and performance for practical labor little. Another important objective is developing an ad- equate base of following researches which utilize this compiler. use. The proposed compilation techniques take low compilation cost and low development cost. This paper also describes optimization Compiler development involves much work on a methods implemented in the compiler, for instance, instruction parser, intermediate representations and a number of folding, exception handling with signals and code patching. optimizations. Because of it, we have to consider those key words: Runtime compilation, Java Virtual Machine, Stack human and engineering factor seriously in addition to caching, Instruction folding, Code patching technical requirements like performance. Our plan on the development of the JIT compiler was to have a prac- 1. Introduction tical compiler with work several man-month. Our an- other goal was specifically having a research base on Just-in-Time (JIT) compilers for Java bytecode have which we do following researches with less labor while to satisfy a number of requirements, which are differ- developing it with less work.
    [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]
  • Picojava-II™ Programmer's Reference Manual
    picoJava-II™ Programmer’s Reference Manual Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303 USA 650 960-1300 Part No.: 805-2800-06 March 1999 Copyright 1999 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California 94303 U.S.A. All rights reserved. The contents of this document are subject to the current version of the Sun Community Source License, picoJava Core (“the License”). You may not use this document except in compliance with the License. You may obtain a copy of the License by searching for “Sun Community Source License” on the World Wide Web at http://www.sun.com. See the License for the rights, obligations, and limitations governing use of the contents of this document. Sun, Sun Microsystems, the Sun logo and all Sun-based trademarks and logos, Java, picoJava, and all Java-based trademarks and logos are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. DOCUMENTATION IS PROVIDED “AS IS” AND ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT, ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE LEGALLY INVALID. THIS PUBLICATION COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATED IN NEW EDITIONS OF THE PUBLICATION.
    [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]
  • Picojava-II™ Microarchitecture Guide
    picoJava-II™ Microarchitecture Guide Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303 USA 650 960-1300 Part No.: 960-1160-11 March 1999 Copyright 1999 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California 94303 U.S.A. All rights reserved. The contents of this document are subject to the current version of the Sun Community Source License, picoJava Core (“the License”). You may not use this document except in compliance with the License. You may obtain a copy of the License by searching for “Sun Community Source License” on the World Wide Web at http://www.sun.com. See the License for the rights, obligations, and limitations governing use of the contents of this document. Sun, Sun Microsystems, the Sun logo and all Sun-based trademarks and logos, Java, picoJava, and all Java-based trademarks and logos are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. DOCUMENTATION IS PROVIDED “AS IS” AND ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE LEGALLY INVALID. THIS PUBLICATION COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATED IN NEW EDITIONS OF THE PUBLICATION.
    [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]
  • C:\Andrzej\PDF\ABC Nagrywania P³yt CD\1 Strona.Cdr
    IDZ DO PRZYK£ADOWY ROZDZIA£ SPIS TREFCI Wielka encyklopedia komputerów KATALOG KSI¥¯EK Autor: Alan Freedman KATALOG ONLINE T³umaczenie: Micha³ Dadan, Pawe³ Gonera, Pawe³ Koronkiewicz, Rados³aw Meryk, Piotr Pilch ZAMÓW DRUKOWANY KATALOG ISBN: 83-7361-136-3 Tytu³ orygina³u: ComputerDesktop Encyclopedia Format: B5, stron: 1118 TWÓJ KOSZYK DODAJ DO KOSZYKA Wspó³czesna informatyka to nie tylko komputery i oprogramowanie. To setki technologii, narzêdzi i urz¹dzeñ umo¿liwiaj¹cych wykorzystywanie komputerów CENNIK I INFORMACJE w ró¿nych dziedzinach ¿ycia, jak: poligrafia, projektowanie, tworzenie aplikacji, sieci komputerowe, gry, kinowe efekty specjalne i wiele innych. Rozwój technologii ZAMÓW INFORMACJE komputerowych, trwaj¹cy stosunkowo krótko, wniós³ do naszego ¿ycia wiele nowych O NOWOFCIACH mo¿liwoYci. „Wielka encyklopedia komputerów” to kompletne kompendium wiedzy na temat ZAMÓW CENNIK wspó³czesnej informatyki. Jest lektur¹ obowi¹zkow¹ dla ka¿dego, kto chce rozumieæ dynamiczny rozwój elektroniki i technologii informatycznych. Opisuje wszystkie zagadnienia zwi¹zane ze wspó³czesn¹ informatyk¹; przedstawia zarówno jej historiê, CZYTELNIA jak i trendy rozwoju. Zawiera informacje o firmach, których produkty zrewolucjonizowa³y FRAGMENTY KSI¥¯EK ONLINE wspó³czesny Ywiat, oraz opisy technologii, sprzêtu i oprogramowania. Ka¿dy, niezale¿nie od stopnia zaawansowania swojej wiedzy, znajdzie w niej wyczerpuj¹ce wyjaYnienia interesuj¹cych go terminów z ró¿nych bran¿ dzisiejszej informatyki. • Komunikacja pomiêdzy systemami informatycznymi i sieci komputerowe • Grafika komputerowa i technologie multimedialne • Internet, WWW, poczta elektroniczna, grupy dyskusyjne • Komputery osobiste — PC i Macintosh • Komputery typu mainframe i stacje robocze • Tworzenie oprogramowania i systemów komputerowych • Poligrafia i reklama • Komputerowe wspomaganie projektowania • Wirusy komputerowe Wydawnictwo Helion JeYli szukasz ]ród³a informacji o technologiach informatycznych, chcesz poznaæ ul.
    [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]
  • (19) United States (12) Patent Application Publication (10) Pub
    US 20060190934A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2006/0190934 A1 Kielstra et al. (43) Pub. Date: Aug. 24, 2006 (54) METHOD AND APPARATUS FOR INLINING Publication Classi?cation NATIVE FUNCTIONS INTO COMPILED JAVA CODE (51) Int. Cl. G06F 9/45 (2006.01) (52) US. Cl. ............................................................ ..717/148 (75) Inventors: Allan Henry Kielstra, Ajax (CA); Levon Sassoon Stepanian, Toronto (CA); Kevin Alexander Stoodley, (57) ABSTRACT Richmond Hill (CA) A method, apparatus, and computer instructions are pro vided for inlining native functions into compiled Java code. Correspondence Address: A conversion engine is provided by the present invention for IBM CORP (YA) converting the intermediate representation of native func C/O YEE & ASSOCIATES PC tions to the just-in-time (JIT) compiler’s intermediate rep PO. BOX 802333 resentation. With the converted intermediate representation, DALLAS, TX 75380 (US) an inliner recursively inlines the converted JIT compiler’s intermediate representation into the native callsite to remove the need of invoking the native function and subsequent (73) Assignee: International Business Machines Cor native calls made by the function. The inlining process poration, Armonk, NY continues until either a call to an opaque function is encoun tered or until a JIT compiler intermediate representation groWth limits are reached. The inliner also replaces calls to (21) Appl. No.: 11/062,293 most native functions that are non-inlineable or opaque With calls
    [Show full text]