Java | பல்சுவை தகவல்கள் - Thagavalgal in Tamil பல்சுவை தகவல்கள் - Thagavalgal in Tamil: Java

பல்சுவை தகவல்கள் - Thagavalgal in Tamil- Interesting Information in Tamil Useful Information you should know - Computer Tips, Health Tips, online offers, and more helpful Tips and Tricks நீங்கள் தெரிந்து கொள்ள வேண்டிய பயனுள்ள தகவல்கள்

Java லேபிளுடன் இடுகைகளைக் காண்பிக்கிறது. அனைத்து இடுகைகளையும் காண்பி
Java லேபிளுடன் இடுகைகளைக் காண்பிக்கிறது. அனைத்து இடுகைகளையும் காண்பி

வியாழன், 29 மே, 2014

Java 13ம் பாடம். மெத்தட்ஸ்(methods)



அடுத்ததாக நாம் பார்க்க இருப்பது மெத்தட்ஸ் பற்றி . ஒவ்வொரு கிளாஸிலும் வேரியபிள்ஸ் மற்றும் மெத்தட்ஸ் இருக்கும் என்பதை அறிவோம்.

இதில் மெத்தட் ஆனது நான்கு பகுதிகளை கொண்டுள்ளது. அவையாவன

  1. மெத்தட் பெயர்
  2. மெத்தட் திருப்பி அனுப்பும் இனம்(return type)
  3. பராமீட்டர்ஸ் தொகுதி(parameters list)
  4. method body.


பொதுவாக மெத்தட் signature எனப்படுவது மெத்தட் பெயர், மெத்தட் திருப்பி அனுப்பும் இனம் மற்றும் பராமீட்டர்ஸ் தொகுதி ஆகியவை இணைந்த்ததாகும். ஜாவாவில் வெவ்வேறு மெத்தட்கள் ஒரே பெயரில் இருக்க முடியும்.ஆனால் அவை ஏற்கும் பராமீட்டர்ஸ் தொகுதி வேறுபடும். இது method overloading எனப்படுகின்றது.


Syntax:


Returntype methodname (type1 arg1, type2 arg2, type3 arg3….)

{

       //body of the method

}


Method திருப்பி அனுப்பும் இனமானது primitive type ஆகவோ அல்லது class பெயராகவோ இருக்கலாம். ஒரு மெத்தட் ஆனது எந்த மதிப்பையும் திருப்பி அனுப்பாமலும் இருக்கலாம் .அப்பொழுது return type ஆனது void என குறிப்பிடப்படுகின்றது.


Parameter list ஆனது variable declaration தொகுப்பாகும். பராமீட்டர் இல்லாமலே ஒரு மெத்தட் அழைக்கப்படலாம்.





நிரல்:


class Box

{

    double width;

    double height;

    double depth;

   

    double volume()

    {

        return width*height*depth;

    }

    void setdim(double w, double h, double d)

    {

        width=w;

        height=h;

        depth=d;

    }

}

public class BoxDemo {


  

    public static void main(String[] args) {

       

        Box mybox1=new Box();

        Box mybox2=new Box();

        double vol;

       

     mybox1.setdim(10,20,15);  

     mybox2.setdim(3,6,9);

    

    

     vol=mybox1.volume();

     System.out.println("volume is" + vol);

    

     vol=mybox2.volume();

     System.out.println("volume is" + vol);

       

    }

}

மேலே உள்ள நிரலில் Box class ஆனது இரு மெத்தட்களை கொண்டுள்ளது . முதலில் உள்ளது volume(). இது அழைக்கப்படும் பொழுது எந்த parameterம் அனுப்பபட வில்லை.அதே நேரத்தில் volume கணக்கிடப்பட்டு double type value ஆனது திருப்பி அனுப்பபடுகின்றது. இரண்டாவதாக உள்ள மெத்தட் setdim ஆகும் இதற்கு மூன்று double மதிப்புகள் அனுப்பபடுகின்றது. இந்த மெத்தட் எந்த மதிப்பையும் திருப்பி அனுப்பவில்லை எனவே void  என குறிப்பிடப்பட்டுள்ளது.

புதன், 28 மே, 2014

Java- ஜாவா பாடங்கள் முழுவதும் இது வரை:

Java-Java-ஜாவா 15ம் பாடம்.

ஜாவாவும் மல்டிதிரட்டிங்கும்..


ஒரு நிரலின் இயக்கப்பாதை திரட் எனப்படுகின்றது. இவை தொடர்ச்சியான நிரல் வரிகளை மற்றும்  தனியான flow of control உடையது. உதாரணத்திற்கு cpu  ஆனது தொடர்ச்சியாக பல்வேறு பணிகளை செய்கின்றது. ஒரு ஆவணத்தை print செய்தல் , சாப்ட்வேர் நிறுவுதல் போன்ற பணிகளை செய்கின்றது.ஒவ்வொரு பணிகளும் வெவ்வேறு திரட்களை கொண்டது.
    
ஒரே ஒரு திரட் கொண்ட ப்ராசஸ் ஆனது single threaded process என்றும் ஒன்றுக்கும் மேற்பட்ட திரட் கொண்ட ப்ராசஸ் multi threaded process என்றும் அழைக்கப்படுகின்றது.
உதாரனமாக word ஆனது multi threaded process ஆகும். ஒரே நேரத்தில் ஃபார்மெட் மற்றும் ப்ரின்ட் முதலிய பணிகளை செய்யலாம்.
single threaded process ஆனது ஒரே நேரத்தில் ஒரே ஒரு பணியை செய்யக் கூடியது. multi threaded process ஆனது ஓரே நேரத்தில் ஒன்றுக்கும் மேற்பட்ட பணிகளை செய்யக்கூடியது.

மல்டி டாஸ்கிங்க் (multi tasking) எனப்படுவது ஒரே நேரத்தில் ஒன்றுக்கும் மேற்பட்ட பணிகளை செய்யக்கூடிய ஆற்றல் ஆகும்.

இவை இரு வகைப்படும்.
  1. process –based multitasking
  2. thread based multi tasking.
ப்ராசஸ் அடிப்படையிலான மல்டிடாஸ்கிங்க்.

இதில் ப்ரொசஸ் மாறும் போது  ஒரு program ல் இருந்து மற்றொரு ப்ரொக்ராமிற்கு மாறக்கூடியது.உதாரணமாக onlineல் பாட்டு கேட்டுகொண்டே வொர்ட் டாக்குமெண்டை ப்ரின்ட் செய்வது.இது heavy weight process எனப்படுகின்றது. ஏனெனில் இதில் ப்ராசஸிற்கு வெவ்வெறு நிணைவகவெளி(memory space) தேவைப்படுகின்றது.




திரட் அடிப்படையிலான மல்டிடாஸ்கிங்க்.

இதில் ஒரே நிரலின் வெவ்வெறு பகுதிகள் ஒரே நேரத்தில் இயக்கப்படுகின்றது.உதரணமாக text editor ஆனது ஒரே நேரத்தில் ஃபார்மட் செய்து கொண்டே ப்ரிண்டும் செய்வது ஆகும்.
இது ஒரே நிணைவக வெளீயில் நடைபெறுகின்றது, எனவே இது light weight process ஆகும்.

மல்டிதிரட்டிங்கின் நண்மைகள்:

  1. மேம்படுத்தப்பட்ட செயல் பாடு.
  2. குறைக்கப்பட்ட கணினி வளங்களின் பயன்பாடு.
  3. ஒரே நேரத்தில் வெவ்வெறு பயன்பாடுகளை அணுகுதல்.
  4. சுலபமாகப்பட்ட நிரல் அமைப்பு.
மல்டிதிரட்டிங்கின் பாதகங்கள்

  1. race condition:
                 ஒரே நேரத்தில் வெவ்வேறு திரட்டுகள் ஒரே வேரியபிளை அணுகுதல். ஒரு திரட் ஆனது வேரியபிளை படிக்க முற்படும் போது மற்றொன்று அதில் எழுத முற்படுதல்.
  1. Deadlock condition:
            இரண்டு திரட்டுகள் அதனுடைய செயல்பாடுகளை முடிப்பதற்கு ஒன்றுக்கொன்று எதிர்பாத்திருத்தல். உதாரணமாக திரட்1 மற்றும் திரட்2 எடுத்துக்கொள்வோம்.திரட்1 ஆனது அதனுடைய பணிகளை முடிப்பதற்கு திரட்2ல் லாக் ரிலீஸ் செய்யப்பட வேண்டும், அதே நேரத்தில் திரட்2 ஆனது அதனுடைய பணிககளை முடிப்பதற்கு திரட்1ல் லாக் ரிலீஸ் செய்ய வேண்டும். இதுவே deadlock எனப்படுகின்றது.
  1. ப்ரியாரிட்டி பிரச்சனை:
    இரண்டு திரட்டுகளை சிபியு அணுகும் போது அதிக ப்ரியாரிட்டி கொண்ட திரட்டை முதலில் செயல்படுத்தும்.




மல்டிதிரட்டிங்கின் தேவை:

        ஒரே ஒரு திரட் கொண்ட நிரலில் cpu ஆனது io  operations ஆக காத்திருக்கும் போது வாளாவிருக்கின்றது. இதனால் cpu வின் நேரம் வீணாகின்றது.மல்டி திரட்டிங்க் கொண்ட நிரலில் இந்நேரத்தில் நிரலின் மற்றொரு பகுதி செயல் படுத்தப்படும்.
 ஜாவாவில் திரட்டுகளின் பயன்பாட்டிற்கு java.lang.Thread கிளாஸ் பயன்படுகின்றது. Thread class ஆனது வெவ்வெறு வழிமுறைகளை(methods) கொண்டுள்ளது.

Java Interview Tips

Java interview tips

 
 
ஜாவாவில் main method ஆனது public static void ஆக இருப்பதேன்?
 

 

 மேற்கண்ட வினாவானது ஜாவா நேர்முகத்தேர்வில்  அடிக்கடி கேட்ப்படும் வினா.

 முதலில் main method ஆனது ஒரு நிரலில்  ivm(java virtual machine) முதலில் அழைக்கப்படும் method  ஆகும்.ஜாவாவின் main method, c மொழியின் main method போல் int value return செய்யும் வாய்ப்புகள் இல்லை . எப்போதும் இது எந்த மதிப்பையும் திருப்பி அனுப்பாது.

எனவே தான் இது void ஆக இருக்கின்றது.

Core java ஆனது இயக்கப்படும் போது ivm முதலில் main மெத்தடைத் தான் தேடும் இதில் syntax பிழையிருப்பின் No such method found :main என்ற பிழை சுட்ட்ப்படும்.

Static:

 ஜாவாவில் static அல்லாத methods  ஆனது  instance method ஆகும் . ஜாவாவில் பொதுவாக instance method ஆனது ஆப்ஜெக்ட் உருவாக்கப்பட்டு அதன் மூலமாகவே அழைக்கப்படும். Static method எனில் ஆப்ஜெக்ட் உருவாக்க தேவையில்லை.(static methods are class methods and these methods can be called directly with out creating object for the class).

எனவே தான் ivm இதை ஆப்ஜெக்ட் உருவாகாமல் அழைக்க முடிகின்றது.

Public:

Java ஆனது public, private, protected என சில மாடிஃப்யர்களை கொண்டுள்ளது. பொதுவாக பிரைவேட் என அறிவிக்கப்படும் மெத்தட்களை அந்த classன் வெளியே  அழைக்க முடியாது. Main method  ஆனது public என அறிவிக்கப்படுவதால் தான் jvm ஆனது

main மெத்தடை நேரடியாக அழைக்க முடிகின்றது.

 

சில குறிப்புகள்:

1.         ஒரு நிரலானது main methodல் இருந்து தான் இயங்க ஆரம்பிக்கின்றது.

2.         main method ஆனது public, static, void என்ற modifiers உடன் அழைக்கப்படவில்லை எனில் ஜாவா நிரல் இயங்காது.(this apply to only core java).

3.         main method ஆனது பிற மெத்தட்கள் மாதிரியே overload செய்ய முடியும்.எனினும் முதலில் அழைக்கப்படுவது கீழ்க்கண்ட signature கொண்ட மெத்தட் தான்.

      public static void main(String.. args)

 

     மீண்டும் அடுத்த கட்டுரையில் சந்திப்போம்.

Java-ஜாவா 14ம் பாடம்.(methods)

Java 13ம் பாடம். மெத்தட்ஸ்(methods)



அடுத்ததாக நாம் பார்க்க இருப்பது மெத்தட்ஸ் பற்றி . ஒவ்வொரு கிளாஸிலும் வேரியபிள்ஸ் மற்றும் மெத்தட்ஸ் இருக்கும் என்பதை அறிவோம்.

இதில் மெத்தட் ஆனது நான்கு பகுதிகளை கொண்டுள்ளது. அவையாவன

  1. மெத்தட் பெயர்
  2. மெத்தட் திருப்பி அனுப்பும் இனம்(return type)
  3. பராமீட்டர்ஸ் தொகுதி(parameters list)
  4. method body.


பொதுவாக மெத்தட் signature எனப்படுவது மெத்தட் பெயர், மெத்தட் திருப்பி அனுப்பும் இனம் மற்றும் பராமீட்டர்ஸ் தொகுதி ஆகியவை இணைந்த்ததாகும். ஜாவாவில் வெவ்வேறு மெத்தட்கள் ஒரே பெயரில் இருக்க முடியும்.ஆனால் அவை ஏற்கும் பராமீட்டர்ஸ் தொகுதி வேறுபடும். இது method overloading எனப்படுகின்றது.


Syntax:


Returntype methodname (type1 arg1, type2 arg2, type3 arg3….)

{

       //body of the method

}


Method திருப்பி அனுப்பும் இனமானது primitive type ஆகவோ அல்லது class பெயராகவோ இருக்கலாம். ஒரு மெத்தட் ஆனது எந்த மதிப்பையும் திருப்பி அனுப்பாமலும் இருக்கலாம் .அப்பொழுது return type ஆனது void என குறிப்பிடப்படுகின்றது.

Parameter list ஆனது variable declaration தொகுப்பாகும். பராமீட்டர் இல்லாமலே ஒரு மெத்தட் அழைக்கப்படலாம்.



நிரல்:


class Box

{

    double width;

    double height;

    double depth;

   

    double volume()

    {

        return width*height*depth;

    }

    void setdim(double w, double h, double d)

    {

        width=w;

        height=h;

        depth=d;

    }

}

public class BoxDemo
{

       public static void main(String[] args)
{

        Box mybox1=new Box();

        Box mybox2=new Box();

        double vol;

       mybox1.setdim(10,20,15);  
     mybox2.setdim(3,6,9);

    

   vol=mybox1.volume();

     System.out.println("volume is" + vol);

          vol=mybox2.volume();
     System.out.println("volume is" + vol);

    }

}

மேலே உள்ள நிரலில் Box class ஆனது இரு மெத்தட்களை கொண்டுள்ளது . முதலில் உள்ளது volume(). இது அழைக்கப்படும் பொழுது எந்த parameterம் அனுப்பபட வில்லை.அதே நேரத்தில் volume கணக்கிடப்பட்டு double type value ஆனது திருப்பி அனுப்பபடுகின்றது. இரண்டாவதாக உள்ள மெத்தட் setdim ஆகும் இதற்கு மூன்று double மதிப்புகள் அனுப்பபடுகின்றது. இந்த மெத்தட் எந்த மதிப்பையும் திருப்பி அனுப்பவில்லை எனவே void  என குறிப்பிடப்பட்டுள்ளது.

Java-ஜாவா 12ம் பாடம்.(Object அறிவிப்பு)

Object அறிவிப்பு-java 12


ஒரு கிளாஸை உருவாக்குதல் என்பது புதியததாக datatype உருவாக்குதலுக்கு சமம்.எப்படி ஒரு வேரியபிள் இன்ட் அல்லது ஃப்லோட் என்கின்றோமோ அதே போல் ஒரு ஆப்ஜெக்ட் ஆனது அந்த கிளாஸை சார்ந்ததாகும்.
ஆப்ஜெக்ட் இரு நிலைகளில் உருவாக்கப்படுகின்றது. முதலில் அந்த கிளாஸிற்கு வேரியபிளாக அறிவிக்கப்படுகின்றது இரண்டாவது நிலையில் ஆப்ஜெக்டின் physical copy ஆனது அந்த வேரியபிளுக்கு assign செய்யப்படுகின்றது
 
உதாரணமாக:

Box mybox=new Box();

இந்த statement ஆனது இரண்டு statementகளை கம்பைன் செய்ததாகும்.

Box mybox;
Mybox=new Box();

முதல் வரியானது mybox என்னும் reference , Box டைப் ஆக அறிவிக்கப்படுகின்றது.இந்த அறிவிப்பிற்கு பிறகு mybox ஆனது null value கொண்டிருக்கின்றது..இரண்டாவது வரியானது ஆப்ஜெக்ட்டை உருவாக்கி mybox க்கு reference assign செய்கின்றது.உண்மையில்  mybox ஆனது Box ஆப்ஜெக்ட்டின் நினைவக முகவரியை கொண்டிருக்கிறது.

new operator:
 

new operator ஆனது ஆப்ஜெக்டிற்கு ரன் டைமில் (இயக்க நேரத்தில் நினைவத்தை ஒதுக்குகின்றது.

Syntax:
Class-var=new Classname();
 இங்கு class-var ஆனது ஆப்ஜெக்ட் ஆகும். Classname ஆனது எந்த class ன்  ஆப்ஜெக்ட் உருவாக்கப்படுகின்றதோ அந்த கிளாஸின் பெயராகும்.class name ஐ தொடரும் parentheses ஆனது constrrucorஐ குறிக்கின்றது. Constructor  என்றால் என்ன என்று வரும் பாடங்களில் பார்ப்போம்.

ஆப்ஜெக்ட் assigning.








Box b1=new Box();
Box b2=b1;

நாம் நிணைப்பது போல் b2 விற்கு b1 assign செய்ய படுவதில்லை.
உண்மையில் b1,b2 இரண்டுமே ஒரே ஆப்ஜெக்டை ரெஃபெர் செய்கின்றன.b2விற்கு என்று ஆப்ஜெக்டின் நினைவகம்  ஒதுக்க படுவதில்லை. B1 எந்த நினைவகத்தை point செய்கின்றதோ அதே Box classந் நினைவகத்தை b2ம்  point செய்கின்றது.
 class Box
{
double width;
double height;
double depth;
}
class BoxDemo
{
public static void main(String args[])
{
Box mybox1=new Box();
Box mybox2=new Box();
double vol;
mybox1.width=10;
mybox2.height=20;
mybox.depth=15;

mybox2.width=3;
mybox2.height=6;
mybox2.depth=9;

vol=mybox1.width*mybox1.height*mybox1.depth;
System.out.println(“volume is “+vol);

vol=mybox2.width*mybox2.height*mybox2.depth;
System.out.println(“volume is “+vol);

 }
}
---தொடரும்.

Java-ஜாவா 11ம் பாடம்.(setMethod மற்றும் getMethod).

java 11. setMethod மற்றும் getMethod.


Local variables மற்றும் instance variables:

ஒரு மெத்தெடின் உட்புறம் அறிவிக்கப்படும் variables ,local variable என அறியப்படுகின்றது..மேலும் இவற்றை அந்த மெத்தெடின் உட்புறம் மட்டுமே அவற்றை உபயோகிக்க முடியும்.ஒரு கிளாஸின் உட்புறம் method க்கு வெளிப்புறம் அறிவிக்கப்படும் variable ஆனது instance variable எனப்படுகின்றது.. ஒவ்வொரு objectம் ஒவ்வொரு இன்ஸ்டண்ட் வேரியபிள் மதிப்பினை கொண்டிருக்கும்.உதாரணத்துக்கு rectangle  என class அறிவிக்கப் படுகின்றது என ஏடுத்துக் கொள்வோம் . அவற்றுக்கு length, breadth என instance variables அவற்றிற்கு அறிவிக்கப் படலாம். Rectangle கிளாஸிற்கு r1,r2 என ஆப்ஜெக்ட்கள் உருவாக்கப்பட்டால் ஒவ்வொரு ஆப்ஜெக்ட்டும் ஒவ்வொரு length,breadth மதிப்புகளைக் கொண்டிருக்கும்.


SetMethod:

  ஒரு கிளாஸின் உட்புறம் ஒன்றுக்கும் மேற்பட்ட மெத்தெடுகள் அறிவிக்கப்படுகின்றது. இவை கிளாஸின் instance  variables manipulate செய்யப் பயன்படுகின்றது.
இவற்றில் setMethod ஆனது கிளாஸின் ஆப்ஜெக்ட் வேரியபிள்களை மதிப்பிருத்தப் பயன்படுகின்றது.கிளாசின் வேரியபிள்களில் மாற்றம் செய்யும் மெத்தெடுகள் mutator method என அறியப்படுகின்றது.

getMethod:

getMethod ஆனது கிளாஸின் instance variable களின் மதிப்பை return செய்கின்றது. இவை கிளாசின் instance  variable களில் எந்த மாற்றமும் செய்வதில்லை. எனவே இவை Accessor method என அறியப்படுகின்றது.

குறிப்பு:

இவை set ,மற்றும் get எனத்தான் இவற்றின் பெயர்கள் ஆரம்பிக்கப்பட வேண்டும் என்பதில்லை. எனினும் ஜாவா மொழியின் convention படி இவற்றின் பெயர்கள் இவ்வாறு அரம்ம்பிக்கப்படுகின்றது.


உதாரணம்:


package gradebooktest;

import java.util.Scanner;

class GradeBook
{
    private String courseName;
    public void setCourseName(String name)
    {
        courseName=name;
    }
    public String getCourseName()
    {
        return courseName;
    }
    public void displayMessage()
    {
        System.out.printf("welcome to the grade book for \n%s!\n",getCourseName());
    }
}
public class GradeBookTest {

  
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        GradeBook myGradeBook=new GradeBook();
        System.out.printf("Initioal course name is :%s\n\n",myGradeBook.getCourseName());
        System.out.println("please enter the course name:");
        String theName=input.nextLine();
        myGradeBook.setCourseName(theName);
        System.out.println();
        myGradeBook.displayMessage();
    
    }
}

output:


Initioal course name is :null

please enter the course name:
java

welcome to the grade book for
java!

 மேலே உள்ள நிரலில் getCourseName ஆனது courseName என்ற instance variable ஐ மதிப்பினை return செய்கின்றது.
setCourseName ஆனது courseNameஐ மதிபிருத்தப்பட பயன்படுகின்றது.
displayMessage மெத்தெட் ஆனது getCourseName மதிப்பினை பெற பயன்படுகின்றது. 

Popular Posts

Facebook

Blog Archive