Java分布式
Bertha wang
这个作者很懒,什么都没留下…
展开
-
消息中间件介绍
题目为什么使用消息队列?消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?消息中间件各种面试题:消息中间件面试题:消息丢失怎么办?消息中间件面试题:消息队列的优缺点,区别消息中间件面试题:消息中间件的高可用消息中间件面试题:如何保证消息的顺序性消息中间件面试题:如何保证消息不被重复消费消息中间件面试题:如...原创 2020-01-14 17:24:06 · 184 阅读 · 0 评论 -
SpringMVC详解(三)------基于注解的入门实例
目录1、在 web.xml 文件中配置前端处理器2、在 springmvc.xml 文件中配置处理器映射器,处理器适配器,视图解析器3、编写 Handler4、编写 视图 index.jsp5、在浏览器中输入:http://localhost:8080/SpringMVC_03/hello前两篇博客我们讲解了基于XML 的入门实例,以及SpringMVC运行的详细流程。但是我们发现基于...原创 2019-10-31 13:42:02 · 146 阅读 · 0 评论 -
SpringMVC讲解(二)------详细架构
目录1、SpringMVC 详细介绍2、SpringMVC 处理请求流程3、配置前端控制器4、配置处理器适配器5、编写 Handler5、配置处理器映射器6、配置视图解析器7、DispatcherServlet.properties通过这篇博客我们详细讲解一下SpringMVC 编写的好处1、SpringMVC 详细介绍通过入门实例,我们大概知道 SpringMVC 的作用,...原创 2019-10-31 12:03:37 · 182 阅读 · 0 评论 -
Spring中ioc的实现原理
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC 、DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解。一.对Ioc的分析1.1、IoC是什么 Ioc—Inversion of Control,...原创 2019-10-29 10:27:34 · 158 阅读 · 0 评论 -
微服务架构
今日总结了一下关于微服务架构的知识目录如下一、微服务架构介绍二、出现和发展三、传统开发模式和微服务的区别四、微服务的具体特征五、SOA和微服务的区别六、如何具体实践微服务七、常见的微服务设计模式和应用八、微服务的优点和缺点九、思考:意识的转变一、微服务架构介绍微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中...原创 2019-10-24 16:34:51 · 244 阅读 · 1 评论 -
Redis系列二:redis集群高可用
Redis集群的概念: RedisCluster是redis的分布式解决方案,在3.0版本后推出的方案,有效地解决了Redis分布式的需求,当一个服务挂了可以快速的切换到另外一个服务,当遇到单机内存、并发等瓶颈时,可使用此方案来解决这些问题一、分布式数据库概念分布式数据库把整个数据按分区规则映射到多个节点,即把数据划分到多个节点上,每个节点负责整体数据的一个子集。比如我们库有900条用...原创 2019-10-22 16:23:43 · 194 阅读 · 0 评论 -
Redis系列一:redis主从复制和哨兵
一、Redis主从复制主从复制:主节点负责写数据,从节点负责读数据,主节点定期把数据同步到从节点保证数据的一致性1. 主从复制的相关操作a,配置主从复制方式一、新增redis6380.conf, 加入 slaveof 192.168.152.128 6379, 在6379启动完后再启6380,完成配置;****b,配置主从复制方式二、redis-server --slaveof 192.1...原创 2019-10-22 15:26:25 · 154 阅读 · 0 评论 -
线程池ThreadPoolExecutor实现原理
为什么要使用线程池在实际使用中,线程是很占用系统资源的,如果对线程管理不善很容易导致系统问题。因此,在大多数并发框架中都会使用线程池来管理线程,使用线程池管理线程主要有如下好处:降低资源消耗。通过复用已存在的线程和降低线程关闭的次数来尽可能降低系统性能损耗;提升系统响应速度。通过复用线程,省去创建线程的过程,因此整体上提升了系统的响应速度;提高线程的可管理性。线程是稀缺资源,如果无限制...原创 2019-10-17 14:47:12 · 158 阅读 · 0 评论 -
Java多线程-工具篇-BlockingQueue
前言: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。认识BlockingQueue阻塞队列,顾名思义,首先它是一个队列,而一个队列在数据结构中所起...原创 2019-10-16 10:09:52 · 130 阅读 · 0 评论 -
JAVA面试题合集 JAVA面试题
分布式数据库面试专题系列:分布式通讯面试专题系列:分布式限流面试专题系列:常见算法面试题:开发框架面试题:面试扩充:面试经验:BAT面试常问:性能优化面试题:想获取面试题集和更多学习资料可以扫描下方二维码或点击链接对标阿里P6架构师...原创 2019-10-15 11:45:19 · 471 阅读 · 0 评论 -
JAVA多线程CountDownLatch使用详解
前序:上周测试给开发的同事所开发的模块提出了一个bug,并且还是偶现。经过仔细查看代码,发现是在业务中启用了多线程,2个线程同时跑,但是新启动的2个线程必须保证一个完成之后另一个再继续运行,才能消除bug。什么时候用?多线程是在很多地方都会用到的,但是我们如果想要实现在某个特定的线程运行完之后,再启动另外一个线程呢,这个时候CountDownLatch就可以派上用场了怎么用?先看看普通...原创 2019-10-11 13:15:04 · 182 阅读 · 0 评论 -
高并发架构面试题之缓存(三)
面试题4.redis 的过期策略都有哪些?内存淘汰机制都有哪些?手写一下 LRU 代码实现?面试官心理分析如果你连这个问题都不知道,上来就懵了,回答不出来,那线上你写代码的时候,想当然的认为写进 redis 的数据就一定会存在,后面导致系统各种 bug,谁来负责?常见的有两个问题:往 redis 写入的数据怎么没了?可能有同学会遇到,在生产环境的 redis 经常会丢掉一些数据,写进去...原创 2019-09-27 14:40:57 · 215 阅读 · 0 评论 -
Java 最常见19个模块面试题—第十二块答案
Java 最常见19个模块面试题—第十二块答案十二、Hibernate1. 为什么要使用 hibernate?对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。hibernate...原创 2019-09-18 11:07:45 · 175 阅读 · 0 评论 -
Java 最常见19个模块面试题—第十三块答案
Java 最常见19个模块面试题—第十三块答案十三、Mybatis1. mybatis 中 #{}和 ${}的区别是什么?#{}是预编译处理,KaTeX parse error: Expected 'EOF', got '#' at position 21: …串替换;Mybatis在处理#̲{}时,会将sql中的#{}替…{}时,就是把${}替换成变量的值;使用#{}可以有效的防止SQ...原创 2019-09-18 11:29:57 · 218 阅读 · 1 评论 -
Java 最常见19个模块面试题—第十五块答案
第十五块答案十五、Kafka1. kafka 可以脱离 zookeeper 单独使用吗?为什么?kafka 不能脱离 zookeeper 单独使用,因为 kafka 使用 zookeeper 管理和协调 kafka 的节点服务器。2. kafka 有几种数据保留的策略?kafka 有两种数据保存策略:按照过期时间保留和按照存储的消息大小保留。3. kafka 同时设置了 7 天和 10...原创 2019-09-18 14:50:09 · 148 阅读 · 0 评论 -
Java 最常见19个模块面试题—第十六,第十七块答案
第十六,第十七块答案十六、Zookeeper1. zookeeper 是什么?zookeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 google chubby 的开源实现,是 hadoop 和 hbase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。2. zookeeper 都有哪些功能?集群管理:监...原创 2019-09-19 13:30:56 · 239 阅读 · 0 评论 -
Java 最常见19个模块面试题—第十八块答案
第十八,第十九块答案十八、Redis1. redis 是什么?都有哪些使用场景?Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis 使用场景:数据高并发的读写海量数据的读写对扩展性要求高的数据2. redis 有哪些功能?数据缓存功能分布式锁的功能支持数据持久化支持事务支持消...原创 2019-09-19 14:46:46 · 174 阅读 · 0 评论 -
Java 最常见19个模块面试题—第十九块答案
第十九块答案十九、JVM1. 说一下 jvm 的主要组成部分?及其作用?类加载器(ClassLoader)运行时数据区(Runtime Data Area)执行引擎(Execution Engine)本地库接口(Native Interface)组件的作用: 首先通过类加载器(ClassLoader)会把 Java 代码转换成字节码,运行时数据区(Runtime Data Area)...原创 2019-09-20 11:15:58 · 224 阅读 · 0 评论 -
高并发面试题系类---如何保证消息消费的幂等性?
面试题如何保证消息不被重复消费?或者说,如何保证消息消费的幂等性?面试官心理分析其实这是很常见的一个问题,这俩问题基本可以连起来问。既然是消费消息,那肯定要考虑会不会重复消费?能不能避免重复消费?或者重复消费了也别造成系统异常可以吗?这个是 MQ 领域的基本问题,其实本质上还是问你使用消息队列如何保证幂等性,这个是你架构里要考虑的一个问题。面试题剖析回答这个问题,首先别听到重复消息这个事...原创 2019-09-24 11:17:24 · 347 阅读 · 0 评论 -
高并发架构面试题之缓存(一)
面试题项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?面试官心理分析这个问题,互联网公司必问,要是一个人连缓存都不太清楚,那确实比较尴尬。只要问到缓存,上来第一个问题,肯定是先问问你项目哪里用了缓存?为啥要用?不用行不行?如果用了以后可能会有什么不良的后果?这就是看看你对缓存这个东西背后有没有思考,如果你就是傻乎乎的瞎用,没法给面试官一个合理的解答,那面试官对你印象肯...原创 2019-09-26 17:15:58 · 210 阅读 · 0 评论 -
高并发架构面试题之缓存(二)
面试题2.redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发?面试官心理分析这个是问 redis 的时候,最基本的问题吧,redis 最基本的一个内部原理和特点,就是 redis 实际上是个单线程工作模型,你要是这个都不知道,那后面玩儿 redis 的时候,出了问题岂不是什么都不知道?还有可能面试官会问问你 redis 和...原创 2019-09-27 13:51:58 · 181 阅读 · 0 评论 -
Java 最常见19个模块面试题—第十一块答案
Java 最常见19个模块面试题—第十一块答案十一、Spring Boot / Spring Cloud1. 什么是 spring boot?在Spring框架这个大家族中,产生了很多衍生框架,比如 Spring、SpringMvc框架等,Spring的核心内容在于控制反转(IOC)和依赖注入(DI),所谓控制反转并非是一种技术,而是一种思想,在操作方面是指在spring配置文件中创建,依赖...原创 2019-09-17 12:48:30 · 261 阅读 · 0 评论