首页 文章 精选 留言 我的

精选列表

搜索[SpringBoot4],共10000篇文章
优秀的个人博客,低调大师

4 月市场数据发布:Windows 整体下跌,Edge 稳坐第二

调研机构 NetMarketShare发布了2020 年四月的最新数据,包括各类操作系统和浏览器的市场份额。 四月份 Windows 的市场份额均有所下降。其中 Windows 10 市占率跌幅最严重,由三月份的 57.34% 降至 56.08%,下降幅度超过 1%。自今年一月 Windows 7 退役以来,Windows 10 的市场份额一直保持在 57% 以上,并呈小范围浮动,而此次直接跌出了 57%,甚至掉到 56% 的边缘。 上月市场占有率增加了 1% 的 Windows 7 也有所回落,由 26.23% 变成 25.59%。 从去年十二月以来市场份额逐月上涨的 Windows 8.1 则一夜跌回解放前,四月市占率 3.28%,还不到去年十二月的水平(3.31%)。 浏览器方面,上一个月经历了历史性的变化后,四月份市场份额趋于稳定,变化幅度不大。 Microsoft Edge 浏览器的市场份额(7.59%)在三月份首度赶超 Firefox(7.19%)。四月两者数据都有所上涨,Edge 仍以 7.76% 的市场占有率高于 Firefox 的 7.25%,同时稍微拉大了两者间的差距(0.4%→0.51%)。以此趋势来看,Edge 还将继续稳坐浏览器第二的位置。 经过连续几个月的小幅度增长,Chrome 在四月份的市场占有率达到了一年以来的最高值 69.18%,仍然是月度涨幅最大的浏览器。 位列第四的 Internet Explorer 则仍在暴跌中,市占率由 5.87% 下降至 5.45%,流失的用户也许都转战了 Edge。

优秀的个人博客,低调大师

研发面经:3轮面试,远程面试4天拿到的offer!

马上快到金三银四都春招阶段了,在这本就是跳槽、找工作的年后黄金时间,大多数求职者都早早做好年后求职的准备,其中不乏有年前早早辞了工作准备年后跳槽的有经验的职场老人们,也有一批即将毕业的应届毕业生的职场新人们。 但是受此次“新冠肺炎”疫情影响之后,“金三银四”逐渐演变成千军万马过独木桥,一边是摩拳擦掌有经验的职场老人们,而另一边则是即将毕业跃跃欲试的新鲜血液,只会让求职人才们越积越多,面对这样岗位少求职者多的情况下,竞争力可想而知,再加上企业的招聘计划调整,侧面也是加剧了求职的难度。 当然也有少部分公司现在也已经开始了远程面试,对于才能怎样拿到腾讯、阿里、字节跳动等大厂的offer,我问了一些在大厂工作的朋友。 大概总结一下,技术基础扎实是通过一、二面的首要条件,但是接下来的三四面就不是这么一帆风顺。 由于一些程序员们只重视技术,而在工作经验、项目经验等等方面有所欠缺。而在职业发展方面,你需要得到他人的帮助,学会“站在巨人的肩膀上。” 比如说通过系统性课程的学习和有丰富项目经验的导师辅导,从工具、思维、方法论、逻辑等双管齐下,才能离想要的offer更进一步。 在这里我分享一份我们整理的《BAT大牛解密Android面试》视频解析,为你精准剖析各大厂本次春招的关键点。包含项目构建相关面试专题。 需要的小伙伴可以直接++++维信(壹叁贰零叁壹陆叁陆零玖 就可以获取了)

优秀的个人博客,低调大师

面试题:4个zookeeper的应用场景,你知道几个?

前言 现在聊的 topic 是分布式系统,面试官跟你聊完了 dubbo 相关的一些问题之后,已经确认你对分布式服务框架/RPC框架基本都有一些认知了。那么他可能开始要跟你聊分布式相关的其它问题了。分布式锁这个东西,很常用的,你做 Java 系统开发,分布式系统,可能会有一些场景会用到。最常用的分布式锁就是基于 zookeeper 来实现的。其实说实话,问这个问题,一般就是看看你是否了解 zookeeper,因为 zookeeper 是分布式系统中很常见的一个基础系统。而且问的话常问的就是说 zookeeper 的使用场景是什么?看你知道不知道一些基本的使用场景。但是其实 zookeeper 挖深了自然是可以问的很深很深的。 面试题剖析 大致来说,zookeeper 的使用场景如下,我就举几个简单的,大家能说几个就好了:分布式协调分布式锁元数据/配置信息管理HA高可用性 分布式协调 这个其实是 zookeeper 很经典的一个用法,简单来说,就好比,你 A 系统发送个请求到 mq,然后 B 系统消息消费之后处理了。那 A 系统如何知道 B 系统的处理结果?用 zookeeper 就可以实现分布式系统之间的协调工作。A 系统发送请求之后可以在 zookeeper 上对某个节点的值注册个监听器,一旦 B 系统处理完了就修改 zookeeper 那个节点的值,A 系统立马就可以收到通知,完美解决。 分布式锁 举个栗子。对某一个数据连续发出两个修改操作,两台机器同时收到了请求,但是只能一台机器先执行完另外一个机器再执行。那么此时就可以使用 zookeeper 分布式锁,一个机器接收到了请求之后先获取 zookeeper 上的一把分布式锁,就是可以去创建一个 znode,接着执行操作;然后另外一个机器也尝试去创建那个 znode,结果发现自己创建不了,因为被别人创建了,那只能等着,等第一个机器执行完了自己再执行。欢迎大家关注我的公种浩【程序员追风】,文章都会在里面更新,整理的资料也会放在里面。 元数据/配置信息管理 zookeeper 可以用作很多系统的配置信息的管理,比如 kafka、storm 等等很多分布式系统都会选用 zookeeper 来做一些元数据、配置信息的管理,包括 dubbo 注册中心不也支持 zookeeper 么? HA高可用性 这个应该是很常见的,比如 hadoop、hdfs、yarn 等很多大数据系统,都选择基于 zookeeper 来开发 HA 高可用机制,就是一个重要进程一般会做主备两个,主进程挂了立马通过 zookeeper 感知到切换到备用进程。 最后 欢迎大家一起交流,喜欢文章记得关注我点赞转发哟!

优秀的个人博客,低调大师

MySQL的4种事务隔离级别你还不清楚吗?

前言 现在想把数据库这块整理出来,尽量用最简洁的语言描述出来,供新人参考。 首先创建一个表 account。创建表的过程略过(由于 InnoDB 存储引擎支持事务,所以将表的存储引擎设置为 InnoDB)。表的结构如下: 然后往表中插入两条数据,插入后结果如下: 为了说明问题,我们打开两个控制台分别进行登录来模拟两个用户(暂且成为用户 A 和用户 B 吧),并设置当前 MySQL 会话的事务隔离级别。 一. read uncommitted(读取未提交数据) 具体用户 A 的操作如下: set session transaction isolation level read uncommitted; start transaction; select * from account; 结果如下: 用户 B 的操作如下: set session transaction isolation level read uncommitted; start transaction; update account set account=account+200 where id = 1; 随后我们在 A 用户中查询数据,结果如下: 结论一我们将事务隔离级别设置为 read uncommitted,即便是事务没有 commit,但是我们仍然能读到未提交的数据,这是所有隔离级别中最低的一种那么这么做有什么问题吗?那就是我们在一个事务中可以随随便便读取到其他事务未提交的数据,这还是比较麻烦的,我们叫脏读。我不知道这个名字是怎么起的,为了增强大家的印象,可以这么想,这个事务好轻浮啊,饥渴到连别人没提交的东西都等不及,真脏,呸!实际上我们的数据改变了吗?答案是否定的,因为只有事务 commit 后才会更新到数据库。 二. read committed(可以读取其他事务提交的数据)--- 大多数数据库默认的隔离级别 同样的办法,我们将用户 B 所在的会话当前事务隔离级别设置为 read commited。在用户 A 所在的会话中我们执行下面操作:update account set account=account-200 where id=1; 我们将 id=1 的用户 account 减 200。然后查询,发现 id=1 的用户 account 变为 800。在 B 用户所在的会话中查询: select * from account; 结果如下: 我们会发现数据并没有变,还是 1000。接着在会话 A 中我们将事务提交: commit; 在会话 B 中查询结果如下: 结论二:当我们将当前会话的隔离级别设置为 read committed 的时候,当前会话只能读取到其他事务提交的数据,未提交的数据读不到。那么这么做有什么问题吗?那就是我们在会话 B 同一个事务中,读取到两次不同的结果。这就造成了不可重复读,就是两次读取的结果不同。这种现象叫不可重复读。 三. repeatable read(可重读)---MySQL 默认的隔离级别 现在有个需求,就是老板说在同一个事务中查询结果必须保持一致,如果你是数据库,你会怎么做?数据库是这么做的。在会话 B 中我们当前事务隔离级别为 repeatable read。具体操作如下: set session transaction isolation level repeatable read; start transaction; 接着在会话 B 中查询数据: 我们在 A 用户所在会话中为表 account 添加一条数据: insert into account(id,account) value(3,1000); commit; 然后我们查询看数据插入是否成功: 回到 B 用户所在的会话,我们查询结果: 用户 B 在他所在的会话中想插入一条新数据 id=3,value=1000。来我们操作下: 什么?竟然插不进去,说我数据重复?用户 B 当然不服啊,因为查询到数据只有两条啊,为什么插入 id=3 说我数据重复了呢?我再看一遍,莫非我眼花了? 试想一下,在实际中用户 A 和用户 B 肯定是相互隔离的,彼此不知道操作什么。用户 B 碰到这种现象,肯定会炸毛的啊,明明不存在的数据,插入却说主键 id=3 数据重复了。结论三:当我们将当前会话的隔离级别设置为 repeatable read 的时候,当前会话可以重复读,就是每次读取的结果集都相同,而不管其他事务有没有提交。有什么问题吗?管他呢,老板的要求满足了。要一个事务中读取的数据一致(可重复读)。我只能这么做啊,打肿脸装胖子。数据已经发生改变,但是我还是要保持一致。但是,出现了用户 B 面对的问题,这种现象叫幻读(记得当时就在这个地方纠结好久,到底什么是幻读啊)。 四. serializable(串行化) 同样,我们将用户 B 所在的会话的事务隔离级别设置为 serializable 并开启事务。 set session transaction isolation level serializable; start transaction; 在用户 B 所在的会话中我们执行下面操作: select * from account; 结果如下: 那我们这个时候在用户 A 所在的会话中写数据呢? 我们发现用户 A 所在的会话陷入等待,如果超时(这个时间可以进行配置),会出现 Lock wait time out 提示: 如果在等待期间我们用户 B 所在的会话事务提交,那么用户 A 所在的事务的写操作将提示操作成功。结论四:当我们将当前会话的隔离级别设置为 serializable 的时候,其他会话对该表的写操作将被挂起。可以看到,这是隔离级别中最严格的,但是这样做势必对性能造成影响。所以在实际的选用上,我们要根据当前具体的情况选用合适的。

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册