old-www/LDP/www.debian.org/doc/manuals/debian-java-faq/ch2.html

456 lines
15 KiB
HTML
Raw Permalink Blame History

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>Debian Java FAQ. - Introduction to Java</title>
<link href="index.html" rel="start">
<link href="ch1.html" rel="prev">
<link href="ch-debian-java-etch.html" rel="next">
<link href="index.html#contents" rel="contents">
<link href="index.html#copyright" rel="copyright">
<link href="ch1.html" rel="chapter" title="1 Introduction">
<link href="ch2.html" rel="chapter" title="2 Introduction to Java">
<link href="ch-debian-java-etch.html" rel="chapter" title="3 Status of Java in Debian's older releases (before Lenny)">
<link href="ch-debian-java-lenny.html" rel="chapter" title="4 Status of Java in Debian GNU/Linux 5.0 (Lenny)">
<link href="ch-debian-java-squeeze.html" rel="chapter" title="5 Status of Java in Debian Squeeze">
<link href="ch6.html" rel="chapter" title="6 Java Development">
<link href="ch7.html" rel="chapter" title="7 Java Compilers">
<link href="ch8.html" rel="chapter" title="8 Java Virtual Machines (JVM)">
<link href="ch-browser-java.html" rel="chapter" title="9 Java Plugins for Browsers">
<link href="ch10.html" rel="chapter" title="10 Java Servlets">
<link href="ch11.html" rel="chapter" title="11 Java Policy">
<link href="ch12.html" rel="chapter" title="12 Other Java alternatives for Debian">
<link href="ch1.html#s1.1" rel="section" title="1.1 Introduction to this FAQ">
<link href="ch1.html#s1.2" rel="section" title="1.2 Location of this FAQ">
<link href="ch1.html#s-bugs" rel="section" title="1.3 Sending bugs on this FAQ">
<link href="ch1.html#s-moreinfo" rel="section" title="1.4 Complementary information">
<link href="ch1.html#s-pending" rel="section" title="1.5 Uncovered issues">
<link href="ch2.html#s2.1" rel="section" title="2.1 What is Java?">
<link href="ch2.html#s2.2" rel="section" title="2.2 Why would I be interested in Java?">
<link href="ch2.html#s2.3" rel="section" title="2.3 What is a JIT?">
<link href="ch2.html#s2.4" rel="section" title="2.4 Where can I read more about Java?">
<link href="ch2.html#s2.5" rel="section" title="2.5 Where can I ask questions about Java on Debian?">
<link href="ch-debian-java-etch.html#s3.1" rel="section" title="3.1 Is the information in this chapter still up to date?">
<link href="ch-debian-java-etch.html#s3.2" rel="section" title="3.2 Where is Debian Java going?">
<link href="ch-debian-java-etch.html#s3.3" rel="section" title="3.3 Is there a Java1 compiler (.java to .class)?">
<link href="ch-debian-java-etch.html#s3.4" rel="section" title="3.4 Is there a Java1 JVM or JIT?">
<link href="ch-debian-java-etch.html#s3.5" rel="section" title="3.5 Is there a Java1 native compiler?">
<link href="ch-debian-java-etch.html#s3.6" rel="section" title="3.6 Is there a Java Debugger (jdb equivalent)?">
<link href="ch-debian-java-etch.html#s3.7" rel="section" title="3.7 Is there a Jar tool?">
<link href="ch-debian-java-etch.html#s3.8" rel="section" title="3.8 Is there a Javadoc tool?">
<link href="ch-debian-java-etch.html#s3.9" rel="section" title="3.9 Does Debian do Enterprise Java Beans (EJB)?">
<link href="ch-debian-java-etch.html#s3.10" rel="section" title="3.10 What is JAIN?">
<link href="ch-debian-java-etch.html#s3.11" rel="section" title="3.11 What is Jini?">
<link href="ch-debian-java-etch.html#s3.12" rel="section" title="3.12 Are there many changes in Sarge?">
<link href="ch-debian-java-etch.html#s3.13" rel="section" title="3.13 What can I expect in future releases?">
<link href="ch-debian-java-lenny.html#s4.1" rel="section" title="4.1 What is new in Lenny?">
<link href="ch-debian-java-squeeze.html#s5.1" rel="section" title="5.1 What is new in Squeeze?">
<link href="ch-debian-java-squeeze.html#s5.2" rel="section" title="5.2 What are the most important changes in the Java policy?">
<link href="ch-debian-java-squeeze.html#s5.3" rel="section" title="5.3 What have been removed in Squeeze?">
<link href="ch6.html#s6.1" rel="section" title="6.1 What full-fledged Java development platforms are available in Debian?">
<link href="ch6.html#s-free" rel="section" title="6.2 What free platforms are there and how can I contribute?">
<link href="ch6.html#s-license-concerns" rel="section" title="6.3 Questions on platforms and license concerns">
<link href="ch6.html#s6.4" rel="section" title="6.4 Making Debian packages for Java programs.">
<link href="ch7.html#s7.1" rel="section" title="7.1 What Java compilers are available in Debian?">
<link href="ch8.html#s8.1" rel="section" title="8.1 What jvms work in Debian?">
<link href="ch8.html#s8.2" rel="section" title="8.2 What free JVMs are available in Debian?">
<link href="ch8.html#s8.3" rel="section" title="8.3 What API do these JVMs provide?">
<link href="ch8.html#s8.4" rel="section" title="8.4 Are there known problems?">
<link href="ch8.html#s8.5" rel="section" title="8.5 Do I need a JVM to run a Java program in Debian?">
<link href="ch10.html#s10.1" rel="section" title="10.1 How can I make Java servlets work?">
<link href="ch11.html#s11.1" rel="section" title="11.1 Is there a Java policy for Debian?">
<link href="ch11.html#s11.2" rel="section" title="11.2 Are there holes in the Java Policy?">
<link href="ch12.html#s12.1" rel="section" title="12.1 Java programs not yet available on Debian">
<link href="ch-debian-java-etch.html#s3.6.1" rel="subsection" title="3.6.1 What free edit-interactive/graphical debugging tools are available on Debian?">
<link href="ch6.html#s-java56" rel="subsection" title="6.3.1 Java 5 and 6">
<link href="ch6.html#s-openjdk" rel="subsection" title="6.3.2 Sun's OpenJDK">
<link href="ch6.html#s6.4.1" rel="subsection" title="6.4.1 Can the package go into main?">
<link href="ch6.html#s6.4.2" rel="subsection" title="6.4.2 What virtual packages could I use?">
<link href="ch6.html#s6.4.3" rel="subsection" title="6.4.3 Is there a good example Debian package?">
<link href="ch6.html#s6.4.4" rel="subsection" title="6.4.4 What tools are available to make maintaining a Java packages easier?">
<link href="ch8.html#s8.5.1" rel="subsection" title="8.5.1 How do I compile to native code?">
</head>
<body>
<p><a name="ch2"></a></p>
<hr>
<p>
[ <a href="ch1.html">previous</a> ]
[ <a href="index.html#contents">Contents</a> ]
[ <a href="ch1.html">1</a> ]
[ 2 ]
[ <a href="ch-debian-java-etch.html">3</a> ]
[ <a href="ch-debian-java-lenny.html">4</a> ]
[ <a href="ch-debian-java-squeeze.html">5</a> ]
[ <a href="ch6.html">6</a> ]
[ <a href="ch7.html">7</a> ]
[ <a href="ch8.html">8</a> ]
[ <a href="ch-browser-java.html">9</a> ]
[ <a href="ch10.html">10</a> ]
[ <a href="ch11.html">11</a> ]
[ <a href="ch12.html">12</a> ]
[ <a href="ch-debian-java-etch.html">next</a> ]
</p>
<hr>
<h1>
Debian Java FAQ.
<br>Chapter 2 - Introduction to Java
</h1>
<hr>
<h2><a name="s2.1"></a>2.1 What is Java?</h2>
<p>
Java is a strongly-typed platform-independent object-oriented programming
language often associated with the World Wide Web. Java was developed by
<code><a href="http://www.sun.com">Sun Microsystems</a></code> (now Oracle) for
embedded applications, but has since grown to become a general-purpose
programming language. Java source code can either be compiled to a
machine-independent byte-code that can be run by Java virtual machines, or it
can be compiled directly to executable code for any number of platforms,
including Linux, Win32, and others.
</p>
<p>
A common API, shipped with all Java development environments, provides socket
support, a graphical user interface widget set, graphical drawing tools,
standard IO, events, math, database interfaces, and multithreading, to name a
few.
</p>
<p>
The multithreading support can happen either in kernel threads or userland
threads, depending on the implementation of the Java virtual machine used.
</p>
<p>
Of course, Java is also the name of a popular island of Indonesia: check out
the facts at <code><a
href="http://en.wikipedia.org/wiki/Java">Wikipedia</a></code>.
</p>
<hr>
<h2><a name="s2.2"></a>2.2 Why would I be interested in Java?</h2>
<p>
Java is widely used in large and small scale distributed, server, and client
applications. It's fun to use. The javadoc tool creates documentation from
comments in the code, so if you comment your code you get the docs for free.
</p>
<hr>
<h2><a name="s2.3"></a>2.3 What is a JIT?</h2>
<p>
JIT is an acronym for Just In Time. It refers to a VM plugin to speed up VM
execution by compiling bytecode to native machine code.
</p>
<hr>
<h2><a name="s2.4"></a>2.4 Where can I read more about Java?</h2>
<p>
Of course, <code><a href="http://java.sun.com">http://java.sun.com</a></code>
would be the first place to read information on Java, right from the company
who started it (i.e. Sun). However good places for Java and Linux could be:
</p>
<ul>
<li>
<p>
Sun's <code><a
href="http://java.sun.com/developer/technicalArticles/Programming/linux/">Java
Technology on the Linux Platform</a></code> pages.
</p>
</li>
</ul>
<ul>
<li>
<p>
GNU's <code><a href="http://www.gnu.org/software/java/">Java
software</a></code>
</p>
</li>
</ul>
<ul>
<li>
<p>
Enterprise in a Nutshell by Gary Meyer, at <code><a
href="http://en.tldp.org/HOWTO/Enterprise-Java-for-Linux-HOWTO.html">http://en.tldp.org/HOWTO/Enterprise-Java-for-Linux-HOWTO.html</a></code>.
Explains how to set up an environment including JDK, web server, Java servlets,
JDBC access to a database and EJBs. If you are interested read also Java
Enterprise in a Nutshell at <code><a
href="http://www.oreilly.com/catalog/jentnut/">http://www.oreilly.com/catalog/jentnut/</a></code>.
</p>
</li>
</ul>
<ul>
<li>
<p>
The <code><a href="http://www.linuxjournal.com/">Linux Journal
Magazine</a></code>, the following articles might be worth reading:
</p>
<ul>
<li>
<p>
Issue 105 <code><a
href="http://www.linuxjournal.com/article.php?sid=4860">Compiling Java with
CGJ</a></code>
</p>
</li>
</ul>
<ul>
<li>
<p>
<code><a href="http://www.linuxjournal.com/article.php?sid=6290">Getting
Started with Java on Linux</a></code>
</p>
</li>
</ul>
<ul>
<li>
<p>
Issue 94 <code><a
href="http://www.linuxjournal.com/article.php?sid=5612">Embedded Linux and
Java--Wave of the Future?</a></code>
</p>
</li>
</ul>
<ul>
<li>
<p>
<code><a href="http://www.linuxjournal.com/article.php?sid=4819">Using and
Writing Java Servlets</a></code>
</p>
</li>
</ul>
<ul>
<li>
<p>
Issue 66 <code><a
href="http://www.linuxjournal.com/lj-issues/issue66/3119.html">Java
servlets</a></code> and <code><a
href="http://www.linuxjournal.com/lj-issues/issue66/3224.html">Java 2
SDK</a></code>.
</p>
</li>
</ul>
</li>
</ul>
<ul>
<li>
<p>
The <code><a href="http://linuxgazette.net">Linux Gazette Magazine</a></code>,
the following articles might be useful:
</p>
<ul>
<li>
<p>
Issue 87 <code><a href="http://linuxgazette.net/issue87/jenkins.html">A
Keep-Alive Program You Can Run Anywhere</a></code>
</p>
</li>
</ul>
<ul>
<li>
<p>
Issue 69 <code><a href="http://linuxgazette.net/issue69/peda.html">Installing
Tomcat on Linux</a></code>
</p>
</li>
</ul>
<ul>
<li>
<p>
Issue 48 <code><a href="http://linuxgazette.net/issue48/lane.html">Linux, Java
and XML</a></code>
</p>
</li>
</ul>
<ul>
<li>
<p>
Issue 45 <code><a
href="http://tldp.org/LDP/LG/issue45/gibbs/Linux_java.html">Setting Up A Java
Development Enviroment For Linux</a></code>
</p>
</li>
</ul>
<ul>
<li>
<p>
Issue 33 <code><a
href="http://tldp.org/LDP/LG/issue33/burtch.html">http://tldp.org/LDP/LG/issue33/burtch.html</a></code>
</p>
</li>
</ul>
<ul>
<li>
<p>
Issue 32 <code><a href="http://tldp.org/LDP/LG/issue32/rojansky.html">Java and
Linux</a></code>
</p>
</li>
</ul>
<ul>
<li>
<p>
Issue 25 <code><a
href="http://tldp.org/LDP/LG/issue29/hamilton.html">http://tldp.org/LDP/LG/issue29/hamilton.html</a></code>
</p>
</li>
</ul>
</li>
</ul>
<ul>
<li>
<p>
<code><a href="http://www.linuxfocus.org/">LinuxFocus</a></code>, a free
multilingual journal:
</p>
<ul>
<li>
<p>
March 2003: <code><a
href="http://www.linuxfocus.org/English/March2003/article285.shtml">Accessing
PostgreSQL through JDBC via a Java SSL tunnel</a></code>
</p>
</li>
</ul>
<ul>
<li>
<p>
January 1999: <code><a
href="http://www.linuxfocus.org/English/January1999/article78.html">Programming
with Java, part II</a></code>
</p>
</li>
</ul>
<ul>
<li>
<p>
July 1998: <code><a
href="http://www.linuxfocus.org/English/July1998/article57.html">Programming
with Java, part I</a></code>
</p>
</li>
</ul>
</li>
</ul>
<ul>
<li>
<p>
The Java-CGI HOWTO from David H. Silber at <code><a
href="http://en.tldp.org/HOWTO/Java-CGI-HOWTO.html">http://en.tldp.org/HOWTO/Java-CGI-HOWTO.html</a></code>
explains how to set up your server to run Java CGIs. Maybe it is worth looking
at servlets.
</p>
</li>
</ul>
<ul>
<li>
<p>
Java Programming on Linux, by Nathan Meyers, website at <code><a
href="http://www.javalinux.net/">http://www.javalinux.net/</a></code>, which is
a book devoted to the topic of using Java on Linux (there's no online version
of it, though)
</p>
</li>
</ul>
<p>
Other sites regarding Java would be:
</p>
<ul>
<li>
<p>
The Java Lobby <code><a
href="http://www.javalobby.org">http://www.javalobby.org</a></code>.
</p>
</li>
</ul>
<ul>
<li>
<p>
Brewing Java: a tutorial at <code><a
href="http://metalab.unc.edu/javafaq/javatutorial.html">http://metalab.unc.edu/javafaq/javatutorial.html</a></code>.
</p>
</li>
</ul>
<p>
If you are browsing the web for free Java information you can of course use
Google. If you are looking for applets with source code look at <code><a
href="http://javaboutique.internet.com/javasource.html">http://javaboutique.internet.com/javasource.html</a></code>.
Check also <a href="ch6.html#s-free">What free platforms are there and how can
I contribute?, Section 6.2</a> for pointers to the free Java platforms
available, which might or might not be listed in GNU's webpages devoted to
Java.
</p>
<hr>
<h2><a name="s2.5"></a>2.5 Where can I ask questions about Java on Debian?</h2>
<p>
The appropriate place to ask such questions is <code><a
href="mailto:debian-java%0Aat%20lists.debian.org">debian-java at
lists.debian.org</a></code>. You can subscribe at the <code><a
href="http://lists.debian.org/debian-java/">Debian Mailing Lists</a></code>
page.
</p>
<hr>
<p>
[ <a href="ch1.html">previous</a> ]
[ <a href="index.html#contents">Contents</a> ]
[ <a href="ch1.html">1</a> ]
[ 2 ]
[ <a href="ch-debian-java-etch.html">3</a> ]
[ <a href="ch-debian-java-lenny.html">4</a> ]
[ <a href="ch-debian-java-squeeze.html">5</a> ]
[ <a href="ch6.html">6</a> ]
[ <a href="ch7.html">7</a> ]
[ <a href="ch8.html">8</a> ]
[ <a href="ch-browser-java.html">9</a> ]
[ <a href="ch10.html">10</a> ]
[ <a href="ch11.html">11</a> ]
[ <a href="ch12.html">12</a> ]
[ <a href="ch-debian-java-etch.html">next</a> ]
</p>
<hr>
<p>
Debian Java FAQ.
</p>
<address>
$Revision: 7288 $, $Date: 2010-04-12 15:45:36 +0000 (Mon, 12 Apr 2010) $<br>
<br>
Torsten Werner <code><a href="mailto:twerner@debian.org">twerner@debian.org</a></code><br>
Niels Thykier <code><a href="mailto:niels@thykier.net">niels@thykier.net</a></code><br>
Javier Fern<72>ndez-Sanguino Pe<50>a <code><a href="mailto:jfs@debian.org">jfs@debian.org</a></code><br>
<br>
</address>
<hr>
</body>
</html>