Pages

Thursday, May 26, 2011

Let me know Google that For you

Hi Friends,
While surfing I found Let me know Google that For you stuff.
Please follow the following link,
 http://www.lmgtfy.co/
There type your query then click the Google Search Button.
It is automatically generate the url for you. Then click on go button.
You can see the automation stuff of your query in the browser.
Just go ahead and try it!
Its awesome.

Friday, March 11, 2011

Java TV Technology


What Java TV Technology Can Do

The Java TV API provides an ideal development and deployment platform for the emerging class of interactive television services. The Java programming language provides content developers with a high degree of control and flexibility over the look and feel of their applications, enabling them to deliver the most dynamic and compelling interactive television experiences to their audience.
One of the more powerful value additions that the Java TV API can bring to the emerging digital TV marketplace is its ability to significantly enhance broadcast content. The Java TV API enables developers to pump up content in several ways, including:
  • providing TV viewers with engaging interactivity
  • real-time displays of relevant, contextual information in parallel with standard TV programming
  • electronic commerce transactions initiated from advertising spots, programming, or applications such as home banking
  • real-time interactive communications with TV personalities and animated characters
Through Java technology extensions, developers and providers can create content that takes full advantage of the underlying video, audio and graphics hardware of a digital television or set-top box. The Java platform allows developers to synchronize the display of application elements such as bitmaps and text with the underlying video or background audio of the television broadcast. In addition, transparency-to-video and graphics layering capabilities give developers more flexibility and control over the appearance of these application elements.

User Scenarios

Here are some scenarios that highlight what is possible with the Java TV API.

Enhanced TV Broadcasting

 
API: User Scenarios 
Enhanced TV Broadcasting
Enhanced TV Broadcasting
It's a big day for Ricky. He and a couple of his dorm buddies are ready to watch an NBA game between the San Jose Speed and the Cupertino Cannonballs. They're big Speed fans. Their college subscribes to the local cable company's premium services that provide enhanced broadcasting, such as real-time scores and statistics, fun betting, video sports cards, chat with the players, and so forth.
While waiting for the game to start, Ricky and his friends amuse themselves by checking out some action sports cards. With the premium service remote control, they bring up a roster of the team to select their favorite players. Each player's action card appears semi-transparently laid over the current scheduled program. The action cards display the "best of" action sequences from the players' careers in the form of compact animations that comprise up to 10 frames. In addition to the action stuff, these cards also feature the most current statistical information as well as still images and data about their personal lives. Ricky's favorite animation shows Bobby Dunkwell in '96 missing an easy slam dunk shot although he's virtually alone at the end of the court. No way!
Meanwhile, the game has started. Ricky uses the premium service remote control to put up the dynamic scoreboard, DynaBoard, in the upper right corner of the screen for real-time Cannonballs/Speed scoring and foul information. During a break, Ricky's friend uses the DynaBoard to quickly check out another NBA game in progress. Back to the evenly matched game, Ricky asks DynaBoard to display the final score from the last Cannonballs/Speed game alongside the current scores.
Now the game hits a gut-wrenching stretch as the Cannonballs surge ahead. Ricky plays with the Java technology-enabled multi-view feature allowing him to select different camera angles for viewing the game. Does he want to try the overhead cam? Yes, but his friends urge Ricky to switch to the center court cam as the Speed steal the ball. How about the Bobby Dunkwell cam? Ricky's just in time for a close view of the net as Jordan slam dunks the ball. Yo dudes! The Speed are back in the game.

Channel-Independent Stock Ticker

 
API: User Scenarios 
Channel-Independent Stock Ticker
Stock ticker
Jessica watches her stock portfolio closely. She knows that an economic sneeze in Brazil propels shock waves around the globe while a casual remark at dinner by Alan Greenspan sends day traders scurrying to buy or sell.
Jessica doesn't have anything in particular to worry about today, but she likes to keep an eye on her stocks, even when she watches TV. On this Thursday night, she turns on the TV, tunes into a local news show, and selects the stock ticker applet from her customized control bar. A translucent stock ticker banner labeled "My Stocks" appears above the control panel. Her portfolio of stocks scrolls by with the latest report, which is frequently updated unless the market is closed.
Underneath the first banner is a second one labeled "NASDAQ." As the NASDAQ stocks scroll by, one high-tech stock catches Jessica's eye. But where's the remote control? Oops, she's sitting on it. Jessica digs out the remote, scrolls back to the stock she saw, then moves that stock into the "My Stocks" banner so she can monitor it over the next few weeks.
Although Jessica turns the channel to watch her favorite drama, her stock ticker remains on screen. When she has had enough of the stock market, Jessica uses her remote to hide the scrolling stock banners.
reference URL:

Ferrari all set to drive into India


On Thursday 10 March 2011, 3:26 PM
New Delhi: Italian luxury sports car Ferrari will make its official debut in India soon with popular models such as California, 458 Italia, 599GTB Fiorano and the latest FF, with prices starting from Rs 2.2 crore onward.
The company has appointed the Shreyans Group as its official importer in India.
The Ferrari range, which will be sold in India, includes the California, priced at Rs 2.2 crore, the 458 Italia at Rs 2.56 crore and the 599GTB Fiorano, tagged at Rs 3.37 crore.
Ferrari's latest model the FF, which was unveiled at the Geneva Motor Show earlier in March, will also be available. Its global price has not been announced yet.
All the four models will be open to order once the Ferrari dealerships are opened in India.
The first Ferrari dealership will be opened in the capital soon and a second one is slated to open in Mumbai in the second half of 2011.
Commenting on the development, Shreyans Group Chairman Ashish Chordia said: "We are proud to announce the partnership with Ferrari on Thursday. This brand represents for us the epitome of success and we are proud to partner with one of the world's most desired brand."
Chordia said the group will establish a network of Ferrari dealers across India to cater to the discerning needs of customers.
An independent Ferrari India office with experienced Ferrari professionals to manage the upcoming dealer network will be set up, Chordia added.
The Shreyans Group is involved in luxury retail in India, with interests in products such as yachts, super bikes, fashion articles and jewellery, besides cars.

reference URL:

Sunday, March 6, 2011

India not as corrupt as China and Russia: Fitch


By   PTI
Monday, 07 March 2011, 06:53 IST


New Delhi: India is not as corrupt as China and Russia, according to the global credit rating agency Fitch.

The country, however, suffers from excessive regulation and tax laws, which is concern for foreign investors, Fitch Group Managing Director for Corporate Rating Richard Hunter told PTI in an interview.

"We will certainly rank India well below Russia and China when it comes to concerns about corruption. Really big concern about India is regulation and tax treatment," he said.

India not as corrupt as China and Russia: Fitch 

These comments come at a time when the nation is facing a plethora of corruption cases relating to allocation of 2G spectrum, conduct of Commonwealth Games, allotment of flats in Adarsh Housing Society and Devas-Antrix deal.

Hunter further said that the recent corruption cases have not dent the confidence of investors in India, adding that "Corruption is certainly not a specialty in which India will win the gold medal."

However, he said, domestic and foreign investors are concerned about the burdensome regulatory regime in India.

"Corruption is something that does deter investors much more in China. There is respect for Indian legal system," he said.

Hunter said the rating outlook for most Indian companies is stable for the current year.


Reference URL:

Friday, February 25, 2011

Green Machine: Sucking carbon dioxide out of the air


Power.jpg

(Image: F1 Online/Rex Features)

Think of it as a chemical vacuum cleaner for sucking greenhouse gases out of the air.

Air capture, in which carbon dioxide is removed from the atmosphere, has been touted as a potentially promising way to tackle climate change. That's because unlike carbon capture from power plant flue gases, the technology has the potential to reduce existing CO2 levels, rather than simply slowing the rate of increase.

To demonstrate that the technology works, Christopher Jones at the Georgia Institute of Technology in Atlanta tested a CO2 absorbent based on amines - the chemicals predominantly used in power plant carbon capture trials - on gases with CO2 concentrations similar to those found in ambient air.

He found the material was able to repeatedly extract CO2 from the gas without being degraded, which will be vital if the technology is to be used economically on a wide-scale.

However, unlike the liquid amines typically used in power plant carbon capture, which consume large amounts of energy as they must be heated to very high temperatures to re-release their stored CO2, Jones' team has developed a new class of the material called hyperbranched aminosilica, in which the amine is held on a solid porous silica substrate.

Solid amines release the stored CO2 when heated to just 110 degrees Celsius - much lower than the temperatures required by the water-based liquid amine solutions - reducing the amount of energy required by 75 per cent.

This also means the energy needed could be supplied by widely available sources such as waste heat from industrial plants, says Peter Eisenberger of air capture company Global Thermostat, based in New York. The energy could also be supplied by renewable sources such as solar power, he says. The captured CO2 could then be fed to algae, which absorb the gas to produce biofuel and biochar.

Jones is working with the company to test a pilot air capture plant in Menlo Park, California, which is absorbing 2 tonnes of CO2 from the atmosphere each day. A commercial plant could absorb 1 million tonnes of CO2 per day, says Eisenberger.

Reference From:
http://www.newscientist.com/blogs/onepercent/2011/02/green-machine-sucking-co2-out.html 

Thursday, February 24, 2011



Bird Eye View on Google Android Activations


Do you know how Google Android creates the largest market around the globe? If not then don’t worry because here I share you something which is not knowledgeable but also more classify information regarding Google Android. Here I share you peoples the extravagant informative video of Google Android which shows the high speedy flourish popularity and superior growth of Android since the launch to till now in the form of articulate informative map. The video tells us how Google Android handsets or devices activate over the years and in which continent of world they gain the maximum customers or users. The video shows the exclusive breath taking geographical presentation in the form of extensive mapping. The video also shows the ratio of activation over the periods of Android. Let’s stop talk and see this exclusive informative video now in below:


Reference URL:

Wednesday, February 23, 2011

What is Project Coin


Project Coin

The goal of Project Coin is to determine what set of small language changes should be added to JDK 7. That list is:
  • Strings in switch
  • Binary integral literals and underscores in numeric literals
  • Multi-catch and more precise rethrow
  • Improved type inference for generic instance creation (diamond)
  • try-with-resources statement
  • Simplified varargs method invocation.

Monday, February 21, 2011

Serialization Size of Lists

Hopefully we all have some idea of how the ArrayList and LinkedList are structured internally. The ArrayList holds a pointer to a single Object array, which grows as the number of elements exceed the size of the array. The ArrayList's underlying Object array grows by about 50% whenever we run out of space. The LinkedList has pointers to the link nodes at the front and end of the list. Each link node is an object and has pointers forward and backwards and to the object that is being held in the list. The memory requirements of the LinkedList is about 4x larger than an equivalently sized ArrayList. In addition, the ArrayList allows random access into the middle, whereas the LinkedList has a lookup complexity of O(n).
One of the questions I enjoy asking here is this: Which list uses more bytes when serialized? LinkedList or ArrayList?  Think about this for a bit before reading on, considering the internal structure of each list.



Most programmers guess that the LinkedList would have a larger serialized size than the ArrayList. However, that is never the case:

import java.io.*;
import java.util.*;

public class ListWritingSize {
  public static void main(String[] args) throws IOException {
    test(new LinkedList<String>());
    test(new ArrayList<String>());
  }

  public static void test(List<String> list) throws IOException {
    for (int i = 0; i < 10; i++) {
      list.add("hello world");
    }
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ObjectOutputStream out = new ObjectOutputStream(baos);
    out.writeObject(list);
    out.close();
    System.out.println(list.getClass().getSimpleName() +
        " used " + baos.toByteArray().length + " bytes");
  }
}
When we run this, we see that the LinkedList uses 107 bytes, whilst the ArrayList uses 117 bytes. Instead of just naively writing the contents of the collections to the stream, the lists both contain writeObject() andreadObject() methods. These write the contents of the lists to the stream.

Why the 10 byte difference?

The ArrayList and LinkedList work similarly, in that they write out the number of elements and the actual objects contained in the list. However, ArrayList also writes out the size of the underlying array, used to recreate an identical ArrayList to what was serialized.
This additional int is what makes up the 10 byte difference in the serialization size.
At this point I need to also point out that the String "hello world" is only serialized once, after that only a reference number to the object is written.

What about Vector?

The old Vector class implements serialization in a naive way. They simply do the default serialization, which writes the entire Object[] as-is into the stream. Thus if we insert a bunch of elements into the List, then clear it, the difference between Vector and ArrayList is enormous.

import java.util.*;
import java.io.*;

public class VectorWritingSize {
  public static void main(String[] args) throws IOException {
    test(new LinkedList<String>());
    test(new ArrayList<String>());
    test(new Vector<String>());
  }

  public static void test(List<String> list) throws IOException {
    insertJunk(list);
    for (int i = 0; i < 10; i++) {
      list.add("hello world");
    }
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ObjectOutputStream out = new ObjectOutputStream(baos);
    out.writeObject(list);
    out.close();
    System.out.println(list.getClass().getSimpleName() +
        " used " + baos.toByteArray().length + " bytes");
  }

  private static void insertJunk(List<String> list) {
    for(int i = 0; i<1000 * 1000; i++) {
      list.add("junk");
    }
    list.clear();
  }
}
  
When we run this code, we get the following output:
LinkedList used 107 bytes
    ArrayList used 117 bytes
    Vector used 1310926 bytes
  
Vector can use a staggering amount of bytes when being serialized. The lesson here? Don't ever use Vector as Lists in objects that are Serializable. The potential for disaster is too great.

Tuesday, February 15, 2011

Bangalore: Corruption and the inflation are the major concern for Indian investors, according to a survey done by Value Note revealed. Arun Jethmalani, Managing Director Value Note said that the worries over inflation are still dominant but corruption has emerged as a major issue, and this kept the investors's confidence level low .
Corruption kills the confidence of Indian investors

This survey was conducted in eight cities, Mumbai, Delhi/NCR, Kolkata, Chennai, Ahmedabad, Bengaluru, Pune and Hyderabad. The survey says that corruption has come out as a new confidence killer with 19 percent retail investors, eight percent companies and 16 percent advisors stating that it was the most negative economic indicator in the current scenario. It became the major cause of concern over past four quarters.

The Confidence Index in December 2010 quarter is 146.3 that is 0.9 points higher from September 2010 quarter. The retail ICI stands at the highest points at 159.5 wheras the advisor confidence index and the corporate confidence index comes after ICI at 147.2 and 132.2 respectively

Saturday, February 12, 2011

ро╕்рокெроХ்роЯ்ро░роо் - роороХ்роХро│ுроХ்роХு "ро╡роЯை" рокோройродு роОрок்рокроЯி?



родேроЪிроп роЕро╡рооாройрооாрой ро╕்рокெроХ்роЯ்ро░роо் рокро▒்ро▒ி роиாроо் роЕро▒ிро╡ோроо், роЕродிро▓் роТрог்рогேрооுроХ்роХாро▓் ро▓роЯ்роЪроо் роХோроЯி ро░ூрокாроп் роЕро│ро╡ுроХ்роХெро▓்ро▓ாроо் роКро┤ро▓் роЪெроп்ропрок்рокроЯро╡ேропிро▓்ро▓ை роОрой்ро▒ெро▓்ро▓ாроо் роороХ்роХро│ே рокேроЪ роЖро░роо்рокிрод்родுро╡ிроЯ்роЯройро░். ро░ாроЬா роХைродு родாрой் роЪெроп்ропрок்рокроЯ்роЯாро░ே родро╡ிро░ роХுро▒்ро▒роо் роиிро░ூрокிроХ்роХрок்рокроЯро╡ிро▓்ро▓ை, роЕродுро╡ро░ை роиாроЩ்роХро│் роЕро╡ро░ை роЕро░ро╡рогைрод்родுроХ் роХாрок்рокோроо் роОрой்роХிро▒ாро░் рооுродро▓்ро╡ро░். роЗродு родிройроо் роТро░ு роЕро▒ிроХ்роХை ро╡ро░ுроо் родேро░்родро▓் роиேро░роо்,роороХ்роХро│் роЪிрои்родிроХ்роХ ро╡ேрог்роЯிроп роХாро▓роо், роЕрок்рокроЯி ро╕்рокெроХ்роЯ்ро░роо் роКро┤ро▓ிро▓் рооெроп்ропாроХро╡ே роироЯрои்родродு роОрой்рой ?!!! роОрой்рокродை родுрокாропிро▓் рокрогிрокுро░ிропுроо் роЪிро╡роХ்роХுрооாро░் роОрой்ройுроо் рокொро▒ிропாро│ро░் роЕро░ுрооைропாроХ роЖроп்ро╡ு роЪெроп்родு роОро┤ுродிропுро│்ро│ாро░், роЗродு роЗрок்рокோродு роЗрооெропிро▓ிро▓் ро╡ро░род்родுро╡роЩ்роХிро╡ிроЯ்роЯродு, роЗройிропேройுроо் роирой்роХு рокроЯிрод்родро╡ро░்роХро│் роЕро╡роЪிропроо் роЪிро░роороо் рокாро░ாрооро▓் роЪிрои்родிрод்родு ро╡ாроХ்роХро│ிрод்родு роиாроЯ்роЯைроХ்роХாроХ்роХро╡ேрог்роЯுроо். роЕро╡роЪிропроо் роЗродைрок்рокроЯிрод்родுро╡ிроЯ்роЯு роГрокேро╕்рокுроХ், роЖро░்роХுроЯ், роЯ்ро╡ிроЯ்роЯро░் родро│роЩ்роХро│ிро▓் роГрокாро░்ро╡ро░்роЯுроо் роЪெроп்ропро╡ுроо்.
роороХ்роХро│் роЕройைро╡ро░ைропுроо் роЗро▓ро╡роЪроЩ்роХро│ை роороЯ்роЯுрооே ро╡ாроЩ்роХ родெро░ிрои்род рооாроХ்роХாрой்роХро│் роОрой்ро▒ே роиிройைрод்родு ро╡ிроЯ்роЯாро░் роироо் рооுродро▓்ро╡ро░். роЕродро▒்роХாроХрод்родாрой் родрооிро┤்роиாроЯ்роЯிро▓் роЕройைро╡ро░ுроо் роХுро┤рои்родை рокெро▒்ро▒ுроХொро│்роХிро▒ாро░்роХро│் роОрой்ро▒ு роЪொрой்ройாро▓ுроо் роЖроЪ்роЪро░ிроп рокроЯுро╡родро▒்роХு роЗро▓்ро▓ை. роОрой்ройродு роПро┤ைроХро│் рокропрой்рокроЯுрод்родுроо் роЕро│ро╡ிро▒்роХு роХுро▒ைрои்род ро╡ிро▓ைропிро▓் роЪேро╡ைропை роХொрог்роЯுро╡рои்родродு ро░ாроЪாро╡ா? роороХ்роХро│ே роЙрог்рооைропை рокுро░ிрои்родு роХொро│்ро│ுроЩ்роХро│். роЗрои்род рокுро│ுроХு рооூроЯ்роЯைроХро│ிрой் рокாро╡род்родிро▒்роХு роЖро│ாроХாродீро░்роХро│். ро╡ிро▓ை роХுро▒ைрои்родродிро▒்роХாрой роХாро░рогрод்родை роЗроЩ்роХு роХுро▒ிрок்рокிроЯுроХிро▒ேрой்.

1999 роЖрог்роЯிро▓் родாрой் родொро▓ைродொроЯро░்рокு роЙро░ிроороЩ்роХро│் ро╡ро┤роЩ்роХ роЖро░роо்рокிроХ்роХрокроЯ்роЯродு. роЕрой்ро▒ு ро╡ெро▒ுроо் рокрогроо் рокроЯைрод்родро╡ро░்роХро│் роороЯ்роЯுрооே роХைрокேроЪிропை рокропрой்рокроЯுрод்родிройро░். роОройро╡ே роиுроХро░்ро╡ோро░ிрой் роОрог்рогிроХ்роХை рооிроХ роХுро▒ைро╡ு. роЪிро▓ рокро▓ ро▓роЯ்роЪроЩ்роХро│் роороЯ்роЯுрооே. родொро┤ிро▓் роиுроЯ்рокро╡ро│рооாрой 1G роЕро▓்ро▓родு 2G роЕро▓ைроХ்роХро▒்ро▒ைроХро│் рооிроХ роЕродிроХ роЕро│ро╡ிро▓் роЕро░роЪிроЯроо் роХைропிро░ுрок்рокு роЗро░ுрои்родுро│்ро│родு. роЖройாро▓் роЙро░ிроороо் ро╡ாроЩ்роХ роЙро▓роХ роЕро│ро╡ிро▓ோ роЗрои்родிроп роЕро│ро╡ிро▓ோ рокோроЯ்роЯிроХро│் роЗро▓்ро▓ை. ро╡ிро▓ை роХொроЯுрод்родு роЙро░ிроороо் ро╡ாроЩ்роХிропро╡ро░்роХро│் ро▓ாрокроо் рокெро▒ роиுроХро░்ро╡ோро░ிроЯроо் роиிрооிроЯрод்родிро▒்роХு роЕродிроХ роХроЯ்роЯрогроо்(In coming and out going ) ро╡роЪூро▓் роЪெроп்роп роХроЯ்роЯாропроо் роПро▒்рокроЯ்роЯродு. роЗродிро▓் роХро╡ройிроХ்роХ ро╡ேрог்роЯிроп роЗрой்ройொро░ு ро╡ிро╖ропроо் роОрой்ройро╡ெрой்ро▒ாро▓் роиாроо் родாрой் ро╡роЪродி рокроЯைрод்родро╡ро░்роХро│ாропிро▒்ро▒ே роОрой்ро▒ு роЗро╖்роЯрод்родிро▒்роХு рокேроЪி роиேро░род்родைропோ рокрогрод்родைропோ роЕрой்ро▒ைроп ро╡роЪродி рокроЯைрод்родро╡ро░்роХро│் ро╡ிро░ропроо் роЪெроп்ропро╡ிро▓்ро▓ை. роХுро▒ைро╡ாрой роиேро░род்родுроХ்роХுродாрой் роХைрокேроЪிропை рокропрой்рокроЯுрод்родிройро░். 

роиுроХро░்ро╡ோро░ிрой் роОрог்рогிроХ்роХை роХுро▒ைро╡ாроХ роЗро░ுрои்родродாро▓்родாрой் роЕрой்ро▒ு роЕро▓ைроХро▒்ро▒ை роЙро░ிроороо் рокெро▒ роЕродிроХ роиிро▒ுро╡ройроЩ்роХро│் рооுрой்ро╡ро░ро╡ிро▓்ро▓ை. роЗродை роЪро░ி роЪெроп்роп роЕрой்ро▒ைроп роЕро░роЪு роТро░ு родொро▓ை родொроЯро░்рокு рокுро░роЯ்роЪிропை роЙро░ுро╡ாроХ்роХ рооுропрой்ро▒родு. ро╡ிро│ைро╡ு роиாро│ுроХ்роХு роиாро│் роиுроХро░்ро╡ோро░ிрой் роОрог்рогிроХ்роХை роЕродிроХрооாройродு. роЗрой்ро▒ுроо் роЕродிроХрооாроХி роХொрог்роЯே роЗро░ுроХ்роХிро▒родு. 2010 роиுроХро░்ро╡ோро░ிрой் роОрог்рогிроХ்роХை роЪுрооாро░் 60 роХோроЯிроХ்роХுроо் рооேро▓். 2008 роЗро▓் 50 роХோроЯிроХ்роХுроо் рооேро▓். 

роЗродро▒்роХுроо் роЕродிроХрооாрой роороХ்роХро│் рокропрой்рокроЯுрод்родுроо் роЕро│ро╡ுроХ்роХு рокோродிроп роЕро▓ைроХро▒்ро▒ைроХро│் роЕро░роЪிроЯроо் роЗрой்ро▒ுроо் роЙро│்ро│ройро░். роЖройாро▓் рокропрой்рокроЯுрод்родுро╡ோро░ிрой் роОрог்рогிроХ்роХை ро╡ெро▒ுроо் 60 роХோроЯிродாрой். 122 родроХுродி роЗро▓்ро▓ாрод роиிро▒ுро╡ройроЩ்роХро│ுроХ்роХு роЙро░ிроороо் ро╡ро┤роЩ்роХ рокроЯ்роЯுро│்ро│родு. родроХுродி роОрой்ро▒ாро▓் роОрой்рой? рокோродிроп роЕройுрокро╡роо், ро╡роЩ்роХி роХாроЪோро▓ை, ро╡роЩ்роХி роЪெроХ்ропூро░ிроЯ்роЯி роЯெрокொроЪிроЯ் роЕродு роороЯ்роЯுроо் роЗро▓்ро▓ை ро╡ாроЩ்роХிропро╡ுроЯрой் роХுро▒ிрок்рокிроЯ்роЯ роХாро▓род்родிро▒்роХுро│் роЪேро╡ைропை родொроЯроЩ்роХ ро╡ேрог்роЯுроо். роЗрои்род роХுро▒ிрок்рокை роиிройைро╡ிро▓் ро╡ைрод்родு роХொро│்ро│ுроЩ்роХро│். рокிрой்ройாро▓் роЙродро╡ுроо். роЯாроЯ்роЯா, ро░ிро▓ைропрой்ро╕் рокோрой்ро▒ рокெро░ிроп роиிро▒ுро╡ройроЩ்роХро│ுроо் роЙро░ிроороо் ро╡ாроЩ்роХிропுро│்ро│ройро░். роЗродோроЯு роЕрои்род 122 родроХுродி роЗро▓்ро▓ாрод роиிро▒ுро╡ройроЩ்роХро│ைропுроо் роЪேро░்род்родு роХொро│்ро│ுроЩ்роХро│்.

роиிропாропроХ் роХрогроХ்роХு:

роЗрои்родிропாро╡ிро▓் 60 роХோроЯி роороХ்роХро│் роХைрокேроЪி роЪேро╡ைропை рокропрой்рокроЯுрод்родுро╡родாроХ роЙрог்рооை родроХро╡ро▓் роЙро│்ро│родு. роОро▓்ро▓ோро░ுроХ்роХுроо் родெро░ிропுроо் роОрой்ро▒ு роиிройைроХ்роХிро▒ேрой். роТро░ு роирокро░் родройродு роХைрокேроЪிропை роТро░ு роиாро│ைроХ்роХு роЪро░ாроЪро░ிропாроХ ро╡ெро▒ுроо் 15 роиிрооிроЯроЩ்роХро│் (LOCAL CALLS ONLY) рокропрой்рокроЯுрод்родுро╡родாроХ ро╡ைрод்родுроХ்роХொро│்ро╡ோроо். роТро░ு роиிрооிроЯрод்родிро▒்роХு 40 рокைроЪா роХроЯ்роЯрогроо்.



роЕрок்рокோродு 15x0.40 =6.0 ро░ூрокாроп் роТро░ு роХைрокேроЪிропிрой் рооூро▓роо் роЪெро▓ро╡ாроХிро▒родு. 60 роХோроЯி роХைрокேроЪிроХро│். 60x6.0 = 360 роХோроЯிроХро│் роТро░ு роиாро│ைроХ்роХு роЪெро▓ро╡ாроХிро▒родு. роТро░ு рооாродрод்родிро▒்роХு 30x360 = 10,800 роХோроЯிроХро│். роТро░ு ро╡ро░ுроЯрод்родிро▒்роХு 12x10,800 = 1,29,600 роХோроЯிроХро│். 2008 роЗро▓் 2G роПро▓роо் ро╡ிроЯрок்рокроЯ்роЯродு. роЗрой்ро▒ு ро╡ро░ை роЗро░рог்роЯு ро╡ро░ுроЯроЩ்роХро│் роЖроХிро▒родு. роЕрок்рокோ родு роХுро▒ைрои்родрокроЯ்роЪ ро╡ро░ுрооாройроо் роЗрой்ро▒ுро╡ро░ை2,59,200 роХோроЯிроХро│். роЗродு роТро░ு роиாро│ைроХ்роХு ро╡ெро▒ுроо் 15 роиிрооிроЯроЩ்роХро│் роХைрокேроЪிропை рокропрой்рокроЯுрод்родிройாро▓் роЗро░рог்роЯு ро╡ро░ுроЯрод்родிро▒்роХு роХிроЯைрод்родிро░ுроХ்роХுроо் ро╡ро░ுрооாройроо்.

роЗродோроЯு SMS, MMS, STD, ISD, роЪேро╡ை роХроЯ்роЯрогроо், роЗрогைрок்рокு роХроЯ்роЯрогроо்.......роЗрой்ройுроо் роОрой்рой роОрой்ройро╡ோ роХроЯ்роЯрогроЩ்роХро│் роЙро│்ро│родு роОрой்ро▒ு роЪொро▓்роХிро▒ாро░்роХро│் рооро▒்ро▒ுроо் 15 роиிрооிроЯрод்родிро▒்роХு роЕродிроХрооாроХ рокропрой்рокроЯுрод்родுро╡ோро░ிрой் роЪெро▓ро╡ைропுроо் роЪேро░்род்родாро▓் роОрод்родройை роХோроЯி роХோроЯிроХро│் ро╡ро░ுрооாройрооாроХ роХிроЯைроХ்роХுроо் роОрой்рокродை роиீроЩ்роХро│ே роХрогроХ்роХிроЯ்роЯு роХொро│்ро│ுроЩ்роХро│். роОрой்ройாро▓் роХрогроХ்роХிроЯро╡ே рооுроЯிропро╡ிро▓்ро▓ை. роОрой்ройிроЯроо் роЙро│்ро│ роХாро▓்роХுро▓ேроЯ்роЯро░் рооро▒்ро▒ுроо் роХрогிройி роХாрог்рокிрок்рокродு "INFINITIVE". роиாрой் родро▒்рокோродு роЗрои்родிропாро╡ிро▓் роЗро▓்ро▓ை. роЗро░ுрои்родிро░ுрои்родாро▓் роЕройைрод்родைропுроо் роЕро▓роЪி роЖро░ாроп்рои்родு роЗродைро╡ிроЯ роЗрой்ройுроо் родுро▓்ро▓ிропрооாроХ роироЯрои்род роКро┤ро▓ிрой் роЕро│ро╡ை роХுро▒ிрок்рокிроЯ்роЯு роЗро░ுрок்рокேрой். роЗрои்род ро╡ро░ுрооாройроо் роЕройைрод்родுроо் роЕро░роЪுроХ்роХு роХிроЯைрод்родிро░ுроХ்роХ ро╡ேрог்роЯுроо். роЕродு роороХ்роХро│ை роЪெрой்ро▒ு роЕроЯைрои்родு роЗро░ுроХ்роХро╡ேрог்роЯுроо். роХிроЯைрод்родродா?

роороХ்роХро│ை роЪெрой்ро▒роЯைрои்родродா? роиிроЪ்роЪропроо் роЗро▓்ро▓ை роОрой்ро▒ுродாрой் роТро╡்ро╡ொро░ு роороХ்роХро│ுроо் роХூро▒ро╡ேрог்роЯுроо். роЕрок்рокроЯி роОрой்ро▒ாро▓் роЗрои்род роороХ்роХро│் рокрогроо் роЪроЯ்роЯрод்родிро▒்роХு рокுро▒роо்рокாроХ ропாро░ிроЯрооோ роЪெрой்ро▒ு роЕроЯைрои்родுро│்ро│родு. роЗрои்род роКро┤ро▓் рокрогроо் роЕроЯுрод்род роЪிро▓ роЖрог்роЯுроХро│ிро▓் родройродு роЪொрои்родроиாроЯ்роЯு роороХ்роХро│ைропே родாроХ்роХрок்рокோроХிро▒родு. ро╡ிро▓ைро╡ாроЪி роЙропро░ுроо். рокொро░ுро│ாродாро░роо் роиாроЪாроХுроо். "Above middle Class" роороХ்роХро│் роироЯுрод்родро░ роороХ்роХро│ாроХро╡ுроо், роироЯுрод்родро░ роороХ்роХро│் роПро┤ைроХро│ாроХро╡ுроо், роПро┤ை роороХ்роХро│் рооேро▓ுроо் рокро░роо роПро┤ைроХро│ாроХро╡ுроо் рооாро▒ுро╡ாро░்роХро│். 

роЬройроиாропроХроо் ро╡ேро░ோроЯு роЕро┤ிропுроо். рооройிродாрокிрооாройроо், рооройிродроиேропроо் роорог்рогோроЯு роорог்рогாроХுроо். ро░ௌроЯிроЪроо்,роХுро▒்ро▒роЪроо்рокро╡роЩ்роХро│் родро▓ைро╡ிро░ிрод்родு роЖроЯுроо். роХроЯрои்род роРрои்родாрог்роЯுроХро│ாроХ роЖропுро│் роХைродிропாроХ роЙро│்ро│ роироЯுроиிро▓ை рокрод்родிро░ிроХைроХро│் роЗройி рооро░рог родрог்роЯройை роХைродிроХро│ாроХ рооாро▒்ро▒рок்рокроЯ்роЯு родூроХ்роХிро▓் рокோроЯрок்рокроЯுроо்.

родுро░ோроХроо்-1: роЙро░ிроороо் ро╡ாроЩ்роХிроп роЕройைрод்родு роиிро▒ுро╡ройроЩ்роХро│ுроо் роЪுрооாро░் 13000 роХோроЯிроХ்роХுроо் роЕродிроХроо் рокொро▒ுрооாройроо் роЙро│்ро│(роЙродாро░рогроо் S .TEL роиிро▒ுро╡ройроо்13000 роХோроЯிроХ்роХு ро╡ாроЩ்роХ рооுрой்ро╡рои்родродு) роЕро▓ைроХро▒்ро▒ைроХро│் роЙро░ிроород்родை роЕроЯிрооாроЯ்роЯு ро╡ிро▓ைроХ்роХு роЕродாро╡родு 1200 , 1300 ,1650 роХோроЯிроХро│ுроХ்роХு родிроЯ்роЯрооிроЯ்роЯு ро╡ிро▒்роХрок்рокроЯ்роЯுро│்ро│родு. роЕро░роЪுроХ்роХு роЪேро░ро╡ேрог்роЯிроп, роороХ்роХро│ுроХ்роХு роЪேро░ ро╡ேрог்роЯிроп ро╡ро░ுро╡ாроп் роЪிро▓ роЪுроп роиро▓ро╡ாродிроХро│ை роЪெрой்ро▒роЯைрои்родுро│்ро│родு.

родுро░ோроХроо்-2: рокெро░ுроо்рокாро▓ாрой роиிро▒ுро╡ройроЩ்роХро│் родроЩ்роХро│் роЙро░ிроород்родிрой் рокроЩ்роХுроХро│ை ро╡ெро│ி роиாроЯ்роЯு роиிро▒ுро╡ройроЩ்роХро│ுроХ்роХு ро╡ிро▒்ро▒ு роХொро│்ро│ை ро▓ாрокроо் рокாро░்род்родுро│்ро│ройро░். роЗродройாро▓் роЕро░роЪுроХ்роХு роЕродாро╡родு рокро▓ роХோроЯி роороХ்роХро│ுроХ்роХு роХிроЯைроХ்роХ ро╡ேрог்роЯிроп роЕро░роЪிрой் ро╡ро░ுро╡ாроп் роЪிро▓ роЪுроп роиро▓ родройி рооройிродро░்роХро│ை роЪெрой்ро▒ு роЕроЯைрои்родுро│்ро│родு.

родுро░ோроХроо்-3: родроХுродி роЗро▓்ро▓ாрооро▓் роЙро░ிроороо் ро╡ாроЩ்роХிроп 122 роиிро▒ுро╡роЩ்роХро│ிро▓் рокெро░ுроо்рокாро▓ாрой роиிро▒ுро╡ройроЩ்роХро│் роЗрой்ройுроо் роЪேро╡ைропை родொроЯроЩ்роХро╡ிро▓்ро▓ை. роЗродிро▓் "swan, Unitech" рокோрой்ро▒ ро▓ெроЯ்роЯро░் рокேроЯ் роиிро▒ுро╡ройроЩ்роХро│ுроо் роЕроЯроЩ்роХுроо். роЗрои்род роиிро▒ுро╡ройроХро│் роПрой் роЗрой்ройுроо் роЪேро╡ைропை родொроЯроЩ்роХро╡ிро▓்ро▓ை роОрой்ро▒ு роЙро│்ро│ூро░ роЖро░ாроп்рои்родாро▓் рооிроХ родெро│ிро╡ாроХ рокுро░ிропுроо். рокெро░ிроп роиிро▒ுро╡ройроЩ்роХро│் рокோроЯ்роЯி роЗро▓்ро▓ாрооро▓் родொро▓ைродொроЯро░்рокு родுро▒ைропிро▓் роХொро│்ро│ை ро▓ாрокроо் рокாро░்роХ்роХ роЕродாро╡родு роХроЯ்роЯрогроо் роОрой்ро▒ рокெропро░ிро▓் роороХ்роХро│ிрой் роЙро┤ைрок்рокை роЪுро░рог்роЯ рокெро░ுроо்рокாро▓ாрой родроХுродி роЗро▓்ро▓ாрод рокிройாрооி ро▓ெроЯ்роЯро░் рокேроЯ் роиிро▒ுро╡ройроЩ்роХро│் роЗрой்ройுроо் роЪேро╡ைропை родொроЯроЩ்роХро╡ிро▓்ро▓ை.

роЗро╡ைроХро│் роЪேро╡ைропை родொроЯроЩ்роХி роЗро░ுрои்родாро▓் роЪрои்родைропிро▓் рокோроЯ்роЯி роЕродிроХрооாроХி роХைрокேроЪிропிро▓் рокேроЪுроо் роХроЯ்роЯрогроо் роЗрок்рокோродு роЗро░ுрок்рокродை ро╡ிроЯ рооேро▓ுроо் роХுро▒ைрои்родிро░ுроХ்роХுроо். роТро░ு ро╡ேро│ை роЗродро▒்роХாроХрод்родாрой் родிроЯ்роЯрооிроЯ்роЯு "S.TEL рокோрой்ро▒ рокோроЯ்роЯி роиிро▒ுро╡ройроЩ்роХро│ுроХ்роХு роЙро░ிроороо் ро╡ро┤роЩ்роХро╡ிро▓்ро▓ை роОрой்ро▒ роЪрои்родேроХроо் родெро│ிро╡ாроХ роОро┤ுроХிро▒родு.

родுро░ோроХроо்-4: MTNL BSNL рокோрой்ро▒ роЕро░роЪு роиிро▒ுро╡ройроЩ்роХро│ுроХ்роХு роЕродிроХ роЕро│ро╡ிро▓் роЕро▓ைроХро▒்ро▒ைроХро│ை роТродுроХ்роХி рокோродிроп роЖрок்рокெро░роЯро░்роХро│ை роиிропрооிрод்родு роЗро░ுрои்родாро▓் роХைрокேроЪிропிро▓் рокேроЪுроо் роХроЯ்роЯрогроо் роиிрооிроЯрод்родிро▒்роХு ро╡ெро▒ுроо் роТро░ு рокைроЪாро╡ுроХ்роХு ро╡рои்родிро░ுроХ்роХுроо். роороХ்роХро│் роЕро░роЪிройாро▓் рокропрой் роЕроЯைрои்родு роЗро░ுрок்рокாро░்роХро│்.

родுро░ோроХроо்-5: родроХுродி роЗро▓்ро▓ாрооро▓் роЙро░ிроороо் ро╡ாроЩ்роХிроп ро▓ெроЯ்роЯро░் рокேроЯ் роиிро▒ுро╡ройроЩ்роХро│் родройродு рокроЩ்роХுроХро│ை рокро▓ ро╡ெро│ி роиாроЯ்роЯு роиிро▒ுро╡ройроЩ்роХро│ுроХ்роХு ро╡ிро▒்ро▒ுро│்ро│ройро░். роЕродிро▓் рокாроХிро╕்родாрой் рокோрой்ро▒ роиாроЯுроХро│ுроо் роЕроЯроЩ்роХுроо். роЗрои்родிропாро╡ிрой் родொро▓ை родொроЯро░்рокு родுро▒ைропை роЗрои்род роиாроЯுроХро│ுроо் рокропрой்рокроЯுрод்родுроХிрой்ро▒ройро░். роЗродு роЙро│்роироЯ்роЯு роороХ்роХро│ிрой் рокாродுроХாрок்рокுроХ்роХு рооிроХ рокெро░ிроп роЕроЪ்роЪுро▒ுрод்родро▓்.

родுро░ோроХроо்-6: роиீро░ா ро░ாроЯிропா родொро▓ைрокேроЪி роЙро░ைропாроЯро▓்роХро│், CAG ,родொро▓ைродொроЯро░்рокு роЪроо்рокрои்родрокроЯ்роЯ, роХைрокро▒்ро▒рокроЯ்роЯ роЖро╡рогроЩ்роХро│், роЪроо்рокрои்родрокроЯ்роЯ рокிро░родрооро░் роЕро▓ுро╡ро▓роХ роХроЯிродроЩ்роХро│் рокுро▒роХрогிрок்рокு, роЪроЯ்роЯ,роиிродி родுро▒ை роХроЯிродроЩ்роХро│் рокுро▒роХрогிрок்рокு, TRAI рокро░ிродுро░ைроХро│் рокுро▒роХрогிрок்рокு роЗрок்рокроЯி роХோроЯி роХрогроХ்роХிро▓் роЖродாро░роЩ்роХро│், роЪாроЯ்роЪிроХро│். рооுродро▓ிро▓் ро╡ро░ுрокро╡ро░ுроХ்роХே рооுрой்ройுро░ிрооை роОрой்ро▒ு рооுрои்родைроп роЖроЯ்роЪிропாро│ро░்роХро│் ро╡роХுрод்род роЕроЯிрок்рокроЯை роХொро│்роХை роХூроЯ рокிрой்рокро▒்ро▒рок்рокроЯро╡ிро▓்ро▓ை. роЕродிро▓ுроо் рооுро▒ைроХேроЯு.

родுро░ோроХроо்-7: роЗро╡்ро╡ро│ро╡ு роХுро▒்ро▒роЩ்роХро│் роЪெроп்родுроо் роЪроо்рокрои்родрокроЯ்роЯ роХுро▒்ро▒ро╡ாро│ிроХро│் роЪெроп்род родро╡ро▒ை роТрок்рокு роХொро│்ро│ாрооро▓் роиாроЩ்роХро│் родро╡ро▒ு роЪெроп்ропро╡ிро▓்ро▓ை роОрой்ро▒ு роороХ்роХро│ிроЯроо் рокொроп் рокிро░роЪ்роЪாро░роо் роЪெроп்ро╡родு роороХ்роХро│ுроХ்роХு роЗро┤ைроХ்роХрок்рокроЯ்роЯ роПро┤ாро╡родு родுро░ோроХроо். роЗродрой் роЙроЪ்роЪроХроЯ்роЯроо்родாрой் 2G ропிро▓் роКро┤ро▓ுроо் роЗро▓்ро▓ை роиро╖்роЯрооுроо் роЗро▓்ро▓ை роОрой்ро▒ு роород்родிроп роЕрооைроЪ்роЪро░ிрой் рокрод்родிро░ிроХை рокேроЯ்роЯி. роЗрои்род роЙро▓роХрод்родிро▓ே родாрой் роороЯ்роЯுроо்родாрой் рокுрод்родிроЪாро▓ி ро╡роХ்роХீро▓் рооро▒்ро▒ роЕройைро╡ро░ுроо் роЕроЯி рооுроЯ்роЯாро│்роХро│் роОрой்ро▒ роЖрогро╡ роиிройைрок்рокு.

родுро░ோроХроо்-8: роироЯрои்род роЕройைрод்родு родேроЪ родுро░ோроХроЩ்роХро│ுроо், роХுро▒்ро▒роЩ்роХро│ுроо் рокொро░ுро│ாродாро░ рооேродை рокிро░родрооро░ுроХ்роХு родெро░ிрои்родே роХрог்рооுрой்ройே роироЯрои்родுро│்ро│родு. роЗро░ுрои்родுроо் рокிро░родрооро░் ро╡ாроп் рооூроЯி рооௌройிропாроХ роЗро░ுрок்рокродு роороХ்роХро│ுроХ்роХு роЗро┤ைроХ்роХрокроЯுроо் роороХா роороХா родுро░ோроХроо்.

родுро░ோроХроо்-9: ро╕்рокெроХ்роЯ்ро░роо் ро╡ிро╡роХாро░род்родிро▓் рооுро▒ைроХேроЯாроХ рокெро▒рокроЯ்роЯ рокрогроЩ்роХро│் рокெро░ுроо்рокாро▓ாройро╡ை роЗрои்родிропாро╡ிро▓் рокுро┤роХ்роХрод்родிро▓் роЗро▓்ро▓ாрооро▓் роЕрои்роиிроп роиாроЯுроХро│ிро▓்,ро╡роЩ்роХிроХро│ிро▓் рооுродро▓ீроЯு роЪெроп்ропрок்рокроЯ்роЯுро│்ро│родாроХ родроХро╡ро▓். роЗрои்род рокрогроо் роЕро░роЪுроХ்роХு ро╡ро░ுро╡ாропாроХ роХிроЯைрод்родு роЗро░ுрои்родாро▓் роПро░ாро│рооாрой роЕро░роЪு роХро▓்ро▓ூро░ிроХро│், рокро│்ро│ிроХро│், рокாро▓роЩ்роХро│், рооро░ுрод்родுро╡рооройைроХро│், родொро┤ிро▒்роЪாро▓ைроХро│் роОрой்ро▒ு роЙро░ுро╡ாроХ்роХி роЕройைро╡ро░ுроХ்роХுроо் роХро▓்ро╡ி,ро╡ேро▓ைро╡ாроп்рок்рокு, роЕроЯிрок்рокроЯை ро╡роЪродிроХро│் роОрой்ро▒ு роПро▒்рокроЯுрод்родி роПро┤ைроХро│ே роЗро▓்ро▓ாрод роиாроЯ்роЯை роЙро░ுро╡ாроХ்роХி роЗро░ுроХ்роХро▓ாроо். роЗро▓ро╡роЪроЩ்роХро│் рокெро▒ாрод роороХ்роХро│ை роХрог்роЯிро░ுроХ்роХро▓ாроо்.

родுро░ோроХроо்-10: ро╕்рокெроХ்роЯ்ро░роо் роКро┤ро▓் рокрогрод்родை рокропрой்рокроЯுрод்родி родро▓ிрод் рокро▒்ро▒ுроо் рокிро▒ роЗройрод்родை роЪேро░்рои்род роПро┤ை ро╡ிро╡роЪாроп роороХ்роХро│ிроЯроо் рооிро░роЯ்роЯி ро╡ிро│ை роиிро▓роЩ்роХро│ை роЕроЯிрооாроЯ்роЯு ро╡ிро▓ைроХ்роХு ро╡ாроЩ்роХрок்рокроЯ்роЯродாроХ родроХро╡ро▓். роЗродு роороХ்роХро│ுроХ்роХு роЗро┤ைроХ்роХрокроЯ்роЯ родுро░ோроХроо் рокрод்родு. роТро░ு рооுро▒ைроХேроЯ்роЯை роЪெроп்родு роЕродைропே рооூро▓родройрооாроХ ро╡ைрод்родு роЗрой்ройொро░ு рооுро▒ைроХேроЯு роЪெроп்ропрок்рокроЯ்роЯுро│்ро│родு. роКро┤ро▓் роЪெроп்ро╡родிройாро▓் роороХ்роХро│ுроХ்роХு роЗро┤ைроХ்роХрокроЯுроо் родுрой்рокроЩ்роХро│ுроХ்роХு роЗродை ро╡ிроЯ роЪிро▒рои்род роЙродாро░рогроо் ро╡ேро▒ெрой்рой ро╡ேрог்роЯுроо். роирог்роЯு роХொро┤ுрод்родாро▓் ро╡ро▓ைропிро▓் родроЩ்роХாродு. роЗродுродாрой் роКро┤ро▓ிрой் ро╡ிро│ைро╡ுроХро│். роЗро╡ро░்роХро│் ро░род்родроо் роХுроЯிроХ்роХுроо் роХொроЪுроХ்роХро│் рооாродிро░ி. роироо்рооிроЯроо் роЙро│்ро│ ро░род்родрод்родை роЙро▒ிроЮ்роЪுро╡родோроЯு роороЯ்роЯுроо் роЗро▓்ро▓ை роЕродோроЯு роЪேро░்род்родு роиோроп் роХிро░ுрооிроХро│ைропுроо் роироородு ро░род்родрод்родிро▓் ро╡ிроЯ்роЯு роЪெро▓்роХிрой்ро▒ройро░்.

роЗрок்рокроЯி 2G роКро┤ро▓ிро▓் роороХ்роХро│ுроХ்роХு роЗро┤ைроХ்роХрокроЯ்роЯ родுро░ோроХроЩ்роХро│் роОрог்рогிро▓் роЕроЯроЩ்роХாродродு. роЗрои்род роКро┤ро▓ிрой் родாроХ்роХроо் роЗродோроЯு роиிро▒்роХாродு. роороХ்роХро│ைрод்родாрой் роЪுрод்родி роЪுрод்родி роЕроЯிроХ்роХுроо். роОрок்рокроЯி? роКро┤ро▓் рокрогрод்родை ро╡ைрод்родு роПро┤ைроХро│ிрой் роиிро▓роЩ்роХро│் роЕроЯிрооாроЯ்роЯு ро╡ிро▓ைроХ்роХு ро╡ாроЩ்роХрок்рокроЯ்роЯு роЕродை рокிро│ாроЯ் рокோроЯ்роЯு роЕродே роороХ்роХро│ிроЯроо் роЕродிроХ ро╡ிро▓ை ро╡ைрод்родு ро╡ிро▒்роХрок்рокроЯுроХிро▒родு.

роТро░ு роПроХ்роХро░ை роХுро▒ைрои்род ро╡ிро▓ைроХ்роХு ро╡ிро▒்ро▒ роороХ்роХро│் роЕрои்род рокрогрод்родை ро╡ைрод்родு роЕродே роЗроЯрод்родிро▓் роЕродாро╡родு рооுрои்родைроп роЪொрои்род роЗроЯрод்родிро▓ роТро░ு роХிро░ௌрог்роЯ் роиிро▓роо் роХூроЯ ро╡ாроЩ்роХ рооுроЯிропро╡ிро▓்ро▓ை. роЗродுродாрой் роКро┤ро▓ிрой் ро╡ிро│ைро╡ு. роЗрок்рокோродு рокுро░ிрои்родு роЗро░ுроХ்роХுроо் роПро┤ைроХро│் роОрок்рокроЯி роЙро░ுро╡ாроХிро▒ாро░்роХро│் роОрой்ро▒ு. роЗродு роороЯ்роЯுроо் роЗро▓்ро▓ை роКро┤ро▓் рокрогрод்родை ро╡ைрод்родு роЕройைрод்родு роЗроЯроЩ்роХро│ைропுроо் ро╡ро│ைрод்родு рокோроЯ்роЯு ро░ிропро▓் роОро╕்роЯேроЯ் роироЯрод்родுроо் роЕройைрод்родு роЕро░роЪிропро▓்ро╡ாродிроХро│ுроо் роЗрок்рокроЯி роКро┤ро▓் рокрогрод்родிро▓்родாрой் роЪெроп்роХிрой்ро▒ройро░்.

роЕро╡ро░்роХро│் роЪொро▓்ро╡родுродாрой் ро╡ிро▓ை. ро╡ிро▓ைро╡ாроЪி роЙропро░்ро╡родு роЗропро▒்роХை роЕро▓்ро▓. роЕройைрод்родுроо் рооிроХ рооிроХ роЪெропро▒்роХைропே. роЗропро▒்роХை роОрой்ро▒ு роЖро│ுроо் роХроЯ்роЪிропிройро░் роХூро▒ுро╡родு родро╡ро▒ு. роЙрог்рооைропை рооூроЯி рооро▒ைроХ்роХுроо் роЪெропро▓். роЗродு ро░ிропро▓் роОро╕்роЯேроЯ் роороЯ்роЯுроо் роЗро▓்ро▓ை. роЕройைрод்родு рокொро░ுро│்роХро│ுроХ்роХுроо் рокொро░ுрои்родுроо். роХுро▒ைрои்род ро╡ிроХிродрод்родிро▓் роЙро│்ро│ рокрогроХ்роХாро░ро░்роХро│் рооேро▓ுроо் рокрогроХ்роХாро░ро░்роХро│் роЖро╡ாро░்роХро│். роЕродிроХ ро╡ிроХிрод்родிро▓் роЙро│்ро│ роироЯுрод்родро░ роороХ்роХро│், роПро┤ைроХро│் рооேро▓ுроо் роПро┤ைроХро│ாроХ роЖро╡ாро░்роХро│். роЗрои்род роПро┤ை, рокрогроХ்роХாро░рой் роЗроЯை ро╡ெро│ிропை роХுро▒ைроХ்роХрод்родாрой் роЕро░роЪாроЩ்роХроо் роТрой்ро▒ை роороХ்роХро│் родேро░்рои்родெроЯுроХ்роХிро▒ாро░்роХро│்.

роЗрой்ро▒ு роЖро│ுроо் ро╡ро░்роХ்роХрод்родிройро░ே роЕродро▒்роХு рооுро┤ு рооுродро▓் роХாро░рогрооாроХ родிроХро┤்роХிро▒ாро░்роХро│். роЪொро▓்ро▓рокோройாро▓் роЕро░роЪிрой் роХроЯрооைроХро│ை роЕро░роЪிропро▓்ро╡ாродிроХро│ுроо் рооро▒рои்родுро╡ிроЯ்роЯройро░். роЗро╡ро░்роХро│ை родேро░்рои்родெроЯுроХ்роХுроо் роороХ்роХро│ுроо் родроЩ்роХро│் роХроЯрооைроХро│ை рооро▒рои்родு роЗро▓ро╡роЪрод்родுроХ்роХு рокிрой் роЪெро▓்роХிрой்ро▒ройро░். роЗро▓ро╡роЪроо் ро╡ாроЩ்роХுроо் роороХ்роХро│ே роТрой்ро▒ை роирой்ро▒ாроХ родெро░ிрои்родு роХொро│்ро│ுроЩ்роХро│்.

роЙроЩ்роХро│் роЙро┤ைрок்рокு роОрой்ройுроо் рооூро▓родройрод்родை рооро▒рои்родு роЗро▓ро╡роЪроо் ро╡ாроЩ்роХுро╡родாро▓் роОрод்родройை родро▓ைрооுро▒ைроХро│் роХроЯрои்родாро▓ுроо் роиீроЩ்роХро│் роПро┤ைроХро│ாроХрод்родாрой் роЗро░ுроХ்роХ рооுроЯிропுроо். роЙроЩ்роХро│் ро╡ாро┤்роХை родро░рооுроо் роЙропро░рокோро╡родிро▓்ро▓ை. роЗро▓ро╡роЪроо் роХொроЯுроХ்роХ родேро╡ைропாрой ро╡ро░ிрокрогрод்родை роЪெро▓ுрод்родுроо் роЙро┤ைроХ்роХுроо் роороХ்роХро│ிрой் ро╡ாро┤்роХை родро░рооுроо் роЙропро░рокோро╡родிро▓்ро▓ை. роЗродு роиிроЪ்роЪропроо். рооாро▒்ро▒роо் роТрой்ро▒ே рооாро▒ாродродு. роЗро▓ро╡роЪроо் рооாро▒ро╡ிро▓்ро▓ை роОрой்ро▒ாро▓் роЙроЩ்роХро│் ро╡ாро┤்роХை родро░рооுроо் рооாро▒рокோро╡родிро▓்ро▓ை.

роОройродு роиோроХ்роХрооே роЗрои்род 2G роЙро▓роХ роороХா роКро┤ро▓ாро▓் роороХ்роХро│் роОро╡்ро╡ாро▒ு ро╡роЮ்роЪிроХ்роХрокроЯ்роЯாро░்роХро│் роОрой்рокродை роТро╡்ро╡ொро░ு роЗрои்родிроп роХுроЯிроороХройுроо் рокрод்родிро░ிроХை роиிро▒ுро╡ройроЩ்роХро│ிро▓் рокрогிрокுро░ிропுроо் роирог்рокро░்роХро│் роЙро│்рокроЯ роЕройைро╡ро░ுроо் родெро░ிрои்родு роХொро│்ро│ро╡ேрог்роЯுроо் роОрой்рокродுродாрой். роОройро╡ே родெро░ிрои்родுроХொро│்ро│ுроЩ்роХро│், рокுро░ிрои்родுроХொро│்ро│ுроЩ்роХро│். роТро╡்ро╡ொро░ு роПро┤ை роороХ்роХро│ுроХ்роХுроо் родெро░ிропрокроЯுрод்родுроЩ்роХро│். ро░ோроЯ்роЯிро▓் роЗро▒роЩ்роХிродாрой் рокோро░ாроЯро╡ேрог்роЯுроо் роОрой்ро▒ு роЗро▓்ро▓ை.роХொроЯி рокிроЯிроХ்роХ роЕро╡роЪிропрооுроо் роЗро▓்ро▓ை. e -mail, FAX , Facebook , orkut роОрой்ро▒ு роОро╡்ро╡ро│ро╡ோ родொро┤ிро▓் роиுроЯ்рок ро╡роЪродி роЙро│்ро│родு. родроЩ்роХро│ுроХ்роХு роЙроХрои்род роПродேройுроо் роТрой்ро▒ை родேро░்ро╡ு роЪெроп்родு родроЩ்роХро│ிрой் роЕрой்ро▒ாроЯ ро╡ேро▓ைроХро│் рокாродிроХ்роХாрод ро╡роХைропிро▓் роЪுро▓рокрооாроХ роЗродை роЪெроп்ропрооுроЯிропுроо். роЪெроп்ро╡ீро░்роХро│் роОрой்ро▒ு роиிройைроХ்роХிро▒ேрой்.

Microsoft India Chairman Ravi Venkatesan quits

NEW DELHI: Software major Microsoft said that Ravi Venkatesan , Chairman and Corporate Vice President of its India operations has resigned.

Venkatesan has decided to pursue opportunities outside Microsoft, Microsoft said in a statement.

A successor will be named in the near future and Venkatesan will partner with Microsoft International President Jean-Philippe Courtois to ensure a smooth transition with his successor, it added.

Microsoft India Chairman Ravi Venkatesan quits

"Ravi came to Microsoft India at a very critical time. He has since architected our growth, making this among the fastest growing markets for us.He has laid a strong foundation which, I believe, will help us to continue our business successes," Courtois said.

Sanket Akerkar will continue to lead overall sales, marketing and services businesses as the Sales and Marketing Head for India, while Hemant Sachdev will continue to lead the Consumer and Online business. 

Friday, February 11, 2011

Memory Usage in Java


In Java, memory is allocated in various places such as the stack, heap, etc. In this newsletter I'm only going to look at objects which are stored on the heap. Please don't take me to task for not mentioning the others, they might appear in a future newsletter.

Say I have a class Foo, how much memory will one instance of that class take? The amount of memory can be determined by looking at the data members of the class and all the superclasses' data members. The algorithm I use works as follows:
  1. The class takes up at least 8 bytes. So, if you say new Object(); you will allocate 8 bytes on the heap.
  2. Each data member takes up 4 bytes, except for long and double which take up 8 bytes. Even if the data member is a byte, it will still take up 4 bytes! In addition, the amount of memory used is increased in 8 byte blocks. So, if you have a class that contains one byte it will take up 8 bytes for the class and 8 bytes for the data, totalling 16 bytes (groan!).
  3. Arrays are a bit more clever, at least smaller primitives get packed. I'll deal with these later.
In order to be able to test many different types of objects, I have written a MemoryTestBench class that takes an ObjectFactory which is able to create the type of object that you want to test. The MemoryTestBench can either tell you how many bytes are used by that object or it can print out a nicely formatted result for you. You get the most accurate results if you make sure that supplementary memory is already allocated when you start counting. I therefore construct the object, call the methods for finding the memory, and then set the handle to null again. The garbage collector is then called many times, which should free up all unused memory. The memory is then counted, the object created, garbage collected, and the memory counted again. The difference is the amount of memory used by your object, voila!
public class MemoryTestBench {
  public long calculateMemoryUsage(ObjectFactory factory) {
    Object handle = factory.makeObject();
    long mem0 = Runtime.getRuntime().totalMemory() -
      Runtime.getRuntime().freeMemory();
    long mem1 = Runtime.getRuntime().totalMemory() -
      Runtime.getRuntime().freeMemory();
    handle = null;
    System.gc(); System.gc(); System.gc(); System.gc();
    System.gc(); System.gc(); System.gc(); System.gc();
    System.gc(); System.gc(); System.gc(); System.gc();
    System.gc(); System.gc(); System.gc(); System.gc();
    mem0 = Runtime.getRuntime().totalMemory() -
      Runtime.getRuntime().freeMemory();
    handle = factory.makeObject();
    System.gc(); System.gc(); System.gc(); System.gc();
    System.gc(); System.gc(); System.gc(); System.gc();
    System.gc(); System.gc(); System.gc(); System.gc();
    System.gc(); System.gc(); System.gc(); System.gc();
    mem1 = Runtime.getRuntime().totalMemory() -
      Runtime.getRuntime().freeMemory();
    return mem1 - mem0;
  }
  public void showMemoryUsage(ObjectFactory factory) {
    long mem = calculateMemoryUsage(factory);
    System.out.println(
      factory.getClass().getName() + " produced " +
      factory.makeObject().getClass().getName() +
      " which took " + mem + " bytes");
  }
}
The ObjectFactory interface looks like this:
public interface ObjectFactory {
  public Object makeObject();
}

Basic Objects

Let's start with the easiest case, a BasicObjectFactory that simply returns a new instance of Object.
public class BasicObjectFactory implements ObjectFactory {
  public Object makeObject() {
    return new Object();
  }
}
When we run this, we get the following output:
BasicObjectFactory produced java.lang.Object which took 8 bytes

Bytes

I suggested earlier that bytes are not packed in Java and that memory usage is increased in 8 byte blocks. I have written the ByteFactory and the ThreeByteFactory to demonstrate this:
public class ByteFactory implements ObjectFactory {
  public Object makeObject() {
    return new Byte((byte)33);
  }
}

public class ThreeByteFactory implements ObjectFactory {
  private static class ThreeBytes {
    byte b0, b1, b2;
  }
  public Object makeObject() {
    return new ThreeBytes();
  }
}
When we run these, we get the following output:
ByteFactory produced java.lang.Byte which took 16 bytes
ThreeByteFactory produced ThreeByteFactory$ThreeBytes which took 24 bytes
This is great (not). When I first started using Java I used to spend hours deciding whether a variable should be an int or short or a byte in order to minimize the memory footprint. I was wasting my time. As I said earlier, I don't know if this is only a problem under NT or if it's the same on all platforms. Knowing Java's dream of being equally inefficient on all platforms, I suspect that it would be the same.

Booleans

Let's carry on and look at a smaller unit of information, the boolean. Now a boolean is simply a bit, true or false, yes or no, zero or one. If I have a class that contains 64 booleans, guess how much memory it will take? 8 for the class, and 4 for each of the boolean data members, i.e. 264 bytes!!! Since a boolean is essentially the same as a bit, we could have stored the same information in one long. If you don't believe me, have a look at the following class:
public class SixtyFourBooleanFactory implements ObjectFactory {
  private static class SixtyFourBooleans {
    boolean a0, a1, a2, a3, a4, a5, a6, a7;
    boolean b0, b1, b2, b3, b4, b5, b6, b7;
    boolean c0, c1, c2, c3, c4, c5, c6, c7;
    boolean d0, d1, d2, d3, d4, d5, d6, d7;
    boolean e0, e1, e2, e3, e4, e5, e6, e7;
    boolean f0, f1, f2, f3, f4, f5, f6, f7;
    boolean g0, g1, g2, g3, g4, g5, g6, g7;
    boolean h0, h1, h2, h3, h4, h5, h6, h7;
  }
  public Object makeObject() {
    return new SixtyFourBooleans();
  }
}
When we run this, we get the following output:
SixtyFourBooleanFactory produced SixtyFourBooleanFactory$SixtyFourBooleans
  which took 264 bytes
Admittedly, the example was a little bit contrived, as you would seldom have that many booleans in one class, but I hope you get the idea.
Sun must have realised this problem so they made constants in java.lang.Boolean for TRUE and FALSE that both contain instances of java.lang.Boolean. I think that the constructor for Boolean should have been private to stop people from creating 16 byte objects that are completely unnecessary.

Arrays of Boolean Objects

A Boolean Array takes up 16 bytes plus 4 bytes per position with a minimum of 8 bytes at a time. In addition to that, we obviously have to count the actualy space taken by Boolean objects.
public class BooleanArrayFactory implements ObjectFactory {
  public Object makeObject() {
    Boolean[] objs = new Boolean[1000];
    for (int i=0; i<objs.length; i++)
      objs[i] = new Boolean(true);
    return objs;
  }
}
Try guess how many bytes would be taken up by a Boolean array of size 1000 with Boolean objects stuck in there. Ok, I'll help you: 16 + 4*1000 (for the pointers) + 16*1000 (for the actual Boolean objects) = 20016. Run the code and see if I'm right ;-) If we, instead of making a new Boolean object each time, use the Flyweights provided in Boolean, we'll get to 16 + 4*1000 = 4016 bytes used.
Primitives get packed in arrays, so if you have an array of bytes they will each take up one byte (wow!). The memory usage of course still goes up in 8 byte blocks.
public class PrimitiveByteArrayFactory implements ObjectFactory {
  public Object makeObject() {
    return new byte[1000];
  }
}
When we run this, we get the following output:
PrimitiveByteArrayFactory produced [B which took 1016 bytes

java.lang.String

Strings actually fare quite well since they can be "internalised" meaning that only one instance of the same String is kept. If you, however, construct your String dynamically, it will not be interned and will take up a bit of memory. Inside String we find:
// ...
private char value[];
private int offset;
private int count;
private int hash = 0;
// ...
Say we want to find out how much "Hello World!" would take. We start adding up 8 (for the String class) + 16 (for the char[]) + 12 * 2 (for the characters) + 4 (value) + 4 (offset) + 4 (count) + 4 (hash) = 64 bytes. It's quite difficult to measure this, as we have to make sure the String is not internalized by the JVM. I used the StringBuffer to get this right:
public class StringFactory implements ObjectFactory {
  public Object makeObject() {
    StringBuffer buf = new StringBuffer(12);
    buf.append("Hello ");
    buf.append("World!");
    return buf.toString();
  }
}
When we run this, we get, as expected, the following output:
StringFactory produced java.lang.String which took 64 bytes

java.util.Vector

Now we get to the real challenge: How much does a java.util.Vector use in memory? It's easy to say, now that we have a MemoryTestBench, but it's not so easy to explain. We start by looking inside the java.util.Vector class. Inside we find the following:
// ...
protected Object elementData[];
protected int elementCount;
// ...
Using the knowledge we already have, we decide that the amount of memory used will be 8 (for the class) + 4 (for the pointer to elementData) + 4 (for elementCount). The elementData array will take 16 (for the elementData class and the length) plus 4 * elementData.length. We then follow the hierarchy up and discover the variable intmodCount in the superclass java.util.AbstractList, which will take up the minimum 8 bytes. For a Vector of size 10, we will therefore take up: 8 + 4 + 4 + 16 + 4*10 + 8 = 80 bytes, or simply 40 + 4*10 = 80 bytes, which agrees with our experiment:
public class VectorFactory implements ObjectFactory {
  public Object makeObject() {
    return new java.util.Vector(10);
  }
}
When we run this, we get the following output:
VectorFactory produced java.util.Vector which took 80 bytes
So, what happens when we create a JTable with a DefaultTableModel with 100x100 cells? The DefaultTableModel keeps a Vector of Vectors so this will take 40 + 4*100 + (40 + 4*100) * 100 = 440 + 44000 = 44440 bytes just for the empty table. If we put an Integer in each cell, we will end up with another 100*100*16 = 160'000 bytes used up.

java.util.LinkedList

What's better, a java.util.LinkedList or a java.util.ArrayList? Experienced followers of these newsletters will of course say: "Neither, the CircularArrayList is better" ;-). Let's see what happens when we put 10000 objects into an ArrayList (which uses the same amount of memory as the Vector) vs. a LinkedList. Remember that each Object takes up 8 bytes, so we will subtract 80000 bytes from each answer to get comparable values:
import java.util.*;
public class FullArrayListFactory implements ObjectFactory {
  public Object makeObject() {
    ArrayList result = new ArrayList(10000);
    for (int i=0; i<10000; i++) {
      result.add(new Object());
    }
    return result;
  }
}

import java.util.*;
public class FullLinkedListFactory implements ObjectFactory {
  public Object makeObject() {
    LinkedList result = new LinkedList();
    for (int i=0; i<10000; i++) {
      result.add(new Object());
    }
    return result;
  }
}
When we run this, we get the following output:
FullArrayListFactory produced java.util.ArrayList which took 120040 bytes
FullLinkedListFactory produced java.util.LinkedList which took 320048 bytes
When we subtract 80000 bytes from each, we find that the ArrayList takes up 40040 bytes (as expected) and the LinkedList uses 240048 bytes. How many of us consider issues like this when we code?
We have come to the end of yet another newsletter. I am trying to put newsletters together that will be worthwhile to send out, so as a result they will not always appear every week, unless I feel particularly inspired.