Artificial intelligence has moved beyond simply answering questions and generating text. A new generation of AI systems—known as AI agents—is emerging with the ability to plan tasks, use tools, make decisions, and complete multi-step workflows with less human intervention. From managing emails and analyzing data to writing software and assisting customers, AI agents could significantly change how people work. What Are AI Agents? An AI agent is a software system that can perceive information, reason about a goal, take actions, and adapt based on the results. Traditional AI tools usually respond to a specific instruction. For example, you might ask an AI chatbot to summarize a document, and it provides a summary. An AI agent can go further. You could give an agent a goal such as: "Research three competitors, compare their pricing, summarize their main features, and prepare a report." The agent may then: 1) Understand the objective. 2) Break the task into smaller steps. 3) Searc...
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.