⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tij_c.html

📁 学习java的经典书籍
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<A HREF="tij0148.html#Heading440">Separating business logic  from UI logic</A><P>
<A HREF="tij0148.html#Heading441">Recommended coding approaches</A><P>
<UL>
<A HREF="tij0148.html#Heading442">Baseline: the good way to do it</A><P>
<A HREF="tij0148.html#Heading443">Implementing the main class as a listener</A><P>
<A HREF="tij0148.html#Heading444">Mixing the approaches</A><P>
<A HREF="tij0148.html#Heading445">Inheriting a component</A><P>
<A HREF="tij0148.html#Heading446">Ugly component inheritance</A><P>
</UL>
</UL>
<A HREF="tij0149.html">Java 1.1 UI APIs</A><P>
<UL>
<A HREF="tij0149.html#Heading448">Desktop colors</A><P>
<A HREF="tij0149.html#Heading449">Printing</A><P>
<UL>
<A HREF="tij0149.html#Heading450">Printing text</A><P>
<A HREF="tij0149.html#Heading451">Printing graphics</A><P>
<A HREF="tij0149.html#Heading452">Running Frames within applets</A><P>
</UL>
<A HREF="tij0149.html#Heading453">The clipboard</A><P>
</UL>
<A HREF="tij0150.html">Visual programming  and Beans</A><P>
<UL>
<A HREF="tij0150.html#Heading455">What is a Bean?</A><P>
<A HREF="tij0150.html#Heading456">Extracting BeanInfo  with the Introspector</A><P>
<A HREF="tij0150.html#Heading457">A more sophisticated Bean</A><P>
<A HREF="tij0150.html#Heading458">Packaging a Bean</A><P>
<A HREF="tij0150.html#Heading459">More complex Bean support</A><P>
<A HREF="tij0150.html#Heading460">More to Beans</A><P>
</UL>
<A HREF="tij0151.html">Introduction to Swing</A><P>
<UL>
<A HREF="tij0151.html#Heading462">Benefits of Swing</A><P>
<A HREF="tij0151.html#Heading463">Easy conversion</A><P>
<A HREF="tij0151.html#Heading464">A display framework</A><P>
<A HREF="tij0151.html#Heading465">Tool tips</A><P>
<A HREF="tij0151.html#Heading466">Borders</A><P>
<A HREF="tij0151.html#Heading467">Buttons</A><P>
<A HREF="tij0151.html#Heading468">Button groups</A><P>
<A HREF="tij0151.html#Heading469">Icons</A><P>
<A HREF="tij0151.html#Heading470">Menus</A><P>
<A HREF="tij0151.html#Heading471">Popup menus</A><P>
<A HREF="tij0151.html#Heading472">List boxes and combo boxes</A><P>
<A HREF="tij0151.html#Heading473">Sliders and progress bars</A><P>
<A HREF="tij0151.html#Heading474">Trees</A><P>
<A HREF="tij0151.html#Heading475">Tables</A><P>
<A HREF="tij0151.html#Heading476">Tabbed Panes</A><P>
<A HREF="tij0151.html#Heading477">The Swing message box</A><P>
<A HREF="tij0151.html#Heading478">More to Swing</A><P>
</UL>
<A HREF="tij0152.html">Summary</A><P>
<A HREF="tij0153.html">Exercises</A><P>
</UL>
<br><b><A HREF="tij0154.html">14: Multiple threads</A></b><P>
<UL>
<A HREF="tij0155.html">Responsive user interfaces</A><P>
<UL>
<A HREF="tij0155.html#Heading483">Inheriting from Thread</A><P>
<A HREF="tij0155.html#Heading484">Threading for a responsive interface</A><P>
<UL>
<A HREF="tij0155.html#Heading485">Improving the code with an inner class</A><P>
</UL>
<A HREF="tij0155.html#Heading486">Combining the thread  with the main class</A><P>
<A HREF="tij0155.html#Heading487">Making many threads</A><P>
<A HREF="tij0155.html#Heading488">Daemon threads</A><P>
</UL>
<A HREF="tij0156.html">Sharing limited resources</A><P>
<UL>
<A HREF="tij0156.html#Heading490">Improperly accessing resources</A><P>
<A HREF="tij0156.html#Heading491">How Java shares resources</A><P>
<UL>
<A HREF="tij0156.html#Heading492">Synchronizing the counters</A><P>
<A HREF="tij0156.html#Heading493">Synchronized efficiency</A><P>
</UL>
<A HREF="tij0156.html#Heading494">Java Beans revisited</A><P>
</UL>
<A HREF="tij0157.html">Blocking </A><P>
<UL>
<A HREF="tij0157.html#Heading496">Becoming blocked</A><P>
<UL>
<A HREF="tij0157.html#Heading497">Sleeping</A><P>
<A HREF="tij0157.html#Heading498">Suspending and resuming</A><P>
<A HREF="tij0157.html#Heading499">Wait and notify</A><P>
<A HREF="tij0157.html#Heading500">Blocking on IO</A><P>
<A HREF="tij0157.html#Heading501">Testing</A><P>
</UL>
<A HREF="tij0157.html#Heading502">Deadlock</A><P>
<UL>
<A HREF="tij0157.html#Heading503">The deprecation of stop(&#160;), suspend(&#160;),  resume(&#160;), and destroy(&#160;) in Java 1.2</A><P>
</UL>
</UL>
<A HREF="tij0158.html">Priorities</A><P>
<UL>
<A HREF="tij0158.html#Heading505">Thread groups</A><P>
<UL>
<A HREF="tij0158.html#Heading506">Controlling thread groups</A><P>
</UL>
</UL>
<A HREF="tij0159.html">Runnable revisited</A><P>
<UL>
<A HREF="tij0159.html#Heading508">Too many threads</A><P>
</UL>
<A HREF="tij0160.html">Summary</A><P>
<A HREF="tij0161.html">Exercises</A><P>
</UL>
<br><b><A HREF="tij0162.html">15: Network programming</A></b><P>
<UL>
<A HREF="tij0163.html">Identifying a machine</A><P>
<UL>
<A HREF="tij0163.html#Heading513">Servers and clients</A><P>
<UL>
<A HREF="tij0163.html#Heading514">Testing programs without a network</A><P>
</UL>
<A HREF="tij0163.html#Heading515">Port: a unique place  within the machine</A><P>
</UL>
<A HREF="tij0164.html">Sockets</A><P>
<UL>
<A HREF="tij0164.html#Heading517">A simple server and client</A><P>
</UL>
<A HREF="tij0165.html">Serving multiple clients</A><P>
<A HREF="tij0166.html">Datagrams</A><P>
<A HREF="tij0167.html">A Web application</A><P>
<UL>
<A HREF="tij0167.html#Heading521">The server application</A><P>
<UL>
<A HREF="tij0167.html#Heading522">The C program</A><P>
<A HREF="tij0167.html#Heading523">The Java program</A><P>
</UL>
<A HREF="tij0167.html#Heading524">The NameSender applet</A><P>
<UL>
<A HREF="tij0167.html#Heading525">The Web page</A><P>
</UL>
<A HREF="tij0167.html#Heading526">Problems with this approach</A><P>
</UL>
<A HREF="tij0168.html">Connecting Java to CGI</A><P>
<UL>
<A HREF="tij0168.html#Heading528">Encoding data for CGI</A><P>
<A HREF="tij0168.html#Heading529">The applet</A><P>
<UL>
<A HREF="tij0168.html#Heading530">Displaying a Web page from within an applet</A><P>
</UL>
<A HREF="tij0168.html#Heading531">The CGI program in C++</A><P>
<A HREF="tij0168.html#Heading532">What about POST?</A><P>
</UL>
<A HREF="tij0169.html">Connecting to databases  with JDBC</A><P>
<UL>
<A HREF="tij0169.html#Heading534">Getting the example to work</A><P>
<UL>
<A HREF="tij0169.html#Heading535">Step 1: Find the JDBC Driver</A><P>
<A HREF="tij0169.html#Heading536">Step 2: Configure the database</A><P>
<A HREF="tij0169.html#Heading537">Step 3: Test the configuration</A><P>
<A HREF="tij0169.html#Heading538">Step 4: Generate your SQL query</A><P>
<A HREF="tij0169.html#Heading539">Step 5: Modify and paste in your query</A><P>
</UL>
<A HREF="tij0169.html#Heading540">A GUI version of the lookup program</A><P>
<A HREF="tij0169.html#Heading541">Why the JDBC API  seems so complex</A><P>
</UL>
<A HREF="tij0170.html">Remote methods</A><P>
<UL>
<A HREF="tij0170.html#Heading543">Remote interfaces</A><P>
<A HREF="tij0170.html#Heading544">Implementing the remote interface</A><P>
<UL>
<A HREF="tij0170.html#Heading545">Setting up the registry</A><P>
</UL>
<A HREF="tij0170.html#Heading546">Creating stubs and skeletons</A><P>
<A HREF="tij0170.html#Heading547">Using the remote object</A><P>
<A HREF="tij0170.html#Heading548">Alternatives to RMI</A><P>
</UL>
<A HREF="tij0171.html">Summary</A><P>
<A HREF="tij0172.html">Exercises</A><P>
</UL>
<br><b><A HREF="tij0173.html">16: Design patterns</A></b><P>
<UL>
<A HREF="tij0174.html">The pattern concept</A><P>
<UL>
<A HREF="tij0174.html#Heading553">The singleton</A><P>
<A HREF="tij0174.html#Heading554">Classifying patterns</A><P>
</UL>
<A HREF="tij0175.html">The observer pattern</A><P>
<A HREF="tij0176.html">Simulating the trash recycler</A><P>
<A HREF="tij0177.html">Improving the design</A><P>
<UL>
<A HREF="tij0177.html#Heading558">&#8220;Make more objects&#8221;</A><P>
<A HREF="tij0177.html#Heading559">A pattern for prototyping creation</A><P>
<UL>
<A HREF="tij0177.html#Heading560">Trash subclasses</A><P>
<A HREF="tij0177.html#Heading561">Parsing Trash from an external file</A><P>
<A HREF="tij0177.html#Heading562">Recycling with prototyping</A><P>
</UL>
</UL>
<A HREF="tij0178.html">Abstracting usage</A><P>
<A HREF="tij0179.html">Multiple dispatching</A><P>
<UL>
<A HREF="tij0179.html#Heading565">Implementing the double dispatch</A><P>
</UL>
<A HREF="tij0180.html">The &#8220;visitor&#8221; pattern</A><P>
<UL>
<A HREF="tij0180.html#Heading567">More coupling?</A><P>
</UL>
<A HREF="tij0181.html">RTTI considered harmful?</A><P>
<A HREF="tij0182.html">Summary</A><P>
<A HREF="tij0183.html">Exercises</A><P>
</UL>
<br><b><A HREF="tij0184.html">17: Projects</A></b><P>
<UL>
<A HREF="tij0185.html">Text processing</A><P>
<UL>
<A HREF="tij0185.html#Heading573">Extracting code listings</A><P>
<UL>
<A HREF="tij0185.html#Heading574">Building a packed file</A><P>
<A HREF="tij0185.html#Heading575">Extracting from a packed file</A><P>
<A HREF="tij0185.html#Heading576">Accessing and writing the listings</A><P>
<A HREF="tij0185.html#Heading577">Containing the entire collection of listings</A><P>
<A HREF="tij0185.html#Heading578">The main program</A><P>
</UL>
<A HREF="tij0185.html#Heading579">Checking capitalization style</A><P>
</UL>
<A HREF="tij0186.html">A method lookup tool</A><P>
<A HREF="tij0187.html">Complexity theory</A><P>
<A HREF="tij0188.html">Summary</A><P>
<A HREF="tij0189.html">Exercises</A><P>
</UL>
<br><b><A HREF="tij0190.html">A: Using non-Java code</A></b><P>
<UL>
<A HREF="tij0191.html">The Java Native Interface</A><P>
<UL>
<A HREF="tij0191.html#Heading586">Calling a native method</A><P>
<UL>
<A HREF="tij0191.html#Heading587">The C header file generator: javah</A><P>
<A HREF="tij0191.html#Heading588">Name mangling and function signatures</A><P>
<A HREF="tij0191.html#Heading589">Implementing your DLL</A><P>
</UL>
<A HREF="tij0191.html#Heading590">Accessing JNI functions:  The JNIEnv argument</A><P>
<UL>
<A HREF="tij0191.html#Heading591">Accessing Java Strings</A><P>
</UL>
<A HREF="tij0191.html#Heading592">Passing and using Java objects</A><P>
<A HREF="tij0191.html#Heading593">JNI and Java exceptions</A><P>
<A HREF="tij0191.html#Heading594">JNI and threading</A><P>
<A HREF="tij0191.html#Heading595">Using a pre-existing code base</A><P>
</UL>
<A HREF="tij0192.html">The Microsoft way</A><P>
<A HREF="tij0193.html">J/Direct</A><P>
<UL>
<A HREF="tij0193.html#Heading598">The @dll.import directive</A><P>
<UL>
<A HREF="tij0193.html#Heading599">Aliasing and linking by ordinal</A><P>
<A HREF="tij0193.html#Heading600">Applying @dll.import to the entire class</A><P>
</UL>
<A HREF="tij0193.html#Heading601">The com.ms.win32 package</A><P>
<A HREF="tij0193.html#Heading602">Marshaling</A><P>
<A HREF="tij0193.html#Heading603">Writing callback functions</A><P>
<A HREF="tij0193.html#Heading604">Other J/Direct features</A><P>
</UL>
<A HREF="tij0194.html">Raw Native Interface (RNI)</A><P>
<UL>
<A HREF="tij0194.html#Heading606">RNI Summary</A><P>
</UL>
<A HREF="tij0195.html">Java/COM integration</A><P>
<UL>
<A HREF="tij0195.html#Heading608">COM Fundamentals </A><P>
<UL>
<A HREF="tij0195.html#Heading609">GUIDs and the Registry</A><P>
<A HREF="tij0195.html#Heading610">Type Libraries</A><P>
<A HREF="tij0195.html#Heading611">Function return codes in COM: HRESULT</A><P>
</UL>
<A HREF="tij0195.html#Heading612">MS Java/COM Integration</A><P>
<A HREF="tij0195.html#Heading613">Developing COM servers in Java</A><P>
<A HREF="tij0195.html#Heading614">Developing COM clients in Java</A><P>
<UL>
<A HREF="tij0195.html#Heading615">The com.ms.com package</A><P>
</UL>
<A HREF="tij0195.html#Heading616">ActiveX/Beans integration</A><P>
<A HREF="tij0195.html#Heading617">A note about native methods and applets</A><P>
</UL>
<A HREF="tij0196.html">CORBA</A><P>
<UL>
<A HREF="tij0196.html#Heading619">CORBA Fundamentals</A><P>
<UL>
<A HREF="tij0196.html#Heading620">CORBA Interface Definition Language (IDL)</A><P>
<A HREF="tij0196.html#Heading621">The naming service</A><P>
</UL>
<A HREF="tij0196.html#Heading622">An example</A><P>
<UL>
<A HREF="tij0196.html#Heading623">Writing the IDL source</A><P>
<A HREF="tij0196.html#Heading624">Creating stubs and skeletons</A><P>
<A HREF="tij0196.html#Heading625">Implementing the server and the client</A><P>
<A HREF="tij0196.html#Heading626">Some CORBA services</A><P>
<A HREF="tij0196.html#Heading627">Activating the name service process</A><P>
<A HREF="tij0196.html#Heading628">Activating the server and the client</A><P>
</UL>
<A HREF="tij0196.html#Heading629">Java Applets and CORBA</A><P>
<A HREF="tij0196.html#Heading630">CORBA vs. RMI</A><P>
</UL>
<A HREF="tij0197.html">Summary</A><P>
</UL>
<br><b><A HREF="tij0198.html">B: Comparing C++ and Java</A></b><P>
<br><b><A HREF="tij0199.html">C: Java programming guidelines</A></b><P>
<br><b><A HREF="tij0200.html">D: Performance</A></b><P>
<UL>
<A HREF="tij0201.html">Basic approach </A><P>
<A HREF="tij0202.html">Locating the bottleneck</A><P>
<UL>
<A HREF="tij0202.html#Heading637">1. Install your own instrumentation</A><P>
<A HREF="tij0202.html#Heading638">2. JDK profiling [2]</A><P>
<A HREF="tij0202.html#Heading639">3. Special tools</A><P>
<A HREF="tij0202.html#Heading640">Tips for measuring performance</A><P>
</UL>
<A HREF="tij0203.html">Speedup techniques </A><P>
<UL>
<A HREF="tij0203.html#Heading642">Generic approaches</A><P>
<A HREF="tij0203.html#Heading643">Language dependent approaches</A><P>
<UL>
<A HREF="tij0203.html#Heading644">General modifications </A><P>
</UL>
<A HREF="tij0203.html#Heading645">Specific situations</A><P>
<UL>
<A HREF="tij0203.html#Heading646">Other suggestions</A><P>
</UL>
</UL>
<A HREF="tij0204.html">References</A><P>
<UL>
<A HREF="tij0204.html#Heading648">Performance tools</A><P>
<A HREF="tij0204.html#Heading649">Web sites</A><P>
<A HREF="tij0204.html#Heading650">Articles</A><P>
<A HREF="tij0204.html#Heading651">Java specific books</A><P>
<A HREF="tij0204.html#Heading652">General books</A><P>
</UL>
</UL>
<br><b><A HREF="tij0205.html">E: A bit about garbage collection</A></b><P>
<br><b><A HREF="tij0206.html">F: Recommended reading</A></b><P>
<br><b><A HREF="tij_i.html">Index</A></b><P>
<UL>
</UL>
</UL>
<div align="right">
<a href="tij_c.html">Contents</a> | <a href="tij.html">Prev</a> | <a href="tij_t.html">Next</a>
</div>
</body></html>







⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -