Found 9150 Articles for Object Oriented Programming

How to implement HashMap, LinkedHashMap, and TreeMap in JShell in Java 9?

raja
Updated on 01-May-2020 17:24:58

208 Views

JShell is a command-line prompt tool introduced in Java 9, and it is also called a REPL tool to evaluate simple statements, executes it, and print the output immediately.A Map interface specifies a contract to implement collections of elements in the form of key/value pairs. Java collection classes that implement the Map interface are HashMap, LinkedHashMap, and TreeMap.In the below code snippet, the elements of HashMap are not guaranteed to store either in an insertion order or in the sorted order of keys.Snippet-1jshell> HashMap hashMap = new HashMap(); hashMap ==> {} jshell> hashMap.put("Adithya", 101); $2 ==> null jshell> hashMap.put("Jai", 102); $3 ==> null ... Read More

Differences between CompletableFuture and Future in Java 9?

raja
Updated on 01-May-2020 11:45:14

6K+ Views

CompletableFuture class implements Future interface in Java. CompletableFuture can be used as a Future that has explicitly completed. The Future interface doesn’t provide a lot of features, we need to get the result of asynchronous computation using the get() method, which is blocked, so there is no scope to run multiple dependent tasks in a non-blocking fashion whereas CompleteFuture class can provide the functionality to chain multiple dependent tasks that run asynchronously, so we can create a chain of tasks where the next task is triggered when the result of the current task is available.Syntaxpublic class CompletableFuture extends Object implements Future, CompletionStageExampleimport java.util.function.Supplier; import java.util.concurrent.CompletableFuture; ... Read More

How to get a snapshot of information about Process API in Java 9?

raja
Updated on 01-May-2020 08:33:51

218 Views

Java 9 has improved Process API by including new methods and introduced new interfaces ProcessHandle and ProcessHandle.Info to get all the details regarding the process and its information.ProcessHandle interface can identify and provide control of native processes. Each individual process can be monitored for liveness, listed its children, get information about the process, or destroys it. ProcessHandle.Info interface gives information snapshots about a process.SyntaxProcessHandle.Info info()Examplepublic class ProcessSnapShotTest {    public static void main(String[] args) {       ProcessHandle currentProcessHandleImpl = ProcessHandle.current();             // Process snapshot of the current running process with ProcessHandle.Info:       ProcessHandle.Info processInfo = ... Read More

Importance of destroyForcibly() method in Java 9?

raja
Updated on 30-Apr-2020 17:21:25

431 Views

The destroyForcibly() method can be used to kill a process. It will be needed if the process has finished or has frozen. For instance, the isAlive() method returns true after destroyForcibly() is called. The destroyForcibly() method returns true if the termination successfully requested, otherwise returns false.Syntaxboolean destroyForcibly()In the below example, we will able to launch a notepad application, and it will be terminated after the destroyForcibly() method called.Exampleimport java.io.IOException; import java.lang.ProcessBuilder; public class DestroyForciblyTest {    public static void main(String args[]) throws IOException, InterruptedException {       ProcessBuilder pBuilder = new ProcessBuilder();       pBuilder.command("notepad.exe");       ... Read More

How to implement a Set interface in JShell in Java 9?

raja
Updated on 30-Apr-2020 11:44:59

185 Views

JShell is a command-line tool in Java 9 that has been used to execute simple statements like expressions, classes, interfaces, methods, and etc.A Set is an interface in Java that specifies a contract for collections having unique elements. If object1.equals(object2) returns true, then only one of object1 and object2 have a place in Set implementation.In the below code snippet, we have to use the Set.of() method. The collection returned by the Set.of() method is immutable, so it doesn't support the add() method. If we trying to add an element, throws UnsupportedOperationException. If we want to create a HashSet collection instead, which supports the ... Read More

Differences between Jdeps and Jdeprscan tools in Java 9?

raja
Updated on 30-Apr-2020 08:23:25

610 Views

Jdeps tool can be used to analyze the dependencies of our classes. The running of the "jdeps -jdkinternals jararchive.jar" command prints a list of all classes that use Java internal API. Jdeps tool returns a detailed description of the dependencies while Jdeprscan is another useful tool particularly used in combination with the "-for-removal" flag. This tool shows us all uses of deprecated API by a given jar archive, and only deprecated uses of jdk methods can be shown and can't use this tool to check for deprecation in third party jar.Jdeps tool:"jdeps" is a class dependency analyzer tool can be used for package level ... Read More

What is the importance of the jcmd tool in Java 9?

raja
Updated on 29-Apr-2020 14:18:03

159 Views

The "jcmd" is JVM diagnostic tool, which is a command-line tool to run diagnostic commands against given JVM on the local machine. This tool has been included in the JDK installation since Java 7 version, and it can be represented by the "%java_home%\bin\jcmd.exe" program file. If we have "%java_home%\bin" directory included in "path" the environment variable, we can run "jcmd -h" command to see a complete list of all options as belowC:\Users\User>jcmd -h Usage: jcmd    or: jcmd -l    or: jcmd -h    command must be a valid jcmd command for the selected jvm.    Use the command "help" to ... Read More

What are the changes of class loaders in Java 9?

raja
Updated on 29-Apr-2020 10:49:22

925 Views

All java programs run on Java Virtual Machine (JVM). After compilation, a java class gets transformed into a platform and machine-independent bytecode, and compiled classes are stored as .class files. Whenever we try to use it, ClassLoader loads that class into memory. The classes get introduced into the Java environment when they are referenced by name. The loading of classes has been done by the class loader, once the class starts running, and the main() method is a way to start that class.There are few minor changes of class loaders in Java 9:The system class loader is no more in Java 9, ... Read More

How can we display all modules with classloaders in Java 9?

raja
Updated on 29-Apr-2020 09:11:04

500 Views

Before Java 9, the extension and the application class loader are an instance of the java.net.URLClassLoader class. In Java 9, the classification of class loaders has changed, instead of an external class loader, we have the Platform class loader. The purpose of using Platform class loader is that classes loaded by the bootstrap class loader have all permissions by default.In the below example, we can display all modules with classloaders.Exampleimport static java.util.Objects.isNull; public class Java9ClassLoaderTest {    public static void main(String args[]) {       ModuleLayer layer = ModuleLayer.boot();       layer.modules().forEach(module -> { ... Read More

What is the use of the "export" clause in a module-info file in Java 9?

raja
Updated on 28-Apr-2020 14:10:29

2K+ Views

A Module is a combination of both code and data that has a name, declares dependencies on other modules, exports packages that contain the public types that can be accessible outside this module and specifies the services it uses or the service implementations it provides. All of these have specified in a module-info.java file, which is included in the root directory of a module.There are two types of "export" clause can be used in "module-info.java" file.1) export : By default, the type public of a module is no longer visible outside the module. To make the public types of a given package visible from ... Read More

Advertisements