自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 记录一次排查问题遇到apache.commons.beanutils包的坑

引言 在开发过程中,难免需要用到对象转换器,比如apache的BeanUtils、ConvertUtils还有spring的BeanUtils。我们在公司的项目中就使用了apache的BeanUtils和ConvertUtils作为公共的对象转换工具。但是在没有充分理解源代码的情况下,添加个性化Converter就会出现意想不到的bug。下面我来介绍一下我在排查问题中遇到的这个...

2019-12-03 12:31:14 3638

原创 Spark2.3.3源码解析——RPC框架初始化详解

作为分布式系统的spark rpc通信是一个很重要的课题。在spark2.3.3版本中rpc框架已经由akka替换成netty实现。接下来我们先介绍一下spark rpc中的组件,然后根据sparkcontext初始化过程来分析rpc组件如何初始化和使用原理。 在spark中定义transportclient和transportserver来封装netty的channe...

2019-07-29 09:59:31 631

原创 Himly框架源码解析

Hmily框架知识点:1.基础配置@Hmily注解 @Hmily(confirmMethod = "", cancelMethod = "")     在所有需要配置分布式事务的方法上加上此注解,主要配置confirm方法和cancel方法。注意try、confirm、cancel方法的入参必须一样。Hmily会根据注解自动创建成服务链记录于日志。Himly一共有4种事务状态:...

2019-01-27 13:20:14 1087

原创 java类型信息之RTTI

之前看java编程思想第十四章类型信息,直接跳过了对RTTI概念的理解,只看了class、instanceof等的用法,发现这样的做法是不可取的,因为这样就只是会用这些提供的类而忽略了真正的原理。 RTTI假定我们在编译时已经知道了所有类型,然后RTTI才能在运行时进行正确性检查,这里是比较容易误解的地方,举个例子:public class RuntimeClas...

2018-05-25 15:22:57 326

原创 synchronized 关键字

synchronized作用范围和作用对象 synchronized关键字是java用来支持原子性操作的,synchronized可以作用于方法、语句块、静态方法上。synchronized针对不同形式作用对象也不同--对象锁和类锁。对象锁的意思就是synchronized可以锁住该引用对象,类锁的意思是synchronized可以锁住该类的所有对象。作用于方法上:锁住引用方法...

2019-09-04 20:36:34 111

原创 Java内存区域与内存溢出异常

    Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。了解这些区域可以为接下来的学习打好基础。一、运行时数据区域1.程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处...

2018-07-15 21:38:26 95

原创 枚举类型

基础enum特性    以前一直以为enum是区别于类的一个类型,实际上在创建enum实例的时候编译器会为你生成一个相关的子类,这个类继承自java.lang.Enum下面简单介绍下enum的使用public enum Shrubbery { GROUND, CRAWLING, HANGIND}public class EnumClass { public sta...

2018-07-01 20:29:57 158

原创 泛型解读

简单泛型

2018-06-24 23:59:27 181

原创 动态代理扩展

java实现动态代理的方式有三种 AOP、jdk的动态代理、cglib代理

2018-06-19 00:02:06 307

原创 内部类解读

      内部类对于新手来说就像是个谜团,极少接触到,也极少用到,更加不知道在什么场景下使用内部类。内部类就是将一个类(内部类)的定义放入另一个类(外围类)的定义内部。内部类更多的是辅助外围类,可以理解为外围类需要一个独立的类来帮助他完成工作。今天我们来介绍一下内部类一些比较常见的用法和特性。下面先来介绍下内部类的基本用法。     创建一个内部类其实很简单,下图就是一个最简单的定义。(...

2018-05-06 16:58:15 216

空空如也

空空如也

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

TA关注的人

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