Java常量池理解与总结一.相关概念1、什么是常量用final修饰的成员变量表示常量,值一旦给定就无法改变!final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。2、Class文件中的常量池在Class文件结构中,最头的4个字节用于存储魔数MagicNumber,用于确定一个文件是否能被JVM接受,再接着4个字节用于存储版本号,前2个字节存储次版本号,后2个存储主版本号
分类:
编程语言 时间:
2020-02-12 20:43:32
阅读次数:
94
今天开始学习java,首先搞搞清楚这几个东西之间的关系。 java是可以跨平台的高级语言。高级语言就需要编译,执行。我们写完java源代码之后,第一步要编译。这时候就用到JDK,jdk中的javac命令,将java编译成字节码,也就是二进制码,也就是.class文件,但是这个二进制码不是真正的机器码 ...
分类:
编程语言 时间:
2020-02-12 18:53:01
阅读次数:
59
Java常量池理解与总结 一.相关概念 1、什么是常量 用final修饰的成员变量表示常量,值一旦给定就无法改变! final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。 2、Class文件中的常量池 在Class文件结构中,最头的4个字节用于存储魔数Magic Numb ...
分类:
编程语言 时间:
2020-02-12 16:39:45
阅读次数:
81
Java开发环境配置 JDK开发环境配置 Java环境变量涉及到三个名词:JAVA_HOME、PATH、CLASSPATH。 JAVA_HOME代表JDK安装主目录,PATH代表JDK下可执行文件目录,CLASSPATH代表运行java程序时需要查找class文件的目录。 依据上面的安装步骤: JA ...
分类:
编程语言 时间:
2020-02-12 13:22:22
阅读次数:
64
1.首先新建一个Demo02.class文件并且实现接口Filter,导入包,重写三个方法 2.打开Web.xml写入Demo02的类的地址和拦截地址(url-pattern) <filter> <filter-name>Demo02</filter-name> <filter-class>cn.k ...
分类:
其他好文 时间:
2020-02-12 13:19:41
阅读次数:
76
一、概述 我们都知道 *.java 文件要首先被编译成 *.class 文件才能被 JVM 认识,这部分的工作主要由 Javac 来完成,类似于 Javac 这样的我们称之为前端编译器; 但是 *.class 文件也不是机器语言,怎么才能让机器识别呢?就需要 JVM 将 *.class 文件编译成机 ...
分类:
编程语言 时间:
2020-02-10 11:46:00
阅读次数:
61
JDK和CGLib动态代理区别 JDK动态代理:利用拦截器(拦截器必须实现InvocationHanlder)加上反射机制生成一个实现代理接口的匿名类, 在调用具体方法前调用InvokeHandler来处理。 CGLib动态代理:利用ASM开源包,对代理对象类的class文件加载进来,通过修改其字节 ...
分类:
编程语言 时间:
2020-02-10 10:10:39
阅读次数:
95
资料来源于《明解 Java》日本作者 写的很详细 1:命令 java 类名 该命令不是去执行类名.class文件(文件名和类名有可能不一致),切记是表示执行具体的类; 2:“字符”+数值 执行顺序时先把数值转换为字符型“数值”,再进行的字符串的+运算,不是简单的字符串+数值获得新字符串; 3:=赋值 ...
分类:
编程语言 时间:
2020-02-08 15:29:51
阅读次数:
71
Java是一门可以跨平台的语言,但是Java本身是不可以实现跨平台的,需要JVM实现跨平台。javac编译好后的class文件,在Windows、Linux、Mac等系统上,只要该系统安装对应的Java虚拟机,class文件都可以运行。达到”一次编译,到处运行”的效果。 一、JVM是什么? 而JVM ...
分类:
其他好文 时间:
2020-02-08 09:14:43
阅读次数:
65
按照代理的创建时期,代理类可以分为两种。 静态代理:由程序员创建或特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。 动态代理:在程序运行时,运用反射机制动态创建而成。 动态代理三种方式 动态代理实现有三种方式,jdk动态代理(基于接口),cglib动态代理(基 ...
分类:
其他好文 时间:
2020-02-06 12:16:08
阅读次数:
79