|
Next Meeting: Sat, TBD
Meeting Directions
|
Navigation:
20 Most Recent Documents
Search Archives
Index by date,
title,
author,
category.
|
|
Features:
Mr. Know-It-All
Ink
Download!
|
|
|
|
|
|
|
SCOUG:
Home
Email Lists
SIGs (Internet, General Interest, Programming, Network, more..)
Online Chats
Business
Past Presentations
Credits
Submissions
Contact SCOUG
Copyright SCOUG
|
|
Pictures from Sept. 1999
|
|
The views expressed in articles on this site are those of their authors.
|
SCOUG was there!
|
|
Copyright 1998-2024, Southern California OS/2 User Group.
ALL RIGHTS RESERVED.
SCOUG, Warp Expo West, and Warpfest are trademarks of the
Southern California OS/2 User Group.
OS/2, Workplace Shell, and IBM are registered trademarks of
International Business Machines Corporation.
All other trademarks remain the property of their respective owners.
The Southern California OS/2 User Group
USA
|
|
|
Java in the Real World
Ron Lamb, Cisco Systems and SCOUG Member
|
|
- Agenda
- Case Studies
Access control Server
Resource Pool Management Server
- Performance related lessons
- Java's Hotspot technology
- JavaOne impressions
- New Java avenues
- Case Study
- Three tiered AAA security server
- AAA Server (C based)
- DBServer (Java based)
- GUI client (Java/Html based)
- Case Study
- Started on JDK 1.02 currently released on JDK 1.1.8.
- Uses Applet, Servlet, and Application technology.
- ACME web server used for Servlets
- Heavily Multi-threaded. (Thread pool)
- Runs on Solaris 2.5 and 2.6
- Currently about 600+ installations
- Case Study
- GUI Lessons
- 3MB Java applets bad idea
- Understand the platform before deploying on it.
- AWT sucks.
- Case Study
- Browser incompatibilities big problem
- Can't use "Netscape 4.5 or above"
- Consider download times.
- Design to minimize long download time.
- Case Study
- Tools now exist to help
- Able to achieve excellent reliability using Java
- Language is simple. No C++ clutter
- Case Study
- No Pointers
- No Memory leaks relating to forgotten frees
- Achieved Productivity gains
- Completed Project < 6 months
- Case Study
- Make sure that the technology used meets marketing demands.
- If not, expect backlash
- Case Study
- Not well suited for command line applications(CLI).
- Wrapped CLI with shell scripts.
- No single character read (C/R Required)
- C/R required before able to read input
- CLI commands are good candidates for native compilers
- Case Study
- Transaction Server (Java)
- Command Line Interface (Java)
- Middleware(Java)
- GUI client (Html/Java Servlets based)
- Case Study
- Development on Solaris 2.6/Win95
- VisualCafe IDE used Win95
- OptimizeIt 3.0 for profiling
- Case Study
- Used RMI for process communication
- ACME web server for Servlets
- Client GUI HTML based served up using Servlets
- Case Study
- JNI Interface to Counter subsystem
- Moved from 1.1.7 to 1.2 late in development cycle
- Lessons learned
- Know how your third party library works.
- Profiling does pay dividends
- Using lowest common denominator is not always the best way.
- Performance Lessons
- Profile, Profile, Profile
- General Performance tips
- Profile, Profile, Profile
- Java based profilers
- JDK based
- OptimizeIt (Linux/Solaris/Windows)
- Jprobe (Solaris/Windows)
- NuMega (Windows/Only)
- Profile, Profile, Profile
- Memory leaks(Yes you can have them in Java)
- Method hogs (Hot spots)
- Excessive Object Creation
- Profile, Profile, Profile
- Get a feeling of how programs run
- Profile different algorithms
- General Performance tips
- Creating threads are expensive
- Thread Pools are good idea
- If thread is short lived, think of other ways to get the job done.
- General Performance tips
- Use buffers when possible
- I/O does have some performance issues
- General Performance tips
- JAR files to minimize requests
- Class loading management
- Obfuscators & size reduction tools
- Install on client system if possible
- General Performance tips
- String manipulation is expensive
- Object Creation is expensive
- Use Object Factories
- Singleton objects where possible
- Casting is expensive
- Use Custom container classes
- General Performance tips
- Bad
String temp = new String("Counting ");
for (i=0; i < 1000; i++)
temp = temp + i + " ...";
System.out.println(temp.toString());
- General Performance tips
- Better
String temp = new String("Counting");
for (i=0; i < 100; i++) {
String iString = Integer.toString(i); temp.concat (iString).concat(" ...");
}
System.out.println(temp);
- General Performance tips
- Best
StringBuffer tempBuff = new StringBuffer("Counting ");
for (i=0; i < 100; i++) {
tempBuff.append(i).append(" ...");
}
System.out.println(tempBuff.toString());
- String Performance
- General Performance tips
- Excessive Object Creation
temp = temp + i + " ...";
- Java's Hotspot
- Java Hotspot Technology
- Suns latest VM Technology
- Designed for server based technology
- Does not improve GUI performance
- Adaptive compilation technology
- Java Hotspot Technology
- What have I learned using Java?
- Java Conclusions
- Java is platform independent (Mostly)
- Java is a productive language
- Java does have some performance issues.
- Can produce highly reliable code.
- Java has come a long way in a very short time
- JavaOne
- Biggest developer's conference
- 21,000 developers
- International flavor
- Large ISV turnout
- Java love feast
- JavaOne
- kJava
- JINI (Plug and Work)
- Possible Language changes
- Enumeration
- Paramertized types
- Operation overloading
- JavaOne
- kJava Technology Demos
- Palm OS running a Java VM
- Motorola SkyPager Running Java
- Interactive TV Demos
- JINI
- Laser Tank Demo
- JavaOne
- IBM's VM port to Linux
- VisualAge for Linux
- Java Card Demo
- Java Car
- JavaOne
- Embedded Java
- All the ISV activity
- Lots of Goodies
- tshirts, pens, 8 in one tool, Magic 8 ball etc.
- JavaOne
- Lines, Lines, and more Lines
- Conference Mascots
- Lack of a JDK port commitment for Linux from Sun
- JavaOne
- Java has not been slowed by MS
- Lots of opportunities
- Java is expanding
- Performance is improving
- New Java avenues
- Java New Technologies
- JINI
- Plug and Work
- Micro Java (kJava)
- JavaTV
- JavaPhone
- Hot Java Links
- Java Grande
- http://www.javagrande.org
- Java One
- http://java.sun.com/javaone
- Alpha Works (IBM)
- http://www.alphaworks.ibm.com/
- JavaSoft
- http://java.sun.com
- JavaWorld
- http://www.javaworld.com
- Java Lobby
- http://www.javalobby.org/
- IBM Java
- http://www.ibm.com/developer/java/
- Gamelan
- http://www.gamelan.com/
- How to contact me
- Cisco
- rlamb@cisco.com
- Home
- ralamb@earthlink.net
|
|
|