Deepak Bhole Sr. Software Engineer, Red Hat Inc. May

Size: px
Start display at page:

Download "Deepak Bhole Sr. Software Engineer, Red Hat Inc. May 5 2011"

Transcription

1

2 Java - From to Red Hat Enterprise Linux and What Lies Ahead Deepak Bhole Sr. Software Engineer, Red Hat Inc. th May /06/11

3 / Red Hat's role Persistent index will always show current point Agenda Questions This presentation is designed to be used with audio as a primary mode of content delivery. If you have downloaded it, see notes section for rough notes on applicable slides (draft quality). For pdf, it should be at the end of the slide deck.

4 / Red Hat's role Timeline: Java 1.1 Java Java 1.4 Java Java ? Java 7 Java LibGCJ Classpath Questions Java GCJ Plugin sources GPLd GCJ stands for GNU Compiler for Java GPL stands for GNU General Public License ++

5 / What? vs JDK Community Apple Questions + JDK stands for Java Development Kit All company logos are copyright by their respective owners

6 vs JDK (current) / What? vs JDK Current Future Questions Deployment tools HotSpot Virtual machine Interpreter JIT (Just In Time) compiler Tools (javac, javadoc, etc.) Class libraries Public API (Application Programming Interface) JDK

7 vs JDK (future) / What? vs JDK Current Future Questions Deployment tools Serviceability tools HotSpot Virtual machine Interpreter JIT compiler Tools (javac, javadoc, etc.) Class libraries Public API JDK

8 6 vs JDK6 / What? vs JDK 6 7 Questions JDK6 (closed) JDK7 (7) 6 Proprietary Semi-open (development in open + some proprietary patches) Open

9 7 vs JDK7 / Deployment tools Serviceability tools? What? vs JDK 6 7 Tools (javac, javadoc, etc.) Class libraries HotSpot Virtual machine Interpreter JIT compiler Public API Questions + As heard at JavaOne JDK Closed 95%+ 5%+

10 What is? / What? Why? -Web Questions Image sources:

11 Some of the contributors / What? Who is involved? Why? -Web Questions (-Web only) (Indirectly through ) All logos are copyright by their respective owners

12 Some of the users / What? Who is involved? Why? -Web Questions (-Web only)

13 Why was created? / What? Why? -Web Build (For the first release) Questions Image sources:

14 To fix the build / What? Why? -Web Build Questions Image sources:

15 To fill what's missing / What? Why? -Web Implemented independently Deployment tools Questions Deployment tools HotSpot Virtual machine Interpreter JIT compiler Tools (javac, javadoc, etc.) Class libraries JDK

16 To back patch fixes / What? Why? -Web Implemented independently Deployment tools Questions Deployment tools HotSpot Virtual machine Interpreter JIT compiler Tools (javac, javadoc, etc.) Class libraries JDK

17 To support additional architectures / What? Why? -Web Shark/Zero Implemented independently Deployment tools Questions Deployment tools HotSpot Virtual machine Interpreter JIT compiler Tools (javac, javadoc, etc.) Class libraries Image sources: JDK

18 To support additional tools / What? Why? -Web Shark/Zero Implemented independently Deployment tools Questions Deployment tools HotSpot Virtual machine Interpreter JIT compiler Tools (javac, javadoc, etc.) Class libraries JDK

19 Fixes (with ) / What? Why? -Web I found a bug, here is the patch! Thanks! It will be in the next update whenever it happens* Questions * has a slower release cycle and it is not set in advance Image sources:

20 Fixes (with ) / What? Why? -Web I found a bug, here is the patch! Thanks! It will be in the next update soon*! Questions * has a faster release cycle dictated by importance of fixes since last release

21 Fixes (with ) / What? Why? -Web I found a bug, here is the patch! Thanks! It will be in the next update soon! Here is a nice patch from Mr. Green. Thanks! It will be in the next update! Questions.. No problem! We will maintain it locally till then.

22 Co-ordinated security / What? Why? -Web Update planned Patches sent Distros notified Public release JDK Distros Questions Not in code base In code base, not public In code base, public All company logos are copyright by their respective owners

23 -Web / What? Why? -Web Web Browser Plugin Web Start (javaws) Settings tool (itweb-settings) Questions Image sources:

24 Fully Open Source / What? Why? -Web LGPL GPL + Classpath Exception Questions GPL stands for GNU General Public License LGPL stands for GNU Lesser General Public License Image source:

25 Completeness / What? Why? -Web Plugin is almost fully complete Questions Web Start is slightly lagging, but has support for all of the widely used features

26 Co-ordinated security / What? Why? -Web Update planned Distros notified Public release Distros Questions Not in code base In code base, not public In code base, public

27 Settings configuration tool / What? Why? -Web Questions

28 Settings configuration tool / What? Why? -Web Questions

29 6 / -Web Upstream RHEL/Fedora Questions 6 commits Red Hat Others Total Red Hat commits: 2159 out of 2587* * Approximate numbers as of 17:00 EDT on

30 (7) / -Web Upstream RHEL/Fedora Questions (7) commits Red Hat Others Total Red Hat commits: 1988 out of 2432* * Approximate numbers as of 17:00 EDT on

31 Role in -Web / -Web Upstream RHEL/Fedora Questions -Web commits Red Hat Others Total Red Hat commits: 223 out of 234* * Approximate numbers as of 17:00 EDT on

32 6 contribution / -Web Upstream RHEL/Fedora Questions 7 Majority of 6 commits are backports The backport process 6 Red Hat is the primary backporter for 6

33 7 contribution / -Web Upstream RHEL/Fedora Questions 7 commits (Logarithmic) Oracle+Community Google Red Hat Apple As of , 16:00 EDT* Total: 8337 Oracle + community: 7998 Google: 136 (1.63%) Red Hat: 127 (1.52%) Apple: 76** (0.09%) * Figures are approximate, and do not account for merge commits ** Apple's contributions have been normalized from 81/8889 (OSX port) to 76/8337

34 * contribution 6 commits / -Web Upstream RHEL/Fedora out of 2587, 83.4% Red Hat Others (7) commits out of 2431, 81.7% Red Hat Others -Web commits Questions out of 234, 95.3% Red Hat Others

35 RPM in RHEL / -Web Upstream RHEL/Fedora RPM Questions + RPM stands for RPM Package Manager

36 Upstream first policy / -Web Upstream RHEL/Fedora RPM Accepted upstream Questions RHEL release release release Red Hat Enterprise Linux release is subject to results of: TCK tests Jtreg tests Mauve tests Spec* tests Java2dBenchmark tests JFCMark tests (api, compiler, dev) (regression) (class library) (performance) (drawing perf.) (swing perf.)

37 Prioritized release Accepted upstream / -Web Upstream RHEL/Fedora RPM release Release subject to results of: release Questions Prioritized release TCK (api, compiler, dev) tests JTreg (regression) tests Mauve (class library) tests Spec* (performance) tests Java2dBenchmark (drawing perf.) tests JFCMark (swing perf.) tests

38 Links I will be at Campground 3 from 2PM to 3PM today : : -Web: Bugs: RHEL/Fedora bugs: Mailing List: distro-pkg-dev@openjdk.java.net IRC: irc.oftc.net, #openjdk Deepak Bhole dbhole@redhat.com dbhole on irc

39 Java 7

40 JMX Enhancements / ManagementFactory.getAllPlatformMXBeanInterfaces() Everything inherits from PlatformManagedObject New MBeans java.lang.management.bufferpoolmxbean java.lang.management.platformloggingmxbean JMX enhancements Language changes nio2 Fork/Join framework Rest.. Questions.. + JMX stands for Java Management Extensions

41 Switches in String / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals

42 Switches in String / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals

43 try-with-resources try1 / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals

44 try-with-resources try2 / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals

45 try-with-resources try3 / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals

46 try-with-resources in JDK7 / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals

47 What JDK7 does (approximately) / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals

48 The AutoCloseable Interface / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals

49 Diamond operator / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals

50 Diamond operator / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals

51 Diamond operator / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals // prints 1 // prints 2 Example posted to coin-dev list by Neal Gafter (neal@gafter.com)

52 Binary Literals / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals

53 Binary Literals / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals

54 Underscores in numeric literals / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals

55 Regular catch / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals

56 Multi-catch in JDK 7 / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals

57 Precise re-throw in JDK7 / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals

58 Safe var-args / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals With JDK6 (-Xlint:unchecked): warning: [unchecked] unchecked generic array creation of type java.util.list<java.lang.string>[] for varargs parameter printall(l1, l2); ^ With JDK7 (-Xlint:unchecked): warning: [unchecked] Possible heap pollution from parameterized vararg type T public <T> void printall(t params) { ^ warning: [unchecked] unchecked generic array creation for varargs parameter of type List<String>[] printall(l1, l2); ^

59 Safe var-args / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals With JDK6 (-Xlint:unchecked): No warnings With JDK7 (-Xlint:unchecked): warning: [unchecked] Possible heap pollution from parameterized vararg type T public <T> void printall(t params) { ^

60 Safe var-args / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals With JDK6 (-Xlint:unchecked): No warnings With JDK7 (-Xlint:unchecked): No warnings

61 Safe var-args / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals With JDK6 (-Xlint:unchecked): Error due not being defined Warning at line 110 With JDK7 (-Xlint:unchecked): No warnings

62 / JMX enhancements Language changes nio2 Fork/Join framework Rest.. Questions.. NIO2

63 File actions / JMX enhancements Language changes nio2 Fork/Join framework Rest.. Questions.. Actions provided by class Files copy() move() delete() create[symbolic]link() walkfiletree() etc.

64 Attributes / JMX enhancements Language changes nio2 Fork/Join framework Rest.. Questions.. *AttributeView(s) File/Directory Basic creation time access time modification time size isfile isdirectory islink getowner setowner FileOwner get/setpermissions POSIX get/setgroup

65 Asynchronous I/O / Application thread I/O thread (sys) I/O request Process I/O request Continue normal execution Process callback handler JMX enhancements Language changes nio2 Fork/Join framework Rest.. Questions.. OR Application thread I/O request (returns Future<Integer>) Continue normal execution, process Future<Integer> later

66 Change notification / JMX enhancements Language changes nio2 Fork/Join framework Rest.. Questions.. Application Thread Use WatchService sleep/wait Continue normal execution JVM Thread OS/Poll

67 Fork/Join Framework / Thread 2: Foo.compute() Foo.compute() Thread N: Foo.compute() Thread 1: JMX enhancements Language changes nio2 Fork/Join framework Rest.. Fork/Join Framework invokeall() class Foo extends RecursiveAction { public Foo(data) { } public void compute() { if (small) dolocally(); else invokeall(new Foo(halfData), // first half new Foo(otherHalfData)); // remaining } Questions.. }

68 Additional Java 7 features / JSR-292 (invokedynamic) JDBC 4.1 Unicode 6.0 Full list at JMX enhancements Language changes nio2 Fork/Join framework Rest.. Questions..

69 Java 8

70 Jigsaw / Jigsaw Lambda Language changes Questions.. JDK broken into modules based on functionality No more CLASSPATH New format to replace JAR files RPM auto-dependency writing (would be done by distros)

71 Lambda (Closures) / Jigsaw Lambda Language changes Questions.. Not yet finalized Cleaner syntax and more scalable than Anonymous Inner Classes Defender methods

72 Language Changes (Project Coin) / Collections enhancements Jigsaw Lambda Language changes Collection literals final List<Integer> digits = [4, 3, 4]; final Set<Integer> primes = { 2, 3, 5, 7 }; final Map<Integer, String> platonicsolids = { Questions.. : : : : : "tetrahedron", "cube", "octahedron", "dodecahedron", "icosahedron" }; Numeric suffixes for byte(y/y) and short (s/s) byte b = 0xA0y; short s = 0xA0s;

73 Questions? / I will be at Campground 3 from 2PM to 3PM today : : -Web: Bugs: RHEL/Fedora bugs: Questions.. Mailing List: distro-pkg-dev@openjdk.java.net IRC: irc.oftc.net, #openjdk Deepak Bhole dbhole@redhat.com dbhole on irc

74

75

76 Java - From to Red Hat Enterprise Linux and What Lies Ahead Deepak Bhole Sr. Software Engineer, Red Hat Inc. May 5th /06/11

77 / Red Hat's role Persistent index will always show current point Agenda Questions This presentation is designed to be used with audio as a primary mode of content delivery. If you have downloaded it, see notes section for rough notes on applicable slides (draft quality). For pdf, it should be at the end of the slide deck.

78 / Red Hat's role Timeline: Java 1.1 Java Java 1.4 Java Java ? Java 7 Java LibGCJ Classpath Questions Java GCJ Plugin sources GPLd GCJ stands for GNU Compiler for Java GPL stands for GNU General Public License ++ Only critical releases mentioned: 1.1 Feb in in 2002 Java 5 (Generics, major syntax changes) in 2004 Java 6 in 2006 OSS dev continued with GCJ release in 1999 and classpath started picking up around then GCJ WebPlugin in 2003 In Nov. 2006, Java/GPL announcement was made No release since then, breaking the 2-yr cycle Java 7 set for July 28th, 2011 Java for end of 2012

79 / What? vs JDK Community Apple Questions + JDK stands for Java Development Kit All company logos are copyright by their respective owners This is where most of Java is now developed Oracle, Red Hat, Google, Apple, IBM and others contribute here Most of the code base is identical to that of proprietary JDK Certain things are missing, like the plugin, javaws and some other components

80 vs JDK (current) / What? vs JDK Current Future Questions Deployment tools HotSpot Virtual machine Interpreter JIT (Just In Time) compiler Tools (javac, javadoc, etc.) Class libraries Public API (Application Programming Interface) JDK Current state: Class library, VM, compiler, etc. are open Same public API Deployment tools (plugin, webstart, etc.) will remain closed

81 vs JDK (future) / What? vs JDK Current Future Questions Deployment tools Serviceability tools HotSpot Virtual machine Interpreter JIT compiler Tools (javac, javadoc, etc.) Class libraries Public API JDK Future: Most of the items will stay open In addition to deployment tools, serviceability tools (e.g Mission Control), will stay closed JRockit-ported VM enhancements will be open

82 6 vs JDK6 / What? vs JDK 6 7 Questions JDK6 (closed) JDK7 (7) 6 Proprietary Semi-open (development in open + some proprietary patches) Open JDK6 and 6 development is not parallel, and hence the divergence 6 was created from 7 by removing the Java 7 specific parts 6 gets backports from 7

83 7 vs JDK7 / What? vs JDK 6 7 Deployment tools Serviceability tools? HotSpot Virtual machine Interpreter JIT compiler Tools (javac, javadoc, etc.) Class libraries Public API Questions + JDK Closed 95%+ 5%+ As heard at JavaOne Siblings from same codebase Around 95% of the code base will be identical

84 What is? / What? Why? -Web Questions Image sources: Based Contains core, plus build scripts, plus patches, etc.

85 Some of the contributors / What? Why? -Web Who is involved? Questions (-Web only) (Indirectly through ) All logos are copyright by their respective owners Oracle is an indirect contributor via RedHat is biggest contributor to Linux distros are not the only consumers

86 Some of the users / What? Why? -Web Who is involved? (-Web only) Questions Used by almost all major Linux distros: Fedora, RHEL, Ubuntu, Debian, SuSE, etc. -Web runs on FreeBSD

87 Why was created? / What? Why? -Web Build (For the first release) Questions Image sources: Initial drop did not build easily Needed proprietary JDK to build

88 To fix the build / What? Why? -Web Build Questions Image sources: was primarily created to fix the build issues and create a re-distributable JDK based on.

89 To fill what's missing / What? Why? -Web Implemented independently Deployment tools Questions Deployment tools HotSpot Virtual machine Interpreter JIT compiler JDK Tools (javac, javadoc, etc.) Class libraries has gradually taken on other roles It provides missing components

90 To back patch fixes / What? Why? -Web Implemented independently Deployment tools Questions Deployment tools HotSpot Virtual machine Interpreter JIT compiler JDK Tools (javac, javadoc, etc.) Class libraries It provides backward patch maintenance for up to n-2 releases

91 To support additional architectures / What? Why? -Web Shark/Zero Implemented independently Deployment tools Questions Deployment tools HotSpot Virtual machine Interpreter JIT compiler JDK Tools (javac, javadoc, etc.) Class libraries Image sources: It provides additional runtime support. Most notably Shark/Zero so that can run on other platforms. Almost all of the Shark/Zero porting work was done by Red Hat. also supports Cacao and JamVM (as an alternate to the HotSpot VM, with the class libraries)

92 To support additional tools / What? Why? -Web Shark/Zero Implemented independently Deployment tools Questions Deployment tools HotSpot Virtual machine Interpreter JIT compiler JDK Tools (javac, javadoc, etc.) Class libraries It provides additional tooling support, like for VisualVM (now via a separate visualvm-harness project under the umbrella)

93 Fixes (with ) / What? Why? -Web I found a bug, here is the patch! Thanks! It will be in the next update whenever it happens* Questions * has a slower release cycle and it is not set in advance Image sources: Patches submitted to can take an arbitrary amount of time depending on when the next release happens.

94 Fixes (with ) / What? Why? -Web I found a bug, here is the patch! Thanks! It will be in the next update soon*! Questions * has a faster release cycle dictated by importance of fixes since last release Patches submitted to have a faster turnaround as releases more frequently, and depending on the severity of the issue, can do a more immediate release if needed.

95 Fixes (with ) / What? Why? -Web I found a bug, here is the patch! Thanks! It will be in the next update soon! Here is a nice patch from Mr. Green. Thanks! It will be in the next update! No problem! We will maintain it locally till then. Questions.. Behind the scenes, developers make sure that the patch is okay for, and then take on the responsibility of local patch maintenance until the next update (assuming it was accepted) Sometimes fixes are not accepted, in which case will maintain them locally

96 Co-ordinated security / What? Why? -Web Update planned Patches sent Distros notified Public release JDK Distros Questions Not in code base In code base, not public In code base, public All company logos are copyright by their respective owners When a security update is planned, Oracle gets the patches ready and notifies Red Hat and select others. developers then put together a release, and send a preview copy to trusted distro maintainers for testing. On a preset date and time, Oracle makes the vulnerabilities public and distros release updates thereafter

97 -Web / What? Why? -Web Web Browser Plugin Web Start (javaws) Settings tool (itweb-settings) Questions Image sources: Web contains: The plugin Webstart itweb-settings

98 Fully Open Source / What? Why? -Web LGPL GPL + Classpath Exception Questions GPL stands for GNU General Public License LGPL stands for GNU Lesser General Public License Image source: All the code is -Web is Open Source. Parts from NetX are under LGPL, the plugin/javaws is GPL+Classpath, while the settings tool is GPL

99 Completeness / What? Why? -Web Plugin is almost fully complete Web Start is slightly lagging, but has support for all of the widely used features Questions Chart is more to show comparative completeness. WebStart is slightly lagging. However, both components contain the widely used features. Most of the missing features are obscure/not commonly seen in everyday applications

100 Co-ordinated security / What? Why? -Web Update planned Distros notified Public release Distros Questions Not in code base In code base, not public In code base, public As with, when a security release is due, distros are notified earlier and sent an encrypted tarball so that they can test the fixes.

101 Settings configuration tool / What? Why? -Web Questions Screenshot of settings tool showing proxy settings

102 Settings configuration tool / What? Why? -Web Questions Screenshot of settings tool showing security configuration

103 6 / -Web Upstream RHEL/Fedora Questions 6 commits Red Hat Others Total Red Hat commits: 2159 out of 2587* * Approximate numbers as of 17:00 EDT on #!/bin/bash USERS="ahughes aph dbhole fitzsim fkung gbenson iivan jon.vanalten jsumali keiths kgallowa langel mwong omajid ptisnovs jvanek asu dlila mark@klomp.org" TOTAL=`hg log grep "user:" grep -E "$USERS" wc -l` TOTALCOMMITS=`hg log grep changeset wc -l` # Filter out Andrew's commits before he joined Red Hat ANDREWS_RH_COMMITS=`hg log --date " to " grep "user:" grep andrew grep -v redhat.com wc -l` TOTAL=`echo $TOTAL + $ANDREWS_RH_COMMITS bc -l` echo "Total: $TOTAL" echo "Total commits: $TOTALCOMMITS"

104 (7) / -Web Upstream RHEL/Fedora Questions (7) commits Red Hat Others Total Red Hat commits: 1988 out of 2432* * Approximate numbers as of 17:00 EDT on See notes for previous slide for counting script

105 Role in -Web / -Web Upstream RHEL/Fedora Questions -Web commits Red Hat Others Total Red Hat commits: 223 out of 234* * Approximate numbers as of 17:00 EDT on See notes for previous slide for counting script

106 6 contribution / -Web Upstream RHEL/Fedora Questions 7 Majority of 6 commits are backports The backport process 6 Red Hat is the primary backporter for 6

107 7 contribution / 7 commits (Logarithmic) -Web Upstream RHEL/Fedora Questions Oracle+Community Google Red Hat Apple As of , 16:00 EDT* Total: 8337 Oracle + community: 7998 Google: 136 (1.63%) Red Hat: 127 (1.52%) Apple: 76** (0.09%) * Figures are approximate, and do not account for merge commits ** Apple's contributions have been normalized from 81/8889 (OSX port) to 76/8337 #!/bin/bash if [ "$1" == "redhat" ]; then USERS="langel aph andrew gbenson ptisnovs omajid dlila dbhole mwong" elif [ "$1" == "google" ]; then USERS="ahe hiroshi jjb rasbold" elif [ "$1" == "apple" ]; then USERS="astrange bino kmiller loefty rhoover swingler" else USERS="$*" fi TEMP_FILE="/tmp/jdk.commits.log" TOTAL=0 TOTALDUPLICATES=0 TOTALCOMMITS=0 for dir in. corba hotspot jaxp jaxws jdk langtools; do hg log -v -R $dir grep -E "^user: ^Reviewed-by ^Contributed-by: summary:" grep -vi merge grep -E "^user: ^Reviewed-by ^Contributed-by:" tr '\n' ' ' perl -p -e s/user:/\\nuser:/g > $TEMP_FILE for uid in $USERS; do # for each user USERS_TO_EXCLUDE=`echo $USERS sed -e s:$uid::g sed -e s:" ":" ":g -e s:"^ "::g -e s:" $"::g tr ' ' ' '` USERTOTAL=0 COUNT=`grep " $uid" $TEMP_FILE wc -l` DUPLICATED_USERS=`grep " $uid" $TEMP_FILE grep -E " $USERS_TO_EXCLUDE" wc -l` USERTOTAL=`echo $USERTOTAL + $COUNT bc -l` TOTALDUPLICATES=`echo $TOTALDUPLICATES + $DUPLICATED_USERS bc -l` TOTAL=`echo $TOTAL + $USERTOTAL bc -l` done COMMITS_IN_DIR=`wc -l $TEMP_FILE awk '{print $1}'` TOTALCOMMITS=`echo $TOTALCOMMITS + $COMMITS_IN_DIR bc -l` done rm -f $TEMP_FILE # Account for commits by Chris Phillips after he started at Red Hat ( ) if [ "$1" == "redhat" ]; then TOTAL=`echo $TOTAL + 1 bc -l` fi TOTAL=`echo $TOTAL - "($TOTALDUPLICATES/2)" bc -l` # assume duplicates == max 2 users echo "Total: $TOTAL" echo "Total duplicates: $TOTALDUPLICATES" echo "Total commits: $TOTALCOMMITS"

108 * contribution 6 commits / Web Upstream RHEL/Fedora 2159 out of 2587, 83.4% Red Hat Others (7) commits out of 2431, 81.7% Red Hat Others -Web commits Questions out of 234, 95.3% Red Hat Others

109 RPM in RHEL / -Web Upstream RHEL/Fedora RPM Questions + RPM stands for RPM Package Manager RPM contains which in turn contains

110 Upstream first policy / -Web Upstream RHEL/Fedora RPM Accepted upstream Questions RHEL release release release Red Hat Enterprise Linux release is subject to results of: TCK tests Jtreg tests Mauve tests Spec* tests Java2dBenchmark tests JFCMark tests Upstream first policy Everything is well tested (api, compiler, dev) (regression) (class library) (performance) (drawing perf.) (swing perf.)

111 Prioritized release Accepted upstream / -Web Upstream RHEL/Fedora RPM release Release subject to results of: release Questions Prioritized release TCK (api, compiler, dev) tests JTreg (regression) tests Mauve (class library) tests Spec* (performance) tests Java2dBenchmark (drawing perf.) tests JFCMark (swing perf.) tests Upstream first policy Early backports into RPMs if needed All tests are rigorously run to ensure no regressions

112 Links I will be at Campground 3 from 2PM to 3PM today : : -Web: Bugs: RHEL/Fedora bugs: Mailing List: distro-pkg-dev@openjdk.java.net IRC: irc.oftc.net, #openjdk Deepak Bhole dbhole@redhat.com dbhole on irc

113 Java 7

114 JMX Enhancements / java.lang.management.platformloggingmxbean JMX enhancements Language changes nio2 Fork/Join framework Rest.. Questions.. + ManagementFactory.getAllPlatformMXBeanInterfaces() Everything inherits from PlatformManagedObject New MBeans java.lang.management.bufferpoolmxbean JMX stands for Java Management Extensions BufferPoolMXBean: getcount getmemoryusage getname gettotalcapacity PlatformLoggingMXBean: getloggernames getloggerlevel getparentloggername setloggerlevel

115 Switches in String / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals Currently doing switch on string is somewhat cumbersome

116 Switches in String / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals Switches in string makes it cleaner String switches also use hashcode() first, so it is faster

117 try-with-resources try1 / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals Ensuring no resource leaks is tricky

118 try-with-resources try2 / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals Exceptions can occur during close too

119 try-with-resources try3 / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals Many try/catches are needed to ensure no leaks

120 try-with-resources in JDK7 / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals With Java 7 the syntax is a lot cleaner, and the VM guarantees that nothing will leak

121 What JDK7 does (approximately) / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals Java 7 also records all exceptions, not just the first/last one

122 The AutoCloseable Interface / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals The AutoCloseable interface must be implemented by all resources that want to work with try-withresources Regularly used resource (File, Network, etc.) classes in JDK7 implement AutoCloseable

123 Diamond operator / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals Current syntax is messy

124 Diamond operator / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals The compiler already knows a lot.. Java 7 makes use of that knowledge

125 Diamond operator / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals // prints 1 // prints 2 Example posted to coin-dev list by Neal Gafter (neal@gafter.com) Diamond operator and raw types are not the same despite type erasure. Avoid raw types!

126 Binary Literals / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals

127 Binary Literals / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals Binary syntax makes errors less likely in cases like above

128 Underscores in numeric literals / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals Underscores make things easy to read

129 Regular catch / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals

130 Multi-catch in JDK 7 / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals Java 7 can catch multiple disjunctive exceptions at once

131 Precise re-throw in JDK7 / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals The re-throws are also precise, and there is an implicit assumptions that exceptions in the catch block are final.

132 Safe var-args / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals With JDK6 (-Xlint:unchecked): warning: [unchecked] unchecked generic array creation of type java.util.list<java.lang.string>[] for varargs parameter printall(l1, l2); ^ With JDK7 (-Xlint:unchecked): warning: [unchecked] Possible heap pollution from parameterized vararg type T public <T> void printall(t params) { ^ warning: [unchecked] unchecked generic array creation for varargs parameter of type List<String>[] printall(l1, l2); ^ Java 7 also detects possible heap pollution

133 Safe var-args / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals With JDK6 (-Xlint:unchecked): No warnings With JDK7 (-Xlint:unchecked): warning: [unchecked] Possible heap pollution from parameterized vararg type T public <T> void printall(t params) { ^ Supressing warnings works

134 Safe var-args / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals With JDK6 (-Xlint:unchecked): No warnings With JDK7 (-Xlint:unchecked): No warnings Compiler output is clean, but api user shouldn't have to supress warning related to code they did not write (target method)

135 Safe var-args / JMX enhancements Language changes Strings in switch try-with-resources Diamond operator Numeric literals With JDK6 (-Xlint:unchecked): Error due not being defined Warning at line 110 With JDK7 (-Xlint:unchecked): No warnings SafeVarargs lets method writer tell the compiler that anyone can call safely call it

136 / JMX enhancements Language changes nio2 Fork/Join framework Rest.. Questions.. NIO2

137 File actions / JMX enhancements Language changes nio2 Fork/Join framework Rest.. Actions provided by class Files copy() move() delete() create[symbolic]link() walkfiletree() etc. Questions.. Many file operations are now available

138 Attributes / JMX enhancements Language changes nio2 Fork/Join framework Rest.. *AttributeView(s) File/Directory Basic creation time access time modification time size isfile isdirectory islink getowner setowner FileOwner get/setpermissions POSIX get/setgroup Questions.. Basic file views are available for all systems, and additional ones based on filesystem are available too. Extendable via SPI

139 Asynchronous I/O / Application thread I/O thread (sys) I/O request Process I/O request Continue normal execution Process callback handler JMX enhancements Language changes nio2 Fork/Join framework Rest.. Questions.. OR Application thread I/O request (returns Future<Integer>) Continue normal execution, process Future<Integer> later The I/O can be done via Java's preset I/O threads or be processed locally later after placing the I/O call

140 Change notification / JMX enhancements Language changes nio2 Fork/Join framework Rest.. Application Thread Use WatchService sleep/wait JVM Thread OS/Poll Continue normal execution Questions.. JVM can also do file change notifications. OS method is used if available, polling otherwise

141 Fork/Join Framework / Thread 2: Thread N: Foo.compute() Thread 1: Foo.compute() Foo.compute() JMX enhancements Language changes nio2 Fork/Join framework Rest.. Fork/Join Framework invokeall() class Foo extends RecursiveAction { public Foo(data) { } public void compute() { if (small) dolocally(); else invokeall(new Foo(halfData), // first half new Foo(otherHalfData)); // remaining } Questions.. } Fork/Join is good for divide and conquer algorithms

142 Additional Java 7 features / JSR-292 (invokedynamic) JDBC 4.1 Unicode 6.0 Full list at JMX enhancements Language changes nio2 Fork/Join framework Rest.. Questions..

143 Java 8

144 Jigsaw / Jigsaw Lambda Language changes JDK broken into modules based on functionality No more CLASSPATH New format to replace JAR files RPM auto-dependency writing (would be done by distros) Questions.. JDK is too big, especially for embedded devices JigSaw will break it down A new module-info.java file will supply what the project exports, and what it needs. Thus CLASSPATH will no longer be needed A new, more enhanced format will replace JAR. Optomized for fast reading and will have content specific compression RPMS can take advantage of the dependency info to auto-generate REQs

145 Lambda (Closures) / Jigsaw Lambda Language changes Not yet finalized Cleaner syntax and more scalable than Anonymous Inner Classes Defender methods Questions.. Will be finalized in September 2011 Anonymous inner classes are bulky and have limitations (non-final vars not in scope, transparency issues, etc.) Defender methods extend interfaces. They provide default implementations for cases when implementations don't provide it. Linkage error if 2 interfaces provide the same default

146 Language Changes (Project Coin) / Collections enhancements Jigsaw Lambda Language changes final List<Integer> digits = [4, 3, 4]; final Set<Integer> primes = { 2, 3, 5, 7 }; final Map<Integer, String> platonicsolids = { Questions.. Collection literals : : : : : "tetrahedron", "cube", "octahedron", "dodecahedron", "icosahedron" }; Numeric suffixes for byte(y/y) and short (s/s) byte b short s = 0xA0s; = 0xA0y; These were originally slated for 7 and are now in Limbo. They are not guaranteed to be in 8.

147 Questions? / I will be at Campground 3 from 2PM to 3PM today : : -Web: Bugs: RHEL/Fedora bugs: Questions.. Mailing List: distro-pkg-dev@openjdk.java.net IRC: irc.oftc.net, #openjdk Deepak Bhole dbhole@redhat.com dbhole on irc

148

Java SE 8 Programming

Java SE 8 Programming Oracle University Contact Us: 1.800.529.0165 Java SE 8 Programming Duration: 5 Days What you will learn This Java SE 8 Programming training covers the core language features and Application Programming

More information

Licensed CC-BY 3.0 For attribution, please link to http://dirkriehle.com

Licensed CC-BY 3.0 For attribution, please link to http://dirkriehle.com Java is an important technology powering the modern web and in particular enterprise applications. It has a checkered intellectual property history, and with the recent acquisition of Sun, the Java creator

More information

JDK 7. Neuerungen in Java 7 Die wichtigsten Änderungen, Erweiterungen. Wolfgang Weigend Systemberater Java Technologie und Architektur

JDK 7. Neuerungen in Java 7 Die wichtigsten Änderungen, Erweiterungen. Wolfgang Weigend Systemberater Java Technologie und Architektur P Neuerungen in Java 7 Die wichtigsten Änderungen, Erweiterungen JDK 7 Wolfgang Weigend Systemberater Java Technologie und Architektur Priorities for the Java Platforms Grow Developer

More information

Linux Distributions. What they are, how they work, which one to choose. avix@br.ibm.com> +55-11-2132-2327. Avi Alkalay <avix@br.ibm.

Linux Distributions. What they are, how they work, which one to choose. avix@br.ibm.com> +55-11-2132-2327. Avi Alkalay <avix@br.ibm. Linux Distributions What they are, how they work, which one to choose Avi Alkalay +55-11-2132-2327 Linux, Open Standards Consultant IBM Corporation Before You Start...

More information

Free Java and OpenJDK. Andrew Haley Tech Lead, Open Source Java

Free Java and OpenJDK. Andrew Haley Tech Lead, Open Source Java Free Java and OpenJDK Andrew Haley Tech Lead, Open Source Java 16 May 2006: Sun announce that it's going to free Java: "This announcement represents the next phase of open sourcing Sun's Java software

More information

An Oracle White Paper September 2013. Advanced Java Diagnostics and Monitoring Without Performance Overhead

An Oracle White Paper September 2013. Advanced Java Diagnostics and Monitoring Without Performance Overhead An Oracle White Paper September 2013 Advanced Java Diagnostics and Monitoring Without Performance Overhead Introduction... 1 Non-Intrusive Profiling and Diagnostics... 2 JMX Console... 2 Java Flight Recorder...

More information

Measurably reducing risk through collaboration, consensus & practical security management. 2013 CIS Security Benchmarks 1

Measurably reducing risk through collaboration, consensus & practical security management. 2013 CIS Security Benchmarks 1 Measurably reducing risk through collaboration, consensus & practical security management 2013 CIS Security Benchmarks 1 Background City University of New York s Rights and Benefits as a CIS Security Benchmarks

More information

Java SE 7 Programming

Java SE 7 Programming Java SE 7 Programming The second of two courses that cover the Java Standard Edition 7 (Java SE 7) Platform, this course covers the core Application Programming Interfaces (API) you will use to design

More information

Extreme Performance with Java

Extreme Performance with Java Extreme Performance with Java QCon NYC - June 2012 Charlie Hunt Architect, Performance Engineering Salesforce.com sfdc_ppt_corp_template_01_01_2012.ppt In a Nutshell What you need to know about a modern

More information

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE INTRODUCTION TO JAVA PROGRAMMING LANGUAGE Today Java programming language is one of the most popular programming language which is used in critical applications like stock market trading system on BSE,

More information

To Java SE 8, and Beyond (Plan B)

To Java SE 8, and Beyond (Plan B) 11-12-13 To Java SE 8, and Beyond (Plan B) Francisco Morero Peyrona EMEA Java Community Leader 8 9...2012 2020? Priorities for the Java Platforms Grow Developer Base Grow Adoption

More information

How To Improve Performance On An Asa 9.4 Web Application Server (For Advanced Users)

How To Improve Performance On An Asa 9.4 Web Application Server (For Advanced Users) Paper SAS315-2014 SAS 9.4 Web Application Performance: Monitoring, Tuning, Scaling, and Troubleshooting Rob Sioss, SAS Institute Inc., Cary, NC ABSTRACT SAS 9.4 introduces several new software products

More information

Java with Eclipse: Setup & Getting Started

Java with Eclipse: Setup & Getting Started Java with Eclipse: Setup & Getting Started Originals of slides and source code for examples: http://courses.coreservlets.com/course-materials/java.html Also see Java 8 tutorial: http://www.coreservlets.com/java-8-tutorial/

More information

Java SE 7 Programming

Java SE 7 Programming Oracle University Contact Us: 1.800.529.0165 Java SE 7 Programming Duration: 5 Days What you will learn This Java SE 7 Programming training explores the core Application Programming Interfaces (API) you'll

More information

Java SE 7 Programming

Java SE 7 Programming Oracle University Contact Us: Local: 1800 103 4775 Intl: +91 80 4108 4709 Java SE 7 Programming Duration: 5 Days What you will learn This Java Programming training covers the core Application Programming

More information

<Insert Picture Here> Java, the language for the future

<Insert Picture Here> Java, the language for the future 1 Java, the language for the future Adam Messinger Vice President of Development The following is intended to outline our general product direction. It is intended for information

More information

How to build secure Apache Tomcat deployments with RPM.

How to build secure Apache Tomcat deployments with RPM. How to build secure Apache Tomcat deployments with RPM. My security experiences really tie into everyday work. A colleague called me from my last gig and asked how to build a RedHat Package Manager (RPM)

More information

Dynamic Kernel Module Support. Matt Domsch, Software Architect Dell, Inc.

Dynamic Kernel Module Support. Matt Domsch, Software Architect Dell, Inc. Dynamic Kernel Module Support Matt Domsch, Software Architect Dell, Inc. Product Timelines v3 v4 v5 Which one(s) are your customers using today? Scheduled Updates / Service Pack 2 Driver Management Challenges

More information

Install guide for Websphere 7.0

Install guide for Websphere 7.0 DOCUMENTATION Install guide for Websphere 7.0 Jahia EE v6.6.1.0 Jahia s next-generation, open source CMS stems from a widely acknowledged vision of enterprise application convergence web, document, search,

More information

Supported Platforms HPE Vertica Analytic Database. Software Version: 7.2.x

Supported Platforms HPE Vertica Analytic Database. Software Version: 7.2.x HPE Vertica Analytic Database Software Version: 7.2.x Document Release Date: 2/4/2016 Legal Notices Warranty The only warranties for Hewlett Packard Enterprise products and services are set forth in the

More information

DIPLOMADO DE JAVA - OCA

DIPLOMADO DE JAVA - OCA DIPLOMADO DE JAVA - OCA TABLA DE CONTENIDO INTRODUCCION... 3 ESTRUCTURA DEL DIPLOMADO... 4 Nivel I:... 4 Fundamentals of the Java Programming Language Java SE 7... 4 Introducing the Java Technology...

More information

How to Build an RPM OVERVIEW UNDERSTANDING THE PROCESS OF BUILDING RPMS. Author: Chris Negus Editor: Allison Pranger 09/16/2011

How to Build an RPM OVERVIEW UNDERSTANDING THE PROCESS OF BUILDING RPMS. Author: Chris Negus Editor: Allison Pranger 09/16/2011 How to Build an RPM Author: Chris Negus Editor: Allison Pranger 09/16/2011 OVERVIEW You have created some software that you want to install on Red Hat Enterprise Linux systems. Now that it is done, the

More information

Open Source Software Project Management A Case Study Red Hat Enterprise Linux. Bob Johnson, Red Hat

Open Source Software Project Management A Case Study Red Hat Enterprise Linux. Bob Johnson, Red Hat Open Source Software Project Management A Case Study Red Hat Enterprise Linux Bob Johnson, Red Hat Goals for this talk Red Hat Enterprise Development Model From the community perspective Red Hat Process

More information

Of Penguins and Wildebeest. Anthony Rodgers VA7IRL

Of Penguins and Wildebeest. Anthony Rodgers VA7IRL Of Penguins and Wildebeest Anthony Rodgers VA7IRL The Penguin Linux was created by a Swedish-speaking Finn called Linus Torvalds Version 0.01 was released in September 1991 We are now on version 2.6 It

More information

LSC @ LDAPCON. 2011. Sébastien Bahloul

LSC @ LDAPCON. 2011. Sébastien Bahloul LSC @ LDAPCON. 2011 Sébastien Bahloul About me Developer and software architect 10 years experience in IAM Recently hired as product manager by a French security editor, Dictao, providing : personal and

More information

SSL for VM: The Hard Way and the Easy Way

SSL for VM: The Hard Way and the Easy Way SSL for VM: The Hard Way and the Easy Way David Boyes 2007 Agenda Overview of SSL and the VM Implementation Setup Steps for a DIY Version SSL Enabler, aka the Easy Way A Little Bit About Clients Q&A What

More information

Measurably reducing risk through collaboration, consensus & practical security management. 2015 CIS Security Benchmarks 1

Measurably reducing risk through collaboration, consensus & practical security management. 2015 CIS Security Benchmarks 1 Measurably reducing risk through collaboration, consensus & practical security management 2015 CIS Security Benchmarks 1 Background State of Idaho s Rights and Benefits as a CIS Security Benchmarks Member

More information

How To Run A Password Manager On A 32 Bit Computer (For 64 Bit) On A 64 Bit Computer With A Password Logger (For 32 Bit) (For Linux) ( For 64 Bit (Foramd64) (Amd64 (For Pc

How To Run A Password Manager On A 32 Bit Computer (For 64 Bit) On A 64 Bit Computer With A Password Logger (For 32 Bit) (For Linux) ( For 64 Bit (Foramd64) (Amd64 (For Pc SafeNet Authentication Client (Linux) Administrator s Guide Version 8.1 Revision A Copyright 2011, SafeNet, Inc. All rights reserved. All attempts have been made to make the information in this document

More information

Habanero Extreme Scale Software Research Project

Habanero Extreme Scale Software Research Project Habanero Extreme Scale Software Research Project Comp215: Evolution of Java Zoran Budimlić (Rice University) The Beginnings Sun Microsystems 1990 - Create a language for delivering programs on small electronic

More information

Zulu by Azul OpenJDK for Azure

Zulu by Azul OpenJDK for Azure Zulu by Azul OpenJDK for Azure surely a tongue-twister in any spoken language A presentation to Azure CEE Open Source in the Cloud November 27, 2013 Matt Schuetze, Director of Product Management Azul Systems

More information

Java Card Development Kit. 1 Table of Contents. 2 Introduction. Release Notes for Java Card 3 Platform, Classic Edition, Version 3.0.

Java Card Development Kit. 1 Table of Contents. 2 Introduction. Release Notes for Java Card 3 Platform, Classic Edition, Version 3.0. Java Card Development Kit Release Notes for Java Card 3 Platform, Classic Edition, Version 3.0.5u1 E62057-02 September 2015 1 Table of Contents Introduction System Requirements Installation New Features

More information

FileNet Business Activity Monitor (BAM) Release Notes

FileNet Business Activity Monitor (BAM) Release Notes FileNet Business Activity Monitor (BAM) Release Notes Release 3.6.0 September 2006 FileNet is a registered trademark of FileNet corporation. All other product and brand names are trademarks or registered

More information

TDA - Thread Dump Analyzer

TDA - Thread Dump Analyzer TDA - Thread Dump Analyzer TDA - Thread Dump Analyzer Published September, 2008 Copyright 2006-2008 Ingo Rockel Table of Contents 1.... 1 1.1. Request Thread Dumps... 2 1.2. Thread

More information

Fully Automated Static Analysis of Fedora Packages

Fully Automated Static Analysis of Fedora Packages Fully Automated Static Analysis of Fedora Packages Red Hat Kamil Dudka August 9th, 2014 Abstract There are static analysis tools (such as Clang or Cppcheck) that are able to find bugs in Fedora packages

More information

WEBLOGIC ADMINISTRATION

WEBLOGIC ADMINISTRATION WEBLOGIC ADMINISTRATION Session 1: Introduction Oracle Weblogic Server Components Java SDK and Java Enterprise Edition Application Servers & Web Servers Documentation Session 2: Installation System Configuration

More information

Apache 2.0 Installation Guide

Apache 2.0 Installation Guide Apache 2.0 Installation Guide Ryan Spangler spanglerrp22@uww.edu http://ceut.uww.edu May 2002 Department of Business Education/ Computer and Network Administration Copyright Ryan Spangler 2002 Table of

More information

Frysk The Systems Monitoring and Debugging Tool. Andrew Cagney

Frysk The Systems Monitoring and Debugging Tool. Andrew Cagney Frysk The Systems Monitoring and Debugging Tool Andrew Cagney Agenda Two Use Cases Motivation Comparison with Existing Free Technologies The Frysk Architecture and GUI Command Line Utilities Current Status

More information

TUT19344 Managing RH/CentOS with SUSE Manager

TUT19344 Managing RH/CentOS with SUSE Manager TUT19344 Managing RH/CentOS with SUSE Manager Don Vosburg Systems Engineer dvosburg@suse.com Gokhan Cetinkaya Systems Engineer gcetinkaya@suse.com Agenda SUSE Manager overview SUSE Manager and non-suse

More information

How To Use Java On An Ipa 2.2.2 (Jspa) With A Microsoft Powerbook (Jempa) With An Ipad 2.3.2 And A Microos 2.5 (Microos)

How To Use Java On An Ipa 2.2.2 (Jspa) With A Microsoft Powerbook (Jempa) With An Ipad 2.3.2 And A Microos 2.5 (Microos) Java Monitoring and Diagnostic Tooling Iris Baron IBM Java JIT on System Z ibaron@ca.ibm.com Session ID: 16182 Insert Custom Session QR if Desired. Java Road Map Java 7.0 Language Updates Java 6.0 SE 5.0

More information

User and Reference Manual

User and Reference Manual User and Reference Manual User & Reference Manual All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or mechanical, including photocopying,

More information

Java Garbage Collection Basics

Java Garbage Collection Basics Java Garbage Collection Basics Overview Purpose This tutorial covers the basics of how Garbage Collection works with the Hotspot JVM. Once you have learned how the garbage collector functions, learn how

More information

What s Cool in the SAP JVM (CON3243)

What s Cool in the SAP JVM (CON3243) What s Cool in the SAP JVM (CON3243) Volker Simonis, SAP SE September, 2014 Public Agenda SAP JVM Supportability SAP JVM Profiler SAP JVM Debugger 2014 SAP SE. All rights reserved. Public 2 SAP JVM SAP

More information

Content. Development Tools 2(63)

Content. Development Tools 2(63) Development Tools Content Project management and build, Maven Version control, Git Code coverage, JaCoCo Profiling, NetBeans Static Analyzer, NetBeans Continuous integration, Hudson Development Tools 2(63)

More information

Managing your Red Hat Enterprise Linux guests with RHN Satellite

Managing your Red Hat Enterprise Linux guests with RHN Satellite Managing your Red Hat Enterprise Linux guests with RHN Satellite Matthew Davis, Level 1 Production Support Manager, Red Hat Brad Hinson, Sr. Support Engineer Lead System z, Red Hat Mark Spencer, Sr. Solutions

More information

PTC System Monitor Solution Training

PTC System Monitor Solution Training PTC System Monitor Solution Training Patrick Kulenkamp June 2012 Agenda What is PTC System Monitor (PSM)? How does it work? Terminology PSM Configuration The PTC Integrity Implementation Drilling Down

More information

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

Copyright 2014, Oracle and/or its affiliates. All rights reserved. 1 Java Micro Edition (ME) 8: Bringing Java to the Internet of Things Robert Clark Senior Software Development Director Safe Harbor Statement The following is intended to outline our general product direction.

More information

2 2011 Oracle Corporation Proprietary and Confidential

2 2011 Oracle Corporation Proprietary and Confidential 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,

More information

Siebel Application Deployment Manager Guide. Siebel Innovation Pack 2013 Version 8.1/8.2 September 2013

Siebel Application Deployment Manager Guide. Siebel Innovation Pack 2013 Version 8.1/8.2 September 2013 Siebel Application Deployment Manager Guide Siebel Innovation Pack 2013 Version 8.1/8.2 September 2013 Copyright 2005, 2013 Oracle and/or its affiliates. All rights reserved. This software and related

More information

Massey University Follow Me Printer Setup for Linux systems

Massey University Follow Me Printer Setup for Linux systems Massey University Follow Me Printer Setup for Linux systems RedHat and Debian based systems Requirements You must have an active Massey network account, i.e. you should already be able to log onto the

More information

Demo: Controlling.NET Windows Forms from a Java Application. Version 7.3

Demo: Controlling.NET Windows Forms from a Java Application. Version 7.3 Demo: Controlling.NET Windows Forms from a Java Application Version 7.3 JNBridge, LLC www.jnbridge.com COPYRIGHT 2002 2015 JNBridge, LLC. All rights reserved. JNBridge is a registered trademark and JNBridgePro

More information

Example of Standard API

Example of Standard API 16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface

More information

Effective Java Programming. efficient software development

Effective Java Programming. efficient software development Effective Java Programming efficient software development Structure efficient software development what is efficiency? development process profiling during development what determines the performance of

More information

Functional Infrastructures

Functional Infrastructures Functional Infrastructures Toni Batchelli, @disclojure PalletOps Clojure/West 2013 Infrastructure Automation Write programs that will build and operate computing environments Increase repeatability and

More information

Java Monitoring. Stuff You Can Get For Free (And Stuff You Can t) Paul Jasek Sales Engineer

Java Monitoring. Stuff You Can Get For Free (And Stuff You Can t) Paul Jasek Sales Engineer Java Monitoring Stuff You Can Get For Free (And Stuff You Can t) Paul Jasek Sales Engineer A Bit About Me Current: Past: Pre-Sales Engineer (1997 present) WaveMaker Wily Persistence GemStone Application

More information

HYDRA: TOP-NOTCH CONTINUOUS INTEGRATION FOR DEMANDING PEOPLE

HYDRA: TOP-NOTCH CONTINUOUS INTEGRATION FOR DEMANDING PEOPLE HYDRA: TOP-NOTCH CONTINUOUS INTEGRATION FOR DEMANDING PEOPLE Ludovic Courtès Service d expérimentation & développement Inria Bordeaux Sud-Ouest 3 November 2011 introduction features practice closing L.

More information

TIBCO Runtime Agent Authentication API User s Guide. Software Release 5.8.0 November 2012

TIBCO Runtime Agent Authentication API User s Guide. Software Release 5.8.0 November 2012 TIBCO Runtime Agent Authentication API User s Guide Software Release 5.8.0 November 2012 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED

More information

Zulu Installation Guide. Zulu Release 8.9 August 25, 2015

Zulu Installation Guide. Zulu Release 8.9 August 25, 2015 Zulu Release 8.9 August 25, 2015 Azul Zulu is a Java Development Kit (JDK), and a compliant implementation of the Java Standard Edition (SE) specification that contains all the Java components needed to

More information

D5.4.4 Integrated SemaGrow Stack API components

D5.4.4 Integrated SemaGrow Stack API components ICT Seventh Framework Programme (ICT FP7) Grant Agreement No: 318497 Data Intensive Techniques to Boost the Real Time Performance of Global Agricultural Data Infrastructures Deliverable Form Project Reference

More information

Eclipse installation, configuration and operation

Eclipse installation, configuration and operation Eclipse installation, configuration and operation This document aims to walk through the procedures to setup eclipse on different platforms for java programming and to load in the course libraries for

More information

IceWarp to IceWarp Server Migration

IceWarp to IceWarp Server Migration IceWarp to IceWarp Server Migration Registered Trademarks iphone, ipad, Mac, OS X are trademarks of Apple Inc., registered in the U.S. and other countries. Microsoft, Windows, Outlook and Windows Phone

More information

Best Practices for Deploying and Managing Linux with Red Hat Network

Best Practices for Deploying and Managing Linux with Red Hat Network Best Practices for Deploying and Managing Linux with Red Hat Network Abstract This technical whitepaper provides a best practices overview for companies deploying and managing their open source environment

More information

Jonathan Worthington Scarborough Linux User Group

Jonathan Worthington Scarborough Linux User Group Jonathan Worthington Scarborough Linux User Group Introduction What does a Virtual Machine do? Hides away the details of the hardware platform and operating system. Defines a common set of instructions.

More information

Tool - 1: Health Center

Tool - 1: Health Center Tool - 1: Health Center Joseph Amrith Raj http://facebook.com/webspherelibrary 2 Tool - 1: Health Center Table of Contents WebSphere Application Server Troubleshooting... Error! Bookmark not defined. About

More information

EFFICIENCY CONSIDERATIONS BETWEEN COMMON WEB APPLICATIONS USING THE SOAP PROTOCOL

EFFICIENCY CONSIDERATIONS BETWEEN COMMON WEB APPLICATIONS USING THE SOAP PROTOCOL EFFICIENCY CONSIDERATIONS BETWEEN COMMON WEB APPLICATIONS USING THE SOAP PROTOCOL Roger Eggen, Sanjay Ahuja, Paul Elliott Computer and Information Sciences University of North Florida Jacksonville, FL

More information

OnCommand Performance Manager 1.1

OnCommand Performance Manager 1.1 OnCommand Performance Manager 1.1 Installation and Setup Guide For Red Hat Enterprise Linux NetApp, Inc. 495 East Java Drive Sunnyvale, CA 94089 U.S. Telephone: +1 (408) 822-6000 Fax: +1 (408) 822-4501

More information

SDK Code Examples Version 2.4.2

SDK Code Examples Version 2.4.2 Version 2.4.2 This edition of SDK Code Examples refers to version 2.4.2 of. This document created or updated on February 27, 2014. Please send your comments and suggestions to: Black Duck Software, Incorporated

More information

Developing Web Services with Eclipse and Open Source. Claire Rogers Developer Resources and Partner Enablement, HP February, 2004

Developing Web Services with Eclipse and Open Source. Claire Rogers Developer Resources and Partner Enablement, HP February, 2004 Developing Web Services with Eclipse and Open Source Claire Rogers Developer Resources and Partner Enablement, HP February, 2004 Introduction! Many companies investigating the use of web services! Cost

More information

FileMaker 11. ODBC and JDBC Guide

FileMaker 11. ODBC and JDBC Guide FileMaker 11 ODBC and JDBC Guide 2004 2010 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker, Inc. registered

More information

TZWorks Windows Event Log Viewer (evtx_view) Users Guide

TZWorks Windows Event Log Viewer (evtx_view) Users Guide TZWorks Windows Event Log Viewer (evtx_view) Users Guide Abstract evtx_view is a standalone, GUI tool used to extract and parse Event Logs and display their internals. The tool allows one to export all

More information

Best Practices for Java Projects Horst Rechner

Best Practices for Java Projects Horst Rechner Best Practices for Java Projects Horst Rechner Abstract: The combination of automated builds with module and integration tests and centralized bug and work tracking using a combination of Eclipse, Mylyn,

More information

Production time profiling On-Demand with Java Flight Recorder

Production time profiling On-Demand with Java Flight Recorder Production time profiling On-Demand with Java Flight Recorder Using Java Mission Control & Java Flight Recorder Klara Ward Principal Software Developer Java Platform Group, Oracle Copyright 2015, Oracle

More information

SUSE Manager. A Comprehensive Linux Server Management the Linux Way. Name. Title Email

SUSE Manager. A Comprehensive Linux Server Management the Linux Way. Name. Title Email SUSE Manager A Comprehensive Linux Server Management the Linux Way Name Title Email Agenda 2 Product Overview Features and Functionality Management Module Provisioning Module Monitoring Roadmap Pricing

More information

CS197U: A Hands on Introduction to Unix

CS197U: A Hands on Introduction to Unix CS197U: A Hands on Introduction to Unix Lecture 4: My First Linux System J.D. DeVaughn-Brown University of Massachusetts Amherst Department of Computer Science jddevaughn@cs.umass.edu 1 Reminders After

More information

System Structures. Services Interface Structure

System Structures. Services Interface Structure System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface

More information

Tutorial 5: Developing Java applications

Tutorial 5: Developing Java applications Tutorial 5: Developing Java applications p. 1 Tutorial 5: Developing Java applications Georgios Gousios gousiosg@aueb.gr Department of Management Science and Technology Athens University of Economics and

More information

What is this talk about?

What is this talk about? Building GNOME What is this talk about? Meta-build systems (jhbuild, rpm/dpkg, Yocto) Improving new GNOME developer experience Improving long-time GNOME developer experience Changing what we're building

More information

Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition

Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition Java 6 'th edition Concepts INTERNATIONAL STUDENT VERSION CONTENTS PREFACE vii SPECIAL FEATURES xxviii chapter i INTRODUCTION 1 1.1 What Is Programming? 2 J.2 The Anatomy of a Computer 3 1.3 Translating

More information

Development Environment and Tools for Java. Brian Hughes IBM

Development Environment and Tools for Java. Brian Hughes IBM Development Environment and Tools for Java Brian Hughes IBM 1 Acknowledgements and Disclaimers Availability. References in this presentation to IBM products, programs, or services do not imply that they

More information

Security Vulnerability Management. Mark J Cox

Security Vulnerability Management. Mark J Cox Security Vulnerability Management Mark J Cox Responsibility & Accountability Unique challenges Many vendors all ship the same thing The vulnerabilities are there. The fact that somebody in the middle of

More information

Installation and Release Bulletin Replication Server Messaging Edition 15.7.1 for Linux, Microsoft Windows, and UNIX

Installation and Release Bulletin Replication Server Messaging Edition 15.7.1 for Linux, Microsoft Windows, and UNIX Installation and Release Bulletin Replication Server Messaging Edition 15.7.1 for Linux, Microsoft Windows, and UNIX Document ID: DC01091-01-1571-01 Last revised: November 13, 2012 Topic Page 1. Accessing

More information

TIBCO Silver Fabric Continuity User s Guide

TIBCO Silver Fabric Continuity User s Guide TIBCO Silver Fabric Continuity User s Guide Software Release 1.0 November 2014 Two-Second Advantage Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED

More information

Innovative Program to Access VMware Tools

Innovative Program to Access VMware Tools TA18 Innovative Program to Access VMware Tools Jyothy Reddy Director, R&D VMware Inc. This session may contain product features that are currently under development. This session/overview of the new technology

More information

Efficiency Considerations of PERL and Python in Distributed Processing

Efficiency Considerations of PERL and Python in Distributed Processing Efficiency Considerations of PERL and Python in Distributed Processing Roger Eggen (presenter) Computer and Information Sciences University of North Florida Jacksonville, FL 32224 ree@unf.edu 904.620.1326

More information

Building graphic-rich and better performing native applications. Pro. Android C++ with the NDK. Onur Cinar

Building graphic-rich and better performing native applications. Pro. Android C++ with the NDK. Onur Cinar Building graphic-rich and better performing native applications Pro Android C++ with the NDK Onur Cinar For your convenience Apress has placed some of the front matter material after the index. Please

More information

Nipper Studio Beginner s Guide

Nipper Studio Beginner s Guide Nipper Studio Beginner s Guide Multiple Award Winning Security Software Version 2.1 Published March 2015 Titania Limited 2014. All Rights Reserved This document is intended to provide advice and assistance

More information

AES Crypt User Guide

AES Crypt User Guide AES Crypt User Guide Publication Date: 2013-12-26 Original Author: Gary C. Kessler (gck@garykessler.net) Revision History Date Contributor Changes 2012-01-17 Gary C. Kessler First version 2013-03-03 Doug

More information

Section 1.4. Java s Magic: Bytecode, Java Virtual Machine, JIT,

Section 1.4. Java s Magic: Bytecode, Java Virtual Machine, JIT, J A V A T U T O R I A L S : Section 1.4. Java s Magic: Bytecode, Java Virtual Machine, JIT, JRE and JDK This section clearly explains the Java s revolutionary features in the programming world. Java basic

More information

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS Java EE Components Java EE Vendor Specifications Containers Java EE Blueprint Services JDBC Data Sources Java Naming and Directory Interface Java Message

More information

Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner

Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner 1 vk» Java 7 Recipes (,\['«** - < g!p#«josh Juneau Carl Dea Freddy Guime John O'Conner Contents J Contents at a Glance About the Authors About the Technical Reviewers Acknowledgments Introduction iv xvi

More information

PostgreSQL Clustering with Red Hat Cluster Suite

PostgreSQL Clustering with Red Hat Cluster Suite PostgreSQL Clustering with Red Hat Cluster Suite Devrim GÜNDÜZ PostgreSQL Contributor Twitter: @DevrimGunduz Red Hat Certified Engineer Community: devrim@postgresql.org Personal: devrim@gunduz.org Before

More information

SIEMENS. Teamcenter 11.2. Windows Server Installation PLM00013 11.2

SIEMENS. Teamcenter 11.2. Windows Server Installation PLM00013 11.2 SIEMENS Teamcenter 11.2 Windows Server Installation PLM00013 11.2 Contents Part I: Getting started with Teamcenter server installation Requirements and overview.............................................

More information

Spectrum Technology Platform. Version 9.0. Spectrum Spatial Administration Guide

Spectrum Technology Platform. Version 9.0. Spectrum Spatial Administration Guide Spectrum Technology Platform Version 9.0 Spectrum Spatial Administration Guide Contents Chapter 1: Introduction...7 Welcome and Overview...8 Chapter 2: Configuring Your System...9 Changing the Default

More information

IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Internet Information Services Agent Version 6.3.1 Fix Pack 2.

IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Internet Information Services Agent Version 6.3.1 Fix Pack 2. IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Internet Information Services Agent Version 6.3.1 Fix Pack 2 Reference IBM Tivoli Composite Application Manager for Microsoft

More information

e ag u g an L g ter lvin v E ram Neal G g ro va P Ja

e ag u g an L g ter lvin v E ram Neal G g ro va P Ja Evolving the Java Programming Language Neal Gafter Overview The Challenge of Evolving a Language Design Principles Design Goals JDK7 and JDK8 Challenge: Evolving a Language What is it like trying to extend

More information

IBM SDK, Java Technology Edition Version 1. IBM JVM messages IBM

IBM SDK, Java Technology Edition Version 1. IBM JVM messages IBM IBM SDK, Java Technology Edition Version 1 IBM JVM messages IBM IBM SDK, Java Technology Edition Version 1 IBM JVM messages IBM Note Before you use this information and the product it supports, read the

More information

Profiling and Testing with Test and Performance Tools Platform (TPTP)

Profiling and Testing with Test and Performance Tools Platform (TPTP) Profiling and Testing with Test and Performance Tools Platform (TPTP) 2009 IBM Corporation and Intel Corporation; made available under the EPL v1.0 March, 2009 Speakers Eugene Chan IBM Canada ewchan@ca.ibm.com

More information

Private Public Partnership Project (PPP) Large-scale Integrated Project (IP)

Private Public Partnership Project (PPP) Large-scale Integrated Project (IP) Private Public Partnership Project (PPP) Large-scale Integrated Project (IP) D9.4.2: Application Testing and Deployment Support Tools Project acronym: FI-WARE Project full title: Future Internet Core Platform

More information

Beginning OpenVPN 2.0.9

Beginning OpenVPN 2.0.9 Beginning OpenVPN 2.0.9 Build and integrate Virtual Private Networks using OpenVPN Markus Feilner Norbert Graf PUBLISHING BIRMINGHAM - MUMBAI Preface 1 Chapter 1: VPN Virtual Private Network 7 Broadband

More information

System Requirements and Platform Support Guide

System Requirements and Platform Support Guide Foglight 5.6.7 System Requirements and Platform Support Guide 2013 Quest Software, Inc. ALL RIGHTS RESERVED. This guide contains proprietary information protected by copyright. The software described in

More information