加载中
Java NIO用法详解

对于Java NIO,其主要由三个组件组成:Channel、Selector和Buffer。关于这三个组件的作用主要如下: Channel是客户端连接的一个抽象,当每个客户端连接到服务器时,服务器都会为其生成一个C...

2019/05/13 09:57
2K
Java IO使用的四种模式

对于Java IO,从大的种类上来分,可以分为BIO和NIO。BIO全称为Blocked IO,也即阻塞型IO,而NIO则是在jdk 1.4中引入的,一般称其为New IO,因为这是相对于1.4版本之前的阻塞型IO而言的,但是...

2019/02/25 08:12
8.7K
Java多线程编程之不可变对象模式

在多线程环境中,为了保证共享数据的一致性,往往需要对共享数据的使用进行加锁,但是加锁操作本身就会带来一定的开销,这里可以使用将共享数据使用不可变对象进行封装,从而避免加锁操作。 ...

Effective Java学习笔记

本篇博客主要目的是记录本人在看《Effective Java》的过程中的关键点,并且在适当的位置记录本人对于这些要点的理解

docker命令

获取镜像 从docker镜像仓库获取镜像的命令是docker pull。其命令格式为: docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签] 具体的选项可以通过docker pull --help命令看到...

Spring AOP切点表达式详解

简介 面向对象编程,也称为OOP(即Object Oriented Programming)最大的优点在于能够将业务模块进行封装,从而达到功能复用的目的。通过面向对象编程,不同的模板可以相互组装,从而实现更为...

2018/06/05 09:15
1.3W
Spring的bean创建详解

IoC容器,又名控制反转,全称为Inverse of Control,其是Spring最为核心的一个组件,其他的组件如AOP,Spring事务等都是直接或间接的依赖于IoC容器的。本文主要讲解IoC容器所管理的bean的几种...

关于Spring Aop存在的一点问题的思考

在本人前面的文章Spring Aop原理之切点表达式解析中讲解了Spring是如何解析切点表达式的,在分析源码的时候,出现了如下将要讲述的问题,我认为是不合理的,后来本人单纯使用aspectj进行试验...

2018/08/19 18:38
294
代理模式实现方式及优缺点对比

代理模式最典型的应用就是AOP,本文结合主要讲解了代理模式的几种实现方式:静态代理和动态代理,这里动态代理又可以分为jdk代理和Cglib代理,另外,本文也对这几种代理模式的优缺点进行了对...

2018/03/12 09:45
8.9K
Spring Aop之Target Source详解

在上文中(Spring Aop标签解析原理详解)我们讲解了Spring是如何解析<aop:aspectj-autoproxy/>标签,并且生成了一个AnnotationAwareAspectJAutoProxyCreator的BeanDefinition的。在Spring代理目...

2018/08/08 09:32
3.4K
Spring MVC之@ControllerAdvice详解

对于@ControllerAdvice,我们比较熟知的用法是结合@ExceptionHandler用于全局异常的处理,但其作用不仅限于此。ControllerAdvice拆分开来就是Controller Advice,关于Advice,前面我们讲解S...

2018/10/02 16:00
1.5W
zookeeper客户端使用

Java客户端api 1.1 创建会话 ZooKeeper(String connectString, int sessionTimeout, Watcher watcher); ZooKeeper(String connectString, int sessionTimeout, Watcher watcher, boolean can...

2019/01/01 13:26
202
如何在静态方法或非Spring Bean中注入Spring Bean

在项目中有时需要根据需要在自己new一个对象,或者在某些util方法或属性中获取Spring Bean对象,从而完成某些工作,但是由于自己new的对象和util方法并不是受Spring所管理的,如果直接在所依...

2018/03/04 20:49
5.4K
Netty Reactor模式实现原理详解

在前面的文章中(Reactor模型详解),我们讲解了Reactor模式的各种演变形式,本文主要讲解的则是Netty是如何实现Reactor模式的。这里关于Netty实现的Reactor模式,需要说明的是,其实现的模式...

2019/03/25 09:46
4.4K
Spring Bean注册解析(一)

Spring是通过IoC容器对Bean进行管理的,而Bean的初始化主要分为两个过程:Bean的注册和Bean实例化。Bean的注册主要是指Spring通过读取配置文件获取各个bean的声明信息,并且对这些信息进行注...

2018/05/12 11:44
1.5K
Dockerfile定制镜像

镜像的定制实际上就是定制每一层所添加的配置、文件。我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,这个脚本就是Dockerfile; Dockerfile是一个文本文件,其内包含了一条条...

虚拟机搭建Hadoop集群

虚拟机搭建Hadoop集群 安装包准备 操作系统:ubuntu-16.04.3-desktop-amd64.iso 软件包:VirtualBox 安装包:hadoop-3.0.0.tar.gz,jdk-8u161-linux-x64.tar.gz 1. 环境准备 使用VirtualBox和...

Spring自定义标签解析与实现

在Spring Bean注册解析(一)和Spring Bean注册解析(二)中我们讲到,Spring在解析xml文件中的标签的时候会区分当前的标签是四种基本标签(import、alias、bean和beans)还是自定义标签,如果是...

2018/05/20 22:54
3.2K
系统运行缓慢,CPU 100%,以及Full GC次数过多问题的排查思路

处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题。当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警。本文主要针对系统运...

2019/03/04 10:28
1.8W
多线程编程

本文谢绝一切转载,仅做本人记录笔记使用,谢谢! 1. Java程序运行原理 1. JVM运行时数据区 JVM运行时数据区可以分为两部分:线程共享部分和线程独占部分。线程共享部分主要包括方法区和堆内...

2018/12/22 21:27
197

没有更多内容

加载失败,请刷新页面

返回顶部
顶部