In this chapter be discussed in a word about JAVA history and JAVA technology definition. This chapter also a little will touch about phases in JAVA program.
By the end of discussion, the reader supposed can:
1. Explain Features technology from JAVA cover JAVA Virtual Machine (JVM), garbage collection, and security code.
2. Explain phase difference in JAVA programming
JAVA Short History
in 1991, a SUN engineer group led by Patrick Naughton and James Gosling want to design computer language for ware consumer like cable television box. Because ware doesn't has many memories, language must little measure and contain tough code. Also because manufacturing differ choose processor different also, so language must free from manufacturing whatever. Project is given code name ”Green”.
Need for flexibility, little, tough and neutral code towards platform delivers team studies implementation pascal ever tried. Niklaus Wirth, language creator pascal design language portable that produce intermediate code for hypothesis engine. This engine often is called mechanically illusion (Virtual Machine). This code then can be used at just any engine that has interpreter. Project Green use illusion engine to overcome principal rumors about neutral towards engine architecture.
Because the person at Green project based on C++ and not pascal so majority sintaxs taken from C++, with adopted object orientation and not prosedural. Language the beginning that created given name ”Oak” by James Gosling that get inspiration from a tree that present in across the office, but caused by name Oak self be programming language name that preexist, then SUN to replaced it with JAVA. JAVA name self inspiration at the (time) of they are enjoying a coffee cup at a cafe then intuitively one of them is mentioning word JAVA that meaningful coffee ore origin. Final they are unanimous to give programming language name by the name of JAVA.
first Project product Green Star 7 (7), a long distance rein very intelligent. caused by market still not yet interested with product consumer intelligent so project Green must find market other from technology that created. At the (time) of same, implementation WWW and internet is experiencing fast development. On the other hand, member from project Green also realize that JAVA can be used in internet programming, so that applications furthermore aim to be technology that impersonate at web.
JAVA give accomodations almost entire Features important language - existing programming language since human modern computation development:
1. From SIMULA, language in the year 1965, language most influence JAVA all at once C++. From this language is adopted forms base from programming object orientation.
2. From LISP - language year 1955, adopted facilities garbage collection, with ability to imitate generic list processing, although this facilities is seldom that make use it.
3. From Algol - language in the year 1960, taken rein has structure.
4. From C++, adopted sintaks, a part semantiks and exception handling
5. From there language, taken strongly type, and exception handling.
6. From Objective c, taken interfaces facilities.
7. From SmallTalk language, taken to approach single-root class hiérarchie, where does object one inheritance hierarchy unitary
8. From eiffel language, facilities assertion that begin to applied in this part of JDK 1.4
What that is technology JAVA?
A programming language
As a programming language, JAVA can make entire application forms, desktop, web and another, as made by using conventional programming language.
JAVA programming language object orientation (OOP) and can be run in various platform operating system. Development JAVA not only focus in one operating system, but developed to various operating system and has open source.
A development ENVIRONMENT
As a builder device, JAVA technology prepare many tools: compiler, interpreter, documentation composers, class package and as it.
Application with JAVA technology in general application serbt a to that can be run in entire engines that has JAVA RUNTIME ENVIRONMENT (JRE).
A deployment ENVIRONMENT
Found two principal components from deployment ENVIRONMENT. First JRE, found on J2SDK package, contain classes for all JAVA package technology that cover class base from JAVA, GUI component and as it. Other component found in browser web. Almost entire commercial browser webs prepares interpreter and RUNTIME ENVIRONMENT from JAVA technology.
why study JAVA?
Based on white paper official from SUN, JAVA has characteristics next:
JAVA language Programming use sintaks resemble with C++ but sintaks in JAVA many repaired especially cause the loss of complex pointer use and multiple inheritance. JAVA also use automatic memory allocation and memory garbage collection.
2. Object oriented
JAVA use programming object oriented that make program can be made according to modular and can be used to return. Programming object oriented memodel real world intoes object and do interaction delivers objects.
JAVA made to make application distributings easyly with existence libraries networking integration in JAVA.
JAVA program run to use interpreter that is JAVA Virtual Machine (JVM). this matter has caused source code JAVA that compilation be JAVA bytecodes can be run in platform that various.
JAVA has reliability tall. Compiler in JAVA has ability detects error according to carefuler compared programming language other. JAVA has RUNTIME-exception handling to help to overcome error in programming.
As programming language for internet application and distributing, JAVA has several security mechanisms to watch over application is not used to botch computer system that run application.
7. Architecture Neutral
JAVA Program be platform independent. Program enough has one version that can be run in platform differ from Java Virtual Machine.
Source code also JAVA program can easily be brought to platform that vary without having to compilation repeat.
Performance in JAVA often said less tall. But performance JAVA can be increased to use compilation JAVA other like product inprise, microsoft and or symantec that use just in time compilers (JIT).
JAVA has ability to make a program that can do several jobs according to all at once and simultaneous.
JAVA design to can be run in dinamic ENVIRONMENT. change at one particular class with add properties and or method can be done without harry program that use class.
A part Features from JAVA
Java Virtual Machine (JVM)
JVM a imaginary engine (illusion) that with resembles application in a real engine. JVM prepare spesification hardware and platform where does code compilation JAVA happen. This spesification makes application based on JAVA be to free from whatever platform because compilation process is finished by JVM.
JAVA program application created with text file extension .java. This program is compilation produces one bundle bytecode extension. class or more. Bytecode series engine code instruction similar instruction. The difference engine code must be run in where must compilation be must be attributed, temporary bytecode walk in JAVA interpreter available at all platform computer system and operating system.
Many languages programming other that admit a programer allocate memory at the (time) of run. But, after use memory allocation, must found manner to laid to return memory block so that program other can use it. In C, C++ and another language, programmer absolute will responsible of this thing. This matter can difficult when programmer beglect to return memory block so that causes situation that be be known by the name of memory leaks.
program JAVA do garbage collection that mean unnecessary program wipes off self object - object is not used again. this facilities decreases memory management load by programmer and decrease or eliminate biggest error source found on language that makes dinamic allocation.
Code security implementation in JAVA pass use JAVA RUNTIME ENVIRONMENT (JRE). JAVA use pacification model 3 layers to protect system from untrusted JAVA code.
1. First, class-loader handle class loading JAVA to RUNTIME interpreter. This process prepares pacification with separate classes that come from local disk with classes that taken from network. This matter limits trojan application because classes that come from local disk that held beforehand.
2. Second, bytecode verifier read bytecode before run and guarantee bytecode fulfil rules JAVA language base.
3. Third, security management handles application level security with restrain to what program justifiably accessing resource likes file system, port network, external process and windowing system.
After entire process finished run, then program code at execution.
JAVA also prepare various pacification technique other:
1. Language designeds to complicate vandal code execution. pointer begation is pacification big step. JAVA do not know pointer operation. On-hand expert programmer, pointer operation is remarkable matter to optimasi and efficient program maker with astonishing. But this fashion can be disaster before programmer wicked. Pointer is tool incredible to access not otoritation. With pointer operation begation, JAVA can be language more safe.
2. JAVA has several passwords towards applet. To prevent program acts to disturb storage media, so applet is not permitted to do open, read and or write towards bundle according to just any. Because JAVA applet can open new window browser, so has logo JAVA and identification text towards window that opened. This matter prevents window pop-up cheat as enquiry username and password.
phases of JAVA programming
This under picture explain compilation process current and execution a JAVA program:
first step in maker a program based on JAVA inscribes program code in text editor. Example text editor that can be used among others: notepad, vi, emacs and other as it. Program code that made then stored in a bundle extension. java.
After make and keep program code, program code containing file compilation by using JAVA compiler. result from shaped bundle bytecode with extension. class.
bundle that contain bytecode then conversion by JAVA interpreter will be engine language as according to kind and platform that used.