Thursday, May 28, 2015

How to Convert Epoch Time to Human-Readable Format in Unix

How to convert epoch to human readable format in UNIX ?


In this example the epoch time is 1432783870. Use the below command to convert the epoch time to human readable time.Technically epoch time known as UNIX time , also known as POSIX time. 

Example :-

dev@javadevelopersguide-developer-desktop ~/Epoch/ $ date -d @1432783870
Thu May 28 13:31:10 EST 2015
dev@javadevelopersguide-developer-desktop ~/Epoch/ $ date -d @1377360000
Sun Aug 25 02:00:00 EST 2013

Find more here.


Wednesday, April 29, 2015

Eclipse Main Class Not Found: Troubleshooting Classpath Issues

This is the common issue with Eclipse , even I faced many times . This is not related to Eclipse or any other IDE tool.


This issue occurs when you are trying to run your main() method with respective class, its looking for the exact .class file in the class path.During the execution the .class file is not available in the class path. The best way to resolve this is, add the .class file into class path.

There are many possible diagnosis you can do in your Eclipse for this issue. As per the Eclipse behavior when you are updating the class path (Build Path) , your class is getting compiled that time and the .class file got created. So, Be careful when doing the build path for your project.

Also check your Build Path, if any jar file is missing. Because, its might causes sometime.

In my case I just found the jar file missing in the build path , and I removed the missing jar and added new jar file from other location.Then executed my class with main method and it works. Below screenshot shows my issue.


Tuesday, April 7, 2015

How to Convert String to Date in Java Using Joda-Time

How to convert String to Date in java using Joda Time ?

The below program converts the String-to-Date and Date-to-String using joda time library. Joda Time library is a 3rd party jar and its very easy and compact to use for such conversion. Download the joda jar from https://github.com/JodaOrg/joda-time/releases

Example :-

package jdevelopersguide.lab;

import java.util.Date;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;

public class ConvertToDate {

/**
* @param args
*/
public static void main(String[] args) {
String date="2015-04-07";
DateTime jodaTimeDate=DateTimeFormat.forPattern("yyyy-mm-dd").parseDateTime(date);
System.out.println("Joda Time Date is::"+jodaTimeDate);

//Convert Joda DateTime to Java Date
Date javaDate=jodaTimeDate.toDate();
System.out.println("Converted Java Date is:::"+javaDate);

//Convert Java Date to String
String convertedDate=DateTimeFormat.forPattern("dd-mm-yyyy").print(javaDate.getTime());
System.out.println("Converted Java Date to String::::"+convertedDate);
}

}


Output :-


Joda Time Date is::2015-01-07T00:04:00.000+11:00
Converted Java Date is:::Wed Jan 07 00:04:00 EST 2015
Converted Java Date to String::::07-04-2015



The  Pattern is really very simple and you can use as per your requirements. There are many pattens are there as follows :-

The pattern syntax is mostly compatible with java.text.SimpleDateFormat - time zone names cannot be parsed and a few more symbols are supported. All ASCII letters are reserved as pattern letters, which are defined as follows:
 Symbol  Meaning                      Presentation  Examples
 ------  -------                      ------------  -------
 G       era                          text          AD
 C       century of era (>=0)         number        20
 Y       year of era (>=0)            year          1996

 x       weekyear                     year          1996
 w       week of weekyear             number        27
 e       day of week                  number        2
 E       day of week                  text          Tuesday; Tue

 y       year                         year          1996
 D       day of year                  number        189
 M       month of year                month         July; Jul; 07
 d       day of month                 number        10

 a       halfday of day               text          PM
 K       hour of halfday (0~11)       number        0
 h       clockhour of halfday (1~12)  number        12

 H       hour of day (0~23)           number        0
 k       clockhour of day (1~24)      number        24
 m       minute of hour               number        30
 s       second of minute             number        55
 S       fraction of second           number        978

 z       time zone                    text          Pacific Standard Time; PST
 Z       time zone offset/id          zone          -0800; -08:00; America/Los_Angeles

 '       escape for text              delimiter
 ''      single quote                 literal       '
 

You can find more details in joda site

Monday, April 6, 2015

How to Create a Client JAR from WSDL

There are many ways you can create the client.jar for your WSDL file . Using the below process you can create the client jar. But its not recommended to use for live project. For live project you need to create a project with maven structure and I will post that later. This can be used for testing purpose.

Open your linux/unix terminal and follow the steps below.


Step 1- Get the published WSDL.Use wsimport command to get the WSDL file. 

dev@optus-developer-desktop ~/temp/test $ wsimport -keep http://localhost:9001/myapps/TestApp?wsdl

dev@optus-developer-desktop ~/temp/test $ ls -ltr
total 16
drwxr-xr-x 3 dev dev 4096 Apr  5 10:52 au
drwxr-xr-x 3 dev dev 4096 Apr  5 10:52 webservice
drwxr-xr-x 4 dev dev 4096 Apr  5 10:52 org
drwxr-xr-x 3 dev dev 4096 Apr  5 10:52 types


Step 2- Create Jar file using jar command as below.


dev@javadevelopersguide-developer-desktop ~/temp/test $ jar -cvf client.jar .

.....
.....
.....
.....adding: org/javadevelopersguide/apps/com/resource/physicalresourcespec/ObjectFactory.class(in = 1568) (out= 627)(deflated 60%)
adding: org/javadevelopersguide/apps/com/resource/physicalresourcespec/PhysicalResourceSpec.class(in = 1205) (out= 500)(deflated 58%)
adding: org/javadevelopersguide/apps/com/resource/physicalresourcespec/package-info.class(in = 426) (out= 294)(deflated 30%)
adding: org/javadevelopersguide/apps/com/service/(in = 0) (out= 0)(stored 0%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/(in = 0) (out= 0)(stored 0%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/ServiceSpecCharacteristicValue.class(in = 1705) (out= 717)(deflated 57%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/package-info.java(in = 289) (out= 199)(deflated 31%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/ServiceSpecCharacteristicValue.java(in = 5228) (out= 855)(deflated 83%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/ObjectFactory.java(in = 2190) (out= 705)(deflated 67%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/ObjectFactory.class(in = 1711) (out= 639)(deflated 62%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/package-info.class(in = 444) (out= 303)(deflated 31%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/(in = 0) (out= 0)(stored 0%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/ServiceSpecCharacteristic.java(in = 8623) (out= 1656)(deflated 80%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/package-info.java(in = 279) (out= 193)(deflated 30%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/ServiceSpecCharacteristic.class(in = 2805) (out= 1068)(deflated 61%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/ObjectFactory.java(in = 2095) (out= 695)(deflated 66%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/ObjectFactory.class(in = 1636) (out= 630)(deflated 61%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/package-info.class(in = 434) (out= 297)(deflated 31%)
...........
...........
...........
...........


dev@javadevelopersguide-developer-desktop ~/temp/test $ ls -ltr
total 1356
drwxr-xr-x 3 dev dev 4096 Apr 5 10:52 au
drwxr-xr-x 3 dev dev 4096 Apr 5 10:52 webservice
drwxr-xr-x 4 dev dev 4096 Apr 5 10:52 org
drwxr-xr-x 3 dev dev 4096 Apr 5 10:52 types
-rw-r--r-- 1 dev dev 1369704 Apr 5 10:56 client.jar


Now the client.jar is got generated, you can use this jar file and call the real published service.




Hope it will help you.


Wednesday, February 11, 2015

Sapient Interview Questions and Answers for Java 2 - 6 Year Experience

Sapient Interview questions for Java experience candidate - 2 -6 years.....

Q1) Tell me about yourself!!!

Ans – Give your brief introduction with full confidence.

Q2) What are the types of class loaders in Java ?

Ans –

 Q3)  How to read and write image from a file ?

Ans – By the use of ImageIO.read() and ImageIO.write()  method of javax.imageio package.

 Q4) What is difference between static and init block in Java ?

Ans –

Q5) What is ConcurrentMap and how it works?

Ans – It’s a Map which providing thread safety and atomicity guarantees. For Memory consistency it works with other concurrent collections, actions in a thread prior to placing an object into a ConcurrentMap as a key or value happen-before actions subsequent to the access or removal of that object from the ConcurrentMap in another thread.

       Q6) Can a static block throw exception?

Ans –  Yes. We can throw checked exception.

Q7) What is difference between iterator access and index access?

Ans - Basically iterator access process the traverse operation through each element, where index access process access direct the element by using the index.

Q8) Why character array is better than string for storing password in Java?

Ans – Security !!! Because, character array stores data in encrypted format which is not readable by human. But, the string stores the data in human readable format which is not secure.

Q9) What is the difference between Serializable and Externalizable interfaces ?

Ans - Both interfaces are used for implement serialization. But, the basic
difference is Serializable interface does not have any method (it’s a
marker interface ) and Externalizable interface having 2 methods such as
 readExternal() and writeExternal(). Serializable interface is the super
interface for Externalizable interface. 

 Q10)   Which Interface is used to make duplicate of Objects ?

Ans – Cloneable interface.

 Q11) What are some advantages and disadvantages of Java Sockets?

Ans – The main advantage is its flexible and very efficient during low network bandwidth. Also its helpful for debugging and some kind of testing. But, security is the most disadvantages. Its always recommended to be careful when authenticating.

Q12)  When can an object reference be cast to an interface reference?

Ans –Yes its possible, when that interface is implemented by that class.

Example – MyInterface obj=new MyClass();
                obj.callMethod();

Q13)  How does Java allocate stack and heap Memory?

Ans – As we know stack memory is not dynamic and its follows LIFO order. Java provides similar implementation for memory allocation. Normally all local variables are created in Stack area (memory) and objects (reference types) are created in heap memory (heap area) .Even all primitive types allocated in stack memory. Heap area is dynamic and handled by JVM runtime. Heap memory is cleaned by garbage collector at runtime.

Q14)   What is memory leak in Java?


Ans – Usually memory leak leads to waste of memory. In general memory leak defines the unavailability of referenced memory. It causes the Garbage collector to fail to collect that object.

Q15) Can we throw exception from finally block in Java?

Ans – Yes, but you need to mentioned “throws” on the method head.

Example
        
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
TestInterface2 interObj=new InterfaceObject();

try{
interObj.display();
}catch(Exception e){
System.out.println("Exception handled...");
}finally{
throw new Exception("This is exception");
}
}

Q16)  How does Java handle integer overflows and underflows?

Ans – Yes, java handles overflows and underflows very intelligently. When it overflows it will go to MIN_VALUE (i.e. -231 ) and when it underflows to will go to MAX_VALUE (i.e. 231-1) .

Q18)  What is casting?

Ans – Casting means conversion. Basically we need casting to type cast the type. There are two types of casting by java i.e. explicit casting and implicit casting.

Q19)  What is new in JSP?

Ans – As per my knowledge JSP 2.1 has many new functionalities. It support resource injection via annotation. It has few extended support for java standard tag library. Also literal expression is supported by JSP 2.1 EL  and many other additional features.

Q20) What do you mean by Java Reflection ?

Ans – It provides runtime access to JVM.  Reflection is one of the most powerful API  which help to work with classes, methods and variables dynamically at runtime. Basically it inspects the class attributes at runtime. Also we can say it provides a metadata about the class. 

Q21) Why does the InputStreamReader class has a read() ?

Ans – Because, an InputStreamReader is a bridge from byte streams to character streams: It reads bytes and decodes them into characters using a specified charset. The charset that it uses may be specified by name or may be given explicitly, or the platform's default charset may be accepted.  It has two overloaded read() method . Each invocation of one of an InputStreamReader's read() methods may cause one or more bytes to be read from the underlying byte-input stream. To enable the efficient conversion of bytes to characters, more bytes may be read ahead from the underlying stream than are necessary to satisfy the current read operation.

Q22)   Describe a problem you faced and how did you solve that?

           Ans  - You can describe any issue you faced during your project work in the                          organization. And what the solution you have implemented for that issue. 

Friday, October 24, 2014

Top 5 Oracle Service Bus (OSB) Fundamental Interview Questions

Top 5 Oracle Service Bus (OSB) Fundamental Interview Questions

Q1. What is OSB and why do we need OSB?

Ans – In simple terms, it is a middleware tool provided by Oracle. It stands for Oracle Service Bus. It is used to deliver low-cost, standards-based integration for mission-critical SOA environments where performance and scalability are important. It simply helps to transform a complex architecture into a simple one by connecting different applications and services.

Q2. What is Proxy Service?

Ans - A proxy service is a service which you can expose to the outside world. Instead of publishing the actual service to the real world, we can publish the proxy service with additional/optimized business logic.

A proxy service can call any other proxy service (PS), local proxy service (LPS), and business service (BS). It is often called over the HTTP protocol.

Q3. What is Business Service?

Ans – A business service represents the configuration required to connect to an external or backend service. It can use a WSDL or other service definitions, depending on the type of service.

A business service is normally not called directly from the outside world. It is generally called by a proxy service. It directly communicates with the backend/business application.

Q4. What is Local Proxy Service?

Ans – A local proxy service is treated as an internal service. It is not exposed to the outside world. It is normally used for internal processing, validation, or common business logic, and it is used internally between proxy services, local proxy services, and business services.

It is called over the "local" protocol. They do not have an endpoint which a consumer sitting outside the OSB can invoke.

In order to invoke an internal proxy service, the consumer will have to invoke an external proxy service, which in turn will route it to the internal service.

Q5. What is VETO pattern?

Ans – VETO stands for Validation, Enrich, Transform and Operate. A commonly used approach in ESB/OSB is the VETO pattern.

The "Validate" step is usually the first part of an ESB process. It checks whether the incoming message meets the required conditions. Validation can be performed at different layers depending on the integration design.

The "Enrich" step involves adding additional data to a message to make it more meaningful and useful to a target service or application.

The "Transform" step converts the message to a target format.

The "Operate" step is the invocation of the target service or an interaction with the target application.

You can share your interview experience with the questions and answers asked in interviews for publishing on this blog.

Sunday, October 12, 2014

IBM Java Interview Questions for 3–8 Years of Experience

Q. What is Difference between interface and abstract class?

Ans : Interface and Abstract class both are looks similar from declaration point of view. The major difference is for implementing multiple inheritance you need interface, because java does not support multiple inheritance. All methods and  variables of interface are public. Interface can contain only abstract method (without method body)   , but abstract class can contains abstract and non-abstract methods. Abstract class must be inherited by sub class. These are few major points you can answer for interview. For more in interface read here.

Q. Can you write final method  in interface?

Ans : No , because interface methods do not have body . It need to be implement in implemented class.

Q. Is this possible to write final method  in abstract class?

Ans :  Yes, you can do this by using non abstract methods.

Q. What is Difference between Iterator and  ListIterator?

Ans : Both are used to retrieve the data from collection. Iterator only traverse in forward direction, but ListIterator can traverse in both forward and backward direction. ListIterator has hasPrevious() and previous() method which is not available in Iterator.

Q. Difference between synchronized  block and synchronized method ?

Ans : Synchronized Method defines a self contained block and  its easy to handle in multi-threaded environment. Both act as similar; there is no major advantage over each other. The difference is that a synchronized block can choose which object it synchronizes on. A synchronized method can only use 'this' (or the corresponding Class instance for a synchronized class method).

Q. Difference between String and StringBuffer class?

Ans :  String is immutable, but StringBuffer is not. StringBuffer used to represent characters that can be modified.  StringBuffer is faster when performing concatenations. This is because when you concatenate a String, you are creating a new object (internally) every time since String is immutable.

Q. How to get the session object in jsp?

Ans : By using implicit object “session”. You can use session.getAttributes() methods.

Q. How to get the session factory object in hibernate?

Ans : By the use of buildSessionFactory() method  .Syntax as below.

  SessionFactory factory= new Configuration().configure().buildSessionFactory();

Q. How to handle the runtime exception in jsp?

Ans : In jsp page directive you can use isErrorPage=true.

Q. Difference between method overloading and overriding?

Ans  :  Both are concept of polymorphism. Method overloading is a form of static binding. Method overriding is a form dynamic binding. Overloading is applied in single class, but overriding is applicable for inherited class. Method overloading is always specific to method signature. It defines number of parameter, type of parameter and sequence of parameter.

Q. Difference between java.util.date and java.sql.date ?

Ans : As we know every database support most three form of entry i.e. date, time and  timestamp. In java JDBC having all those supports using java.sql.Date, java.sql.Time, java.sql.TimeStamp. Internally all these JDBC classes extends java.util.Date.

Q. I have 1 to 100 elements in array unordered, one element missed find that one?

Ans : There is existing old formula. Calculate the sum of all numbers stored in the array of size 11 means it hold 12 data. Then, subtract the sum from (12 * 13)/2
Basic Formula: n * (n + 1) / 2. 

Q. Difference between equals() and hashcode()?

Ans : Both methods are from Object class. Equals() method is used to compare the contents of object or reference. But, hashcode() method is used to get the unique hash code for any object. Hashcode is used for hash implementations like HashMap, HashTable, HashSet etc.

Q. What is Comparator?

Ans : It’s an interface. It has two important methods. But, the frequently used method is compare() . It compares two different objects.

Q. We have equals() to compare two methods then why comparator again ?

Ans : Because , equals() method will only compare the content . It cannot compare two different objects. Comparator interface has compare()  method  which compare two  different object.

Q. What is auto wiring in spring ?

Ans : Autowiring is a mechanism for injecting objects in Spring. By using the annotation @Autowired , you can achieve that.

Its available inside  org.springframework.beans.factory.annotation package.

Q. We can get the container object through Bean factory and Application context what is the difference in both?

Ans : A BeanFactory is used to just instantiates and configures beans. An ApplicationContext also does that, and it provides the supporting infrastructure to enable lots of enterprise-specific features such as transactions and AOP. Read more on Spring Specification.

Q. What is the Difference between get() and load() in hibernate ?

Ans : These two methods are most useful method in Hibernate. Both method s are used to get/fetch the records from database. The  get() method will return null , if the data not found. The load() method always returns proxy.   

Q. Difference between page and page context in jsp ?

Ans : As we know both are implicit object of JSP. Page is a type java.lang.Object and it’s an instance of generated servlet from “this” JSP, but PageContext is a type of javax.servlet.jsp.PageContext. PageContext is used for storing and retrieving page-related information and sharing objects within the same translation unit and same request.

Q. What is application in jsp ?

Ans : It’s a scope. It defines the visibility for data over Application.