Smart Grids and Energy Storage Systems: Powering the Future of Energy In today’s rapidly evolving energy landscape, the push towards sustainability, efficiency, and reliability is stronger than ever. Traditional power grids, though robust in their time, are no longer sufficient to meet the demands of a modern, digital, and environmentally conscious society. This is where smart grids and energy storage systems (ESS) come into play — revolutionizing how electricity is generated, distributed, and consumed. What is a Smart Grid? A smart grid is an advanced electrical network that uses digital communication, automation, and real-time monitoring to optimize the production, delivery, and consumption of electricity. Unlike conventional grids, which operate in a one-way flow (from generation to end-user), smart grids enable a two-way flow of information and energy. Key Features of Smart Grids: Real-time monitoring of power usage and quality. Automated fault detection and rapid restoration. Int...
What is the difference between creating String as new() and literal ?
When we create String with new() operator, it's created in heap and not added into string pool. When String created using literal are created in String pool itself which exist in permgem area of heap.
String s = new String("Test");
This does not put the object in string pool, we need to call String.intern() method which is used to put them into String pool explicitly. When you create String object as String literal.
Eg : String s = "Test" java automatically put that into String pool.
Define a StringJoiner and write sample code ?
StringJoiner is a utility method to construct a string with the desired delimiter.
StringJoiner strJoiner = new StringJoiner ("."); strJoiner.add("AAA").add("BBB");
System.out.Println(strJoiner);
Output:
AAA.BBB
Are arrays of primitive data types ?
No. In Java, arrays are objects.
What is overloading and overridding in Java ?
Overridding and overloading are two important concept of java. They are confusing for java novice programmers.
When we have more than one method with the same name in single class but the arguments are different, then it is called as method overloading.
Overloading concept comes in picture with inheritance when we have two methods with the same method name and parameters. One of the method is in the parent class and the other is in the child class. Overridding allows a child class to provide specific implementation of a method that is already provided it's parent class.
We can use @override annotation in the child class overridden method to make sure if parent class method is changed, so as child class.
Can you override a private or static method in Java ?
You cannot override a private method in sub class because it's not accessible there. Private methods are not visible to child classes.
Static method also cannot be overridden, because static methods are the part of the class itself, and not a part of any instance (object) of that classes, but that would not be considered as runtime polymorphism.
So the answer is no for both the cases.