Category Archives: Java Core

Java Network

9 Difference between TCP and UDP Protocol – Java Network Interview Question

Read more:

9 Things Java Programmers Should Learn in 2019 

Java Socket programming-Transferring Java object through socket using UDP

Java Socket Programming-Transferring of Java Objects through sockets using TCP



Java Bài 41: Thread Tập 1 – Thread Và Các Khái Niệm

5 Free Object-Oriented Programming Online Courses for Programmers

The OOP or Object Oriented Programming is a paradigm which allows you to write a program by modeling real-world things in terms of class and object. It not only make to represent a real-world thing in programming world easier but also allow you to manage the complexity of your program. Even though there are several programming paradigms e.g. procedural and functional, most of the code we write today is object-oriented and some of the most of popular programming languages are object-oriented e.g. JavaPythonPHP, and JavaScript all supported object-oriented programming.

Read more:


5 Free Object-Oriented Programming Online Courses for Programmers Read more:

Course detail:

Wildcards and Subtyping

Subtyping is a key feature of object-oriented languages such as Java. In Java, one type is a subtype of another if they are related by an extends or implements clause. Here are some examples:

Integer is a subtype of Number
Double is a subtype of Number
ArrayList<E> is a subtype of List<E>
List<E> is a subtype of Collection<E>
Collection<E> is a subtype of Iterable<E>

Subtyping and Wildcard

Java™ Platform, SE/EE API Specification

Java SE 8

Java SE 7

Java EE 7

Java EE 8


What is the difference between Java SDK, JRE, JVM, Java SE Runtime, and J2SE?

  1. JDK (Java Development Kit) provides environment to develop and run java applications.
  2. JRE (Java Runtime Environment) provides environment only to run java applications. For example, you installed java application in client machine, then the client is responsible for run java application, not responsible for develop java application. So here JRE is required.
  3. JVM (Java Virtual Machine) is responsible to run our java application line by line. So here JVM is interpreter. More about JVM refer this JVM Tutorial
  4. JSE (Java Standard Edition) or Java SE or J2SE
  • Java Platform, Standard Edition or Java SE is a widely used platform for programming in the Java language.
  • It is installable software as jdk software
  • Latest version is Java SE 8
  • This module is given to develop the stand alone applications, desktop application, two-tier applications etc
  • The application that is specific to one computer that contains main() is called standard or stand alone applications.
  • The stand alone application that contains GUI is called as desktop application. E.g: AWT frame window application, swing frame window application etc.
  • The application that contains two layers communicating with each other is called as two-tier application. Here layer represents logical partition in the application having logic’s. The layers of two tier application can be there in a single computer or can be there in two different computers.
  • JSE concepts are Core Java Tutorials Index
  • The alternate technologies for JSE module are VB, VB.NET Shop, D2K. But these technologies based applications are platform dependent and architectural specific whereas the JSE module applications are architectural neutral and platform independent.
  • In practical terms, Java SE consists of a virtual machine, which must be used to run Java programs, together with a set of libraries (or “packages”) needed to allow the use of file systems, networks, graphical interfaces, and so on, from within those programs.
  • The other two environments (JME and JEE) are based on JSE.

5. JEE (Java Enterprise Edition) or Java EE or J2EE

  • JEE is not installable software, it is given as specification.
  • JEE specification contains rules and guidelines to develop web server and application server software like web logic, tomcat etc.
  • Working with JEE is nothing but working with one or other web server or app server software to develop the app.
  • These web server, application server software’s are installable software’s.
  • For JEE module JSE module is base module
  • Using JEE module the following applications can be developed
  1. Web applications
  2. Distributed applications
  3. Enterprise applications
  4. n-tier applications
  • The applications which can provide 24*7 access to their resources using internet environment are called websites.
  • The client server applications which provide location transparency are called as distributed applications. If client application is able to recognise the server application location change dynamically are called as location transparency.
  • A web application/ website can be developed as distributed or non distributed application
  • All credit card, debit card processing applications will be developed generally as distributed applications.
  • A large scale application that deals with complex and heavy weight business logic by having middle ware service support is called as enterprise application. E.g: Banking application
  • The additional services that are configurable on the applications to make applications running in all the situations are called as middle ware services.

E.g: Security service, Transaction management service, Pooling service etc

Read more …

What Are the Types of JDBC Drivers?

Today, there are five types of JDBC drivers in use:

  • Type 1: JDBC-ODBC bridge
  • Type 2: partial Java driver (Demo Type 2)
  • Type 3: pure Java driver for database middleware
  • Type 4: pure Java driver for direct-to-database
  • Type 5: highly-functional drivers with superior performance Read more…

Why OOP is required in a programmer’s life

10 Object Oriented Design Principles Java Programmer should know

Important OOP Concepts


Thế nào là Good Design với Coupling and Cohesion

A Guide to Iterator in Java

The Iterator interface allows us to modify a collection while traversing it, which is more difficult with a simple for/while statement. This, in turn, gives us a good pattern we can use in many methods that only requires collections processing while maintaining good cohesion and low coupling.

See more:

Core Java in 25 hours

Successful Blog: Java- write once, run away!