Java

Java

Java

Java

-
- Tech and Technology
Java - Latest Java Information. Java in Server, Desktops, Tablets, Mobile Phones. Java News.
What is Java ? What is Java ?
Java Tools Software Tools - Programing and Tools
Java SDK Versions Java SDK Development
Applets and Classes - Development. What is a class? What is an Object? What is an Applet?
Java Links Resources - Sites and Links with Information
Java Security
Latest Java Information. How to run and install Java in Servers, Desktops, Tablets, Mobile Phones and another devices.
Java SUN
- What is Java?
Java is a Cross Platform and Object Programming Language created by Sun Microsystems.
Java is owned by ORACLE. !
How does java work? Write Once, Run Anywhere.
Java technology is an object-oriented, platform-independent, multithreaded programming environment. It is the foundation for many Web and networked services, applications, platform-independent desktops, robotics, and other embedded devices.
  • Three main technology values of Java include:
  • A Richer User Experience - Whether you're using a Java technology-powered mobile phone to play a game or to access your company's network, the Java platform provides the foundation for true mobility. The unique blend of mobility and security in Java technology makes it the ideal development and deployment vehicle for mobile and wireless solutions. -
  • The Ideal Execution Environment for Web Services - The Java and XML languages are the two most extensible and widely accepted computing languages, providing maximum reach to everyone, everywhere, every time, to every device and platform. -
  • Enabling Business from End to End - Java technology offers a single, unifying programming model that can connect all elements of a business infrastructure.
  • Java Technologies from Sun Microsystems. Now ORACLE.
    Java Web Services
    Java and Related Technologies
    JGuru
    JavaSoft
    Sun Java JSP & XML
    Java Free Course
    Java Boutique
    Code Project
    DevX
    Developer.com
    Java Programming Resources and Online Training Courses
    Java Tutorial from Sun
    servlets and JSP Training
    Core JSP
    Core Web Programming
    Core Servlets
    More Servlets Servlet/JSP
    Java Training Courses - Java Books. Java FAQs and Tutorials - Java Documentation - Java Programming Courses - Downloading Compilers and Browsers - Development Environments (IDEs) ; Editors
    Core Servlets and ; JSP Code Archive
    Core Web Programming Code Archive
    Java Resources at Sun - Examples - Free Java Tools - Other Java Programming Pages
    JSP and Servlets - Applet and Class Library Collections - Java Security
    HTML and JavaScript
    Java J2EE Enterprise Applications with Servlets and JavaBeans.
    Java J2SE Applets are for Desktop or Device use. J2ME Midlets are used for Mobile Games and runs in all java phones
    Java General Information and Updated References

    Java Applets

    Java Applets and Classes -
    General Java Class Library and Applet
    Collections
    Source code archive for Core Web Programming - Java classes and HTML/JavaScript documents presented in the book.
    Developer.com's Java index, the mega applet collection. Formerly called "Gamelan".
    JARS - Java Applet Rating Service. Collection of applets judged "Top X%" (for various X).
    The J Files - Java Centre's applet collection.
    Acme Java Software. Applets and class libraries from Jef Poskanzer. Includes a printf-like formatting library.
    Cup O' Joe. Applets, applications, and class libraries. -->
    Java Class Warehouse. Class library collection from James Tauber.
    SGI's applet collection. Digital Cats' Java Collection. Available in English or Japanese .
    Yahoo's applet collection.
    Applets from German Java Repository.
    The Java Boutique. From Jason Gurney and MecklerMedia.
    Jerry's Java Page. From Jerry Haygood.
    Lava Rocks; printf, DES, and other utilities.
  • Graphics Applets and Class Libraries
  • Developer.com's collection of Java charting and graphing classes.
    Mica, a free 2D graphics library for Java.
    Perspective for Java. Charting/graphing tools from 3D Graphics Co.
    JavaChart, another free chart/graph package. From Visual Engineering.
    Jim Buzbee's Hershey Font class. -
    Java Games
    Games at Developer.com (Gamelan).
    Games from the JavaBoutique.
    "Rated" games from the Java Applet Rating Service.
    Cool Applets and Games. From Mark Boynes. -
    Java Programming Resources at Sun
    This is in addition to the API (1.0, 1.1, and 1.2), compiler/browser (JDK/HotJava) and development environment (Java Workshop) available from the Java documentation, downloading, and IDE sections, respectively. Sun's main Java website. Available in HTML version or Java version .
    Sun's Java FAQ's. Collection of Frequently Asked Questions on various Java-related topics.
    JavaSoft's top-level documentation page.
    Index of Sun's Java-related products and API's.
    The JavaOne Conferences.
    Java Solutions Guide. Index to 3rd-party commercial Java applications.
    Java application success stories.
    The Java Community Process. How to be involved in the Java specification development.
    Sun vs. Microsoft Java lawsuit. Information from Sun about the lawsuit against Microsoft over Java compatibility. For more objective coverage, see Yahoo's coverage of the lawsuit or search online news sources for recent articles about the lawsuit .
    Articles about the AOL/Netscape/Sun deal.
    Sun's Java training courses (US). (If Sun's courses seem a bit steep, or you want something on-site, or prefer an instructor with more hands-on Java development experience, also see these courses .) -
    Java Foundation Classes (Swing).
    JDBC.
    JavaBeans.
    Java Servlets.
    Java WebServer.
    Enterprise JavaBeans.
    Java IDL.
    Java 3D.
    JavaSpaces.
    Java Blend database integration package.
    Sun's HTML Display Component.
    Free Java Programming Tools
    JGL, the Java Generic Library. Data structures and algorithms for Java: stacks, queues, sorting, searching, sets, etc. Licensed by Microsoft and Borland, but can be downloaded and used for free.
    Jikes Debugger. A graphical debugger for Java from IBM. Performance Profilers
    ProfileViewer. From Greg White.
    HyperProf.
    Jinsight. Windows 95/NT runtime profiler from IBM.
    Optimize It! Commercial profiler for Windows 95/NT and Solaris. -
    Components from ORO Inc. Regular expressions; packages for FTP, NNTP, SMTP, etc; AWK-like tools; etc.
    WebMacro Servlet Toolkit. From Justin Wells et al. -
    Decompilers. These turn .class files into usually-readable source.
    Mocha. The original From H.P. van Vliet. (Note: there is also Jasmine, a for-fee update to mocha that has a free trial version.)
    JAD. The fast JAva Decompiler. -
    Java DDE Toolkit. Allows applications or applets (with pre-installed code on the client and CLASSPATH set) to communicate with Windows applications via the Dynamic Data Exchance protocol. Windows 95/NT only.
    Georgia Tech's "Sub Arctic" UI Toolkit for Java. By Scott Hudson and Ian Smith.
    TclJava. A free Tcl/Java integration toolkit. Applications only.
    A free Java-to-C compiler. From Yukio Andoh.
    A public domain C++ to Java translator. From Chris Laffra.
    Java Class Viewer. View the fields and methods of a class file. From Robert Raud.
    JSP and Servlet Programming Resources. Servlet and JSP documentation, specifications, Web hosting providers, books, training courses, servers, IDEs, etc.
    Search online news sources for recent Java articles. Searches Internet week, InfoWorld, PC Week, CNET, etc. You can also focus your search on
    the Sun vs. Microsoft Java lawsuit .
    Sun's Java Developer Connection
    The Java Boutique. From internet.com.
    Inside Java.
    Team Java. Or jump directly to their Java Links.
    UK's Java Centre.
    Java Repository.
    JavaWorld Magazine's online version. Also see Chuck McManis' Java Resource page, which includes all of the source code from his Java in Depth column in JavaWorld. Digital Cats' Java Resource Center. Available in English or Japanese . -
    The Java Performance Report.
    Yahoo's Java Programming section.
    Mozilla.org's Java Programming section.
    Mid-Atlantic Java User's Group.
    Harbor Java User's Group (Baltimore)
    Unofficial Java Spec Report. Confirmed errors and API issues, many of which are not on JavaSoft's lists. JSR
    Magelang Institute, a JavaSoft-authorized training organization.
    JavaNumerics, a resource on numerical programming in Java. Includes benchmarks, performance info, papers, etc.
    Java site from codecollection

    Java Links


    Java Links - and Tools for Websites , programmers and webmasters
    JGuru
    JavaSoft
    Developer Java Sun - JSP & XML
    Java Free Course
    Java Boutique
    Code Project
    DevX
    Developer.com
    Java Recursos en linea y Tutoriales
    Java Tutorial from Sun
    servlets and JSP Training
    general Java Training Courses
    Servlet/JSP Books:
    Core Web Programming
    Core Servlets
    More Servlets
    Java Books
    Java FAQs and Tutorials
    Java Documentation
    Java Programming Courses
    Downloading Compilers and Browsers
    Development Environments (IDEs) ; Editors
    Core Servlets and ; JSP Code Archive
    Core Web Programming Code Archive
    Java Resources at Sun
    Examples
    Free Java Tools
    Other Java Programming Pages
    JSP and Servlets
    Applet and Class Library Collections
    Java Security
    HTML and JavaScript

    JDK

    JDK Java Developer's Kit - Free Download for Development with Java.
    Java Sun Products. Applets and J2EE Enterprise - Servlets and also called "Java 2"
    Solaris OS
    J2ME Mobil - Java for Windows.
    Java JDK on MacOS and iPhone JDK for MacOS X, iOS - Linux
    Sun's JDK and Java JDK from IBM. As of 4/99, this supposedly outperformed both the Sun and the Microsoft 1.1 JVM's by 20% on most benchmarks. Uses similar technology to Sun's HotSpot, but is for Java 1.1, whereas HotSpot is for Java 1.2/1.3 (aka Java 2). -
    Java for MacOS
    Other Linux versions -
    Netscape Navigator/Communicator (Mozilla). Version 6 supports JDK 1.3. Version 4.06 and later supports JDK 1.1.
    Microsoft Windows Internet Explorer Supports JDK
    HotJava from Sun. Supports JDK 1.1. -
    Swing 1.1 .
    Java Runtime Environment (JRE) for Windows 95/98/NT and Solaris. This lets you run Java but not compile it (javac), generate documentation (javadoc), etc. A smaller footprint for delivery-only platforms.
    Java Plugin (formerly "Activator"). Lets you install Sun's Java VM in Netscape or IE, but you can't use the standard APPLET tag (and thus your code won't run on systems without the plugin). You can have Java 1.1 in Netscape and IE version three , or even have Java 1.2.
    Java Servlets. An efficient, flexible, and portable alternative to CGI. (Also see the
    Apache Tomcat usage page ).
    JSP JavaServer Pages - Portable, powerful alternative to ASP or ColdFusion. (Also see the Apache Tomcat usage page ).
    Java IDL.
    Java3D.
    Example Java Applets and Core Web Programming ; all are freely available for unrestricted use. A Debugging Web Server . This separate page gives an HTTP server in Java that echos back all headers sent to it. Useful when doing CGI programming, for debugging FORMs and verifying headers sent by browsers and other clients. Images as Components Please note that these Java classes work around AWT programming limitations in Java 1.02 and 1.1. With Swing, much better programming options are available. For that, please see
    Tutorial on Swing programming. ImageLabel.java A Java class that creates a Component containing an image. Like the Label class, it can get positioned by the layout manager and will get repainted automatically. ImageLabelTest. ImageLabel. ImageButton.java A Java button class use Swing and JButton.) ImageButtons. ImageButton. Icon.java A Java class built on ImageLabel that supports drag and drop for ImageLabels. I.e. draggable pictures/icons. IconTest. Icon. GraphicsUtil . A Java class that adds pen width arguments to the drawing methods of java.awt.Graphics. Also creates drawCircle and fillCircle methods, adds optional Color arguments to each of the drawing methods, and adds an optional Font argument to drawString and drawChars. Documentation is at GraphicsUtil.html , and the Java source is at GraphicsUtil.java . A simple on-line demo can be viewed at GraphicsUtilDemo.html .
    CGI Programming in Java This separate page summarizes the use of Java for CGI programming: how to use Java applets to talk to CGI programs via either GET or POST, and how to write CGI programs in Java. Includes on-line examples, a CGI form parser in Java, and an HTTP cookie value parser in Java. Accessing Java from JavaScript . This separate page summarizes the ways to call Java from JavaScript in Netscape 3 and 4. These programming approaches also generally work in the Windows version of IE4. Accessing JavaScript from Java . This separate page summarizes the ways to call JavaScript from Java in Netscape 3 and 4. These programming approaches also generally work in the Windows version of IE4. Slider . A horizontal slider combining a Scrollbar and a TextField. You can drag the scrollbar or type into the TextField; either way, both stay in sync. Works the same on both Java 1.0 and 1.1, despite differences in how Scrollbar interprets the max value in the two cases. Also tries to work around some Windows 95/NT Scrollbar bugs. The source code is available in Slider.java , with documentation at Slider.html . For an on-line example, see SliderApplet.html . Mouse and Keyboard Event Reporter An applet that reports all mouse and keyboard events in a textfield. An on-line demo is at Events.html , with source code at Events.java (which uses EventPanel.java ). Whiteboard A very simple whiteboard that illustrates Java 1.1 event handling by letting you type text and draw freehand. An on-line demo is at Whiteboard2.html , with Java source at Whiteboard2.java (which uses SimpleWhiteboard2.java ). Java 1.02 version is available at Whiteboard.html , with Java source at Whiteboard.java (which uses SimpleWhiteboard.java ). Java 1.1 Key Listeners A demonstration of Java 1.1 event-handling; two text areas where you can type into either and get the same result in both. An on-line demo (Java 1.1 browsers only) is at Mirror.html , with source code at Mirror.java . Java 1.1 Inner Classes and Mouse Events A simple demo of inner classes to handle mouse events in Java 1.1 (click to draw circles). An on-line demo (Java 1.1 browsers only) is at Circles.html , with source code at Circles.java . Lightweight Components in Java 1.1 A demonstration of the fact that lightweight components in Java 1.1 can be transparent. An on-line demo (Java 1.1 browsers only) is at BetterCircleTest2.html (compare to the opaque heavyweight components at CircleTest2.html ). Source code is at BetterCircleTest2.java (which uses BetterCircle.java ). Source for the heavyweight version is at CircleTest2.java (which uses Circle.java ). Lightweight Containers in Java 1.1 A demonstration of the fact that lightweight containers in Java 1.1 can be transparent. An on-line demo (Java 1.1 browsers only) is at LightPanel.html (compare to the opaque heavyweight panel at HeavyPanel.html ). Source code is at LightPanel.java (source for the opaque heavyweight panel is at HeavyPanel.java ). Frames that Can Be Closed Java Frames that actually (gasp) close when the user instructs them to. I use these as the starting points for all my graphical applications.
    Java 1.02 version: QuittableFrame.java Java 1.1 version: CloseableFrame.java - ScrollPanes in Java 1.1 A simple example of a ScrollPane: ScrollPaneTest.java . Built on CloseableFrame.java . Creating Menus in Frames An illustration of pulldown menus: ColorMenu.java . Built on QuittableFrame.java . Serializing Windows in Java 1.1 Creates a Frame that you can stretch, move around, and add circles to by clicking the mouse. If you save it to disk, then running the application in a later session automatically restores it to previous configuration. Source is at SavedFrame.java , which uses CirclePanel.java and is built on CloseableFrame.java . Rolling Your Own Popup Menus in Java 1.02 A way to create tolerable (but not great) popup menus in Java 1.02 by extending Window. Really intended for applications, since most browsers do not let you discover the absolute location of the mouse. However, the on-line demo works on appletviewer, and works somewhat on other browsers if the window is near the upper-left corner of the screen. Source code is at ColorPopupTest.java , which uses ColorPopup.java , and Popup.java . Using FileDialog An example that uses a FileDialog to select a file name, then loads the contents of the file into a TextArea. Source is at DisplayFile.java , and is built on QuittableFrame.java . Network Programming Note that there are PostScript reference sheets which provide explanation that these examples illustrate.
    GetURL, an application that takes a URL as input and retrieves the file. Talks directly to the HTTP server rather than using URLConnection to illustrate sockets.
    Expn, an application that finds info on an email address. Given connects to the SMTP server and issues "expn hall". A simple illustration of sockets in Java. -
    ShowHTML . A Netscape3-specific way of generating HTML on-the-fly or reading it from a stream and sending it to the browser. Defines showPage(applet, htmlString) and showPage(applet, htmlString, frameName) methods. Source is available at ShowHTML.java and a test page that illustrates it is at /TestHTML.html . Exec . A class that simplifies executing remote commands from Java applications. Source code is at Exec.java , with documentation at Exec.html . JavaStub . An application that simplifies prototyping of applets by generating stub files for you. Given a partial filename like HelloWorld, it generates a mostly blank but working class HelloWorld.java which can be run as either an applet or an application. It also generates HelloWorld.html with an APPLET statement that loads HelloWorld.class. Documentation, and the code is at /JavaStub.java and /JavaStub.class . NQueens . Solves the N-Queens problem for N from 4 to 60 in linear time (constant time per queen). The N-Queens problem involves placing N tokens (chess queens) on an NxN grid such that none share a row, column, or diagonal. On an 8x8 grid this amounts to placing 8 queens on a chess board such that none threaten each other. Although this problem is commonly used to illustrate search techniques, there is a common misconception that search is required to find a solution (although search is required to find all solutions). Algorithm adapted from ACM SIGART Bulletin . Run it by loading /NQueens.html . The source code is at /NQueens.java . TrackerUtil . A small class that uses MediaTracker to let you use a single method call to load one or more images, waiting until they are done loading before continuing. Documentation is at TrackerUtil.html , and the code is at TrackerUtil.java .

    Java Tools

    Java Tools and libraries
    Java Programming Books
    Java Programming FAQs and Tutorials Beginner and advanced Frequently Asked Questions lists. General Java tutorials and tutorials on specific Java programming topics.
    Java Programming Documentation The core Java APIs (Java 1.02, 1.1, and Java 1.2), specialized APIs (Java3D, PersonalJava, etc.), the official Java language spec, and documentation on Sun Java programming tools (java, javac, javadoc, etc).
    Java Programming Courses Public or on-site Java short courses taught by an experienced Java developer, well-known Java book author, and award-winning instructor.
    Downloading Java compilers, Java-enabled browsers, and other standard Java packages. JDK 1.02/1.1/1.2, browsers, JRE, Swing, Java plugin, etc. Includes links to IBM's high-performance Java engine for Java 1.1.7 and Sun's HotSpot performance engine for Java 1.2. Free versions for most operating systems.
    Java Programming Examples Pen widths for drawing operations, image buttons, network programming, CGI programming in Java, exec, etc. Java source code available for unrestricted use.
    Java Applet and Class Library Collections General collections of applets or reusable Java classes, including graphics/graphing applets and classes, and Java games.
    Core Servlets and ; JavaServer Pages Source Code Archive. Hundreds of fully documented servlets, JSP pages, and related Java utilities. From bestselling Sun Microsystems Press book.
    Core Web Programming Source Code Archive. Hundreds of fully documented Java examples, including Swing, Java 2D, threads, events, XML, servlets, and JSP. Also lots of HTML 4, CSS, and JavaScript examples.
    Java Programming Resources at Sun General Java resources, official API and language specifications (Java 1.0-2.0), non-core Java packages (Java3D, servlets, EJB, etc), etc.
    Integrated Development Environments and Editors for Java Commercial and free IDE's for developing Java applets, desktop applications in Java, and server-side Java. Also Java programming editors for Windows, Unix, and MacOS.
    Free Java Programming Tools Free Java development, debugging, decompiling, and graphics toolkits.
    Other Java Programming Resource Pages Some of the more extensive Java collections, plus online searches of tech news sources for articles about Java.
    JSP and Servlets - Servlet and JSP specifications, documentation, servers (engines), IDEs, books, training courses, Web hosting providers, and more.
    Java Security Sites discussing current/recent packages for programming security using Java APIs. Also papers on mostly-old Java security problems.
    General WWW Programming Resources HTML tutorials, specifications, editors, and validators. CGI and HTTP references. JavaScript documentation. Browser stats. Etc.

    Java Security

    Java Security , Testing and Source Code
    Sun's top-level Java Security Resource Page.
    Sun's Java Security FAQ. Security Flaws found by Princeton (Dean, Felten, Wallach).
    PostScript paper analyzing Java security and summarizing several security flaws (most of which are now fixed).
    Java Security Flaws found by David Hopwood (Old!)
    Attack where custom bytecodes could be generated that run native methods, and are missed by the bytecode verifier. DNS-spoofing bug. Allows applets to connect to arbitrary hosts instead of just the server from which the applet came. Fixed in Netscape 2.01 and JDK 1.01.
    Bugs in Sun's alpha HotJava browser. Not present in Netscape or JDK. Summary report of Princeton flaws. Future flaws will be listed here. -
    David Hopwood's package/Classloader-spoofing bug. Lets applets run arbitrary native code if the cracker can get a file somewhere (anywhere) on the client system in a location the malicious applet knows about. Fixed in Netscape 2.01 and JDK 1.01. Early report.
    Details on how files could get on local system.
    Using Netscape's cache to get files on local system.
    Results of using Netscape's cache. Later experiments found the same problems on MacOS (but not UNIX). -
    Another fake-the-bytecode-verifier attack, this one from David Hopwood. Like the Princeton attack, it requires custom generation of bytecodes rather than coming from standard Java source, would let the applet run arbitrary native code, and is fixed as of Netscape 2.02 and JDK 1.02.
    David's list of known and previous Java security bugs, with discussion. This and the PostScript Princeton paper are probably the best two places to start. -
    Sprint's evade-the-firewall bug. Mark Ladue's "Hostile Applets" collection (mostly denial-of-service attacks).
    Links to the applets themselves. You may need to quit Netscape if you run any of them.
    An article that explains many of the applets, with source code. -
    Article by Godmar Back on bypassing Java's SecurityManager in Netscape. This allows applets to do unrestricted operations, so is only for totally secure intranets that run totally trusted applets. (The owner of the browser has to do this, not the Java programmer who writes the applet!)
    The comp.lang.java.security Usenet newsgroup.
    Papers and Information on Garbage Collection
    These are not specific to Java programming, but general to programming languages that use garbage collection (e.g. Lisp, Smalltalk, Eiffel, ML, and extensions to C and C++).
    A survey of garbage collection techniques by Paul Wilson. To appear in ACM's Computing Surveys . (PostScript)
    Collection of GC-related papers from the University of Texas.
    Garbage Collection FAQ maintained by David Chase of Centerline.
    Harlequin's Memory Management Reference. GC Articles by Hans-J Boehm at Xerox PARC:
    complexity of mark-sweep vs. copying garbage collectors. Explicit allocation/deallocation (malloc/free). A garbage collector for C and C++. -
    Henry Baker's collection of papers, related to GC.
    Large garbage-collection bibliography from Richard Jones.
    Great Circle: A commercial collector for C/C++. -
    Technology Java 2024
    The Arrival of Java 22 Oracle
    Oracle releases Java 22 focuses on performance, stability, and security - ET Edge Insights ET Edge Insights
    Mirror, mirror on the wall who is the greatest of them all - Python or Java? TechRadar
    Top 20 Best Programming Languages To Learn in 2024 Simplilearn