好书推介:java的秘密!

 

Java Secrets
Preface
About the Author

Part I—How Java Works
Chapter 1—Introducing Java SECRETS
A Little Knowledge Can Be a Dangerous Thing
What’s in This Book?
Part I: How Java Works
Part II: The sun Classes
Part III: Platform-Dependent Java
Why Java Secrets?
Broader applicability
More power
Inspiration
Where Did the Secrets Come From?
Where is the documentation?
The source code
The API documentation
What Versions of Java Are Covered?
Some Objections
Java is supposed to be platform independent
Why aren’t these things documented?
FUD (fear, uncertainty, and doubt)
How secret is this, anyway?
Summary
Chapter 2—Primitive Data Types
Bytes in Memory
Variables, Values, and Identifiers
Place-Value Number Systems
Binary notation
Hexadecimal notation
Octal notation
Integers
ints
Long, short, and byte
Floating-Point Numbers
Representing floating-point numbers in binary code
Special values
Denormalized floating-point numbers
CHAR
ASCII
ISO Latin-1
Unicode
UTF8
Boolean
Cross-Platform Issues
Byte order
Unsigned integers
Integer widths
Conversions and Casting
Using a cast
The mechanics of conversion
Bit-Level Operators
Some terminology
Bitwise operators
Bit shift operators
Summary
Chapter 2—Primitive Data Types
Bytes in Memory
Variables, Values, and Identifiers
Place-Value Number Systems
Binary notation
Hexadecimal notation
Octal notation
Integers
ints
Long, short, and byte
Floating-Point Numbers
Representing floating-point numbers in binary code
Special values
Denormalized floating-point numbers
CHAR
ASCII
ISO Latin-1
Unicode
UTF8
Boolean
Cross-Platform Issues
Byte order
Unsigned integers
Integer widths
Conversions and Casting
Using a cast
The mechanics of conversion
Bit-Level Operators
Some terminology
Bitwise operators
Bit shift operators
Summary
Chapter 3—Classes, Strings, and Arrays
The Heap
Pointers, Handles, and References
What is a pointer?
What is a handle?
What is a reference?
The Class Class
The Object Class
Cloning
Equality
Finalization
Runtime type information
Hash codes
Threading
Strings
Arrays
Multidimensional arrays
Array classes and objects
System.arraycopy()
Strings
String implementation
StringBuffers
java.util Data Structures
Vectors
Bitsets
Stack
Summary
Chapter 4—The Java Virtual Machine
Reading Compiled Files
Reading Class Files
Magic number
Minor version
Major version
Constant pool
Access flags
thisClass
Superclass
Interfaces
Attributes
Fields
Methods
Putting It All Together
Import statements
Access specifiers
Class and superclass
Interfaces
Fields
Methods
Legal Issues
Accessing Class Files
Copying .class files
Zip files
Jar files
Summary
Chapter 5—Java Byte Code
Byte Code Mnemonics
Using Mnemonics in the Disassembler
Stacks, Frames, and Pools
The Opcodes
Nop
Pushing values onto the stack
Stack manipulation
The local variable array
Arithmetic
Bit manipulation
The iinc instruction
Conversion codes
Comparison instructions
Unconditional branching
Switching
Objects
Arrays
Exceptions
Type checking
Threads: monitorenter and monitorexit
Decompilers and Other Tools
Summary

Part II—The Sun Classes
Chapter 6—Threads and Garbage Collection
Threads
Cooperative versus preemptive threads
Native versus emulated threads
Garbage Collection
Reference counting
Mark and sweep
Generational garbage collection
Summary
Chapter 7—Controlling Applets
What Is An Applet?
Applets Are Components Too
main() methods for applets
Including applets in non-applets
Dynamically loading applets
Stubs and Context
Writing applet contexts
Writing applet stubs
Better main() methods for applets
Loading Classes
Setting Security Policies
Loading Applets from Web Pages
Summary
Chapter 8—Introducing the Sun Classes
What the Sun Classes Are
Why the Sun Classes Exist
Using the Sun Classes Safely
Put the classes you use on your Web server
Distribute the classes with your application
Write an equivalent class
Legal issues
Checking for the presence of the sun classes
Checking for methods and fields
Summary
Chapter 9—Using the sun.applet Classes to View Applets
The sun.applet Package
The AppletViewer Class
The constructor
Other methods
The AppletContext methods
The AppletPanel and AppletViewerPanel Classes
The AppletClassLoader Class
The AppletSecurity Class
Network security
Host security
Runtime security
Class system security
File system security
Support Classes
AppletAudioClip
AppletThreadGroup
AppletCopyright
AppletProps
TextFrame
Summary
Chapter 10—Controlling Audio Playback with sun.audio
AppletAudioClip
AudioData
AudioPlayer
The Audio Streams
AudioStream
NativeAudioStream
AudioTranslatorStream
AudioDataStream
ContinuousAudioDataStream
AudioStreamSequence
AudioDevice
The Process
Putting It All Together
Summary
Chapter 11—Controlling the AWT with the sun.awt Package
Aligning Objects with the sun.awt LayoutManagers
HorizBagLayout
VerticalBagLayout
VariableGridLayout
OrientableFlowLayout
FocusingTextField
Controlling Screen Updating
Summary
Chapter 12—Encoding and Decoding Data with the sun.misc Package
Coding Binary Data in ASCII
The CharacterEncoder and CharacterDecoder Classes
HexDump Encoding
Base64 Encoding
UUEncoding
UCEncoding
Creating New Encodings
The CRC class
Summary
Chapter 13—Network Servers and Clients in the sun.net Package
Writing Network Servers
The sun.net.NetworkServer Class
Subclassing NetworkServer
Writing Network Clients
The sun.net.NetworkClient class
Subclassing NetworkClient
TransferProtocolClient
The TransferProtocolClient class
Subclassing TransferProtocolClient
Summary
Chapter 14—Sending Mail with the sun.net.smtp Package
SmtpClient
The constructors
The methods
Exceptions
Choosing an SMTP Server
Summary
Chapter 15—Reading News via NNTP with the sun.net.nntp Package
NewsgroupInfo
Creating NewsGroupInfo objects
Resetting article numbers
NntpClient
Opening a connection to the server
Reading articles
Posting news
Other commands
Summary
Chapter 16—Transferring Files with the sun.net.ftp Package
Overview of the sun.net.ftp Package
The FTP Protocol
The FtpClient Class
Subclassing FtpClient
IftpClient
DebugFtpClient
FullFtpClient
Summary
Chapter 17—Communicating with Web Servers
Message Formats
MessageHeader
HeaderParser
MIME types
Tracking Downloads: Metered Streams
sun.net.www.URLConnection
sun.net.www.http
HttpClient
KeepAliveCache
KeepAliveKey
ClientVector
KeepAliveStream
sun.net.www.httpd and the BasicHttpServer
Content Handlers
The text content handlers
The image content handlers
Protocol Handlers
appletresource
doc
file
FTP
gopher
HTTP
mailto
netdoc
The netdoc.Handler class
systemresource
verbatim
Summary

Part III—Platform-Dependent Java
Chapter 18—Character Conversion with sun.io
Available Conversions
Using the Converters
Direct Conversions
The convertAll() method
The convert() method
Substitution Mode
Summary
Chapter 19—Mixed Language Programming with Native Methods
Disadvantages
Code in Java First
Profiling
Hand-Optimizing
The Java Native Method Interface
Returning primitive values from native methods
Passing primitive data type arguments to native methods
Using Objects in Native Methods
Invoking instance methods
Calling Java methods from C
Passing arguments to Java methods
Using strings in native methods
Using arrays in native methods
Accessing fields from native methods
Static methods and fields in native methods
Errors and exceptions in native methods
Garbage collection and native methods
Threading and native methods
Determining at Runtime Whether Native Code Is Available
Summary
Chapter 20—Creating Stand-Alone Programs
Writing Stand-Alone Programs for UNIX
Creating Stand-alone Programs for the MacOS
The Macintosh DDEncoder class
Using type and creator codes
The Macintosh Runtime for Java
Creating Stand-Alone Windows Programs
Summary
Appendix A
Appendix B
Appendix C
Appendix D
Appendix E
Appendix F
Appendix G
Appendix H
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
<p> <span style="font-size:14px;color:#337FE5;">【为什么学爬虫?】</span> </p> <p> <span style="font-size:14px;">       1、爬虫入手容易,但是深入较难,如何写出高效率爬虫,如何写出灵活性高可扩展爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要数据,这门课程,你都能学到</span> </p> <p> <span style="font-size:14px;">       2、如果是作为一个其他行业开发者,比如app开发,web开发,学习爬虫能让你加强对技术认知,能够开发出更加安全软件和网站</span> </p> <p> <br /> </p> <span style="font-size:14px;color:#337FE5;">【课程设计】</span> <p class="ql-long-10663260"> <span> </span> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 一个完整爬虫程序,无论大小,总体来说可以分成三个步骤,分别是 </p> <ol> <li class="" style="font-size:11pt;color:#494949;"> 网络请求模拟浏览器行为从网上抓取数据。 </li> <li class="" style="font-size:11pt;color:#494949;"> 数据解析将请求下来数据进行过滤,提取我们想要数据。 </li> <li class="" style="font-size:11pt;color:#494949;"> 数据存储将提取到数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。 </li> </ol> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 那么本课程也是按照这几个步骤循序渐进进行讲解,带领学生完整掌握每个步骤技术。另外,因为爬虫多样性,在爬取过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序灵活性,分别是 </p> <ol> <li class="" style="font-size:11pt;color:#494949;"> 爬虫进阶包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。 </li> <li class="" style="font-size:11pt;color:#494949;"> Scrapy和分布式爬虫Scrapy框架、Scrapy-redis组件、分布式爬虫等。 </li> </ol> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 通过爬虫进阶知识点我们能应付大量反爬网站,而Scrapy框架作为一个专业爬虫框架,使用他可以快速提高我们编写爬虫程序效率和速度。另外如果一台机器不能满足你需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 </p> <p style="font-size:11pt;color:#494949;">   </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 从基础爬虫到商业化应用爬虫,本套课程满足您所有需求 </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <br /> </p> <p> <br /> </p> <p> <span style="font-size:14px;background-color:#FFFFFF;color:#337FE5;">【课程服务】</span> </p> <p> <span style="font-size:14px;">专属付费社群+定期答疑</span> </p> <p> <br /> </p> <p class="ql-long-24357476"> <span style="font-size:16px;"><br /> </span> </p> <p> <br /> </p> <p class="ql-long-24357476"> <span style="font-size:16px;"></span> </p>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值