- 博客(13)
- 收藏
- 关注
原创 java agent方式实现方法参数收及处理,可以指定任意处理器
基于Java字节码技术实现的可配置、收集数据并执行处理器方法的agent,可以指定任意的处理器
2022-07-08 20:46:30
703
1
原创 JSON的ANTLR语法规则
grammar JSON;/**JSON语法:对象规则:一个对象是一组无序的键值对集合。一个对象以一个左花括号({)开始,且以一个右花括号(})结束。每个键后跟一个冒号(:),键值对之间由逗号(,)分隔,键必须是字符串。数组规则:数组是一组值得有序集合。一个数组由一个左方括号([)开始,由一个右方括号(])结束 。其中之由逗号(,)分隔。值规则:一个值可以是一个双引号包围的字符串、一个数字、true/false、null、一个对象或者一个数组。这些结构中可能发生嵌套/json
2021-03-19 16:06:09
341
原创 java中属性复制工具类实现
介绍在做开发的过程中经常会遇到属性的复制,如果手动逐个进行复制会很麻烦,所以需要一个工具类来简化开发。下面介绍两种方式,一个是借助spring框架的BeanUtils,另一个是自己封装。借助BeanUtils完成工具类借助spring的BeanUtils有限制,只能在spring环境下使用,下面看代码:import org.springframework.beans.BeanUtils;import java.beans.PropertyDescriptor;import java.lang.
2020-12-03 20:46:05
824
原创 编译java代码时保留参数名称
介绍有的时候我们需要知道命名方法参数时指定的方法名称,但是如果没有特别指定的话java编译器是不保留原来的参数名称的。例如springMVC中用到在不指定@RequestParam的参数名称时,默认使用参数名称,所以此时保留参数名称就很用意义了。指定编译时的参数为: -parameters使用//定义类A,方法中只有一个参数,名称为namepublic class A{ public void say(String name){}}//javac A.java编译代码,通过反射获取到
2020-11-27 21:52:48
1104
原创 java中枚举的基本原理
介绍枚举是一一列举的意思,列出某个有穷集合的所有成员。java中的枚举是在jdk1.5出现的,在枚举类型没出现之前,开发人员是采用在接口中定义常量来代表枚举的。使用枚举有什么好处呢?首先见名知意,看见枚举名称,就能知道枚举所代表的意思;其次使用枚举类型可以有强制的类型约束。枚举的基本原理Java中的枚举都是集成子Enum这个抽象类,下面来看下这个类中有哪些方法和字段://所有枚举的父类public abstract class Enum<E extends Enum<E>>
2020-11-27 17:35:46
575
原创 Mybatis学习笔记之用到的反射类
介绍Mybatis中与反射有关的类主要在 org.apache.ibatis.reflection 包下,主要涉及以下几个方面对象的创建 -> ObjectFactory类的Class对象解析 -> Reflector对象字段值的设置 -> MetaObject反射的基础知识可以参考这篇文章:https://blog.youkuaiyun.com/weixin_45341408/article/details/109902262ObjectFactory对象的创建首先看看java中有
2020-11-22 18:25:48
617
原创 java中的反射及Class对象常用方法介绍
介绍有一个有意思的小实验,有一盆水,在盆中放上镜子,放到阳光下,镜子反射到墙面的光变成了彩虹。通过反射,可以知道光是由七种颜色组成的。java中的反射又叫内省或者自省,简单来说就是知道自己身上有什么东西。我们知道一个类有自己的继承体系,由构造器、方法和字段组成,jdk1.5之后加入了注解。所以这些东西都能通过反射拿到。Java中跟反射有关的类有:Class、Constructor、Method、Filed。下面介绍这四个类中经常使用的方法。Class对象Class对象是由java虚拟机创建的,当我
2020-11-21 23:51:20
988
2
原创 java中注解的使用及解析
介绍java中有四大类型,分别是:类、接口、枚举、注解。注解是jdk1.5加入到语言规范的,注解主要有两个作用,一,给编译器传递信息,例如@Override方法重载,@SuppressWarnings抑制编译警告等等;二、开发人员可以携带一些信息到运行时期而不用改变原有的代码逻辑,主要用于框架。所有注解都是Annotation接口的子接口,Annotation中的方法:public interface Annotation { //判断两个注解是否相等 boolean equals(Obje
2020-11-20 10:49:29
651
原创 Mybatis学习笔记之泛型介绍及解析
泛型介绍我们都知道一个数据类型可以定义很多变量,例如:int a,b,c,d;那有没有一种类型可以定义或代表很多种数据类型呢?这就是泛型出现的原因。泛型简单来说就是数据类型参数化。java中泛型是在jdk1.5出现的,之所以能出现还要得益于Object对象,因为java中泛型属于伪泛型,采用泛型擦除机制,最终泛型对象都是被Object对象引用。既然说最终都是Object对象,那为什么还要出现泛型,这不是对此一举吗?因为泛型带来的好处是编译时期检查,可以防止"猫中出现狗"的现象。jdk中跟泛型有关的接
2020-11-19 20:52:23
1538
原创 MyBatis学习笔记之占位符解析
简介占位符,顾名思义就是先占住一个位置,占位符解析就是把这事先占住的位置解析成,所想要的值。常见的占位符有#{},${},{}等等。使用占位符有好处是采用统一的表达方式,根据不同解析策略,可以有不同的结果;占位符解析流程确定所要解析占位符的前缀和后缀取出前后缀所包裹的标记,token对token进行解析及占位符的替换具体解析过程1、定义TokenParserimport com.weikun.handler.TokenHandler;public class TokenParser
2020-11-17 23:00:44
735
原创 mybatis学习笔记之java的XPath介绍及使用
XPath简介XPath是jdk1.5提供的,与DOM解析方式搭配,解析XML文件。XPath使用路径表达式来获取XML文件指定的节点或节点集合,常见的路径表达式见下表:表达式表达式含义/从根节点选取指定节点//选择文档中的任意节点,而不考虑它们的位置.选取当前节点…选取父节点@选取属性*匹配任意节点@*选取任意属性node()匹配任意节点text()匹配文本节点|或语法,匹配多个节点[]指定条件,例如
2020-11-16 22:49:16
401
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人