自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (8)
  • 收藏
  • 关注

原创 java.lang -> Boolean

java.lang -> Boolean是什么Boolean 类是将 boolean 基本类型进行包装。类型为 Boolean 的对象包含一个单一属性 value,其类型为 boolean。此外还提供了许多将 boolean 转换为 String、String 转换为 boolean,以及其他一些方法。构造器有两个构造器public Class Boolean { pub...

2019-12-06 11:30:27 481

原创 java.lang -> Object

java.lang -> Object是什么Object 类是类层次结构的根,是 Java 中唯一一个没有父类的类,Java 中所有对象包括数组都继承了 Object 类中的方法。重要方法public class Object { private static native void registerNatives(); static { regist...

2019-12-04 16:34:39 463

原创 Axon 3.0.x 框架简介官方文档

因为需要用到,但是在网上对应的资料实在是很少,只有迎着头皮看官网文档并配合翻译器。如有误导多多包涵。Axon什么是 AxonAxon Framework 通过支持开发人员应用命令查询责任隔离(CQRS)架构模式来帮助构建可扩展和可维护的应用程序。它通过提供最重要的构建块(例如聚合,存储库和事件总线(事件的分发机制))的实现来实现。此外 Axon 提供注释支持,它使您可以构建聚合和事件侦听器,...

2019-10-11 19:35:33 532

原创 java 并发——CountDownLatch

java 并发——CountDownLatch简介public class CountDownLatch { private final Sync sync; private static final class Sync extends AbstractQueuedSynchronizer { Sync(int count) { ...

2019-10-11 19:35:05 155

原创 java 并发——ReentrantLock

java 并发——ReentrantLock简介public class ReentrantLock implements Lock, java.io.Serializable { // 继承了 AbstractQueuedSynchronizer 具体操作的执行者 private final Sync sync; abstract static class...

2019-09-19 11:40:50 162

原创 java 并发——AbstractQueuedSynchronizer

java 并发——AbstractQueuedSynchronizer简介abstract class AbstractQueuedSynchronizer extends AbstractOwnableSynchronizer implements Serializable提供一个基于先进先出(FIFO)等待队列,可以用于构建锁或者其他相关同步器(信号量、事件等)的基础框架。这些同步器...

2019-09-17 19:48:54 200

原创 java 并发——volatile

java 并发——volatile介绍维基百科: volatile 是一个类型修饰符(type specifier).volatile 的作用是确保本条指令不会因编译器的优化而省略,且要求每次直接读值。看了上面的话感觉不是那么的好理解,因为 volatile 关键字是和 java 内存模型 JMM(java memory model)是息息相关的,所以在介绍 volatile 之前我们先来...

2019-09-06 15:03:02 101

原创 java 并发——synchronized

java 并发——synchronized介绍在平常我们开发的过程中可能会遇到线程安全性的问题,为了保证线程之间操作数据的正确性,我们第一想到的可能就是使用 synchronized 并且 synchronized 使用的位置也是很有讲究的.首先我们来先看一下什么是 synchronized ?需要使得代码变为同步方法我们需要使用 synchronized 来修饰执行前会先去获取锁,执行...

2019-09-05 15:49:58 172

原创 Spring 源码学习——Aop

Spring 源码学习——Aop什么是 AOP以下是百度百科的解释:AOP 为 Aspect Oriented Programming 的缩写,意为:面向切面编程通过预编译的方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP 的原理AOP 的原理是什么?估计大家都知道了无非就是通过代理模式来为目标对象生产出一个代理对象来,并将相应的逻辑插入到目标方法的前后等等.如果别人这么问,...

2019-08-14 15:04:20 264

原创 Spring 相关目录

Spring 相关目录学习笔记Spring 学习笔记 IoC 基础Spring 学习笔记 Resource 资源Spring 学习笔记 数据绑定,校验,BeanWrapper 与属性编辑器源码学习Spring 源码学习——注册 BeanDefinitionSpring 源码学习——加载 Bean[Spring 源码学习——Aop——未完待续]...

2019-08-07 10:15:26 347

原创 Netty 相关目录

Netty 相关目录Netty 源码学习——客户端流程分析Netty 源码学习——服务端流程分析Netty 源码分析——ChannelPipelineNetty 源码学习——EventLoop学习 Doug Lea 大神写的——Scalable IO in Java...

2019-08-07 10:11:05 137

原创 Netty 源码学习——EventLoop

Netty 源码学习——EventLoop在前面 Netty 源码学习——客户端流程分析中我们已经知道了一个 EventLoop 大概的流程,这一章我们来详细的看一看。NioEventLoopGroup 类层次结构我们先来看下 NioEventLoopGroup 这个类。public class NioEventLoopGroup extends MultithreadEventLo...

2019-08-06 16:56:25 239

原创 Netty 源码分析——ChannelPipeline

Netty 源码分析——ChannelPipeline通过前面的两章我们分析了客户端和服务端的流程代码,其中在初始化 Channel 的时候一定会看到一个 ChannelPipeline。所以在 Netty 每个 Channel 中有且仅有一个 ChannelPipeline。比如我们来看 NioSocketChannel 的构造器初始化流程是NioSocketChannel -> ...

2019-07-17 16:56:47 184

原创 Netty 源码学习——服务端流程分析

Netty 源码分析——服务端流程分析在上一篇我们已经介绍了客户端的流程分析,我们已经对启动已经大体上有了一定的认识,现在我们继续看对服务端的流程来看一看到底有什么区别。服务端代码public class NioServer { private static final int PORT = 9898; public static void main(String[] args) {...

2019-07-09 16:43:28 212

原创 学习 Doug Lea 大神写的——Scalable IO in Java

学习 Doug Lea 大神写的——Scalable IO in Java网络服务Web services、分布式对象等等都具有相同的处理结构Read requestDecode requestProcess serviceEncode replySend reply基础的网络设计每一个处理的 handler 都在各自的线程中处理。代码示例public class S...

2019-06-26 16:25:56 1341

原创 Netty 源码学习——客户端流程分析

Netty 源码学习——客户端流程分析友情提醒: 需要观看者具备一些 NIO 的知识,否则看起来有的地方可能会不明白。使用版本依赖<dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version&g...

2019-06-22 11:04:43 209

原创 Spring 学习笔记 数据绑定,校验,BeanWrapper 与属性编辑器

Spring 数据绑定,校验,BeanWrapper,与属性编辑器Data Binding数据绑定(Data binding)非常有用,它可以动态把用户输入与应用程序的域模型(或者你用于处理用户输入的对象)绑定起来。Spring 针对此提供了所谓的 DataBinder 来完成这一功能。由 Validator 和 DataBinder 组成的 validation 验证包,主要被用于 Spr...

2019-06-15 14:51:05 197

原创 Spring 学习笔记 Resource 资源

Spring Resources概述在日常程序开发中,处理外部资源是很繁琐的事情,我们可能需要处理 URL 资源、File 资源、ClassPath相关资源等等。并且在 java 中 Java .net.URL 类和用于各种 URL 前缀的标准处理程序对于所有对底层资源的访问都不够充分。处理各种各样的资源需要使用到不同的接口,这就增加了系统的复杂性。对此 Spring 提供了 Resour...

2019-06-13 17:15:32 1491

原创 Spring 学习笔记 IoC 基础

Spring IoCIoc 是什么IoC —— Inversion of Control(控制反转)什么是控制?什么是反转?控制反转了什么?在很早之前写项目不用 Spring 的时候,都是在 Class 中成员属性中 new 对象的方式。是我们主动去创建对象也就是我们控制了对象的创建。public class ServiceImpl implements Service { p...

2019-06-06 20:55:02 304

原创 java IO 类概述表

列举常用的类方便查看,温故知新!byte inputbyte outputcharacter inputcharacter outputBasicInputStreamOutputStreamInputStreamReaderOutputStreamWriterArrayByteArrayInputStreamByteArrayOutputStream...

2019-05-31 15:42:14 128

原创 java could not open `C|D|E|F:\jre\lib\amd64\jvm.cfg' 解决方案与原因

因为安装了 jdk 后发现有多个 jre 一个是安装目录下的。还有一个是安装后的自动安装的注意路径都不一样。由于本人有强迫症所有不能容忍有两个 jre 目录的存在,所以果断删除了 D 盘下的。谨慎起见所以立马执行了 cmd java 命令,然后就凉凉,果断报错!但是 javac 命令缺没有报错。为什么会出现这个错误呢,我们安装 jdk 后已经配置了 path 变量啊。删除的 jre...

2019-05-28 10:22:02 6030 4

原创 Rabbit MQ 客户端 API 进阶

之前说了一些基础的概念及使用方法,比如创建交换器、队列和绑定关系等。现在我们再来补充一下细节性的东西。备份交换器通过声明交换器的时候添加 alternate-exchange 参数来实现。Connection connection = factory.newConnection();Channel channel = connection.createChannel();Map<S...

2019-05-13 11:18:09 181

原创 Rabbit MQ 客户端 API 开发

项目开始第一步首先需要引入对应的 jar 包<!-- https://mvnrepository.com/artifact/com.rabbitmq/amqp-client --><dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client&...

2019-05-10 16:57:19 227

原创 Rabbit MQ 基础入门

Rabbit MQ学习(一)基础入门简介RabbitMQ 简介为什么选择 RabbitMQRabbitMQ 的模型架构是什么?AMQP 协议是什么?AMQP 常用命令概念生产者和消费者队列交换器、路由键、绑定RabbitMQ 运转流程,消息从生产者发出到消费者这一过程要经历一些什么?Connection 和 Channel简介RabbitMQ 简介在介绍 RabbitMQ 之前实现要介绍一下...

2019-05-09 15:41:57 394

原创 Spring 源码学习——加载 Bean

继上次注册 bean 之后好久没更新,这两天有空查了查资料也自己看了看 spring BeanFactory 的 getBean(beanName); 这个方法。因时间有限不能像之前那样复制代码并一行一行写上注释,这次只是将代码流程中的一些方法复制出来进行注释。Spring 的版本是 5.1.3.RELEASE首先是 getBean(String beanName);Person perso...

2019-05-07 15:20:19 223

原创 Git 学习(三)Git 创建版本库

获取 Git 仓库什么是 Git 仓库呢,仓库又名版本库,我们可以把他理解为一个文件夹。这个文件夹里的所有东西都需要被 Git 给管理起来,对立面每个文件的修改、编辑、删除都将被 Git 记录,以便于任何时刻追踪历史或者在将来某个时刻可以“还原”。有两种方式来创建 Git 仓库在现有项目或目录下导入所有文件到 Git 中从一个服务器克隆一个现有的 Git 仓库我们日常开发中都是用第二...

2019-04-30 16:10:24 122

原创 Git 学习(二)Git 基础

Git 基础Git 在保存和对待各种信息的时候与其它版本控制系统如 SVN 等等有很大差异,尽管操作起来的命令形式非常相近,理解这些差异将有助于防止你使用中的困惑。Git 记录的是什么?如果有使用 SVN 等其他版本控制系统的经验,应该知道它们的工作原理是记录每一次的变动。将它们保存的信息看作是一组基本文件和每个文件随时间逐步累积的差异。而 Git 却决定剑走偏锋,以一种看似“异端”的方...

2019-04-26 17:40:19 114

原创 Lombok 常用注解

LombokLombok 能以简单的注解形式来简化 java 代码,提高开发人员的开发效率。例如开发中经常需要写的 javaBean,都需要花时间去添加相应的 getter/setter,也许还要去写构造器、equals 等方法,而且需要维护,当属性多时会出现大量的 getter/setter 方法,这些显得很冗长也没有太多技术含量,一旦修改属性,就容易出现忘记修改对应方法的失误。Lombok...

2019-04-25 20:04:16 148

原创 Git 学习(一)安装 Git

这里写自定义目录标题这一章介绍怎么安装 Git 大家都是开发老司机,就不简介什么是 Git 了,直接开花。在 Linux 上安装Git在 Windows 上安装 Git初次使用 Git 前的配置这一章介绍怎么安装 Git 大家都是开发老司机,就不简介什么是 Git 了,直接开花。下载地址:https://git-scm.com/downloads在 Linux 上安装Git在 Linux...

2019-04-25 18:15:23 125

原创 Jsoup 学习笔记

这里写自定义目录标题Jsoup 学习笔记解析HTML 的字符串解析URL 解析本地文件解析解析数据DOM 解析使用选择器解析选择器概述选择器组合用法过滤用法修改数据HTML 文档清理Whitelist 方法Jsoup 学习笔记Jsoup 是一个用于处理真实 HTML 的 Java 库。它提供了一个非常方便的 API,用于提取和操作数据。GitHub 地址:https://github.com...

2019-04-24 15:52:44 386

原创 学习设计模式之访问者模式

访问者模式表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。数据操作与数据结构分离的设计模式。是 23 种设计模式中比较复杂的一个,使用频率不高但是一旦需要使用,就是迫切的需要。类结构图Vistior是一个接口定义了每一个元素(Element)的行为。方法参数就是可以访问的元素。ConcreteVisitorA、Concrete...

2019-04-09 18:37:04 174

原创 学习设计模式之解释器模式

解释器模式定义一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。类结构图Context包含解释之外的一些全局信息。AbstractExpression声明一个抽象的解释操作,这个接口为抽象语法树中所有的节点所共享。TerminalExpression终结符表达式,实现与文法中的终结符相关联的解释操作。NonterminalExpress...

2019-03-20 20:32:13 69

原创 学习设计模式之享元模式

享元模式运用共享技术有效的支持大量细粒度的对象。类结构图FlyweightFactory一个享元类,用来创建并管理 Flyweight 对象。它主要是用来确保合理地共享 Flyweight,当用户请求一个 Flyweight 时,FlyweightFactory 对象提供一个已创建的实例。Flyweight所有具体享元类的超类或接口,通过这个接口,Flyweight 可以接受并作用于...

2019-03-18 15:21:33 104

原创 学习设计模式之中介者模式

中介者模式用一个中介对象来封装一系列的对象的交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。类结构图Mediator抽象中介者,定义了同事对象到中介者对象的接口。ConcreteMediator具体的中介者对象,实现抽象类的方法,它需要知道所有的 “组织” 类。并从具体的 “组织” 类接收消息,向具体的 ““组织”” 对象对象发出命令。...

2019-03-16 10:05:23 109

原创 学习设计模式之责任链模式

责任链模式使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。类结构图Handler定义一个处理请示的接口。ConcreteHandlerA、ConcreteHandlerB具体的处理类,处理它所负责的请求,可以访问它的后继者,如果可处理该请求,就处理之,否则就将该请求转发给它的后继者。代码...

2019-03-13 01:15:12 82

原创 学习设计模式之命令模式

命令模式将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化。类结构图Invoker要求该命令执行这个请求。Command用来声明执行命令的接口。ConcreteCommand 将一个接收者对象绑定于一个动作,调用接收者相应的操作,以实现 Execute。Receiver就是接收命令的角色具体实施一个请求的操作,任何类都可能作为一个接收者。代码示例这样就好比我...

2019-03-11 11:23:48 102

原创 学习设计模式之桥接模式

桥接模式在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?这就要使用桥接模式。而具体使用的方式,则是将抽象部分与他们的实现部分分离,使得它们都可以独立的变化。什么才是抽象部分与它的实现分离呢,并不是说将抽象类和实现类分离。实现指的是抽象类和它的实现类用来实现自己的对象。类结构图Abstraction抽象部分RefinedAbstrac...

2019-03-05 19:55:39 128

原创 学习设计模式之单例模式

单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。类结构图单例模式有两种实现方式:恶汉式、懒汉式。饿汉式代码示例public class Singleton { private static final Singleton SINGLETON = new Singleton(); private Singleton() { } publ...

2019-03-04 16:46:45 109

原创 Spring 源码学习——注册 BeanDefinition

BeanFactoryBeanFactory 是 Spring IoC 容器的具体实现,是 Spring 容器的核心接口。DefaultListableBeanFactoryXmlBeanFactory 继承自 DefaultListableBeanFactory 而 DefaultListableBeanFactory 是整个 bean 加载的核心部分。是 Spring 注册及加载的默认实...

2019-03-04 14:26:20 274

原创 学习设计模式之迭代器模式

迭代器模式提供一种方法顺序访问到一个聚合对象中的各个元素,而又不暴露该对象的内部表示。类结构图Aggregate聚集抽象类。ConcreteAggregate具体的聚集类,继承 Aggregate。Iterator迭代抽象类,用于定义得到开始对象、得到下一个对象、判断是否到结尾、当前对象等抽象方法,统一接口。ConcreteIterator具体迭代器类,继承 Iterator...

2019-03-04 14:25:58 103

Effective Java(中文版第3版).zip

Effective Java(中文版第3版)|

2019-05-28

Java虚拟机规范(Java SE 7).7z

Java虚拟机规范(Java SE 7)

2019-05-28

Java并发编程实战(中文版).7z

Java并发编程实战

2019-05-28

java深度历险.zip

java 深度探险

2019-05-28

github-git-cheat-sheet.zip

Git 命令明细

2019-05-28

LeetCode题解.zip

LeetCode题解

2019-05-28

深入JAVA虚拟机第二版.7z

深入JAVA虚拟机第二版

2019-05-28

摄像头数据采集

实现摄像头数据采集,这个只是一个demo.具体大家自己研究

2014-08-20

空空如也

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

TA关注的人

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