Thread Pool in java

Threads are a very important Part of Java, but creating large numbers of threads can degrade the performance of application.By thread pools, which allow you to maintain fixed number of threads running assigned tasks to each of the threads.
Suppose A thing may have to visit tens of thousands of pages, and you will not create tens of thousands of thread because it is an additional problem. For overcome this problem we need a thread pool. Thread pool give some fixed number of thread and these thread will do task. Once a thread finish one task, then it is assigned to new task. We will not create a new thread always. This is way thread pool will work. Developer has to implement this feature.
In Java:
• A thread pool implementation is provided in the form of the ThreadPoolExecutor class, introduced in Java 1.5;
• you can put in different implementations of BlockingQueue to specify different queue behavior such as queue bounds or priority ordering

Implementation of Thread pool

This can be done by like this

 
   public class ThreadPool extends java.lang.Object implements ThreadPoolInt 

This class is generic implementation of thread pool which have following input
1) Size of the pool to be constructed
2) Name of the class which implements Runnable (which has a visible default constructor)

It constructs a thread pool with active threads that are waiting for activation. Once the threads have finished their task they will come back and wait for assigning a new task.

Benefits of Thread Pooling
• It saves the machine work of creating a new thread.
• Single thread can recycle again and again.
• The size of thread pool is given in starting .We can expand on the designs presented in this chapter to include a method to support growing the size of the pool at runtime if you need this kind of dynamic tuning.
• Response time can be quick.

Risks of using thread pools
The disadvantage of thread pool is that. Suppose if an task is rejected because the thread pool is empty. There will be high rejection rate.Or if task on wait state then waiting time would be too long. Sometime there is problem of deadlock also.

References
http://www.japisoft.com/jservices/javadoc/jason/service/pool/ThreadPool.html
http://java.sun.com/developer/Books/javaprogramming/threads/chap13.pdf

What is Jquery

jQuery is a lightweight JavaScript library that emphasizes interaction between JavaScript and HTML. jQuery is an amazing JavaScript library that makes it easy to create wonderful web effects in just a few lines of code. jQuery is a new type of Javascript library. It is not a huge, bloated framework promising the best in AJAX – nor is it just a set of needlessly complex enhancements – jQuery is designed to change the way that you write Javascript.
jQuery is a Javascript library that takes this motto to heart: Writing Javascript code should be fun. jQuery achieves this goal by taking common, repetitive, tasks, stripping out all the unnecessary markup, and leaving them short, smart and understandable.
Quick Facts

• jQuery supports CSS 1-3 and basic XPath.
• jQuery is about 19kb in size.
• jQuery works in Firefox 1.0+, Internet Explorer 5.5+, Safari 1.3+, and Opera 8.5+.
• jQuery and Prototype can be used together!
• jQuery owns a strong and very flexible mechanism for adding in methods and functionality, bundled as plugins

jQuery contains the following features:

• DOM element selections using the cross-browser open source selector engine Sizzle, a spin-off out of jQuery project[3]
• DOM traversal and modification (including support for CSS 1-3 and basic XPath)
• Events
• CSS manipulation
• Effects and animations
• Ajax
• Extensibility
• Utilities – such as browser version and the each function.
The $ function• One of the critical concepts in any jQuery code is the so called ‘$’ function. ‘$’ is actually an ‘alias’ for the ‘jQuery’ namespace.
• Example 1: jQuery provides a function for trimming strings. This function can be used as:

 
•	str = "    foo     ";
•	jQuery.trim(str); // returns "foo"
•	Or, it can also be used as:
•	str = "    foo     ";
•	$.trim(str);

• These are equivalent. Usage of ‘$’ instead of ‘jQuery’ is an ad-hoc convention, and is considered easier[who?].
• Example 2: To select all the paragraphs that have the class ‘foo’ and add another class called ‘bar’ to all of them:
• $(“p.foo”).addClass(“bar”);
• Example 3: To execute a function ‘myfunc’ immediately after the page is loaded (called the ready handler in jQuery lingo):
• $(document).ready(function() {
• myfunc();
• });
• This is typically used in a context like this:
• $(document).ready(function() {
• // Stripe all the tables in the document using the oddStripe and evenStripe CSS classes.
• $(‘tr:nth-child(odd)’).addClass(“oddStripe”);
• $(‘tr:nth-child(even)’).addClass(“evenStripe”);
• });

For detailed information ,check this.-



http://
www.jquery.com/

Conditionally colouring of row cell in adf

Some time, in our application we need to display some table cells highlighted with some colours.for different condition we need Different colour of row or some particular cell. This can be possible by using expression language(EL) .We can write an ternary operation in expression language(EL).For example if we are displaying data in tabular structure .And we want to highlight the Employee id which have salary eq to ‘50000’.For this , we can write below expression in INLINE PROPERTY OF EMPLOYEE ID.
After writing this EL in INLINE Property we can give conditionally coloring in table cells.

 
background-color:#{(row.salary eq "50000"?'Aqua':'')}

This El mean if salary of corresponding row is equal to 50000 then table cell color will be aqua. Similarly we can use GT and LT for greater than or less than respectively.