- 博客(1144)
- 资源 (21)
- 收藏
- 关注
原创 Java框架技术核心基石系列教程(13)——注解入门
Annotation作为元数据可以被添加到Java源代码类、方法、变量、参数、包。虽然源码中添加了注解,但是Annotation不会直接影响程序的执行,无论增加或者删除Annotation,原代码的执行都始终如一。在中文里,常将Annotation翻译为“注解”或者"注释",在本系列教程中我们统一采用"注解"的译法。
2021-01-25 22:30:40
15
原创 Java框架技术核心基石系列教程(12)——内省
在之前的教程中,我们学习了通过反射在运行时获取类的属性、方法、构造函数、创建对象等操作。在项目开发过程中JavaBean的使用非常广泛、为方便操作JavaBean中的属性JDK专门提供了相应的方法;此类方法我们常称之为内省。
2021-01-21 21:58:18
80
原创 Java框架技术核心基石系列教程(10)——结合反射在运行时获取泛型信息
在本节教程中我们通过Class在运行时获取泛型信息,例如:字段的泛型、方法的泛型。
2021-01-19 19:27:16
85
1
原创 Java框架技术核心基石系列教程(09)——利用Class全面解析类信息(5)
在本节教程中我们通过Class在运行时操作对象的非静态成员方法和静态成员方法。
2021-01-18 00:24:56
107
原创 Java框架技术核心基石系列教程(08)——利用Class全面解析类信息(4)
在本节教程中我们通过Class在运行时操作对象的非静态成员变量和静态成员变量。
2021-01-18 00:23:48
69
1
原创 Java框架技术核心基石系列教程(06)——利用Class全面解析类信息(2)
在本节教程中我们通过Class在运行时获取类的基本信息、类的属性、类的构造函数、类的方法。
2021-01-13 18:40:12
86
原创 Java框架技术核心基石系列教程(05)——利用Class全面解析类信息(1)
之前我们说:可通过四种方式获得Class对象;一旦拿到Class对象之后,我们就可以像庖丁解牛一般全面解析类中的所有组成部分了。
2021-01-12 19:16:29
97
原创 Java框架技术核心基石系列教程(04)——Class类详解
类加载器将类的.class文件加载进内存之后会在堆内存的方法区中产生Class类型的对象;该对象包含了类的所有结构信息。一个类有且只有一个Class对象,相同的类具有相同的Class对象 。我们只要获得了Class对象,就可以全面剖析一个类并可创建该类的对象且调用其方法。
2021-01-12 17:26:58
81
原创 Java框架技术核心基石系列教程(03)——类的加载过程
一个类型从被加载到虚拟机内存中开始到卸载出内存为止,它的整个生命周期将会经历加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)、卸载(Unloading)七个阶段。
2021-01-12 17:25:47
120
原创 Java框架技术核心基石系列教程(02)——反射技术应用场景剖析
在学习反射之前,我们先来了解反射的应用场景。在项目的开发过程中使用多个服务(server)处理数据流(data flow),例如:server A、server B、server C;当项目上线之后,需要添加新的服务server D。图示如下:
2021-01-12 17:24:14
131
原创 Java框架技术核心基石系列教程(01)——编程语言类型及其特征
近十几年来,在Java和Android开发领域中涌现出许多优秀的框架,比如:Spring、Hibernate、Mybatis、Retrofit、Afinal、OKHttp、ButterKnife等等。这些框架的出现极大地简化了开发流程,提高了工作效率。在项目开发的过程中我们主要是使用这些轮子完成项目,很难有时间去顾及框架的内部实现。虽然,这些主流框架的功能各不相同,但每当打开浩繁的源码时我们几乎都可以看到反射,注解,泛型的广泛应用;也正是这些技术使得框架具有了高度的灵活性,优良的扩展性和健壮的稳定性。故
2021-01-12 17:13:08
159
2
原创 javap反编译命令的使用
平常开发过程中常使用jadx反编译工具进行反编译过程。其实,对于简单的反编译工作亦可以使用JDK自带的命令行工具javap。
2021-01-07 21:50:29
111
原创 Java单例模式的终结者
我们都知道:单例模式的核心在于通过该类只能创建一个对象;就算多次创建所获得的对象均是同一个。有没有办法让一个单例类创建出不同的对象呢?答案是肯定的。今天,我们就来通过反射技术终结单例模式!
2020-12-09 21:13:34
194
1
原创 Integer缓存IntegerCache详解
IntegerCache缓存区间为[-128,127]。在调用Integer.valueOf(int i)方法进行自动装箱时假若i的值在[-128,127]区间则生成的Integer对象会被存入缓冲区。当再次对该值进行装箱时会先去缓冲区中获取;如果取到则返回,如果没有取到则创建包装类对象存入缓冲区并返回。
2020-11-27 10:59:28
228
1
原创 PowerDesigner 15 概念数据模型字段不能重复的解决方案
默认情况下,使用PowerDesigner 15 设计概念模型不同Entity中的字段名不能重复。
2020-11-19 23:19:51
179
原创 PowerDesigner 15 License Key失效的解决方案
原本使用的是试用版的Power Designer 15 ;奈何,过了试用期就无法再正常使用了。而且,在网上搜罗的License Key均已失效。
2020-11-12 20:15:18
428
1
原创 Java数据结构与算法分析——求两个字符的最大子串
找出两个字符串中的最大子串,即最大的交集。例如:udappyzk和xzhappymol最大子串为appy
2020-10-28 19:18:04
450
3
原创 Java数据结构与算法分析——二分法查找
现存一个有序数组{ 2, 5, 8, 12, 16, 23, 38, 56, 72, 91 },请利用二分法查找出元素23所对应的下标index。二分查找的前提是数组中的元素是有序的,否则无法查找。
2020-10-27 22:29:08
672
7
原创 Java数据结构与算法分析——简单选择排序
现存在一个无序数组{9,1,2,5,7,4,8,6,3,5},请利用简单选择排序将数组按照从小到大(从大到小)排序。取出第一个元素依次与其后的每个元素比较,若大于则交换位置,在第一次排序完成后第一个元素存放的就是数组中的最小值
2020-10-27 21:16:45
89
原创 Java数据结构与算法分析——冒泡排序
现存在一个无序数组{1,9,7,5,3},请利用冒泡排序将数组按照从小到大(从大到小)排序。第一趟:一共五个数,比较了4回,流程如下:
2020-10-27 20:48:58
160
1
原创 Linux基础核心经典教程(022)——CentOS安装MySQL
之前,我们在CentOS中安装了JDK、Tomcat、Eclipse;接下来,我们在CentOS中安装MySQL数据库。在CentOS中安装MySQL之前需要检查当前系统是已经安装MySQL。若有,则需要先删除旧版本再安装新版本。检查是否已安装MySQL,语法如下:
2020-09-13 23:36:25
343
1
原创 Linux基础核心经典教程(021)——CentOS安装Eclipse
之前,我们在CentOS中安装了JDK、Tomcat;接下来,我们在CentOS中安装Eclipse。在此,详细介绍Eclipse的安装步骤。
2020-09-13 23:33:48
209
原创 Linux基础核心经典教程(020)——CentOS安装Tomcat
之前,我们在CentOS中安装了JDK;接下来,我们在CentOS中安装Tomcat。在此,详细介绍Tomcat的安装步骤。
2020-09-11 19:22:40
3099
2
原创 Linux基础核心经典教程(019)——CentOS安装JDK
从本节教程开始,我们尝试在CentOS上搭建Java开发环境,即在CentOS中安装:JDK、Tomcat、Eclipse、MySQL。嗯哼,我们从JDK开始吧。在此,详细介绍JDK的安装步骤。
2020-09-10 12:43:15
989
1
原创 Linux基础核心经典教程(018)——RPM和YUM
在Linux中有一个系统软件包,它的功能类似于Windows里面的"添加/删除程序",但是功能又比"添加/删除程序"强大很多,它就是著名的Red Hat Package Manager(简称RPM)。RPM最先由Red Hat公司推出,鉴于其性能显著后来被其他Linux其它版本所借用。在Linux中常用RPM管理后缀名为rpm的文件。
2020-09-07 21:36:07
1660
2
原创 Linux基础核心经典教程(017)——组管理与权限管理
在之前的教程中,我们说过:Linux系统是一个多用户多任务的操作系统,用户必须拥有账号才可以进入Linux。在Linux的用户管理中存在着一个非常重要的概念:用户组。用户组,简称为组;它非常类似于工作中的部门;例如,一个公司通常有:行政部、财务部、研发部、销售部等等;公司的每个员工必属于其中的一个或多个部门。同理,Linux 的用户至少要属于一个组,也可属于多个组。当然,每个组可以有一个或者多个用户。
2020-09-01 19:15:59
407
原创 Linux基础核心经典教程(016)——压缩和解压指令
在本节教程中主要学习Linux中的压缩和解压指令。gzip用于压缩文件, gunzip用于解压文件。通过该命令将文件压缩成*.gz文件。请注意:使用 gzip 对文件进行压缩后,不再保留原文件。
2020-08-27 19:20:18
869
原创 Linux基础核心经典教程(015)——查找指令
locate 指令用于快速定位文件路径。 locate 指令利用事先建立的文件名称及路径的数据库实现快速定位给定的文件,查询速度较快。
2020-08-26 20:37:02
1650
1
原创 Linux基础核心经典教程(013)——文件和目录指令
在本节教程中,我们来学习与文件和目录相关的指令。在讲解指令之前,我们先来回顾Linux文件系统的目录结构。Linux的文件系统采用级层式的树状目录结构。在该结构中的最上层是根目录/ ,图示如下:
2020-08-20 20:26:30
1037
原创 Linux基础核心经典教程(010)——Linux系统运行级别
Linux运行级别指的是操作系统当前正在运行的功能级别。CentOS6中,在/etc/inittab文件中定义了从0到6的7个级别。其各级别说明如下:
2020-08-18 20:36:24
394
原创 Linux基础核心经典教程(009)——用户管理
Linux系统是一个多用户多任务的操作系统,用户必须拥有账号才可以进入Linux。在Linux的用户管理中存在着一个非常重要的概念:用户组。用户组,简称为组;它非常类似于工作中的部门;例如,一个公司通常有:行政部、财务部、研发部、销售部等等;公司的每个员工必属于其中的一个或多个部门。同理,Linux 的用户至少要属于一个组,也可属于多个组。当然,每个组可以有一个或者多个用户。
2020-08-18 20:33:57
929
原创 Linux基础核心经典教程(008)——vi/vim文本编辑器
在Windows中常使用系统自带的记事本编辑文档。类似地,Linux内置了vi文本编辑器用于编辑文档。除了vi之外,还有vim编辑器。vim可看做是vi的增强版本,可用于简单的软件开发与程序设计。使用vi/vim打开文档时默认进入正常模式;正常模式也称为一般模式。在正常模式下可以使用“上下左右”键移动光标;可使用“复制”和“粘贴”等操作。总之:在正常模式下不可直接编辑文档。
2020-08-14 21:52:16
755
仿QQ获取设备中APK并分享
2016-04-30
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝