文档章节

Spring源码阅读ClassUtils里的几个常量值【有趣的】

洛水
 洛水
发布于 2018/12/29 13:32
字数 254
阅读 17
收藏 2

看aop部分的代码的时候,看到spring判断调用ClassUtilsisCglibProxyClass方法判断中,有个判断类名的方法:

className.contains(CGLIB_CLASS_SEPARATOR)

然后就看了一眼常量值,非常有趣。

	// "java.lang.String[]" style arrays
	/** Suffix for array class names: "[]" */
	public static final String ARRAY_SUFFIX = "[]";

	// "[[I" or "[[Ljava.lang.String;" style arrays
	/** Prefix for internal array class names: "[" */
	private static final String INTERNAL_ARRAY_PREFIX = "[";

	// "[Ljava.lang.String;" style arrays
	/** Prefix for internal non-primitive array class names: "[L" */
	private static final String NON_PRIMITIVE_ARRAY_PREFIX = "[L";

	/** The package separator character '.' */
	private static final char PACKAGE_SEPARATOR = '.';

	// 这个就是内部类啊~内部类的间隔符
	/** The inner class separator character '$' */
	private static final char INNER_CLASS_SEPARATOR = '$';

	/** The CGLIB class separator character "$$" */
	public static final String CGLIB_CLASS_SEPARATOR = "$$";

	/** The ".class" file suffix */
	public static final String CLASS_FILE_SUFFIX = ".class";

内部类的间隔符 ==>

                    Collections.sort(list, new Comparator<TabBean>(){
                        @Override
                        public int compare(TabBean o1, TabBean o2) {
                            return o1.getSort() - o2.getSort();
                        }
                    });

	class InnerClass {}
	
	static class StaticInnerClass {}
	
	public class PublicInnerClass {}

	public static class PublicInnerStaticClass {}

© 著作权归作者所有

下一篇: Cglib2AopProxy
洛水

洛水

粉丝 21
博文 94
码字总数 15370
作品 0
杭州
程序员
私信 提问
请教spring源码的阅读方法

oschina上不贬大牛,想请教一下,spring源码的阅读方法。 在没有考虑,一头栽进去的时候,发现,阅读起来有些困难。 我是先从ContextListener开始逐步阅读的。感觉,spring拥有众多接口,用i...

大东哥
2010/06/03
4.3K
6
向Spring大佬低头——大量源码流出解析

用Spring框架做了几年的开发,只停留在会用的阶段上,然而Spring的设计思想和原理确实一个巨大的宝库。大部分人仅仅知道怎么去配,或着加上什么属性就能达到什么效果,这些东西都可以通过查文...

Java团长17
2018/07/11
0
0
干货:阅读跟踪 Java 源码的几个小技巧!

今天跟大家分享一下我平时阅读源码的几个小技巧,对于阅读Java中间件如Spring、Dubbo等框架源码的同学有一定帮助。 本文基于Eclipse IDE,我们每天都使用的IDE其实提供了很多强大的功能,掌握...

技术小能手
2018/11/08
0
0
请别再问Spring Bean的生命周期了!

Spring Bean的生命周期是Spring面试热点问题。这个问题即考察对Spring的微观了解,又考察对Spring的宏观认识,想要答好并不容易!本文希望能够从源码角度入手,帮助面试者彻底搞定Spring Be...

sunshujie1990
05/30
0
0
Spring IOC 容器源码分析 - 获取单例 bean

1. 简介 为了写 Spring IOC 容器源码分析系列的文章,我特地写了一篇 Spring IOC 容器的导读文章。在导读一文中,我介绍了 Spring 的一些特性以及阅读 Spring 源码的一些建议。在做完必要的准...

coolblog
2018/06/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

PostgreSQL参数search_path影响及作用

search_path稍微熟悉PG就会用到,用法这里就不必讲,本篇主要讲它在程序里怎样处理。 1、GUC参数定义 这是个 config_string 参数 {{"search_path", PGC_USERSET, CLIENT_CONN_STATEMENT,...

有理想的猪
今天
9
0
Qt程序各个平台打包发布及安装程序大全

本文链接:https://blog.csdn.net/zhengtianzuo06/article/details/78468111 通用: 1.准备图标 图标可以直接使用一般格式的图片制作, 比如jpg, png等 推荐使用Photoshop制作原始图 推荐使用I...

shzwork
今天
12
0
springboot2.0 maven打包分离lib,resources

springboot将工程打包成jar包后,会出现获取classpath下的文件出现测试环境正常而生产环境文件找不到的问题,这是因为 1、在调试过程中,文件是真实存在于磁盘的某个目录。此时通过获取文件路...

陈俊凯
今天
23
0
BootStrap

一、BootStrap 简洁、直观、强悍的前端开发框架,让web开发更加迅速、简单 中文镜像网站:http://www.bootcss.com 用于开发响应式布局、移动设备优先的WEB项目 1、使用boot 创建文件夹,在文...

wytao1995
今天
10
0
小知识:讲述Linux命令别名与资源文件的区别

别名 别名是命令的快捷方式。为那些需要经常执行,但需要很长时间输入的长命令创建快捷方式很有用。语法是: alias ppp='ping www.baidu.com' 它们并不总是用来缩短长命令。重要的是,你将它...

老孟的Linux私房菜
今天
26
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部