一、javap命令简述 javap是jdk自带的反解析工具。它的作用就是根据class字节码文件,反解析出当前类对应的code区(汇编指令)、本地变量表、异常表和代码行偏移量映射表、常量池等等信息。当然这些信息中,有些信息(如本地变量表、指令和代码行偏移量映射表、常量池中方法的参数名称等等)需要在使 ...
分类:
编程语言 时间:
2019-12-27 11:25:14
阅读次数:
100
一、什么是 JVM JVM(Java Virtual Machine)是一个可以执行 Java 字节码文件(即 .class 文件)的虚拟机进程。当 Java 源文件能被成功编译成 .class 文件,就能在不同平台上的不同版本的 JVM 运行,因为 JVM 能将相同的 .class 文件解释称不同 ...
分类:
其他好文 时间:
2019-12-25 01:53:41
阅读次数:
90
提前祝福各位读者??圣诞快乐!这个圣诞节请在学习中度过! 不啰嗦,直接从最最简单的一段Java源代码开启Java整体字节码分析之旅。 1、Java 源码文件 package com.dskj.jvm.bytecode; public class MyTest1 { private int a = 1 ...
分类:
编程语言 时间:
2019-12-24 11:57:18
阅读次数:
80
JVM - (1) 概念:是运行在操作系统之上, ,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收,堆和一个存储方法域。 - (2) 运行:Java源文(.java)——>编译器(.class)——>字节码文件——>JVM(解释器)——>机器码 2.1. 线程 当线程本地存储、缓冲区分配、同 ...
分类:
其他好文 时间:
2019-12-24 11:43:26
阅读次数:
75
语言特性 显著特点 1. 一次编译,到处运行,通过 java 虚拟机获取跨平台性 2. 垃圾回收,通过垃圾收集器回收内存 解释和编译 1. 一般情况下,java 源文件经过编译后,得到 .class 字节码文件,再被 jvm 解释器解释执行 2. JIT,just in time compile,即 ...
分类:
编程语言 时间:
2019-12-23 13:26:47
阅读次数:
87
Jsp是什么? Jsp本质上是一个servlet: Jsp在进行展示数据时,web容器会先将jsp转换给一个Servlet,然后再将servlet转换成字节码文件,最后再进行运行,因此jsp的效率是比较低的。 JSP指令: 指令的作用:1配置jsp页面 2导入外部资源 格式: <$@ 指令名称: 属 ...
分类:
Web程序 时间:
2019-12-21 20:50:54
阅读次数:
93
当多个线程操作统一成员变量或者静态变量,在做写的操作时就会发送线程安全问题,做读的操作不会发生线程安全问题。防止线程安全问题可以使用同步代码块(使用的时明锁),同步函数(使用的是this锁),静态同步函数(使用的字节码文件及类.class) 证明同步函数使用的this锁 一个线程使用同步代码,一个线 ...
分类:
其他好文 时间:
2019-12-19 19:01:34
阅读次数:
93
java反射就是通过字节码文件,创建对象,获取类的相关信息 反射获取Class的四种方式 1.调用运行时类本身的.class属性 Class clazz = String.class; 2,通过运行时类的对象获取 Person p = new Person(); Class clazz = p.ge ...
分类:
编程语言 时间:
2019-12-19 18:52:43
阅读次数:
69
第一步,新建web项目。 完成之后 第二步,在web/WEB-INF目录下新建两个文件夹,classes用于存放servlet的字节码文件(.class),lib用于存放项目引用的包。 第三步,点击View—>Open Module Settings,进入Modules(IDEA的工程)选项卡,将P ...
分类:
其他好文 时间:
2019-12-17 18:27:04
阅读次数:
145
转:https://www.cnblogs.com/yaoxiaowen/p/6753964.html 若注解在运行时(Runtime)通过反射机制来处理注解,既然是Runtime,那么总会有效率上的损耗,如果我们能够在编译期(Compile time)就能处理注解,那自然更好,而很多框架其实都是在 ...
分类:
编程语言 时间:
2019-12-15 23:26:57
阅读次数:
209