Presentation is loading. Please wait.

Presentation is loading. Please wait.

Java tools Java programming ID1006 20 Sep 2010. javac – Java compiler Java source code files: *.java Java byte code files: *.class Java resource archives:

Similar presentations


Presentation on theme: "Java tools Java programming ID1006 20 Sep 2010. javac – Java compiler Java source code files: *.java Java byte code files: *.class Java resource archives:"— Presentation transcript:

1 Java tools Java programming ID1006 20 Sep 2010

2 javac – Java compiler Java source code files: *.java Java byte code files: *.class Java resource archives: *.jar javac compiles.java files into.class files Can be run interactively or from build tools

3 javac – The Java compiler.java javac.class java (JVM) Source code textCompilationByte codeExecution

4 javac – The Java compiler javac [options][sourcefiles][classes][@argfiles] i.e.: javac Parser.java -classpath or environment variable CLASSPATH

5 Classpath asg1/asg2/asg3/ / SET CLASSPATH=.;..\asg1;..\asg2;..\asg3 Token.class WordToken.class PunctToken.class TextMeter.class Parser.class LixTest.class LixMeter.class FleschTest.class FleschMeter.class SyllableCounter.class

6 javadoc Compiles documentation from Java source code.java javadoc.html.css... Web browser Source code textCompilationHTML pagesReading

7 javadoc Comments /**... */ before the documented item /** * Computes the square of an integer. * @param i The integer to square * @return The squared value of its argument */ public int square(int i) { return i*i; }

8 javadoc @param name desc – documents arguments @return desc – documents return value @throws exception desc – documents the conditions under which an exception is thrown

9 javadoc http://download.oracle.com/javase/6/docs/t echnotes/guides/javadoc/index.htmlhttp://download.oracle.com/javase/6/docs/t echnotes/guides/javadoc/index.html http://download.oracle.com/javase/6/docs/t echnotes/tools/windows/javadoc.html#java doctags

10 apt a nnotation p rocessing t ool Allows the adding of metadata to code Annotations do not alter the meaning of the code, but......libraries and other tools may alter their behaviour in response to annotations

11 apt /** * Describes the Request-For-Enhancement(RFE) that led * to the presence of the annotated API element. */ public @interface RequestForEnhancement { int id(); String synopsis(); String engineer() default "[unassigned]"; String date() default "[unimplemented]"; } This is an annotation type

12 apt /** * Describes the Request-For-Enhancement(RFE) that led * to the presence of the annotated API element. */ public @interface RequestForEnhancement { int id(); String synopsis(); String engineer() default "[unassigned]"; String date() default "[unimplemented]"; } @-sign

13 apt /** * Describes the Request-For-Enhancement(RFE) that led * to the presence of the annotated API element. */ public @interface RequestForEnhancement { int id(); String synopsis(); String engineer() default "[unassigned]"; String date() default "[unimplemented]"; } @-sign Default values

14 apt @RequestForEnhancement( id = 2868724, synopsis = "Enable time-travel", engineer = "Mr. Peabody", date = "4/1/3007" ) public static void travelThroughTime(Date destination) {... }

15 apt @RequestForEnhancement( id = 2868724, synopsis = "Enable time-travel", engineer = "Mr. Peabody", date = "4/1/3007" ) public static void travelThroughTime(Date destination) {... } The annotation preceeds the annotated method

16 apt @RequestForEnhancement( id = 2868724, synopsis = "Enable time-travel", engineer = "Mr. Peabody", date = "4/1/3007" ) public static void travelThroughTime(Date destination) {... } The annotation preceeds the annotated method Ordinary Java method

17 apt Annotations can be used to control –Automated software testing –Documentation tools –Automated software configuration –and more...

18 apt http://download.oracle.com/javase/6/docs/techno tes/guides/language/annotations.html

19 jar Java archive Stores class files, images, sounds etc in a single file Supports compression Used to package libraries and applications Fetch-and-run over the Internet

20 jar Create an archive: jar cf jarfile inputfile... jar cf Foo.jar *.class *.jpg CreateNext argument is the file name of the archive Files to be copied into the archive

21 jar Create an archive: jar cf jarfile inputfile... jar cf Foo.jar *.class *.jpg Unpack an archive: jar xf jarfile jar xf Foo.jar

22 jar Create an archive: jar cf jarfile inputfile... jar cf Foo.jar *.class *.jpg Unpack an archive: jar xf jarfile jar xf Foo.jar Run from an archive*: java –jar jarfile java –jar Foo.jar * Requires jar manifest meta-data: main class and classpath

23 jar http://download.oracle.com/javase/6/docs/t echnotes/guides/jar/index.html http://download.oracle.com/javase/6/docs/t echnotes/tools/windows/jar.html

24 javap Java disassembler Shows class fields and methods javap [ options ] classname -public|-protected|-private|-package -s show internal signatures -c show byte code

25 javap http://download.oracle.com/javase/6/docs/t echnotes/tools/windows/javap.html

26 RMI Remote Method Invocation One JVM calls methods on a remote JVM Client and service

27 Remote Method Invocation Jvm AJvm B


Download ppt "Java tools Java programming ID1006 20 Sep 2010. javac – Java compiler Java source code files: *.java Java byte code files: *.class Java resource archives:"

Similar presentations


Ads by Google