自定义博客皮肤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)
  • 资源 (26)
  • 收藏
  • 关注

原创 频繁Young GC 问题记录

1、问题:连续gc每10s左右发生“一组”gc,每组基本是三次,如果按组的gc频率来看还算正常,但这个“一组”连续三次gc属实不太正常。2、查看gc统计:jstat -gc 进程id 100100ms的gc统计信息:其中连续gc三次,第一次gc后,发现内存每次增加80M左右,而第一次gc时其实eden还剩余40M的内存,所以判断此时有大对象在不断的快速生成。3、jmap -histo:live 进程id |grep "cn" |head -20想通过手动查看对比对象的内存..

2021-04-25 01:43:15 6934

转载 Redis内存模型

转载:https://www.cnblogs.com/kismetv/p/8654978.html前言Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis是实现网站高并发不可或缺的一部分。我们使用Redis时,会接触Redis的5种对象类型(字符串、哈希、列表、集合、有序集合),丰富的类型是Redis相对于Memcached等的一大优势。在...

2019-11-28 17:24:42 200

原创 Springmvc中@RequestMapping的实现原理

1、@RequestMapping处理方法的注册与匹配(1)重要的类、接口RequestMappingHandlerMapping 入口类RequestCondition 匹配条件接口,通过其实现类来判断是否匹配处理方法RequestMappingInfo 匹配条件信息类,实现RequestCondition,并包含多个RequestCondition实现类(2)RequestMap...

2019-10-08 16:45:46 2586

转载 接口方法上的注解无法被 @Aspect 声明的切面拦截的原因分析

转载自接口方法上的注解无法被@Aspect声明的切面拦截的原因分析前言在Spring中使用MyBatis的Mapper接口自动生成时,用一个自定义的注解标记在Mapper接口的方法中,再利用@Aspect定义一个切面,拦截这个注解以记录日志或者执行时长。但是惊奇的发现这样做之后,在Spring Boot 1.X(Spring Framework 4.x)中,并不能生效,而在Spring...

2019-08-09 17:26:18 2378

原创 《Spring源码深度解析》笔记

一、容器基础1、DefaultListableBeanFactoryDefaultListableBeanFactory是整个bean加载的核心,是spring注册即加载bean的默认实现。继承AbstractAutowireCapableBeanFactory,实现ConfigurableListableBeanFactory, BeanDefinitionRegistry。Abstrac...

2019-07-12 09:55:32 424

原创 《看透SpringMVC》笔记

第一部分:网站基础知识一、网站架构1、软件类型(1)三类:单机、CS和BS。(2)网络传输:OSI七层参考模型和TCP/IP四层参考模型。 OSI七层模型 TCP/IP四层模型 应用层、表示层、会话层 应用层 传输层 ...

2019-07-12 09:41:03 313

原创 《图解HTTP》笔记

一、网络基础1、发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该层所属的首部信息。反之,接收端在层与层传输数据时,每经过一层时会把对应的首部消去。http位于应用层,tcp位于传输层,ip位于网络层。2、ARP(Address Resolution Protocol)是一种用以解析地址的协议,根据通信方的 IP 地址就可以反查出对应的 MAC 地址。3、TCP位于传输层,为了方...

2018-11-20 15:54:46 145

原创 Mysql中锁相关解读

        以下是个人对mysql数据库中锁相关的一些理解,其中如MVCC、next-key锁等具体的解释请搜索相关资料。数据库中的锁并不能用于保证在并发情况下业务数据的安全,还是需要在程序中控制数据的并发操作。1、锁的区别共享锁(读锁、s锁)和排他锁(写锁、x锁)是指加锁的类型(不同作用)。乐观锁和悲观锁是指加锁的方式(不同判断)。2、锁的粒度表锁是Mysql中最基本的锁策略,...

2018-11-12 16:46:50 119

原创 MyBatis-Spring中实现spring事务管理解析

        我们在使用Mybatis时会配置SqlSessionFactoryBean用于创建SqlSessionFactory,在buildSqlSessionFactory()方法中我们就可以看到TransactionFactory的创建,TransactionFactory就是事务管理的基础。TransactionFactory也是可以在配置中配置的,如果没配置就使用SpringMana...

2018-11-04 18:16:03 1595 2

原创 spring事务传播实现源码分析

       本文只是对spring事务传播实现的流程进行简单的分析,如有不对之处请指出。       配置spring事务管理时,我们会使用DataSourceTransactionManager这个类,它继承了AbstractPlatformTransactionManager,而AbstractPlatformTransactionManager实现了PlatformTransactio...

2018-11-04 17:29:11 527

原创 《MyBatis技术内幕》笔记4—高级主题

四、高级主题1、拦截器Interceptor相关模式:责任链模式Interceptor:拦截器可以改变Mybatis的默认行为,如实现sql重写之类的功能。用户自定义拦截器除了继承Interceptor接口,还需要使用@Intercepts和@Signature来指定拦截的方法列表,最后需要在mybatis-config.xml中配置添加拦截器插件。Executor、ParameterHa...

2018-11-04 12:34:12 162

原创 《MyBatis技术内幕》笔记3—接口层

接口层主要就是指MyBatis对外提供的API,平常项目中直接使用到的。三、接口层相关模式:策略模式。SqlSession接口:对外提供MyBatis常用API,定义了常用的数据库操作以及事务相关操作。SqlSessionFactory接口:负责创建SqlSession对象,通过参数指定事务隔离级别、底层使用Executor具体类型以及是否自动提交事务等方面的配置。DefaultSql...

2018-11-02 18:20:48 211

原创 《MyBatis技术内幕》笔记2—核心处理层

        因为该文主要是看书的笔记(当然自己看书时也会看源码并跟踪调试),所有没有详实的源码分析,但是可以作为源码分析的流程、索引和注释。二、核心处理层1、Mybatis初始化    Mybatis初始化过程中,除了会读取mybatis-config.xml配置文件以及映射配置文件,还会加载配置文件指定的类,处理类中的注解,创建一些配置对象,最终完成框架中各个模块的初始化。相关模...

2018-11-02 17:29:33 497

原创 《MyBatis技术内幕》笔记1—基础支持层

        看这边书是为了学习mybatis的实现原理,以便解决实际应用中的问题,还有就是学习里面的思想和设计模式,这本书很好的一点就是结合设计模式来讲解的,对理解设计模式也很有帮助。笔记是个人的一个小总结,也可以说是一个内容轮廓,初学勿喷,欢迎交流。一、基础支持层1、解析器模块XPathParser:封装了XPath、Document、EntityResolver(XMLMappe...

2018-10-31 11:41:07 280

原创 《第一本Docker书》笔记

        看这本书是也是专业的运维同事推荐的,我主要想了解下docker,学习一下基本命令,在工作中同事说起时至少得知道大概是个什么,自己还谈不上具体应用。一、docker组件1、客服端和服务器(守护进程),docker是c/s架构的程序,提供命令行工具docker以及一整套RESTful API。2、镜像,基于联合文件系统的一种层式结构(类似于jar包)。3、容器,基于镜像启动起...

2018-10-29 17:47:50 575

原创 HystrixCircuitBreakerImpl熔断器之滑动窗口

       这里主要是介绍熔断器在关闭状态下内部是如何不断的检查命令的执行结果来对应更改状态,其实就是利用Rxjava实现了一个滑动窗口,下面就在源码中看看是怎么回事。1、先还是再整体看看HystrixCircuitBreakerImplclass HystrixCircuitBreakerImpl implements HystrixCircuitBreaker { private...

2018-09-27 16:24:22 1045 2

原创 《Redis开发与运维》笔记

一、redis特性1、(1)速度快:C/内存/单线程架构;(2)丰富功能:建过期/订阅发布/Lua脚本创建新命令/简单事务/流水线(pipeline)功能;(3)持久化:RDB/AOF;(4)高可用:主从复制/哨兵/集群。2、对外数据结构由内部多种编码实现,改进内部编码对外无感知,不同编码在不同场景发挥各自优势。3、选择单线程是因为纯内存访问、非阻塞I/O、避免线程切换和竞态消耗,所以red...

2018-09-14 18:46:00 362

原创 ThreadLocal使用记录

          在使用ThreadLocal时,很可能想的是把变量A放在ThreadLocal中,然后就认为ThreadLocal.get()的对象就是线程安全的了,这样想确实是错误的,因为A==ThreadLocal.get(),所有如果其它线程改变了A的值,那么ThreadLocal.get()对象值也就改变了,所以是线程不安全的。1、ThreadLocal不是解决共享变量线程安全的。2、...

2018-06-26 13:02:30 240

原创 Hystrix线程隔离模式-如何调用线程池

在线程隔离模式下,线程池在创建命令时就根据配置进行初始化,并在一个全局的ConcurrentHashMap中。本文主要是浅析下如何使用到对应的线程池的。在AbstractCommand浅析中提到subscribeOn(threadPool.getScheduler(new Func0<Boolean>(){})),threadPool.getScheduler(new Func0&lt...

2018-06-21 18:31:56 2137

转载 HystrixCircuitBreaker源码分析

转载:https://www.sczyh30.com/posts/Microservice/netflix-hystrix-how-it-works-summary/Hystrix中的Circuit Breaker的实现比较明了。整个HystrixCircuitBreaker接口一共有三个方法和三个静态类:其中allowRequest()方法表示是否允许指令执行,isOpen()方法表示断路器是否...

2018-06-15 15:58:58 398

原创 HystrixCommand与AbstractCommand浅析

因为hystrix的命令执行都是基于RXjava的,所以在看源码之前一定要先了解RXjava。HystrixCommand继承了AbstractCommand,HystrixCommand主要是提供了更多的构造函数和构造参数建造者以及最终调用run()实现用户业务,而AbstractCommand中就是要实现隔离、熔断等核心功能。下面我主要以注释的形式来分析,如有不对的地方欢迎指正。1、Hystr...

2018-06-15 14:36:58 2040

转载 RxJava 详解

转载:http://gank.io/post/560e15be2dca930e00da1083RxJava 到底是什么RxJava 好在哪API 介绍和原理简析1. 概念:扩展的观察者模式观察者模式RxJava 的观察者模式2. 基本实现1) 创建 Observer2) 创建 Observable3) Subscribe (订阅)4) 场景示例a. 打印字符串数组b. 由 id 取得图片并显示3....

2018-06-14 17:11:46 237

转载 Hystrix -工作流程浅析

转载:https://www.sczyh30.com/posts/Microservice/netflix-hystrix-how-it-works-summary/这篇文章里我们来总结一下 Netflix Hystrix 的工作流程(版本为 1.4.x)。这是官方提供的流程图(来自 GitHub):工作流程我们来根据流程图来分析一下工作流程。首先我们需要创建一个 HystrixCommand 或...

2018-06-12 14:26:05 230

原创 Hystrix监控

一、受监控的项目添加依赖,之前遇到的问题:访问流的连接一直获取不到数据,结果是版本问题。<dependency>    <groupId>com.netflix.hystrix</groupId>    <artifactId>hystrix-core</artifactId>    <version>1.5.12&...

2018-06-12 14:24:08 152

转载 浅析I/O模型

也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗。在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模型。下面本文先从同步和异步的概念 说起,然后接着阐述了阻塞和非阻塞的区别,接着介绍了阻塞IO和非阻塞IO的区别,然后介绍了同步IO和异步IO的区别,接下来介绍了5种IO模型,最后介绍了两种和高性能IO设计相关的设计模式(Reactor和Pr...

2018-06-08 13:52:08 202

原创 Java并发编程:FutureTask原理解析

本文以注释的方式解析了FutureTask的源码(jdk1.7),其实源码上的很多英文注释已经很清楚了,算是加上个人的理解吧。package java.util.concurrent;import java.util.concurrent.locks.LockSupport;public class FutureTask implements RunnableFutur

2018-01-11 15:59:57 300

转载 轻量级分布式 RPC 框架

原文:https://my.oschina.net/huangyong/blog/361751RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。RPC 可基于 HTTP 或 TCP 协议,Web Service 就是基于 HTTP 协议的 RPC,它具有良好的跨平台性,但其性能却不如基于 TCP 协议的

2017-10-25 09:12:07 208

原创 Class.getResource()与ClassLoader.getResource()的路径问题

Class.getResource(String path)path不以’/'开头时,默认是从此类所在的包下取资源;path以’/'开头时,则是从ClassPath根下获取;与之相反Class.getClassLoader().getResource(String path)path不以’/'开头时,则是从ClassPath根下获取;path以’/'开头

2017-10-11 13:47:09 732

原创 Tomcat启动加载过程

我 是在看jvm类加载机制时突然想到我们经常使用的tomcat是如何启动?如何加载类的?于是顺藤摸瓜找了找,和大家分享下,比较粗糙,不要介意。1、start.bat是启动tomcat的脚本,查看脚本可知其实是启动catalina.bat。2、在catalina.bat中可以看到执行setclasspath.bat,setclasspath.bat是做一些变量参数设置,比如这里可以设置JVM

2017-03-24 15:20:40 1113

原创 Html5图片压缩与剪切

在任何项目中,图片的上传都是很常用的功能,那么不妨用Html5的FileReader对象来实现。      FileReader对象主要用来把文件读入内存,并且读取文件中的数据。对图片上传这里用到的是该对象的readAsDataURL方法,该方法用于将文件中的数据读取为dataURL,如图为图片转化的部分:   压缩,利用canvas的drawImage方法来绘

2017-03-23 11:00:05 1566

转载 HTTP文件断点续传的原理

原址:http://www.cnblogs.com/Creator/p/5490929.html关键点:对于断点续传,关键点是两个:1. 终端知道当前的文件和上一次加载的文件是不是内容发生了变化,如果有变化,需要重新从offset 0 的位置开始下载2. 终端记录好上次成功下载到的offset,告诉server端,server端支持从特定的offset 开始吐数据

2017-03-23 09:30:39 530

转载 springmvc 学习(二)

链接:http://www.zhihu.com/question/38459887/answer/78224340核心架构的具体流程步骤如下:1、 首先用户发送请求——>DispatcherServlet,前端控制器收到请求后自己不进行处理,而是委托给其他的解析器进行处理,作为统一访问点,进行全局的流程控制;2、 DispatcherServlet——>HandlerMappi

2016-09-20 14:49:40 307

原创 springmvc 学习(一)

springmvc执行流程(请大家指出问题):

2016-06-08 09:33:52 300

原创 Java支付宝接口

转载:http://programer-wf.iteye.com/blog/682694网上关于Java支付宝接口的文章很多,都大同小异,但是具体到代码中,还是不太一样,对于以前没有调试的新手来说还是很费解的,这是通过调试认为比较有用的版本,贴在这里供大家参考。 1、从本站提交到支付宝: /**      * 将订单提交支付宝进行网上支付      */     public ...

2016-05-17 17:18:48 195

原创 引用xml命名空间问题

红色部分是兼容性需要,最开始我还以为是注释,坑了半天。。。xmlns:v="urn:schemas-microsoft-com:vml">DEMO

2016-04-27 21:33:06 818

转载 泛型与Object

在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。

2016-04-27 21:13:49 626

原创 js闭包

闭包是可访问上一层函数作用域里变量的函数,即便上一层函数已经关闭。function myFunction(){var i = 1;for(i =1; idocument.getElementById("btn_"+i).attachEvent("onclick", function a(){var v = i;function b() {alert(

2016-04-23 20:38:34 283

转载 java--自定义标签(tag、tld两种)

jsp自定义标签 Tag文件版 实现一个与上篇文章类似的Select标签功能1.在WEB-INF/tags/select.taguri="http://java.sun.com/jstl/core_rt" %>        ${attrEntry.key}="${attrEntry.value }"   >  

2016-03-25 23:14:10 489

原创 spring中自定义注解(annotation)与获取注解

package me.lichunlong.spring.annotation;import java.lang.annotation.Documented;   import java.lang.annotation.ElementType;   import java.lang.annotation.Retention;   import java.lang.annotat

2016-03-16 10:19:13 5033 1

原创 Java面试基础

Java基础 一、对比篇1、final, finally, finalize的区别final:如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在new一个对象时初始化(即只能在声明变量或构造器或

2016-03-16 10:08:38 333

javaCV_demo.zip

使用javacv FFmpeg实现摄像头录制,麦克风录制,音视频转码,然后推流的功能,可实现简易的直播效果。

2019-12-26

java agent demo

java agent demo, premain方式,使用javassist操作,运行请查看README

2019-07-25

从Paxos到Zookeeper 分布式一致性原理与实践.zip

从Paxos到Zookeeper 分布式一致性原理与实践

2019-06-17

java消息服务(第二版).pdf+源码

java消息服务(第二版).pdf 源码

2018-12-19

jvm反汇编插件hsdis

jvm反汇编插件hsdis 32位和64位,放入如:\Java\jdk1.8.0_141\jre\bin\server

2018-12-12

区块链学习文档

区块链原理、设计与应用, 图说区块链,区块链技术指南

2018-11-16

图解TCPIP高清书签

图解TCPIP高清书签

2018-11-15

dubbo中文文档集

dubbo中文文档集,包括用户手册,开发手册,管理员手册

2018-11-14

dubbo官方文档集

dubbo官方文档集,包括开发手册、用户手册、架构设计等等

2018-11-14

Hystrix-dashboard+turbine-web+说明文档

Hystrix-dashboard+turbine-web+说明文档,用于Hystrix项目的监控、多实例的聚合监控

2018-11-06

springboot+activiti流程设计

activiti在线流程图设计整合,springboot+activiti流程设计

2018-08-23

Hystrix源码简析

Hystrix源码简析:包括线程隔离和信号量隔离实现分析、熔断器实现分析等

2018-08-09

dubbo源码分析

公司同事分享的dubbo源码分析,非常好非常好非常好非常好非常好!

2018-07-27

Redis源码解析

redis源码解析,比较简单的介绍源码,大致了解内部结构。

2018-06-08

oracle安装

linux下oracle安装教程

2016-10-11

TRSBean帮助文档和.dll

TRSBean帮助文档和TRSBean.dll

2016-03-14

hbase参考文档

hbase参考文档,包括搭建,与spring整合,常用api等

2016-01-22

idea+jfinal+lucene

主要是里面的lucene全文检索,包括建索引,查询等

2015-05-12

mybatis框架实例

学习mybatis时自己写的实例,包括基本的数据库操作、级联查询等。

2015-04-17

hibernate框架实例

学hibernate框架时写的例子,基本功能都有,注释比较多,容易看懂。

2015-04-15

springmvc框架实例

springmvc框架实例,自己学习时写的,注释很多,springmvc的基本功能都有,包括:路径映射,视图解析,拦截器,异常处理等,不过先要有spring的基础哦

2015-04-02

spring框架实例

几乎全部涵盖了spring框架的整个使用,包括配置文件、IOC、AOP、jdbc、事务管理、注解等,注释也比较多,简单明了。

2015-03-10

简单的web登陆

自己学习java时用jfinal开发的简单的登陆注册web

2015-01-22

flash游戏优化

里面的优化技巧确实不错,特别是在做游戏时,这些优化都是很重要的

2014-07-26

Linux常用命令集

Linux系统常用命令全集,非常有用.欢迎大家下载

2013-11-15

Java编程技术(谭浩强编)

Java编程技术(谭浩强编)pdf 学java的一本好书。

2013-05-05

空空如也

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

TA关注的人

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