제가 알다시피 2 개의 프레임 워크는 모두 정적 코드 코드를 모니터 코드에 주입합니다. 차이점은 무엇입니까?AspectJ와 ASM의 차이점은 무엇입니까?
1
A
답변
2
ASM은 기존 바이트 코드를 조작하거나 새 바이트 코드를 쉽게 생성 할 수있는 API를 제공하는 프레임 워크/라이브러리입니다.
반면에 AspectJ는 aspect와 관련된 프로그래밍 개념으로 Java 런타임의 기능을 확장하기 위해 특별히 고안된 자체 구문을 사용하여 Java 언어 상단의 언어 확장 기능을 제공합니다. 여기에는 컴파일 시간 또는 런타임에 실행될 수있는 컴파일러/위버가 포함됩니다.
그들은 기존의 바이트 코드의 바이트 코드 조작 및/또는 새로운 바이트 코드 생성으로 목표를 달성한다는 점에서 비슷합니다.
ASM은 기존 바이트 코드를 수정하는 방법에 대한 의견이 없기 때문에 더 일반적입니다. API 만 제공하므로 원하는대로 할 수 있습니다. 반면에 AspectJ는 더 구체적이고 범위가 좁으며 미리 정의 된 몇 가지 AOP 구조체 만 지원한다.하지만 aspectj 언어를 사용하면 훨씬 쉽게 작업 할 수있다. 당신을 제공합니다.
내가 본 대부분의 경우, AspectJ는 충분하지만 드문 경우에는 ASM이 좋은 대안이 될 수 있지만 비슷한 결과를 얻기 위해서는 더 많은 프로그래밍 작업이 필요하다. .
관련 문제
- 1. asm의 구조
- 2. 전쟁 프로젝트에서 AspectJ와 maven을 사용하는 방법은 무엇입니까?
- 3. AspectJ와 Wicket이 Injector에 nullpointer를 던졌습니다.
- 4. AspectJ와 Springboot가 함께 작동하지 않음
- 5. ASM의 파일에서 플로트 읽기
- 6. ClassWriter ASM의 COMPUTE_FRAMES
- 7. asm의 불가능한 제약
- 8. ASM의 문자열 비교
- 9. ASM의 x86_64에 안녕하세요 세계 프로그램
- 10. ASM의 어떤 명령어는 디버깅에만 필요합니까?
- 11. C 인라인 asm의 PCLMULQDQ 명령어
- 12. ASM의 lodsw가 내 간단한 프로그램이
- 13. AspectJ와 스프링 보안으로 성공적인 로그인을 캡처하십시오.
- 14. asm intel 구문을 사용하여 c에서 asm의 char에 액세스하는 방법은 무엇입니까?
- 15. gdb : ASM의 메모리 주소에 값을 인쇄하는 방법
- 16. AT & T asm의 "outb"는 무엇을 의미합니까?
- 17. ASM의 Java 메소드 매개 변수 값
- 18. 비트 맵 ASM의 색상 특정 행
- 19. 꽤 방법을 ASM의 바이트 코드로 인쇄
- 20. ASM의 LocalVariablesSorter와의 가변 슬롯 충돌 방지
- 21. asm의 참조 인수가있는 C++ 멤버 함수 호출
- 22. 인라인 asm의 cmpxchg가있는 세그먼트 화 오류
- 23. 차이점은 무엇입니까
- 24. 차이점은 무엇입니까?
- 25. 차이점은 무엇입니까?
- 26. 서명 내가 ASM의 지침에 대한 몇 가지 질문이 조립
- 27. collection.find와 콜백의 차이점은 무엇입니까? 의 차이점은 무엇
- 28. HttpCookie와 쿠키의 차이점은 무엇입니까?
- 29. django.contrib.syndication.feeds.Feed와 django.contrib.syndication.views.Feed의 차이점은 무엇입니까?
- 30. PHP4와 PHP5의 차이점은 무엇입니까?