Home PC Games Linux Windows Database Network Programming Server Mobile  
  Home \ Programming \ Java programmers talk about those advanced knowledge and direction     - CentOS 6.4 installation environment to build Scrapy 0.22 (Linux)

- VNC configuration detailed analysis under Linux (Linux)

- MongoDB Learning the notes (Database)

- Whisker Menu 1.4.3 Install menu Linux (Linux)

- Getting Started with Linux system to learn: how to check the version of SSH on Linux (Linux)

- Acting on JavaScript events (Programming)

- Five strokes to find out the IP address you want to know (Linux)

- Oracle database NUMBER (x, y) data types (Database)

- The method to mount the CD under Linux (Linux)

- The Zabbix2.4.5 source compiler installation under Ubuntu 14.04 (Server)

- Ceph tuning --Journal and tcmalloc (Server)

- Linux installation and error under codeblocks exclude [Ubuntu 10.04] (Linux)

- Firewall settings oracle remote connection in Linux systems (Linux)

- Android Send HTTP POST requests (Programming)

- Ubuntu achieve initialization iptables (Linux)

- Linux operating system boot process analysis (Linux)

- Go performed using iOS and Android programming (Programming)

- Linux command in the dialog whiptail (Linux)

- Distributed File System FastDFS deployment (Server)

- Java MD5 encryption implementation (Programming)

  Java programmers talk about those advanced knowledge and direction
  Add Date : 2018-11-21      
  I remember reading an article some time ago talking about one kind of programmer programmer called wild, fighting strong, can handle all the problems, but generally look grasp the essence of the problem, or a google / baidu / stackoverflow / github porters , in fact, personally feel that there's nothing wrong, Road have been heard, industry specializing in surgery, there was indeed a need to work on the job. But the development of the computer industry has its direction, career development engineers has its direction, with experience, such a person may take another look to write their own code will feel very good. So if one day so people who want to change jobs, or more complete physical candidates company may still require painstaking practice, the following two aspects from the author to talk about Java programmers who advanced knowledge and direction, I do not intend from basic Let's talk about something, such as the Java language-based, multi-threaded, IO, if there is a demand call on those responsible for aspects of the reference to God in the field, but remember, it is best to see the original, far from shoddy translations.

1. Paradigm

In addition to the Java language foundation, usually there are many in each language paradigm, the paradigm is often a measure of veterans and novices places, such as the function name, exception handling, generics, etc., with the following two types of exception handling to illustrate , I have seen a lot of Java programmers wrote a lot of code still could not tell the difference.

Checked and unchecked exceptions

Unchecked exceptions

Usually used to represent the program Bug, such as function calls illegal argument exception, Java founder of Unchecked exceptions Unchecked exceptions explanation is run is generally not restored exception, in other words, in fact Unchecked exceptions RuntimeException, common the Unchecked exceptions have IllegalArgumentException, NullPointerException, and IllegalStateException, Unchecked exceptions usually do not need to add the function to the list of signatures, and the caller does not need to force the use of try..catch.

Checked exceptions

Often used to represent the process of execution of the function of some of the pre condition is not met, these conditions are generally beyond the control functions, such as invalid input, database connectivity problems, network anomalies, missing files and other problems, Checked exceptions parent is Exception, Checked exceptions need to be added to the function list of signatures, and the caller needs to enforce the use of try..catch to capture Checked exceptions.

2. The efficiency and speed

I remember once a friend of the owner and customers about a project, the client would like to look at the results and then make a decision that some functions are not what he wants, so the boss asked how long it takes an engineer below to make a demo, the people want a day that will take at least a month, the boss feel too slow, so he asked another engineer, his conclusion is given demo only three days, the results of three days is indeed done, and no overtime. So why is it so much worse, scripting language, script language can greatly enhance the work efficiency, especially in the prototyping stage, the following operations to Groovy XML example to illustrate this. Suppose there are many such XML data to be processed, imagine if you are using Java would be some kind of picture it.