Sunday, August 17, 2014

Job Opportunity - Dot Net

From: Jamal Siddique
Date: Wed, Aug 13, 2014 at 9:35 PM
Subject: Job Opportunity at Infosys - .Net

> From: careers_se <careers_se@infosys.com>
> Subject: Job Opportunity at Infosys - .Net
> To: 
> Dear Candidate, 

>  Infosys is here with new opportunities. We got your
> résumé from a job site and are interested in your profile.
> Kindly revert back to us if you are interested in an
> opportunity with Infosys. You may refer your friends as well
> if their qualification matches
> our requirements. 

>  Experience: 

> 24 months to 42 months of relevant IT Experience 

> Location: 

> Infosys has development centers in Pune, Bangalore, Chennai,
> Hyderabad, Mysore, Mangalore, Bhubaneswar, and
> Trivandrum. 

> The location of posting would depend on open
> requirements. 

>  Education: 

> B.E / B.Tech / M.C.A / M.Sc / M.E / M.Tech degree with a
> consistently excellent academic record through standards 10
> & 12, Engineering/Graduation and Post-Graduation.

>  Following information is mandatory without
> which we won’t be able to take your profile forward.
> Please fill up the following details: 

> Personal Email ID 


> 10th/12th/Graduation % Marks 


> Date Of Birth 


> Total Experience in Month 


> Name of Current Organization 


> DOJ of Current Organization 


>  Industry Type: 

> IT-Software/Software Services 

>  Skillsets we are
> looking for: .Net 

>  Please e-mail your latest résumé  –
> mentioning your date of birth, contact numbers and
> personal-Email ID in response to the mail. 

>  Candidates who have been through our
> selection process in the last nine months need not apply
> again. 

> To know more about Infosys Business IT Services, visit 


>  Regards, 

> Talent Acquisition, 

> Infosys Ltd. 

Warm Regards,
Jamal K

Bst Rgds,
"Knowledge grows when it is shared"
“Assisting people who are in trouble, providing help to people who are needy and feeding those people who are hungry are acts of Worship.” 
http://shawnetv2.shawgrp.com/weekly/PublishingImages/GoGreenIcon_rev1.gifLove Nature...
 Save a tree. Use Less Papers. Don't print this e-mail unless it's really necessary!!
Pü Consider the environment. Think before you print.

Saturday, June 21, 2014

Migrating to Java Language

It's not rocket science, but it is a bit verbose

1. You cannot manage for anything beyond a toy project without an IDE. The very first thing you should do is download a popular Java IDE (Eclipse is a fine choice, but there are also alternatives including Netbeans and IntelliJ).
   You will be living in a cave and not realising it. Once you're up to speed with even basic IDE functions you will be literally dozens of times more poductive than without an IDE.

2. Learn how to layout a simple project structure and packages.
   There will be simple walkthroughs of how to do this on the Eclipse site or elsewhere. Never put anything into the default package.

3. Learn Java's generics 

4. Understand how Java's GC works. Just google "mark and sweep" - at first, you can just settle for the naivest mental model and then learn the details of how a modern production GC would do it later.

5.The core of the Collections API should be learned without delay. Map / HashMap, List / ArrayList & LinkedList and Set should be enough to get going.

6.Learn modern Java concurrency. Thread is an assembly-language level primitive compared to some of the cool stuff in java.util.concurrent. Learn ConcurrentHashMap, Atomic*, Lock, Condition, CountDownLatch, BlockingQueue and the threadpools from Executors. Try read some Good Java books ( By Joshua Bloch, Kathy Sierra, Head First Series or Black Book) . 

Buy these two books to start with :
1.The JavaTM Programming Language, (4th Edition) Ken Arnold, James Gosling, Davis Holmes
2.Effective Java (2nd Edition), Joshua Bosh

Contact me at shakir@jtechnova.com   / www.jtechnova.com

Sunday, March 9, 2014

When to use Abstract classes and interface in real time scenarios?

Question : When to use Abstract classes and interface in real time scenarios?

"Suppose you have to provide salaryincrement method(service) to your 
multiple clients.Every client has it's own logic for the increment.So 
how will you do it."

Main concern of this question was whether i'll use abstract class or 

Please don't give animal or car example.Just give any real application 
or project example in which at some place you used abstract class 
and at some place you used interface.

when u creating the project from scratch than you have to create the 
abstract class, one of the demerit of abstract class is that it 
provide tight coupling and interface provide loose coupling......for 
example create a abstract Animal class{
// provide the abstract method which are common to all animal like eat,run,etc


Declare your class as an abstract class when your class describes an 
abstract idea
rather than a specific one.
Lets take an example from real life for an abstract class:
public abstract class Food{
Food! who doesn?t like food! there are so much types of Food
but wait... what exactly is Food???? or, why did I declare Food abstract????
I'll answer that question with another question
Suppose i asked you "what did you eat for lunch?"
you may answer: "I ate pizza for lunch!" or maybe "I ate Pancake for lunch!"
but you will never answer, "I ate Food for lunch!"
why? because Food is an abstract definition for "Things we eat".
while Pizza, and Pancake are subclasses of food. in code it would look 
something like this:
public abstract class Food {}
public class Pizza extends Food {}
public class Pancake extends Food {}
You can declare instances of Pizza, and Pancake but not of food.
Ok. now, after we understood what an abstract class is, lets move to:
Abstract methods!
An abstract method is declared that way:
public abstract void abstractMethod();
Some important things concerned abstract methods:
1. Abstract method cannot be declared private!
2. Abstract methods don't have a body. these are empty methods.
so when declaring an abstract method, end the line with ";".
3.Only abstract classes can contain abstract methods!
(or interfaces, will be explained later).

Why would you want to use abstract method?
lets return to our food example.
to eat food, you have to prepare it.(cook\fry or so).
so how do you prepare Food?
there is no question for this question. why??
because each instance of food(pizza, Pancake, salad) is prepared in a 
different way!
public abstract class Food{
public food(){
public abstract void prepare();//the abstract method

public class Pizza extends Food {
public Pizza(){
public void prepare(){
//cut tomatoes, have the dough, add cheese, insert the oven...
}//end of pizza subclass

public class Pancake extends Food{
public pancake(){
public void prepare(){
//add all ingredients on the pan, add sauce, onions, fry it...
}//end of Pancake class

In that example you see how you use an abstract method.
abstract method should be used when you want to do the same operation, 
but in different ways.

What is an interface?
Think of an interface as a contract that a class does.
in order to implement an interface a class must implement the 
interfaces methods.
An interface contains constants and abstract methods.(only abstract methods!).

Lets proceed, and have an example for using interfaces from the Java API.
The List interface.
A List is an interface.
ArrayList and LinkedList are classes implementin the List interface.
suppose in your code you nedd a List of String objects(could be any 
other data type though).
List<String> stringList = new ArrayList<String>();
Later on your code, you decide that you made a mistake, and a 
LinkedList is what you need.
So you just change the declaration to:
List<String> stringList = new LinkedList<String>();

When will you use an interface? why not use an abstract class?

The following code is the wrong way to achieve our task. it is just to 
show why an abstract class is the wrong choice for what we want to do.
public abstract class Washable {
public Washable(){
public abstract void wash(){;
now, washing a car is different than washing a bicycle, and is 
definitely different than washing a rollerblades. right?
also, washing colored clothes is different than washing white clothes.
so, what will you do if you want to create a car class?
public class car extends vehicle, extends Washable { //cant extend both!

What you want to do in such a case is declare Washable as an interface.
public interface Washable {
void wash();


Use Abstract When ? =>
*If various implementation are of the same kind and use common 
behaviour or status Then better to use abstract .
* If you plan on updating the base class throughout the life of 
program.It is best to allow that base class to be an abstract class. 
why ? => Because you can make a change to it and all the inheriting 
classes will now have this new functionality.

Use Interface When ?
* Interface should be used when we need to define common behaviour 
which can have different variations of implementation.
* You see that something in your design will change frequently . then 
use interface.

Bst Rgds,
"Knowledge grows when it is shared"

You have been invited to join JavaTechZone Yahoo Group.

Pls check our blogs:

Kindly visit www.jtechnova.com for More Information

Tuesday, February 25, 2014

(Most Frequently Asked) Java Interview Question - Differences between recent Java Versions

Features of Recent Java Versions

Java 5
– Major update. Generics, varargs, printf, @Override, new
“for” loop.

Java 6
– Minor update. Updates to collections, Swing, etc.

Java 7
– Minor update. Diamond operator, Strings in switch
statements, try-with-resources, updates to Swing
(especially new look and feel).

Java 8
– Major update. Lambdas for functional programming.
Streams for bulk operations. Final version early 2014.

Kindly add if missed any points here.

Bst Rgds,
"Knowledge grows when it is shared"
“Assisting people who are in trouble, providing help to people who are needy and feeding those people who are hungry are acts of Worship.” 
Love Nature...
 Save a tree. Use Less Papers. Don't print this e-mail unless it's really necessary!!

Pü Consider the environment. Think before you print.

Thursday, September 27, 2012

Java Interview Coaching for Free for Freshers

 Kindly drop me an email on shakir.alate@gmail.com for Java Interview questions and preparation / guidance.

thanks and regards,

Monday, September 24, 2012

Difference between save and saveOrUpdate , get() and load() in Hibernate Questions [ frequently asked questions in Hibernate interview ]

Difference between save and saveOrUpdate in Hibernate
Save vs SaveOrUpdate vs Persist method in HibernateMain difference between save and saveOrUpdate method is that save() generates a new identifier and INSERT record into database while saveOrUpdate can either INSERT or UPDATE based upon existence of record. Clearly saveOrUpdate is more flexible in terms of use but it involves an extra processing to find out whether record already exists in table or not. In summary  save() method saves records into database by INSERT SQL query, Generates a new identifier and return the Serializable identifier back. On the other hand  saveOrUpdate() method either INSERT or UPDATE based upon existence of object in database. If persistence object already exists in database then UPDATE SQL will execute and if there is no corresponding object in database than INSERT will run.

Difference between get and load method

Hibernate Session  class provides two method to access object e.g. session.get() and session.load() both looked quite similar to each other but there are subtle difference between load and get method which can affect performance of application. Main difference between get() vs load method is that get() involves database hit if object doesn't exists in Session Cache and returns a fully initialized object which may involve several database call while load method can return proxy in place and only initialize the object or hit the database if any method other than getId() is called on persistent or entity object. This lazy initialization can save couple of database round-trip which result in better performance.

Read more: http://javarevisited.blogspot.com/2012/07/hibernate-get-and-load-difference-interview-question.html#ixzz27NFtCiSk

Here are few differences between get and load method in Hibernate.

1. Behavior when Object is not found in Session Cache
Apart from performance this is another difference between get and load which is worth remembering. get method of Hibernate Session class returns null if object is not found in cache as well as on database while load() method throws ObjectNotFoundException if object is not found on cache as well as on database but never return null.

2. Database hit
Get method always hit database while load() method may not always hit the database, depending upon which method is called.

3. Proxy
Get method never returns a proxy, it either returns null or fully initialized Object, while load() method may return proxy, which is the object with ID but without initializing other properties, which is lazily initialized. If you are just using returned object for creating relationship and only need Id then load() is the way to go.

4. Performance
By far most important difference between get and load in my opinion. get method will return a completely initialized object if  Object is not on the cache but exists on Database, which may involve multiple round-trips to database based upon object relational mappings while load() method of Hibernate can return a proxy which can be initialized on demand (lazy initialization) when a non identifier method is accessed. Due to above reason use of load method will result in slightly better performance, but there is a caveat that proxy object will throw ObjectNotFoundException later if corresponding row doesn't exists in database, instead of failing immediately so not a fail fast behavior.

5. load method exists prior to get method which is added on user request.

When to use Session get() and load() in Hibernate
get vs load hibernate interview questionSo far we have discussed how get and load are different to each other and how they can affect performance of your web application, after having this information in our kitty we can see some best practices to get most of load and get together. This section suggest some scenario which help you when to use get and load in Hibernate.

1. Use get method to determine if an instance exists or not because it can return null if instance doesn't exists in cache and database and use load method to retrieve instance only if you think that instance should exists and non availability is an error condition.

2.  As stated in difference number 2 between get and load in Hibernate. get() method could suffer performance penalty if only identifier method like getId()  is accessed. So consider using load method  if  your code doesn't access any method other than identifier or you are OK with lazy initialization of object, if persistent object is not in Session Cache because load() can return proxy.

How to call get records in Hibernate using get and load method
If you look at below code , there is not much difference on calling get() and load() method, though both are overloaded now and can accept few more parameters but the primary methods looks exactly identical. It's there behavior which makes them different.

//Example of calling get method of Hiberante Session class
Session session = SessionFactory.getCurrentSession();
Employee Employee = (Employee) session.get(Employee.class, EmployeeID);

//Example of calling load method of Hiberante Session
Session session = SessionFactory.getCurrentSession();
Employee Employee = (Employee) session.load(Employee.class, EmployeeID);

That's all on difference between get and load in Hibernate. No doubt Hibernate is a great tool for Object relational mapping but knowing this subtle differences can greatly help to improver performance of your J2EE application, apart from practical reason get vs load method is also frequently asked questions in Hibernate interview, so familiarity with differences between load and get certainly helps.

Bst Rgds,
Skype ID : shakmac4u
Mobile :             +91 9820 386 949 (INDIA)

Knowledge is knowing what to do, skill is knowing how to do, virtue is getting it done. " – Norman Vincent Peale

Love Nature...
 Save a tree. Use Less Papers. Don't print this e-mail unless it's really necessary!!

Thursday, September 13, 2012

EJB2 vs EJB3: EoD ( Ease Of Development )

The deployment descriptors are no longer required; everything can be accomplished using metadata

The CMP (Container Managed Persistence) has been simplified; it is now more like Hibernate or JDO.

Programmatic defaults have been incorporated. For example, the transaction model is set to
REQUIRED by default. The value needs to be set only if a specific value other than the default value
is desired.

The use of checked exceptions is reduced; the RemoteException is no longer mandatory on each
remote business method.

Inheritance is now allowed; therefore, beans can extend some of the base code.

The native SQL queries are supported as an EJB-QL (Query Language) enhancement.

Bst Rgds,
Skype ID : shakmac4u
Mobile :             +91 9820 386 949 (INDIA)

Knowledge is knowing what to do, skill is knowing how to do, virtue is getting it done. " – Norman Vincent Peale

Love Nature...
 Save a tree. Use Less Papers. Don't print this e-mail unless it's really necessary!!

Tuesday, January 3, 2012

Fwd: Need Attention........................

---------- Forwarded message ----------
From: Mohammad Zeyaul Haque
Date: Tue, Jan 3, 2012 at 2:42 PM




Bst Rgds,

"Watch your thoughts; they become words. Watch your words; they become actions. Watch your actions; they become habits. Watch your habits; they become character. Watch your character; it becomes your destiny."

Love Nature...
 Save a tree. Use Less Papers. Don't print this e-mail unless it's really necessary!!

Sunday, July 24, 2011

Onsite Opening for Java Professionals at Singapore

Job Location: Singapore

Dear Candidate,
We have excellent onsite opportunity for Java professionals with one of our leading client based in Chennai.

Candidate would be working at Singapore location.

Candidate should posses a valid passport.

Below are the details for the same :

Position : 10
Total exp - 4-6 years
Skills - Java J2ee
Domain - Banking domain
Location - Singapore
Job Type - Permanent
Joining time - 15-30 Days maximum

If interested, please mail me your resume asap to javaj2ee.dubai@gmail.com