What's Exciting About Java 9 and Application Performance Monitoring

Total Page:16

File Type:pdf, Size:1020Kb

What's Exciting About Java 9 and Application Performance Monitoring FACILITATING THE SPREAD OF KNOWLEDGE AND INNOVATION IN PROFESSIONAL SOFTWARE DEVELOPMENT Java 9 and Beyond eMag Issue 37 - January 2016 ARTICLE ARTICLE ARTICLE Programming with Java 9’s New HTTP/2 A Post-Apocalyptic modularity and and REPL sun.misc.Unsafe Project Jigsaw Java 9 and Beyond // eMag Issue 37 - Jan 2016World 1 Programming with Java 9’s New HTTP/2 and modularity and REPL Project Jigsaw Java 9 will not just be about modularity; it is targeting a large number of additional pieces of functionality. In this article A Tutorial Using the Latest Release Candidate Ben Evans dives into HTTP/2 support and the JShell REPL – Project Jigsaw is the hallmark feature of Java (Read-Eval-Print-Loop) that brings shell-based interactive 9, the next major version release of Java, and is Java development, two new JEPs that may well have the big- destined to bring modular programming into the gest impact on developers’ working lives during the lifetime Java mainstream. After years of negotiating and of Java 9. myriad JSRs and JEPs, Jigsaw is starting to take its final form. This tutorial considers all aspects of programming and migration to Project Jigsaw. Case for Defaulting to G1 Garbage Collector in Java 9 In this article, GC expert Monica Beckwith makes the case for JEP 248, the proposal to make G1 the default garbage collector in OpenJDK 9. A Post-Apocalyptic sun.misc. Unsafe World The removal of sun.misc.Unsafe and other private APIs in Java 9 has in recent weeks divided the Java community per- haps as never before in its 20 year history. Even though a resolution has now been proposed and a migration path pre- sented, the big question remains: What will a post sun.misc. Unsafe world look like? The OpenJDK Revised Java Memory Model The existing Java Memory Model covers a lot in terms of Java language semantic guarantees. In this article we will delve into a few of those semantics, and attempt to communicate the motivation for an update to the existing Java Memory Model FOLLOW US CONTACT US GENERAL FEEDBACK [email protected] ADVERTISING [email protected] EDITORIAL [email protected] facebook.com @InfoQ google.com linkedin.com /InfoQ /+InfoQ company/infoq is the Java queue lead at InfoQ. Inducted as an VICTOR Oracle Java Champion in 2012, Victor works at GRAZI Nomura Securities on building core tools, and as a technical consultant and Java evangelist. He is also a frequent presenter at technical conferences. Victor hosts the “Java Concurrent Animated” open source project on SourceForge. A LETTER FROM THE EDITOR If there were ever any question that Java was the test Java code snippets without having to deal with de facto standard for server side enterprise develop- class structures and compilers. ment, Java 8 has certainly quelled that one. The world If Java didn’t invent the science of Garbage col- now anxiously awaits Java 9 and the innovations it lection, it has almost certainly contributed more than promises. Oracle has slated Java 9 for a March 2017 any other language to that technology. Garbage First release. (affectionately know as G1GC) is the latest offering in In this eMag, we take a look at what’s on the that space, and promises to support huge heaps with scheduled horizon for Java 9 and beyond. minimal stop-the-world pauses. In this piece, former Project Jigsaw is the hallmark feature of Java 9 Oracle GC performance lead Monica Beckwith weighs and is destined to bring modular programming into the benefits of making G1GC the default against pro- the Java mainstream. After years of negotiating and tests that it might not be ready for prime time. myriad JSRs and JEPs, Jigsaw is starting to take its fi- Then low latency expert Christoph Engelbert nal form. Nicolai Parlog gives us the definitive guide looks at another controversial issue, the deprecation to all aspects of programming and migration to Proj- of sun.misc.Unsafe, a widely-used little class that to ect Jigsaw. date has broken all of the rules of Java safety. Then Ben Evans takes a look at two long awaited Finally, the Java Memory Model has served Java Java features, HTTP/2 and REPL. HTTP/2 addresses an- well for all of these years but over time optimizations noying problems coming from the rather rusty HTTP and alternatives have been requested. Monica Beck- support in Java. REPL is a shell scripted version of Java with looks at some of the modifications to the Java that allows developers to quickly and interactively Memory Model being discussed for Java 10. There’s nothing about Java that AppDynamics doesn’t see. AppDynamics gives you the visibility to take command of your Java application’s performance, no matter how complicated or distributed your environment is. Events Health Rule Violations Started 2 Internet Overall Application Performance 1 Information IIS Services AppDynamics Internal Diagnostics 1 Device Business Transaction Health Java 1 critical, 0 warning, 36 normal Server Health 0 critical, 5 warning, 1 normal Java Transaction Scorecard Java Normal 83.1% 963 Slow 0.3% 4 Very Slow 1.3% 15 Java Stall 0.2% 2 Errors 15.1% 175 Shipments DB Java When your business runs on Java, count on AppDynamics to give you the complete visibility you need to be sure they are delivering the performance and business results you need — no matter how complex, distributed or asynchronous your environment, live ‘in production’ or during development. See every line of code. Get a complete view of your environment with deep code diagnostics and auto-discovery. Understand performance trends with dynamic baselining. And drastically reduce time to root cause and remediation. See why the world’s largest Java deployments rely on the AppDynamics Application Intelligence Platform. Sign up for a FREE trial today at www.appdynamics.com/java. appdynamics.com Advertising Feature What’s exciting about Java 9 and Application Performance Monitoring by Aakrit Prasad Principal Product Manager of APM products at AppDynamics Constant innovation in software is driving us toward a software revolution. That may be how the 21st century will be best remembered. Among the popular software languages out there, however, Java continues to have the largest industry footprint, running applications around the globe that produce a combined annual revenue measuring trillions of dollars. That’s why keeping up on the JDK is a high priority. Despite having a massive API to improve programming productivity, Java has also grown due to its high-performance yet scalable JVM runtime, which ranks among the fastest computing applications. As Java’s footprint expands, JDK innovations continue to impact billions of lines of code. As AppDynamics continues to grow, our focus towards supporting Java is only furthered by our customer use and industry adoption of the JVM. Discussion of Java 9 have been growing since the release of Java 8 in March 2014. The scope of various JDK enhancements originally targeted for Java 9 has narrowed as the proposed release date of September 2016 has approached. Over 30 key enhancements, those with the potential for broadest impact, will be shared, and discussion of some of these follows. Project Jigsaw Among the most popular Web proto- Segmented Code Cache cols, HTTP has been getting its own The JVM codecache is critical to ap- upgrade to HTTP/2 (with inspiration plication performance and can be set from Google’s SPDY/2), which boasts at startup time using the -XX:Initial- significant network performance CodeCacheSize=32m flag. When the gains. Java 9 will get its own HTTP codecache memory is exhausted, the client API that implements HTTP/2 JVM losses JIT and goes into interpret- and WebSocket to replace the legacy ed mode, significantly affecting appli- HttpURLConnection, which predates cation runtime performance. In Java HTTP/1.1 and has limitations such as 9, this section of memory is getting the “one thread per request/response” Project Jigsaw contains some of the divided into the three distinct heap behavior. Using HTTP/2 in Java 9, ap- JDK 9 enhancements with greatest segments in order to improve perfor- impact. Jigsaw’s primary goals are to plications will perform and scale bet- mance and enable future extensions: make the JDK more modular and to ter with memory usage on par with JVM internal (non-method) code, pro- enhance the build system. The needs or lower than HttpURLConnection, filed-code, and non-profiled code. to make Java more scalable for smaller Apache HttpClient, and Netty. computing devices, to make it secure, Other Notable mentions and to improve performance and de- jShell Other notable changes in JDK 9 will veloper productivity have driven Jig- include making the G1 collector the saw. With the advent of the Internet default, adding a Microbenchmark of Things (IoT), enabling Java to run testing suite that extends the current on smaller devices is instrumental for JMH, and the removal of some aged continued growth but as Java’s foot- and unsupported performance tools print expands, the vast permutation such as JVM TI hprof and jHat. of computing services it runs on have made it more prone to security target- In jShell, also referred to as Java REPL Summary ing and performance lags. With a more (read-eval-print-loop), JDK 9 users will Although programming languages modular JDK, developers can signifi- find a shell-like interface to interactive- tend to come and go, Java is here to cantly reduce the number of libraries ly evaluate declarations, statements, stay (least for the foreseeable decade) needed to build features, thereby re- and expressions in Java. Like when as one of the most popular and wide- ducing security risks and the size of they use Python or Ruby interpreters ly adopted languages with its highly an application while increasing perfor- or other JVM languages like Scala and performing, scalable runtime.
Recommended publications
  • Open Source Used in DNAC-Wide Area Bonjour Magneto
    Open Source Used In DNAC-Wide Area Bonjour Magneto Cisco Systems, Inc. www.cisco.com Cisco has more than 200 offices worldwide. Addresses, phone numbers, and fax numbers are listed on the Cisco website at www.cisco.com/go/offices. Text Part Number: 78EE117C99-1090203837 Open Source Used In DNAC-Wide Area Bonjour Magneto 1 This document contains licenses and notices for open source software used in this product. With respect to the free/open source software listed in this document, if you have any questions or wish to receive a copy of any source code to which you may be entitled under the applicable free/open source license(s) (such as the GNU Lesser/General Public License), please contact us at [email protected]. In your requests please include the following reference number 78EE117C99-1090203837 Contents 1.1 javax-activation 1.2.0 1.1.1 Available under license 1.2 metrics-servlets 3.1.0 1.3 mongodb-driver 3.0.4 1.4 jaxb-core 2.3.0 1.4.1 Available under license 1.5 antlr 2.7.6 1.5.1 Available under license 1.6 spring-boot-autoconfigure 1.5.12.RELEASE 1.7 spring-instrument 4.3.19.RELEASE 1.7.1 Available under license 1.8 nimbus-jose-jwt 4.3.1 1.9 javax-inject 1 1.9.1 Available under license 1.10 json-smart 1.3.1 1.11 opentracing-util 0.31.0 1.12 xpp3-min 1.1.3.4.O 1.12.1 Notifications 1.12.2 Available under license 1.13 ojdbc 6 1.14 jax-ws-api 2.3.0 1.15 aspect-j 1.9.2 1.15.1 Available under license 1.16 jetty-util 9.3.27.v20190418 1.17 unirest-java 1.4.5 1.18 jetty-continuation 9.3.27.v20190418 Open Source Used In
    [Show full text]
  • Chapter 12 Calc Macros Automating Repetitive Tasks Copyright
    Calc Guide Chapter 12 Calc Macros Automating repetitive tasks Copyright This document is Copyright © 2019 by the LibreOffice Documentation Team. Contributors are listed below. You may distribute it and/or modify it under the terms of either the GNU General Public License (http://www.gnu.org/licenses/gpl.html), version 3 or later, or the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0/), version 4.0 or later. All trademarks within this guide belong to their legitimate owners. Contributors This book is adapted and updated from the LibreOffice 4.1 Calc Guide. To this edition Steve Fanning Jean Hollis Weber To previous editions Andrew Pitonyak Barbara Duprey Jean Hollis Weber Simon Brydon Feedback Please direct any comments or suggestions about this document to the Documentation Team’s mailing list: [email protected]. Note Everything you send to a mailing list, including your email address and any other personal information that is written in the message, is publicly archived and cannot be deleted. Publication date and software version Published December 2019. Based on LibreOffice 6.2. Using LibreOffice on macOS Some keystrokes and menu items are different on macOS from those used in Windows and Linux. The table below gives some common substitutions for the instructions in this chapter. For a more detailed list, see the application Help. Windows or Linux macOS equivalent Effect Tools > Options menu LibreOffice > Preferences Access setup options Right-click Control + click or right-click
    [Show full text]
  • Administration and Configuration Guide
    Red Hat JBoss Data Virtualization 6.4 Administration and Configuration Guide This guide is for administrators. Last Updated: 2018-09-26 Red Hat JBoss Data Virtualization 6.4 Administration and Configuration Guide This guide is for administrators. Red Hat Customer Content Services Legal Notice Copyright © 2018 Red Hat, Inc. This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries. Node.js ® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
    [Show full text]
  • Java Programming Language Family Godiva Scala Processing Aspectj Groovy Javafx Script Einstein J Sharp Judoscript Jasmin Beanshell
    JAVA PROGRAMMING LANGUAGE FAMILY GODIVA SCALA PROCESSING ASPECTJ GROOVY JAVAFX SCRIPT EINSTEIN J SHARP JUDOSCRIPT JASMIN BEANSHELL PDF-33JPLFGSPAGJSEJSJJB16 | Page: 133 File Size 5,909 KB | 10 Oct, 2020 PDF File: Java Programming Language Family Godiva Scala Processing Aspectj Groovy Javafx Script 1/3 Einstein J Sharp Judoscript Jasmin Beanshell - PDF-33JPLFGSPAGJSEJSJJB16 TABLE OF CONTENT Introduction Brief Description Main Topic Technical Note Appendix Glossary PDF File: Java Programming Language Family Godiva Scala Processing Aspectj Groovy Javafx Script 2/3 Einstein J Sharp Judoscript Jasmin Beanshell - PDF-33JPLFGSPAGJSEJSJJB16 Java Programming Language Family Godiva Scala Processing Aspectj Groovy Javafx Script Einstein J Sharp Judoscript Jasmin Beanshell e-Book Name : Java Programming Language Family Godiva Scala Processing Aspectj Groovy Javafx Script Einstein J Sharp Judoscript Jasmin Beanshell - Read Java Programming Language Family Godiva Scala Processing Aspectj Groovy Javafx Script Einstein J Sharp Judoscript Jasmin Beanshell PDF on your Android, iPhone, iPad or PC directly, the following PDF file is submitted in 10 Oct, 2020, Ebook ID PDF-33JPLFGSPAGJSEJSJJB16. Download full version PDF for Java Programming Language Family Godiva Scala Processing Aspectj Groovy Javafx Script Einstein J Sharp Judoscript Jasmin Beanshell using the link below: Download: JAVA PROGRAMMING LANGUAGE FAMILY GODIVA SCALA PROCESSING ASPECTJ GROOVY JAVAFX SCRIPT EINSTEIN J SHARP JUDOSCRIPT JASMIN BEANSHELL PDF The writers of Java Programming Language Family Godiva Scala Processing Aspectj Groovy Javafx Script Einstein J Sharp Judoscript Jasmin Beanshell have made all reasonable attempts to offer latest and precise information and facts for the readers of this publication. The creators will not be held accountable for any unintentional flaws or omissions that may be found.
    [Show full text]
  • 1. with Examples of Different Programming Languages Show How Programming Languages Are Organized Along the Given Rubrics: I
    AGBOOLA ABIOLA CSC302 17/SCI01/007 COMPUTER SCIENCE ASSIGNMENT ​ 1. With examples of different programming languages show how programming languages are organized along the given rubrics: i. Unstructured, structured, modular, object oriented, aspect oriented, activity oriented and event oriented programming requirement. ii. Based on domain requirements. iii. Based on requirements i and ii above. 2. Give brief preview of the evolution of programming languages in a chronological order. 3. Vividly distinguish between modular programming paradigm and object oriented programming paradigm. Answer 1i). UNSTRUCTURED LANGUAGE DEVELOPER DATE Assembly Language 1949 FORTRAN John Backus 1957 COBOL CODASYL, ANSI, ISO 1959 JOSS Cliff Shaw, RAND 1963 BASIC John G. Kemeny, Thomas E. Kurtz 1964 TELCOMP BBN 1965 MUMPS Neil Pappalardo 1966 FOCAL Richard Merrill, DEC 1968 STRUCTURED LANGUAGE DEVELOPER DATE ALGOL 58 Friedrich L. Bauer, and co. 1958 ALGOL 60 Backus, Bauer and co. 1960 ABC CWI 1980 Ada United States Department of Defence 1980 Accent R NIS 1980 Action! Optimized Systems Software 1983 Alef Phil Winterbottom 1992 DASL Sun Micro-systems Laboratories 1999-2003 MODULAR LANGUAGE DEVELOPER DATE ALGOL W Niklaus Wirth, Tony Hoare 1966 APL Larry Breed, Dick Lathwell and co. 1966 ALGOL 68 A. Van Wijngaarden and co. 1968 AMOS BASIC FranÇois Lionet anConstantin Stiropoulos 1990 Alice ML Saarland University 2000 Agda Ulf Norell;Catarina coquand(1.0) 2007 Arc Paul Graham, Robert Morris and co. 2008 Bosque Mark Marron 2019 OBJECT-ORIENTED LANGUAGE DEVELOPER DATE C* Thinking Machine 1987 Actor Charles Duff 1988 Aldor Thomas J. Watson Research Center 1990 Amiga E Wouter van Oortmerssen 1993 Action Script Macromedia 1998 BeanShell JCP 1999 AngelScript Andreas Jönsson 2003 Boo Rodrigo B.
    [Show full text]
  • Pwning Your Java Messaging with Deserialization Vulnerabilities Matthias Kaiser About Me
    Pwning Your Java Messaging With Deserialization Vulnerabilities Matthias Kaiser About me . Head of Vulnerability Research at Code White in Ulm, Germany . Software Dev/Architect in the past, enjoying technical security for 7 years now . Specialized on Java Security . Found bugs in products of Oracle, IBM, VMware, SAP, Redhat, Symantec, Apache, Adobe, etc. Recently looking more into the Windows world and client-side stuff @matthias_kaiser 08/03/2016 2 1 Motivation Introduction to Java‘s 2 Native Serialization 3 The Java Message Service 4 Attacking JMS 5 Introducing JMET 6 JMET in Action 7 Conclusion 08/03/2016 3 Motivation . During my research time I looked at all kinds of products running on Java . Several Java core technologies rely heavily on serialization (RMI, JMX) . Furthermore the Java Message Service (JMS) requires the use of Java’s Serialization . Previous security research on Java Message Service (JMS): . “A Pentesters Guide to Hacking ActiveMQ Based JMS Applications” + JMSDigger Tool by Gursev Singh Kalra of McAfee Foundstone Professional Services (2014) . “Your Q is my Q” by G. Geshev of MWR InfoSecurity (2014) . I haven’t found any research on attacking Java Messaging Service using (de)-serialization . That’s the reason why I’m here 08/03/2016 4 Disclaimer . This talk continues my research on Java Deserialization Vulnerabilities . Therefore I won‘t cover all the technical details about finding and exploiting deserialization vulnerabilities which I have shown in my other talks . If you want to dig deeper, you should look at: . “Deserialize My Shorts: Or How I Learned To Start Worrying and Hate Java Object Deserialization” by Chis Frohoff (OWASP-SD 2016) .
    [Show full text]
  • Magicdraw Macro Engine User Guide
    MACRO ENGINE USER GUIDE version 17.0 No Magic, Inc. 2011 All material contained herein is considered proprietary information owned by No Magic, Inc. and is not to be shared, copied, or reproduced by any means. All information copyright 2009-2011 by No Magic, Inc. CONTENTS MACRO ENGINE 2 1. Introduction 2 2. Working with Macro Engine 2 2.1 Selecting a Default Macro Language 2 2.2 Creating a Macro 4 2.3 Adding a Macro, Entering and Editing Macro Information 5 2.3.1 Opening Macro Information Dialog 5 2.3.2 Adding a Macro and Its Information 7 2.3.3 Editing Macro Information 11 2.3.4 Macro Information Dialog Mnemonic Keys 12 2.4 Deleting and Executing Macros 12 2.4.1 Deleting a Macro 12 2.4.2 Executing a Macro 13 2.4.3 Organize Macros Dialog Mnemonic Keys 15 2.5 Macro Keyboard Shortcuts 17 2.5.1 Assigning a Keyboard Shortcut to a Macro 19 2.5.2 Removing a Keyboard Shortcut from a Macro 19 2.6 Opaque Objects 20 2.6.1 Getting an Opaque Object 20 2.6.2 Getting Element Property Values 21 2.6.3 Setting Element Property Values 22 2.6.4 Getting the Child of an Element 25 2.6.5 Getting the Owner of an Element 26 2.6.6 Creating a New Element 26 2.6.7 Creating a Relationship Between Elements 26 2.6.8 Removing an Element 26 2.6.9 Adding a Stereotype to an Element 27 2.6.10 Removing a Stereotype from an Element 27 2.6.11 Printing Element Details 27 2.7 Recording Macros 28 3.
    [Show full text]
  • Christian Schneider Alvaro Muñoz
    Chris;an Schneider Whitehat Hacker & Developer Serial Killer: Silently Pwning Freelancer @cschneider4711 Your Java Endpoints Alvaro Muñoz Principal Security Researcher HPE Security For@fy @pwntester Why this talk? Java deserializa@on aEacks have been known for years Rela@vely new GadGet in Apache Commons-Collec/ons made the topic also available to mainstream (dev) audience in 2015 Some inaccurate advice to protect your applica@ons is makinG the rounds In this talk we’ll demonstrate the weakness of this advice by … … showing you new RCE gadgets … showing you bypasses We’ll Give advice how to spot this vulnerability and its GadGets durinG … … code reviews (i.e. showinG you what to look for) … pentests (i.e. how to Generically test for such issues) 2 Standing on the Shoulder of Giants… Spring AOP (by Wouter Coekaerts, public exploit: @pwntester in 2011) AMF DoS (by Wouter Coekaerts in 2011) Commons-fileupload (by Arun Babu NeelicaEu in 2013) Groovy (by cpnrodzc7 / @frohoff in 2015) Commons-Collec;ons (by @frohoff and @gebl in 2015) Spring Beans (by @frohoff and @gebl in 2015) Serial DoS (by Wouter Coekaerts in 2015) SpringTx (by @zerothinkinG in 2016) JDK7 (by @frohoff in 2016) Probably more we are forge7ng and more to come in few minutes … 3 What is Java Serializa;on again? TakinG a snapshot of an object graph as a byte stream that can be used to reconstruct the object Graph to its oriGinal state Only object data is serialized, not the code The code sits on the ClassPath of the (de)serializinG end Developers can customize this serializa@on/deserializa@on process Individual object/state serializa@on via .writeObject() / .writeReplace() / .writeExternal() methods Individual object/state re-construc@on on deserializinG end via .readObject() / .readResolve() / .readExternal() methods (and more) 4 AWack SurFace Usages of Java serializa@on in protocols/formats/products: RMI (Remote Method Invoca@on) Android JMX (Java Management Extension) AMF (Ac@on Message Format) JMS (Java MessaginG System) JSF ViewState SprinG Service Invokers WebLogic T3 HTTP, JMS, RMI, etc.
    [Show full text]
  • Implementing Parallel Algorithms Swarm – Multithreaded Framework
    Implementing Parallel Algorithms Julius Hrivnac, LAL Swarm – Multithreaded Framework continuation of Minerva project BasicBasic principles: principles: ➢➢multithreadingmultithreading should should not not obscure obscure the the implementation implementation of of algorithms algorithms TwoTwo levels levels of of parallelism: parallelism: ➢➢aa user user should should see see the the program program logic, logic, not not parallelisation parallelisation artifacts artifacts ➢➢parallelparallel Consumers/Producers Consumers/Producers ➢➢threadthread scheduling scheduling and and balancing balancing should should be be automatic automatic ➢➢Fork&JoinFork&Join algorithms algorithms on on parallel parallel containers containers Uses:Uses: ➢➢JavaJava 7 7 ➢ObjectBrowser Architecture:Architecture: ➢ObjectBrowser ➢➢Colt ➢➢basedbased on on the the classical classical Producer-Consumer Producer-Consumer InfoBus InfoBus pattern pattern Colt ➢➢JUNG ➢➢allall BusMember BusMemberss declare declare their their input/output input/output BusItem BusItem types, types, including including possible possible multiplicity multiplicity JUNG ➢➢BeanShell (one(one BusItem BusItem processed processed by by several several Consumers) Consumers) BeanShell ➢➢FreeHEP ➢➢pluggablepluggable Balancer Balancer orchestrates orchestrates Producer/Consumer Producer/Consumer threads threads to to optimize optimize performance performance FreeHEP ➢➢GenericGeneric Collections Collections ➢➢ConcurrentConcurrent ➢➢Log4JLog4J ➢➢GroovyGroovy ➢➢ScalaScala ➢Clojure Design:Design: ➢Clojure
    [Show full text]
  • 4.2 Using Spring IO Platform with Gradle
    Spring IO Platform Reference Guide 1.0.1.RELEASE Copyright © 2014 Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for such copies and further provided that each copy contains this Copyright Notice, whether distributed in print or electronically. Spring IO Platform Reference Guide Table of Contents I. Spring IO Platform Documentation ............................................................................................ 1 1. About the documentation ................................................................................................ 2 2. Getting help .................................................................................................................... 3 II. Getting Started ....................................................................................................................... 4 3. Introducing Spring IO Platform ........................................................................................ 5 4. Using Spring IO Platform ................................................................................................ 6 4.1. Using Spring IO Platform with Maven .................................................................... 6 4.2. Using Spring IO Platform with Gradle .................................................................... 7 III. Appendices ............................................................................................................................ 9 A. Dependency versions ...................................................................................................
    [Show full text]
  • Red Hat Jboss Fuse 6.3 Release Notes
    Red Hat JBoss Fuse 6.3 Release Notes What's new in Red Hat JBoss Fuse Last Updated: 2020-10-27 Red Hat JBoss Fuse 6.3 Release Notes What's new in Red Hat JBoss Fuse JBoss A-MQ Docs Team Content Services [email protected] Legal Notice Copyright © 2016 Red Hat. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/ . In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries. Node.js ® is an official trademark of Joyent.
    [Show full text]
  • 1. Why POCS.Key
    Symptoms of Complexity Prof. George Candea School of Computer & Communication Sciences Building Bridges A RTlClES A COMPUTER SCIENCE PERSPECTIVE OF BRIDGE DESIGN What kinds of lessonsdoes a classical engineering discipline like bridge design have for an emerging engineering discipline like computer systems Observation design?Case-study editors Alfred Spector and David Gifford consider the • insight and experienceof bridge designer Gerard Fox to find out how strong the parallels are. • bridges are normally on-time, on-budget, and don’t fall ALFRED SPECTORand DAVID GIFFORD • software projects rarely ship on-time, are often over- AS Gerry, let’s begin with an overview of THE DESIGN PROCESS bridges. AS What is the procedure for designing and con- GF In the United States, most highway bridges are budget, and rarely work exactly as specified structing a bridge? mandated by a government agency. The great major- GF It breaks down into three phases: the prelimi- ity are small bridges (with spans of less than 150 nay design phase, the main design phase, and the feet) and are part of the public highway system. construction phase. For larger bridges, several alter- There are fewer large bridges, having spans of 600 native designs are usually considered during the Blueprints for bridges must be approved... feet or more, that carry roads over bodies of water, preliminary design phase, whereas simple calcula- • gorges, or other large obstacles. There are also a tions or experience usually suffices in determining small number of superlarge bridges with spans ap- the appropriate design for small bridges. There are a proaching a mile, like the Verrazzano Narrows lot more factors to take into account with a large Bridge in New Yor:k.
    [Show full text]