Java: Difference between revisions
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 |
Revision as of 13:16, 1 November 2019
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