November 20, 2013

Where to declare Java Variables?

Recently I went to Java Meetup. And it was all about Garbage Collector. So I learned lot more about Garbage Collectors. So Dr. Daya's suggestions was not to declare variable in higher scopes unless we really know what we do. For a example, don't declare class level variables if we are only using it inside on method. Then I was thinking about doing some tests on variable declarations. I used following code:

Then I used following code to do see the difference. Following code is declaring a variable in a higher scope(which is bad according to Dr.Daya).

First Code execution time was 1756557171 ms.(Variable01.java)
Second Code execution time was 1826556296 ms.(Variable02.java)

With those statistics, it's clear that declaring objects(Strings) in relevant scopes improves performance. But primitive data types are different. So I did same code for a primitive data type.


int is a primitive data type. It will not behave like String did. Improvement is upside down here.

Third Code execution time was 1829664932 ms.(Variable03.java)
Forth Code execution time was 1681147372 ms.(Variable04.java)

Those statistics were collected from same machine with same condition. And I ran those programs against JRE 1.6.0_45. I saw a difference in result, when I ran those programs on JRE 1.7.0_45. Now I'm digging into it!

November 02, 2013

Ubuntu 13.10 කොහොමද?

මම දැන් අවුරුද්දක විතර ඉදලා පාවිච්චි කරන්නේ එක එක ජාතියේ ලිනක්ස් ඩිස්ට්‍රෝ. ඒකට හේතුව වෙලා තියෙන්නේ මට වැඩ කරන්න වෙලා තියන සර්වර්ස් හැම එකක්ම වගේ ලිනක්ස් හන්දා, මමත් ලිනක්ස් පාවිච්චි කරන කොට ගොඩක් ලේසි. ඒත් මම පාවිච්චි කරපු හැම ලිනක්ස් ඩිස්ට්‍රෝ එකකින්ම පහසුව අතින් බලනකොට ඉස්සරහින්ම ඉන්නේ උබුන්ටු. ඇත්තටම ලින්ක්ස් සාමාන්‍ය එදිනෙදා වැඩ කරන අයට පාවිච්චි කරන්න පුලුවන් තරමට පත් කරලා තියෙන්නේ උබුන්ටු කියන එක කියන්න ඕන. උබුන්ටු වල 9 වන උපන් දිනයත් ගිය මාසේම තමා තිබුනේ.

ඉතින් ගිය මාසේ 17 වෙනිදා උබුන්ටු 13.10 ඒකියන්නේ උබුන්ටු වල අලුත්ම සංස්කරණය නිකුත් කලා. උබුන්ටු වල සංස්කරණ නම් කරන ක්‍රමයක් තියනවා. ඒ තමා පලවෙනි ඉලක්කම් දෙකෙන් කියන්නේ සංස්කරණය නිකුත් කරන අවුරුද්ද, 13 කියන්නේ 2013 කියන එක. ඒවගේම දෙවනෙි ඉලක්කම් දෙකෙන් කියන්නේ නිකුත් කරන මාසය, 10 කියන්නේ ඔක්තෝම්බර් කියන එක. උබුන්ටු රිලිස් කරන්නේ අවුරුද්දකට දෙපාරක් විතරයි. ඒක අප්‍රේල් මාසයේ සහ ඔක්තොම්බර් මාසයේ. ඒක හන්දා දෙවෙනි ඉලක්කම් දෙක වෙන්න පුලුවන් 04 හෝ 10 විතරමයි. ඒවගේම අවුරුදු දෙකකට සැරයක් LTS සංස්කරණයක් නිකුත් කරනවා. LTS කියන්නේ Long-Term Support කියන එකයි. LTS සංස්කරණ ගොඩක් ස්ථායි. ඒකියන්නේ තියන bugs ගොඩක් අඩුයි. ඒවගේම ඊල LTS රිලිස් එක එනකම් LTS වලට Updates, Patches නිකුත් කරනවා.

ගොඩක් පරිගණක පාවිච්චි කරන අයට වින්ඩෝස් වලිදි තියන වයිරස් කරදරයෙන් මිදෙන්න හොදම විසදුමක් තමා උබුන්ටු. වින්ඩෝස් වල තියන හැම සොෆ්ට්වේයා එකකටම වගේ විකල්පයක් තියනවා උබුන්ටු වල.

මේ infographic එක අරගත්තේ මම http://www.omgubuntu.co.uk/ සයිට් එකෙන්.


උබුන්ටු වල තියන Unity ඩෙස්ක්ටෝප් එකට මගේ වැඩි කැමැත්තක් නැ. ඒත් උබුන්ටු 13.10 වලදි Unity වලට features එකතු කරලා තියනවා. මම ඇතතටම කැමති අවශ්‍ය ඇප්ලිකේෂන් සර්ච් කරන්න පුලුවන් ගුණාංගයට. එවගේම පාවිච්චිය ලේසි කරන විදිෙහේ ගුණාංග එකතු කරලා තියනවා. ඒත් ලොකු වෙනසක් කරන දෙයක් එකතු කරලා නෑ.

මම උබුන්ටු 13.10 ඉන්ස්ටෝල් කරපු ගමන් කිසිම සොෆ්ට්වෙයාර් එකක් ඉන්ස්ටෝල් නොකර වයර්ලස් මවුස් එකේ battery status පෙන්නුවාම මට පුදුමත් හිතුනා.