首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux 中安装了一个命令行,是否所有用户都可以使用这个命令,比如 docker?

分享一个 linux 技能飞书话题群的一个问题。 ---- 问: linux系统里,普通用户目录是 /home 下,root用户目录在 /root,因此全部用户共享目录的。...那如果我们要装一个东西的话,是不是只用装一遍?(比如说ohmyzsh之类的) 之前自己服务器上,每次都需要安装两遍,一次只有当前那个用户生效,这是为什么呢?...---- 答: 不一定,当我们说我们 linux 装了一个东西,指的是:「我们装了一个命令,可全局执行」。此时是将该命令放在了全局执行目录(或者将该命令目录放在了 $PATH)。...local/bin /usr/bin /usr/local/bin /usr/sbin 可以看出来有全局目录,有用户目录(比如前两个路径) 如果你将该命令安装或者软链接到了全局目录,那确实是所有用户都会共享这个命令...哦对,PATH 该路径列表可自定义,而每一个用户都可以有独立的 PATH 环境变量。

7.3K60

【实战】kafka删除Topic常见异常排查思路及解决方案

有人报案 最近技术群里面有几个同学碰到了 删除Topic的问题, 怎么样也删除不掉,然后协助排查之后,就做个记录,写篇文章,大家碰到这类型的问题的时候应该怎么去排查 收集线索 报not retrying...deletion 异常 版本:kafka_2.11-2.0.0 删除执行重分配,但是失败了,强制停止数据迁移,手动删除了节点/admin/reassign_partitions 再次重新删除提示异常...,你已经标记了这个topic删除了, zk上写入了节点/amin/delete_topics/{topicName} 上面收集线索时候我们知道是它重新执行删除的时候抛出的异常,说明zk节点已经写入了...,已经准备删除了; 这里没有什么问题 问题在于为什么没有执行删除呢?...通过源码我们可以看到,出现了这个异常表示的是:当前这个topic不符合重试删除的条件 怎么样才符合重试删除条件?

58210
您找到你想要的搜索结果了吗?
是的
没有找到

Java中容器的遍历

当我们用增强for循环遍历非并发容器(HashMap、ArrayList等),如果修改其结构,会抛出异常 ConcurrentModificationException,因此阿里巴巴的Java规范中有说到...也许有些人会说,只是单线程中修改了,并没有并发操作,但系统也抛了这样的这样的错误,这是为什么呢?...这个异常就是应用程序在做一些系统不允许的操作时抛出的。记住,只要是系统不允许的操作,就一定会抛错的。...,你如果运行的话,就会抛出 ConcurrentModificationException,这个时候我们需要具体调试一下,发现遍历第一次并删除时没有报错,但第二次遍历,for循环的括号执行完后,就抛出了异常...如果你实在想用 增强for循环遍历删除,那么也只能在删除一个后,立刻退出循环。

80630

怎样处理InterruptedException

Java 中的受检查异常 InterruptedException 如何处理是令人头痛的问题,下面是对处理这个问题的理解。... Java 中是不行的。只有当你按下 Ctrl-C 来终止整个 JVM 时这段程序才会停止。 Java 中没有方式来终止一个线程,除非该线程自动退出。请务必牢记的这一原则,其它东西就显而易见了。...现在你听明白这个逻辑了吗?希望是。 现在,JDK 中有一些方法来检测标识变量,如果设置该标识变量,则会抛出 InterruptedException。...为什么要这么做?为什么不能等待并且不用去检查标识变量?相信一定有一个非常好的理由。理由如下(如果说错了,请修正的错误):为了让代码变快或是中断准备,没有其他理由。...上层可能捕获了运行时异常,所以这个线程还是存活的。线程所有者将会非常失望。 我们必须通知上层捕获了一个中断请求。我们不能只抛出运行时异常,这种行为太不负责了。

3.2K30

从源码和日志文件结构中分析 Kafka 重启失败事件

上次的 Kafka 重启失败事件,对为什么重启失败的原因似乎并没有解释清楚,那么就在这里按照对 Kafka 的认识,从源码和日志文件结构去尝试寻找原因。...以上是追加索引块核心方法,在这里可以看到 Kafka 异常栈的详细信息,Kafka 进程也就是在这里被异常中断退出的(这里吐槽一下,为什么一个分区有损坏,要整个 broker 挂掉?宁错过,不放过?...= false 也就是说,假设索引文件中的索引条目为 0,说明索引文件内容为空,那么直接可以追加索引,而如果索引文件中有索引条目了,需要消息批次中的 baseOffset 大于索引文件最后一个条目中的位移...这里也需要吐槽一下,**如果出现这个 bug,意味着这个问题除非是将这些故障的日志文件和索引文件删除,否则该节点永远启动不了,这也太暴力了吧?...如上图所示,index最后记录的 offset = 110756715,positioin=182484660,与异常栈显示的一样,说明进行追加下一个索引块的时候,发现下一个索引块的 offset 索引不大于最后一个索引块的

80350

Java,你告诉 fail-fast 是什么鬼?

今天才了解到 Java 还有 fail-fast 一说。不得不感慨啊,学习真的是没有止境。只要肯学,就会有巨多巨多别人眼中的“旧”知识涌现出来,并且这全是新的。 能怎么办呢?...这就导致 Iterator 遍历的时候,会发现元素自己不知情的情况下被修改了,它觉得很难接受,就抛出了异常。...但是呢,当 List 中有重复元素要删除的时候,break 就不合适了。...“沉默王三”这个元素被跳过了。...该异常可能由于检测到对象并发情况下被修改而抛出的,而这种修改是不允许的。 通常,这种操作是不允许的,比如说一个线程修改集合,而另一个线程迭代它。这种情况下,迭代的结果是不确定的。

50510

Java,你告诉 fail-fast 是什么鬼?

今天才了解到 Java 还有 fail-fast 一说。不得不感慨啊,学习真的是没有止境。只要肯学,就会有巨多巨多别人眼中的“旧”知识涌现出来,并且这全是新的。 能怎么办呢?...这就导致 Iterator 遍历的时候,会发现元素自己不知情的情况下被修改了,它觉得很难接受,就抛出了异常。...但是呢,当 List 中有重复元素要删除的时候,break 就不合适了。...“沉默王三”这个元素被跳过了。...该异常可能由于检测到对象并发情况下被修改而抛出的,而这种修改是不允许的。 通常,这种操作是不允许的,比如说一个线程修改集合,而另一个线程迭代它。这种情况下,迭代的结果是不确定的。

45720

也没想到还有续集。

还有这个片段,对于为什么删除一个元素不会抛出异常,也是一众选手,不明就里: ? 为什么为什么没有问题啊? ? ? 1 提炼问题 上面看着有点乱是不是呢?...之后还会把问题再简化一下。 问题一:如图所示,为什么删除一个元素(公众号)可以正常执行,删除第二个元素(why技术)就会抛出异常呢? ? ?...问题二:为什么当集合大小大于2时,删除一个元素(公众号)也抛出了异常? ? 问题三:为什么删除倒数第二个元素可以正常执行?删除倒数第二个元素以外的任意元素就会抛出异常? ? ?...再把问题汇总一下,你瞟一眼就行,不用细读: 问题一:当集合大小等于2时,为什么删除一个元素(公众号)可以正常执行,删除第二个元素(why技术)就会抛出异常呢?...问题二:为什么当集合大小大于2时,删除一个元素(公众号)也抛出了异常? 问题三:为什么删除倒数第二个元素可以正常执行?删除倒数第二个元素以外的任意元素就会抛出异常

69010

为什么分布式一定要有Redis?

Redis 和数据库双写一致性问题 如何应对缓存穿透和缓存雪崩问题 如何解决 Redis 的并发竞争 Key 问题 为什么使用 Redis 觉得项目中使用 Redis,主要是从两个角度去考虑:性能和并发...并发 如下图所示,大并发的情况下,所有的请求直接访问数据库,数据库会出现连接异常这个时候,就需要使用 Redis 做一个缓冲操作,让请求先访问到 Redis,而不是直接访问数据库。 ?...单线程的 Redis 为什么这么快 这个问题是对 Redis 内部机制的一个考察。根据我的面试经验,很多人都不知道Redis 是单线程工作模型。所以,这个问题还是应该要复习一下的。...为什么不用定时删除策略 定时删除,用一个定时器来负责监视 Key,过期则自动删除。虽然内存及时释放,但是十分消耗 CPU 资源。...你一个事务中有涉及到多个 Key 操作的时候,这多个 Key 不一定都存储一个 redis-server 上。因此,Redis 的事务机制,十分鸡肋。

43510

为什么分布式一定要有Redis?

Redis 和数据库双写一致性问题 如何应对缓存穿透和缓存雪崩问题 如何解决 Redis 的并发竞争 Key 问题 为什么使用 Redis 觉得项目中使用 Redis,主要是从两个角度去考虑:性能和并发...并发 如下图所示,大并发的情况下,所有的请求直接访问数据库,数据库会出现连接异常这个时候,就需要使用 Redis 做一个缓冲操作,让请求先访问到 Redis,而不是直接访问数据库。...单线程的 Redis 为什么这么快 这个问题是对 Redis 内部机制的一个考察。根据我的面试经验,很多人都不知道Redis 是单线程工作模型。所以,这个问题还是应该要复习一下的。...为什么不用定时删除策略 定时删除,用一个定时器来负责监视 Key,过期则自动删除。虽然内存及时释放,但是十分消耗 CPU 资源。...你一个事务中有涉及到多个 Key 操作的时候,这多个 Key 不一定都存储一个 redis-server 上。因此,Redis 的事务机制,十分鸡肋。

20310

为什么分布式一定要有Redis?

Redis 和数据库双写一致性问题 如何应对缓存穿透和缓存雪崩问题 如何解决 Redis 的并发竞争 Key 问题 为什么使用 Redis 觉得项目中使用 Redis,主要是从两个角度去考虑:性能和并发...并发 如下图所示,大并发的情况下,所有的请求直接访问数据库,数据库会出现连接异常这个时候,就需要使用 Redis 做一个缓冲操作,让请求先访问到 Redis,而不是直接访问数据库。 ?...单线程的 Redis 为什么这么快 这个问题是对 Redis 内部机制的一个考察。根据我的面试经验,很多人都不知道Redis 是单线程工作模型。所以,这个问题还是应该要复习一下的。...为什么不用定时删除策略 定时删除,用一个定时器来负责监视 Key,过期则自动删除。虽然内存及时释放,但是十分消耗 CPU 资源。...你一个事务中有涉及到多个 Key 操作的时候,这多个 Key 不一定都存储一个 redis-server 上。因此,Redis 的事务机制,十分鸡肋。

44052

为什么分布式一定要有Redis?

Redis 和数据库双写一致性问题 如何应对缓存穿透和缓存雪崩问题 如何解决 Redis 的并发竞争 Key 问题 为什么使用 Redis 觉得项目中使用 Redis,主要是从两个角度去考虑:性能和并发...并发 如下图所示,大并发的情况下,所有的请求直接访问数据库,数据库会出现连接异常这个时候,就需要使用 Redis 做一个缓冲操作,让请求先访问到 Redis,而不是直接访问数据库。 ?...单线程的 Redis 为什么这么快 这个问题是对 Redis 内部机制的一个考察。根据我的面试经验,很多人都不知道Redis 是单线程工作模型。所以,这个问题还是应该要复习一下的。...为什么不用定时删除策略 定时删除,用一个定时器来负责监视 Key,过期则自动删除。虽然内存及时释放,但是十分消耗 CPU 资源。...你一个事务中有涉及到多个 Key 操作的时候,这多个 Key 不一定都存储一个 redis-server 上。因此,Redis 的事务机制,十分鸡肋。

42120

为什么分布式一定要有Redis?

Redis 和数据库双写一致性问题 如何应对缓存穿透和缓存雪崩问题 如何解决 Redis 的并发竞争 Key 问题 为什么使用 Redis 觉得项目中使用 Redis,主要是从两个角度去考虑:性能和并发...并发 如下图所示,大并发的情况下,所有的请求直接访问数据库,数据库会出现连接异常这个时候,就需要使用 Redis 做一个缓冲操作,让请求先访问到 Redis,而不是直接访问数据库。...单线程的 Redis 为什么这么快 这个问题是对 Redis 内部机制的一个考察。根据我的面试经验,很多人都不知道Redis 是单线程工作模型。所以,这个问题还是应该要复习一下的。...为什么不用定时删除策略 定时删除,用一个定时器来负责监视 Key,过期则自动删除。虽然内存及时释放,但是十分消耗 CPU 资源。...你一个事务中有涉及到多个 Key 操作的时候,这多个 Key 不一定都存储一个 redis-server 上。因此,Redis 的事务机制,十分鸡肋。

39020

为什么我们做分布式要用 Redis ?

这里对 Redis 常见问题做一个总结,解决大家的知识盲点。 1、为什么使用 Redis 项目中使用 Redis,主要考虑两个角度:性能和并发。...并发: 如下图所示,大并发的情况下,所有的请求直接访问数据库,数据库会出现连接异常这个时候,就需要使用 Redis 做一个缓冲操作,让请求先访问到 Redis,而不是直接访问数据库。 ?...怎么删的,这个问题思考过么? 正解:Redis 采用的是定期删除+惰性删除策略。 为什么不用定时删除策略 定时删除,用一个定时器来负责监视 Key,过期则自动删除。...缓存雪崩,即缓存同一时间大面积的失效,这个时候又来了一波请求,结果请求都怼到数据库上,从而导致数据库连接异常。 缓存雪崩解决方案: 给缓存的失效时间,加上一个随机值,避免集体失效。...你一个事务中有涉及到多个 Key 操作的时候,这多个 Key 不一定都存储一个 redis-server 上。因此,Redis 的事务机制,十分鸡肋。

56030

MySQL binlog集市的项目小结

但是通过的感受和大家的反馈,这个项目的成效平平。对此开始总结和反思。 binlog集市的体系已经构建起来了,但是目前还没有真正发挥效用。...,比如这个数据库中有多少表,每个表有多少数据,他们很难得到这些信息,直接查询又担心出性能问题,哪些表数据变化比较多是他们比较关注的事情,毕竟这是他们自己的业务; 3)运维视角数据治理和优化:一个数据库中有几十上百张表...假设我们有了字典表变化的一种跟踪服务,那么发生异常的时候,可以优先排除是否有字典数据的变化 5)表结构变更后的信息订阅和同步:有些数据是需要通过数据流转持续发挥价值的,那么上游的字段发生变化(创建表,删除表...,添加字段,删除字段,修改字段类型等),对于下游都是很大的影响,这些信息下游的同事应该是缺少一直机制去了解的 所以结合以上信息: 1)binlog集市的定位和核心功能就是异常场景下的数据快速恢复,那么就应该优先把这块事情做好...热文: 呼伦贝尔游记第二篇 呼伦贝尔游记第一篇 山西大同云冈石窟一日游 新数据库时代,DBA 发展之路该如何选择 我们为什么MySQL中几乎不使用分区表 《大江大河2》最触动的一段经典对话

18040

Java开发人员最常犯的9个错误

摘要 这是觉得java中比较常见的问题。如果您不同意任一部分,请留下您的评论。如果您能提出其它一些常见的错误,将会非常感激。...3 循环内部删除List中的一个元素 考虑如下代码,迭代期间删除元素: ?...结果打印: [b, d] 在上面这个方法中有一系列的问题,当一个元素被删除的时候,list大小减小,然后原先索引指向了其它元素。所以如果你想在循环里通过索引来删除多个元素,将不会正确工作。...next()方法需要在remove()方法之前被调用,foreach循环里,编译器会在删除元素操作后调用next方法,这导致了ConcurrentModificationException异常。...,不管是无参构造方法还是有参构造方法,都会默认调用父类的无参构造方法;当编译器尝试子类中往这两个构造方法插入super()方法时,因为父类没有一个默认的无参构造方法,所以编译器报错; 要修复这个错误,

41610

不愧是微信,问的贼细

看了下,问的问题还是挺深的,面微信的话,计算机基础还是得学深和学扎实一些。 面经 存字符串用unordered_map还是用map好?为什么?要怎么优化?...有一个请求队列,有读者线程和写者线程 同时操作这个共享的请求队列,属于什么样的读写模型 ? 一写多读模型的情况下怎么解决读写冲突的问题?加锁是一种方案,但是会影响性能,有没有更好的办法?...fd系统中有限制吗?可以无限申请吗? 一个服务端进程最多可以和多少个客户端进行连接?和fd的数量有关吗?...假设这样一个场景,客户端和服务端进行TCP的三次握手的过程中,突然间客户端宕机了,那么这个socket怎么处理?可以删除吗?是怎么删除的?...如果服务端read()函数发生了阻塞,对方客户端异常关闭了,一直没有发数据过来,服务端会一直阻塞吗?会导致服务端卡死吗? 第七题中提到的这个情况,epoll可以解决这个问题吗?

17320

Java开发人员最常犯的10个错误

考虑如下代码,迭代期间删除元素: ? 结果打印: [b, d] 在上面这个方法中有一系列的问题,当一个元素被删除的时候,list大小减小,然后原先索引指向了其它元素。...所以如果你想在循环里通过索引来删除多个元素,将不会正确工作。 你也许知道使用迭代器是循环里删除元素的正确方式,或许你也知道foreach循环跟迭代器很类似,但事实情况却不是这样,如下代码: ?...next()方法需要在remove()方法之前被调用,foreach循环里,编译器会在删除元素操作化调用next方法,这导致了ConcurrentModificationException异常。...这个列表是基于大量的github上的开源项目,Stack overflow上的问题,还有一些流行的google搜索的分析。没有明显示的评估证明它们是前10,但它们绝对是很常见的。...如果您能提出其它一些常见的错误,将会非常感激。

32420

ArrayList 可以完全替代数组吗?

2.1 ArrayList 的属性 ArrayList 的属性很好理解,底层是一个 Object 数组,要举手提问: ‍♀️疑问 1: 为什么 elementData 字段不声明 private 关键字...【强制】ArrayList 的 subList 结果不可强转成 ArrayList,否则会抛出 ClassCastException 异常; 【强制】 subList 场景中,高度注意对原集合元素的增加或删除...,均会导致子列表的遍历、增加、删除产生 ConcurrentModificationException 异常。...Arrays#ArrayList:世界上的另一个 事实上, Java 环境中有两个 ArrayList,这或许是一个隐藏的彩蛋(坑): ArrayList: 一般认为的 ArrayList,是一个顶级类...例如:在这段代码中,ArrayList 接收一个由 String 数组转化的 List,最后 ArrayList#toArray() 返回的 Object 数组中添加一个 Object 对象,就出现异常

69630

使用Redis+AOP优化权限管理功能,这波操作贼爽!

最近对这个问题进行了优化,通过Redis+AOP解决了该问题,下面来讲下的优化思路。...问题重现 mall-security模块中有一个过滤器,当用户登录后,请求会带着token经过这个过滤器。...但是引入新的技术之后,新的问题也会产生,比如说当Redis宕机以后,我们直接就无法登录了,下面我们使用AOP来解决这个问题。 使用AOP处理缓存操作异常 为什么要用AOP来解决这个问题呢?...首先我们先定义一个切面,相关缓存业务类上面应用,它的环绕通知中直接处理掉异常,保障后续操作能执行。...对于上面这种需求我们可以通过自定义注解来完成,首先我们自定义一个CacheException注解,如果方法上面有这个注解,发生异常则直接抛出。

66110

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券