📄 framecontents.html
字号:
<A HREF="Chapter14.html#Heading493">Java Beans revisited</A><BR>
</UL>
<A HREF="Chapter14.html#Heading494">Blocking </A><BR>
<UL>
<A HREF="Chapter14.html#Heading495">Becoming blocked</A><BR>
<UL>
<A HREF="Chapter14.html#Heading496">Sleeping</A><BR>
<A HREF="Chapter14.html#Heading497">Suspending and resuming</A><BR>
<A HREF="Chapter14.html#Heading498">Wait and notify</A><BR>
<A HREF="Chapter14.html#Heading499">Blocking on IO</A><BR>
<A HREF="Chapter14.html#Heading500">Testing</A><BR>
</UL>
<A HREF="Chapter14.html#Heading501">Deadlock</A><BR>
<UL>
<A HREF="Chapter14.html#Heading502">The deprecation of stop( ), suspend( ), resume( ), and destroy( ) in Java 1.2</A><BR>
</UL>
</UL>
<A HREF="Chapter14.html#Heading503">Priorities</A><BR>
<UL>
<A HREF="Chapter14.html#Heading504">Thread groups</A><BR>
<UL>
<A HREF="Chapter14.html#Heading505">Controlling thread groups</A><BR>
</UL>
</UL>
<A HREF="Chapter14.html#Heading506">Runnable revisited</A><BR>
<UL>
<A HREF="Chapter14.html#Heading507">Too many threads</A><BR>
</UL>
<A HREF="Chapter14.html#Heading508">Summary</A><BR>
<A HREF="Chapter14.html#Heading509">Exercises</A><BR>
</UL>
<A HREF="Chapter15.html">15: Network programming</A><BR>
<UL>
<A HREF="Chapter15.html#Heading511">Identifying a machine</A><BR>
<UL>
<A HREF="Chapter15.html#Heading512">Servers and clients</A><BR>
<UL>
<A HREF="Chapter15.html#Heading513">Testing programs without a network</A><BR>
</UL>
<A HREF="Chapter15.html#Heading514">Port: a unique place within the machine</A><BR>
</UL>
<A HREF="Chapter15.html#Heading515">Sockets</A><BR>
<UL>
<A HREF="Chapter15.html#Heading516">A simple server and client</A><BR>
</UL>
<A HREF="Chapter15.html#Heading517">Serving multiple clients</A><BR>
<A HREF="Chapter15.html#Heading518">Datagrams</A><BR>
<A HREF="Chapter15.html#Heading519">A Web application</A><BR>
<UL>
<A HREF="Chapter15.html#Heading520">The server application</A><BR>
<UL>
<A HREF="Chapter15.html#Heading521">The C program</A><BR>
<A HREF="Chapter15.html#Heading522">The Java program</A><BR>
</UL>
<A HREF="Chapter15.html#Heading523">The NameSender applet</A><BR>
<UL>
<A HREF="Chapter15.html#Heading524">The Web page</A><BR>
</UL>
<A HREF="Chapter15.html#Heading525">Problems with this approach</A><BR>
</UL>
<A HREF="Chapter15.html#Heading526">Connecting Java to CGI</A><BR>
<UL>
<A HREF="Chapter15.html#Heading527">Encoding data for CGI</A><BR>
<A HREF="Chapter15.html#Heading528">The applet</A><BR>
<UL>
<A HREF="Chapter15.html#Heading529">Displaying a Web page from within an applet</A><BR>
</UL>
<A HREF="Chapter15.html#Heading530">The CGI program in C++</A><BR>
<A HREF="Chapter15.html#Heading531">What about POST?</A><BR>
</UL>
<A HREF="Chapter15.html#Heading532">Connecting to databases with JDBC</A><BR>
<UL>
<A HREF="Chapter15.html#Heading533">Getting the example to work</A><BR>
<UL>
<A HREF="Chapter15.html#Heading534">Step 1: Find the JDBC Driver</A><BR>
<A HREF="Chapter15.html#Heading535">Step 2: Configure the database</A><BR>
<A HREF="Chapter15.html#Heading536">Step 3: Test the configuration</A><BR>
<A HREF="Chapter15.html#Heading537">Step 4: Generate your SQL query</A><BR>
<A HREF="Chapter15.html#Heading538">Step 5: Modify and paste in your query</A><BR>
</UL>
<A HREF="Chapter15.html#Heading539">A GUI version of the lookup program</A><BR>
<A HREF="Chapter15.html#Heading540">Why the JDBC API seems so complex</A><BR>
</UL>
<A HREF="Chapter15.html#Heading541">Remote methods</A><BR>
<UL>
<A HREF="Chapter15.html#Heading542">Remote interfaces</A><BR>
<A HREF="Chapter15.html#Heading543">Implementing the remote interface</A><BR>
<UL>
<A HREF="Chapter15.html#Heading544">Setting up the registry</A><BR>
</UL>
<A HREF="Chapter15.html#Heading545">Creating stubs and skeletons</A><BR>
<A HREF="Chapter15.html#Heading546">Using the remote object</A><BR>
<A HREF="Chapter15.html#Heading547">Alternatives to RMI</A><BR>
</UL>
<A HREF="Chapter15.html#Heading548">Summary</A><BR>
<A HREF="Chapter15.html#Heading549">Exercises</A><BR>
</UL>
<A HREF="Chapter16.html">16: Design patterns</A><BR>
<UL>
<A HREF="Chapter16.html#Heading551">The pattern concept</A><BR>
<UL>
<A HREF="Chapter16.html#Heading552">The singleton</A><BR>
<A HREF="Chapter16.html#Heading553">Classifying patterns</A><BR>
</UL>
<A HREF="Chapter16.html#Heading554">The observer pattern</A><BR>
<A HREF="Chapter16.html#Heading555">Simulating the trash recycler</A><BR>
<A HREF="Chapter16.html#Heading556">Improving the design</A><BR>
<UL>
<A HREF="Chapter16.html#Heading557">“Make more objects”</A><BR>
<A HREF="Chapter16.html#Heading558">A pattern for prototyping creation</A><BR>
<UL>
<A HREF="Chapter16.html#Heading559">Trash subclasses</A><BR>
<A HREF="Chapter16.html#Heading560">Parsing Trash from an external file</A><BR>
<A HREF="Chapter16.html#Heading561">Recycling with prototyping</A><BR>
</UL>
</UL>
<A HREF="Chapter16.html#Heading562">Abstracting usage</A><BR>
<A HREF="Chapter16.html#Heading563">Multiple dispatching</A><BR>
<UL>
<A HREF="Chapter16.html#Heading564">Implementing the double dispatch</A><BR>
</UL>
<A HREF="Chapter16.html#Heading565">The “visitor” pattern</A><BR>
<UL>
<A HREF="Chapter16.html#Heading566">More coupling?</A><BR>
</UL>
<A HREF="Chapter16.html#Heading567">RTTI considered harmful?</A><BR>
<A HREF="Chapter16.html#Heading568">Summary</A><BR>
<A HREF="Chapter16.html#Heading569">Exercises</A><BR>
</UL>
<A HREF="Chapter17.html">17: Projects</A><BR>
<UL>
<A HREF="Chapter17.html#Heading571">Text processing</A><BR>
<UL>
<A HREF="Chapter17.html#Heading572">Extracting code listings</A><BR>
<UL>
<A HREF="Chapter17.html#Heading573">Building a packed file</A><BR>
<A HREF="Chapter17.html#Heading574">Extracting from a packed file</A><BR>
<A HREF="Chapter17.html#Heading575">Accessing and writing the listings</A><BR>
<A HREF="Chapter17.html#Heading576">Containing the entire collection of listings</A><BR>
<A HREF="Chapter17.html#Heading577">The main program</A><BR>
</UL>
<A HREF="Chapter17.html#Heading578">Checking capitalization style</A><BR>
</UL>
<A HREF="Chapter17.html#Heading579">A method lookup tool</A><BR>
<A HREF="Chapter17.html#Heading580">Complexity theory</A><BR>
<A HREF="Chapter17.html#Heading581">Summary</A><BR>
<A HREF="Chapter17.html#Heading582">Exercises</A><BR>
</UL>
<A HREF="AppendixA.html">A: Using non-Java code</A><BR>
<UL>
<A HREF="AppendixA.html#Heading584">The Java Native Interface</A><BR>
<UL>
<A HREF="AppendixA.html#Heading585">Calling a native method</A><BR>
<UL>
<A HREF="AppendixA.html#Heading586">The C header file generator: javah</A><BR>
<A HREF="AppendixA.html#Heading587">Name mangling and function signatures</A><BR>
<A HREF="AppendixA.html#Heading588">Implementing your DLL</A><BR>
</UL>
<A HREF="AppendixA.html#Heading589">Accessing JNI functions: The JNIEnv argument</A><BR>
<UL>
<A HREF="AppendixA.html#Heading590">Accessing Java Strings</A><BR>
</UL>
<A HREF="AppendixA.html#Heading591">Passing and using Java objects</A><BR>
<A HREF="AppendixA.html#Heading592">JNI and Java exceptions</A><BR>
<A HREF="AppendixA.html#Heading593">JNI and threading</A><BR>
<A HREF="AppendixA.html#Heading594">Using a pre-existing code base</A><BR>
</UL>
<A HREF="AppendixA.html#Heading595">The Microsoft way</A><BR>
<A HREF="AppendixA.html#Heading596">J/Direct</A><BR>
<UL>
<A HREF="AppendixA.html#Heading597">The @dll.import directive</A><BR>
<UL>
<A HREF="AppendixA.html#Heading598">Aliasing and linking by ordinal</A><BR>
<A HREF="AppendixA.html#Heading599">Applying @dll.import to the entire class</A><BR>
</UL>
<A HREF="AppendixA.html#Heading600">The com.ms.win32 package</A><BR>
<A HREF="AppendixA.html#Heading601">Marshaling</A><BR>
<A HREF="AppendixA.html#Heading602">Writing callback functions</A><BR>
<A HREF="AppendixA.html#Heading603">Other J/Direct features</A><BR>
</UL>
<A HREF="AppendixA.html#Heading604">Raw Native Interface (RNI)</A><BR>
<UL>
<A HREF="AppendixA.html#Heading605">RNI Summary</A><BR>
</UL>
<A HREF="AppendixA.html#Heading606">Java/COM integration</A><BR>
<UL>
<A HREF="AppendixA.html#Heading607">COM Fundamentals </A><BR>
<UL>
<A HREF="AppendixA.html#Heading608">GUIDs and the Registry</A><BR>
<A HREF="AppendixA.html#Heading609">Type Libraries</A><BR>
<A HREF="AppendixA.html#Heading610">Function return codes in COM: HRESULT</A><BR>
</UL>
<A HREF="AppendixA.html#Heading611">MS Java/COM Integration</A><BR>
<A HREF="AppendixA.html#Heading612">Developing COM servers in Java</A><BR>
<A HREF="AppendixA.html#Heading613">Developing COM clients in Java</A><BR>
<UL>
<A HREF="AppendixA.html#Heading614">The com.ms.com package</A><BR>
</UL>
<A HREF="AppendixA.html#Heading615">ActiveX/Beans integration</A><BR>
<A HREF="AppendixA.html#Heading616">A note about native methods and applets</A><BR>
</UL>
<A HREF="AppendixA.html#Heading617">CORBA</A><BR>
<UL>
<A HREF="AppendixA.html#Heading618">CORBA Fundamentals</A><BR>
<UL>
<A HREF="AppendixA.html#Heading619">CORBA Interface Definition Language (IDL)</A><BR>
<A HREF="AppendixA.html#Heading620">The naming service</A><BR>
</UL>
<A HREF="AppendixA.html#Heading621">An example</A><BR>
<UL>
<A HREF="AppendixA.html#Heading622">Writing the IDL source</A><BR>
<A HREF="AppendixA.html#Heading623">Creating stubs and skeletons</A><BR>
<A HREF="AppendixA.html#Heading624">Implementing the server and the client</A><BR>
<A HREF="AppendixA.html#Heading625">Some CORBA services</A><BR>
<A HREF="AppendixA.html#Heading626">Activating the name service process</A><BR>
<A HREF="AppendixA.html#Heading627">Activating the server and the client</A><BR>
</UL>
<A HREF="AppendixA.html#Heading628">Java Applets and CORBA</A><BR>
<A HREF="AppendixA.html#Heading629">CORBA vs. RMI</A><BR>
</UL>
<A HREF="AppendixA.html#Heading630">Summary</A><BR>
</UL>
<A HREF="AppendixB.html">B: Comparing C++ and Java</A><BR>
<A HREF="AppendixC.html">C: Java programming guidelines</A><BR>
<A HREF="AppendixD.html">D: Performance</A><BR>
<UL>
<A HREF="AppendixD.html#Heading634">Basic approach </A><BR>
<A HREF="AppendixD.html#Heading635">Locating the bottleneck</A><BR>
<UL>
<A HREF="AppendixD.html#Heading636">1. Install your own instrumentation</A><BR>
<A HREF="AppendixD.html#Heading637">2. JDK profiling [2]</A><BR>
<A HREF="AppendixD.html#Heading638">3. Special tools</A><BR>
<A HREF="AppendixD.html#Heading639">Tips for measuring performance</A><BR>
</UL>
<A HREF="AppendixD.html#Heading640">Speedup techniques </A><BR>
<UL>
<A HREF="AppendixD.html#Heading641">Generic approaches</A><BR>
<A HREF="AppendixD.html#Heading642">Language dependent approaches</A><BR>
<UL>
<A HREF="AppendixD.html#Heading643">General modifications </A><BR>
</UL>
<A HREF="AppendixD.html#Heading644">Specific situations</A><BR>
<UL>
<A HREF="AppendixD.html#Heading645">Other suggestions</A><BR>
</UL>
</UL>
<A HREF="AppendixD.html#Heading646">References</A><BR>
<UL>
<A HREF="AppendixD.html#Heading647">Performance tools</A><BR>
<A HREF="AppendixD.html#Heading648">Web sites</A><BR>
<A HREF="AppendixD.html#Heading649">Articles</A><BR>
<A HREF="AppendixD.html#Heading650">Java specific books</A><BR>
<A HREF="AppendixD.html#Heading651">General books</A><BR>
</UL>
</UL>
<A HREF="AppendixE.html">E: A bit about garbage collection</A><BR>
<A HREF="AppendixF.html">F: Recommended reading</A><BR>
<A HREF="Adstuff.html">Index</A><BR>
</UL>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -