jjug ccc 2014 spring ibm sdk for java 8の全貌 #jjug_ccc #ccc_r57

59
© 2014 IBM Corporation JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 本アイ・ビー・エム(株)盛

Upload: takakiyo-tanaka

Post on 28-May-2015

6.773 views

Category:

Software


9 download

DESCRIPTION

IBM SDK for Java 8 の全貌 (盛林哲さん:日本アイ・ビーエム)の講演資料です。

TRANSCRIPT

  • 1. 2014 IBM Corporation JJUG CCC 2014 Spring IBM SDK for Java 8

2. 2014 IBM Corporation 2 2000 WebSphere WAS 3. 2014 IBM Corporation IBM Java 4. 2014 IBM Corporation IBM SDK for Java 4 Java SDK JRE DevTools Java Java API JVM GC/MemoryManagement JIT/Interpreter RAS (SPEC) 5. 2014 IBM Corporation IBM Java Runtime: J9VM IBM Java 5VM IBM Java 1.3.1 1.4.2 (J2ME) 15 6. 2014 IBM Corporation IBM Java Runtime: GC) J9VM CPU GC GC optthruput IBM JavaGCMark,Sweep,Compaction3 GC optavgpause GCGCMark MarkGC subpool optthruput AIX,ppcLinux,i5,zLinux,zOSoptthruput gencon GCNew/OldNewGC OldoptturuputIBM Java5WASV8 metronome IBM Java7WinIBM WebSphere RealTime GChttp:// www.ibm.com/developerworks/jp/java/library/j-rtj4/ balanced GCJava7GCGC GCGCCPU GC 7. 2014 IBM Corporation IBM Java Runtime:GC GCGC GC OLDNew GC GC Java JVMGC Java10242047512KB,1MB,2MB,4MB,8MB... Java CopyingGC GC GCGlobalMarkGC GCGC 8. 2014 IBM Corporation IBM Java Runtime:GC GC 64bit64bit JVM 4GJava GC H/W NUMA (Non-Uniform Memory Architecture) GC Java 0.1% dWWASV8JVM) 9. 2014 IBM Corporation IBM Java Runtime: Just In Time Compiler(JIT) J9VM (Testarossa) hotness Queue 5 1. scorching 2. veryHot 3. hot 4. warm 5. cold 6. noOpt Impact2014 10. 2014 IBM Corporation IBMJava SE 10 Java Oracle, open source, IBM Java IBM Java Technology Centre IBM Software Group IBM ISV IBM IBM XML Crypto CORBA J9 Virtual machine Impact2014 11. 2014 IBM Corporation IBM Java 11 Java IBM IBMXML FIPSJCEJSSE Java IBMJava RuntimeJVM IBM (FFDC) Plug Impact2014 12. 2014 IBM Corporation 2006 2007 2008 2009 2010 2011 2012 2013 2014 Java SE 12 UI Client Web Java 6.0 GC POWER7z196 IBM Java 7.0 Solaris x86-64 Solaris SPARC Solaris x86 Windows IA32 Windows AMD64 Windows EAMT64 Linux IA32 Linux AMD64 Linux EAMT64 zOS 64 AIX PPC 32 AIX PPC 64 iSeries (via PASE) Linux PPC 32 Linux PPC 64 zLinux 31 zLinux 64 HP-UX PA-RISC 32 HP-UX PA-RISC 64 HP-UX IA64 zOS 31 IBM (Java 6.0/7.0) New IO API(NIO2) Java persistance API SWING Java 7.0 IBM WebSphere Real-Time V1.0 IBM Java 6.0 Solaris x64 Solaris SPARC Solaris x86 Windows IA32 Windows AMD64 Windows EAMT64 Linux IA32 Linux IA64 Linux AMD64 Linux EAMT64 Oracle Java 6.0 8.0 Java 7R1 21 IBM Java 7.1 POWER 8 zEC12 Data Access Accelerator RDMA Packed Objects API Java 8.0 Java 6.0 21 Java 7.0 21 7.0 6.0 Impact2014 HP,SolarisIBM 13. 2014 IBM Corporation IBM Java 8 14. 2014 IBM Corporation Java8 14 Language Access to Parameter Names at Runtime Add Javadoc to javax.tools (JSR 199 MR) Annotations on Java Types (JSR 308) Generalized Target-Type Inference (JSR 335) Lambda Expressions & Virtual Extension Methods (JSR 269 MR, 335) Repeating Annotations (JSR 269 MR, 337) Core Libraries Base64 Encoding & Decoding Bulk Data Operations for Collections (JSR 335) Concurrency Updates Date & Time API (JSR 310) Enhance Core Libraries with Lambda (JSR 335) JDBC 4.2 (JSR 114 MR, 221 MR) Parallel Array Sorting I18n BCP 47 Locale Matching Unicode 6.2 Security Congurable Secure Random-Number Generation Enhance the Certicate Revocation-Checking API Limited doPrivileged NSA Suite B Cryptographic Algorithms TLS Server Name Indication (SNI) Extension Platform Compact Proles Prepare for Modularization (JSR 160 MR, 173 MR, 206 MR, 337) http://openjdk.java.net/ Impact2014 15. 2014 IBM Corporation IBM Java8 15 Java SE8 (JSR 337) IBM IBM zEnterprize EC12POWER8) Javanative Impact2014 16. 2014 IBM Corporation IBM Java 8.. 16 IBM Java8 GA201411 IBM Java8 Beta3 http://www.ibm.com/developerworks/java/jdk/beta/ IBM Java82013126 IBM Java7Release120145 17. 2014 IBM Corporation IBM Java 7 Release1 18. 2014 IBM Corporation IBM Java7 Release 1 18 Java SE7 (JSR 336) IBM Java7 z/OS V2.1,zEC12, zBC12 POWER8 Javanative Impact2014 19. 2014 IBM Corporation IBM Java SDK: 19 Java http://www.ibm.com/developerworks/java/jdk/tools/index.html p Interactive Diagnostic Data Explorer p Garbage Collection and Memory Visualizer p Memory Analyser p Health Center IBM Monitoring and Diagnostic Tools for Java Impact2014 eclipse market place eclipse market place eclipse market place IBM http://bit.ly/1j6Dr2N 20. 2014 IBM Corporation HealthCenter 20 HealthCenter: IBM JVM HealthCenter (RCP)HealthCenter Windows/Linux TCP/IP Baseline Health Center Dormant Health Center Network Client Health Center Headless Client Health Center Headless Client with ZIP Health CenterZIP CPU I/O GC IBMJava java -jar healthcenter.jar IBM JVMOSJVM HealthCenter http://www.slideshare.net/cnbailey/javaone2013-build-your-own-runtime-monitoring-for-the-ibm-jdk-with-the-health-center-api zipat Eclipse Market Place 15 21. 2014 IBM Corporation 21 p javacore p com.ibm.jvm.Dump API p JIT p SDK p JVMTI p SDK p APIJava p javacore p JITJIT p Java SDK p SDK p SDK IBMJavaVersion7Release1 Impact2014 22. 2014 IBM Corporation javacore 22 3XMTHREADINFO "WebContainer : 0" J9VMThread:0x0000000016295800, j9thread_t:0x00002AAABADE8040, java/lang/Thread: 0x0000000001426508, state:P, prio=5 3XMJAVALTHREAD (java/lang/Thread getId:0x3E4, isDaemon:true) 3XMTHREADINFO1 (native thread ID:0x93F, native priority:0x5, native policy:UNKNOWN) 3XMTHREADINFO2 (native stack address range from:0x0000000043B34000, to:0x0000000043B75000, size:0x41000) 3XMCPUTIME CPU usage total: 6.866931193 secs 3XMTHREADBLOCK Parked on: java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject@0x0000000001919F88 Owned by: 3XMHEAPALLOC Heap bytes allocated since last GC cycle=2048 (0x800) 3XMTHREADINFO3 Java callstack: 4XESTACKTRACE at sun/misc/Unsafe.park(Native Method) 4XESTACKTRACE at java/util/concurrent/locks/LockSupport.parkNanos(LockSupport.java:222(Compiled Code)) 4XESTACKTRACE at java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java: 2127(Compiled Code)) 4XESTACKTRACE at com/ibm/ws/util/BoundedBuer$GetQueueLock.await(BoundedBuer.java:286(Compiled Code)) 4XESTACKTRACE at com/ibm/ws/util/BoundedBuer.waitGet_(BoundedBuer.java:425(Compiled Code)) 4XESTACKTRACE at com/ibm/ws/util/BoundedBuer.take(BoundedBuer.java:823(Compiled Code)) 4XESTACKTRACE at com/ibm/ws/util/ThreadPool.getTask(ThreadPool.java:1036(Compiled Code)) 4XESTACKTRACE at com/ibm/ws/util/ThreadPool$Worker.run(ThreadPool.java:1888) 3XMTHREADINFO3 Native callstack: 4XENATIVESTACK (0x00002AAAAB0A3122 [libj9prt26.so+0x13122]) 4XENATIVESTACK (0x00002AAAAB0B079F [libj9prt26.so+0x2079f]) 4XENATIVESTACK (0x00002AAAAB0A2E6B [libj9prt26.so+0x12e6b]) 4XENATIVESTACK (0x00002AAAAB0A2F67 [libj9prt26.so+0x12f67]) 4XENATIVESTACK (0x00002AAAAB0B079F [libj9prt26.so+0x2079f]) 4XENATIVESTACK (0x00002AAAAB0A2A8B [libj9prt26.so+0x12a8b]) 4XENATIVESTACK (0x00002AAAAB09C8E2 [libj9prt26.so+0xc8e2]) 4XENATIVESTACK (0x000000352020EBE0 [libpthread.so.0+0xebe0]) 4XENATIVESTACK pthread_cond_timedwait+0x120 (0x000000352020B1C0 [libpthread.so.0+0xb1c0]) 4XENATIVESTACK j9thread_park+0xfe (0x00002AAAAAE7EACE [libj9thr26.so+0x5ace]) 4XENATIVESTACK (0x00002AAAB030A12D [libjclscar_26.so+0x5712d]) 4XENATIVESTACK sun_misc_Unsafe_park+0x64 (0x00002AAAB02FD160 [libjclscar_26.so+0x4a160]) Java CPU Java GC 0SECTION ENVINFO subcomponent dump routine NULL ================================= .... 1CISYSINFO System Information NULL -------------------------------------------------------------------- 2CISYSINFO Hypervisor name = VMWare JVMOS 23. 2014 IBM Corporation 23 Javacore JVM Heapdump JVMJava Snapdump JVM Systemdump JVMOS jitdump JVMJIT-Xdump:jitJIT New New com.ibm.jvm.Dump API JIT String javaDumpToFile() String heapDumpToFile() String systemDumpToFile() String snapDumpToFile() %date%pid String javaDumpToFile(String leName) String heapDumpToFile(String leName) String systemDumpToFile(String leName) String snapDumpToFile(String leName) API17 24. 2014 IBM Corporation zEC12 24 z/OSJava Java (HTM) : juc.ConcurrentLinkedQueue2 Runtime Instrumentation (RI) JRE 2GB 64-bit Flash Express1MB / zEnterprise Data Compression accelerator gzip /NULL 5.5 GHz 6 2 OOO design Java60% zEC12 IBM Java7SR3 Engineered TogetherIBM Java and zEC12 Boost Workload Performance http://www.ibmsystemsmag.com/mainframe/trends/whatsnew/java_compiler/ Impact2014 25. 2014 IBM Corporation Power 8 25 Power 8 - HTM) - Runtime InstrumentationRI) - AES - Polynomial multiplication-sum - Direct move - Vector load/store - SMT8 - 16 larx/stcxlq/stq zEC12Power8IBM J9 JVMJIT Java Java 7 SR4 SPECjbb2013 max-jOPS 10% 13% 26% Watson 30% ILOG 3-5% DayTrader3 RMI-IIOP/Weblogic t33.8Day-trader8.5% Impact2014 26. 2014 IBM Corporation26 27. 2014 IBM Corporation27 JSoR(RDMA) Data Access Accelerators(DAA) Impact2014 28. 2014 IBM Corporation JSoR: Remote Direct Memory Access (RDMA) 28 10/40/56 Gbps RDMA NIC/HCA OS/ (Z-Copy) java.net.Socket API (JSoR=Java Socket over RDMA) Java Application Server Buffer Off Heap Buffer Java Application Client Buffer Off Heap Buffer Ether/IB SwitchRDMA NIC/HCA RDMA NIC/HCA OS OS DMA DMA (Z-Copy) (Z-Copy) (B-Copy)(B-Copy) Acronyms: Z-Copy Zero Copy B-Copy Buffer Copy IB InfiniBand Ether - Ethernet NIC Network Interface Card HCA Host Control Adapter Impact2014 29. 2014 IBM Corporation JSoR/RDMA 29 JSoRTCP/IPIPoIBSDP :NetPIPE for Java Benchmark - http://bitspjoule.org/netpipe/ Impact2014 30. 2014 IBM Corporation 30 : Java JVM Java JIT JVM OSJVMGCJIT JVM H/W Technology Preview Impact2014 31. 2014 IBM Corporation IBMJVM 31 java3JVM IBMJVM java JVM javadJVM javad javad 3Java1 JVM java JVM java JVM java JVM javad java java java Technology Preview Impact2014 32. 2014 IBM Corporation 32 CPUDiskI/O Java -Xlimit:=-: : CPU CPU60%30% java -Xmt -Xlimit:cpu=60 -jar bbonacci java -Xmt -Xlimit:cpu=30 -jar bbonacci Technology Preview Impact2014 33. 2014 IBM Corporation 33 Java JMX Bean JVM RAS OperatingSystemMXBean CPU com.ibm.lang.management.OperatingSystemMXBean HypervisorMXBean com.ibm.virtualization.management.HypervisorMXBean GuestOSMXBean VM/LPAROS CPU com.ibm.virtualization.management.GuestOSMXBean Impact2014 34. 2014 IBM Corporation DAA 34 Java10 210 byte[] BigDecimal BigDecimal BigDecimalbyte[] IBM Java : byte[] addPacked(byte[] a, byte[] b) { BigDecimal a_bd = convertPackedToBd(a[]); BigDecimal b_bd = convertPackedToBd(b[]); a_bd.add(b_bd); return (convertBDtoPacked(a_bd)); } BigDecimal convertPackedToBd(byte[] myBytes) { ... } : byte[] addPacked(byte[] a, byte[] b) { DAA.addPackedDecimal(a[], b[]); return (a[]); } 10 com.ibm.dataaccess API 10 : 10 ( 10 Unicode 10 ) 10 Unicode 10 BigDecimal BigInteger : (shortintlong oat double) Impact2014 35. 2014 IBM Corporation Data Access Accelerator (DAA) 35 Java DAAJava JIT IBM JITJava Java : (2 100) Impact2014 36. 2014 IBM Corporation 36 IBM Java Java Java JavaI/O : Java Technology Preview 20byte Java 72byte I/O Impact2014 37. 2014 IBM Corporation 37 int y int x aPoint Object header Object field / data int y int x aPointPoint b Point a aLine Point c int y int x aPoint Javapoint Technology Preview Impact2014 38. 2014 IBM Corporation 38 int y int x aPoint Object header Object field / data int y int x aPointPoint b Point a aLine int y int x int y int x aPackedLine offset target Point c int y int x aPoint int y int x @Packed final class PackedPoint extends PackedObject { int x; int y; } @Packed final class PackedLine extends PackedObject { PackedPoint a; PackedPoint b; PackedPoint c; } aLine.a aLine.b aLine.c Technology Preview Impact2014 39. 2014 IBM Corporation 39 JavaJava Java - Jav a data data copy header array [ ] header data copy header data copy header data copy header data data data Java array [ ] Java Java Technology Preview Impact2014 40. 2014 IBM Corporation : 40 int y int x Object header Struct field / data offset target aPackedLine Java Native @Packed final class PackedPoint extends PackedObject { int x; int y; } int y int x int y int x Technology Preview Impact2014 41. 2014 IBM Corporation : 41 Technology Preview JVM -XX:+PackedObject GC gencon optthruput optavgpause 42. 2014 IBM Corporation 42 Diagnostics Collector IBM Support Assistant Data collector IBM Java7 Relase1ppcLinux(LE)* *LE=Little Endian Java communications API OS Windows XP, Server 2003 Linux RHEL 5, SLES 10, Ubuntu 8.04 & 10.04, Asianux Server 3 Impact2014 43. 2014 IBM Corporation IBM Java 43 dW: IBM developer kits(Linux/AIX JDK) http://www.ibm.com/developerworks/java/jdk/ IBM Java Knowledge Center() www.ibm.com/support/knowledgecenter/SSYKE2/welcome_javasdk_family.html User Guides and Reference information for viewing oine. () http://www.ibm.com/developerworks/java/jdk/docs/oine.html WAS V8.0 Web http://www.ibm.com/developerworks/jp/websphere/library/was/was8_guide/ WebSphere Application Server (WAS) http://www.ibm.com/developerworks/jp/websphere/library/was/was_tips/ dW: JavaIBM http://bit.ly/SdtevS 44. 2014 IBM Corporation BlueMix 45. 2014 IBM Corporation BlueMixIBMPaaS 45 CloudFoundry SoftLayer(IBMIaaS) IBMcommunity IBM IBMJavaWebSphere Liberty Prole 46. 2014 IBM Corporation BlueMixJava 46 BlueMixhttp://www.bluemix.net 20145 IBM ID() 47. 2014 IBM Corporation BlueMixLiberty for Java 47 30 48. 2014 IBM Corporation BlueMix:WebCF 48 C:optCloudFoundry>cf login API endpoint> http://api.stage1.ng.bluemix.net Warning: Insecure http API endpoint detected: secure https API endpoints are recommended Email> [email protected] Password> Authenticating... OK Targeted org [email protected] Targeted space dev API endpoint: http://api.stage1.ng.bluemix.net (API version: 2.2.0) User: [email protected] Org: [email protected] Space: dev C:optCloudFoundry> CFBlueMix CF 49. 2014 IBM Corporation BlueMix 49 CFPUSH) C:DLBlueMixtestEnv>c:optCloudFoundrycf.exe push amoribaTEST -m 512m Creating app amoribaTEST in org [email protected] / space dev as [email protected]... OK Creating route amoribatest.stage1.ng.bluemix.net... OK Binding amoribatest.stage1.ng.bluemix.net to amoribaTEST... OK Uploading amoribaTEST... Uploading app les from: C:DLBlueMixtestEnv Uploading 1.2K, 3 les OK Starting app amoribaTEST in org [email protected] / space dev as [email protected]... -----> Downloaded app package (4.0K) OK Buildpack Version: 20140511-1311 -----> Downloading IBM 1.7.0 JRE from http://le.icap.cdl.ibm.com/icapShared/jre/ibm-java-jre-7.0-6.0- linux-x86_64-small-footprint-uncompressed-jar-20140116.tar.gz (0.0s) Expanding JRE to .java (1.1s) Downloading from output/wlp/com.ibm.ws.liberty-2014.4.0.0-201405111311.tar.gz ... (0.0s). Installing archive ... (0.6s). -----> Uploading droplet (93M) 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 1 of 1 instances running 50. 2014 IBM Corporation BlueMix 50 CFPUSH) App started Showing health and status for app amoribaTEST in org [email protected] / space dev as [email protected]... OK requested state: started instances: 1/1 usage: 512M x 1 instances urls: amoribatest.stage1.ng.bluemix.net state since cpu memory disk #0 running 2014-05-15 01:27:14 PM 0.0% 295.1M of 512M 178.5M of 1G 51. 2014 IBM Corporation BlueMix 51 52. 2014 IBM Corporation BlueMixDevOps 52 JazzHub*GitHubBlueMix JazzHubBlueMix JazzHubIBMSaaS 53. 2014 IBM Corporation BlueMixEclipse 53 EclipseBlueMix EclipseBlueMix eclipse marketplace: http://marketplace.eclipse.org/content/ibm-codename-bluemix-eclipse-kepler#.U3gu2_l_tuk 54. 2014 IBM Corporation BlueMix 54 55. 2014 IBM Corporation BlueMix 55 Service CategoryIBM Created ServicesCommunity Services Mobile ServicesMobile Application Security Mobile Data Mobile Quality Assurance Push Internet of Things Web App ServicesApplication Security Service Rabbit MQ Configuration Service Redis CastIronLive Wearable Fitness Cloud Integration DataCache Elastic MQ IBM Bluemix Text Analytics Log Analysis RapidApps Rules SessionCache Single Sign-On (SSO) Smart Cloud Object Storage SMTP Data ManagementCloudant MongoDB JSON Database (JSONDB) My SQL SQL Database (SQLDB) PostgreSQL Time Series Database Big DataBLU Acceleration MapReduce DevOpsIBM DevOps Services Monitoring and Analytics Git Hosting Web IDE Add-onsAuto-Scaling Auto-Scaling Cfg 2014/05/18: Web DevOps 6 IBM Web PUSH DB 56. 2014 IBM Corporation BlueMix 56 IBM BlueMix (IBM ID() http://ace.ng.bluemix.net/ Tutorials https://www.ng.bluemix.net/docs/Tutorials.jsp BlueMix Developers Community https://www.ibmdw.net/bluemix/ JazzHub Forum https://www.ibmdw.net/answers?community=jazzhub IBM jStart by ibmjstart( http://ibmjstart.github.io/ developerWorks http://www.ibm.com/developerworks/jp/ 57. 2014 IBM Corporation 57 IBM Java IBM Java8 IBM Javatm Technology Edition Version 7 Release 1 IBM DAA) Java Sockets over RDMA (JsoR) BlueMix(PaaS) 58. 2014 IBM Corporation 58 59. 2014 IBM Corporation59 IBM IBM IBMIBM IBMIBM IBM IBM IBM IBMIBMibm.comWebSphereInternational Business Machines Corporation IBM IBM www.ibm.com/legal/copytrade.shtml Adobe, Adobe, PostScript, PostScriptAdobe Systems Incorporated IT Infrastructure LibraryOffice of Government Commercethe Central Computer and Telecommunications Agency , Intel, Intel, Intel Inside, Intel Inside, Intel Centrino, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, Pentium Intel Corporation LinuxLinus Torvalds Microsoft, Windows, Windows NT Windows Microsoft Corporation ITILThe Minister for the Cabinet Office UNIXThe Open Group Cell Broadband EngineSony Computer Entertainment, Inc. JavaJava Oracle Linear Tape-Open, LTO, LTO, UltriumUltriumHP, IBM Corp.Quantum