Limit search to available items
Book Cover
E-book
Author Spell, Brett, author.

Title Pro Java 8 programming / Brett Spell
Edition Third edition
Published [New York, NY] : Apress, [2015]
[New York, NY] : Distributed to the Book trade worldwide by Springer Science+Business Media New York
©2015

Copies

Description 1 online resource (1 volume) : illustrations
Series The expert's voice in Java
Expert's voice in Java.
Contents Machine generated contents note: Java's Architecture -- Java Virtual Machine -- Different JVM Implementations -- JVM As a Runtime Execution Environment -- Runtime Data Areas of the JVM -- Garbage Collector -- JVM: Loading, Linking, and Initializing -- Bytecode Execution -- Java Class File Format -- Java Programming Language and APIs -- Java Programming Language -- Java APIs -- Java Utility Tools: Making the Most of the JVM -- Java Compiler -- Java Interpreter -- Java Class Disassembler -- Summary -- Library Design -- Package Design -- Class Design -- Loose Coupling -- Strong Cohesion -- Encapsulation -- Immutable Objects -- Overriding Object Methods -- Method Design -- Passing Parameters -- Method Naming -- Avoiding Code Duplication -- Variable Arguments -- Using Exceptions -- Assertions -- Enumerations -- Summary -- Lambda Expression Concepts -- Analyzing the Example -- Functional Interface Methods -- Default Methods -- Multiple Inheritance Ambiguity -- Streams -- Optional -- Parallel Streams -- Improved Date/Time Handling In Java 8 -- Date/Time Support Before Java 8 -- Date and Time API -- Basic Classes -- Converting Date and Time Values -- Parsing and Formatting -- Method Naming Conventions -- Summary -- Threading in Java -- Creating Threads -- Disadvantages of Using Threads -- Slow Initial Startup -- Resource Utilization -- Increased Complexity -- Sharing Resources -- Thread Management -- Understanding the Problem -- Synchronizing the Use of Shared Resources -- Nested Calls to Synchronized Methods and Code Blocks -- Synchronized Blocks vs. Methods -- Deadlocks -- High-Level Synchronization -- Lock Ordering -- Thread Priorities -- Daemon Threads -- Adding Threads to an Application -- Controlling Threads -- Starting a Thread -- Making a Thread "Sleep" -- Suspending a Thread -- Resuming a Thread -- Stopping a Thread -- Interrupting a Thread -- Completing DownloadManager -- Deprecated Methods in Thread -- DownloadFiles -- ThreadGroup -- Uncaught Exceptions -- Voluntarily Relinquishing the Processor -- Concurrency Utilities -- Summary -- Evolution of Collections -- Java 2/Java 1.2 -- Java 5/Java 1.5 -- Java 7/Java 1.7 -- Collection Classes and Interfaces -- Collection -- List -- ListIterator -- ArrayList -- LinkedList -- Vector -- Stack -- Set -- HashSet -- Constructors -- LinkedHashSet -- TreeSet -- EnumSet -- Map -- HashMap -- LinkedHashMap -- TreeMap -- EnumMap -- IdentityHashMap -- WeakHashMap -- ConcurrentHashMap -- CopyOnWriteArrayList and CopyOnWriteArraySet -- Queue -- PriorityQueue -- PriorityBlockingQueue -- ArrayBlockingQueue -- LinkedBlockingQueue -- ConcurrentLinkedQueue -- SynchronousQueue -- DelayQueue -- Tips on Using Collections -- Shallow vs
Deep Copies -- Referencing an Interface Instead of an Implementation -- Streams API -- Anatomy of a Stream -- Intermediate Operation Pipelining -- Some Other Intermediate Operation Methods -- Terminal Operations -- Parallel Streams -- Summary -- Layout Managers and GUI Construction -- CardLayout -- Constructing a CardLayout -- Child Component Sizes -- Child Component Locations -- Resizing Behavior -- Container Size -- FlowLayout -- Constructing a FlowLayout -- Constraints -- Child Component Sizes -- Child Component Locations -- Resizing Behavior -- Container Size -- GridLayout -- Constructing a GridLayout -- Constraints -- Child Component Sizes -- Child Component Locations -- Resizing Behavior -- Container Size -- BorderLayout -- Constructing a BorderLayout -- Constraints -- Child Component Sizes -- Child Component Locations -- Resizing Behavior -- Container Size -- GridBagLayout -- Constructing a GridBagLayout -- Constraints -- Child Component Sizes -- Child Component Locations -- Resizing Behavior -- Container Size -- BoxLayout -- Alignment Values, Ascents, and Descents -- Constructing a BoxLayout -- Constraints -- Child Component Sizes -- Child Component Locations -- Resizing Behavior -- Container Size -- Swing's Box Class -- Guidelines for Using Layout Managers -- Combining Layout Managers -- Absolute Positioning Without a Layout Manager -- Invisible Components -- Specifying an Index When Adding a Component -- Creating Your Own Layout Manager -- LayoutManager2 Methods -- LayoutManager Methods -- Using a Custom Layout Manager -- Summary -- Data Model -- Using JScrollPane with JTable -- JTable's Column-Oriented Design -- Table Resizing -- Column Resizing -- AUTO_RESIZE_OFF -- AUTO_RESIZE_NEXT_COLUMN -- AUTO_RESIZE_SUBSEQUENT_COLUMNS -- AUTO_RESIZE_LAST_COLUMN -- AUTO_RESIZE_ALL_COLUMNS -- Cell Rendering -- Creating Custom Renderers -- JTable's Default Renderers -- Editing Table Cells -- Cell Editors -- Table Selection Settings -- Combining Row, Column, and Cell Selection Modes -- List Selection Modes -- Selection Mode Combinations -- Setting Selections Programmatically -- Table Headers -- Multiline Column Headers -- Adding Table Header Tool Tips -- Creating Row Headers -- Sorting Table Rows -- Adding and Removing Table Rows -- Displaying a Particular Table Row -- Summary -- JTree Terminology -- Creating a JTree -- TreeModel -- Creating Tree Nodes -- Nodes Without Children: Leaf or Branch? -- MutableTreeNode -- DefaultMutableTreeNode -- Creating DefaultMutableTreeNode Instances -- Using DefaultMutableTreeNode -- Obtaining a List of Nodes -- TreePath -- TreeModelListener -- treeNodesChanged() -- treeNodeslnserted() -- treeNodesRemoved() -- treeStructureChanged() -- TreeModelEvent -- getTreePath(), getPath() -- getChildren() -- getChildlndices() -- DefaultTreeModel -- Rendering Tree Nodes -- Creating a Custom Renderer -- Editing Tree Nodes -- DefaultTreeCellEditor and DefaultCellEditor -- DefaultTreeCellEditor Behavior -- Creating a Custom Editor -- Limiting Edits to Certain Nodes -- Customizing Branch Node Handles -- Line Style with the Java/Metal Look and Feel -- Node Selection -- Selection Modes -- TreeSelectionListener -- TreeSelectionEvent -- getPaths(), getPath() -- isAddedPath() -- getNewLeadSelectionPath(), getOldLeadSelectionPath() -- Selection Methods in JTree -- Collapsing and Expanding Nodes -- Detecting Collapses and Expansions -- Tree Expansion Listener -- TreeWillExpandListener -- Summary -- Clipboards: Where Cut and Copied Data Is Stored -- Using the System Clipboard -- Using Clipboard -- Using Transferable -- Using ClipboardOwner -- Using DataFlavor -- Storing and Retrieving Serialized Java Objects -- Transferring Between Java and Native Applications -- Writing Arbitrary Binary Data -- Summary -- Introducing Drag-and-Drop Operation Types -- Using the Predefined Cursors -- Performing File Selection Drops from Native Applications -- Adding Drop Support -- Adding Drag Support -- Performing Local Transfers -- Performing Link/Reference Operations -- Transferring Between Java and Native Applications -- Transferring Text Data -- Transferring Text Between Java and Native Applications -- Creating a New Transferable for Text Data -- Customizing Standard Component Behavior -- TransferHandler -- Summary -- Locating Print Services -- DocFlavor -- Choosing the Right Printer -- AttributeSet -- Attribute -- Attribute Roles -- Interfaces and Implementations -- Printer Selection via User Interface -- Creating a Print Job -- Defining the Document to Print -- Initiating Printing -- Monitoring and Controlling a Print Job -- Monitoring Attribute Changes -- Canceling a Print Job -- Introducing Service-Formatted Printing -- Support Classes -- Sample Printing Application -- Summary -- SQL Standards and JDBC Versions -- JDBC Drivers -- Driver Types -- Obtaining a Database Connection -- JDBC URL Formats -- Connection -- Obtaining Connections from a DataSource (2.x Optional Package) -- DatabaseMetaData -- Statement -- ParameterMetaData -- JDBC Data Types -- ARRAY -- BLOB, CLOB -- DATALINK -- DATE, TIME, TIMESTAMP -- DISTINCT -- STRUCT -- REF -- JAVA OBJECT -- OTHER -- ResultSet -- Forward-Only vs. Scrollable (Scrollability Type) -- Read-Only vs. Updatable (Concurrency Mode) -- Update Sensitivity -- Holdability -- Selecting ResultSet Properties -- Performance Hints -- Using ResultSet -- ResultSetMetaData -- RowSet -- JdbcRowSet -- Cached RowSet -- Transactions -- Savepoints -- Read-Only Transactions -- Connection Pooling -- Pooling Properties -- Errors and Warnings -- SQLException -- SQLWarning -- Debugging -- Releasing Resources -- Summary -- Locales -- Resource Bundles -- Creating a ResourceBundle -- Locale-Sensitive Formatting and Parsing -- Formatting and Parsing Dates -- Formatting and Parsing Times -- Formatting and Parsing Numeric Values -- MessageFormat -- Specifying a Locale -- Specifying a Format Object -- ChoiceFormat -- Using Formatter and String's format() Method -- Parsing Text Data -- BreakIterator -- Text Comparisons and Sorting -- Collator Strength -- Decomposition Mode -- Internationalizing an Application -- Changing the Locale at Runtime -- native2ascii -- Summary -- XML vs. HTML -- Describing the Data -- Well-Formed Documents -- When and Why to Use XML -- Creating an XML Document -- Root Elements -- Components of an XML Document -- Parsing and Validation -- Parsing with the DOM Implementation in JAXP -- Text -- EntityReference -- DocumentFragment -- DocumentType -- Notation
Note continued: Traversing a Document with DOM -- Editing Documents with DOM -- Creating and Adding New Nodes -- Creating a New Document -- Transforming XML Documents -- Performing an XSL Transformation -- Introducing XPath -- Creating and Using Additional Templates -- Summary -- Using Annotations -- Override -- FunctionalInterface -- SuppressWarnings -- Creating Custom Annotations -- Target -- Retention -- Documented -- Inherited -- Repeatable -- Replacing External Metadata -- Summary
Summary Pro Java 8 Programming covers the core Java development kit. It takes advantage of the finer points of the core standard edition (SE) and development kit version 8. You'll discover the particulars of working with the Java language and APIs to develop applications in many different contexts. You will also delve into more advanced topics like lambda expressions, closures, new i/o (NIO. 2), enums, generics, XML, metadata and the Swing APIs for GUI design and development. By the end of the book, you'll be fully prepared to take advantage of Java's ease of development, and able to create powerful, sophisticated Java applications
Notes Includes index
Place of publication taken from publisher's Web site
Online resource; title from title page (Safari, viewed June 16, 2015)
Subject Java (Computer program language)
Computer programming.
computer programming.
COMPUTERS -- Programming Languages -- Java.
Computer programming
Java (Computer program language)
Form Electronic book
ISBN 9781484206416
148420641X
1484206428
9781484206423
Other Titles Pro Java eight programming