牛客999991342号 level
获赞
2517
粉丝
1434
关注
185
看过 TA
410
外交学院
2020
运营
IP属地:未知
暂未填写个人简介
私信
关注
2020-12-29 18:34
外交学院 运营
牛油的日常生活分会场2020即将结束,这一年过的怎么样?对于即将到来的2021你又有怎样的憧憬呢?带话题在【牛油的日常生活圈】发布你对2021年的畅想,立下新年flag,一起迎接即将到来的2021吧!🕧活动时间:2020.12.30-2021.1.3 24:00活动规则:1️⃣本活动共设置三个分会场,带话题在任意分会场中发布动态,每按要求发布一次动态即可获得一次参与抽奖的机会!活动期间每人最多获得3次抽奖机会!2️⃣活动共设置3个分会场,【校招求职吐槽圈】-总结你的求职那些事、【社畜职场交流圈】-总结你作为打工人这一年的感悟 分会场见评论~3️⃣动态最好带图,并保证图文相关,不然你的动态将会被限制查看哦;若不带图发动态,动态字数需要≥15字!💖奖励设置:1️⃣奖池中包含【三合一数据线*10】,【新款马克杯*5】,【牛可乐抱枕*3】,【牛可乐玩偶*3】,【福袋(卫衣+U型枕+新款水杯)*1】,共5种奖品,22份!最终将通过汇总3个分会场中所有动态生成随机数的方式随机抽出获得上述奖品的牛友!2️⃣我们会将所有符合活动规则的动态统计成表,你的动态内容将在表中作为抽奖凭证,如果发布了3条符合活动规则的动态,就将被记录3次,拥有3次参与抽奖的机会哦~✅活动最终解释权归牛客所有,对活动有任何疑问请私戳sunnyyyy~
牛油的日常生活
0 点赞 评论 收藏
分享
2020-12-23 10:47
外交学院 运营
0 点赞 评论 收藏
分享
2020-12-22 11:31
外交学院 运营
问题描述:    具体说说进程的通信方式。       回答有奖:  选取一位认真回答问题的牛友,赠送200牛币!   ▶回答尽量有自己的思考,不要单纯的只是复制粘贴定理定义,或者他人blog哦~   Tips.牛币兑换中心      你问我答问题汇总:点击进入   关注你问我答栏目:点击关注       你问我答 - 答问题,成大佬,拿牛币!   你问我答是牛客新栏目,每周1期几个面试中真实遇到的问题,   牛友在问题贴下留下自己的知识,经验与见解,   帮助更多牛友了解更多技术相关知识!
肖先生~:进程通信: 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程A把数据从用户空间拷到内核缓冲区,进程B再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信。 1 匿名管道通信 匿名管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。 通过匿名管道实现进程间通信的步骤如下: 父进程创建管道,得到两个⽂件描述符指向管道的两端 父进程fork出子进程,⼦进程也有两个⽂件描述符指向同⼀管道。 父进程关闭fd[0],子进程关闭fd[1],即⽗进程关闭管道读端,⼦进程关闭管道写端(因为管道只支持单向通信)。⽗进程可以往管道⾥写,⼦进程可以从管道⾥读,管道是⽤环形队列实现的,数据从写端流⼊从读端流出,这样就实现了进程间通信。 2 高级管道通信 高级管道(popen):将另一个程序当做一个新的进程在当前程序进程中启动,则它算是当前程序的子进程,这种方式我们成为高级管道方式。 3 有名管道通信 有名管道 : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。 4 消息队列通信 消息队列: 消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。 5 信号量通信 信号量: 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。 6 信号 信号 : 信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。 7 共享内存通信 共享内存( shared memory ) :共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号两,配合使用,来实现进程间的同步和通信。 8 套接字通信 套接字 : 套接口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同机器间的进程通信。
0 点赞 评论 收藏
分享
2022-02-13 03:50
已编辑
外交学院 运营
问题描述:    什么是redis缓存雪崩?该如何解决?       回答有奖:  选取一位认真回答问题的牛友,赠送200牛币!   ▶回答尽量有自己的思考,不要单纯的只是复制粘贴定理定义,或者他人blog哦~   Tips.牛币兑换中心      你问我答问题汇总:点击进入   关注你问我答栏目:点击关注       你问我答 - 答问题,成大佬,拿牛币!   你问我答是牛客新栏目,每周1期几个面试中真实遇到的问题,   牛友在问题贴下留下自己的知识,经验与见解,   帮助更多牛友了解更多技术相关知识!
肖先生~:1.1 什么是缓存雪崩: 那我们为什么要用缓存(Redis): 1、提高性能能:缓存查询是纯内存访问,而硬盘是磁盘访问,因此缓存查询速度比数据库查询速度快 2、提高并发能力:缓存分组了部分请求,支持更高的并发 现在有个问题,如果我们的缓存挂掉了,这意味着我们的全部请求都跑去数据库了。 我们都知道Redis不可能把所有的数据都缓存起来(内存昂贵且有限),所以Redis需要对数据设置过期时间,将已经过期的键值对删除,它采用的是惰性删除+定期删除两种策略对过期键删除。 如果缓存数据设置的过期时间是相同的,并且Redis恰好将这部分数据全部删光了。这就会导致在这段时间内,这些缓存同时失效,全部请求到数据库中。 这就是缓存雪崩: Redis挂掉了,请求全部走数据库。 对缓存数据设置相同的过期时间,导致某段时间内缓存失效,请求全部走数据库。 缓存雪崩如果发生了,很可能就把我们的数据库搞垮,导致整个服务瘫痪! 1.2 如何解决缓存雪崩: 对于“对缓存数据设置相同的过期时间,导致某段时间内缓存失效,请求全部走数据库。”这种情况,非常好解决: 解决方法:在缓存的时候给过期时间加上一个随机值,这样就会大幅度的减少缓存在同一时间过期。 对于“Redis挂掉了,请求全部走数据库”这种情况,我们可以有以下的思路: 事发前:实现Redis的高可用(主从架构+Sentinel 或者Redis Cluster),尽量避免Redis挂掉这种情况发生。 事发中:万一Redis真的挂了,我们可以设置本地缓存(ehcache)+限流(hystrix),尽量避免我们的数据库***掉(起码能保证我们的服务还是能正常工作的) 事发后:redis持久化,重启后自动从磁盘上加载数据,快速恢复缓存数据。
0 点赞 评论 收藏
分享
2022-02-13 03:50
已编辑
外交学院 运营
问题描述:    synchronized在jvm里面是怎么实现的?       回答有奖:  选取一位认真回答问题的牛友,赠送200牛币!   ▶回答尽量有自己的思考,不要单纯的只是复制粘贴定理定义,或者他人blog哦~   Tips.牛币兑换中心      你问我答问题汇总:点击进入   关注你问我答栏目:点击关注       你问我答 - 答问题,成大佬,拿牛币!   你问我答是牛客新栏目,每周1期几个面试中真实遇到的问题,   牛友在问题贴下留下自己的知识,经验与见解,   帮助更多牛友了解更多技术相关知识!
爱吃喵的柚子君:1、synchronized简介: synchronized 关键字解决的是多个线程之间访问资源的同步性,保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。 2、三种使用方式: 修饰实例方法: 作用于当前对象实例加锁 修饰静态方法: 也就是给当前类加锁 修饰代码块 :指定加锁对象 3、synchronize的底层: A、synchronized 同步语句块的情况: 通过 JDK 自带的 javap 命令查看,synchronized 同步语句块的实现使用的是 一个monitorenter 和 两个monitorexit 指令,其中 monitorenter 指令指向同步代码块的开始位置,monitorexit 指令则指明同步代码块的结束位置。(通俗理解就是获取 对象监视器 monitor 的持有权) B、synchronized 修饰方法的的情况: synchronized 修饰的方法并没有 monitorenter 指令和 monitorexit 指令,取得代之的确实是 ACC_SYNCHRONIZED 标识,该标识指明了该方法是一个同步方法 4、总结:两者的本质都是对对象监视器 monitor 的获取。查看图片
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务