【实习总结】Java学习最佳实践!

简介: 【实习总结】Java学习最佳实践!

Java基础

**学习建议:**从个人学习的角度而言,在这个阶段不要一开始就抓细节,最好是学习两遍:

第一遍 在Java刚入门时,最重要的工作就是熟悉Java的语法结构、命名方式、常用库等,形成对整个Java语言的一种感觉;

第二遍 再次学习一遍教程,在这个过程最好可以在IDEA中进行代码的编写和运行,进行诸如Debug之类的操作,从而对Java语法进一步熟悉。

学习教程:

廖雪峰的官方网站

廖老师的Java课程很全,在初学阶段学习只需要关注以下几个章节:Java快速入门、面向对象编程、集合、IO。

备注:我个人初学编程语言时不太喜欢看视频,有这方面爱好的初学者可以考虑搜索狂神系列,看过几节视频,挺不错的。

查漏补缺:

String、StringBuilder、StringBuffer的区别

——这三者需要仔细辨析,并在使用的时候选择合适的对象。

数组和列表的区别

——在Java中,数组和列表是不同的。

Java进阶

**学习建议:**在度过了基础阶段之后,要做的事情就是不断加深对Java知识的理解和补充,这个时候不要局限于某一个固定的教程,而要多去搜索一些相关的博客去看、去理解,看到好的文章要收藏并总结。

在这个阶段主要学习Java的反射、注解、泛型、多线程、Maven、异常、集合框架等,另外还要注意语法格式。

学习资料:

编码规范

阿里Java开发手册

——讲解了在Java项目开发中需要注意的命名格式、编码规约等。

反射

面试中常问的Java反射机制

——这篇文章从Java反射使用的角度来讲解,适合入门。

Java反射机制入门、使用、原理

——正如题所言,这篇文章更注重讲解反射机制的原理,即“反射”这个机制,底层到底是通过什么函数实现的?

注解

如何写自定义注解

——能够写自定义注解,那就说明对注解这个概念已经理解的十分透彻了,并且能够实现它。

一文搞懂Java注解

——当时笔者所写的一份总结性文章,适合进行查阅。

对线面试官

——这篇文章主要是从面试的角度来讲解Java注解。

泛型

Java泛型详解

——从为什么需要泛型入手,讲解了泛型使用的各种情况,并举例说明。

关于泛型的补充

——建议学习了之前的泛型教程,再看这个,算是一个总结和补充。

多线程

Java多线程学习

——这一篇文章足够了,Java多线程由Runable接口和Thread类(其实也是实现了Runable接口)实现,讲解相应的多线程知识。

异常

深入理解Java异常

——异常是什么?就是阻止程序继续运行的bug!当遇到异常时,系统会生成异常对象,通知程序进行处理。注意区分它和error的区别。

集合框架

Java集合框架简述

——先简要了解Java集合框架的大致情况

Java集合框架综述

——Java集合框架的根接口是collection和map,由此衍生出四种集合:list、set、queue、map。学习集合框架的重点是结合java.util源码,理清其中的继承、实现关系。

java.util源码

——结合源码去理清各个集合类的关系。

hashmap底层原理

——hashmap的底层其实就是数组加链表,有一点值得注意的是,在hashmap中判断同一个键值是根据hashcode来的,所以只是重载equals是不可取的。

JVM相关

Class文件结构

JVM值Class文件结构

——从一个实际的二进制文件入手,讲解Class文件的构成和组成部分。

类加载过程

JVM类加载的五个过程

——Java类加载过程分为五个阶段:加载、验证、准备、解析、初始化,着重各个阶段所进行的工作。

GC垃圾回收原理、策略

JVM垃圾回收机制总结

——垃圾回收主要有两种算法:引用计数算法、可达性分析算法,同时介绍了常用的垃圾收集算法。

JVM性能调优

——JVM性能调优的原理是对GC回收各区域的大小进行相应的调整(不同的程序对于GC各区域的使用情况各不相同,JVM调优就是据此进行定制性优化)。

Java8新特性

Stream

Java 8 Stream教程

——Java8新特性其中一个就是Stream,是函数式编程的实现,可以进行流式数据操作。

Lambda

Lambda表达式

——Lambda表达式,又称为闭包,可以使代码更加简洁紧凑

Optional类

Optional类

——Optional类是Java8函数式编程的组件。

方法引用

方法引用

——方法引用跟C++的域名空间有几分类似,可以通过类名::方法来直接定位某个方法。

单元测试

单元测试最佳实践

——单元测试是项目开发阶段必备的阶段,良好的单元测试可以提高代码的可用性,提高软件开发效率。

单元测试框架:Junit、Mockito

——java最常用的两个测试框架就是Junit和Mockito。

系统设计

设计模式

**前言:**设计模式是在面向对象领域总结成的系统架构、代码编写的经验,是必备的专业素养。

教程

《大话设计模式》书籍

或总结的笔记:大话设计模式新讲

系统设计理念

系统设计入门

——从基础的系统设计原则入手,一步一步讲解系统设计的方法和注意事项,如CAP理论、CDN、分片分库等。

Spring相关

什么是Spring?

——这个是对Spring和SpringBoot最粗略的介绍,方便新手对其形成一个基本概念。

Spring常见面试题

——通过这些面试问题,可以进一步回顾相应的知识点,补充其细节。

常用中间件

Kafka

Kafka底层原理分析

——kafka是Java常用的消息中间件。

Web开发

**前言:**现在常用的Web开发有两种主流方式:MVC与前后端分离。

不管是MVC还是前后端分离,其核心理念就是前后端各自负责自己擅长的东西。

教程:

Web从手写框架到SpringMVC

——廖老师的Web开发教程是学习依以来见过讲的最清楚最透彻的,并附有全套的代码。

不错的项目

新峰商城项目

——基于SpringBoot的在线商城系统,可以直接在本地运行,具有很高的学习价值。

(未完待续)

相关文章
|
3天前
|
缓存 监控 Java
Java Socket编程最佳实践:优化客户端-服务器通信性能
【6月更文挑战第21天】Java Socket编程优化涉及识别性能瓶颈,如网络延迟和CPU计算。使用非阻塞I/O(NIO)和多路复用技术提升并发处理能力,减少线程上下文切换。缓存利用可减少I/O操作,异步I/O(AIO)进一步提高效率。持续监控系统性能是关键。通过实践这些策略,开发者能构建高效稳定的通信系统。
|
12天前
|
Java 编译器 测试技术
Java基础16-Java注解简介和最佳实践(二)
Java基础16-Java注解简介和最佳实践(二)
22 4
|
7天前
|
安全 Java 调度
Java Queue深度解析:LinkedList为何成为队列的最佳实践?
【6月更文挑战第18天】Java的`LinkedList`适合作为队列,因其双向链表结构支持O(1)的头尾操作。非线程安全的`LinkedList`在单线程环境下效率高,多线程时可通过`Collections.synchronizedList`封装。此外,它还可兼做栈和双端队列,提供任务调度的高效解决方案。
|
12天前
|
安全 Java 开发者
Java基础16-Java注解简介和最佳实践(一)
Java基础16-Java注解简介和最佳实践(一)
24 5
|
11天前
|
Java
JAVA高级部分学习小结(2023.11.4)
JAVA高级部分学习小结(2023.11.4)
|
17天前
|
算法 Java 测试技术
滚雪球学Java(54):从零开始学习Java中的Math类,轻松解决数学难题
【6月更文挑战第8天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
20 0
滚雪球学Java(54):从零开始学习Java中的Math类,轻松解决数学难题
|
20小时前
|
存储 Java 关系型数据库
高效连接之道:Java连接池原理与最佳实践
【6月更文挑战第24天】Java连接池优化数据库交互,减少资源消耗。原理:预创建连接池,应用程序按需获取和释放连接。最佳实践:选用HikariCP,配置连接参数,如最大连接数、超时时间。通过`getConnection()`获取连接,用完后`close()`归还。应用连接池提升性能和稳定性。
|
25天前
|
安全 Java API
Java并发编程:实现多线程的最佳实践
本文将探讨Java中并发编程的最佳实践,涵盖了多线程的基本概念、线程安全性、锁机制、线程池以及常见的并发问题与解决方案。通过深入理解并发编程的原理和技巧,可以帮助开发人员更好地设计和编写高效、可靠的多线程应用程序。
20 3
|
25天前
|
设计模式 监控 算法
Java的代码优化技巧与最佳实践
Java的代码优化技巧与最佳实践
|
26天前
|
Java 程序员
Java中的异常处理:理解、实践与最佳实践
【5月更文挑战第30天】 在Java编程中,异常处理是一项关键的技能。本文将深入探讨Java异常处理的概念,包括异常的定义、分类和处理方式。我们将通过实例代码,展示如何在Java中有效地处理异常,以及如何利用异常处理来提高程序的健壮性和可维护性。此外,我们还将讨论一些关于Java异常处理的最佳实践。