After learning the basics of Java for three years, I only know one Hello World....

foreword

The first time I came into contact with programming was in September 2013. In the first C language class of the freshman year, I learned a simple max(a,b). At that time, the code was incomprehensible, so I didn't consider the use of learning this, I just felt nblity.

Later, I came into contact with the first program in the Java class: Hello World! After continuing to study for a while, I couldn't help thinking: What's the use of learning this? But limited to that time, it was purely for the study thinking of coping with the exam, and later this idea only stayed in the embryonic stage.

When I started learning Java by myself in 2016, this idea came to my mind again. Fortunately, the boss's roommate gave some pointers, and in addition, he got some answers in the practice of the big homework later, so he was able to persist on the road of Java for a long time.

As my main language, Java has been learned for many years. Although I didn't become an excellent Java developer in the final career choice, Java is still closely related to my job content. Here, based on what I have seen and experienced, let me talk about what Java can do.

What can Java do?

What is the use of learning data types, if, while, for statements, and collections? Or in the end, when you learn something, you can make a product? All I can say is, let the bullets fly for a while .

Thinking about it carefully now, in fact, many answers were given to this question in the later study in class, but I didn’t understand it at that time, so I missed it.

1. Desktop application development

Desktop application development is a program based on the C/S architecture made by Swing. In the past, many management systems were based on C/S, but now the B/S architecture is commonly used. Here C refers to Client, which is the client, and B refers to Browser, which is the browser. And S is Server, which means service.

In the Java course in the second semester of my freshman year, I remember doing two big assignments. The first topic was to make a management system based on Swing, and what I did was a sports meeting registration system. Connecting to MySQL through JDBC is the core code, the kind that does not exceed twenty lines. Enter the name on the interface, select an item, click OK, insert it into the database, and complete.

When I finished this big homework, I felt that I was invincible, and I was sure~ In fact, thinking about it now, I knew der at that time. The second time is to make a music player. I remember I made it, also based on Swing.

2. Android development

It should be a sophomore who opened an Android class. At that time, I was a scumbag and didn't learn anything in class, so I directly transitioned to the practice stage of major assignments.

At that time, the content of the practice was to make an APP modeled on Weibo. The Android emulator was installed on the computer, and the teacher also gave a lot of materials. Later, I remembered that I should have made it...

At that time, the term that was heard the most was SDK. Of course, I didn't understand what SDK was until the end of the practice.

3. Backend development

"Back-end development is currently the occupation with the most Java developers."

The main technologies used in back-end development range from the SSH framework (Sping, Struts2, Hibernate) I heard about when I first entered school, to the SSM (Spring, SpringMVC, Mybatis) when I taught myself Java, and then to the Springboot I learned later. Along the way, low coupling and low configuration have gradually reduced the difficulty of learning and development.

Some back-end developers will ridicule themselves as 'CURD engineers', and sometimes it is understandable. The framework helps us build wheels and formulate development templates. We only need to write the business code logic connecting the previous and the next in a fixed place. Initiation : adding, deleting, modifying and checking the database; Inheriting : the interface returns data to the front end.

Of course, there are still many frameworks to learn on the back end. For example, the microservice framework SpringCloud, the distributed framework Dubbo, the NIO framework Netty, the authority control security framework SpringSecuriy/Shiro, etc.

4. Big data development

In my big data development career, I wrote relatively few interfaces. Although I occasionally write, they are all outside my duties. It is more biased towards data acquisition, access and processing.

In August 2017, during the internship period, I started to learn big data, and in November, I started to get in touch with Java-developed programs. I started to contact Spark in 2018, but I use Scala for Spark development, and Java will be used when customizing Hive's UDF and Flume components.

There is no doubt that big data and Java are closely related. Many source codes of big data components are developed based on Java. Of course, if you just want to be an ETL engineer, you don't need to learn Java.

5. Other

The 4 Java uses listed above are all my personal experience. Other uses still need everyone to expand.

basic meaning

If the above Java usage is compared to the superstructure, then data types, if, while, for, etc., are the underlying foundations. Learning the basics of Java is the key. So Hello World is also very meaningful, it lets you understand how to define a class, the entry point of a program is the main() function.

The concepts learned in the basics of Java, such as object-oriented, encapsulation, inheritance, polymorphism, etc., are the core theories that lay the foundation for Java development. In the later development, the basic classes such as collections, I/O, generics, reflection, exceptions, etc. that are often encountered are also learned in the basic stage of Java.

Java system

I drew a picture and compared the learning process of Java with the practice level of Fighting the Sky. The Java foundation is equivalent to the condensation of fighting spirit into a cyclone, and only by becoming a fighter can one embark on the road of cultivation. The fighting spirit of JavaWeb is equivalent to the stage of qualitative change after accumulation, giving a first glimpse of the back-end development process.

The Java framework corresponds to Dou Zong's journey through the air, which is the stage where he really comes into contact with the content of the work. Microservices allow people to jump out of the traditional development model, corresponding to the opening up space of Dou Zun. The JVM and concurrent programming correspond to the strong fighters. One is that it is difficult, and the other is that only some people are willing to learn it. .

The reason why the Five-Star Fighting Saint stopped abruptly is because there is no end to learning in the IT industry, and it requires slow practice and accumulation.

If the basics of Java let me understand Java, then JavaWeb is the first qualitative change in my self-learning Java. It was only after I finished learning JavaWeb that I realized the value of int, String, for, while, if, List, Map, and Set that I had learned before.

I define a servlet to write down the logic code, and after developing a simple page, publish it to run on tomcat. I visit the page in the browser and trigger the code I wrote in the servlet by clicking the button. It felt amazing at the time, and I felt a sense of accomplishment in my heart. Affirming moment for a Java beginner for several months. That was also the first time I came into contact with the front and back ends, but I was too good at the time and didn't know it.

The Java framework touches the content of the work. The framework is an advanced version of JavaWeb. The framework provides us with a simpler and faster development method, so its ease of use is deeply loved by developers.

I didn't specifically learn microservices, because after learning the framework, I went to practice and learn big data. Later, I learned and sold it once, and wrote a microservice program based on SpringCloud and Springboot. However, the service splitting, service collaboration, gateway, and load balancing of microservices are still worth studying, and will expand some knowledge that has not been seen before.

JVM, quite interesting. After reading the book three times, I learned a little bit. This part of the study really requires patience. My description of it is: obscure and boring but happy. How to describe happiness? I don't usually use it, but I know it when I use it.

epilogue

A long time ago, I wanted to sort out the notes I made when I was learning Java by myself. But the original output is of little significance to me, so I finally decided to organize it into a Java series of articles in the form of a blog, adding my personal understanding to the knowledge points of the original notes.

The first article mainly combines my own experience to talk about what Java can do. The next article intends to write <Java Object-Oriented>, a programming idea that runs through the entire Java.

Thank you for every encounter

Guess you like

Origin blog.csdn.net/CatchLight/article/details/125741840