一个java源文件中可以定义多个class类;在java源文件只要有一个class类的定义,那么必然会生成对应的class文件;在java源文件中可以没有public class类,但是如果有的话,public class修饰的类名必须与源文件名保持一致,且java源文件中的public class ...
分类:
编程语言 时间:
2020-07-23 23:25:00
阅读次数:
95
接口概述:接口是Java语言中的一种引用类型,是方法的"集合",所以接口的内部主要就是定义方法,包含常量,抽象方法(JDK7及以前),额外增加默认方法和静态方法(JDK8),额外增加私有方法(jdk9)。接口的定义,它与定义类方式相似,但是使用interface关键字。它也会被编译成.class文件,但一定要明确它并不是类,而是另外一种引用数据类型。publicclass类名.
分类:
编程语言 时间:
2020-07-22 20:22:17
阅读次数:
76
1. 动态代理分类 动态代理的两种实现方式:1)JDK动态代理;2)CGLIB动态代理 2. JDK动态代理Demo JDK动态代理所用到的代理类在程序调用到代理类对象时才由JVM真正创建,JVM根据传进来的 业务实现类对象 以及 方法名 ,动态地创建了一个代理类的class文件并被字节码引擎执行, ...
分类:
编程语言 时间:
2020-07-21 00:53:49
阅读次数:
81
Java虚拟机中类加载的过程 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现这个类进行初始化。 1. 加载 加载,是指Java虚拟机查找字节流(查找.class文件),并且根据字节流创建java.lang.Class对象的过程。这个过程,将类的.class ...
分类:
编程语言 时间:
2020-07-19 23:57:08
阅读次数:
101
1.JDBC(java Data Base Connectivity)Java语言连接数据库系统JDBCj接口是一套class文件,由sun公司制定2.连接数据库驱动:各大厂商编写的JDBC接口的实现类,编译以后将这些实现类打包成jar并且发布;jar在Java.sql.*里边;3.API(Appl ...
分类:
数据库 时间:
2020-07-19 23:51:12
阅读次数:
137
类加载子系统 概述 完整图如下: 如果自己想手写一个 Java 虚拟机的话,主要考虑哪些结构呢? 类加载器 执行引擎 类加载器子系统作用 类加载器子系统负责从文件系统或者网络中加载 Class 文件,Class 文件在文件开头有特定的文件标识(CAFE BABE)。 ClassLoader 只负责 ...
分类:
其他好文 时间:
2020-07-19 23:39:47
阅读次数:
51
1.内部类与匿名类 *内部类定义 将类的定义 class xxx{...}放入一个类的内部,编译器生成 xxx$xxx的class文件 //内部类不能与外部类同名 *内部类使用 封装它的类的内部使用内部类,与普通类的使用方式相同 在其他地方,类名前要冠以外部类的名字 在用new创建内部类时,也要在n ...
分类:
编程语言 时间:
2020-07-18 15:39:38
阅读次数:
65
声明:本文摘抄自:https://blog.csdn.net/u010349169/article/details/50412126 Java虚拟机和真实的计算机一样,运行的都是二进制的机器码;而我们将.java 源代码编译成.class 文件,class文件便是Java虚拟机能够认识的二进制机器码 ...
分类:
编程语言 时间:
2020-07-17 19:23:20
阅读次数:
66
声明:本文摘抄自:https://blog.csdn.net/u010349169/article/details/50412126 Java虚拟机和真实的计算机一样,运行的都是二进制的机器码;而我们将.java 源代码编译成.class 文件,class文件便是Java虚拟机能够认识的二进制机器码 ...
分类:
编程语言 时间:
2020-07-17 16:19:46
阅读次数:
55
继承ClassLoader并且重写findClass方法就可以自定义一个类加载器,具体什么是类加载器以及类加载器的加载过程与顺序下次再说,下面给出一个小demo 首先定义一个类,比如MyTest,并且将其编译成class文件,然后放到一个指定的文件夹下面,其中文件夹的最后几层就是它的包名,这里我将这 ...
分类:
编程语言 时间:
2020-07-17 14:00:59
阅读次数:
112