Java: Difference between revisions
Created page with "Java is a popular object-oriented programming language." |
No edit summary |
||
(5 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Java is a popular object-oriented programming language. | Java is a popular object-oriented programming language taught in many high-schools and introductory computer science courses. | ||
Java programs (.java) are compiled into Java bytecode (.class) files which are then interpreted by the Java virtual machine (JVM). | |||
Java programs and libraries (both .java and .class files) can be bundled into a Java archive (.jar) file. These are zip files with a manifest. | |||
To run Java programs, you will need to get the JVM by installing the Java runtime environment (JRE) or the Java development kit (JDK). | |||
==Usage== | |||
===Installation=== | |||
I recommend downloading an IDE such as [https://www.jetbrains.com/idea/ Intellij IDEA]. | |||
====Linux==== | |||
I recommend using OpenJDK.<br> | |||
[https://openjdk.java.net/install/ Link] | |||
==Features== | |||
===AutoCloseable=== | |||
[https://stackoverflow.com/questions/28329419/when-does-a-local-string-scanner-get-garbage-collected StackOverflow Reference]<br> | |||
[https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html AutoCloseable Java 8]<br> | |||
Since Java does not have destructors and thus no RAII objects, you will need to close any resources you open manually.<br> | |||
One way to automate this is to use autocloseable classes introduced in Java 7.<br> | |||
These classes, which implement that AutoCloseable interface, can be wrapped in a try block | |||
This is similar to <code>using</code> in Python and C#.<br> | |||
<syntaxhighlight lang="java"> | |||
try (Scanner scanner = new Scanner(s)) { | |||
while (scanner.hasNext()) { | |||
// do something | |||
} | |||
} // close will be implicitly called | |||
</syntaxhighlight> | |||
[[Category:Programming languages]] |