Java Pros and Cons - Roundtable - PowerPoint PPT Presentation

About This Presentation
Title:

Java Pros and Cons - Roundtable

Description:

U. S. DEPARTMENT OF ENERGY. Java Pros and Cons Roundtable. American Nuclear Society ... U. S. DEPARTMENT OF ENERGY. Inheritance (1/2) public class ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 22
Provided by: ornl
Learn more at: https://web.ornl.gov
Category:
Tags: cons | java | pros | roundtable | us

less

Transcript and Presenter's Notes

Title: Java Pros and Cons - Roundtable


1
Java Pros and Cons - Roundtable
  • American Nuclear Society
  • Annual Meeting
  • June 16, 2004 Pittsburgh, PA

2
Java an Object-Oriented Programming
Language
  • Based on objects data and methods together
  • Four Concepts
  • Abstraction describes physical world
  • Encapsulation data and methods together
  • Inheritance - just like something else but ...
  • Polymorphism method overloading

3
Abstraction / Encapsulation
public class Particle Position position
Direction direction double energy
public Particle() position new
Position(0, 0, 0) direction new
Position(1, 0, 0) energy 1.0
public void move(double distance)
position.move(direction, distance)
public void scat(double t, double p)
...
public class Position double x, y, z
public Position(double a, double b,
double c) x
a y b z c
public void move(Direction d, double dis)
x x d.udis y y d.vdis
z z d.wdis public double
howFarTo(Position p) double answer
(p.x-x)(p.x-x)
(p.y-y)(p.y-y)
(p.z-z)(p.z-z) answer Math.sqrt(
answer ) return answer
4
Inheritance (1/2)
public class ChargedParticle extends Particle
double restMass int charge
// Physical Constants static double
ELEMCHARGE 1.60217733e-19 // Coulombs
static double RESTMASSKG 9.1093897e-31 //
kg static double RESTMASS 0.511
// MeV static double ERADIUS
2.81792e-15 // meter public
ChargedParticle() super()
restMass ChargedParticle.RESTMASS
charge -1 public double
getSpeed() double speed ...
(energy-restMass) ... return speed

5
Inheritance (2/2)
public class Photon extends Particle //
Physical Constants static double speedOfLight
299792458.0 // m/s static double
planckConstant 6.6260755e-34 // Joule
seconds public Photon() super()
public Particle comptonScatter()
Particle answer new Particle2
// photoelectron answer0 new
ChargedParticle(...) // scattered
photon answer1 new Photon(...)
return answer
6
Polymorphism
public class Particle Position position
Direction direction double energy
public Particle() position new
Position(0, 0, 0) direction new
Position(1, 0, 0) energy 1.0
public Particle(Position p, Direction d,
double e) position p
direction d energy e
public Particle(Particle p) position
p.position direction p.direction
energy p.energy
7
Java Pros
  • Free, freely distributable
  • Portable Write once, run anywhere
  • Internet savvy
  • Extensive libraries database, GUI, networking,
    etc.
  • Language strongly typed, array indices are
    checked, automatic garbage collection, Threads,
    Exceptions
  • .jar files Java archive, runnable

8
Java Cons
  • Interpreted

9
(No Transcript)
10
(No Transcript)
11
(No Transcript)
12
(No Transcript)
13
(No Transcript)
14
(No Transcript)
15
(No Transcript)
16
(No Transcript)
17
(No Transcript)
18
Java 1.5 Tiger
  • Generics - no casting, errors at compile time,
    not runtime
  • Enhanced for Loop
  • Autoboxing/Unboxing - collections of primitive
    data types
  • Formatted Output - more like C or FORTRAN
  • New JVM Profiling API
  • Improved Diagnostic Ability - getStackTrace,
    Thread.getAllStackTraces

private void printCollection(Collection c)
IteratorltStringgt i c.iterator()
while(i.hasNext()) String item
i.next() System.out.println("Item
"item)
public void newFor(CollectionltStringgt c)
for(String str c) System.out.println(s
tr)
System.out.printf("s 3d", name, age)
19
Sun Microsystems, Inc.Binary Code License
Agreementfor theJAVATM 2 SOFTWARE DEVELOPMENT
KIT (J2SDK), STANDARD EDITION, VERSION 1.4.2_X
  • 3. RESTRICTIONS. ... You acknowledge that
    Licensed Software is not designed or intended for
    use in the design, construction, operation or
    maintenance of any nuclear facility. ...

20
Sun Microsystems, Inc.Binary Code License
Agreementfor theJAVATM 2 SOFTWARE DEVELOPMENT
KIT (J2SDK), STANDARD EDITION, VERSION 1.4.2_X
  • 3. RESTRICTIONS. ... You acknowledge that
    Licensed Software is not designed or intended for
    use in the design, construction, operation or
    maintenance of any nuclear facility. ...

21
Any Questions?
Write a Comment
User Comments (0)
About PowerShow.com