Skip to content

Commit a32ad90

Browse files
committed
Reflection: 类图, Socket: backlog
1 parent 77e4db0 commit a32ad90

File tree

5 files changed

+385
-34
lines changed

5 files changed

+385
-34
lines changed

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,6 @@ JDK源码阅读笔记
4343

4444
[ThreadLocal](https://github.com/seaswalker/JDK/blob/master/note/ThreadLocal/threadlocal.md)
4545

46+
[Reflection](https://github.com/seaswalker/JDK/blob/master/note/Reflection/reflection.md)
47+
4648

note/Reflection/Reflection.uml

+337
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,337 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<XPD:PROJECT xmlns:XPD="http://www.staruml.com" version="1">
3+
<XPD:HEADER>
4+
<XPD:SUBUNITS>
5+
</XPD:SUBUNITS>
6+
<XPD:PROFILES>
7+
</XPD:PROFILES>
8+
</XPD:HEADER>
9+
<XPD:BODY>
10+
<XPD:OBJ name="DocumentElement" type="UMLProject" guid="OgMvQ//nPEa3ihAvljlC+wAA">
11+
<XPD:ATTR name="Title" type="string">Reflection</XPD:ATTR>
12+
<XPD:ATTR name="#OwnedElements" type="integer">1</XPD:ATTR>
13+
<XPD:OBJ name="OwnedElements[0]" type="UMLModel" guid="kailyBPKekuUixQ3X4Ac0wAA">
14+
<XPD:ATTR name="Name" type="string">classes</XPD:ATTR>
15+
<XPD:REF name="Namespace">OgMvQ//nPEa3ihAvljlC+wAA</XPD:REF>
16+
<XPD:ATTR name="#OwnedDiagrams" type="integer">1</XPD:ATTR>
17+
<XPD:OBJ name="OwnedDiagrams[0]" type="UMLClassDiagram" guid="/e3GRMridkSx10/d+pVdCQAA">
18+
<XPD:ATTR name="Name" type="string">Class</XPD:ATTR>
19+
<XPD:REF name="DiagramOwner">kailyBPKekuUixQ3X4Ac0wAA</XPD:REF>
20+
<XPD:OBJ name="DiagramView" type="UMLClassDiagramView" guid="hUx0MHSzG0iJppT5Y1wpygAA">
21+
<XPD:REF name="Diagram">/e3GRMridkSx10/d+pVdCQAA</XPD:REF>
22+
<XPD:ATTR name="#OwnedViews" type="integer">7</XPD:ATTR>
23+
<XPD:OBJ name="OwnedViews[0]" type="UMLInterfaceView" guid="4vBApGXNU0S2gQ1yorelUwAA">
24+
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
25+
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
26+
<XPD:ATTR name="Left" type="integer">163</XPD:ATTR>
27+
<XPD:ATTR name="Top" type="integer">44</XPD:ATTR>
28+
<XPD:ATTR name="Width" type="integer">388</XPD:ATTR>
29+
<XPD:ATTR name="Height" type="integer">85</XPD:ATTR>
30+
<XPD:ATTR name="StereotypeDisplay" type="UMLStereotypeDisplayKind">sdkNone</XPD:ATTR>
31+
<XPD:REF name="Model">EjXqGPk9REiBDT5eizwq/AAA</XPD:REF>
32+
<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="F9Ad8UyUeEyAijBWFD+qgwAA">
33+
<XPD:OBJ name="NameLabel" type="LabelView" guid="UEPqWd35vEauLVs+zQtYBAAA">
34+
<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
35+
<XPD:ATTR name="Text" type="string">AnnotatedElement</XPD:ATTR>
36+
</XPD:OBJ>
37+
<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="YIRuJVDKTUqLfa07U2n8VAAA">
38+
<XPD:ATTR name="Text" type="string">&lt;&lt;interface&gt;&gt;</XPD:ATTR>
39+
</XPD:OBJ>
40+
<XPD:OBJ name="PropertyLabel" type="LabelView" guid="biAnMamk6kelIVAjKrvgUgAA">
41+
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
42+
</XPD:OBJ>
43+
</XPD:OBJ>
44+
<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="rUwno/l1gECtxi5uSAPDoQAA">
45+
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
46+
<XPD:REF name="Model">EjXqGPk9REiBDT5eizwq/AAA</XPD:REF>
47+
</XPD:OBJ>
48+
<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="GWO6yPDvpEWnO90jqVWOMgAA">
49+
<XPD:REF name="Model">EjXqGPk9REiBDT5eizwq/AAA</XPD:REF>
50+
</XPD:OBJ>
51+
</XPD:OBJ>
52+
<XPD:OBJ name="OwnedViews[1]" type="UMLInterfaceView" guid="uY1bb1yYVU2ZwVld8Qm0AwAA">
53+
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
54+
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
55+
<XPD:ATTR name="Left" type="integer">624</XPD:ATTR>
56+
<XPD:ATTR name="Top" type="integer">44</XPD:ATTR>
57+
<XPD:ATTR name="Width" type="integer">132</XPD:ATTR>
58+
<XPD:ATTR name="Height" type="integer">59</XPD:ATTR>
59+
<XPD:ATTR name="StereotypeDisplay" type="UMLStereotypeDisplayKind">sdkNone</XPD:ATTR>
60+
<XPD:REF name="Model">SphIExM8KkWUU5rvRTJ3oAAA</XPD:REF>
61+
<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="nrxSP1b84EGYeUwhPTZVWwAA">
62+
<XPD:OBJ name="NameLabel" type="LabelView" guid="UwnKq/4BiE+nLkrwZ7+DLgAA">
63+
<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
64+
<XPD:ATTR name="Text" type="string">Type</XPD:ATTR>
65+
</XPD:OBJ>
66+
<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="DQOX1QIibka6L5rnMsAO9AAA">
67+
<XPD:ATTR name="Text" type="string">&lt;&lt;interface&gt;&gt;</XPD:ATTR>
68+
</XPD:OBJ>
69+
<XPD:OBJ name="PropertyLabel" type="LabelView" guid="I6ZFIe/K/kKSBbD5q9dGAwAA">
70+
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
71+
</XPD:OBJ>
72+
</XPD:OBJ>
73+
<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="bZcvrL2suEOBux0U4CjzVgAA">
74+
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
75+
<XPD:REF name="Model">SphIExM8KkWUU5rvRTJ3oAAA</XPD:REF>
76+
</XPD:OBJ>
77+
<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="jD0HF9yzu0+WcBpahvoTcwAA">
78+
<XPD:REF name="Model">SphIExM8KkWUU5rvRTJ3oAAA</XPD:REF>
79+
</XPD:OBJ>
80+
</XPD:OBJ>
81+
<XPD:OBJ name="OwnedViews[2]" type="UMLInterfaceView" guid="u0+3GIzrr02utA57VFQw/QAA">
82+
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
83+
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
84+
<XPD:ATTR name="Left" type="integer">250</XPD:ATTR>
85+
<XPD:ATTR name="Top" type="integer">184</XPD:ATTR>
86+
<XPD:ATTR name="Width" type="integer">215</XPD:ATTR>
87+
<XPD:ATTR name="Height" type="integer">59</XPD:ATTR>
88+
<XPD:ATTR name="StereotypeDisplay" type="UMLStereotypeDisplayKind">sdkNone</XPD:ATTR>
89+
<XPD:REF name="Model">Q78cNgBGLEKiprl+m58sIwAA</XPD:REF>
90+
<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="VRtk0XdPbUu5p78HerIJBAAA">
91+
<XPD:OBJ name="NameLabel" type="LabelView" guid="8IdyMlRC8Em6LJEASGRSbgAA">
92+
<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
93+
<XPD:ATTR name="Text" type="string">GenericDeclaration</XPD:ATTR>
94+
</XPD:OBJ>
95+
<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="5SvJFTxu8Em8aEsV5VvaRAAA">
96+
<XPD:ATTR name="Text" type="string">&lt;&lt;interface&gt;&gt;</XPD:ATTR>
97+
</XPD:OBJ>
98+
<XPD:OBJ name="PropertyLabel" type="LabelView" guid="TKvw9QPHgkaJAGK7FdrJzQAA">
99+
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
100+
</XPD:OBJ>
101+
</XPD:OBJ>
102+
<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="7Z8LKrYv6ECqbpEPjVdIXQAA">
103+
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
104+
<XPD:REF name="Model">Q78cNgBGLEKiprl+m58sIwAA</XPD:REF>
105+
</XPD:OBJ>
106+
<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="0ygO1k4I9Eaq25rb80MbTQAA">
107+
<XPD:REF name="Model">Q78cNgBGLEKiprl+m58sIwAA</XPD:REF>
108+
</XPD:OBJ>
109+
</XPD:OBJ>
110+
<XPD:OBJ name="OwnedViews[3]" type="UMLClassView" guid="1JDemZt2Hky5wGeE0ca/VQAA">
111+
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
112+
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
113+
<XPD:ATTR name="Left" type="integer">532</XPD:ATTR>
114+
<XPD:ATTR name="Top" type="integer">288</XPD:ATTR>
115+
<XPD:ATTR name="Width" type="integer">86</XPD:ATTR>
116+
<XPD:ATTR name="Height" type="integer">43</XPD:ATTR>
117+
<XPD:REF name="Model">HFJzh/h2i0KjRcjOZttpNAAA</XPD:REF>
118+
<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="yQRoBh2PkkOSANYQ9G5XOgAA">
119+
<XPD:OBJ name="NameLabel" type="LabelView" guid="cUsNyLh3IkeDSZ08TO0JnAAA">
120+
<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
121+
<XPD:ATTR name="Text" type="string">Class</XPD:ATTR>
122+
</XPD:OBJ>
123+
<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="iIKSe94kDEmjlacJeCxh5gAA">
124+
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
125+
</XPD:OBJ>
126+
<XPD:OBJ name="PropertyLabel" type="LabelView" guid="U9fmShWESUuWJFSh+w/mhwAA">
127+
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
128+
</XPD:OBJ>
129+
</XPD:OBJ>
130+
<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="jkbfmJDuFEKPfeV2iUvyhgAA">
131+
<XPD:REF name="Model">HFJzh/h2i0KjRcjOZttpNAAA</XPD:REF>
132+
</XPD:OBJ>
133+
<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="cAQm54NDUkuDfehGR55YeQAA">
134+
<XPD:REF name="Model">HFJzh/h2i0KjRcjOZttpNAAA</XPD:REF>
135+
</XPD:OBJ>
136+
<XPD:OBJ name="TemplateParameterCompartment" type="UMLTemplateParameterCompartmentView" guid="eecUo4j4H0210g1ghYCwwwAA">
137+
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
138+
<XPD:REF name="Model">HFJzh/h2i0KjRcjOZttpNAAA</XPD:REF>
139+
</XPD:OBJ>
140+
</XPD:OBJ>
141+
<XPD:OBJ name="OwnedViews[4]" type="UMLGeneralizationView" guid="M61+D1bOqE6Sb0LyCycfkAAA">
142+
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
143+
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
144+
<XPD:ATTR name="Points" type="Points">357,184;356,128</XPD:ATTR>
145+
<XPD:REF name="Model">RrvEBqkj10m/unbJW7x40QAA</XPD:REF>
146+
<XPD:REF name="Head">4vBApGXNU0S2gQ1yorelUwAA</XPD:REF>
147+
<XPD:REF name="Tail">u0+3GIzrr02utA57VFQw/QAA</XPD:REF>
148+
<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="yEhuG6C66UG7Rrey5Vjl+QAA">
149+
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
150+
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
151+
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
152+
<XPD:REF name="Model">RrvEBqkj10m/unbJW7x40QAA</XPD:REF>
153+
</XPD:OBJ>
154+
<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="ywedVTN/yUq+id2nF1eqfQAA">
155+
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
156+
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
157+
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
158+
<XPD:REF name="Model">RrvEBqkj10m/unbJW7x40QAA</XPD:REF>
159+
</XPD:OBJ>
160+
<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="0j3x4WbuzUWR4HLjmpj5cAAA">
161+
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
162+
<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
163+
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
164+
<XPD:REF name="Model">RrvEBqkj10m/unbJW7x40QAA</XPD:REF>
165+
</XPD:OBJ>
166+
</XPD:OBJ>
167+
<XPD:OBJ name="OwnedViews[5]" type="UMLRealizationView" guid="chACQgtHtkqXNq9hqHcmOgAA">
168+
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
169+
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
170+
<XPD:ATTR name="Points" type="Points">532,290;423,242</XPD:ATTR>
171+
<XPD:REF name="Model">IrfriTROvUqH2+UUGaAd1AAA</XPD:REF>
172+
<XPD:REF name="Head">u0+3GIzrr02utA57VFQw/QAA</XPD:REF>
173+
<XPD:REF name="Tail">1JDemZt2Hky5wGeE0ca/VQAA</XPD:REF>
174+
<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="BHtgHiJLDEGX3BP792ZWWAAA">
175+
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
176+
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
177+
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
178+
<XPD:REF name="Model">IrfriTROvUqH2+UUGaAd1AAA</XPD:REF>
179+
</XPD:OBJ>
180+
<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="vWY7Pw8AmEeP2ZhX3GKY9AAA">
181+
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
182+
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
183+
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
184+
<XPD:REF name="Model">IrfriTROvUqH2+UUGaAd1AAA</XPD:REF>
185+
</XPD:OBJ>
186+
<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="5oBfhz+dbEOjpha1WO0WwwAA">
187+
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
188+
<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
189+
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
190+
<XPD:REF name="Model">IrfriTROvUqH2+UUGaAd1AAA</XPD:REF>
191+
</XPD:OBJ>
192+
</XPD:OBJ>
193+
<XPD:OBJ name="OwnedViews[6]" type="UMLRealizationView" guid="w8qNXgpPZ0Gr3xL45TF9iQAA">
194+
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
195+
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
196+
<XPD:ATTR name="Points" type="Points">584,288;675,102</XPD:ATTR>
197+
<XPD:REF name="Model">drkzWyCHGEOnIZ8cKFpEIAAA</XPD:REF>
198+
<XPD:REF name="Head">uY1bb1yYVU2ZwVld8Qm0AwAA</XPD:REF>
199+
<XPD:REF name="Tail">1JDemZt2Hky5wGeE0ca/VQAA</XPD:REF>
200+
<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="ifaZvfprtUuPD+Q8V6+x1AAA">
201+
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
202+
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
203+
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
204+
<XPD:REF name="Model">drkzWyCHGEOnIZ8cKFpEIAAA</XPD:REF>
205+
</XPD:OBJ>
206+
<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="UxWkkEXHA02vaKrNmWg9EgAA">
207+
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
208+
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
209+
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
210+
<XPD:REF name="Model">drkzWyCHGEOnIZ8cKFpEIAAA</XPD:REF>
211+
</XPD:OBJ>
212+
<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="H3JoXI7xfUi2Pc5G63vjBAAA">
213+
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
214+
<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
215+
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
216+
<XPD:REF name="Model">drkzWyCHGEOnIZ8cKFpEIAAA</XPD:REF>
217+
</XPD:OBJ>
218+
</XPD:OBJ>
219+
</XPD:OBJ>
220+
</XPD:OBJ>
221+
<XPD:ATTR name="#OwnedElements" type="integer">7</XPD:ATTR>
222+
<XPD:OBJ name="OwnedElements[0]" type="UMLInterface" guid="EjXqGPk9REiBDT5eizwq/AAA">
223+
<XPD:ATTR name="Name" type="string">AnnotatedElement</XPD:ATTR>
224+
<XPD:REF name="Namespace">kailyBPKekuUixQ3X4Ac0wAA</XPD:REF>
225+
<XPD:ATTR name="#Views" type="integer">3</XPD:ATTR>
226+
<XPD:REF name="Views[0]">4vBApGXNU0S2gQ1yorelUwAA</XPD:REF>
227+
<XPD:REF name="Views[1]">rUwno/l1gECtxi5uSAPDoQAA</XPD:REF>
228+
<XPD:REF name="Views[2]">GWO6yPDvpEWnO90jqVWOMgAA</XPD:REF>
229+
<XPD:ATTR name="#Specializations" type="integer">1</XPD:ATTR>
230+
<XPD:REF name="Specializations[0]">RrvEBqkj10m/unbJW7x40QAA</XPD:REF>
231+
<XPD:ATTR name="#Operations" type="integer">3</XPD:ATTR>
232+
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="G9WptuXJz02tIzZ1RaqqvAAA">
233+
<XPD:ATTR name="Name" type="string">T getAnnotation</XPD:ATTR>
234+
<XPD:REF name="Owner">EjXqGPk9REiBDT5eizwq/AAA</XPD:REF>
235+
<XPD:ATTR name="#Parameters" type="integer">1</XPD:ATTR>
236+
<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="v8DUZiFoTUKFuHMqJvczZQAA">
237+
<XPD:ATTR name="Name" type="string">Class&lt;T&gt; annotationClass</XPD:ATTR>
238+
<XPD:REF name="BehavioralFeature">G9WptuXJz02tIzZ1RaqqvAAA</XPD:REF>
239+
</XPD:OBJ>
240+
</XPD:OBJ>
241+
<XPD:OBJ name="Operations[1]" type="UMLOperation" guid="aDfVhpqv5E2ZeL+gMOKXFQAA">
242+
<XPD:ATTR name="Name" type="string">T getDeclaredAnnotation</XPD:ATTR>
243+
<XPD:REF name="Owner">EjXqGPk9REiBDT5eizwq/AAA</XPD:REF>
244+
<XPD:ATTR name="#Parameters" type="integer">1</XPD:ATTR>
245+
<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="xdN1bowJ8U2xBGBPeuBJCwAA">
246+
<XPD:ATTR name="Name" type="string">Class&lt;T&gt; annotationClass</XPD:ATTR>
247+
<XPD:REF name="BehavioralFeature">aDfVhpqv5E2ZeL+gMOKXFQAA</XPD:REF>
248+
</XPD:OBJ>
249+
</XPD:OBJ>
250+
<XPD:OBJ name="Operations[2]" type="UMLOperation" guid="ofulvMfQs06XBC2u3DWW+wAA">
251+
<XPD:ATTR name="Name" type="string">boolean isAnnotationPresent</XPD:ATTR>
252+
<XPD:REF name="Owner">EjXqGPk9REiBDT5eizwq/AAA</XPD:REF>
253+
<XPD:ATTR name="#Parameters" type="integer">1</XPD:ATTR>
254+
<XPD:OBJ name="Parameters[0]" type="UMLParameter" guid="Ocb9qbdlo0qx9/IuEtg7CQAA">
255+
<XPD:ATTR name="Name" type="string">Class&lt;? extends Annotation&gt; annotationClass</XPD:ATTR>
256+
<XPD:REF name="BehavioralFeature">ofulvMfQs06XBC2u3DWW+wAA</XPD:REF>
257+
</XPD:OBJ>
258+
</XPD:OBJ>
259+
</XPD:OBJ>
260+
<XPD:OBJ name="OwnedElements[1]" type="UMLInterface" guid="SphIExM8KkWUU5rvRTJ3oAAA">
261+
<XPD:ATTR name="Name" type="string">Type</XPD:ATTR>
262+
<XPD:REF name="Namespace">kailyBPKekuUixQ3X4Ac0wAA</XPD:REF>
263+
<XPD:ATTR name="#Views" type="integer">3</XPD:ATTR>
264+
<XPD:REF name="Views[0]">uY1bb1yYVU2ZwVld8Qm0AwAA</XPD:REF>
265+
<XPD:REF name="Views[1]">bZcvrL2suEOBux0U4CjzVgAA</XPD:REF>
266+
<XPD:REF name="Views[2]">jD0HF9yzu0+WcBpahvoTcwAA</XPD:REF>
267+
<XPD:ATTR name="#SupplierDependencies" type="integer">1</XPD:ATTR>
268+
<XPD:REF name="SupplierDependencies[0]">drkzWyCHGEOnIZ8cKFpEIAAA</XPD:REF>
269+
<XPD:ATTR name="#Operations" type="integer">1</XPD:ATTR>
270+
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="RwBbuinjNUCx93Bfrv+dtQAA">
271+
<XPD:ATTR name="Name" type="string">String getTypeName()</XPD:ATTR>
272+
<XPD:REF name="Owner">SphIExM8KkWUU5rvRTJ3oAAA</XPD:REF>
273+
</XPD:OBJ>
274+
</XPD:OBJ>
275+
<XPD:OBJ name="OwnedElements[2]" type="UMLInterface" guid="Q78cNgBGLEKiprl+m58sIwAA">
276+
<XPD:ATTR name="Name" type="string">GenericDeclaration</XPD:ATTR>
277+
<XPD:REF name="Namespace">kailyBPKekuUixQ3X4Ac0wAA</XPD:REF>
278+
<XPD:ATTR name="#Views" type="integer">3</XPD:ATTR>
279+
<XPD:REF name="Views[0]">u0+3GIzrr02utA57VFQw/QAA</XPD:REF>
280+
<XPD:REF name="Views[1]">7Z8LKrYv6ECqbpEPjVdIXQAA</XPD:REF>
281+
<XPD:REF name="Views[2]">0ygO1k4I9Eaq25rb80MbTQAA</XPD:REF>
282+
<XPD:ATTR name="#SupplierDependencies" type="integer">1</XPD:ATTR>
283+
<XPD:REF name="SupplierDependencies[0]">IrfriTROvUqH2+UUGaAd1AAA</XPD:REF>
284+
<XPD:ATTR name="#Generalizations" type="integer">1</XPD:ATTR>
285+
<XPD:REF name="Generalizations[0]">RrvEBqkj10m/unbJW7x40QAA</XPD:REF>
286+
<XPD:ATTR name="#Operations" type="integer">1</XPD:ATTR>
287+
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="+3lZok9dB0e/ZkjtaDZvegAA">
288+
<XPD:ATTR name="Name" type="string">TypeVariable&lt;?&gt;[] getTypeParameters</XPD:ATTR>
289+
<XPD:REF name="Owner">Q78cNgBGLEKiprl+m58sIwAA</XPD:REF>
290+
</XPD:OBJ>
291+
</XPD:OBJ>
292+
<XPD:OBJ name="OwnedElements[3]" type="UMLClass" guid="HFJzh/h2i0KjRcjOZttpNAAA">
293+
<XPD:ATTR name="Name" type="string">Class</XPD:ATTR>
294+
<XPD:REF name="Namespace">kailyBPKekuUixQ3X4Ac0wAA</XPD:REF>
295+
<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
296+
<XPD:REF name="Views[0]">1JDemZt2Hky5wGeE0ca/VQAA</XPD:REF>
297+
<XPD:REF name="Views[1]">jkbfmJDuFEKPfeV2iUvyhgAA</XPD:REF>
298+
<XPD:REF name="Views[2]">cAQm54NDUkuDfehGR55YeQAA</XPD:REF>
299+
<XPD:REF name="Views[3]">eecUo4j4H0210g1ghYCwwwAA</XPD:REF>
300+
<XPD:ATTR name="#ClientDependencies" type="integer">2</XPD:ATTR>
301+
<XPD:REF name="ClientDependencies[0]">IrfriTROvUqH2+UUGaAd1AAA</XPD:REF>
302+
<XPD:REF name="ClientDependencies[1]">drkzWyCHGEOnIZ8cKFpEIAAA</XPD:REF>
303+
</XPD:OBJ>
304+
<XPD:OBJ name="OwnedElements[4]" type="UMLGeneralization" guid="RrvEBqkj10m/unbJW7x40QAA">
305+
<XPD:REF name="Namespace">kailyBPKekuUixQ3X4Ac0wAA</XPD:REF>
306+
<XPD:REF name="Child">Q78cNgBGLEKiprl+m58sIwAA</XPD:REF>
307+
<XPD:REF name="Parent">EjXqGPk9REiBDT5eizwq/AAA</XPD:REF>
308+
<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
309+
<XPD:REF name="Views[0]">M61+D1bOqE6Sb0LyCycfkAAA</XPD:REF>
310+
<XPD:REF name="Views[1]">yEhuG6C66UG7Rrey5Vjl+QAA</XPD:REF>
311+
<XPD:REF name="Views[2]">ywedVTN/yUq+id2nF1eqfQAA</XPD:REF>
312+
<XPD:REF name="Views[3]">0j3x4WbuzUWR4HLjmpj5cAAA</XPD:REF>
313+
</XPD:OBJ>
314+
<XPD:OBJ name="OwnedElements[5]" type="UMLRealization" guid="IrfriTROvUqH2+UUGaAd1AAA">
315+
<XPD:REF name="Namespace">kailyBPKekuUixQ3X4Ac0wAA</XPD:REF>
316+
<XPD:REF name="Client">HFJzh/h2i0KjRcjOZttpNAAA</XPD:REF>
317+
<XPD:REF name="Supplier">Q78cNgBGLEKiprl+m58sIwAA</XPD:REF>
318+
<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
319+
<XPD:REF name="Views[0]">chACQgtHtkqXNq9hqHcmOgAA</XPD:REF>
320+
<XPD:REF name="Views[1]">BHtgHiJLDEGX3BP792ZWWAAA</XPD:REF>
321+
<XPD:REF name="Views[2]">vWY7Pw8AmEeP2ZhX3GKY9AAA</XPD:REF>
322+
<XPD:REF name="Views[3]">5oBfhz+dbEOjpha1WO0WwwAA</XPD:REF>
323+
</XPD:OBJ>
324+
<XPD:OBJ name="OwnedElements[6]" type="UMLRealization" guid="drkzWyCHGEOnIZ8cKFpEIAAA">
325+
<XPD:REF name="Namespace">kailyBPKekuUixQ3X4Ac0wAA</XPD:REF>
326+
<XPD:REF name="Client">HFJzh/h2i0KjRcjOZttpNAAA</XPD:REF>
327+
<XPD:REF name="Supplier">SphIExM8KkWUU5rvRTJ3oAAA</XPD:REF>
328+
<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
329+
<XPD:REF name="Views[0]">w8qNXgpPZ0Gr3xL45TF9iQAA</XPD:REF>
330+
<XPD:REF name="Views[1]">ifaZvfprtUuPD+Q8V6+x1AAA</XPD:REF>
331+
<XPD:REF name="Views[2]">UxWkkEXHA02vaKrNmWg9EgAA</XPD:REF>
332+
<XPD:REF name="Views[3]">H3JoXI7xfUi2Pc5G63vjBAAA</XPD:REF>
333+
</XPD:OBJ>
334+
</XPD:OBJ>
335+
</XPD:OBJ>
336+
</XPD:BODY>
337+
</XPD:PROJECT>

note/Reflection/images/Class.jpg

35.4 KB
Loading

note/Reflection/reflection.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
核心便是Class类,类图如下:
2+
3+
![Class](images/Class.jpg)
4+
5+
# 方法获取
6+

0 commit comments

Comments
 (0)