#DOM探索之基础详解篇

【JDK8特性】Optional包装类详解

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

【JDK8特性】lambda表达式详解

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

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

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

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

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

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

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

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

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

Mybatis学习之核心配置详解

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

Zookeeper学习之Jute序列化以及通信协议详解

  1、Jute概述  Zookeeper的客户端与服务端之间会进行一系列的网络通信来实现数据传输,Zookeeper使用Jute组件来完成数据的序列化和反序列化操作,其用于Zookeeper进行网络数据传输和本地磁盘数据存储的序列化和反序列化工作。  实体类要使用Jute进行序列化和反序列化步骤:1.需要实现Reco...

深入浅出吃透多线程、线程池核心原理及代码详解

  1、什么是线程  线程是一个操作系统概念。操作系统负责这个线程的创建、挂起、运行、阻塞和终结操作。而操作系统创建线程、切换线程状态、终结线程都要进行CPU调度——这是一个耗费时间和系统资源的事情。  2、线程生命周期  Java当中,线程通常都有五种状态,创建、就绪、运行、阻塞和死亡:创建状态。在生成线程对象,并没...

Spring可二次开发常用接口、类及其源码详解

  Spring为了用户的开发方便和特性支持,开放了一些特殊接口和类,用户可进行实现或者继承,常见的如这些: ApplicationContextAware接口、ApplicationEvent抽象类、ApplicationListener接口、BeanNameAware接口、BeanFactoryAware...

设计模式之备忘录模式(Memento)详解及代码示例

  备忘录(Memento)模式的定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。该模式又叫快照模式。  备忘录模式能记录一个对象的内部状态,当用户后悔时能撤销当前操作,使数据恢复到它原先的状态。  备忘录模式是一种对象行为型模式,其主要...

设计模式之访问者模式(Visitor)详解及代码示例

  访问者(Visitor)模式的定义:将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供多种访问方式。它将对数据的操作与数据结构进行分离,是行为类模式中最复杂的一种模式。  访问者(Visitor)模式是一种对象行为型模...

设计模式之中介者模式(Mediator)详解及代码示例

  中介者(Mediator)模式的定义:定义一个中介对象来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它们之间的交互。中介者模式又叫调停模式,它是迪米特法则的典型应用。  中介者模式是一种对象行为型模式,其主要优点如下:降低了对象之间的耦合性,使得对象易于独立地被复用。将对象间的一对多关联转变...

设计模式之命令模式(Command)详解及代码示例

  命令(Command)模式的定义如下:将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。  命令模式的主要优点如下:降低系统的耦合度。命令模式能将调用操作的对象与实现该操作的对象解耦。增加或删除命令非常方便。采用命...

设计模式之迭代器模式(Iterator)详解及代码示例

  迭代器(Iterator)模式的定义:迭代器模式是一种对象行为型模式,提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。  其主要优点如下:访问一个聚合对象的内容而无须暴露它的内部表示。遍历任务交由迭代器完成,这简化了聚合类。它支持以不同方式遍历一个聚合,甚至可以自定义迭代器的子类以支持新的...
首页上一页...4849505152...下一页尾页