2017年2月22日
摘要:
上一篇文章简单介绍了 javaagent ,想了解的可以移步 “JavaAgent” 本文重点说一下,JavaAgent 能给我们带来什么? 一、基于 JavaAgent 的应用实例 JDK5中只能通过命令行参数在启动JVM时指定javaagent参数来设置代理类,而JDK6中已经不仅限于在启动JV
阅读全文
posted @ 2017-02-22 16:56
让编程成为一种习惯
阅读(4568)
推荐(0)
编辑
摘要:
JavaAgent 是JDK 1.5 以后引入的,也可以叫做Java代理。 JavaAgent 是运行在 main方法之前的拦截器,它内定的方法名叫 premain ,也就是说先执行 premain 方法然后再执行 main 方法。 那么如何实现一个 JavaAgent 呢?很简单,只需要增加 ...
阅读全文
posted @ 2017-02-22 16:53
让编程成为一种习惯
阅读(1811)
推荐(0)
编辑
摘要:
在JAVA中将class文件编译成jar文件包,运行提示没有主清单属性。这是怎么回事? 今天来教大家如何解决这个问题 1、在java中编译JAR文件的时候我们都会用到,jar这个命令。 当用着jar 文件时候我们不可少的是cvf这几个参数来生成jar文件。 但是用个文件来了,在用不使用工具的前提...
阅读全文
posted @ 2017-02-22 16:32
让编程成为一种习惯
阅读(839)
推荐(0)
编辑
2017年2月21日
摘要:
1.Class文件基础 (1)文件格式 Class文件的结构不像XML等描述语言那样松散自由。由于它没有任何分隔符号, 所以,以上数据项无论是顺序还是数量都是被严格限定的。哪个字节代表什么 含义,长度是多少,先后顺序如何,都不允许改变。 (2)数据类型 仔细观察上面的Class文件格式,可以看出Cl
阅读全文
posted @ 2017-02-21 17:50
让编程成为一种习惯
阅读(4391)
推荐(0)
编辑
摘要:
原文链接:http://blog.jamesdbloom.com/JVMInternals.html This article explains the internal architecture of the Java Virtual Machine (JVM). The following di
阅读全文
posted @ 2017-02-21 17:49
让编程成为一种习惯
阅读(431)
推荐(0)
编辑
摘要:
聊聊文字,写一篇关于 java 基础知识的博文。 JVM 线程栈 到 函数运行 每一个JVM线程来说启动的时候都会创建一个私有的线程栈。一个jvm线程栈用来存储栈帧,jvm线程栈和C语言中的栈很类似,它负责管理局部变量、部分运算结果,同时也参与到函数调用和函数返回的工作中。JVM规范中运行线程栈的大
阅读全文
posted @ 2017-02-21 17:48
让编程成为一种习惯
阅读(826)
推荐(0)
编辑
摘要:
一、什么是ASM ASM是一个java字节码操纵框架,它能被用来动态生成类或者增强既有类的功能。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。Java class 被存储在严格格式定义的 .class文件里,这些类文件拥有足够的元数据来解析类中
阅读全文
posted @ 2017-02-21 17:46
让编程成为一种习惯
阅读(262)
推荐(0)
编辑
摘要:
用了一下午总算把java agent给跑通了,本篇文章记录一下具体的操作步骤,以免遗忘。。。 通过java agent可以动态修改代码(替换、修改类的定义),进行AOP。 目标: ? 1 为所有添加@ToString注解的类实现默认的toString方法 ? 1 为所有添加@ToString注解的类
阅读全文
posted @ 2017-02-21 17:35
让编程成为一种习惯
阅读(1415)
推荐(0)
编辑
摘要:
main类: Java code ? 1 2 3 4 public static void main(String[] args) { File file = new File("e:\\3.txt"); System.out.println(file.getName()); } Java code
阅读全文
posted @ 2017-02-21 17:24
让编程成为一种习惯
阅读(467)
推荐(0)
编辑
摘要:
pclass = Class.forName("get_class_method.Person"); //Field ageField = pclass.getField("age");//因为age成员变量是私有的,所以会产生NoSuchFieldException异常 Field ageField = pclass.getDeclaredFie...
阅读全文
posted @ 2017-02-21 17:04
让编程成为一种习惯
阅读(248)
推荐(0)
编辑
摘要:
YAML是“另一种标记语言”的外语缩写[1] (见前方参考资料原文内容);但为了强调这种语言以数据做为中心,而不是以置标语言为重点,而用返璞词重新命名。它是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。 它是类似于标准通用
阅读全文
posted @ 2017-02-21 17:02
让编程成为一种习惯
阅读(6795)
推荐(0)
编辑
摘要:
javap是JDK自带的反汇编器,可以查看java编译器为我们生成的字节码。通过它,我们可以对照源代码和字节码,从而了解很多编译器内部的工作。 javap是JDK自带的反汇编器,可以查看java编译器为我们生成的字节码。通过它,我们可以对照源代码和字节码,从而了解很多编译器内部的工作。 语法: ja
阅读全文
posted @ 2017-02-21 17:00
让编程成为一种习惯
阅读(1494)
推荐(0)
编辑
摘要:
jstack?-- 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。另外,jstack工具还可以附属到正在运行的java程序中,看到 当时运行的java
阅读全文
posted @ 2017-02-21 16:58
让编程成为一种习惯
阅读(654)
推荐(0)
编辑
摘要:
一直在学习Java,碰到了很多问题,碰到了很多关于i++和++i的难题,以及最经典的String str = "abc" 共创建了几个对象的疑难杂症。 知道有一日知道了java的反汇编 命令 javap。现将学习记录做一小结,以供自己以后翻看。如果有错误的地方,请指正 1.javap是什么: whe
阅读全文
posted @ 2017-02-21 16:57
让编程成为一种习惯
阅读(13351)
推荐(1)
编辑