- 博客(37)
- 收藏
- 关注
转载 21道最新Java面试题剖析(数据库+JVM+微服务+高并发)
前言 纵观几年来的Java面试题,你会发现每家都差不多。你仔细观察就会发现,HashMap的出现几率未免也太高了吧!连考察的知识点都一样,什么hash碰撞啊,并发问题啊!再比如JVM,无外乎考内存结构,GC算法等!因此,如果是为了面试,完全是有套路可以准备的!记住,基础再好,也架不住面试官天...
2019-09-06 22:37:00
187
转载 Redis持久化的原理及优化
作者:全菜工程师小辉 链接:https://www.cnblogs.com/mseddl/p/11465417.html?utm_source=tuicool&utm_medium=referral Redis提供了将数据定期自动持久化至硬盘的能力,包括RDB和AOF两...
2019-09-05 15:36:00
187
转载 开发人员如何解决 Spring Cloud 服务冲突和实例乱窜?
作者:zlt2000原文:https://www.cnblogs.com/zlt2000/p/11459390.html?utm_source=tuicool&utm_medium=referral 一、背景 在我们开发微服务架构系统时,虽然说每个微服务都是孤立的可以...
2019-09-04 19:59:00
319
转载 金九银十面试前必须要知道的“21道Redis面试题”
1、使用redis有哪些好处? 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1) 支持丰富数据类型,支持string,list,set,sorted set,hash 支持事务,操作都是原子性,所谓的原子性就...
2019-09-03 22:20:00
164
转载 当面试官问到:《MySQL数据库的锁机制》该如何拿分?
为什么要加锁? 问题背景 当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。 要解决的问题 多用户环境下保证数据库完整性和一致性 锁是什么 在计算...
2019-09-01 15:02:00
323
转载 《Java 编写基于 Netty 的 RPC 框架》
一 简单概念 RPC: ( Remote Procedure Call),远程调用过程,是通过网络调用远程计算机的进程中某个方法,从而获取到想要的数据,过程如同调用本地的方法一样. 阻塞IO :当阻塞I/O在调用InputStream.read()方法是阻塞的,一直等到数据到来时才返回,同...
2019-08-30 23:28:00
78
转载 安排:《蚂蚁花呗1234面:Redis+分布式架构+MySQL+linux+红黑树》
前言: 大厂面试机会难得,为了提高面试通关率,建议朋友们在面试前先复盘自己的知识栈,依据掌握程度划分重要、优先级,系统地去学习!如果不准备充分就去参加面试,既会失去进入大厂的机会,更是对自己的不负责。 蚂蚁花呗一面(一个小时): 1、Java容器有哪些?哪些是同步容器,哪些是并...
2019-08-30 15:03:00
224
转载 《用消息服务来提高微服务的可靠性》
前言: 过去,我们很容易通过:取出裸机服务器、安装所有必需的软件、添加所有应用代码、将数据加载上去的一系列流程,来部署单体应用程序(monolithic application)。由于一切组件都集中在一台服务器上,因此这种应用不但能够处理较大的流量,并且非常容易管理与部署。 然而...
2019-08-29 22:19:00
186
转载 《集群、限流、缓存 BAT 大厂无非也就是这么做的》
前言 前阵子有网友询问,如何优化网站?这个问题真的很大,跟他简单的聊了一下,随便说了几点,觉得有必要整理一篇文章出来,正好前阵子在做爬虫博客,于是把大体思路分享出来,与大家互通有无,共同进步。 优化 版本一 系统开始是这样子的,一个 Tomcat 拖着一个 MySq...
2019-08-29 14:44:00
105
转载 《Tomcat和JVM的性能调优你真的学会了吗?》总结篇
Tomcat性能调优: 找到Tomcat根目录下的conf目录,修改server.xml文件的内容。对于这部分的调优,我所了解到的就是无非设置一下Tomcat服务器的最大并发数和Tomcat初始化时创建的线程数的设置,当然还有其他一些性能调优的设置,下图是我根据我机子的性能设置的一...
2019-08-28 21:41:00
94
转载 脏读、幻读和不可重复读?为啥?
前言: 一致性是指在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。这是说数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。 例子: 对银行转帐事务,不管事务成功还是失败,应该保证事务结束后ACCOUNT表中A和B的存款总额为x元不变。 Isola...
2019-08-19 21:50:00
288
转载 《分布式设计模式—分布式事务》
作者:h-松链接:https://juejin.im/post/5d5569466fb9a06af629a9ab 分布式事务的挑战 在多个服务、数据库和消息代理之间维持数据的一致性的传统方式是采用分布式事务。分布式的事实标注是XA、XA采用了两阶段提交老保证事务中的所有参与方同时完成提...
2019-08-19 17:51:00
147
转载 MySQL高可用架构:mysql+keepalived实现
系统环境及架构 #主机名 系统版本 mysql版本 ip地址mysqlMaster <a href="https://www.linuxprobe.com/" title="centos" target="_blank">centos</a...
2019-08-16 20:47:00
105
转载 《大牛到底是如何阅读JDK源码的?》一起来学习一下
前言: 如何阅读源码,是每个程序员需要面临的一项挑战,为什么需要阅读源码?从实用性的角度来看,主要有三个目的: 第一,解决手头的新问题或者新需求; 第二,真正理解一部分理论的落地实现; 第三,应对面试。 端正心态 在准备投身到阅读源码的事业之前,首先需要端正一下心态: ...
2019-08-14 21:58:00
119
转载 并发环境下,先操作数据库还是先操作缓存?
背景 当你手中抓住一件东西不放时,你只能拥有一件东西,如果你肯放手,你就有机会选择更多。与其在别人的生活里跑龙套,不如精彩做自己。人无所舍,必无所成。跌倒了,失去了,不要紧,爬起来继续风雨兼程,且歌且行。 一、概念 事务到底是什么东西呢?想必大家学习的时候也是对事务的概念...
2019-08-12 21:45:00
116
转载 这几道Redis面试题都不懂,offer肯定与你擦肩而过
今天来分享一下Redis几道常见的面试题: 如何解决缓存雪崩? 如何解决缓存穿透? 如何保证缓存与数据库双写时一致的问题? 一、缓存雪崩 1.1什么是缓存雪崩? 回顾一下我们为什么要用缓存(Redis): 现在有个问题,如果我们的缓存挂掉了,这意味着我们的全...
2019-07-11 20:31:00
81
转载 HashMap 底层实现原理,看完面试不再懵逼。
前言: HashMap是在面试中经常会问的一点,很多时候我们仅仅只是知道HashMap他是允许键值对都是Null,并且是非线程安全的,如果在多线程的环境下使用,是很容易出现问题的。 这是我们通常在面试中会说的,但是有时候问到底层的源码分析的时候,为什么允许为Null,为什么不安全,这些问题的...
2019-07-10 21:44:00
1194
转载 果断收藏:《JVM史上最最最最全实践优化》没有之一?
1.Jvm的运行参数 在jvm中有很多的参数可以进行设置,这样可以让jvm在各种环境中都能够高效的运行。绝大部分的参数保持默认即可。 1.1 三种参数类型 jvm的参数类型分为三类,分别是 : 标准参数 : -help -versio...
2019-07-09 22:31:00
83
转载 29个你必须掌握的微服务面试问题(含答案解析)
这29个微服务面试题基本涵盖了方方面,希望对你有所帮助。 一、什么是Spring Cloud? 在微服务中,SpringCloud是一个提供与外部系统集成的系统。它是一个敏捷的框架,可以短平快构建应用程序。与有限数量的数据处理相关联,它在微服务体系结构中起着非常重要的作用。 以下为...
2019-07-08 22:02:00
676
转载 《MySQL重要知识点及面试总结》:推荐收藏
作者:Snailclimb链接:https://segmentfault.com/a/1190000019619667?utm_source=tuicool&utm_medium=referral 前言: 这篇花文章是我花了几天时间对之前总结的MySQL知识点做了完善...
2019-07-05 20:19:00
692
转载 10分钟详解Spring全家桶“7大知识点”
Spring框架自诞生以来一直备受开发者青睐,有人亲切的称之为:Spring 全家桶。它包括SpringMVC、SpringBoot、Spring Cloud、Spring Cloud Dataflow等解决方案。 很多研发人员把spring看作心目中最好的java项目,没有之一。 所以这...
2019-07-04 21:42:00
104
转载 Spring Cloud 微服务系统 - 分布式食物解决方案
一、微服务系统最大的挑战 数据的并发访问、修改 不同请求之间的数据隔离 多个服务共同完成一个业务请求,保证都完成或者失败 发生异常时的数据回滚 二、事务 事务 本地事务的原则,实现原理 Spring事务 - Spring事务机制、事务抽象- 内部事务,...
2019-07-02 21:31:00
131
转载 分布式事务解决方案
将一个整体模块拆分为多个微服务,某些业务场景需要同时操作多个原子服务的数据,分布式事务就是用来保证多个原子服务数据源一致性的解决方案。 分布式事务产生的原因? 数据库分库分表:由于单表的数据量巨大需要分库分表,分库分表之后,此时一个操作可能涉及访问多个数据库,为了保证数据一致性,就需要用...
2019-06-29 14:30:00
217
转载 高性能网站实用技巧之消息队列
什么是消息队列? 消息队列(Message Queue)是一种进程间通信或同一进程的不同线程间的通信方式。进程或者线程之间通过消息进行通信,消息发送后可以立即返回,由消息系统来确保信息的可靠传递,消息发布者(生产者)只管把消息发布到消息队里中而不用管谁来消费,消息使用者(消费者...
2019-06-28 21:45:00
152
转载 高并发下为什么更喜欢进程内缓存
进程内缓存是指缓存和应用程序在相同地址空间。即同一个进程内。分布式缓存是指缓存和应用程序位于不同进程的缓存,通常部署在不同服务器上。 从前有个机构,机构的主人叫做 CPU,这个机构专门派仆人取一些东西然后做相应的处理。下面是这个机构日常的场景。 CPU:赶紧去我的仓库L1缓存取点东西...
2019-06-28 14:51:00
80
转载 你还在用if-else吗?
作者:蜗蜗小小牛 链接:https://www.cnblogs.com/perryzjl/p/11097106.html 使用spring容器干掉if-else 场景说明 最近新做一个项目,需要对不同店铺的商品做不同处理。例如storeA需要进行handleA操...
2019-06-27 22:02:00
118
转载 Java线程安全策略与多线程并发最佳实践
线程安全策略 不可变对象 不可变对象(Immutable Objects)是指对象一旦被创建它的状态(对象的数据,也即对象属性值)就不能改变,任何对它的改变都应该产生一个新的对象。 不可变对象需要满足的条件: 对象创建以后其状态就不能修改 对象所有域都是final...
2019-06-26 21:43:00
153
转载 没有预热,这不叫高并发,叫并发高
作者:小姐姐味道 链接:https://juejin.im/post/5d10c21ee51d4576bc1a0e26 前言: 大家都知道,高并发系统有三把斧子:缓存、熔断和限流。但还有一把斧子,经常被遗忘在角落里,郁郁不得志,那就是预热。 现象举例 先说两...
2019-06-26 14:52:00
323
转载 下篇:《JDK8下的HashMap有什么特别之处?》
一、前言 上篇认真的分析了在JDK7下的HashMap, 如果还没看过的或者忘记了的可以先去回顾下,这样可以更好的了解JDK8下的HashMap基于JDK7做了什么改动。分析JDK8下的HashMap 主要是因为JDK8在目前使用已成主流,且其在某些性能程度远远大于JDK7。下面...
2019-06-25 16:12:00
61
转载 上篇:《对于HashMap,你知道多少?》
阅读目录 一、前言 二、源码解读 三、并发场景中使用HashMap会怎么样? 四、怎样合理使用HashMap? 一、前言 HashMap在面试中是个火热的话题,那么你能应付自如吗?下面抛出几个问题看你是否知道,如果知道那么本文对于你来说就不值一提了。 ...
2019-06-25 15:55:00
84
转载 《软件架构的10个常见模式》,看完真心觉得不错
作者:半吊子全栈工匠原文链接:https://blog.csdn.net/wireless_com/article/details/89008061 企业规模的软件系统该如何设计呢?在开始写代码之前,我们需要选择一个合适的架构,这个架构将决定软件实施过程中的功能属性和质量属性。...
2019-06-24 20:34:00
120
转载 跟我来见证:《Kafka如何实现每秒上百万的高并发写入?》
本文来聊一下Kafka的一些架构设计原理,这也是互联网公司面试时非常高频的技术考点。 Kafka是高吞吐低延迟的高并发、高性能的消息中间件,在大数据领域有极为广泛的运用。配置良好的Kafka集群甚至可以做到每秒几十万、上百万的超高并发写入。 那么Kafka到底是如何做到这么高的...
2019-06-24 19:50:00
104
转载 所以说这才是Redis进化史吗?看Redis是如何变成最强缓存的
写在前面:笔者翻阅了很多资料,只能找到Redis2.2及以后的主要版本的发布日志。所以,让我们从2.2开始一步一步深入了解Redis。 2.2 redis-cli命令非常大的改进: Tab补全,支持help(例如help SET、help BITCOUNT),原生输出,并...
2019-06-19 22:09:00
107
转载 值得收藏:《这 6 种实现负载均衡技术的方式不容错过》
负载均衡(Load Balance)是集群技术(Cluster)的一种应用,可以将工作任务分摊到多个处理单元,从而提高并发处理能力,有利于提升中大型网站的性能。接下来小编就为大家介绍6种实现负载均衡技术的方式: 1. http重定向协议实现负载均衡 根据用户的http请求计算...
2019-06-19 15:53:00
60
转载 Dubbo 一些你不一定知道但是很好用的功能
原文:https://mp.weixin.qq.com/s/peBTzuAX5d1UtXc0sYkTtg dubbo功能非常完善,很多时候我们不需要重复造轮子,下面列举一些你不一定知道,但是很好用的功能; 直连Provider 在开发及测试环境下,可能需要绕过注册中心,只测试...
2019-06-12 21:25:00
110
转载 JVM发生CMS GC的 5 种情况,你知道的肯定不全!
经常有同学会问,为啥我的应用 Old Gen 的使用占比没达到 CMSInitiatingOccupancyFraction 参数配置的阈值,就触发了 CMS GC,表示很莫名奇妙,不知道问题出在哪? 其实 CMS GC 的触发条件非常多,不只是 CMSInitiatingOccupan...
2019-06-12 17:51:00
648
转载 看一眼就能懂的“分布式锁”原理
作者:贾俊江 原文:https://mp.weixin.qq.com/s/gQfkOkR80MdtoTBP8hep6w 分布式锁和我们平常讲到的锁原理基本一样,目的就是确保在多个线程并发时,只有一个线程在同一刻操作这个业务或者说方法、变量。 在一个进程中,也就是一个 JV...
2019-06-10 22:25:00
563
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人