beautypg.com

Technical sessions | track two | java se – Google 2007 JavaOne Advance Conference Guide User Manual

Page 22

background image

20

|

| technical sessions | track two : java SE

| java.sun.com/javaone

* Content subject to change.

TECHNICAL SESSIoNS

| TRACK TWO | JAVA SE

Java SE

Anyone with a working knowledge of the Java programming language
will be able to understand the issues and defects this session discusses,
but even the most seasoned veterans will find the information both
interesting and dismaying.

Also briefly discussed are the status of JSR 305, Annotations for Software
Defect Detection, and other static analysis tools such as Jackpot, PMD, and
the static analysis built into Eclipse and IntelliJ.

TS-2023 What’s Hot in IBM’s virtual Machine for the Java

Platform?—2007 Edition

Trent Gray-Donald, IBM

IBM has provided a Virtual Machine for the Java platform (JVM) for
multiple platforms since the very early days of Java technology. The
offering has matured significantly over the years, and this session aims
to update the audience on the 2006–2007 progress IBM has made,
notably with Java Platform, Standard Edition (Java SE) 6 and Sun Java
Real-Time System. The presentation is technical in nature, discussing
some of our key new technologies and some of the changes in our
development methodology as we embrace new versions of the Java
programming language.

TS-2171 What’s Hot in BEA Jrockit

Staffan Larsen, BEA Systems, Inc.

This session is a continuation of last year’s session of the same name. This
year it digs deeper into the technical details of BEA JRockit, uncovering
some of the specific optimizations done by the compiler and the secrets
behind the deterministic garbage collector. It also takes a look at what
diagnostics and monitoring tools are available to developers and how to
use them to solve problems in a deployment environment.

JRockit is one of a few top Java Virtual Machine (JVM) platforms for
enterprise-wide usage. It is available on the Solaris Operating System,
Windows, and Linux (SPARC®/x86/x86-64/Itanium).

TS-2220 Testing Concurrent Software

Brian Goetz, Sun Microsystems, Inc.
William Pugh, Univ. of Maryland

Testing concurrent software is hard. Even simple tests require invoking
methods from multiple threads and worrying about issues such as
timeouts and deadlock. Unlike in sequential programs, many failures are
rare, probabilistic events and numerous factors can mask potential errors.

This presentation describes some of the basic challenges in testing
concurrent software, describes how frameworks such as TestNG can be
used to perform multithreaded tests, and examines some new open
source testing frameworks that make it ever easier to create and control
the threads needed to test concurrent software and reliably find faults
through testing that would normally occur only sporadically through rare
thread interleavings. It also discusses how to think about and design unit
tests for concurrent software.

It also briefly looks at measuring the performance and scalability of
concurrent software. Performance measurement in Java technology is
already a difficult problem, and concurrency only makes this harder. The
session covers the approaches used by the JSR 166 expert group to test

the java.util.concurrent classes, the range of environments in which
these tests were run, and ways in which the test results conditioned the
development of the code.

Attendees should be familiar with unit testing on the Java platform and
with Java technology-based concurrency but need not be familiar with
testing concurrent software.

TS-2294 Closures for the Java Programming Language

Neal Gafter, Google

This session describes Closures, a language extension proposed for
the JDK 7 release.

TS-2318 JSr 277: Java Module System

Michal Cierniak, Google
Stanley Ho, Sun Microsystems, Inc.

The JSR 277 (Java Module System) specification seeks to address many
issues associated with Java Archive (JAR) files, including the lack of version
control, the difficulties in distributing multiple JAR files for deployment,
the classpath hell, the JAR file hell, and the extension hell that have
been well known to many developers on the Java platform for years.
The specification defines an architecture with first-class modularity,
packaging, and deployment support in the Java platform, including a
distribution format, a versioning scheme, a repository infrastructure, and
runtime support.

TS-2383 Java Platform, Standard Edition (Java SE):

Present and Future

Danny Coward, Sun Microsystems, Inc.

This session presents a comprehensive overview of Java Platform, Standard
Edition (Java SE), where it is today, and where it is headed tomorrow.

TS-2388 Effective Concurrency for the Java Platform

Brian Goetz, Sun Microsystems, Inc.

The Java programming language has turned a generation of application
programmers into concurrent programmers through its direct support of
multithreading. However, the concurrency primitives provided by the Java
programming language are just that: primitive. With them you can build
whatever concurrency constructs you need, but doing so takes great care,
because concurrent programming poses many traps for the unwary.

Based on the principles in the best-selling Java Concurrency in Practice
and structured with the “bite-size item” style of Effective Java, this
talk focuses on design techniques that will help you create correct and
maintainable concurrent code.

TS-2401 Java Language Modularity with Superpackages

Alex Buckley, Sun Microsystems, Inc.
Andreas Sterbenz, Sun Microsystems, Inc.

JSR 294, Improved Modularity Support in the Java Programming Language,
deals with information hiding for “programming in the large.” Structuring
a large program with packages usually means exposing too many
implementation details to the whole world. The “superpackage”

construct defined in JSR 294 introduces a level of access control wider than
a package but narrower than public, so that implementation details can
be better encapsulated. This session discusses how superpackages affect
access control at compile time and runtime, how they are represented,
how they enable separate compilation, and how they interact with JSR 277
versioning and deployment.

>>

Te

ch

n

ic

al

S

es

si

o

n

s

:

Tr

ac

k

2

|

Ja

va

S

E

n

n

n

n

n

n

n

n

n