Hashing is the transformation of a string of characters into a usually shorter fixed-length value or key that represents the original string.
For example SHA-2 Hash of above statement will be 696421ad8a148a5e4c4064b9c9191831b6bed4aa484b2ccebe3208184bb30b29
Check Online at xorbin.com
Other hashing are MD5 and SHA-1 (previous version of SHA – 2).
Importance of Hashing Functions can be judged based upon there use cases
1) BlockChain Powered BitCoin (Digital Currency) core is SHA-2 Hash.
2) Digital Signature for Documents.
Lets see an example :(To Check whether the mail recipients has read the mail or not)
Now-a-days an email is written in HTML Format.So you can insert the below code easily.
<img src="webbug.php" width="1" height="1">
What will happen here is,the Email client will try to fetch the image from the src path, But instead of actual image the PHP script will get executed.So this way you can check if the user has read the mail or not.
Note : In most of the email clients images are blocked by default,in that case this will not help.
You might have seen these keywords in Project Design Docs. Lets understand their significance.
Internationalization is often written i18n, where 18 is the number of letters between i and n in the English word (I……18 letters……n).
Internationalization is the design and development of a product, application or document content that enables easy localization for target audiences that vary in culture, region, or language.
Localization is sometimes written as l10n, where 10 is the number of letters between l and n.
Localization refers to the adaptation of a product, application or document content to meet the language, cultural and other requirements of a specific target market (a locale).
Example 1: (Developing a Web Portal)
While developing you can keep all your text entries into a DB or in a Flat File instead of hard-coding to the views (HTML/JSP). If you doing this way then you keep a provision to change you locale without changing the code. This way you follow Internationalization and when you deliver you product to end-users with their local language then you are doing Localization.
Example 2: (OS)
I18N: Suppose your OS is English(US),You can just change the OS language to Japanese/Chineese and can Install application in either Japanese/Chineese support.
L10N: Your OS must be in the same locale as the application.eg on Japanese OS you can install Japanese language supported application.Here every thing will be in the same lacale.
Weak Reference :
An Object will not be garbage collected if one or more reference exits. This is not true always if the references are Weak Reference then its a valid candidate of Garbage Collection.
four types of references in Java i.e. strong reference, soft reference, weak reference and phantom reference. We will discuss about these references later.
Lets start with an example to understand Weak Reference.
Suppose you have a requirement to store current Active visitors with the entry time.
public class WeakReference
public static void main(String args)
Map<Visitor,Date> activeVisitors = new HashMap<Visitor,Date>();
Visitor v1 = new Visitor(1,"Bibek");
activeVisitors.put(v1, new Date());
Visitor v2 = new Visitor(2,"Anil");
activeVisitors.put(v2, new Date());
Visitor v3 = new Visitor(3,"Sachin");
activeVisitors.put(v3, new Date());
//Now lets say Bibek left so v1 will be null
v1 = null;
//Request for gc
private int vistiorId;
private String visitorName;
Visitor(int id,String name)
vistiorId = id;
visitorName = name;
Now you can see v1 left but the entry still exist in HashMap. So it shouldn’t exist in the Map and v1 should get garbage collected but this will not because its a strong reference.
The output to above program will be
Where as if you change the HashMap to WeakHashMap(Predefined Map which uses weak reference.there is a private method name expungeStaleEntries(), which is used to remove stale entries as given in above example and this method is used in all exposed methods of WeakHashMap) .
Note :System.gc() is a request not a command but by JVM respects my request 🙂
Map<Visitor,Date> activeVisitors = new WeakHashMap<Visitor,Date>();
The output will be as below
So you can use WeakHashMap whenever entries are no more used. Bit of google will help to understand it better.