Skip to content

Instantly share code, notes, and snippets.

View zhanggang807's full-sized avatar
🤗

Dean Zhang zhanggang807

🤗
View GitHub Profile
@zhanggang807
zhanggang807 / MyClassGeneratorByASM.java
Created January 19, 2018 08:09
generator class with asm lib.
public class MyClassGeneratorByASM {
public static void main(String[] args) throws IOException {
System.out.println();
ClassWriter classWriter = new ClassWriter(0);
// 通过visit方法确定类的头部信息
classWriter.visit(Opcodes.V1_7,// java版本
Opcodes.ACC_PUBLIC,// 类修饰符
"Programmer", // 类的全限定名
@zhanggang807
zhanggang807 / UserServiceImpl.java
Created January 12, 2018 05:55
dynamic proxy of CG lib
public class UserServiceImpl {
public void add() {
System.out.println("This is add service");
}
public void delete(int id) {
System.out.println("This is delete service?delete " + id);
}
@zhanggang807
zhanggang807 / Service.java
Last active January 10, 2018 07:33
dynamic proxy of JDK
public interface Service {
//目标方法
public abstract void add();
}
class UserServiceImpl implements Service {
public void add() {
@zhanggang807
zhanggang807 / Subject.java
Created January 10, 2018 06:53
static proxy in java language
public interface Subject {
void request();
}
class RealSubject implements Subject {
public void request() {
System.out.println("RealSubject");
@zhanggang807
zhanggang807 / 32.asm
Created May 10, 2017 04:53 — forked from FiloSottile/32.asm
NASM Hello World for x86 and x86_64 Intel Mac OS X (get yourself an updated nasm with brew)
; /usr/local/bin/nasm -f macho 32.asm && ld -macosx_version_min 10.7.0 -o 32 32.o && ./32
global start
section .text
start:
push dword msg.len
push dword msg
push dword 1
mov eax, 4