2024年java基础结构图

java基础结构图最近耗费了一周时间整理了一套 Java 学习路线 对于初次接触 Java 的朋友 想必一定很迷茫 想知道如何掌握好 Java 这门技术 如何运用 Java 进行项目开发 以及给自己带来高的收益 我也经历过一段迷茫时期 虽然学了很多 但是技术积累的比较散 在面试的时候 一碰到面试官提一些自己没听说过的问题 瞬间就傻逼了 而且时常不够自信 但是自从认识了一些大牛之后 我才发现自己欠缺的是系统性的知识

大家好,我是讯享网,很高兴认识大家。



最近耗费了一周时间整理了一套Java学习路线,

对于初次接触 Java 的朋友,想必一定很迷茫,想知道如何掌握好 Java 这门技术,如何运用Java进行项目开发,以及给自己带来高的收益!

我也经历过一段迷茫时期,虽然学了很多,但是技术积累的比较散,在面试的时候,一碰到面试官提一些自己没听说过的问题,瞬间就傻逼了,而且时常不够自信,但是自从认识了一些大牛之后,我才发现自己欠缺的是系统性的知识,以及对自己未来的定位。从那时候起,渐渐的开始思考 Java 为什么至今依然这么火,怎么学好 Java 这门技术,以及自己未来的方向。

在这里,可以将Java开发涉及到的技术栈知识学习分为以下几个部分:

图片

一,Java 核心技术篇

这个阶段就是Java入门阶段,也是核心阶段,掌握 Java 这门编程语言的基本语法,和基本特征,核心api和编码规范,安全规范等,为后面的修行之路打好基础。一定要注意是基础,基础一定要牢固。

图片

1,基础知识 又包括如下知识点:

图片

2,容器知识

容器主要是数据集合类,主要包括以下几个,也是Java开发最常用的数据结构:

ArrayList、LinkedList、HashMap、LinkedHashMap、HashTable、HashSet,Vector,CopyOnWriteArrayList,ConcurrentHashMap,WeakHashMap等,如果过需要分析原理的小伙伴可以去包下进行查找,开发中使用很广。

图片

3,IO知识

实现文件或者网络的输入/输出操作,主要包括如下内容:

  1. File类的作用
  2. File类中常用方法的使用介绍
  3. 使用File类操作文件和文件夹
  4. 相对路径和绝对路径的介绍
  5. IO流的概念和工作原理
  6. IO流的分类
  7. 文件流的使用
  8. 转换流的使用
  9. 缓冲流的使用
  10. 对象流的使用
  11. 内存流的使用
  12. 使用不同的流实现文件内容的拷贝
图片

4,多线程知识

主要包含线程和进程的基本概念、使用、以及并发编程等内容,多线程中有一个重点是线程池,用来管理线程,多线程可以说是 Java 高性能的核心基石,对大用户量高并发有很好的处理优势,必须要掌握好多线程的知识点。

简单归类主要包括如下几点

图片

5,JVM虚拟机

说到虚拟机,很多大厂尤其会面试这方面的知识点,很多工作几年的开发者都没有实质的接触到,核心知识点主要是GC调优,详细可以分为如下几点:

图片

二、设计模式

设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。

从模式上,可以将其分为四大类:创建型模式、结构型模式、行为型模式,J2EE 设计模式 ,合计各个类别总共有 23 种!

图片

三、Java 开源框架

Java 程序员从事 JavaWeb 的相关开发当然离不开 Spring 的系列框架。

就目前来说 没有 一个项目 不包含Spring 。Spring 框架正在变得越来越庞大,但核心的概念仍然是 IOC 和 AOP,也就是控制反转和面向切面编程。这个两个概念对于初学者来说,学习曲线有点陡峭。

有关Spring的核心框架:

图片

开源框架的出现,对整个IT行业来说,尤其是程序员,真的绝对是一种福利!

比如新手上手难、项目开发周期长、编码风格不统一等问题,Spring、SpringMVC、Mybtais、Hibernate等框架的出现,极大的改善了web应用程序后端开发的难度,缩短了开发周期,对于后端开发者而言,真的是一种解放!

图片

四、数据库篇

学习一门编程语言,数据库操作是必不可少的,不学会数据库,这门编程语言你也只能算是懂得一点点皮毛而已,对吧?要想学好数据库,首先要学习一下 SQL,推荐《SQL java基础结构图 必知必会》,然后是 MySQL,推荐《高性能 MySQL》。再拓展的话,还有 Redis,互联网技术领域中使用最广泛的存储中间件,推荐《Redis 深度历险:核心原理与应用实战》。

还有 MongoDB,非关系型数据库,推荐《MongoDB权威指南》。

根据使用用途,数据库可分为关系型数据库、非关系型数据库。

  • 关系型数据库:主要就是我们做业务时经常会接触到的一种数据库,在设计时主要需要遵循三范式要求,以设计符合实际需要的表结构关系。
  • 非关系型数据库:主要是面向那些不能用结构化关系表达的数据,通过来实现存储。
图片

这里强烈推荐几本书:

  • SQL基础教程(入门级);
  • 高性能MySQL(进阶级);
  • Redis入门指南(第2版)
  • Redis设计与实现
  • Redis实战

五、前端技术篇

真正在实际开发过程中,对于后端开发者而言,不可能只做 Java 的开发,也要兼顾前端的开发,有一些公司连前端开发都没有,前端任务全部都由后端人员来兼顾完成。

另外现在前后端分离开发也都是一个人来完成了,vue、react、angluar等前端框架,都需要学习。

开发人员必须掌握 Html、JavaScript技术,原因就不多说了。

这里推荐几个网站如下:

1、Bootstrap

Bootstrap无疑是最流行的CSS框架,它是最早的Web前端框架,由Twitter开发。Bootstrap还提供了许多实例来帮助你入门。

2、PatternFly

PatternFly是Red Hat的开源CSS框架,和Bootstrap不同的是,Bootstrap是为那些想要创建漂亮网站的人而设计的,而PatternFly主要专注于企业应用程序开发人员,提供诸如条形图、图表、导航之类的组件,实际上Red Hat就是使用它创建了OpenShift。

3、Material Components for the web

Material Components for the web(MDC Web),是谷歌专为Web设计的全新前端框架。MDC Web可帮助开发人员执行Material Design,组件由谷歌的核心工程师团队和UX设计人员开发。这些组件可以建立可靠的开发工作流程,以构建美观且功能强大的Web项目。

4、Pure

Bootstrap,Patternfly和MDC Web是功能非常强大的CSS框架,但它们可能非常繁琐和复杂。如果你想要一个轻量级的CSS框架,可以尝试Pure.css,它本身更接近于CSS编程,但又可以帮助你构建一个不错的网页。Pure是具有最小占用空间的轻量级CSS框架,它由Yahoo开发,根据BSD许可是开源的。

5、Foundation

Foundation声称是世界上最先进的响应式前端框架。它提供了用于构建专业网站的高级功能和教程。许多公司,组织都使用该框架,并且该框架具有大量可用的文档。

6、Bulma

Bulma是一个基于Flexbox的开源框架,可根据MIT许可证开源。Bulma是一个非常轻量级的框架,因为它只需要一个CSS文件。Bulma拥有简洁明了的文档,可轻松选择你想要的主题。它还具有许多Web组件,你可以在设计中使用它们。

7、Skeleton

如果说还有什么框架比Pure更加轻量级,那一定是Skeleton。Skeleton库只有大约400行,并且该框架仅提供一些基本的CSS框架组件。尽管如此,Skeleton还是提供了详细的文档来帮助你快速上手。

8、Materialize

Materialize 是一个基于 Material Design风格的一个现代化的响应式前端框架,解决了最繁重的工作,结合你的自定义组件,为你提供默认的样式。Materialize的文档页面非常全面,并且很容易遵循。其组件页面包括按钮,卡片,导航等。

9、Bootflat

Bootflat是从Twitter的Bootstrap派生的开源CSS框架。与Bootstrap相比,Bootflat更简单,并且更加轻量级。Bootflat的文档似乎几乎受到了IKEA的启发,大部分都是图像,没有太多的文字。

10,w3school(网站)

在 W3School,你可以找到你所需要的所有的网站建设教程。

从基础的 HTML 到 CSS,乃至进阶的 XML、SQL、JS、PHP 和 ASP.NET。

六、中间件篇

问:什么情况下需要使用中间件呢?

答:如果面对一个请求量很大、对响应要求很高的系统,就需要中间件的支持。

问:中间件包括那些呢?

答:最常用的有:分布式缓存:redis、memcached,分布式消息队列:activemq 、rabbitmq、rocketmq、kafka,分布式搜索引擎:elasticsearch,分布式任务调度:quartz,分布式API网关:zuul,分布式熔断器:Hystrix 等等。

图片

七、服务器篇

服务器 重点主要是软件安装部署、服务器使用原理,容器化技术等,最为Java程序员不会部署服务器绝对不是好技术员。

图片

最后:

推荐几个Java 练手项目,超鸡棒。

GitHub 和码云上有成千上万的项目,真正能脱颖而出的不在这个项目有多牛逼,作者的技术有多厉害,而在于这个项目的文档能不能让大家看得懂!能不能让大家学习到这些知识点。

这里只给大家推荐2个个人认为比较好的,相信还有很多我不知道的好的,大家也多多挖掘。

1)电商秒杀

SpringBoot 完整电商系统 Mall:包括前台商城系统及后台管理系统,基于 SpringBoot+MyBatis 实现。

https://github.com/macrozheng/mall

miaosha:秒杀系统设计与实现。

https://github.com/qiurunze123/miaosha

2)博客论坛

vhr:微人事是一个前后端分离的人力资源管理系统,项目采用 SpringBoot+Vue 开发。

https://github.com/lenve/vhr

halo([ˈheɪloʊ],意为光环,也可以当成拼音读(哈喽)):一个优秀的开源博客发布应用。

https://github.com/halo-dev/halo

小讯
上一篇 2024-12-30 14:30
下一篇 2024-12-30 17:21

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/7434.html