introduction

The goal of this book is to help readers use... More effectively Java Programming language and its basic class library , It is suitable for any practical application Java Experienced programmers .

This book consists of 90 Entries ,12 Chapter , Each item discusses a rule , These rules reflect some useful practices that the most experienced and excellent programmers often use in practice .

Compared to the last version ,Java Many new features have been added to the platform .

characteristic entry Release version
Lambda expression The first 42-44 strip Java 8
Stream flow The first 45-48 strip Java 8
Optional class The first 55 strip Java 8
Default method in interface The first 21 strip Java 8
try-with-resoureces The first 9 strip Java 7
@Safe Varargs annotation The first 32 strip Java 7
Module modularization The first 15 strip Java 9

A prominent feature of this book : Contains many code examples to illustrate design patterns and idioms .

Most of the rules in this book stem from a few basic principles , Clarity and simplicity are the most important .

The rules in this book will not be 100% applicable at any time and on any occasion , however , They do represent best programming practices in most cases .

Most of this book is not about performance , It's about writing clear 、 correct 、 You can use 、 robust 、 Flexible and maintainable programs to .

This book example code address , Message area .

Special terms related to this book

  • Components : Any reusable software element
  • API: Interface
  • API Users of : Use API Programmers who write programs
  • API The client of : Usage in class implementation API Class
  • API Elements : class 、 Interface 、 Constructors 、 Members and serialization forms

Effective Java, 3e Read more about note 1

  1. 《Thinking In Java》 Reading notes

    <Thinking In Java> Reading notes The first four chapters : Introduction to objects . Everything is an object . The operator . Control the execution process public There can only be one... In a file , It can be a class class Or an interface interf ...

  2. 《Effective Java》 Reading notes ( One ) Create and destroy objects

    I am studying recently <Effective Java> A Book , Reading without taking notes , It feels easy to forget , So use this blog to record the notes of reading this book . Solemnly declare : Because it is <Effective Java> A Book of ...

  3. 《Effective java》----- Reading notes

    2015 Little progress has been made in recent years , I don't read many books , I feel like I'm going to waste ,2016 It's a year of precipitation , Keep learning throughout the year . Reading a book , Strive to improve yourself ! Due in 2016 I want to see it in 2010 12 This book , Mainly involves java Basics .Spring Research .java and ...

  4. 《Effective Java》 Learning notes —— Concurrent

    <Effective Java> Concurrent programming in the second edition of learning notes . The first 66 strip Synchronous access to shared variable data * keyword synchronized It can guarantee that only one thread can execute a method or code block at the same time . * ...

  5. 《Effective Java》 Learning notes —— Accumulate and motivate

    Let's start with an actual case A week before the National Day holiday , The boss assigned me such a bug, The number of printed reports is an integer , Some with decimal places , Some don't , No rules . According to the short work experience of more than two months and speculation , Finally narrow down to the following paragraph ...

  6. 【Effective Java】 read

    Java For many years , Very ashamed , I didn't read this classic until recently <Effective Java>, Summarize according to your own understanding , Some may not be deep enough One .Creating and Destroying Obje ...

  7. 《Effective Java》 Reading notes ( 6、 ... and ) Avoid creating unnecessary objects

    java There are many keywords that modify the properties of a class : frequently-used static,final say something final and static Well , Usually when programming , These two keywords often feel dispensable , Most of the time, they both appear at the same time ---- Define constants ...

  8. 《Effective Java》 Reading notes ( 7、 ... and ) Eliminate outdated object references

    I went through this section about once , In fact, the most experienced feeling is C/C++ Program , There's more to kill and less to kill new There have to be more than one delete. Always thought that Java There would be no such problem , It seems that I am too young . Feeling <Effective Jav ...

  9. 《Effective Java》 Reading notes ( 3、 ... and ) Using private constructor methods or enumerations to implement singleton classes

    1. Singleton class is a familiar design pattern so far , At first, I wrote singleton mode in C# Inside , I want to implement a singleton class myself , The code is as follows : public class Instance { private static rea ...

  10. 《Effective Java》 Reading notes 1 ( Create and destroy objects )

    No1 Consider using static factory methods instead of constructors The advantages of the static factory approach : They have names , Reading is enhanced , Such as :BigInteger.probablePrime: You don't have to create a new object every time you call them : They can return the original return class ...

Random recommendation

  1. Cesium Principles :4Web Workers analyse (2)

    What's the WebWorkers? 2008 year W3C Make the first HTML5 Working threads are proposed in the draft (Web Worker) The concept of , And standardize Web Worker The three main characteristics of : can ...

  2. About TextView Of setText() And Integer It's an easy mistake to make between

    [ Reprint ] original text :https://my.oschina.net/xybob/blog/59524 First map : TextView Of setText() Two overloads of function because TextView There are two different overloaded functions ...

  3. Spring adopt XML Configuration file and through the annotation form AOP To achieve the front end , around , Abnormal notice , Notice upon return , Post notice

    The main content of this section : One .Spring adopt XML Configuration file AOP To achieve the front end , around , Abnormal notice     1. Spring AOP   Pre notice XML Configure use cases     2. Spring AOP   ...

  4. golang Use chrome headless Get web content

    Nowadays, there are more and more dynamic rendering pages , Reptiles need to use it more or less headless browser To render the page to be crawled . And what's been widely used recently headless browser Solution PhantomJS It has been announced that maintenance will not continue ...

  5. java Basic custom exception classes and throw and throws The difference between

    One . Abnormal architecture : Throwable class : So exception classes are Throwable Subclasses of , It derives from two subclasses Error and Exception. Error class : Represents a serious error that cannot be recovered by the program itself , Like a memory leak , fictitious ...

  6. linux The structures, SVN

      Download from the official website : http://subversion.apache.org/packages.html SVN client :TortoiseSVN :https://tortoisesvn.net/downl ...

  7. [ serious ] my System core database sql Inject

    Some network injects Injection point : xxx.maoyan.com/xxxager.php username Injection of being POST: adminLogin=XX&username=-1&userpwd=X ...

  8. Looking back again Basic data types and if sentence

    One Variable :( Variables cannot be quoted , Or it becomes a string ) Naming rules for variables : 1. Numbers , Letter , Underline composition . 2. Variable cannot start with a number 3. Case sensitive 4. Don't use Chinese or Pinyin 5. There should be corresponding meaning 6. Can't make ...

  9. stay centos6.5 Next use nginx Unable to connect zabbix And mysql Solutions for

    In general, the default is webserver yes apache.zabbix No exception , Official documents are all recommended apache. If you insist on using nginx To do it webserver Words ,php Boot needs to install another php-fpm. and ...

  10. git Wrong push : No path specified. See &#39;man git-pull&#39; for valid url syntax or does not appear to be a git repository as well as remote: error: insufficient permission for adding an object to repository databa

    Local (windows) The code wants to be pushed to linux Built by myself git Server side , The first step is to establish a local connection with the server , The second step is to push it to the server . The first step is to see if your local project starts from git On clone To the , If it is clone Come on ...