나는 최근에 ASM API을 찾고 있었는데 그들은 Nodes
을 많이 사용합니다. 나는 어떤 포괄적 인 답을 찾지는 못했지만 어떤 노드가 실제로 있는지 알아 내려고 노력했다. 그래서 누군가가 노드가 무엇인지, 노드가 무엇을 위해 사용되는지를 간단한 단어로 설명 할 수 있습니까?Java ASM 노드 란 무엇입니까?
편집 : 나는 노드가 추상적 인 의미에서 사용되는 ASM의 API
나는 최근에 ASM API을 찾고 있었는데 그들은 Nodes
을 많이 사용합니다. 나는 어떤 포괄적 인 답을 찾지는 못했지만 어떤 노드가 실제로 있는지 알아 내려고 노력했다. 그래서 누군가가 노드가 무엇인지, 노드가 무엇을 위해 사용되는지를 간단한 단어로 설명 할 수 있습니까?Java ASM 노드 란 무엇입니까?
편집 : 나는 노드가 추상적 인 의미에서 사용되는 ASM의 API
Node
의 맥락에서 무엇을 요구하고있다. 노드를 이해하려면 일반적으로 노드가 무엇인지 이해해야합니다.
네트워크은 함께 연결된 항목 그룹입니다. 이러한 항목이 서로 연결할 수있는 여러 가지 방법이 있으므로 네트워크 유형이 다양합니다.
노드은 해당 네트워크의 항목입니다. 예를 들어, 컴퓨터 네트워크 :
Client
/
Server ---- Client
\
Client
이 네트워크에는 4 개의 노드가 있습니다. 1 서버 및 3 클라이언트. 원하는 경우 ServerNode
및 ClientNode
으로 간주 할 수 있습니다.
이제 ASM
의 컨텍스트에서 네트워크는 바이트 코드를 조작하는 코드입니다. 이제 네트워크가 무엇인지 알았으므로 노드를 구별하는 것이 자명합니다.
MethodNode
은 방법을 나타낸다. 설명서를 보면 String name
String signature
및 int maxStack
과 같은 필드가 있음을 알 수 있습니다. 이것들은보고있는 특정 메소드 (MethodNode)의 속성입니다.
용어 Node
바로, 당신은 *은 ASM의 API의 컨텍스트 내에서 요청하고 있습니다 * 그냥 확인하기 위해 API
에 걸쳐 동일? 그렇지 않으면 전체 답변 수 있습니다. –
예, ASM API의 컨텍스트에서 묻습니다. –
자바의 주어진 비트에 대한 추상 구문 트리 (AST)의 노드라고 생각합니다. – yshavit