2014-01-19 2 views
1

나는 최근에 ASM API을 찾고 있었는데 그들은 Nodes을 많이 사용합니다. 나는 어떤 포괄적 인 답을 찾지는 못했지만 어떤 노드가 실제로 있는지 알아 내려고 노력했다. 그래서 누군가가 노드가 무엇인지, 노드가 무엇을 위해 사용되는지를 간단한 단어로 설명 할 수 있습니까?Java ASM 노드 란 무엇입니까?

편집 : 나는 노드가 추상적 인 의미에서 사용되는 ASM의 API

+5

에 걸쳐 동일? 그렇지 않으면 전체 답변 수 있습니다. –

+0

예, ASM API의 컨텍스트에서 묻습니다. –

+1

자바의 주어진 비트에 대한 추상 구문 트리 (AST)의 노드라고 생각합니다. – yshavit

답변

2

Node의 맥락에서 무엇을 요구하고있다. 노드를 이해하려면 일반적으로 노드가 무엇인지 이해해야합니다.

네트워크은 함께 연결된 항목 그룹입니다. 이러한 항목이 서로 연결할 수있는 여러 가지 방법이 있으므로 네트워크 유형이 다양합니다.

노드은 해당 네트워크의 항목입니다. 예를 들어, 컴퓨터 네트워크 :

  Client 
     /
Server ---- Client 
      \ 
      Client 

이 네트워크에는 4 개의 노드가 있습니다. 1 서버 및 3 클라이언트. 원하는 경우 ServerNodeClientNode으로 간주 할 수 있습니다.

이제 ASM의 컨텍스트에서 네트워크는 바이트 코드를 조작하는 코드입니다. 이제 네트워크가 무엇인지 알았으므로 노드를 구별하는 것이 자명합니다.

MethodNode은 방법을 나타낸다. 설명서를 보면 String nameString signatureint maxStack과 같은 필드가 있음을 알 수 있습니다. 이것들은보고있는 특정 메소드 (MethodNode)의 속성입니다.

용어 Node 바로, 당신은 *은 ASM의 API의 컨텍스트 내에서 요청하고 있습니다 * 그냥 확인하기 위해 API