Streaming and decorator construction in java i/o, JAVA Programming

Assignment Help:

Java output and input is described in terms of an abstract concept named a "stream", which is a sequence of data.

There are 2 types of streams.

1.      Byte streams (8 bit bytes)  Abstract classes are: OutputStream and InputStream

2. Character streams (16 bit UNICODE) Abstract classes are: Writer and Reader

 java.io.* classes need the decorator design pattern. The decorator design pattern added responsibilities to objects at runtime. Decorators are more reliable than inheritance because the inheritance added responsibility to classes at compile time. The java.io.* classes access the decorator pattern to construct different combinations of behavior at runtime based on some basic classes.

 

 The new I/O (NIO) offers better performance and better scalability?

 

Java has long been not suited for deploying programs that perform a lot of I/O functions. Furthermore, commonly needed tasks such as non-blocking, file locking and asynchronous I/O operations and ability to map file to memory were not require. Non-blocking I/O operations were found through work around such as multithreading or using JNI. The New I/O API in J2SE 1.4 has modified this situation.

A server's ability to handle several client requests effectively depends on how it performs I/O streams. When a server has to communicate hundreds of clients simultaneously, it has to be able to use I/O services frequently. One way to cater for this scenario in Java is to use threads but having almost one-to-one ratio of threads (100 clients will have 100 threads) is prone to enormous thread overhead and may give in scalability and performance problems due to consumption of memory stacks and CPU context switching. To overcome this situation, a new set of non-blocking I/O classes have been produced to the Java platform in java.nio package.

The non-blocking I/O mechanism is making around Channels and Selectors. Channels, Selectors and Buffers are the core of the NIO.

 

 

885_Untitled.png

 

A Channel class presents a bi-directional communication channel in between datasources such as a file, a socket, or an application component, which is capable of producing one or more I/O operations such as writing or reading. Channels may be non-blocking, which means, no I/O operation can wait for data to be written or read to the network. The nice thing about NIO channels is that they may be closed and asynchronously interrupted. So if a thread is blocked in an I/O operation on a channel, another thread may interrupt that blocked thread.

 


Related Discussions:- Streaming and decorator construction in java i/o

Banking database system - java database connectivity, JDBC Assignment B...

JDBC Assignment Banking Database System:  BankCustomer CUST_ID  CUST_NAME ADDRESS ACC_TYPE CUST_ID

What is the problem along with relational database, What is the problem alo...

What is the problem along with Relational Database and what solution you could suggest for it? When we store object orientated data within RDBMS it required to translate in to

Make changes to an editable pdf form, Make Changes to an Editable PDF Form ...

Make Changes to an Editable PDF Form Project Description: I need for someone who is able to make some changes to PDF forms. Skills required: Data Processing, Data Entry

Programming Excercise, I have to Create a program that determine the shippi...

I have to Create a program that determine the shipping cost for an order based on he following chart: From To Price $0.00 $19.99 $2.95 $20.00 $49.99 $3.95

On bluej, I need to write a program to assign values to the variable age an...

I need to write a program to assign values to the variable age and print the reason as major or minor.

Write javascript code to scans the list of courses , In an external JavaScr...

In an external JavaScript file write code that, upon form submission, scans the list of courses for a match (case should be insensitive). If a match is found, change the div's back

Types of dependency injection spring supports, What are the types of Depend...

What are the types of Dependency Injection Spring supports? Ans) there are two types of Dependency Injection Spring a)  Setter Injection: b)  Constructor Injection:

Develop android geolocation service app, Project Description: Develop an...

Project Description: Develop an android service app that will run on the background. The app has to get the users location (longitude and latitude) every 5 minutes or when th

Decode the code, By pressing ‘6’ (i.e. key’6’ one time) on the keypad, the ...

By pressing ‘6’ (i.e. key’6’ one time) on the keypad, the mobile shows ‘m’ on display screen in write text message area

Why there is a need to use primary key in database, Why there is a need to ...

Why there is a need to use primary key in database ? Primary key is a constraint basically used in datdabase to uniquely identify the records in the database.

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd