【译】javassist使用指南三(ClassLoader)

三、ClassLoader

如果事先知道哪些类需要修改,最简单的修改类方式如下:

阅读更多

【译】javassist使用指南二(ClassPool)

二、ClassPool

ClassPool对象是CtClass对象的容器。一旦一个CtClass对象被创建,将会被记录到ClassPool对象中。这是因为编译器编译CtClass所包含的源码(通过API修改增加的源码)时,编译器需要访问该CtClass对象。

阅读更多

【译】javassist使用指南一(前言、读写字节码)

零、前言

Javassist(Java Programming Assistant)让Java字节码操纵变得简单。它是一个在Java开发中编辑字节码的类库;它能够让java程序在运行时定义新的类,也可以在jvm加载类的时候修改类文件。与其他字节码编辑类库不同的是,Javassist提供了两个层次的API:源码级别和字节码级别。如果用户使用源码级别的API,可以在不了解Java字节码规范的情况下编辑类文件,整个源码级别的API按照Java语言风格进行设计。你甚至可以将源文本插入到指定的字节码中,Javassist会将源文本进行即时编译。另外一方面,字节码级别的API允许用户像使用其他字节码编辑类库一样编辑类文件。

阅读更多

maven-shade-plugin介绍

[TOC]

阅读更多

Java Agent

[TOC]

阅读更多

org.demo.Hello World!——内嵌Jetty支持Servlet

org.demo.Hello World!——内嵌Jetty支持Servlet

一、引入依赖包

内嵌Jetty支持servlet、jsp, jsp支持jstl和el表达式,除了需要引入jetty-webapp之外,还需要引入apache-jsp和apache-jstl, jsp也是编译成servlet。

阅读更多

org.demo.Hello World!——内嵌Jetty

org.demo.Hello World!——内嵌Jetty

[TOC]

阅读更多

Java多线程的实现方式

Java中实现多线程的方式

一、继承Thread类

继承Thread类,重写run方法,调用Thread的start()方法启动线程:

阅读更多

Dockerfile构建jdk镜像和tomcat镜像

[TOC]

阅读更多

zookeeper安装:单机模式、伪集群模式、集群模式

zookeeper的安装分为三种模式: 单机模式、伪集群模式和集群模式。

阅读更多