Showing posts with label Opinion. Show all posts
Showing posts with label Opinion. Show all posts

Thursday, November 12, 2009

How to Learn Java

Java is an interesting technology, but widespread. It can be used to develop solutions to run on mobile devices so that the enterprise server. The extent of Java is often confused beginners in learning Java.

Not infrequently trapped in the direction that is not maximum, for example, open control software source, such as Struts, Turbine, or Hybernate than Java's own understanding. Or stuck to treat the JSP as a scripting language, like culture in the PHP.

Where do you begin to walk, where you must step on the way Your wanderings as a Java developer, preferably tailored to the objectives You. Do you want to develop applications for mobile phones, or to run in the enterprise server? This requires a different Java technologies for didalami. Java Platform Java as a platform for software development, roughly divided into 3 referrals:

1. J2SE (Java 2 Standard Edition)
For desktop applications.

2. J2EE (Java 2 Enterprise Edition)
For web applications, like JSP, Servlet, EJB, XML, web services.

3. J2ME (Java 2 Micro Edition)
For mobile applications, like MIDlets

How to learn Java?
  • Determine an objective, such as' I want to make an application for phone ', or' I want to make a portal with Java ', or' I want to be create desktop applications with the Java GUI '.
  • Of the objective, you can set the agenda to learn Java so that more directed and focused.
Java Programming Language

As a fundamental knowledge of Java you need to understand:
  • the concept of byte-code and Java Virtual Machine
  • syntax in the Java programming language as data types, flow control, handling exception
  • OOP in Java
Basic Java

For basic control of Java, between the libraries that need to be well understood are:
  • IO, especially related to how to access the file with Java, and the concept byte streams and character streams is needed to understand how Servlet or JSP work.
  • JDBC, associated with how to access the database with Java
Basic Java - Enrichment

The need for control of these additives depends on your objectives in
learn Java:
  • Networking, needed for example to develop client server applications, not Web-based, where you need to design their own communication protocol
  • AWT and Swing, required if you want to develop desktop applications with the Java GUI.
  • Applets, is required if you need a GUI application that runs on top browser.
These materials may not need to go into if you want to develop Web applications.

Web Applications

To be able to develop web applications, you need to learn:
  • Servlet, the basic technology in the development of web applications with Java.
  • JSP, a servlet development, best used for the presentation layer.
Web Applications - Enrichment

This technology will be useful to improve the quality of web-based software
You develop:
  • Model View Controller
Enterprise Applications --- Basic

You will be easier, though not required, understanding of enterprise Java technology
to understand:
  • RMI or Remote Method Invocation, is the basis of distributed applications in Java
  • JNDI or Java Naming and Directory Interface
  • JTA or the Java Transaction API
Enterprise Applications --- Main

The main technologies in enterprise applications with Java are:
  • EJB or Enterprise Java Bean is a key technology of the Java enterprise.
Advanced Enterprise Applications ---

These are technologies that are still in progress:
  • XML or eXtended Markup Language, used in the technology of the Web Service
  • Web Service, is an architecture in which two applications communicate with each other communications protocol called SOAP. Two applications that communicate with Web services can be developed with two programming languages different, and walked on two different platforms.
  • P2P or Peer-To-Peer, in Java was developed as Project Juxtapose (JXTA)
Mobile Applications

To be able to develop mobile applications, the technology needs to master:
  • MIDP or the Mobile Internet Device Profile
Mastery of Open Source

Possession of open source can provide its own power for Java developers. In
including:
  • Library. As a library that allows software development, such as Hybernate, Velocity, Struts
  • Deployment. Not infrequently open source is also required for deployment environment, such as Tomcat, JBoss
  • Process. Or supporting software development processes such as Scarab, Ant

Why Do We Have To Learn Java?

Java is a language of object-oriented programming (OOP) that can run on different operating system platforms. Java development is not only focused on one operating system, but developed for different operating systems and is open source.

Java programming language itself is divided into 3 edition, namely:

1. J2SE (Java 2 Standard Edition)

Java 2 Standard Edition includes the core of the Java programming language, includes librarylibrary required core as IO, Networking, and JDBC.

2. J2EE (Java 2 Enterprise Edition)
Java 2 Enterprise Edition is a Java development for enterprise solutions, ranging from Web-based application with Servlet and JSP, distributed applications with EJB, as the integration of enterprise applications such as Web Service.

3. J2ME (Java 2 Micro Edition)

Java 2 Micro Edition is the development of Java for mobile devices, like mobile , Pocket PCs and PDAs. Development toward mobile devices requires Java to
adapt to the limited machine memory and processor.

Java advantages include:

1. Simple
Java programming language uses a syntax similar to C + + but the syntax of Java has improved a lot, especially eliminating the use of complex pointers and multiple inheritance. Java also uses automatic memory allocation and garbage collection memory.

2. Object oriented (Object Oriented)
Java using object-oriented programming makes the program can be made in modular and can be used again. Object-oriented programming models the real world into objects and make the interaction between these objects.

3. Can be easily distributed
Java was made to create distributed applications easily with the integrated networking libraries in Java.

4. Interpreter
Java programs are executed using the interpreter of Java Virtual Machine (JVM). This causes the Java source code that has been compiled to Java bytecodes can be run on a platform different.

5. Robust
Java mempuyai high reliability. The Java compiler has the ability to detect errors more thoroughly than other programming languages. Java has a runtime-Exception handling to help overcome the error in the programming.

6. Safe
As a programming language for Internet and distributed applications, Java has several security mechanisms to keep the application is not used to damage a computer system that runs the application.

7. Architecture Neutral
Java programs are platform independent. The program has just one version that can run on different platforms with a Java Virtual Machine.

8. Portable
Source code and Java programs can be easily carried to different platforms without having different recompiled.

9. Multithreading
Java has the ability to create a program that can do several jobs at once and simultaneously.

10. Dynamic
Java is designed to be run in a dynamic environment. Changes in a class by adding properties or method can be done without interfering with programs that use these classes.

Java important components include:
  • Java Virtual Machine (JVM)
JVM is an imaginary machine (virtual) working with applications like on a real machine. JVM specification provides hardware and platforms where Java code compilation occurs. Specification is what makes Java-based applications to be free from any platform for compiling the process completed by the JVM. Applications Java programs created with berekstensi text file. Java. This program is compiled to produce bytecode files berekstensi. Class. Bytecode is a set of instructions similar to machine code instructions. The difference is the machine code must run on a computer system where the compilation is intended, while walking on the java bytecode interpreter is available on all platforms and computer systems operating system.


  • Garbage Collection
Many other pemrogaman language that allows a programmer to allocate memory at run time. However, after using the memory allocation, there should be a way to put back the memory block so that other programs can use it. Java program to do garbage collection which means the program itself does not need to delete objects that are not used anymore. These facilities reduce the burden of memory management by the programmer and reduce or eliminate the source of the biggest mistakes contained in the language that allows dynamic allocation.

  • Security Code
Security code implemented in Java through the use of the Java Runtime Environment (JRE). Java uses 3-layer security model to protect the system from untrusted Java Code.

1. First, a class-loader handles the loading of Java classes into the runtime interpreter. This process includes safeguards to separate classes from the local disk with classes taken from the network.
2. Second, the bytecode Verifier read bytecode before running and ensure the bytecode meet the basic rules of the Java language.
3. Third, security management deal with the application-level security control whether the program has access to resources such as file systems, network ports, external processes and windowing system. After the whole process is finished running, then the program code is executed.