51dev.com IT技术开发者社区

51dev.com 技术开发者社区

热点资讯 HotNews

  • 三星为Note 7道歉会挽回现今颓势吗?三星为Note 7道歉会挽回现今颓势吗?
  • 58到家的上门O2O独角戏还能唱多久?58到家的上门O2O独角戏还能唱多久?
  • 1
  • 2
Kafka学习之内核原理剖析

Kafka学习之内核原理剖析

  整个生产者客户端由两个线程协调运行,这两个线程分别为主线程和Sender线程(发送线程)。在主线程中由KafkaProducer创建消息,然后通过可能的拦截器、序列化器和分区器的作用之后缓存到消息累加器(RecordAccumulator,也称为消息收集器〉中。Sender线程负责从RecordAccumulato...

Kafka学习之配置文件详解

Kafka学习之配置文件详解

  kafka的配置文件包含server.properties、proceducer.properties、consumer.properties,分别为broker、producer、consumer三个不同的配置。  最为核心的三个配置broker.id、log.dir、zookeeper.connect。Brok...

Kafka学习之基本概念及集群部署

Kafka学习之基本概念及集群部署

       Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、Storm/Spar...

Lombok插件使用详解及原理

Lombok插件使用详解及原理

  Lombok是一个插件,其主要用途是提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的java代码,提高编码效率,使代码更简洁。  Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许...

【JDK8特性】Stream接口详解

【JDK8特性】Stream接口详解

  Java8新添加了一个特性:流Stream。Stream让开发者能够以一种声明的方式处理数据源(集合、数组等),它专注于对数据源进行各种高效的聚合操作(aggregateoperation)和大批量数据操作(bulkdataoperation)。  StreamAPI将处理的数据源看做一种Stream(流),Str...

【JDK8特性】Optional包装类详解

【JDK8特性】Optional包装类详解

    Optional类是Java8为了解决null值判断问题,借鉴googleguava类库的Optional类而引入的一个同名Optional类,使用Optional类可以避免显式的null值判断(null的防御性检查),避免null导致的NPE(NullPointerEx...

【JDK8特性】lambda表达式详解

【JDK8特性】lambda表达式详解

  Lambda表达式是JDK8的一个新特性,可以取代大部分的匿名内部类,写出更优雅的Java代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。  JDK也提供了大量的内置函数式接口供我们使用,使得Lambda表达式的运用更加方便、高效。  虽然使用Lambda表达式可以对某些接口进行简单的实现,但并不是...

使用阿里云ECS搭建Shadow Scoks代理服务器访问外网

使用阿里云ECS搭建Shadow Scoks代理服务器访问外网

  作为一个技术人员,最常用的就是Google、StackOverflow、Github这些网站,工作期间几乎每分钟都在用。  另外,偶尔也上上Facebook、YouTube、草榴以及Porn,娱乐一下自己。  1、阿里ECS云服务器界面创建实例      2、选择服务器规格  由于代理服务器使用场景不一致,因此创建...

RocketMQ学习之安装部署及基础讲解

RocketMQ学习之安装部署及基础讲解

  RocektMQ是阿里巴巴在2012年开源的一个纯java、分布式、队列模型的第三代消息中间件。  2016年11月11号,双十一大促见证了RocketMQ低延迟存储架构的成功试水,99.996%的延迟落在了10ms以内,极个别由于GC引发的停顿在50ms以内,其高性能、低延时和高可靠的特性承载了近年来双十一17万...

MySQL学习之SQL优化(索引优化)

MySQL学习之SQL优化(索引优化)

在where从句,groupby从句,orderby从句,on从句中出现的列索引字段越小越好离散度大的列放到联合索引的前面explainselect*frompaymentwherestaff_id=2andcustomer_id=584;--思考:index(staff_id,customer_id)好?还是inde...

MySQL学习之EXPLAIN执行计划详解及最佳实践

MySQL学习之EXPLAIN执行计划详解及最佳实践

  备注:环境mysql5.6.38  使用EXPLAIN关键字可以模拟优化器执行SQL语句,从而知道MySQL是如何处理你的SQL语句的,分析你的查询语句或者表结构的性能瓶颈。  语法:Explain+SQL语句  在select语句之前增加explain关键字,MySQL会在查询上设置一个标记,执行查询时,会返回执...

MySQL学习之Mysql锁&事务隔离级别

MySQL学习之Mysql锁&事务隔离级别

  锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除了传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供需要用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要...

Mybatis学习之核心原理代码详解

Mybatis学习之核心原理代码详解

  首先我们来看看我们有两种方式实现Mybatis调用,一种是XML,一种是注解,分别如下:SqlSessionsession=sqlSessionFactory.openSession();try{//方式一:mapper配置文件XML配置SQLUseruser=session.selectOne("org.myba...

Mybatis学习之工作流程代码详解

Mybatis学习之工作流程代码详解

  Mybatis是一种ORM对象关系映射架构,实现JavaObject和数据库字段映射。           如上图所示,Mybatis就是根据Java配置的数据源(driver、url、username、password)以及Mapper配置SQL(DQL查询、DML修改、DDLcreate)语句,基于J...

Mybatis学习之核心配置详解

Mybatis学习之核心配置详解

  MyBatis的配置文件包含了会深深影响MyBatis行为的设置和属性信息。配置文档的顶层结构如下:     这些属性可以在外部进行配置,并可以进行动态替换。你既可以在典型的Java属性文件中配置这些属性,也可以在properties元素的子元素中设置。例如:<propertiesresource="org/...