Java Advanced Features (TCF 2014)

25 %
75 %
Information about Java Advanced Features (TCF 2014)
Technology

Published on March 16, 2014

Author: mpredli01

Source: slideshare.net

Description

Advanced features of Java are reviewed:
* Java Beans
* Exception Handling
* Generics
* JDBC
* Java Collections

1 Java Advanced Features Trenton Computer Festival March 15, 2014 Michael P. Redlich @mpredli about.me/mpredli/ Sunday, March 16, 14

Who’s Mike? • BS in CS from • “Petrochemical Research Organization” • Ai-Logix, Inc. (now AudioCodes) • Amateur Computer Group of New Jersey • Publications • Presentations 2 Sunday, March 16, 14

Objectives (1) • Java Beans • Exception Handling • Generics • Java Database Connectivity • Java Collections Framework 3 Sunday, March 16, 14

Java Beans 4 Sunday, March 16, 14

What are Java Beans? • A method for developing reusable Java components • Also known as POJOs (Plain Old Java Objects) • Easily store and retrieve information 5 Sunday, March 16, 14

Java Beans (1) • A Java class is considered a bean when it: • implements interface Serializable • defines a default constructor • defines properly named getter/setter methods 6 Sunday, March 16, 14

Java Beans (2) • Getter/Setter methods: • return (get) and assign (set) a bean’s data members • Specified naming convention: •getMember •setMember •isValid 7 Sunday, March 16, 14

8 // PersonBean class (partial listing) public class PersonBean implements Serializable { private static final long serialVersionUID = 7526472295622776147L; private String lastName; private String firstName; private boolean valid; public PersonBean() { } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } // getter/setter for firstName public boolean isValid() { return valid; } } Sunday, March 16, 14

Exception Handling 9 Sunday, March 16, 14

What is Exception Handling? • A more robust method for handling errors than fastidiously checking for error codes • error code checking is tedious and can obscure program logic 10 Sunday, March 16, 14

Exception Handling (1) • Throw Expression: • raises the exception • Try Block: • contains a throw expression or a method that throws an exception 11 Sunday, March 16, 14

Exception Handling (2) • Catch Clause(s): • handles the exception • defined immediately after the try block • Finally Clause: • always gets called regardless of where exception is caught • sets something back to its original state 12 Sunday, March 16, 14

Java Exception Model (1) • Checked Exceptions • enforced by the compiler • Unchecked Exceptions • recommended, but not enforced by the compiler 13 Sunday, March 16, 14

Java Exception Model (2) • Exception Specification • specify what type of exception(s) a method will throw • Termination vs. Resumption semantics 14 Sunday, March 16, 14

15 // ExceptionDemo class public class ExceptionDemo { public static void main(String[] args) { try { initialize(); } catch(Exception exception) { exception.printStackTrace(); } public void initialize() throws Exception { // contains code that may throw an exception of type Exception } } Sunday, March 16, 14

Generics 16 Sunday, March 16, 14

What are Generics? • A mechanism to ensure type safety in Java collections • introduced in Java 5 • Similar concept to C++ Template mechanism 17 Sunday, March 16, 14

Generics (1) • Prototype: • visibilityModifier class | interface name<Type> {} 18 Sunday, March 16, 14

19 // Iterator demo *without* Generics... List list = new ArrayList(); for(int i = 0;i < 10;++i) { list.add(new Integer(i)); } Iterator iterator = list.iterator(); while(iterator.hasNext()) { System.out.println(“i = ” + (Integer)iterator.next()); } Sunday, March 16, 14

20 // Iterator demo *with* Generics... List<Integer> list = new ArrayList<Integer>(); for(int i = 0;i < 10;++i) { list.add(new Integer(i)); } Iterator<Integer> iterator = list.iterator(); while(iterator.hasNext()) { System.out.println(“i = ” + iterator.next()); } Sunday, March 16, 14

21 // Defining Simple Generics public interface List<E> { add(E x); } public interface Iterator<E> { E next(); boolean hasNext(); } Sunday, March 16, 14

Java Database Connectivity (JDBC) 22 Sunday, March 16, 14

What is JDBC? • A built-in API to access data sources • relational databases • spreadsheets • flat files • The JDK includes a JDBC-ODBC bridge for use with ODBC data sources • type 1 driver 23 Sunday, March 16, 14

Java Database Connectivity (1) • Install database driver and/or ODBC driver • Establish a connection to the database: • Class.forName(driverName); • Connection connection = DriverManager.getConnection(); 24 Sunday, March 16, 14

Java Database Connectivity (2) • Create JDBC statement: •Statement statement = connection.createStatement(); • Obtain result set: • Result result = statement.execute(); • Result result = statement.executeQuery(); 25 Sunday, March 16, 14

26 // JDBC example import java.sql.*; public class DatabaseDemo { public static void main(String[] args) { String sql = “SELECT * FROM timeZones”; Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); Connection connection = DriverManager.getConnection(“jdbc:odbc:timezones”,””,””); Statement statement = connection.createStatement(); ResultSet result = statement.executeQuery(sql); while(result.next()) { System.out.println(result.getDouble(2) + “ “ + result.getDouble(3)); } connection.close(); } } Sunday, March 16, 14

Java Collections Framework 27 Sunday, March 16, 14

What are Java Collections? (1) • A single object that groups together multiple elements • Collections are used to: • store • retrieve • manipulate 28 Sunday, March 16, 14

What is the Java Collection Framework? • A unified architecture for collections • All collection frameworks contain: • interfaces • implementations • algorithms • Inspired by the C++ Standard Template Library 29 Sunday, March 16, 14

What is a Collection? • A single object that groups together multiple elements • sometimes referred to as a container • Containers before Java 2 were a disappointment: • only four containers • no built-in algorithms 30 Sunday, March 16, 14

Collections (1) • Implement the Collection interface • Built-in implementations: • List • Set 31 Sunday, March 16, 14

Collections (2) • Lists • ordered sequences that support direct indexing and bi-directional traversal • Sets • an unordered receptacle for elements that conform to the notion of mathematical set 32 Sunday, March 16, 14

33 // the Collection interface public interface Collection<E> extends Iterable<E>{ boolean add(E e); boolean addAll(Collection<? extends E> collection); void clear(); boolean contains(Object object); boolean containsAll(Collection<?> collection); boolean equals(Object object); int hashCode(); boolean isEmpty(); Iterator<E> iterator(); boolean remove(Object object); boolean removeAll(Collection<?> collection); boolean retainAll(Collection<?> collection); int size(); Object[] toArray(); <T> T[] toArray(T[] array); } Sunday, March 16, 14

Iterators • Used to access elements within an ordered sequence • All collections support iterators • Traversal depends on the collection • All iterators are fail-fast • if the collection is changed by something other than the iterator, the iterator becomes invalid 34 Sunday, March 16, 14

35 // Iterator demo import java.util.*; List<Integer> list = new ArrayList<Integer>(); for(int i = 0;i < 9;++i) { list.add(new Integer(i)); } Iterator iterator = list.iterator(); while(iterator.hasNext()) { System.out.println(iterator.next()); } 0 1 2 3 4 5 6 7 8 current last Sunday, March 16, 14

Live Demo! 36 Sunday, March 16, 14

Java IDEs (1) • IntelliJ • jetbrains.com/idea • Eclipse • eclipse.org 37 Sunday, March 16, 14

Java IDEs (2) • NetBeans • netbeans.org • JBuilder • embarcadero.com/products/ jbuilder 38 Sunday, March 16, 14

Local Java User Groups (1) • ACGNJ Java Users Group • facilitated by Mike Redlich • javasig.org • Princeton Java Users Group • facilitated byYakov Fain • meetup.com/NJFlex 39 Sunday, March 16, 14

Local Java User Groups (2) • NewYork Java SIG • facilitated by Frank Greco • javasig.com • Capital District Java Developers Network • facilitated by Dan Patsey • cdjdn.com 40 Sunday, March 16, 14

Further Reading 41 Sunday, March 16, 14

Upcoming Events (1) • Trenton Computer Festival • March 14-15, 2014 • tcf-nj.org • Emerging Technologies for the Enterprise • April 22-23, 2014 • phillyemergingtech.com 42 Sunday, March 16, 14

43 Upcoming Events (2) Sunday, March 16, 14

44 Thanks! mike@redlich.net @mpredli javasig.org Sunday, March 16, 14

Add a comment

Related presentations

Related pages

The College of NJ TCF-2014 Saturday Talks & Forums — 15 ...

TCF-2014 Saturday Talks & Forums — 15 March 2014, ... Advanced Java M. Redlich 01 Mar ... See a demo of Google Glass’s features and try the device for
Read more

Core Java- An advanced review of features - Education

Share Core Java- An advanced review of features. ... Java Advanced Features (TCF 2014) Visual retail plus introduces an advanced pos software with core ...
Read more

Java 5 Features - Documents

Java 5 Features Dec 07, 2014 Documents sholavanalli. ... Java Advanced Features (TCF 2014) Java EE 6 & Java EE 7 features Java tutorial for beginners ...
Read more

Top free IDE for Java software development - issuu.com

Find here the brief overview on various free integrated development environment for Java software ... These IDEs offer a variety of features, ... 2014 ...
Read more

AngelikaLanger.com - Effective Java - Angelika Langer ...

Neue Features in Java 8 ... Java Magazin, Juli 2014 ... Effective Java - Advanced Java Programming Idioms 4 day seminar ...
Read more

DS's『 행복합시다 』 :: Top 10 Eclipse Luna Features

Top 10 Eclipse Luna Features Eclipse Luna is ... The Java Tools provide quick ... http://eclipsesource.com/blogs/2014/06/25/top-10-eclipse-luna-features/
Read more

Eclipse Top Features by Arjan Tijms | ZEEF

Eclipse Top Features. by Arjan Tijms. ... having it used as my daily tool since 2003 for Java and Java EE ... 4.4 (Luna, 2014) 1 Java 8 Support 23. 2 Split ...
Read more

projects.eclipse.org | Get involved in Eclipse projects to ...

projects.eclipse.org ... to generate any kind of code (Java, C ... and a framework on which adopters can build advanced and technology ...
Read more