Java: Difference between revisions
No edit summary |
|||
(One intermediate revision by the same user not shown) | |||
Line 16: | Line 16: | ||
[https://stackoverflow.com/questions/28329419/when-does-a-local-string-scanner-get-garbage-collected StackOverflow Reference]<br> | [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> | [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 | 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> | 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 | These classes, which implement that AutoCloseable interface, can be wrapped in a try block | ||
Line 27: | Line 27: | ||
} // close will be implicitly called | } // close will be implicitly called | ||
</syntaxhighlight> | </syntaxhighlight> | ||
[[Category:Programming languages]] |
Latest revision as of 16:44, 31 January 2022
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 Intellij IDEA.
Linux
I recommend using OpenJDK.
Link
Features
AutoCloseable
StackOverflow Reference
AutoCloseable Java 8
Since Java does not have destructors and thus no RAII objects, you will need to close any resources you open manually.
One way to automate this is to use autocloseable classes introduced in Java 7.
These classes, which implement that AutoCloseable interface, can be wrapped in a try block
This is similar to using
in Python and C#.
try (Scanner scanner = new Scanner(s)) {
while (scanner.hasNext()) {
// do something
}
} // close will be implicitly called