Android and Java –Two facets of a coin
When the bored stiff housewife in some rural remote Indian village who is completely cut off from the supposedly mainstream urban India whips up her shiny new Android powered mobile phone gifted by her hard working farmer husband and downloads fancy meals to cook for her love..
Yes Android has this capacity to reach at the bottom level of the social segment of the humanity iPhone would has never been such as it has to fed at least 30% to the “Apple”.
Android - The first complete open source mobile operation system; developed by a group of 30 technologies and mobile companies together. Open source means developer is independent from any kind of registrations and even away from compel to have particular hardware to run and test the system. Again it has cross platform compatibility so you can do Android development on Linux/Windows/Mac freely.
All these are possible with its Java support thus and thus they both are two facet of a single coin. Let me go in depth to fathoms the killer features of the Java little bit more.
Distinguish features of Java:
Portability: Java mean to all kind of the machines (PCs) and for every platform so naturally you have to have wide customer range and nothing spent on hardware / software up gradations. In fact, Java provides three distinct types of portability: source code portability, CPU architecture portability, and OS/GUI portability.
Secure: Dear reader can you guess that what types of attacks from malicious programs can occur?
Here are some answers and we think you must be aware of all.
- Integrity Attacks
- Deletion/Modification of files.
- Modification of memory currently in use.
- Killing processes/threads.
- Availability Attacks
- Allocating large amounts of memory.
- Creating thousands of windows.
- Creating high priority processes/threads.
- Disclosure Attacks
- Mailing information about your machine (i.e. /etc/password).
- Sending personal or company files to an adversary or competitor over the network.
- Annoyance Attacks
- Displaying obscene pictures on your screen.
- Playing unwanted sounds over your computer.
The Java has distinct approach to providing executable content is to have Web Browsers with an embedded Java interpreter and runtime library developed and nurtured by the programmers world wide. These Web Browsers can download Java programs called applets, and have the Java interpreter execute the program. With this model, there are three fundamental layers: the Java language itself, the standard set of Java libraries, and the Web Browser itself. The security of the system depends fundamentally on the security of each of these three layers.
- The language: Java is an object oriented language with a syntax that is very similar to that of C++. The important features of the language from a security standpoint are the use of access control for variables and methods within classes, the safety of the type system, the lack of pointers as a language data type, the use of garbage collection (automatic memory de-allocation), and the use of packages with distinct namespaces.
- The Libraries: The standard Java runtime environment comes with a variety of useful libraries, providing file system access, network access, a window toolkit, and a variety of other tools. The correct specification of the libraries is of critical importance. The language itself can provide the ability to create secure libraries, but if the library code is not specified and written correctly the system is not secure. The access restrictions of the libraries are based on three mechanisms. The first is the Java language mechanism of providing access restrictions to object methods and variables. The second mechanism is the use of specialized ClassLoaders to load imported code. The final mechanism is the use of explicit calls to a global SecurityManager to check the validity of certain specific operations.
- Java Enable Browsers: The Web browser itself plays a large role in the security of the system. The Web browser defines and implements a security policy for running downloaded Java code. A Java enabled Web browser will include a Java interpreter and runtime library along with classes added to implement a SecurityManager and various ClassLoaders.
Robust: The Java is robust experience any way. It provides executable content. The user, instead of just choosing and observing various types of content, is enabled to participate in the creation of what is observed. Like the FAST Expeditions, the Java enables the transmission of directives for building images (or other media) rather than a pixel-by-pixel image. Thus transmission times are short. Quick transmission of the building blocks of content enables “real-time” interaction between user and content. Some examples: Java applets can create:
- Animations that tumble or slide across the user’s browser.
- Banners with moving text.
- Games that the user controls.
- 3D renderings.
- Graphics based on computation of data (with alternatives chosen by the user).
- Continuous feedback to the user.
- Interactive spreadsheets.
- Kits that allow the user to paint on an image.