Java keyword list      abstract  continue  for  new  switch    assert  default  goto *  package  synchronized    boolean  do  if  private  this    break  double  implements  protected  throw    byte  else  import  public  throws    case  enum  instanceof  return  transient    catch  extends  int  short  try    char  final  interface  static  void    class  finally  long  strictfp  volatile    const *  float  native  super  while     Keyword marked with an asterisk (*) are keywords that, although valid, are not used by programmers.        This is the last chapter of the Java Keyword series. This is probably the keyword I have used the least. In my 20 year career as a software developer, I have used this keyword once, and that was to make some addition to legacy code.         The keyword native  is a method modifier . Basically, it is a keyword that can only be applied to methods. According to the Java Language Specification (JLS),    A method that is native is implemented i...
          I have been reading about Design Pattern lately, and I ran across some articles about the Builder Pattern that are not accurate at all. Because of that, I decided to write a short article about what this pattern is and how to properly implement it.  I will start by providing a short description of what this pattern is. I will follow that with some context by providing hypothetical usages for this pattern, and conclude with a (hopefully good) code example.   What is the Builder Pattern?   Even these bad articles got one thing right: The Builder Pattern is a Creational Pattern . This means that the pattern's main goal is to provide a reusable solution for creating objects. You may ask, why are there more than one creational pattern? Isn't invoking a class constructor enough?  Well... yes and no.   Why use Builder Pattern?   Experts (people who know more than me) have determined that using one of these creational patterns is preferred over invoking the constructor of a c...