This is my first Wiki attempt. My idea is to collect JavaLanguage tips and tricks while I am learning how to program in Java. I have used student-websites before as a personal memo-technique, and of course for exchanging ideas with fellow students. However, working with Frontpage is quite laborious, so I have decided to test the WikiWikiWeb. I will try to produce short and concise articles about Java issues. Feel free to comment or make changes. -- HenrikThomsen ---- '''Just starting''' * LearningJava * JavaHelloWorld - Build and run a "Hello world!" program in Java * JavaVisibility - About the visibility of class members (public, private, etc.). ---- '''Java basics''' * JavaIdioms - A large collection of Java patterns and solutions * JavaArrays - Arrays and strings in Java * JavaMethods - About passing arguments to methods in Java, which is very different from C++ * JavaInterface - This language construction does not exist in C++, in return we have to do without multiple inheritance * Java InnerClass''''''es - Class declarations are very flexible in Java. Smart, once you get the hang of it * JavaUnit - For building automated tests, instead of demos. * JavaDoc - About the JavaDoc tool for generating documentation from inline code comments * JavaExceptionHandling - Overview of Java techniques for robust error handling * JavaCollections - Java collection classes, that is abstract data structures such as Array, Stack, List, Set, etc. * JavaMultithreading - Concurrency is well supported in Java, but as always with multithreading you need to know exactly what you are doing * JavaIo - File handling and input/output streams in Java * JavaNio - Non-blocking IO for Java since 1.4 (some documents, from Sun and others, suggest it stands for New IO) * JavaSecurity - Security and access rights * FasterJava - Tips and techniques for performance measurement and tuning * JavaNativeInterface - How to call native non-Java programs from Java programs using JNI * JavaInternationalisation - Multi-language support in Java ---- '''Java GUI''' * JavaAwtToolkit - Demonstrates a few JavaPatterns * JavaAwtComponents - Overview of graphical components in Java AWT. Simple examples of a GUI application and an Applet * JavaSwing - The successor of JavaAwtToolkit * JavaEventHandling - Managing graphical components (buttons, text fields, etc.) and handling events from these components is smart in Java compared to MS Windows API * DebuggingApplets - Demonstrates how to show debugging information from an Applet * JavaLayoutManagement - GUI design in Java is a piece of cake once you get the hang of it. In fact it seems so easy that GUI design tools and wizards may be unnecessary!? ---- '''Distributed Systems''' * JavaSockets - A two way communication protocol which allows two Java programs (that may run on different machines) to communicate * JavaDataBaseConnectivity (JDBC) * JavaNamingAndDirectoryInterface * JavaRemoteMethodInvocation * JavaServlets - Building web services in java * JavaServerPages - Launching inline Java code from a HTML page * JavaXml - Introduction to the XML standard and description of the SAX XML parser * EnterpriseJavaBeans - Description of Enterprise Java Beans for distributed, component-based systems. This issue will probably be subdivided into: * EjbArchitecture: RMI (Remote Method Invocation), IIOP, CORBA, J2EE (Java 2 Enterprise Edition) standard * EjbHierarchy: Entity Beans (Component Managed Persistence / Bean Managed Persistence ), Session Beans (Stateful / Stateless ) * EjbInterfaces : Bean class: business logic, Remote interface: called by the client, Home interface: manages bean life cycle; create(), find(), remove(), Key class: entity beans only, contains primary key * EjbExecutionEnvironments - Description of different EJB execution environments; EJB container: EJBs, Web container: Servlets og Java Server Pages (JSP), Application-client container: J2SE ???, Applet container: web browser * EjbAlternatives - When and where should EJBs be used? * EjbTools - Tips on tools for generating beans from a database schema and vice versa ---- '''Other useful Java links''' * JavaLinks * JavaIde * JavaRmi * http://java.sun.com/ - Sun's Java site * http://www.dina.kvl.dk/~sestoft/javaprecisely/ - Java handbook giving a compact description of the language * http://www.javabog.dk/ - Danish textbook on Java and Object-Oriented programming * http://www.ergnosis.com/java-spec-report/ - The unofficial Java Spec report. Errors and shortcomings in Suns specification of Java, JVM og APIs * http://sunsite.dk/DJUK/ - the Danish Java Developer Club (DJUK) * http://www.javaeksperten.dk/ - Forum for java developers in Denmark * http://home.worldonline.dk/~qjava/ - Quick Java Certification ---- CategoryJava