Skip to main content

Posts

Showing posts with the label Java

NoSuchMethodError: javax.xml.ws.WebFault.messageName()Ljava/lang/String

  Exception NoSuchMethodError: javax.xml.ws.WebFault.messageName()Ljava/lang/String Solution You are most probably using jdk6 or earlier versions of Java if you encounter this exception. You can fix this exception using the following steps a) Download the latest jax-ws b) Place the downloaded jar inside jre/lib/ endorsed folder OR c) Please the download jar file inside the web server lib endorsed folder like if using JBoss then place it inside jboss\lib\ endorsed if using Tomcat then place it inside tomcat\lib\ endorsed

Intellij : How to add @author comment to every new class

 Introduction In this tutorial, we will learn how to add @author comments to every new class that we create. We can achieve it using either of the following two solutions Solution 1:  Automatically add @author comments to every new class using Files and Code Templates Open File -> Settings -> Editor -> File and Code Templates -> Includes Click on Includes . Under File Header , enter the following comments text /**  * @author ${USER}  * @Date ${DATE}   */ Intellij - add @author comments Solution 2: Autocompletion of @author Open File  ->  Settings  ->  Editor  -> Live Templates Select Java and then click on + button In Abbreviation, enter @a In template text , enter the following comments           /**             * @author ${USER}             * @Date ${DATE}            */ In option , Expands with select SPACE Intellij - Autocompletion @author You can simply add the @author comments by typing @a and then click SPACE

Java : How to convert String to Date?

 Introduction In this post, we will learn how to convert Java String to Date  Example: import java.util.Date; public class DateConversion { public static void main(String[] args) {      SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");      try { Date date = sdf.parse("19-09-2020"); System.out.println(date);      } catch (Exception ex) { ex.printStackTrace();      } } } In Java 8 and onward versions, we can use the LocalDate and DateTimeFormatter class to convert a String to a LocalDate object. We will use the parse method of the LocalDate class to perform this conversion Example (using Java 8+ versions) import java.time.LocalDate; import java.time.format.DateTimeFormatter; public class DateConversion { public static void main(String[] args) { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); try { LocalDate date = LocalDate.parse("19-09-2020",formatter); System.out.println(da

Java - How to convert an array of bytes i.e. byte[] to String ?

Introduction In this post, we will explore how to convert an array of bytes i.e. byte[] to String in Java. For this functionality, we will use the following constructor of java.lang.String class String (byte[] bytes,  String  enc) Example import java.nio.charset.StandardCharsets; public class ByteArrayToString { public static void main(String[] args) { byte[] bytes = "a quick fox jumps over the lazy dog".getBytes(); // convert the bytes to String System.out.println("bytes = " + bytes); System.out.println( "bytes.toString() = " + bytes.toString()); String myString = new String ( bytes , StandardCharsets.UTF_8); System.out.println("myString = " + myString); } } Output bytes = [B@41a4555e bytes.toString() = [B@41a4555e myString = a quick fox jumps over the lazy dog Conclusion In this post, we learned how to convert an array of bytes to String.

Java - How to convert String to InputStream?

Introduction In this post, we will learn how to convert String to InputStream in Java. Example import java.io.ByteArrayInputStream; import java.io.InputStream; public class StringToInputStream { public static void main(String[] args) { String text = "A quick fox jumps over a lazy dog"; try ( InputStream inputStream = convertToInputStream(text) ) { //TODO you business logic goes here } catch (Exception e) { e.printStackTrace(); } } private static InputStream convertToInputStream(String text) throws Exception { return new ByteArrayInputStream(text.getBytes()); } } Conclusion This is the simplest and shortest way to convert a String to InputStream in Java.

Oracle 12 C - JDBC connection string to connect through Service Name

Introduction Mostly we make a connection to Oracle using JDBC through SID. Recently I have to make a connection to Oracle using Service Name. I am writing this post to share my experience. SID Connection String  jdbc:oracle:thin:@IP:1521:SID Service Name connection String  jdbc:oracle:thin:@(description=(address=(host=IP)(protocol=tcp)(port=1521))(connect_data=(service_name=UR_SERVICE_NAME))) Replace Service Name and host address per your configuration These strings work both for plain JDBC and hibernate. For hibernate configuration, put the above string inside <property name="connection.url">Above connection String</property> tag of hibernate.cfg.xml. Conclusion In this post, we learn how to connect to Oracle using both SID and Service Name. Happy learning

Java - How to convert InputStream to String?

Introduction In this tutorial, we will learn how to convert InputStream to String in Java. Example import java.io.InputStream; import java.net.URL; public class InputStreamToString { public static void main(String[] args) { //very frequent asked question in interview , regarding closable interface try(InputStream inputStream = new URL("https://www.oracle.com/index.html").openStream()){ System.out.println(convertToString(inputStream)); }catch (Exception e) { // TODO: handle exception } } private static String convertToString(InputStream inputStream) throws Exception{ return new String(inputStream.readAllBytes()); } } Conclusion Above example is the simplest method to convert an Inpustream to String in Java. There are alternate solutions available like using commonio jar and converting InputStream to ByteStream etc. Hope you enjoy this tutorial. Happy learning 

Java - How to escape % in String.format?

Introduction In this tutorial, we will learn how to skip or display % in a String using String.format MyStringFormatter .java  public class MyStringFormatter { public static void main(String[] args) { System.out.println(String.format( "Your score is %d % " ,65) ); } } Output Exception in thread "main" java.util.UnknownFormatConversionException: Conversion = ' ' at java.base/java.util.Formatter.checkText(Formatter.java:2732) at java.base/java.util.Formatter.parse(Formatter.java:2718) at java.base/java.util.Formatter.format(Formatter.java:2655) at java.base/java.util.Formatter.format(Formatter.java:2609) at java.base/java.lang.String.format(String.java:2897) at MyStringFormatter.main(MyStringFormatter.java:4) Solution To display a % in String when using String.format , you have to escape a % with % i.e. %% public class MyStringFormatter { public static void main(String[] args) { System.out.println(String.fo

How to convert a String to int in Java?

Introduction In this post, we will learn to convert String to int primitive data type. Java provides the Integer wrapper class to convert a String to int. Integer.parseInt(String) String numberString = "134"; int number = Integer.parseInt(numberString ); System.out.println(number); Output : 134 Integer.valueOf(String) String numberString = "134"; int number = Integer.valueOf(numberString ); System.out.println(number); Output : 134 The following code will throw NumberFormatException //134a cannot be converted to Integer String numberString = "134a"; int number = Integer.valueOf(numberString ); System.out.println(number); Exception in thread "main" java.lang.NumberFormatException: For input string: "134a" at java.lang.NumberFormatException.forInputString(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at java.lang.Integer.valueOf(Unknown Source) at StringExample.main(StringExample

Top 10 mostly asked Java String Interview Questions

Introduction String is the most widely used class in any language. In this post, we will explore String in Java context. This post will help you to understand the String in-depth and to answer String related questions in a Job interview. 1. What is String? String is a final class in Java and not a primitive data type like int, float, etc. It is defined in java.lang package and therefore available by default. 2. How to create objects of String? There are two ways to create String a. String literals String str = "abc"; b. Using new operator String str = new String("abc"); 3. Where is String stored in memory? String literals are stored in the String constant pool. A string is called immutable or constant i.e. once created then it can not be changed. Whenever we create a String using double quotes (String literal), Java looks into the String constant pool if an object with the same value is present, it returns the reference to that object

Often asked interview question to write code of Singleton Pattern?

Introduction I have been often asked this question in an interview to write a code of Singleton pattern. I have noticed that developers have the knowledge of what is Singleton pattern but often they forget the key points regarding its implementation. In this post, I will highlight the key points to remember for your upcoming interview. Implementation public class Singleton { private static Singleton instance; private Singleton() { } public static synchronized Singleton getInstance() { if(instance == null) { instance = new Singleton(); } return instance; } } Key Points to remember a) instance is declared as private and static  b) The constructor is declared as private c) getInstance method is static and synchronized to make it thread free Conclusion In this post, we learned how to implement the Singleton pattern using Java language. We have also noted down the key points to remember.Please leave your comments in the comments box.

Java Example of Selection Sort

Introduction Selection sort is the simplest sorting algorithm in terms of implementation. Let's consider we have a list of elements i.e. {3, 9, 0, 5, 4 } a) Selection sort maintains two sublists, one sorted and initially empty and second unsorted sublist i.e. [ {}, {3, 9 , 0, 5 ,4 }] b) It searches for the minimum element (for ascending sort) OR for a maximum element( for descending sort) in the unsorted list in each step. Step 1 [ {0 }, {9,3,5,4}] Minimum element = 0 , swapped with 3 Step 2 Minimum element = 3 , swapped with 9 [{0,3) , {9,5,4} ] Step 3 Minimum element = 4 , swapped with 9 [{0,3,4} , {5,9}] Step 4 Minimum element = 5 , swapped with itself [{0,3,4,5}, {9}] Step 5 Minimum element = 9 , swapped with itself [{0,3,4,5,9}, {}] Worst Complexity: O(n*n) Best Complexity   : O(n * n) Imperative style implementation using Java 7 public class SelectionSortExample { private static int array[] = {3,9,0,5,4}; public static void mai

Java code of Insertion sort

Introduction Insertion sort is the best sorting algorithm for small-sized list of elements as compared to selection sort and bubble sort . This sorting algorithm always maintains a sorted sublist within an iteration i.e. it finds the correct position of a single element at a time and inserts it in its correct position within the currently sorted sublist. Worst Complexity    : O(n*n) Best Complexity        : O(n) Average Complexity : O(n*n) Imperative style using Java 7 public class InsertionSortExample { private static int array[] = {0,5,2,6,3,1,-9}; public static void main(String[] args) { insertionSortAscending(); System.out.println("Ascending Sorted List"); for(int value : array) { System.out.print(value + " "); } insertionSortDescending(); System.out.println("\nDescending Sorted List"); for(int value : array) { System.out.print(value + " "); } } private static void insertionSortAscending() {

Hibernate - Could not instantiate id generator [entity-name=domainObject]

Exception Could not instantiate id generator [entity-name=Your DomainObject] Solution  <generator> or @GeneratedValue specifies the Java class that is used to generate a unique identifier to the mapped persistent class. Using increment  hbm.xml example <id name="id" type="java.lang.Long" column="id">        <generator class="increment" /> </id> Annotation example @Id @GeneratedValue(strategy=GenerationType.AUTO) @Column(name="ID") private Long id; Using database sequence hbm.xml example <id name="id" type="java.lang.Long" column="id">   <generator class="sequence">     <param name="sequence">SEQ_PERSON_ID</param>  </generator> </id> Annotation example @Id @GeneratedValue(strategy=GenerationType.SEQUENCE,generator="PERSON_SEQ") @SequenceGenerator(name="PERSON_SEQ&qu

Jersey Framework Client - How to add HTTP Basic Authentication Header to HTTP Request?

Introduction In this tutorial, we will learn how to add HTTP basic authorization token to the HTTP request header. We will use Jersey Framework to consume RESTful web services. Read the following post if you want to learn how to secure web services using HTTP Basic Authentication Jersey Java Framework - How to add HTTP Basic Authentication to RESTful web services? Maven Dependencies <dependency>     <groupId>org.glassfish.jersey.core</groupId>     <artifactId>jersey-client</artifactId>     <version>2.29</version>  </dependency>  <dependency>     <groupId>org.glassfish.jersey.inject</groupId>     <artifactId>jersey-hk2</artifactId>     <version>2.29</version> </dependency> Basic Authentication is the most simple way to secure HTTP requests. It has the following format Authorization: Basic base64-encoding of username:password Jersey Client Jersy is the refe

Eclipse - Server Tomcat v8.5 Server at localhost failed to start.

When I try to launch the tomcat from Eclipse, I encountered the following error Server Tomcat v8.5 Server at localhost failed to start. Solution Step 1  Delete the .snap file located at the following location     eclipse workspace Path\ .metadata\.plugins\org.eclipse.core.resources Step 2 Delete the  tmp0  folder from the following path      eclipse workspace Path \.metadata\.plugins\org.eclipse.wst.server.core Step 3  Delete the server from servers list Step 4  Remove already added Tomcat Server      i)  Click on Define a new Server     ii)  Select Server Runtime Environments     iii) Select the Tomcat Server and remove it as follows Remove Selected Server Step 5 Make sure that correct version of Server is configured in Project Properties Step 6 Restart the Eclipse IDE.

Spring RestTemplate - How to skip SSL certificates validation?

In this tutorial, we will explore to consume restful web services hosted on https URL with SSL certificates. We will use Sprint RestTemplate to consume the restful web services. It is very easy to consume the web services hosted on HTTP protocol. Challange is consuming the web services hosted on HTTPS with SSL certificates enabled. I encountered the following exception when accessing SSL hosted web services Caused by: javax.net.ssl.SSLHandshakeException:        sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target  at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1917) We will use  SSLContext to skip SSL validation. What is SSL Context? SSL Context is a collection of ciphers, trusted certificates, TLS extensions and options, and protocol versions. It acts as a factory

Top 20 JVM languages

Java is a popular object-oriented programming language. It was developed with an intention of WORA i.e. write once, run anywhere. Compiled Java code can run be run on any platform without recompilation. Java runs on Java Virtual Machine (JVM). JVM is a virtual machine and it is required by the computer to run any code compiled to Java bytecode.  Besides Java, the following languages can be run on JVM Scala Kotlin Clojure Apache Groovy Frege Ceylon Redline Smalltalk Xtend Haxe JRuby Kawa scheme Armed Bear Common Lisp Neo4j Nashorn Jacl Simula Jabaco JScheme Bigloo Renjin

Java - How to remove characters from a String at a specific index?

In this post, I will show you how to remove the characters/string from a string at a specific index. In Java, there is no such function available in String class. We have the following two alternates available StringBuilder StringBuffer Option 1 (StringBuilder)     StringBuilder builder = new StringBuilder("hello to Java");              builder.delete( 5, 8 );     System.out.println( builder );// OUTPUT  hello Java To remove a single character     StringBuilder builder = new StringBuilder("hello to Java");           builder.deleteCharAt( 0 );     System.out.println( builder );// OUTPUT ello to Java Option 2 (StringBuffer)     StringBuffer buffer = new StringBuffer ("hello to Java");     buffer .delete( 5, 8 );     System.out.println(  buffer );// OUTPUT hello Java To remove a single character     StringBuffer  buffer  = new  StringBuffer  ("hello to Java");           buffer .dele

Java - How to insert characters in a String at a specific index?

I was translating a DotNet project to Java. In code, CSharp  insert String function was used and I wrote my own Java function to insert characters/string at a specific index of string. Following is the code     public static String insert(String originalString,int offset, String injectString) {         if(offset>= originalString.length()) {             return originalString;         }         String firstPart = originalString.substring( 0, offset);         String secondPart = originalString.substring( offset);               return firstPart.concat( injectString ).concat( secondPart );     }  Later on, I found the StringBuffer's built-in  insert function for the same purpose         StringBuffer buffer = new StringBuffer();         buffer.append( "Hello Java" );         buffer.insert( 6, "to " );         System.out.println( buffer ); // OUTPUT  Hello to Java