【Linux 初学篇,java虚拟机优化面试

本文探讨了高并发架构设计的重要性,指出单纯依赖服务器堆叠并非长久之计。分享了大厂如何构建高可用架构的实践案例,并详细介绍了Redis的五种数据类型及其在计数、TopList、队列等场景的应用。同时,文章涵盖了文件和目录的权限管理,包括文件所有者、所在组和其他组的变更,以及chmod和chown、chgrp指令的使用。最后,简述了Kafka的基础知识,包括其在数据管道和流式处理中的角色。
摘要由CSDN通过智能技术生成

前言

高并发十分考验架构师功底,它也是分布式架构设计中必须考虑的因素之一。要知道,光靠服务器堆是没有出路的。

想看看大牛是怎么面对高并发的?想知道BATJ大厂是怎么设计高可用架构的?这里有可参考的实践案例,干货满满,或许能对你有所启发。

Redis常用的数据类型

Redis的五种常用的数据类型分别是:String、Hash、List、Set和Sorted set

Redis的使用场景

1.Counting(计数)
2.展示最近、最热、点击率最高、活跃度最高等等条件的top list
3.用户最近访问记录也是redis list的很好应用场景
4.通过list的lpop及lpush接口进行队列的写入和消费
5.Redis 的Lua的功能扩展实际给Redis带来了更多的应用场景,你可以编写若干command组合作为一个小型的非阻塞事务或者更新逻辑
6.Redis提供的主从数据同步功能,其实是对cache的一个强有力功能扩展

[](()4.2 组的创建


指令:groupadd 组名

[](()4.3 文件和目录的所有者


一般文件被哪个用户创建的,该用户就自然成为了该文件的所有者

查看文件所有者指令:ls -ahl

修改文件所有者指令:chown 用户名 文件名

[](()4.4 文件和目录的所在组


当某个用户创建了一个文件后,该文件所在组就是该用户所在组

查看所在组指令:ls -ahl

修改文件所在组指令:chgrp 组名 文件名

[](()4.5 其他组


除文件的所有者和所在组的用户外,系统的其它用户都是文件的其他组

[](()4.6 改变用户所在组


在添加用户时,可以指定将该用户添加到哪个组中,同样的用 root 的管理权限可以改变某个用户所在的组

改变用户所在组指令:usermod -g 新组名 用户名

改变用户登录的初始目录指令:usermod -d 目录名 用户名

注意:改变户用登录的初始目录,用户需要拥有进入该目录的权限

[](()5. 权限管理

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

[](()5.1 介绍


当我们在终端输入指令:ls -l,就会有如下的内容在这里插入图片描述

那这些信息都分别有哪些含义呢?

前十位:即第0位到第9位

  • 第0位: 确定文件类型(d、-、l、c、b)
l:是链接,相当于 windows 的快捷方式
d:是目录,相当于 windows 的文件夹
\-:是普通文件
c:是字符设备文件,如鼠标。键盘
b:是块设备,如硬盘
  • 第1-3位: 确定所有者拥有该文件的权限(rwx)
  • 第4-6位: 确定所在组拥有该文件的权限(rwx)
  • 第7-9位: 确定其他用户拥有该文件的权限(rwx)

第十一位的数字:

如果这是一个文件,则该数字为1,如果这是一个目录,则该数字=该目录的子目录数

第一个root:

这里表示用户

第二个root:

这里表示所在组

后面的一串数字:

表示文件大小,单位是字节

再后面的日期:

表示最后一次修改该文件或者目录时的时间

最后的字符串

表示文件名或目录名

[](()5.2 rwx 权限解释


我们上述的第1-9位数都通过 rwx 表示对权限的表示,那么 rwx 都分表意味着什么呢?

  • rwx 作用到文件:
\[r\] 代表可读(read):可以读取查看
\[w\] 代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
\[x\] 代表可执行(execute):可以被执行
  • rwx 作用到目录:
\[r\] 代表可读(read):可以读取,ls 查看目录内容
\[w\] 代表可写(write):可以修改,对目录内创建+删除+重命名文件
\[x\] 代表可执行(execute):可以进入该目录

注意:

  • 可以用数字表示 rwx:r=4、w=2、x=1,因此 rwx=7

[](()5.3 chmod 修改权限


通过 chmod 指令可以修改文件或者目录的权限

  • 方式一: +、-、= 变更权限
u:表示所有者、g:表示所在组、o:表示其他组、a:表示所有人(u、g、o的总和)
1)`chmod u=rwx,g=rx,o=x 文件名/目录名`
2)将其他组赋予写的权限的指令:`chmod o+w 文件名/目录名`
3)将所有人的执行的权限都去掉的指令:`chmod a-x 文件/目录名`
  • 方式二: 通过数字变更权限
r=4、w=2、x=1、rwx=4+2+1(可以组合,如3=wx)
指令:`chmod 751 文件名/目录` **等价于** `chmod u=rwx,g=rx,o=x 文件名/目录名`

[](()5.4 chown 修改文件/目录所有者


通过 chown 指令可以修改文件或目录所有者

改变所有者指令:chown 新的所有者 文件/目录

改变所有者和所在组指令:chown 新的所有者:新的所在组 文件/目录

注意:

如果要修改目录,并使其所有子文件和目录递归生效,则要加上:-R

[](()5.5 chgrp 修改文件/目录所在组


通过 chgrp 指令可以修改文件或目录所在组

改变所在组指令:chgrp 新的所在组 文件/目录

注意:

如果要修改目录,并使其所有子文件和目录递归生效,则要加上:-R

通过 chown 指令可以修改文件或目录所有者

改变所有者指令:chown 新的所有者 文件/目录

改变所有者和所在组指令:chown 新的所有者:新的所在组 文件/目录

注意:

如果要修改目录,并使其所有子文件和目录递归生效,则要加上:-R

[](()5.5 chgrp 修改文件/目录所在组


通过 chgrp 指令可以修改文件或目录所在组

改变所在组指令:chgrp 新的所在组 文件/目录
注意:
如果要修改目录,并使其所有子文件和目录递归生效,则要加上:-R

总结:绘上一张Kakfa架构思维大纲脑图(xmind)

image

其实关于Kafka,能问的问题实在是太多了,扒了几天,最终筛选出44问:基础篇17问、进阶篇15问、高级篇12问,个个直戳痛点,不知道如果你不着急看答案,又能答出几个呢?

若是对Kafka的知识还回忆不起来,不妨先看我手绘的知识总结脑图(xmind不能上传,文章里用的是图片版)进行整体架构的梳理

梳理了知识,刷完了面试,如若你还想进一步的深入学习解读kafka以及源码,那么接下来的这份《手写“kafka”》将会是个不错的选择。

  • Kafka入门

  • 为什么选择Kafka

  • Kafka的安装、管理和配置

  • Kafka的集群

  • 第一个Kafka程序

  • Kafka的生产者

  • Kafka的消费者

  • 深入理解Kafka

  • 可靠的数据传递

  • Spring和Kafka的整合

  • SpringBoot和Kafka的整合

  • Kafka实战之削峰填谷

  • 数据管道和流式处理(了解即可)

image

image

能上传,文章里用的是图片版)进行整体架构的梳理

梳理了知识,刷完了面试,如若你还想进一步的深入学习解读kafka以及源码,那么接下来的这份《手写“kafka”》将会是个不错的选择。

  • Kafka入门

  • 为什么选择Kafka

  • Kafka的安装、管理和配置

  • Kafka的集群

  • 第一个Kafka程序

  • Kafka的生产者

  • Kafka的消费者

  • 深入理解Kafka

  • 可靠的数据传递

  • Spring和Kafka的整合

  • SpringBoot和Kafka的整合

  • Kafka实战之削峰填谷

  • 数据管道和流式处理(了解即可)

[外链图片转存中…(img-sZXiqPJY-1649753263889)]

[外链图片转存中…(img-VEHpYcfi-1649753263891)]

阿里P7熬夜整理的《Java全套学习手册》,火爆IT圈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值