`
357029540
  • 浏览: 725444 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论
文章列表
       在单线程的模式下,我们针对某个变量的修改是不会产生数据的脏读和脏写的,因为它只有一个操作来对变量进行读写操作,但是在多线程模式下就不一样了,如果多个线程对一个变量进行修改操作,那么到底哪一个线 ...
         说到Java内存模型可能一开始就会让人想到Java虚拟机里面的数据区的概念,但是这里的Java内存模型(JMM,Java memory model)是指用Java语言规范定义的内存模型,它是用在线程间数据的可见性上的定义,在Java中数据会存在所见 ...
       在Java中使用线程的时候肯定会有线程挂起的这种情况出现,在Java中提供了3种方式:suspend/resume、wait/notify,notifyAll、park/unpark。 1.suspend/resume      这种方式已经在Java中被弃用,因为它容易引起死锁。在使用关键字synchronized的时候如 synchronized (this) { Thread.currentThread().suspend(); }       这个时候使用resume方法是无法唤醒线程的,还有一种情况是如果在resume方法之后才进行suspend方 ...
       线程池的相关概念就不在这里说明了,百度一下有很多,这里简单表述一下如何实现一个自定义的线程池就行线程管理,我们如果要实现一个线程池对线程的管理,那么需要实现一下几点的思路: 1.如何管理线程 2.如何定义工作线程以及工作线程如何持续的保持运行状态 3.如何定义线程池大小及队列大小 4.如何提供接口给调用者使用 5.如何关闭线程池中的线程 接下来我们就一一的实现这几个问题。 1.我们需要定义一个队列来来管理线程,这里使用了LinkedBlockingQueue // 1.定义一个存储线程队列 private LinkedBlockingQueue<Runna ...

dubbo学习总结

        对应dubbo来说,相信很多人都听说过,也有很多人都使用过,我们也可以通过官网文档(http://dubbo.apache.org/zh-cn/docs/user/quick-start.html)进行学习,目前官方文档介绍的是2.6.4的版本,跟目前2.7.x的版本相差也有点远了,很多 ...
        最近稍微研究了下etl工具nifi,它是Apache下面的一个项目,是用作数据流处理的,具体的就不多做介绍了,网上也有很多介绍,官网是https://nifi.apache.org/docs.html,我在这里做了一个从中移物联网onenet平台抽取数据到mysql ...
转自https://blog.csdn.net/lk142500/article/details/88386651 1简介 在职场过程中,有一个重要的内容就是熟练使用Linux操作系统,操作命令,而安装虚拟机,配置虚拟机环境则是开发的首要步骤。本文主要是对在VMWare中配置网络,使得通过虚拟机可以访问外部网络,ping通www.baidu.com而写。   2安装步骤 2.1 安装VMware VMWare下载   2.2 安装Centos 2.2.1 安装Centos 其他的参数不再赘述。 如果在安装时提示Intel-VTx未启用,则重启,并在BIOS中开启Intel ...
        在上面一篇文章主要总结了zookeeper的服务端数据的同步机制算法的了解,这里自己总结下客户端和服务端是如何进行数据交互的。         我们都知道zookeeper可以用作分布式引用程序管理配置信息,那么我们是如何保证配置信息在zookeeper服务器上面发生变化后客户端怎么去感知?这里就需要说到zookeeper的watch机制了,在代码中我们需要去订阅指定路径下面的数据发生改变时我们应该如何处理,这里的数据变化包括子节点数据的新增和节点数据的增删改,zookeeper官方提供了一个客户端API,但是它的一些实现机制并不完善,如下: 1).Zookeeper的W ...
        在上面我们总结了简单的zookeeper集群的配置,也提到了集群中的leader和follower,那么我们是如何选举出leader的呢?这里需要先了解下paxos算法,它是一种基于消息传递且具有高度容错性的一致性算法,是分布式一致算法 ...
       zookeeper是一个集中服务的开源框架,现在的版本是3.4.14,它可用于管理配置信息、命名空间、分布式同步以及提供分组服务。它的数据存在于内存中,结构类似于树结构,具有高吞吐量低延迟的特性,集群可靠性也比较 ...
 Apache Kafka是一款流行的分布式数据流平台,它已经广泛地被诸如New Relic(数据智能平台)、Uber、Square(移动支付公司)等大型公司用来构建可扩展的、高吞吐量的、且高可靠的实时数据流系统。例如,在New Relic的生产环境中,Kafka群集每秒能够处理超过1500万条消息,而且其数据聚合率接近1 Tbps。 可见,Kafka大幅简化了对于数据流的处理,因此它也获得了众多应用开发人员和数据管理专家的青睐。然而,在大型系统中Kafka的应用会比较复杂。如果您的consumers无法跟上数据流的话,各种消息往往在未被查看之前就已经消失掉了。同时,它在自动化数据保留方面 ...
一. 什么是MQ MQ 是message queue 消息队列的简称,也叫消息中间件,遵守JMS(java message service)规范的一种软件。它是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。 二. MQ对比 在业界我们熟悉的MQ主要有RabbitMQ、ActiveMQ、Kafka、RocketMQ等主要消息中间件,我们下面对比下它们:           特性 ActiveMQ RabbitMQ RocketMQ Kafka PRODUCER-CONSUMER 支持 ...
      在上篇文章中我们介绍了EurekaServerContext Bean的注入,我们接下来看下PeerAwareInstanceRegistry类,这个类主要是用作服务实例对象的注册,在EurekaServerAutoConfiguration类代码的定义中它首先通过客户端获取所有的application对象, ...
         前面我们了解完了eureka client的源码,我们接下来了解下server端的源码,server端主要是用于服务的发现,高可用,客户端异常如何实现自我保护机制,我们还是首先通过META-INFO下的spring.factories了解到入口类是EurekaServerAutoConfiguration,通过下图可以看到该类的结构如下    在类中实现了很多bean的初始化,下面我们看下它是如何实现高可用的。    进入到EurekaServerContext对应的bean方法中,它返回了一个默认的DefaultEurekaServerContext类,进入到该类可以 ...
  在前面文章介绍eureka client的时候忘记了还有一个需要注意的是在当前分析的这个版本中@EnableEurekaClient注解已经发生了变化 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited public @interface EnableEurekaClient { }  现在只有基本的4个注解,没有了以前的@EnableDiscoveryClient等注解,默认在EurekaDiscoveryClientConfiguration是实现了 ...
Global site tag (gtag.js) - Google Analytics