Redis高频面试笔记,Linux基础,源码解析之Seata项目中的分布式ID生成算法

  • Linux已经在服务器市场展现了非比寻常的能力,在世界各地有数百万志愿者为Linux提供技术支持和软件更新,其中包括有IBM、Google、Red Hat、Novell等IT跨国企业的资深学者和工程师。这要归功于Linux 的社区开发模式,公开的源代码不是招来更多的黑客攻击,相反,Linux对于安全漏洞可以提供更快速的反应。在企业级应用领域,更少被病毒和安全问题困扰的Linux是众多系统管理员的首选。

  • Linux在系统性能方面同样表现出优势。已经不必担心Linux是否能发挥服务器的全部性能。相反在实现同样的功能时,Linux所消耗的系统资源比Windows更少,同时也更为稳定。虚拟化技术、分布式计算、互联网应用等在Linux上可以得到很好的支持,Linux在服务器市场的份额一直在快速增长。

  • 2004年,IBM宣布其全线服务器均支持Linux。这无疑向世界传递了这样一个信号:Linux已经成长为一种最高档次的操作系统,具备了同其他操作系统一较高下的实力。在这之后的4年中,步IBM后尘的企业越来越多。如今,选择Linux作为自己的服务器操作系统已经不存在任何风险,因为主流的服务器制造商都能够提供对Linux 的支持。

  • 值得一提的是,在2011年排名前500的超级计算机中,92.4%(462台)都采用了Linux操作系统。尽管微软很自豪地表示,Windows HPC Server 2008进入榜单前10位,但需要知道的是,前9名的超级计算机都采用了Linux。

  • 总体上来说,Linux非常健壮和灵活,很适合用于大型企业生产环境——在把 Linux投入实际使用之后,用户将会更多地体会到这一点。

2.作为桌面

  • 没有必要夸大Linux作为桌面操作系统的优势。在这个领域,Windows仍然占据绝对的主导地位。用户体验方面,Windows的确做得更好一些。然而随着Linux在桌面领域投入更多的精力,其桌面市场份额正在缓步提升。在2008年的世界开源大会上, Ubuntu Linux创始人Mark Shuttleworth甚至大胆预测,Linux的市场份额将在未来超越苹果。

  • 那么究竟有什么理由在PC上使用Linux 呢?“免费”是一个非常重要的理由。Linux上的开源软件非常丰富,能够完成日常办公中的所有任务,并且不需要为此缴纳任何费用。用户不再需要为各种专业软件和操作系统支付大笔的许可证费用,省下的这笔资金可以用到更有用处的地方。

  • 另一个重要理由在于Linux 的开放性。这意味看用尸可以订制属于目己需要的功能,在Linux中,没有什么是不能被修改的。对于希望学习操作系统原理的用户,Linux是一个很好的平台,它可以让研究人员清楚地看到其中的每一个细节。

  • 相比较Windows而言,Linux确实更少受到病毒的侵扰。随着学习的深入,读者会逐渐了解到其中的原因。

Linux基本特性


  1. 程序应该小而专一,程序应该尽量的小,且只专注于一件事上,不要开发那些看起来有用但是90%的情况都用不到的特性;

  2. Linux是完全免费的操作系统,并且开放源代码,任何人都可以随意修改其源代码。

  3. Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现代电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。

  4. Linux安全可靠、稳定性高,Linux的代码是开源的,所以每个人都可以参与进入修补漏洞。常常被用于Web服务器项目部署任务。

  5. 大多数的开源软件的首要适配平台都是Linux,所以在Linux有许多免费又开源的软件工具让你使用。支持几乎所有的网络协议和开发语言

Linux的应用


  • 100% 的世界超级计算机跑在 Linux 上。包括 NASA 的集群。

  • SpaceX 在其灰背隼火箭引擎上使用具有特殊容错设计的 Linux。借此,Linux 帮助完成了 32 次航天任务。

  • 电影泰坦尼克是首个基于 Linux 服务器拍摄的电影。

  • 目前互联互联网上 90% 以上的网站服务器采用的都是Linux后台服务器,随着大数据时代的到来,分布式、并行计算、嵌入式以及人工智能等都会首选Linux。


二.Linux安装

============================================================================

  • 了解了Linux 的历史和发展过程,读者大概已经急切地想要把 Linux安装到自己的计算机上。无所畏惧的读者可能已经在阅读本章之前就做过这样的尝试。无论这些尝试最终是成功还是失败,就从这里开始Linux 之旅吧!

安装前的准备工作


  • 在安装这个全新的操作系统之前,需要做一些准备工作。从哪里得到 Linux?对电脑配置有什么要求?安装会删除机器上原有的Windows 吗?……对这些在论坛上经常出现的问题,本节将逐一给予回答。

我能从哪里获取Linux呢?

  • 使用Linux 本身不需要支付任何费用。读者可以在各Linux发行版的官方网站上找到安装镜像。安装镜像通常分为CD镜像和DVD镜像,视具体情况下载相应的镜像文件并刻录成光盘。在Windows 下,较常用的刻录软件有Nero等。当然,用户应该自己准备好CD或DVD刻录机。

  • 如果限于网速而无法下载,可以考虑在软件经销商处购买或直接向开发商订购拥有支持的商业版本。Red Hat、SUSE等发行版都发售企业版Linux套件,使用这些套件本身是免费的,商业公司只对其软件支持和服务收费。

  • 另外在任何时候,用户都有权力免费复制和发放Linux。这意味着同一份Linux拷贝可以在无数台计算机上安装而不需要考虑许可证问题。如此看来,获得一份Linux 安装文件并不是什么难事。

下载方式

  1. 关注博主,并在评论区评论 获取安装包 四个字即可获取对应的安装包。

  2. CentOS官网自行下载。链接:https://www.centos.org/

在这里插入图片描述

硬件要求

  • 对于这个问题最简单也是最标准的回答是取决于所使用的发行版。一般来说,这并不是一件需要特别考虑的事情。以CentOS-7 为例,默认安装需要800MB内存和8GB硬盘空间。对于现在的绝大多数计算机而言,这样的要求甚至不能被称作“要求”。当然,如果读者的计算机确实不能够胜任这样的工作,首先需要对此表示同情。读者有必要认真阅读相关配置要求,并选择一个合适的版本,也可以从各发行版的官方网站上找到某个特定版本所需要的最低配置。

虚拟机的使用

  • 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。虚拟系统通过生成操作系统的全新虚拟镜像,它具有真实操作系统完全一样的功能,在虚拟机中所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对其他的系统产生任何影响 ,而且能够和现有操作系切换。一个物理计算上可以同时运行多个不同的操作系统。

在这里插入图片描述

  • 事实上,虚拟机在服务器端拥有更广泛的应用。由于在控制成本、利用资源等方面展现出的巨大作用,虚拟机技术在最近几年获得了长足的进步。VMware、Sun、Microsoft 等公司纷纷推出了自己的虚拟机产品。Intel等芯片厂商也在CPU级别上提供了对虚拟技术的支持。

虚拟机软件

  • 对于PC 用户而言,最常用到的虚拟机软件是VMware。这款虚拟机产品可以在包括Windows和 Linux在内的多个平台上运行。VMware面向企业和个人开发了多个版本,其中一些需要用户购买许可证,如 VMware Workstation等。另一些,例如VMware Server,则可以免费使用。VMware公司通过向企业用户销售服务获取收入。

在这里插入图片描述

这里对于 VMware 就不做过多介绍了,本文采用的是VMware-workstation-full-12.5.0,获取方式还是上述的两种。

官网:https://www.vmware.com/cn.html

在这里插入图片描述

安装并激活VMware虚拟机

  1. 双击下载好的安装包进行安装。

在这里插入图片描述

  1. 选择对应的安装位置并点击下一步。

在这里插入图片描述

3.默认两个选项都是勾选的,这里都可以去掉。

在这里插入图片描述

4. 保留以下两个选项。

在这里插入图片描述

  1. 安装

在这里插入图片描述

在这里插入图片描述

  1. 点击输入许可证,完成最后一步操作。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

安装Linux


注意:本文使用的Linux版本为CentOS-7-x86_64。更多的发行版本还请关注上方《著名的Linux发行版本》。

在这里插入图片描述

CentOS简介

  • CentOS是免费的、开源的、可以重新分发的开源操作系统 ,CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一。

  • CentOS Linux发行版是一个稳定的,可预测的,可管理的和可复现的平台,源于Red Hat Enterprise Linux(RHEL)依照开放源代码(大部分是GPL开源协议 )规定释出的源码所编译而成。

安装CentOS-Linux操作系统

  1. 打开 VM 创建新的虚拟机。

在这里插入图片描述

  1. 选择 典型 并点击下一步。

在这里插入图片描述

  1. 选择iso镜像文件并点击下一步。iso镜像文件获取方式再上方文中有标注。

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

  1. 给安装的虚拟机起个名字,并选择合适的文件存放位置。

在这里插入图片描述

  1. 修改磁盘大小,根据自身电脑来设定。并勾选拆分多个文件。

在这里插入图片描述

  1. 修改硬件设置,并取消创建后开启虚拟机。

在这里插入图片描述

  • 点击“自定义硬件”设置内存为 2G. 运行速度会快些

在这里插入图片描述

  • 设置后点击完成

在这里插入图片描述

  1. 查看设置信息。

在这里插入图片描述

在这里插入图片描述

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

最后

终极手撕架构师的学习笔记:分布式+微服务+开源框架+性能优化

image

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

源框架+性能优化

[外链图片转存中…(img-qw4Xdscp-1712453642901)]

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值