Programmers, don't take private jobs

I have heard of many technical peers who go to run Didi and deliver food on weekends. I think it is incredible. However, my point of view is that if you want to be a successful person and a high-income person, then you should not do other part-time jobs, don't Waste your precious time on part-time jobs.

If you have free time, you should focus on improving your professional skills and literacy. We will lengthen the time line. If you can be a programmer for 15 years, don’t laugh. Now there are a lot of programmers in the 30-40 range. , what would happen if all your personal time was devoted to what you do best?

Most people may not have thought about it, but let me tell you, it is actually more cost-effective than earning a few thousand and tens of thousands of dollars for a private job in your free time. The type of programmer is special, fast and changeable, and Chinese companies are generally very busy and have to work overtime. When do you learn and contact new technologies and make summaries? A person who does not make summaries and cannot make summaries will definitely not increase his salary too fast.

The answer is personal time, to do summaries, write articles, do open source, and learn technology, in order to be more handy in the future, and maximize the value of the value.

Of course, it is necessary to take up private work. Who doesn’t want to earn more money? Practice your skills by the way, but please don’t spend all your time taking up private work, because once you commit to someone else’s project, you are in a hole , All the time will be used for private work, because Party A will definitely press your schedule, you have no time to study and reflect, and it is also a very distressing thing, so it is supported to take two private work in stages, but please don’t go. Doing other part-time jobs that are separate from your type of work is too much to lose.

Since you have chosen this career, please persevere and improve yourself all the time. Here is a free comprehensive analysis of Java's intermediate and advanced core advanced knowledge with 120k stars on GitHub.

It mainly includes Java foundation, Java container, Java concurrency, Java virtual machine and Java IO. In addition, it also comes with network, linux, data structure and algorithm, database, system design, necessary tools, interview guide, etc., which is very comprehensive.

This time it's free to share! Some screenshots are shown below, and the free download method is attached at the end of the article.

(1). Basics

1. Basic Java skills

  • Introduction to Java (basic concepts and common sense)
  • Java syntax
  • basic data type
  • method (function)

2. Java Object Oriented

  • classes and objects
  • Three characteristics of object-oriented
  • modifier
  • Interfaces and Abstract Classes
  • Other important knowledge points

3. Java core technology

  • gather
  • abnormal
  • Multithreading
  • Files and I\O Streams

(2). Concurrency

1. Concurrent containers

  • Summary of concurrent containers provided by JDK
  • ConcurrentHashMap
  • CopyOnWriteArrayList
  • ConcurrentLinkedQueue
  • BlockingQueue
  • ConcurrentSkipListMap

2. Thread pool

  • The benefits of using thread pools
  • Executor framework
  • (Important) A brief introduction to the ThreadPoolExecutor class
  • (Important) ThreadPoolExecutor usage example
  • Detailed explanation of several common thread pools
  • ScheduledThreadPoolExecutor 详解
  • Thread pool size is determined

3. Optimistic locking and pessimistic locking

  • What is pessimistic locking and optimistic locking
  • Two common implementations of optimistic locking
  • Disadvantages of optimistic locking
  • Usage scenarios of CAS and synchronized

(3). JVM

1. Java memory area

  • Overview
  • runtime data area
  • Exploring HotSpot Virtual Machine Objects
  • key supplementary content

2. JVM garbage collection

  • Demystifying JVM memory allocation and recycling
  • Subject has died?
  • Garbage Collection Algorithms
  • garbage collector

3. JDK monitoring and troubleshooting tools

  • JDK command line tools
  • JDK Visual Analysis Tool

(4) Network, linux, data structure and algorithm, database, system design, necessary tools, interview guide

Due to the limited space, other content will not be shown one by one. This advanced notebook has a total of 512 pages. It should be very helpful for those who want to advance, and I hope it can also help you.

Those who need it can click the card below to get it for free.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324459373&siteId=291194637