Java Puzzlers

Traps, Pitfalls, and Corner Cases

Author: Joshua Bloch,Neal Gafter

Publisher: Pearson Education

ISBN: 0321643518

Category: Computers

Page: 312

View: 6350

DOWNLOAD NOW »

"Every programming language has its quirks. This lively book reveals oddities of the Java programming language through entertaining and thought-provoking programming puzzles." --Guy Steele, Sun Fellow and coauthor of The Java™ Language Specification "I laughed, I cried, I threw up (my hands in admiration)." --Tim Peierls, president, Prior Artisans LLC, and member of the JSR 166 Expert Group How well do you really know Java? Are you a code sleuth? Have you ever spent days chasing a bug caused by a trap or pitfall in Java or its libraries? Do you like brainteasers? Then this is the book for you! In the tradition of Effective Java™, Bloch and Gafter dive deep into the subtleties of the Java programming language and its core libraries. Illustrated with visually stunning optical illusions, Java™ Puzzlers features 95 diabolical puzzles that educate and entertain. Anyone with a working knowledge of Java will understand the puzzles, but even the most seasoned veteran will find them challenging. Most of the puzzles take the form of a short program whose behavior isn't what it seems. Can you figure out what it does? Puzzles are grouped loosely according to the features they use, and detailed solutions follow each puzzle. The solutions go well beyond a simple explanation of the program's behavior--they show you how to avoid the underlying traps and pitfalls for good. A handy catalog of traps and pitfalls at the back of the book provides a concise taxonomy for future reference. Solve these puzzles and you'll never again fall prey to the counterintuitive or obscure behaviors that can fool even the most experienced programmers.

Effective Java

Author: Joshua Bloch

Publisher: Addison-Wesley Professional

ISBN: 0134686047

Category: Computers

Page: 416

View: 6473

DOWNLOAD NOW »

The Definitive Guide to Java Platform Best Practices–Updated for Java 7, 8, and 9 Java has changed dramatically since the previous edition of Effective Java was published shortly after the release of Java 6. This Jolt award-winning classic has now been thoroughly updated to take full advantage of the latest language and library features. The support in modern Java for multiple paradigms increases the need for specific best-practices advice, and this book delivers. As in previous editions, each chapter of Effective Java, Third Edition, consists of several “items,” each presented in the form of a short, stand-alone essay that provides specific advice, insight into Java platform subtleties, and updated code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why. The third edition covers language and library features added in Java 7, 8, and 9, including the functional programming constructs that were added to its object-oriented roots. Many new items have been added, including a chapter devoted to lambdas and streams. New coverage includes Functional interfaces, lambda expressions, method references, and streams Default and static methods in interfaces Type inference, including the diamond operator for generic types The @SafeVarargs annotation The try-with-resources statement New library features such as the Optional interface, java.time, and the convenience factory methods for collections

Java Concurrency in Practice

Author: Tim Peierls,Brian Goetz,Joshua Bloch,Joseph Bowbeer,Doug Lea,David Holmes

Publisher: Pearson Education

ISBN: 9780132702256

Category: Computers

Page: 432

View: 3434

DOWNLOAD NOW »

Threads are a fundamental part of the Java platform. As multicore processors become the norm, using concurrency effectively becomes essential for building high-performance applications. Java SE 5 and 6 are a huge step forward for the development of concurrent applications, with improvements to the Java Virtual Machine to support high-performance, highly scalable concurrent classes and a rich set of new concurrency building blocks. In Java Concurrency in Practice , the creators of these new facilities explain not only how they work and how to use them, but also the motivation and design patterns behind them. However, developing, testing, and debugging multithreaded programs can still be very difficult; it is all too easy to create concurrent programs that appear to work, but fail when it matters most: in production, under heavy load. Java Concurrency in Practice arms readers with both the theoretical underpinnings and concrete techniques for building reliable, scalable, maintainable concurrent applications. Rather than simply offering an inventory of concurrency APIs and mechanisms, it provides design rules, patterns, and mental models that make it easier to build concurrent programs that are both correct and performant. This book covers: Basic concepts of concurrency and thread safety Techniques for building and composing thread-safe classes Using the concurrency building blocks in java.util.concurrent Performance optimization dos and don'ts Testing concurrent programs Advanced topics such as atomic variables, nonblocking algorithms, and the Java Memory Model

Java Precisely

Author: Peter Sestoft

Publisher: MIT Press

ISBN: 0262334755

Category: Computers

Page: 216

View: 8439

DOWNLOAD NOW »

The third edition of Java Precisely provides a concise description of the Java programming language, version 8.0. It offers a quick reference for the reader who has already learned (or is learning) Java from a standard textbook and who wants to know the language in more detail. The book presents the entire Java programming language and essential parts of the class libraries: the collection classes, the input-output classes, the stream libraries and Java 8's facilities for parallel programming, and the functional interfaces used for that.Though written informally, the book describes the language in detail and offers many examples. For clarity, most of the general rules appear on left-hand pages with the relevant examples directly opposite on the right-hand pages. All examples are fragments of legal Java programs. The complete ready-to-run example programs are available on the book's website.This third edition adds material about functional parallel processing of arrays; default and static methods on interfaces; a brief description of the memory model and visibility across concurrent threads; lambda expressions, method reference expressions, and the related functional interfaces; and stream processing, including parallel programming and collectors.

Concurrent Programming in Java

Design Principles and Patterns

Author: Douglas Lea

Publisher: Addison-Wesley Professional

ISBN: 9780201310092

Category: Computers

Page: 411

View: 2969

DOWNLOAD NOW »

Software -- Programming Languages.

Java Generics and Collections

Author: Maurice Naftalin,Philip Wadler

Publisher: "O'Reilly Media, Inc."

ISBN: 0596527756

Category: Computers

Page: 273

View: 2147

DOWNLOAD NOW »

This book, written by one of the designers of generics, is a thorough explanation of how to use generics, and particularly, the effect this facility has on the way developers use collections.

Programming Interviews Exposed

Secrets to Landing Your Next Job

Author: John Mongan,Noah Suojanen Kindler,Eric Giguère

Publisher: John Wiley & Sons

ISBN: 1118283406

Category: Computers

Page: 336

View: 9092

DOWNLOAD NOW »

Be prepared for your next job interview with this tried-and-true advice In today's tight job market, competition for programming jobs is hotter than ever. This third edition of a popular guide to programming interviews includes new code examples, information on the latest languages, new chapters on sorting and design patterns, tips on using LinkedIn, and a downloadable app to help prepare applicants for the interview. Like its earlier editions, this guide covers what software companies and IT departments want their programmers to know and includes plenty of helpful hints to boost your confidence. Looks at current job search and hiring processes, such as the rise of LinkedIn and other social networks as recruiting resources Addresses the most important languages for a programmer to know and features examples in multiple languages Includes new programming questions designed to sharpen your knowledge Features all-new chapters on design patterns and sorting, including how to deal with memory constraints and mobility issues Walk into your next job interview with confidence, knowing you have thoroughly studied this newest edition of Programming Interviews Exposed.

Essentials of Programming Languages

Author: Daniel P. Friedman,Mitchell Wand

Publisher: MIT Press

ISBN: 0262062798

Category: Computers

Page: 410

View: 602

DOWNLOAD NOW »

1. Inductive sets of data 2. Data abstraction 3. Expressions 4. State 5. Continuation-passing interpreters 6. Continuation-passing style 7. Types 8. Modules 9. Objects and classes.

VBScript Programmer's Reference

Author: Adrian Kingsley-Hughes,Kathie Kingsley-Hughes,Daniel Read

Publisher: John Wiley & Sons

ISBN: 1118058690

Category: Computers

Page: 816

View: 5380

DOWNLOAD NOW »

Completely updated for Windows Vista and Windows Server 2003 R2, this book is packed with practical examples for today's programmer, Web developer, or system administrator Combines a comprehensive overview of the VBScript technology and associated technologies with sample code at every stage from beginner to advanced user Discusses the general syntax, functions, keywords, style, error handling, and similar language-specific topics and then moves into an expanded reference section covering the object models in detail Presents advanced coverage on Active Directory Service Interfaces (ADSI), PowerShell, security scripting, remote scripting, database scripting, and more

Sams Teach Yourself Game Programming in 24 Hours

Author: Michael Morrison

Publisher: Sams Publishing

ISBN: 9780672324611

Category: Computers

Page: 488

View: 2391

DOWNLOAD NOW »

Teaches fundamental C and C++ programming and provides information for programming games in Windows, exploring topics including game theory, double-buffered graphics, sprite animation, and digitized sound effects.

Java Performance

Author: Charlie Hunt,Binu John

Publisher: Prentice Hall

ISBN: 0137142528

Category: Computers

Page: 693

View: 4623

DOWNLOAD NOW »

The ONLY complete, up-to-date guide to all aspects of Java performance • •The first one-stop guide to identifying, isolating, and fixing Java performance issues on multicore and multiprocessor processor platforms - from two of Sun's leading Java performance experts. •Includes crucial new insights into microbenchmarking found nowhere else. •Contains up-to-the-minute coverage of Java optimization, including migration of older applications. Given Java's ubiquity and indispensability, Java software performance is of crucial importance to millions of developers worldwide. The emergence of multi-core systems and the evolution of the Java platform give developers many new opportunities to optimize performance. Now, three of Sun's leading Java performance experts have written the first start-to-finish guide to optimizing Java performance in today's multi-core systems. Java Performance gives developers, designers, and architects all the information they need to leverage Java's performance and scalability abilities on any modern multicore or multiprocessor system. This book's end-to-end coverage addresses all these topics: monitoring and profiling; the effective use of garbage collection and other language features; adaptive and platform-specific tuning; techniques for maximizing scalability; and much more. The authors' extensive benchmarking coverage includes an indispensable introduction to effective microbenchmarks - including guidance on avoiding the common microbenchmarking mistakes that mislead developers into writing badlyperforming software. The book also contains a complete section on Java performance enhancement, including opportunities and challenges associated with migrating software from Java 1.4.2 and Java 5 - issues that more and more Java developers are now facing.

The Java Language Specification

Author: James Gosling,Bill Joy,Guy L. Steele,Gilad Bracha,Alex Buckley

Publisher: Pearson Education

ISBN: 013390069X

Category: Computers

Page: 758

View: 7096

DOWNLOAD NOW »

Written by the inventors of the technology, The Java� Language Specification, Java SE 8 Edition is the definitive technical reference for the Java programming language. The book provides complete, accurate, and detailed coverage of the Java programming language. It fully describes the new features added in Java SE 8, including lambda expressions, method references, default methods, type annotations, and repeating annotations. The book also includes many explanatory notes and carefully distinguishes the formal rules of the language from the practical behavior of compilers.

Java Programming Interviews Exposed

Author: Noel Markham

Publisher: John Wiley & Sons

ISBN: 1118722884

Category: Computers

Page: 384

View: 358

DOWNLOAD NOW »

If you are a skilled Java programmer but are concerned about the Java coding interview process, this real-world guide can help you land your next position Java is a popular and powerful language that is a virtual requirement for businesses making use of IT in their daily operations. For Java programmers, this reality offers job security and a wealth of employment opportunities. But that perfect Java coding job won't be available if you can't ace the interview. If you are a Java programmer concerned about interviewing, Java Programming Interviews Exposed is a great resource to prepare for your next opportunity. Author Noel Markham is both an experienced Java developer and interviewer, and has loaded his book with real examples from interviews he has conducted. Review over 150 real-world Java interview questions you are likely to encounter Prepare for personality-based interviews as well as highly technical interviews Explore related topics, such as middleware frameworks and server technologies Make use of chapters individually for topic-specific help Use the appendix for tips on Scala and Groovy, two other languages that run on JVMs Veterans of the IT employment space know that interviewing for a Java programming position isn't as simple as sitting down and answering questions. The technical coding portion of the interview can be akin to a difficult puzzle or an interrogation. With Java Programming Interviews Exposed, skilled Java coders can prepare themselves for this daunting process and better arm themselves with the knowledge and interviewing skills necessary to succeed.

Java Performance: The Definitive Guide

Author: Scott Oaks

Publisher: "O'Reilly Media, Inc."

ISBN: 1449363547

Category: Computers

Page: 426

View: 1157

DOWNLOAD NOW »

Coding and testing are often considered separate areas of expertise. In this comprehensive guide, author and Java expert Scott Oaks takes the approach that anyone who works with Java should be equally adept at understanding how code behaves in the JVM, as well as the tunings likely to help its performance. You’ll gain in-depth knowledge of Java application performance, using the Java Virtual Machine (JVM) and the Java platform, including the language and API. Developers and performance engineers alike will learn a variety of features, tools, and processes for improving the way Java 7 and 8 applications perform. Apply four principles for obtaining the best results from performance testing Use JDK tools to collect data on how a Java application is performing Understand the advantages and disadvantages of using a JIT compiler Tune JVM garbage collectors to affect programs as little as possible Use techniques to manage heap memory and JVM native memory Maximize Java threading and synchronization performance features Tackle performance issues in Java EE and Java SE APIs Improve Java-driven database application performance

Elements of Programming Interviews

The Insiders' Guide

Author: Adnan Aziz,Tsung-Hsien Lee,Amit Prakash

Publisher: EPI

ISBN: 1479274836

Category: Computers

Page: 504

View: 7453

DOWNLOAD NOW »

The core of EPI is a collection of over 300 problems with detailed solutions, including 100 figures, 250 tested programs, and 150 variants. The problems are representative of questions asked at the leading software companies. The book begins with a summary of the nontechnical aspects of interviewing, such as common mistakes, strategies for a great interview, perspectives from the other side of the table, tips on negotiating the best offer, and a guide to the best ways to use EPI. The technical core of EPI is a sequence of chapters on basic and advanced data structures, searching, sorting, broad algorithmic principles, concurrency, and system design. Each chapter consists of a brief review, followed by a broad and thought-provoking series of problems. We include a summary of data structure, algorithm, and problem solving patterns.

Head First Servlets and JSP

Passing the Sun Certified Web Component Developer Exam

Author: Bryan Basham,Kathy Sierra,Bert Bates

Publisher: "O'Reilly Media, Inc."

ISBN: 0596522266

Category: Computers

Page: 911

View: 2014

DOWNLOAD NOW »

Looking to study up for the new J2EE 1.5 Sun Certified Web Component Developer (SCWCD) exam? This book will get you way up to speed on the technology you'll know it so well, in fact, that you can pass the brand new J2EE 1.5 exam. If that's what you want to do, that is. Maybe you don't care about the exam, but need to use servlets and JSPs in your next project. You're working on a deadline. You're over the legal limit for caffeine. You can't waste your time with a book that makes sense only AFTER you're an expert (or worse, one that puts you to sleep). Learn how to write servlets and JSPs, what makes a web container tick (and what ticks it off), how to use JSP's Expression Language (EL for short), and how to write deployment descriptors for your web applications. Master the c:out tag, and get a handle on exactly what's changed since the older J2EE 1.4 exam. You don't just pass the new J2EE 1.5 SCWCD exam, you'll understand this stuff and put it to work immediately. Head First Servlets and JSP doesn't just give you a bunch of facts to memorize; it drives knowledge straight into your brain. You'll interact with servlets and JSPs in ways that help you learn quickly and deeply. And when you're through with the book, you can take a brand-new mock exam, created specifically to simulate the real test-taking experience.

The Java Virtual Machine Specification, Java SE 8 Edition

Author: Tim Lindholm,Frank Yellin,Gilad Bracha,Alex Buckley

Publisher: Addison-Wesley Professional

ISBN: 0133922723

Category: Computers

Page: 600

View: 9712

DOWNLOAD NOW »

Written by the inventors of the technology, The Java® Virtual Machine Specification, Java SE 8 Edition is the definitive technical reference for the Java Virtual Machine. The book provides complete, accurate, and detailed coverage of the Java Virtual Machine. It fully describes the new features added in Java SE 8, including the invocation of default methods and the class file extensions for type annotations and method parameters. The book also clarifies the interpretation of class file attributes and the rules of bytecode verification.