Friday, April 12, 2019

multithreading with start()

public class cl extends Thread{ 
 public void run(){ 
  for(int i=1;i<5;i++){ 
    try{
        Thread.sleep(300);
       
    }
    catch(InterruptedException e)
    {System.out.println(e);} 
    System.out.println(i); 
  } 
 } 
 public static void main(String args[]){ 
  cl t1=new cl(); 
  cl t2=new cl(); 
 
  t1.start(); 
  t2.start(); 
 } 




$javac cl.java
$java -Xmx128M -Xms16M cl
1
1
2
2
3
3
4
4

multithreading with run()

public class cl extends Thread{
 public void run(){
  for(int i=1;i<5;i++){
    try{
        Thread.sleep(300);
     
    }
    catch(InterruptedException e)
    {System.out.println(e);}
    System.out.println(i);
  }
 }
 public static void main(String args[]){
  cl t1=new cl();
  cl t2=new cl();
 
  t1.run();
  t2.run();
 }
}



$javac cl.java
$java -Xmx128M -Xms16M cl
1
2
3
4
1
2
3
4

Java Thread Example by implementing Runnable interface

public class cl implements Runnable{ 
public void run(){ 
System.out.println("thread is running..............................."); 

 
public static void main(String args[]){ 
cl ob=new cl(); 
Thread t1 =new Thread(ob); 
t1.start(); 
 } 




$javac cl.java
$java -Xmx128M -Xms16M cl
thread is running...............................

thread using thread class

code:

public class cl extends Thread{ public void run(){ System.out.println("thread is running.............."); } public static void main(String args[]){ cl ob=new cl(); ob.start(); } }


output:
$javac cl.java
$java -Xmx128M -Xms16M cl
thread is running..............

variable arguments in java.

1. variable-argument-in-java    link
2.  java-program- with overloading -  link
3.  variable-argument- with-overloading   ambiguity - link                                

variable argument with overloading ambiguity in java

// Java program to demonstrate varargs
public class cl
{
// A method that takes variable number of intger
// arguments.


static void f(double x)
{
    System.out.println("overloaded function");
    System.out.println(x);
}

static void f(int x)

{

    System.out.println("overloaded function");

    System.out.println(x);

}

static  void f(int ...a)
{
System.out.println("Number of arguments: " + a.length);


for (int i=0;i<a.length;i++)
System.out.print(i + " ");
System.out.println();
}





public static void main(String args[])
{

f(100); // one parameter
f(1, 2, 3, 4); // four parameters
f();
f(1.1);// no parameter
}
}

$javac cl.java
$java -Xmx128M -Xms16M cl
overloaded function
100
Number of arguments: 4
0 1 2 3 
Number of arguments: 0

overloaded function
1.1

variable argument with overloading in java




// Java program to demonstrate varargs
public class cl
{



static void f(double x)
{
    System.out.println("overloaded function");
    System.out.println(x);
}



static  void f(int ...a)
{
System.out.println("Number of arguments: " + a.length);


for (int i=0;i<a.length;i++)
System.out.print(i + " ");
System.out.println();
}





public static void main(String args[])
{

f(100); // one parameter
f(1, 2, 3, 4); // four parameters
f(); // no parameter
f(1.1);
}
}


output:
$javac cl.java
$java -Xmx128M -Xms16M cl
Number of arguments: 1
0 
Number of arguments: 4
0 1 2 3 
Number of arguments: 0

overloaded function
1.1

variable argument in java

public class cl
{
// A method that takes variable number of intger
// arguments.
static  void f(int ...a)
{
System.out.println("Number of arguments: " + a.length);


for (int i=0;i<a.length;i++)
System.out.print(i + " ");
System.out.println();
}

// Driver code
public static void main(String args[])
{
// Calling the varargs method with different number
// of parameters
f(100); // one parameter
f(1, 2, 3, 4); // four parameters
f(); // no parameter
}
}


output:
$javac cl.java
$java -Xmx128M -Xms16M cl
Number of arguments: 1
0 
Number of arguments: 4
0 1 2 3 
Number of arguments: 0


static variable and function

code:

import java.io.*;
 
class cl{
     
    public static int a;
     public static  void f(int x){
         
        a = x;
    }
}
 
public class cl1 {
    public static void main (String[] args) {
     
        // create an instance of the class.
        cl ob = new cl();
         System.out.println(ob.a);
         
        // calling an instance method in the class 'Foo'.
        ob.f(7);
        System.out.println(ob.a);
       
        cl.f(9);
        System.out.println(cl.a);
        System.out.println(ob.a);
        cl ob1 = new cl();
         System.out.println(ob1.a);
       
    }
}



output:
$javac cl1.java
$java -Xmx128M -Xms16M cl1
0
7
9
9
9

copy constructor in java

code:


class cl {

public double a,b;

// A normal parametrized constructor
public cl(int a,int b) {
this.a = a;
this.b = b;
}

// copy constructor
cl(cl c) {
System.out.println("Copy constructor called");
a = c.a;
b = c.b;
}



void f()
{
    System.out.println(a+" "+b);
}
}

public class Main {

public static void main(String[] args) {
cl c1 = new cl(10, 15);

// Following involves a copy constructor call
cl c2 = new cl(c1);
c1.f();
c2.f();
System.out.println("xxxxxxxxxxxxx");
c1.a=5;
c1.f();
c2.f();

// Note that following doesn't involve a copy constructor call as
// non-primitive variables are just references.
cl c3 = c2;
System.out.println("xxxxxxxxxxxxx");
c3.f();
c2.f();
c1.f();
System.out.println("xxxxxxxxxxxxx");
c2.a=6;
c1.f();
c2.f();
c3.f();
System.out.println("xxxxxxxxxxxxx");
        c3.a=7;
c1.f();
c2.f();
c3.f();
System.out.println("xxxxxxxxxxxxx");
        c1.a=8;
c1.f();
c2.f();
c3.f();

}
}


output::
$javac Main.java
$java -Xmx128M -Xms16M Main
Copy constructor called
10.0 15.0
10.0 15.0
xxxxxxxxxxxxx
5.0 15.0
10.0 15.0
xxxxxxxxxxxxx
10.0 15.0
10.0 15.0
5.0 15.0
xxxxxxxxxxxxx
5.0 15.0
6.0 15.0
6.0 15.0
xxxxxxxxxxxxx
5.0 15.0
7.0 15.0
7.0 15.0
xxxxxxxxxxxxx
8.0 15.0
7.0 15.0
7.0 15.0