Saturday, January 25, 2014

Static methods on objects

MediaType in web service

Creating a simple network framework

concurrent garbage collection

When to use The Static Block

Serialization and Deserialization object testing in java

creating byte array of hex,oct

When to reuse object,advantage of reusing the object

What kind of object should be reuse

How to create security holes in java program

What is failure atomic in method

What is lower-level abstraction and higher-level abstraction

Checked exception and Recoverable condition

How to implement interface at run time

Merits and demerits of using reflection

What is defensive copy.

Type that permits multiple implementation in java

Interface,Abstract Class

Main purpose of nested class.Differnt scenario where nested class best suite

Inheritance over composition

Saturday, January 18, 2014

UrlClassLoader,ServiceLoader

Property Descriptor ,Property Editor , Url Editor

How framework uses Introspection .

What is bean persistence.What is long term persistence

What is slave machine and master machine in java programming

Local cache vs Master cache in distributed architecture in cluster

Out of box support for persistence

What does it mean by out of box support in programming.

Working with exceptions and threads and program termination

Advantage of Aspect oriented Programming

Performance Monitoring with AOP
AspectJ and Interceptor

What is distributed caching

Why compile time binding is fast

Implementing simple plugin based development in web

Caching a big data outside of JVM

Implementing simple jmx web client session and cache management

Implementing simple jmx web client cluster management

Implementing simple jmx web client

Simple batch framework implementation in java

Simple service management framework implementation in java

Implementing simple Module Management framework in java

Applying Advance Oriented Programming to develop software modules

 Designing  a huge software system using object oriented programming.

Implementing simple transaction management framework in java

Implementing simple validator framework in java

What functionality should framework automatically execute in the background

How to localize screen in java

Designing a container for data transfer between screen and the service

How to release a service as remote service

What type of error should framework process and what should be left for client to process

What is default framework operation.What operation should framework perform and what should be left for client

Service Interface and Framework .Design concept

What mapping means in programming.Simple mapping java implementation

What data binding means in programming .Simple java data binding implementation

How to encode an object

What is wire-level object representation

deserialization and hidden constructor

Generic Code and the Virtual Machine

Big Numbers in java

The "Single Thread" Rule

Thread construction cost and interaction with operating system

Simple connection pool implementation

Simple thread pool implementation

Thread-Safe Collections

Blocking Queues

A blocking queue causes a thread to block when you try to add an element when the queue is currently
full or to remove an element when the queue is empty. Blocking queues are a useful tool for coordinating the work of multiple threads

Friday, January 17, 2014

Creating a two classes in the same virtual machine that have the same class and package name

The system class loader (application class loader)

The extension class loader

The bootstrap class loader

Virtual Machine class loading mechanism and number of class loader

Local encoding vs Unicode vs UTF 8,UTF 16

Locating Resource Bundles for localization through property file

Character Encoding of Virtual machine

Character Encoding of Class Files

Character Encoding of Source Files

Java programming language character encoding vs operating system character encoding

Unicode character and java programming language

Java programming language itself is fully Unicode based

Java application in international market and locale

Processing annotation at the byte code level

Processing annotation at run time or source code level

Source Level annotation processing with apt tool

Writing a simple annotation praser

Max data that object graph can hold

Max data that String object can hold in java

Thursday, January 16, 2014

What is workflow schedular in big data

RMI an upper abstraction of socket programmming

Creating a custom security with custom class loader to load from untrusted place

Big data and schedular

How should schedular should work in big data

What is data node and name node in big data.

Creating a abstraction for node in big data

How client interact with node in big data.Best practice to implement

How to manage a number of node in big data

Big data,map reduce and multithreading

Big data and node concept

Big data and map reduce

Big data and distributed file system

Creating a simple distributed file system in multiple host

ORM and Object Persistance

Stopping a jvm

What is distributed file system.Creating a simple distributed fie system in local host

Lazy loading and eager fetching of object graph

Proxy and Remoting

Proxy and aop

Proxy and transaction management

Proxy and Orm

Map reduce algorithm.Simple map reduce implementation

What is container.Simple container implementation

Wednesday, January 15, 2014

Implementing simple fault tolerance system

Implementing simple data mapper implementation

Implementing one to one ,one to many,many to many dependecny in java

Locking in java

What is fine grained,core grained object

Resources Pooling issues

Monitoring technique ,logging,tracking and profiling

Policy Enforcement in java

How to load a class from a network connection

Serialization and inheritance

Customizing object serialization

Standard input,output and error streams

Finalizer chaining

Best way to achieve polymorphism

What is ripple effect in java

Is a vs Has a

Hiding members,field hiding and static method hiding

Default exception handler

Widening and Narrowing reference conversions(super type and sub type conversion

Volatile fields and compiler

Scope rules.class scope ,block scope

Life time of static variable

How class loading and object initialization work

What is primary cache ,secondary cache

What is Eager fetching,lazy loading

ByteBuffer

Serialization and inheritance

Jar signing

Running a process and capturing its output

How to use class path effectively.Creating a multiple class path

Obfuscate java code.Preventing other from decompiling java files

What is backward compatibility and how java support it

Byte stream vs character stream

Creating a hashmap container

Observable and Observer Objects

Absolute vs Relative path

Why java does not support multiple inheritance

Advantage of reading and writing object from a stream

ByteArrayInputStream

Caching big data using serialization

Lock(monitor in thread)

Type Eraser in Generics

Process Based Multitasking vs Thread Based Multitasking

User Thread vs Daemon thread

Wednesday, January 8, 2014

Good site for core java

http://www.java2s.com/

http://www.java-tips.org/

Tips for writing high performance code

What is enterprise Messaging

OSGI and Jigsaw

Compile time weaving vs Run time weaving

Rest vs Soap

Simple java testing framework implementation

What is JSTL

What is dynamic class loading

What is first level and second level caching

JVM tuning

Simple graph based data storage framework design

Simple publish and Subscribe message example

Listener Based Dependency Injection

Tuesday, January 7, 2014

What does it mean by data binding .Simple java implementation

Java Objects to/from Xml

Tracking data changes in Object ,Xml in java

Navigable Interfaces

Real-Time System (Java RTS)

What is Clustering .Clustering at the JVM Level

The Timer and Work Manager API

Creating a simple monitoring framework in java

AOP and JMX

Java Declarative programming with annotation

Java Finalization and garbage collector

Implementing producer and consumer message service in java

Implementing notification service in java

Creating a extendable framework tips and example

Ways for achieving code reusability

Module and Modularization in java

Mutable Thread

ForkJoinPool , ExecutorService,ForkJoinTask

Data and Object in java

Big data and java

Type Safe in java

Java and Functional programming .Simple program demo

How cloud computing is implemented in java.Very simple demo for cloud in local system.

How to extend other created framework .Simple example demonstration

Rmi and Socket Programming

Monday, January 6, 2014

What is framework

Creating a simple web framework

Creating a simple data access object management framework

 a

Creating a simple server framework for service management

Creating a simple swing based application framework

Creating a simple batch management framework

Map reduce and parallelization on different host

Creating a simple cluster management framework

Creating simple distributed file system demo in java

Saturday, January 4, 2014

Pojo ,xml and annotation and bean

Points to be considered while designing a framework

How to take out the common task to framework part with certain abstraction

Interceptor and exception

How to handle exception in distributed architecture

How to propagate exception between JVMs

Propagate exception from Dao layer to Service layer to Client layer

Object Life Cycle in JVM

Concept of MVC pattern with simple java example

Best practice for passing parameter between multiple JVMs.

Encourage object wrapper instead of String OR BigDecimal

Different ways to handle null pointer exception

When should instance(global) variable and local variable should be used

How to minimize the server call to database

Best design practice for making communication between framework and client

Best design practice for making communication between frameworks

Virtual Machine optimization for performance enhancement

Byte code optimization

what is Package dependency .Things to be avoided in package dependency

Rest service implementation

What is MapReduce

Object pooling

Garbage collector activities and performance hitting problem

Best practice for using reflection.When to use and not use

Optimizing database operation

Different ways to profile the application

SAX and DOM

JAXB

Jar hell problem and Class Loader

Advantages of pooling

Caching Implementation

Instrumenting and profiling JVM

What is Event in java

Management bean vs Normal bean

Management bean use case and implementation

Concept behind implementation of ORM framework and simple ORM framework demo

Cache implementation in java with simple caching framework demo

Transaction control in java with simple transaction management framework implementation

simple Scheduler framework implementation in java

Different Server implementation background and different use cases in java

ThreadLocal

CLI and bat file in java

Java bean validation concept and simple validation framework implementation

ObjectUtils

Writing asynchronous operation and JMS server

Simple plugin based framework demo

Friday, January 3, 2014

An introduction to the java persistence API

Using generics effectively in practical coding

Subtyping and Wildcards

Reificating

Generics and legacy code

Wildcards Versus Type Parameters

Generic Methods and Varargs

Class Pattern and Class Matcher

Formatted output

Security and the network

Multithreaded server

Reading a file by opening a connection through a URL.

Monitor and Monitor Locks

Producer/Consumer Relationship ArrayBlockingQueue

Producer/Consumer Relationship Circular Buffer

Producer/consumer Relationship with synchronization

Unmodifiable wrappers for collections

Raw Types in generics

Dynamic memory allocation

Self-Referential classes

Random-Access files in java

Sequential -Access Text Files

Method preconditions and postconditions

Chained Exceptions

Stack Unwinding

Multidimensional array

Method Call stack and Activation Records

Loading classes at run time

What is content handler ,ContentHandler class,ContentHandlerFactory

URLStreamHandlerFactory

Writing a protocal Handler

URLStreamHandler

What is the Protocal Handler

JarURLConnection

Caches(CacheResponse ,CacheRequest )

HttpURLConnection

MIME content type

Security Consideration for URLConnection

What is Multi Cast socket

Channels

Buffers(Is all new i/o is buffered)

Non blocking i/o client and server example

Readiness Selection in new I/O

SSLServerSocket

SSLSocket class

Creating secure client and server

Secure Communication

Secure Sockets

ServerSocket class

Socket Addresses

Socket Exceptions

Socket class

Parsing Html

Html in swing

HostLook up in java

NetworkInterface class

Inet6Address

Inet4Address

InetAddress class

Classes vs Interfaces

Encapsulation and Access Control

Reflection and Generics

Wildcard types

Inheritance rules for Generics types

Restrictions and Limitations of generics

Generic code and Virtual Machine

Why Generics programming

Character set encoders and decoders

Memory Mapped Files

New I/O supporting features

Buffer data structure

Understanding object serialization file format

Object Streams

Use of streams

Using Assertions

LogBag

Tips for using exception

Storage of application preferences

Interfaces and Callbacks

Object Cloning

Object Wrappers and Autoboxing

Design hints for inheritance

Different ways of object construction

Class design hints

Thursday, January 2, 2014

Encoding Signatures

Number Formats

Java Collation

Message Formatting

Character Encoding on source files ,class files and virtual machine

Text Files and Character Sets

Resource Bundles

Encryption

Code Signing

Message Digests

Digital Signatures

Security Managers and Security

Bytecode Verification

Bytecode Verification

JavaBeans Persistence

Customizers and Multiple Property Editors

Property Editors

Bean Property Types

BeanInfo Classes

Remote method call with rest

Remote Method Invocation

Distributed Objects

Scrollable and Updatable Result Sets

Connection and MetaData

Row Sets ,ResultSet

An introduction to LDAP

Advance socket programming

Nio SocketChannel and Channels

Half Close in socket

Interruptible Sockets

URLs and URIs

Concrete Collection in java library

Legacy Collections

Overview of Collection Framework

Blocking Queues

Thread Priorities and Caution to be applied

Thread States

Thread safe Collection

Sychronizers in java (CyclicBarrier,CountDownLatch,Exchanger,SynchronousQueue,Semaphore)

Threads and swing

Different ways to create thread

Defining Unicode Characters

Invocation Chaining

Wait and Notify

Stopping a thread

Interrupting a thread

Daemon thread

Connection pooling,Thread pooling,Statement pooling

Pooling implementation in java

Concept of pooling

ByteBuffer class

Channel vs normal stream

Why use NIO

NIO Networking

Creating a Blocking Server

Creaing a Non-Blocking Server

Catching multiple exception types and rethrowing exceptions with improved type checking

Java Mission Control and Retina Display support

HotSpot VM

Project Lambda and closures

Project Nashorn

Annotations on Java Types

Date and Time AP

Self-tuning JVM

better native code integration

Multi-gigabyte heaps

Modularization of the JDK under Project Jigsaw

Money and Currency API

Concept of 64-bit addressable arrays

Advantage of using proxy design pattern

Converting Between Unicode Characters and Strings

Serializable and Externalizable

ThreadLocal and Inheritable ThreadLocal

Charsequence interface

Comparable and Comparator interface

Clone and Clonable interface

Assertion enabling and disabling option

Java automatic conversion and automatic type promotion

Type conversion and casting

Resetting object output stream

Communicating between threads

Serialization problem and complication

Reading and Writing from object stream

Locale class

Defining your own exception

Concept of final and static

Inheritance ,byte code, and jvm

Native methods and java

Java and Unicode

What is static factory method ,its advantage and disadvantage

What is platform independence .Write once run any where meaning

Exception Chaining

Automatic Parallalization

Synthetic proxy

Points for designing single threaded and multithreaded class

Garbage collector ,garbage collector algorithm and performance enhancement

What is the advantage of using proxy design pattern

How threads interact through memory in java

Java SE 10 Planned features

Planned features

Removing primitive data types and move towards 64-bit addressable arrays to support large data sets

Java SE 9 Planned features

Planned features

JSR 294: Modularization of the JDK under Project Jigsaw
JSR 354: Money and Currency API
Tight integration with JavaFX
add automatic parallelization using OpenCL

Java SE8 Features



JSR 335: Language-level support for lambda expressions (officially, lambda expressions; unofficially, closures) under Project Lambda. There was an ongoing debate in the Java community on whether to add support for lambda expressions. Sun later declared that lambda expressions would be included in Java and asked for community input to refine the feature.
JSR 223: Project Nashorn, a JavaScript runtime which allows developers to embed JavaScript code within applications
JSR 308: Annotations on Java Types
JSR 310: Date and Time API

Java SE 7 features

Strings in switch Statement
Type Inference for Generic Instance Creation
Multiple Exception Handling
Support for Dynamic Languages
Try with Resources
Java nio Package
Binary Literals, underscore in literals
Diamond Syntax
Automatic null Handling
Concurrency utilities under JSR 166
New file I/O library to enhance platform independence and add support for metadata and symbolic links. The new packages are java.nio.file and java.nio.file.attribute
Timsort is used to sort arrays instead of merge sort
Library-level support for elliptic curve cryptography algorithms
An XRender pipeline for Java 2D, which improves handling of features specific to modern GPUs
New platform APIs for the graphics features originally implemented in version 6u10 as unsupported APIs
Enhanced library-level support for new network protocols, including SCTP and Sockets Direct Protocol
Upstream updates to XML and Unicode
JVM support for dynamic languages, with the new invokedynamic bytecode under JSR-292 following the prototyping work currently done on the Multi Language Virtual Machine
Compressed 64-bit pointers

Java SE 6 features

Scripting Language Support.Generic API for tight integration with scripting languages, and built-in Mozilla JavaScript Rhino integration
JDBC 4.0 API
Java Compiler API
Pluggable Annotations
Native PKI, Java GSS, Kerberos and LDAP support.
Integrated Web Services.Improved Web Service support through JAX-WS (JSR 224)
Lot more enhancements.
integration of SwingWorker in the API
Upgrade of JAXB to version 2.0: Including integration of a StAX parser.
Java Compiler API (JSR 199): an API allowing a Java program to select and invoke a Java Compiler programmatically.
JVM improvements include: synchronization and compiler performance optimizations, new algorithms and upgrades to existing garbage collection algorithms, and application start-up performance
how threads interact through memory.

J2SE 5.0 featues

Generics
Enhanced for Loop
Autoboxing/Unboxing
Typesafe Enums
Varargs
Static Import
Metadata (Annotations)
Instrumentation
Enumerations
Enhanced for each loop
Static imports
Automatic stub generation for RMI objects.
The concurrency utilities in package java.util.concurrent.
Scanner class for parsing data from various input streams and buffers

J2SE 1.4 features

Major improvement

XML Processing
Java Print Service
Logging API
Java Web Start
JDBC 3.0 API
Assertions
Preferences API
Chained Exception
IPv6 Support
Regular Expressions
Image I/O API
regular expressions modeled after Perl regular expressions
exception chaining allows an exception to encapsulate original lower-level exception
Internet Protocol version 6 (IPv6) support
non-blocking IO (named NIO) (New Input/Output) (Specified in JSR 51.)
logging API (Specified in JSR 47.)
image I/O API for reading and writing images in formats like JPEG and PNG
integrated XML parser and XSLT processor (JAXP) (Specified in JSR 5 and JSR 63.)
integrated security and cryptography extensions (JCE, JSSE, JAAS)
Java Web Start included (Java Web Start was first released in March 2001 for J2SE 1.3) (Specified in JSR 56.)
Preferences API (java.util.prefs)

J2SE Version 1.3 features

Major improvement

HotSpot JVM included (the HotSpot JVM was first released in April 1999 for the J2SE 1.2 JVM)
RMI was modified to support optional compatibility with CORBA
Java Naming and Directory Interface (JNDI) included in core libraries (previously available as an extension)
Java Platform Debugger Architecture (JPDA)
JavaSound
Synthetic proxy classes
Jar Indexing

J2SE Version 1.2 features

This was a very significant release of Java as it tripled the size of the Java platform to 1520 classes in 59 packages. Major additions included

strictfp keyword
the Swing graphical API was integrated into the core classes
Sun's JVM was equipped with a JIT compiler for the first time
Java IDL, an IDL implementation for CORBA interoperability
Collections framework
Java String memory map for constants.
Just In Time (JIT) compiler.
Jar Signer for signing Java ARchive (JAR) files.
Policy Tool for granting access to system resources.
Java Foundation Classes (JFC) which consists of Swing 1.0, Drag and Drop, and Java 2D class libraries.
Java Plug-in
Scrollable result sets, BLOB, CLOB, batch update, user-defined types in JDBC.
Audio support in Applets.

JDK Version 1.1 features

an extensive retooling of the AWT event model
inner classes added to the language
JavaBeans
JDBC
RMI
reflection which supported Introspection only, no modification at runtime was possible.
JIT(Just In Time) compiler on Microsoft Windows platforms, produced for JavaSoft by Symantec

JDK Version 1.0 features

 In versions of Java and the JDK up to 1.0.1, you could use private and protected together to create yet another form of protection that would restrict access to methods or variables solely to subclasses of a given class. As of 1.0.2, this capability has been removed from the language.

Wednesday, January 1, 2014

Byte code manipulation and modification

Wrapper Class

Thread States and sleep, join and Yield methods

Thread Safety and Code synchronization in Java

Different Utils in java for reflection,collection and more

Byte Stream,Character Stream,Filter Stream

Hex ,Oct in java

Reflection vs Introspection

Java Synthetic Class, Method, Field

Semaphores,Deadlock,Race condition in java

SerialVersionUID in Java Serialization

Externalizable vs Serializable

Type Erasure

Java (JVM) Memory Types

Numberformat, Decimalformat,Dateformat,Messageformat

Java Peer Class

Java Marker Interface,Java Clone, Shallow Copy and Deep Copy

Java Pass By Value and Pass By Reference.

Association, Aggregation, Composition, Abstraction, Generalization, Realization, Dependency

Java Timer

Lambda Expression in Java 8

WatchService

Java Instrumentation

Java Exception Handling

Exceptions in Java
Exception Classes
Exception Statement Syntax
Rules for try, catch and finally Blocks
try, catch and finally
Defining new Exceptions
throw, throws statement
Handling Multiple Exceptions

System exception vs Application exception

Object casting at run time vs compile time checking

String vs String buffer vs String builder

Autoboxing and Unboxing

Reflection utils

DateUtil

Java Preferences API

Memory and Run Time analysis

Nested Class

Details of JVM

Class variable vs instance variable vs performance

Unicode system ,single byte,double byte and multi language issue

Static-binding-and-dynamic-binding vs performance

Composition vs Inheritance

Date,Time and Money

Checked vs Unchecked exception

Web service using Core Java