October 2006


Apache has been the most popular web server on the internet since April 1996. The January 2002 Netcraft Web Server Survey found that 56% of the web sites on the Internet are using Apache, thus making it more widely used than all other web servers combined.

Apache Web Server was developed under the Apache HTTP Server Project. It is an open-source HTTP server for various modern desktop and server operating systems, such as UNIX and Windows NT. The goal of this project is to provide a secure, efficient and extensible server, which provides HTTP services in sync with the current HTTP standards.


We have to first configure the DNS. Then configure the following file /etc/httpd/conf/httpd.conf. (more…)


Interface vs Class:

  1. First, an interface can only contain abstract methodsand/or static final variables (constants). Classes, on the other hand, can implement methods and contain variables that are not constants. Classes can have executable code as well as abstract methods.
  2. Second, an interface cannot implement any methods (no implementation code) . A class that implements an interface must implement all methods defined in that interface.
  3. Multiple Inheritance: An interface has the ability to extend from other interfaces, and (unlike classes) can extend from multiple interfaces.
  4. An interface cannot be instantiated with the new operator.

Interfaces vs Abstract Classes:



Have executable code as well as abstract methods No implementation code. All methods are abstract.
Can only subclass on abstract class A class can implement any number of interfaces.
Can have instance variables, constructorsVisibility: public, private, [default], protected. No instance variables or constructors.Visibility: either public or [default]
Excellent candidates for application frameworks. Perfect for applications which involve frequent design changes. Their use reduces coupling and achieve code reuse
Define some default behavior and force subclasses to provide implementation details.

 Benefits of Interfaces over Abstract Classes:

  1. Allow multiple inheritance.
  2. Capture similarities among unrelated classes without artificially forcing a class relationship.
  3. Declare and not define methods than one or more classes are expected to implement.
  4. Reveal an object’s programming interface without revealing actual implementation.

Simply put, a thread is a program’s path of execution. Most programs written today run as a single thread, causing problems when multiple events or actions need to occur at the same time. Let’s say, for example, a program is not capable of drawing pictures while reading keystrokes. The program must give its full attention to the keyboard input lacking the ability to handle more than one event at a time. The ideal solution to this problem is the seamless execution of two or more sections of a program at the same time. Threads allows us to do this. (more…)