设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间20 现在时间20 缓存数据 父母亲存在的意义不是给予孩子舒适和富裕的生活,而是,当你想到你的父母时,你的内心会充满力量,会感受到温暖,从而拥有克服困难的勇气和能力,以此获得人生真正的乐趣和自由。晚安!

父母亲存在的意义不是给予孩子舒适和富裕的生活,而是,当你想到你的父母时,你的内心会充满力量,会感受到温暖,从而拥有克服困难的勇气和能力,以此获得人生真正的乐趣和自由。晚安!

查看: 272|回复: 1

关于java后端的详解

[复制链接]

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
44
主题
30
精华
0
金钱
114
积分
74
注册时间
2023-10-4
最后登录
2025-3-13

发表于 2025-3-13 10:36:01 来自手机 | 显示全部楼层 |阅读模式

新手程序员通常会走入一个误区,就是认为学习了一门语言,就可以称为是某某语言工程师了。但事实上真的是这样吗?其实并非如此。

今天我们就来聊一聊,Java 开发工程师到底开发的是什么东西。准确点来说,Java后端到底在做什么?

大家都知道 Java 是一门后端语言,后端指的就是服务端,服务端代码一般运行在服务器上,通常我们运行Java 程序的服务器都是 Linux 服务器。

这些服务器在互联网公司中一般放在一个叫做机房的地方里,于是像我们这类 Java 程序员的代码一般也运行在这些机房里的服务器中。

1564821566909029.jpg

Java 里有一个概念叫做虚拟机,你可以把它理解为一个安卓的模拟器,比如你在电脑上装了一个安卓模拟器,就可以通过它来运行安卓应用程序,比如装个 APP,手机游戏什么的。

所以当你在电脑上安装了一个叫做 JDK 的东西时,电脑里就有了 JRE 也就是 Java 运行环境,有了这个运行环境,你就可以运行 Java 应用程序了。

知道 Java 程序如何运行在计算机上之后,我们再来讲一讲平时学的一些 Java 基础知识,它们到底有什么用?

其实平时这一些 Java 基础语法都仅仅是你写代码的一些基础知识,就相当于英语中的 26 个字母,常见的有基本类型变量、for 循环、if else 等等基本语法,掌握了这些基础知识之后,你就可以上手写一些很简单的代码了。

1564821583300590.jpg

除此之外,Java 还有一些比较特别的概念,比如面向对象的特性,其中有类、接口等概念。为什么 Java 要引入这些东西呢,其实就是想让使用者更好地进行设计、抽象和编程。

对于新手来说,你不需要理解得特别的深刻,因为这些东西只有你在你真正写代码之后才能逐步去理解。

说完基本知识之后,我想你也会好奇,Java里经常提到的一些集合类是干嘛的呢,因为在现实生活中有很多场景,需要用到集合类,比如说一个用户名列表,你要怎么存呢?

你会用一个 List 来做对不对,所以集合类的作用就是让你在编程中更好的存储数据。

事实上,集合类的概念最早是来源于数据结构的,因为计算机里有很多特殊的数据存储结构,比如文件树,比如链表和数组等结构,因此计算机理论把这些存储数据的模型抽象成一些常见的结构,统称为数据结构。

那么,Java 中的并发编程又是做什么的呢,Java 中的多线程是为了更好地利用电脑中的CPU核心,通过并发编程,就可以提高程序并发的效率。

但是并发编程的背后需要操作系统的支持,以及计算机硬件的支持,所以,如果你要完全地理解多线程,绝不仅仅是理解 Java 里的 Thread 或者是线程池就足够了,你还需要去理解操作系统,以及计算机组成原理。

和并发编程类似,Java 里也有网络编程的概念,Java 里的网络编程和其他语言大同小异,其实也是基于 TCP/IP 协议实现的一套 API,通过网络编程,你就可以在程序中把你想传输的数据传输到网络的另一端,有了网络编程和并发编程之后,Java 程序员的能量已经很大了

1564821601420498.jpg

讲完这几点之后接下来再谈谈,我们通常说的 Java 后端技术到底是什么,就拿支付宝来举例吧,曾经的支付宝用户数并不多,一台服务器,一个数据库就可以支持所有的业务了。

当支付宝的用户越来越多的时候,一台服务器无法同时满足海量用户的需求,于是开始出现了多台服务器,多台服务器组成了一个集群,用户可以通过负载均衡的方式访问这些服务器,每个用户可能会访问到不同的机器上,这样子就达到了分流的效果,服务器的压力就会减小。

由于数据库需要保证数据的可靠性,万一某一台数据库挂了,并且没有备份的话,那么这个数据就无法访问了,这在大型系统中是不允许出现的,于是乎,就有了数据库的主从部署。

但事实上,随着业务发展,数据库的压力也越来越大,主备部署并不能解决数据库访问性能的问题,于是乎我们需要进行分库分表,在数据库主备的基础上,我们会把一个数据量很大的表拆成多个表,并且把数据库请求分流到不同的数据上,比如说100个分库,100个分表,就相当于把一个数据表划分成10000个数据表。

此时又出现一个问题,如果一个数据库有多个备库,并且当主库挂掉的时候需要进行主从切换时,主备数据库之间的数据就可能发生不一致,而这也是分布式理论研究的问题之一,因为比较复杂,我们这里就略过不讲。

刚才说到了分布式技术,其实负载均衡、分库分表都是分布式技术的一种实现,如果你不想做分库分表,那还有什么办法能够减轻数据库访问的压力呢?于是缓存就出现了,缓存可以让服务器先把请求打到缓存上,由于缓存的数据一般在内存中,所以访问速度会非常快,这些请求无需经过数据库。

1564821638333797.jpg

随着业务发展,缓存的单点压力也会比较大,于是乎分布式缓存就出现了,通常来说,缓存难以保证数据的可靠性,因为它们的数据可能会丢失,同时缓存只能存储一部分的数据,并不能解决所有问题。

所以当某些业务的请求量非常大的时候,光靠缓存也解决不了问题,此时我们还可以通过消息队列来帮我们解决大流量并发请求的问题。

我们可以通过消息队列来存储一部分的请求消息,然后根据我们服务器处理请求的能力,把消息再逐步取出来,接着去把这些消息逐渐地进行处理,这样就可以很好的解决高并发的问题。当然,前提是消息队列要保证消息存储的可靠性,这也是大部分消息队列都会保证的能力。

一口气讲了这么多,算是把 Java 后端的大概面貌介绍清楚了,除此之外还有很多东西没讲到,真要讲完的话一晚上也说不完。

总体来说,Java 后端技术,说难不难说简单也不简单,我尽量把这些内容都讲的比较通俗易懂,事实上每项技术的背后都有特别多复杂的实现原理,当然,在你理解了 Java 后端技术的整体概念以后,相信对于你之后的学习会更有帮助。

以上就是java后端介绍的详细内容,感谢大家对晓枫资讯的支持。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

  • 打卡等级:热心大叔
  • 打卡总天数:204
  • 打卡月天数:0
  • 打卡总奖励:3221
  • 最近打卡:2023-08-27 04:32:00
等级头衔

等級:晓枫资讯-上等兵

在线时间
0 小时

积分成就
威望
0
贡献
446
主题
416
精华
0
金钱
4524
积分
887
注册时间
2022-12-25
最后登录
2025-5-31

发表于 2025-4-2 05:19:45 | 显示全部楼层
顶顶更健康!!!
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1楼
2楼

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表