【实习总结】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的在线商城系统,可以直接在本地运行,具有很高的学习价值。

(未完待续)

相关文章
|
21天前
|
存储 Java 关系型数据库
高效连接之道:Java连接池原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。频繁创建和关闭连接会消耗大量资源,导致性能瓶颈。为此,Java连接池技术通过复用连接,实现高效、稳定的数据库连接管理。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接池的基本操作、配置和使用方法,以及在电商应用中的具体应用示例。
40 5
|
28天前
|
XML Java 编译器
Java学习十六—掌握注解:让编程更简单
Java 注解(Annotation)是一种特殊的语法结构,可以在代码中嵌入元数据。它们不直接影响代码的运行,但可以通过工具和框架提供额外的信息,帮助在编译、部署或运行时进行处理。
86 43
Java学习十六—掌握注解:让编程更简单
|
9天前
|
Java 数据库连接 开发者
Java中的异常处理机制及其最佳实践####
在本文中,我们将探讨Java编程语言中的异常处理机制。通过深入分析try-catch语句、throws关键字以及自定义异常的创建与使用,我们旨在揭示如何有效地管理和响应程序运行中的错误和异常情况。此外,本文还将讨论一些最佳实践,以帮助开发者编写更加健壮和易于维护的代码。 ####
|
13天前
|
Java
Java 异常处理下篇:11 个异常处理最佳实践
本文深入探讨了 Java 异常处理的最佳实践,包括早抛出晚捕获、只捕获可处理的异常、不要忽略捕获的异常、抛出具体检查性异常、正确包装自定义异常、记录或抛出异常但不同时执行、避免在 `finally` 块中抛出异常、避免使用异常进行流程控制、使用模板方法处理重复的 `try-catch`、尽量只抛出与方法相关的异常以及异常处理后清理资源。通过遵循这些实践,可以提高代码的健壮性和可维护性。
|
10天前
|
安全 Java 编译器
Java多线程编程的陷阱与最佳实践####
【10月更文挑战第29天】 本文深入探讨了Java多线程编程中的常见陷阱,如竞态条件、死锁、内存一致性错误等,并通过实例分析揭示了这些陷阱的成因。同时,文章也分享了一系列最佳实践,包括使用volatile关键字、原子类、线程安全集合以及并发框架(如java.util.concurrent包下的工具类),帮助开发者有效避免多线程编程中的问题,提升应用的稳定性和性能。 ####
38 1
|
13天前
|
Java 大数据 API
14天Java基础学习——第1天:Java入门和环境搭建
本文介绍了Java的基础知识,包括Java的简介、历史和应用领域。详细讲解了如何安装JDK并配置环境变量,以及如何使用IntelliJ IDEA创建和运行Java项目。通过示例代码“HelloWorld.java”,展示了从编写到运行的全过程。适合初学者快速入门Java编程。
|
13天前
|
Java 编译器 开发者
Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面
本文探讨了Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面,帮助开发者提高代码质量和程序的健壮性。
31 2
|
1月前
|
存储 SQL 小程序
JVM知识体系学习五:Java Runtime Data Area and JVM Instruction (java运行时数据区域和java指令(大约200多条,这里就将一些简单的指令和学习))
这篇文章详细介绍了Java虚拟机(JVM)的运行时数据区域和JVM指令集,包括程序计数器、虚拟机栈、本地方法栈、直接内存、方法区和堆,以及栈帧的组成部分和执行流程。
31 2
JVM知识体系学习五:Java Runtime Data Area and JVM Instruction (java运行时数据区域和java指令(大约200多条,这里就将一些简单的指令和学习))
|
19天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
36 2
|
20天前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。