JAVA知识框架及技术

news2024/11/18 15:33:56

Web应用,最常见的研发语言是Java和PHP。

后端服务,最常见的研发语言是Java和C/C++。

大数据,最常见的研发语言是Java和Python。

可以说,Java是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地。

有不少朋友问,除了掌握Java语法,还要系统学习哪些Java相关的技术,今天分享一个,互联网Java技术学习路线图。

一:常见模式与工具

学习Java技术体系,设计模式,流行的框架与组件是必不可少的:

常见的设计模式,编码必备

Spring5,做应用必不可少的最新框架

MyBatis,玩数据库必不可少的组件

二:工程化与工具

工欲善其事必先利其器,不管是小白,还是资深开发,玩Java技术体系,选择好的工具,提升开发效率和团队协作效率,是必不可少的:

Maven,项目管理

Jenkins,持续集成

Sonar,代码质量管理

Git,版本管理

三:分布式架构

高并发,高可用,海量数据,没有分布式的架构知识肯定是玩不转的:

分布式架构原理

分布式架构策略

分布式中间件

分布式架构实战

四:微服务架构

业务越来越复杂,服务分层,微服务架构是架构升级的必由之路,Java技术体系,和微服务相关的技术有哪些呢?

微服务框架

Spring Cloud

Docker与虚拟化

微服务架构

五:性能优化

任何脱离细节的ppt架构师都是耍流氓,向上能运筹帷幄,向下能解决一线性能问题,Java技术体系,需要了解:

性能指标体系

JVM调优

Web调优

DB调优

六:底层知识

从架构设计,到应用层调优,再深入了解底层原理,扎实的Java基本功才能让自己变为扫地神僧:

内存模型

并发模式

线程模型

锁细节


 

学习JAVA必须掌握的知识:

什么是面向对象

* 是一种更符合我们思想的习惯的懒人思想

* 可以将复杂时间简单化

* 将我们执行者变成了指挥者

* 角色发生了改变

* 面向对象有哪些特征

* 面向对象有: 封装 继承 多态

* 继承好处与弊端

* 好处:提高了代码的复用性 提高了代码的维护性 让类与类之间产生了关系 是多态的前提

* 弊端:类的耦合性增强了

* 多态好处与弊端

* 什么的多态: 多态就是事物存在的多种形态

* 多态的前提:要有继承关系,要有方法重写,要有父类引用指向子类对象

* 弊端有:不能使用子类特有的方法

* 好处有:提高了代码的维护性 提高了代码的复用性 可以当做形式参数 可以接受任意子类对象

* 什么是接口

* 接口从广义的角度讲对外提供的规则都是接口

* 什么是IO流

* IO流是用来处理设备之间的数据传输

* 有输入流跟输出流

* 分为两个字节流跟字符流

* 什么是线程

* 线程就是程序执行的一个路径,一个进程中可以包含多条线程

* 什么是多线程

* 多线程并发执行可以提高程序的效率 可以同时完成多个项目工作

* 什么是计数机网络

* 是指地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,

* 网络管理软件及网络通信协议的管理和协议下,实现资源共享和信息传递的计算机系统

* 什么是网络编程

* 就是用来实现网络互连的不用计算机上运行的程序间可以进行数据交换

* 什么是反射

* java反射机制是在运行状态中,对于任意一个类都能够知道这个类的所有属性和方法

* 对于任意一个对象都能够调用它的任意一个方法和属性

* 这种动态获取的信息以及动态调用对象的方法的功能称为java语音 的反射机制

* 要想解剖一个类必须先要获取到该类的字节码文件对象

* 而解剖使用的就是Class类中的方法,所以先要获取到没一个字节码文件对应的Class类型的对象

* 什么是枚举

* 是指将变量的值一一列出来 变量的值值限于列举出来的值得范围内 举例:一周只有7天 一年只有12个月等

* 回想单例设计模式 单例类是一个类只有一个实例

* 那么多例类就是一个类有多个实例 但不是无限个数的实例 而是有限个数的实例 这才能是枚举类

* JVM默认是如何处理异常的

* 当main方法收到这个问题是就有两种处理方式 第一种自己处理 然后继续运行

* 第二种处理 如果自己没针对的处理方式只有交给调用main方法的JVM来处理

* JVM有一个默认的异常处理机制 就讲该异常进行处理

* 并将该异常的名称 异常的信息 异常的出现的位置打印在控制台上 同时将程序停止运行

* BigInteger

* 他可以让超过Integer范围内的数据进行运行

* BigDecimal

* 他的作用是可以更加精确的存储小数

* 什么是内存输出流

* 就是该输出流可以向内存中写数据 把内存当做一个缓冲区 写出之后可以一次性获取所有数据

* 什么是线程池

* 程序启动一个新线程成本是比较高的,因为它涉及到要与操作系统交互 而使用线程池可以很好的提高性能 尤其是当程序中药创建大量生存期很短的线程时,

* 更应该考虑使用线程池 线程池礼的每一个线程代码结束后并不会死亡 而是再次货到线程池中称为空闲状态 等待下一个对象来使用 JDK5内置了线程池

* 什么是线程组

* 它可以对一批线程进行分类管理 java允许程序直接对线程组进行控制

* 什么是计算机

* 俗称电脑 是一种能够按照程序运行 自动 高速处理海量数据的现代化智能电子设备

* 由软件和硬件组成 没安装任何软件的计算机称为裸机 常见的形式有台式计数机 笔记本计算机 大型计数机

* 什么是计数机硬件

* 由电子 机械 和光电元件组成的各个物理装置的总称 这些物理装置按照系统结构的要求构成一个有机整体为计数机软件运行提供物质基础

* 什么是计数机软件

* 是计算机必不可少的东西 计算机软件使计数机按照事先预定好的顺序完成特定的功能 计数机软件按照其功能划分为系统软件与应用软件

* 什么是计数机语音

* 就是人与计算机之间进行信息交流沟通的一种特殊语音

Spring必须掌握的技术

Spring必须掌握的技术-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1139662.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Facebook账号被封?那是因为没做对这些事

Facebook是全球最大的社交媒体平台之一,拥有数十亿的全球用户。它的主要产品包括Facebook(面向个人用户的社交媒体平台)、Instagram、WhatsApp和Messenger。同时他也是美国数字广告市场的主要参与者之一,其广告平台吸引了数百万广…

2023年最受欢迎的11个UI设计师网站,助你成为行业翘楚

作为一名优秀的UI设计师,快速寻找灵感,保持审美在线,了解行业动态绝对是一项职业必备技能。 今天小编为各位小伙伴整理了一些UI设计师必看的绝佳网站。你可以从这些网站中了解行业最新动态,寻找创意灵感、学习优秀作品&#xff0…

使用Python将PDF转为图片

将PDF转为图片能方便我们将文档内容上传至社交媒体平台进行分享。此外,转换为图片后,还可以对图像进行进一步的裁剪、调整大小或添加标记等操作。 用Python将PDF文件转JPG/ PNG图片可能是大家在一些项目中会遇到的需求,下面将详细介绍如何使用…

LibreOffice怎么调整标题和段落之间的间距

今天用LibreOffice创建新文档,标题和段落之间的距离太大了,浪费空间: 如果想缩小距离的话,可以进行调整。 点击右侧导航栏的“属性”图标: 光标放在标题上: 在属性窗口,点击设置行距的下…

专业140+总分400+合工大合肥工业大学833信息通信上岸分享

我初试总分400,专业833是140,对于成绩还是比较满意,希望自己的复习经验对大家有所帮助。 近年分数线情况 合工大通信近几年分数线波动较大,有些大小年倾向,今年学硕和专硕都在320分左右,但是复录比增加为…

Android 开发调试时连接手机5037端口被占用的问题解决

原理是根据端口查询pid并结束占用了5037端口的进程。 步骤: 1.使用cmd命令行查看被占用端口所对应的 PID 输入命令:netstat -aon|findstr “端口号” 现在要找到使用了5037端口的进程,那么就是netstat -aon|findstr "5037" 结…

TreeMap 源码解析

目录 一. 前言 二. 源码解析 2.1. 成员属性 2.2. 构造方法 2.3. 添加元素 2.4. 获取元素 2.5. 是否包含key 2.6. 删除元素 三. 总结 一. 前言 TreeMap 基于红黑树实现,这为 TreeMap 保持键的有序性打下了基础。总的来说,TreeMap 的核心是红黑树…

基础课10——人工智能的基础:大数据

人工智能和大数据是相互依存、相互促进的关系。 大数据是人工智能的重要基础,没有大数据,人工智能就难以发挥其作用。同时,人工智能也提供了处理和分析大数据的工具和方法,使得大数据能够得到更有效的利用。 在应用方面&#xf…

RK3568-适配at24c04模块

将at24c04模块连接到开发板i2c2总线上 i2ctool查看i2c2总线上都有哪些设备 UU表示设备地址的从设备被驱动占用,卸载对应的驱动后,UU就会变成从设备地址。at24c04模块设备地址 0x50和0x51是at24c04模块i2c芯片的设备地址。这个从芯片手册上也可以得知。A0 A1 A2表示的是模块对…

编程案例:ps5游戏厅计时计费管理系统软件

编程案例:ps5游戏厅计时计费管理系统软件 一、佳易王电玩PS5游戏厅计时计费软件部分功能简介: 1、计时计费功能 :开台时间和所用的时长直观显示,每3秒即可刷新一次时间。 2、销售商品功能 :商品可以绑定桌子最后一起…

将输入的字符串中小写字母改为大写字母

#include<stdio.h> void main() {char str[50];printf("input string:>");gets(str);int i 0;while (str[i] ! \0){if (str[i] > a && str[i] < z){str[i] str[i] - 32;}i;}printf("%s",str); } 不用scanf是因为scanf遇到空格和回…

Screw Puzzle - Nuts and Bolts

Unblock screws and untangle each twisted iron piece from the jigsaw of obstacles Support Email : 825407372qq.com

在线分享的批量智能管理技巧

在现代社会中&#xff0c;电脑已经成为我们生活和工作中不可或缺的工具。然而&#xff0c;随着时间的推移&#xff0c;我们电脑中的文件越来越多&#xff0c;管理起来也变得越来越困难。为了提高工作效率&#xff0c;我们需要学会高效管理电脑文件。下面&#xff0c;我将分享一…

家居行业EDI:爱室丽Ashley EDI 项目案例

爱室丽Ashley&#xff08;Ashley Furniture Industries&#xff09;&#xff0c;是一家美国家居用品制造商和零售商。目前爱室丽Ashley通过两个分销渠道销售家居用品和配件&#xff1a;独立家具经销商和700多家Ashley Furniture HomeStore零售家具店&#xff0c;在中国、越南、…

【23真题】暴涨45分是专业课简单?还是太卷?

哈喽大家好&#xff0c;现在这个时间节点&#xff0c;有很多同学开始刷真题了&#xff01;所以23真题系列正式启动&#xff01;小马哥将全面发布23真题及详细解析&#xff01; 今天分享的是23年南京信息工程大学811的信号与系统试题及解析。南信大23年分数数涨45分&#xff0c…

yum--centos 和apt --ubuntu

centos安装软件 搜索语法&#xff1a;yum -y search 软件名称 安装软件前可以先去搜一下看看能用yum中有这个软件吗 安装语法&#xff1a;yum -y install 软件名称 写上 -y 意思是不用手动确认&#xff0c;直接安装 卸载语法&#xff1a;yum -y remove 软件名称 注…

BUUCTF LSB 1

BUUCTF:https://buuoj.cn/challenges 题目描述&#xff1a; 下载附件&#xff0c;解压得到一张png图片。 密文&#xff1a; 解题思路&#xff1a; 1、根据题目的提示&#xff0c;这道题涉及LSB隐写。使用StegSolve工具打开flag11.png文件&#xff0c;打开Analyse&#xff0…

数据抓取可以应用到哪些行业

随着互联网的发展&#xff0c;数据已经成为人们生活中不可或缺的一部分。数据抓取作为获取数据的重要手段之一&#xff0c;也被广泛应用于各个行业。本文将探讨数据抓取在各个行业中的应用。 首先&#xff0c;让我们来了解一下数据抓取的基本概念。数据抓取是指通过一定的技术…

产教融合共发展 | 开源网安高校合作战略再下一城

10月25日&#xff0c;开源网安继中山大学、电子科技大学、湖北大学、大连理工大学等高校之后再次建立校企合作项目&#xff0c;与绵阳城市学院签署战略合作协议&#xff0c;开源网安产学研协同发展战略迈出重要一步&#xff0c;目前已覆盖华北、东北、华南、华中、西南等区域&a…

Golang 自定义函数库(个人笔记)

1.用字符串连接切片元素&#xff08;类似php implode&#xff09; package mainimport ("fmt""strconv""strings" )func main() {data : []int{104, 101, 108, 108, 111}fmt.Println(IntSliceToString(data, ",")) }func IntSliceToS…