架构
文章平均质量分 64
马小稚
以己经验扫除尘埃,只为当一次农夫
展开
-
Java并发编程(实战):如何解决可见性和有序性问题
Java 内存模型这个概念,在职场的很多面试中都会考核到,是一个热门的考点,也是一个人并发水平的具体体现。原因是当并发程序出问题时,需要一行一行地检查代码,这个时候,只有掌握 Java 内存模型,才能慧眼如炬地发现问题。 *什么是 Java 内存模型? 你已经知道,导致可见性的原因是缓存,导致有序性的原因是编译优化,那解决可见性、有序性最直接的办法就是禁用缓存和编译优化,但是这样问题虽然解决了,我们程序的性能可就堪忧了。 合理的方案应该是按需禁用缓存以及编译优化。 那么,如何做到“按需禁用”呢?对于并发程序原创 2021-06-24 13:49:25 · 73 阅读 · 0 评论 -
直呼内行!阿里大佬离职带出内网专属“高并发系统设计”学习笔记
前言 我们知道,高并发代表着大流量,高并发系统设计的魅力就在于我们能够凭借自己的聪明才智设计巧妙的方案,从而抵抗巨大流量的冲击,带给用户更好的使用体验。这些方案好似能操纵流量,让流量更加平稳得被系统中的服务和组件处理。 来做个简单的比喻吧。 从古至今,长江和黄河流域水患不断,远古时期,大禹曾拓宽河道,清除淤沙让流水更加顺畅;都江堰作为史上最成功的的治水案例之一,用引流将岷江之水分流到多个支流中,以分担水流压力;三门峡和葛洲坝通过建造水库将水引入水库先存储起来,然后再想办法把水库中的水缓缓地排出去,以此提高下原创 2021-06-22 20:41:42 · 261 阅读 · 0 评论 -
阿里面试官:使用策略模式+工厂模式干掉代码中过多的if-else
阿里面试官:使用策略模式+工厂模式干掉代码中过多的if-else ▷▷过多if-else项目背景 如果一开始就知道现在的业务需要,大部分人都不会在代码里添加过多的if-else判断的,烂代码基本都是刚开始写代码时并没有太多的需求,随着期需求不断的修改增加,开发时间也较的紧张,代码往往都是怎么快速怎么写。当然多写一个if-else比使用各种设计模式肯定来的更快速了,这也就导致项目代码慢慢变得臃肿,难以维护的主要原因。在有空闲时间的情况下就可以给以前的代码做一次手术了。先看本次未优化前的代码: @Overri原创 2021-06-22 16:20:44 · 100 阅读 · 0 评论 -
2021金三银四Java中高级面试208问 出炉啦!!!【且看且珍惜】
2021金三银四Java中高级面试208问 出炉啦!!!【且看且珍惜】 又是一年春暖过,不知大家在这个春天是否有所斩获,反正我是有了很大的收获! 工作一年从长沙一家互联网公司月薪7k,跳到武汉15k,期间也收获了几家上海和广州的互联网企业的offer,最后折中考虑了一下选择了工资不是最高,但是不是996的企业! 在这2个月,我和同事们也经历了大大小小百来个面试官,一路过关斩将,最后只有3-4个人没有能够在这本次春招中有所斩获,其他人的涨薪幅度都在5-8k之间,没有过关的几位同事也是十分懊恼,在公司中也是饱受原创 2021-06-22 15:56:09 · 122 阅读 · 0 评论 -
到手了到手了!!!【24小时不一定删】2021年最新阿里巴巴Java程序员面试指导笔记
到手了到手了!!!【24小时不一定删】2021年最新阿里巴巴Java程序员面试指导笔记 整份手册分为了七个篇章,分别是:高并发篇、分布式篇、中间件篇、数据库篇、设计模式篇、数据结构与算法篇、阿里巴巴2020全年面试题总结篇! 高并发篇 秒杀的核心思想:层层过滤 尽量将请求拦截在上游,降低下游的压力 充分利用缓存与消息队列,提高请求处理速度以及削峰填谷的作用 大型互联网应用(大数据、高并发、多样数据类型)的难点和解决方案 分布式篇 中间件篇 根据得到的文档和查询语句的相关性,对结果进行排序 数原创 2021-06-21 20:16:37 · 67 阅读 · 0 评论