Skip to main content

Core Java Concepts

Java Applications 

There are mainly four types of Java applications.
  • Standalone
  • Web 
  • Enterprise 
  • Mobile

Java Features 

There are several features in Java, but in here listed some important ones
  • Platform independent
  • Object oriented
  • Multi threaded
  • Distributed
  • Robust (automatic garbage collection, exception handling, type checking)

Java Security 

Java has 3 built-in security components;
  • Classloader: Separate class files packages from imported packages.
  • BytecodeVerifier: check the illegal access to objects
  • Security Manager: check what resources can access the object.

C++ vs Java



Methods

  • Static - No need to create an object to invoke the static method.
  • Constructor - use to initialize objects
    • Constructor name must same as the class name
    • Constructor has no return type
    • There are two types of constructors
      • Default - no parameter
      • Parameterized
    • If there is no constructor defined in the class, compiler automatically create default constructor
    • Constructor return value: current class instance

Compiling

At the compiler stage, Java code is converted to a bytecode.
JVM: Java Virtual Machine, used to execute the Java bytecode.Platform dependent.

Variables

There are three types of variables in Java
  • Local variable: variables define inside the method
  • Instance variable: variables define outside the method but inside the class
  • Static variable: variable declared as static

Data types

There are two kinds of data types in Java
  • Primitive: Byte, char, int, short, long, boolean, double
  • Non-primitive: String, array

Loops

  • While loop: If number of iterations are not fixed use this one
  • DoWhile loop: the loop is at least execute once.

Static

  • Variable: 
    • Refer common property for all objects (save memory)
  • Method
    • Belong to the class rather than object
    • Can invoke without creating object
    • this and super keyword can't use inside the static method

Types of inheritance (is-a)







In Java, multiple and hybrid interfaces are supported by interface only.If those are used in class level Java throws compile time error.

Aggregation (has-a)

Aggregation is based on entity reference





Comments

Popular posts from this blog

Object Oriented Programming (OOP)

Object Object is an entity that has state and behavior Class Collection of objects is known as class. There are four main types of OOP concepts Inheritance Object acquire all the properties and behavior of parent object Improve code re-usability Polymorphism One task is performed by different ways Use method overload and override Abstraction Hiding internal details and showing functionality Use abstract class and interfaces Encapsulation Binding code and data into a single unit

Maven

Maven is a software project management and comprehension tool, based on the concept of project object model. Maven Usages Build the code in the development environment (compile the source code, run the test cases and packaging the project) Project management tool Generate reports Dependency management Installation Steps You can install Maven by following below steps .  Manual Installation Download Maven binary file Create some environment variables M2_HOME = environment point to maven directory PATH = append Maven path until bin to path variable Using Ubuntu Terminal sudo apt-get install maven To check Maven is successfully installed, issue the following command mvn --version To create a Maven project using Terminal use following steps mkdir myApp cd myApp/ mvn archetype:generate : choose archetype for the project  groupId: org.amali.myProject (like package name) artifactId: MavenTestApp (like class name) The...

Model-View-Controller (MVC)

MVC(Model-View-Controller) is a software design pattern.It divided your applications into three components Model: Contain business rules and application Data View: Presentation layer (user interface) Controller: Handles the communication between view and model  Objectives of MVC Promote code usability Implement separation of concerns  Separate user interface and software logic Web Frameworks That Use MVC There are several web frameworks that use MVC design pattern.  Ruby On Rails (Ruby) Angular (JS) Django (Python) Express (JS) Flask (Python) Codeigniter (PHP) Simple UseCase for MVC In this use case scenario, Browser sends information that needs to create Employee Object, and Controller save that information in Model and Update the Employee View. Following Image shows the class diagram for above Scenario. Implementation:  https://github.com/kaosadi17/MVC