自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

90度先生

探索互联网技术对人类生活的改变

  • 博客(23)
  • 收藏
  • 关注

原创 Dubbo用途

它提供了一整套服务治理的解决方案,包括服务调用、服务注册与发现、负载均衡、容错与熔断、路由策略等功能。负载均衡器(Load Balancer):在多个服务提供者之间进行负载均衡,提高服务的可用性。注册中心(Registry):负责维护服务提供者和消费者的信息,实现服务的注册和发现。监控中心(Monitor):负责收集服务调用的统计信息,提供服务治理和运维支持。服务提供者(Provider):负责暴露服务接口,提供服务实现。服务消费者(Consumer):负责发起远程调用,消费服务。

2023-05-05 22:46:07 330

原创 zookeeper分布式系统的用途

分布式协调:ZooKeeper 提供原子性广播(Atomic Broadcast)功能,可以协调分布式系统中节点间的动作,例如选举、同步等。总之,ZooKeeper 提供了一套简单、高效的分布式协调解决方案,能够应对分布式系统中的众多挑战,提高系统的可靠性和稳定性。集群管理:ZooKeeper 可以监控分布式系统中各个节点的状态,实现集群成员的自动管理,包括故障检测、成员变更通知等功能。数据一致性:ZooKeeper 保证数据的一致性,确保分布式系统中的各个节点可以访问到相同的数据。

2023-05-05 22:44:20 183

原创 常用垃圾回收器有哪些?为什么?

Concurrent Mark-Sweep(CMS)收集器:这是一个并发的垃圾回收器,适用于对延迟敏感的应用程序,如网站后台服务、交互式应用等。CMS收集器的目标是减少垃圾回收引起的应用程序线程暂停时间。Garbage First(G1)收集器:这是一个面向区域的垃圾回收器,适用于具有大内存容量的服务器应用程序。在选择垃圾回收器时,请根据应用程序的需求和运行环境选择最适合的垃圾回收器。在Java 9及以后的版本中,G1收集器成为了默认的垃圾回收器,因为它在各种场景下的表现都相对较好。

2023-05-05 17:38:03 239

原创 垃圾回收器有哪些

与其他垃圾回收器相比,Shenandoah在回收垃圾时,大部分工作与应用程序线程并发执行,从而减少暂停时间。Parallel(又称为Throughput)收集器:这是一个并行的垃圾回收器,适用于具有多个CPU核心的服务器应用程序。不过,它在进行垃圾回收时仍然会导致应用程序线程暂停。Concurrent Mark-Sweep(CMS)收集器:这是一个并发的垃圾回收器,适用于对延迟敏感的应用程序。Garbage First(G1)收集器:这是一个面向区域的垃圾回收器,适用于具有大内存容量的服务器应用程序。

2023-05-05 17:36:38 223

原创 JVM性能调优

例如,对于需要低延迟的应用程序,可以选择CMS或G1垃圾回收器。监控和分析JVM性能:使用诸如VisualVM、Java Mission Control(JMC)、GCViewer等工具,监控和分析JVM的性能指标,如内存使用情况、垃圾回收时间、线程状态等。例如,可以调整年轻代(Young Generation)和老年代(Old Generation)的比例,设置合适的晋升阈值,调整并发回收线程数等。优化Java代码:通过优化Java代码,减少对象创建和内存分配,避免使用大量临时对象,减轻垃圾回收的压力。

2023-05-05 16:13:09 130

原创 JVM实现原理

类加载器(Class Loader):JVM中负责将Java字节码加载到内存中的组件。类加载器会读取Java类的.class文件,将其加载到内存中,并为之生成一个java.lang.Class类的实例。本地接口库(Java Native Interface,JNI):允许Java代码调用其他编程语言(如C和C++)实现的本地方法。运行时数据区(Runtime Data Area):JVM将内存划分为若干个运行时数据区域,以存储Java程序运行过程中产生的数据。

2023-05-05 15:26:14 161

原创 springboot的自动装配原理

自动配置类通常是基于条件注解(如@ConditionalOnClass、@ConditionalOnProperty等)来实现的,这些注解会检查特定的条件(例如类路径上是否存在某个类、配置文件中是否定义了某个属性等),如果条件满足,则执行对应的自动配置逻辑。总之,Spring Boot的自动装配原理是通过组件扫描、自动配置和SPI机制来实现的。配置顺序:Spring Boot在自动配置过程中,会根据预定义的顺序来应用各个自动配置类。文件,这个文件定义了一系列的自动配置类。文件,并加载其中定义的自动配置类。

2023-05-04 23:26:41 212

原创 Java面试题

2、Java合并两份Excel数据,有一百万的数据,要求先导入数据库,再合并导出,怎么处理?3、Redis数据如何跟数据库同步,保持一致性。1、Java的加密,除了MD5,您还用过哪些?4、Redis锁机制,用什么命令实现?6、Kafka的幂等问题,如何处理?5、Kafka数据堆积,怎么处理?

2023-05-04 16:50:00 229

原创 RabbitMq消息中间件如何理解削峰,根据业务场景进行阐述?

这样可以实现异步处理,提高系统的响应速度。消费者可以设置每次处理的消息数量和处理速度,从而避免在高峰期因过多的并发请求而导致系统崩溃。当系统的处理能力无法满足高峰期的请求时,消息队列可以暂时存储这些消息,等待消费者有空闲资源时再进行处理。在高并发的业务场景中,RabbitMQ 可以帮助实现削峰,即在流量高峰期缓解后端服务的压力。在高峰期,即使订单处理系统无法立即处理所有请求,消息队列也可以确保请求不会丢失。此外,我们还可以在消费者端设置限流控制,以确保订单处理系统在高峰期不会因为过多的并发请求而崩溃。

2023-04-28 11:51:26 1396

原创 什么是分布式系统?包括哪些部分?

中间件(Middleware):位于分布式系统的各个节点之间的软件组件,用于简化节点之间的通信和协作。常见的分布式中间件包括消息队列(如 Kafka、RabbitMQ)、服务发现(如 Consul、ZooKeeper)和负载均衡器(如 HAProxy、Nginx)等。数据存储(Data Storage):分布式系统中用于存储数据的组件,可以包括分布式数据库(如 Cassandra、Couchbase)、分布式文件系统(如 HDFS、GlusterFS)和分布式缓存(如 Redis、Memcached)等。

2023-04-28 10:35:45 1088

原创 分布式系统的CAP理论

请注意,CAP 理论指出,在分布式系统中,一致性(C)、可用性(A)和分区容错性(P)这三个特性无法同时满足。然而,我们可以考虑一些在单一数据中心或局域网中部署的系统,它们可能在某种程度上实现了一致性和可用性,但没有面临严重的分区容错性挑战。CAP 理论是分布式系统领域的一个基本原理,它指出在一个分布式系统中,一致性(Consistency,C)、可用性(Availability,A)和分区容错性(Partition tolerance,P)这三个核心特性无法同时满足。

2023-04-28 10:12:41 123

转载 消息队列之 RabbitMQ

关于消息队列,从前年开始断断续续看了些资料,想写很久了,但一直没腾出空,近来分别碰到几个朋友聊这块的技术选型,是时候把这块的知识整理记录一下了。市面上的消息队列产品有很多,比如老牌的 ActiveMQ、RabbitMQ ,目前我看最火的 Kafka ,还有 ZeroMQ ,去年底阿里巴巴捐赠给 Apache 的 RocketMQ ,连 redis 这样的 NoSQL 数据库也支持 MQ 功能。总之...

2018-04-04 18:04:35 115

转载 Reids监控RedisLive安装教程

1. 概述Redis Live是一个用来监控redis实例,分析查询语句并且有web界面的监控工具,使用python编写。本文编写时使用环境为Centos 64位系统。2. 安装python环境RedisLive使用python编写,运行时需要python环境支持yum install python-setuptoolseasy_install pippip install tornadopip ...

2018-04-03 23:29:06 151

转载 beanstalkd介绍

最近在做一个项目,需要用户在提交相关信息后,分析信息内容,然后将分析结果推送到相关的用户的信息模块中,用到了beanstalk这个队列系统。beanstalkd介绍:Beanstalkd,一个高性能、轻量级的分布式内存队列系统,最初设计的目的是想通过后台异步执行耗时的任务来降低高容量Web应用系统的页面访问延迟,支持过有9.5 million用户的Facebook Causes应用。后来开源,现在...

2018-03-30 13:12:20 381

转载 Beanstalkd一个高性能分布式内存队列系统

之前在微博上调查过大家正在使用的分布式内存队列系统,反馈有Memcacheq,Fqueue, RabbitMQ, Beanstalkd以及linkedin的kafka。RabbitMQ使用比较广泛,Beanstalkd是后起之秀。Beanstalkd之于RabbitMQ,就好比Nginx之于Apache,Varnish之于Squid。后面在项目中使用Beanstalkd的过程中,更发现其简单、轻量...

2018-03-29 23:27:39 157

转载 beanstalkd消息队列在生产环境的应用

Beanstalkd 是一个高性能的消息队列中间件,本博文宅鸟将介绍一下这个东东的使用。一、先通过概念让大家了解Beanstalkd的特性和工作场景。        Beanstalkd 是一个轻量级消息中间件,它最大特点是将自己定位为基于管道  (tube) 和任务 (job) 的工作队列 (work-queue):Beanstalkd 支持任务优先级 (priority), 延时 (delay...

2018-03-29 23:18:19 244

转载 PWA(Progressive Web App)初探总结

【 PWA 】        今天开始 Research 一个新的前端技术,PWA( 全称:Progressive Web App )也就是说这是个渐进式的网页应用程序。这个技术的呢是 Google 公司于2015 年提出的,2016 年 6 月才推广的项目。针对这一项技术目前在国外似乎已经很流行了,目前应用这项技术最火热的应用是在印度( 大家或许会疑惑为什么是在印度最流行呢吧,下文中会告诉大家哦...

2018-03-29 13:11:11 262

转载 PHP消息队列常见场景

消息队列MQ ,本质是个队列,其最简单的操作就是入队和出队,既按照程序决定何时何条件入队,和何时何条件出队。也就是说,遇到入队系统和出队系统的业务诉求不一致时的场景,就可以考虑是否用消息队列来实现了。可应用场景有很多,以下是几个常见的场景和解释。一:异步处理、应用解耦、分布式场景:主业务对子业务的处理结果并不关心时。案例:电商系统中订单系统、物流系统、财务系统以及操作日志记录系统之间的关系。通俗解...

2018-03-28 13:10:32 139

原创 PHP面试汇总

1.面试官看过你的简历,会问一些你做的项目的用户量、pv、吞吐量、相关难点和解决方法等2.数据库设计经验,为什么进行分表? 分库?一般多少数据量开始分表? 分库? 分库分表的目的? 什么是数据库垂直拆分? 水平拆分? 分区等等?可以举例说明3.数据库优化有哪些? 分别需要注意什么?4.web开发方面会遇到哪些缓存? 分别如何优化?5.给你256M的内存,对10G的文件进行排序(文件每行1个数字),...

2018-03-28 12:58:05 229

转载 RESTful目录

第1讲-RESTful介绍第2讲--Http协议HTTP请求HTTP响应第3讲--设计六要素第4讲--工具第5讲--接口文档第6讲--使用Lumen实现6.4--建库建表6.5--规划路由6.6--编写模型6.7--编写控制器添加实现删除实现修改实现基本查询实现条件查询实现...

2018-03-26 12:18:40 274

转载 RESTful 架构详解

1. 什么是RESTREST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一。 他在论文中提到:"我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强、性...

2018-03-22 23:36:54 115

转载 RESTful API 设计指南

网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。 因此,必须有一种统一的机制,方便不同的前端设备与后...

2018-03-22 22:05:28 81

转载 TensorFlow官方文档递归神经网络

递归神经网络介绍可以在 this great article 查看循环神经网络(RNN)以及 LSTM 的介绍。艾伯特(http://www.aibbt.com/)国内第一家人工智能门户语言模型此教程将展示如何在高难度的语言模型中训练循环神经网络。该问题的目标是获得一个能确定语句概率的概率模型。为了做到这一点,通过之前已经给出的词语来预测后面的词语。我们将使用 PTB(Penn Tree Bank...

2018-03-22 12:14:46 259

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除