René's URL Explorer Experiment


Title: GitHub - prettykernel/OnJava8: Bruce Eckel 「On Java 8」中文翻译。[原始仓库](https://github.com/LingCoder/OnJava8)

Open Graph Title: GitHub - prettykernel/OnJava8: Bruce Eckel 「On Java 8」中文翻译。[原始仓库](https://github.com/LingCoder/OnJava8)

X Title: GitHub - prettykernel/OnJava8: Bruce Eckel 「On Java 8」中文翻译。[原始仓库](https://github.com/LingCoder/OnJava8)

Description: Bruce Eckel 「On Java 8」中文翻译。[原始仓库](https://github.com/LingCoder/OnJava8) - prettykernel/OnJava8

Open Graph Description: Bruce Eckel 「On Java 8」中文翻译。[原始仓库](https://github.com/LingCoder/OnJava8) - prettykernel/OnJava8

X Description: Bruce Eckel 「On Java 8」中文翻译。[原始仓库](https://github.com/LingCoder/OnJava8) - prettykernel/OnJava8

Opengraph URL: https://github.com/prettykernel/OnJava8

X: @github

direct link

Domain: patch-diff.githubusercontent.com

route-pattern/:user_id/:repository
route-controllerfiles
route-actiondisambiguate
fetch-noncev2:031892a4-78be-fbe8-8f9c-f54767bede12
current-catalog-service-hashf3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb
request-idA25A:10D6B7:11EC9A3:17AD31D:69703189
html-safe-nonceaecbb53d07f082da07f9293afef1d3b48e4decd06f98de80529d0d675bb505f0
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBMjVBOjEwRDZCNzoxMUVDOUEzOjE3QUQzMUQ6Njk3MDMxODkiLCJ2aXNpdG9yX2lkIjoiMTc4MTc2ODYwNjE0ODczNTM2OSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac6b8baa861688c245b84ed279da4514ebb7b2f67701b56d381b6fd98c9362bc7d
hovercard-subject-tagrepository:374942816
github-keyboard-shortcutsrepository,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location//
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/prettykernel/OnJava8
twitter:imagehttps://opengraph.githubassets.com/cf8282323ee39026a7819270494dba3eb4dca673c5c4792420744c605450d5af/prettykernel/OnJava8
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/cf8282323ee39026a7819270494dba3eb4dca673c5c4792420744c605450d5af/prettykernel/OnJava8
og:image:altBruce Eckel 「On Java 8」中文翻译。[原始仓库](https://github.com/LingCoder/OnJava8) - prettykernel/OnJava8
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None9920a62ba22d06470388e2904804fb7e5ec51c9e35f81784e9191394c74b2bd2
turbo-cache-controlno-preview
go-importgithub.com/prettykernel/OnJava8 git https://github.com/prettykernel/OnJava8.git
octolytics-dimension-user_id993009
octolytics-dimension-user_loginprettykernel
octolytics-dimension-repository_id374942816
octolytics-dimension-repository_nwoprettykernel/OnJava8
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id374942816
octolytics-dimension-repository_network_root_nwoprettykernel/OnJava8
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasef643964067a552f02067066d6a910b2f90a5721f
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/prettykernel/OnJava8#start-of-content
https://patch-diff.githubusercontent.com/
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fprettykernel%2FOnJava8
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fprettykernel%2FOnJava8
Sign up https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=prettykernel%2FOnJava8
Reloadhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8
Reloadhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8
Reloadhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8
prettykernel https://patch-diff.githubusercontent.com/prettykernel
OnJava8https://patch-diff.githubusercontent.com/prettykernel/OnJava8
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Fprettykernel%2FOnJava8
Fork 41 https://patch-diff.githubusercontent.com/login?return_to=%2Fprettykernel%2FOnJava8
Star 16 https://patch-diff.githubusercontent.com/login?return_to=%2Fprettykernel%2FOnJava8
https://github.com/LingCoder/OnJava8https://github.com/LingCoder/OnJava8
16 stars https://patch-diff.githubusercontent.com/prettykernel/OnJava8/stargazers
41 forks https://patch-diff.githubusercontent.com/prettykernel/OnJava8/forks
Branches https://patch-diff.githubusercontent.com/prettykernel/OnJava8/branches
Tags https://patch-diff.githubusercontent.com/prettykernel/OnJava8/tags
Activity https://patch-diff.githubusercontent.com/prettykernel/OnJava8/activity
Star https://patch-diff.githubusercontent.com/login?return_to=%2Fprettykernel%2FOnJava8
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Fprettykernel%2FOnJava8
Code https://patch-diff.githubusercontent.com/prettykernel/OnJava8
Issues 0 https://patch-diff.githubusercontent.com/prettykernel/OnJava8/issues
Pull requests 0 https://patch-diff.githubusercontent.com/prettykernel/OnJava8/pulls
Actions https://patch-diff.githubusercontent.com/prettykernel/OnJava8/actions
Projects 0 https://patch-diff.githubusercontent.com/prettykernel/OnJava8/projects
Security Uh oh! There was an error while loading. Please reload this page. https://patch-diff.githubusercontent.com/prettykernel/OnJava8/security
Please reload this pagehttps://patch-diff.githubusercontent.com/prettykernel/OnJava8
Insights https://patch-diff.githubusercontent.com/prettykernel/OnJava8/pulse
Code https://patch-diff.githubusercontent.com/prettykernel/OnJava8
Issues https://patch-diff.githubusercontent.com/prettykernel/OnJava8/issues
Pull requests https://patch-diff.githubusercontent.com/prettykernel/OnJava8/pulls
Actions https://patch-diff.githubusercontent.com/prettykernel/OnJava8/actions
Projects https://patch-diff.githubusercontent.com/prettykernel/OnJava8/projects
Security https://patch-diff.githubusercontent.com/prettykernel/OnJava8/security
Insights https://patch-diff.githubusercontent.com/prettykernel/OnJava8/pulse
Brancheshttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/branches
Tagshttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/tags
https://patch-diff.githubusercontent.com/prettykernel/OnJava8/branches
https://patch-diff.githubusercontent.com/prettykernel/OnJava8/tags
1 Commithttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/commits/main/
https://patch-diff.githubusercontent.com/prettykernel/OnJava8/commits/main/
imageshttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/tree/main/images
imageshttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/tree/main/images
00-Introduction.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/00-Introduction.md
00-Introduction.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/00-Introduction.md
00-Preface.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/00-Preface.md
00-Preface.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/00-Preface.md
01-What-is-an-Object.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/01-What-is-an-Object.md
01-What-is-an-Object.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/01-What-is-an-Object.md
02-Installing-Java-and-the-Book-Examples.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/02-Installing-Java-and-the-Book-Examples.md
02-Installing-Java-and-the-Book-Examples.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/02-Installing-Java-and-the-Book-Examples.md
03-Objects-Everywhere.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/03-Objects-Everywhere.md
03-Objects-Everywhere.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/03-Objects-Everywhere.md
04-Operators.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/04-Operators.md
04-Operators.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/04-Operators.md
05-Control-Flow.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/05-Control-Flow.md
05-Control-Flow.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/05-Control-Flow.md
06-Housekeeping.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/06-Housekeeping.md
06-Housekeeping.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/06-Housekeeping.md
07-Implementation-Hiding.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/07-Implementation-Hiding.md
07-Implementation-Hiding.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/07-Implementation-Hiding.md
08-Reuse.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/08-Reuse.md
08-Reuse.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/08-Reuse.md
09-Polymorphism.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/09-Polymorphism.md
09-Polymorphism.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/09-Polymorphism.md
10-Interfaces.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/10-Interfaces.md
10-Interfaces.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/10-Interfaces.md
11-Inner-Classes.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/11-Inner-Classes.md
11-Inner-Classes.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/11-Inner-Classes.md
12-Collections.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/12-Collections.md
12-Collections.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/12-Collections.md
13-Functional-Programming.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/13-Functional-Programming.md
13-Functional-Programming.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/13-Functional-Programming.md
14-Streams.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/14-Streams.md
14-Streams.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/14-Streams.md
15-Exceptions.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/15-Exceptions.md
15-Exceptions.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/15-Exceptions.md
16-Validating-Your-Code.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/16-Validating-Your-Code.md
16-Validating-Your-Code.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/16-Validating-Your-Code.md
17-Files.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/17-Files.md
17-Files.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/17-Files.md
18-Strings.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/18-Strings.md
18-Strings.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/18-Strings.md
19-Type-Information.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/19-Type-Information.md
19-Type-Information.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/19-Type-Information.md
20-Generics.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/20-Generics.md
20-Generics.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/20-Generics.md
21-Arrays.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md
21-Arrays.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md
22-Enumerations.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/22-Enumerations.md
22-Enumerations.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/22-Enumerations.md
23-Annotations.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/23-Annotations.md
23-Annotations.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/23-Annotations.md
24-Concurrent-Programming.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/24-Concurrent-Programming.md
24-Concurrent-Programming.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/24-Concurrent-Programming.md
25-Patterns.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/25-Patterns.md
25-Patterns.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/25-Patterns.md
Appendix-Becoming-a-Programmer.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Becoming-a-Programmer.md
Appendix-Becoming-a-Programmer.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Becoming-a-Programmer.md
Appendix-Benefits-and-Costs-of-Static-Type-Checking.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Benefits-and-Costs-of-Static-Type-Checking.md
Appendix-Benefits-and-Costs-of-Static-Type-Checking.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Benefits-and-Costs-of-Static-Type-Checking.md
Appendix-Collection-Topics.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Collection-Topics.md
Appendix-Collection-Topics.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Collection-Topics.md
Appendix-Data-Compression.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Data-Compression.md
Appendix-Data-Compression.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Data-Compression.md
Appendix-IO-Streams.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-IO-Streams.md
Appendix-IO-Streams.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-IO-Streams.md
Appendix-Javadoc.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Javadoc.md
Appendix-Javadoc.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Javadoc.md
Appendix-Low-Level-Concurrency.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Low-Level-Concurrency.md
Appendix-Low-Level-Concurrency.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Low-Level-Concurrency.md
Appendix-New-IO.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-New-IO.md
Appendix-New-IO.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-New-IO.md
Appendix-Object-Serialization.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Object-Serialization.md
Appendix-Object-Serialization.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Object-Serialization.md
Appendix-Passing-and-Returning-Objects.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Passing-and-Returning-Objects.md
Appendix-Passing-and-Returning-Objects.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Passing-and-Returning-Objects.md
Appendix-Programming-Guidelines.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Programming-Guidelines.md
Appendix-Programming-Guidelines.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Programming-Guidelines.md
Appendix-Standard-IO.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Standard-IO.md
Appendix-Standard-IO.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Standard-IO.md
Appendix-Supplements.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Supplements.md
Appendix-Supplements.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Supplements.md
Appendix-The-Positive-Legacy-of-C-plus-plus-and-Java.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-The-Positive-Legacy-of-C-plus-plus-and-Java.md
Appendix-The-Positive-Legacy-of-C-plus-plus-and-Java.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-The-Positive-Legacy-of-C-plus-plus-and-Java.md
Appendix-Understanding-equals-and-hashCode.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Understanding-equals-and-hashCode.md
Appendix-Understanding-equals-and-hashCode.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Understanding-equals-and-hashCode.md
GLOSSARY.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/GLOSSARY.md
GLOSSARY.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/GLOSSARY.md
README.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/README.md
README.mdhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/README.md
READMEhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#on-java-8中文版
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#示例代码
OnJava8-Exampleshttps://github.com/BruceEckel/OnJava8-Examples
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#目录
前言https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/00-Preface.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#前言
简介https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/00-Introduction.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#简介
第一章 对象的概念https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/01-What-is-an-Object.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第一章-对象的概念
抽象https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/01-What-is-an-Object.md#%E6%8A%BD%E8%B1%A1
接口https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/01-What-is-an-Object.md#%E6%8E%A5%E5%8F%A3
服务提供https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/01-What-is-an-Object.md#%E6%9C%8D%E5%8A%A1%E6%8F%90%E4%BE%9B
封装https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/01-What-is-an-Object.md#%E5%B0%81%E8%A3%85
复用https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/01-What-is-an-Object.md#%E5%A4%8D%E7%94%A8
继承https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/01-What-is-an-Object.md#%E7%BB%A7%E6%89%BF
多态https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/01-What-is-an-Object.md#%E5%A4%9A%E6%80%81
单继承结构https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/01-What-is-an-Object.md#%E5%8D%95%E7%BB%A7%E6%89%BF%E7%BB%93%E6%9E%84
集合https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/01-What-is-an-Object.md#%E9%9B%86%E5%90%88
对象创建与生命周期https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/01-What-is-an-Object.md#%E5%AF%B9%E8%B1%A1%E5%88%9B%E5%BB%BA%E4%B8%8E%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F
异常处理https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/01-What-is-an-Object.md#%E5%BC%82%E5%B8%B8%E5%A4%84%E7%90%86
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/01-What-is-an-Object.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
第二章 安装Java和本书用例https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/02-Installing-Java-and-the-Book-Examples.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第二章-安装java和本书用例
编辑器https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/02-Installing-Java-and-the-Book-Examples.md#%E7%BC%96%E8%BE%91%E5%99%A8
Shellhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/02-Installing-Java-and-the-Book-Examples.md#Shell
Java安装https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/02-Installing-Java-and-the-Book-Examples.md#Java%E5%AE%89%E8%A3%85
校验安装https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/02-Installing-Java-and-the-Book-Examples.md#%E6%A0%A1%E9%AA%8C%E5%AE%89%E8%A3%85
安装和运行代码示例https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/02-Installing-Java-and-the-Book-Examples.md#%E5%AE%89%E8%A3%85%E5%92%8C%E8%BF%90%E8%A1%8C%E4%BB%A3%E7%A0%81%E7%A4%BA%E4%BE%8B
第三章 万物皆对象https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/03-Objects-Everywhere.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第三章-万物皆对象
对象操纵https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/03-Objects-Everywhere.md#%E5%AF%B9%E8%B1%A1%E6%93%8D%E7%BA%B5
对象创建https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/03-Objects-Everywhere.md#%E5%AF%B9%E8%B1%A1%E5%88%9B%E5%BB%BA
代码注释https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/03-Objects-Everywhere.md#%E4%BB%A3%E7%A0%81%E6%B3%A8%E9%87%8A
对象清理https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/03-Objects-Everywhere.md#%E5%AF%B9%E8%B1%A1%E6%B8%85%E7%90%86
类的创建https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/03-Objects-Everywhere.md#%E7%B1%BB%E7%9A%84%E5%88%9B%E5%BB%BA
程序编写https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/03-Objects-Everywhere.md#%E7%A8%8B%E5%BA%8F%E7%BC%96%E5%86%99
小试牛刀https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/03-Objects-Everywhere.md#%E5%B0%8F%E8%AF%95%E7%89%9B%E5%88%80
编码风格https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/03-Objects-Everywhere.md#%E7%BC%96%E7%A0%81%E9%A3%8E%E6%A0%BC
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/03-Objects-Everywhere.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
第四章 运算符https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/04-Operators.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第四章-运算符
开始使用https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/04-Operators.md#%E5%BC%80%E5%A7%8B%E4%BD%BF%E7%94%A8
优先级https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/04-Operators.md#%E4%BC%98%E5%85%88%E7%BA%A7
赋值https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/04-Operators.md#%E8%B5%8B%E5%80%BC
算术运算符https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/04-Operators.md#%E7%AE%97%E6%9C%AF%E8%BF%90%E7%AE%97%E7%AC%A6
递增和递减https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/04-Operators.md#%E9%80%92%E5%A2%9E%E5%92%8C%E9%80%92%E5%87%8F
关系运算符https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/04-Operators.md#%E5%85%B3%E7%B3%BB%E8%BF%90%E7%AE%97%E7%AC%A6
逻辑运算符https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/04-Operators.md#%E9%80%BB%E8%BE%91%E8%BF%90%E7%AE%97%E7%AC%A6
字面值常量https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/04-Operators.md#%E5%AD%97%E9%9D%A2%E5%80%BC%E5%B8%B8%E9%87%8F
位运算符https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/04-Operators.md#%E4%BD%8D%E8%BF%90%E7%AE%97%E7%AC%A6
移位运算符https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/04-Operators.md#%E7%A7%BB%E4%BD%8D%E8%BF%90%E7%AE%97%E7%AC%A6
三元运算符https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/04-Operators.md#%E4%B8%89%E5%85%83%E8%BF%90%E7%AE%97%E7%AC%A6
字符串运算符https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/04-Operators.md#%E5%AD%97%E7%AC%A6%E4%B8%B2%E8%BF%90%E7%AE%97%E7%AC%A6
常见陷阱https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/04-Operators.md#%E5%B8%B8%E8%A7%81%E9%99%B7%E9%98%B1
类型转换https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/04-Operators.md#%E7%B1%BB%E5%9E%8B%E8%BD%AC%E6%8D%A2
Java没有sizeofhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/04-Operators.md#Java%E6%B2%A1%E6%9C%89sizeof
运算符总结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/04-Operators.md#%E8%BF%90%E7%AE%97%E7%AC%A6%E6%80%BB%E7%BB%93
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/04-Operators.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
第五章 控制流https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/05-Control-Flow.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第五章-控制流
true和falsehttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/05-Control-Flow.md#true%E5%92%8Cfalse
if-elsehttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/05-Control-Flow.md#if-else
迭代语句https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/05-Control-Flow.md#%E8%BF%AD%E4%BB%A3%E8%AF%AD%E5%8F%A5
for-in 语法https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/05-Control-Flow.md#for-in-%E8%AF%AD%E6%B3%95
returnhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/05-Control-Flow.md#return
break 和 continuehttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/05-Control-Flow.md#break-%E5%92%8C-continue
臭名昭著的 gotohttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/05-Control-Flow.md#%E8%87%AD%E5%90%8D%E6%98%AD%E8%91%97%E7%9A%84-goto
switchhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/05-Control-Flow.md#switch
switch 字符串https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/05-Control-Flow.md#switch-%E5%AD%97%E7%AC%A6%E4%B8%B2
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/05-Control-Flow.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
第六章 初始化和清理https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/06-Housekeeping.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第六章-初始化和清理
利用构造器保证初始化https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/06-Housekeeping.md#%E5%88%A9%E7%94%A8%E6%9E%84%E9%80%A0%E5%99%A8%E4%BF%9D%E8%AF%81%E5%88%9D%E5%A7%8B%E5%8C%96
方法重载https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/06-Housekeeping.md#%E6%96%B9%E6%B3%95%E9%87%8D%E8%BD%BD
无参构造器https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/06-Housekeeping.md#%E6%97%A0%E5%8F%82%E6%9E%84%E9%80%A0%E5%99%A8
this关键字https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/06-Housekeeping.md#this%E5%85%B3%E9%94%AE%E5%AD%97
垃圾回收器https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/06-Housekeeping.md#%E5%9E%83%E5%9C%BE%E5%9B%9E%E6%94%B6%E5%99%A8
成员初始化https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/06-Housekeeping.md#%E6%88%90%E5%91%98%E5%88%9D%E5%A7%8B%E5%8C%96
构造器初始化https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/06-Housekeeping.md#%E6%9E%84%E9%80%A0%E5%99%A8%E5%88%9D%E5%A7%8B%E5%8C%96
数组初始化https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/06-Housekeeping.md#%E6%95%B0%E7%BB%84%E5%88%9D%E5%A7%8B%E5%8C%96
枚举类型https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/06-Housekeeping.md#%E6%9E%9A%E4%B8%BE%E7%B1%BB%E5%9E%8B
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/06-Housekeeping.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
第七章 封装https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/07-Implementation-Hiding.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第七章-封装
包的概念https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/07-Implementation-Hiding.md#%E5%8C%85%E7%9A%84%E6%A6%82%E5%BF%B5
访问权限修饰符https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/07-Implementation-Hiding.md#%E8%AE%BF%E9%97%AE%E6%9D%83%E9%99%90%E4%BF%AE%E9%A5%B0%E7%AC%A6
接口和实现https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/07-Implementation-Hiding.md#%E6%8E%A5%E5%8F%A3%E5%92%8C%E5%AE%9E%E7%8E%B0
类访问权限https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/07-Implementation-Hiding.md#%E7%B1%BB%E8%AE%BF%E9%97%AE%E6%9D%83%E9%99%90
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/07-Implementation-Hiding.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
第八章 复用https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/08-Reuse.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第八章-复用
组合语法https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/08-Reuse.md#%E7%BB%84%E5%90%88%E8%AF%AD%E6%B3%95
继承语法https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/08-Reuse.md#%E7%BB%A7%E6%89%BF%E8%AF%AD%E6%B3%95
委托https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/08-Reuse.md#%E5%A7%94%E6%89%98
结合组合与继承https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/08-Reuse.md#%E7%BB%93%E5%90%88%E7%BB%84%E5%90%88%E4%B8%8E%E7%BB%A7%E6%89%BF
组合与继承的选择https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/08-Reuse.md#%E7%BB%84%E5%90%88%E4%B8%8E%E7%BB%A7%E6%89%BF%E7%9A%84%E9%80%89%E6%8B%A9
protectedhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/08-Reuse.md#protected
向上转型https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/08-Reuse.md#%E5%90%91%E4%B8%8A%E8%BD%AC%E5%9E%8B
final关键字https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/08-Reuse.md#final%E5%85%B3%E9%94%AE%E5%AD%97
类初始化和加载https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/08-Reuse.md#%E7%B1%BB%E5%88%9D%E5%A7%8B%E5%8C%96%E5%92%8C%E5%8A%A0%E8%BD%BD
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/08-Reuse.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
第九章 多态https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/09-Polymorphism.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第九章-多态
向上转型回顾https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/09-Polymorphism.md#%E5%90%91%E4%B8%8A%E8%BD%AC%E5%9E%8B%E5%9B%9E%E9%A1%BE
转机https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/09-Polymorphism.md#%E8%BD%AC%E6%9C%BA
构造器和多态https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/09-Polymorphism.md#%E6%9E%84%E9%80%A0%E5%99%A8%E5%92%8C%E5%A4%9A%E6%80%81
协变返回类型https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/09-Polymorphism.md#%E5%8D%8F%E5%8F%98%E8%BF%94%E5%9B%9E%E7%B1%BB%E5%9E%8B
使用继承设计https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/09-Polymorphism.md#%E4%BD%BF%E7%94%A8%E7%BB%A7%E6%89%BF%E8%AE%BE%E8%AE%A1
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/09-Polymorphism.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
第十章 接口https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/10-Interfaces.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第十章-接口
抽象类和方法https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/10-Interfaces.md#%E6%8A%BD%E8%B1%A1%E7%B1%BB%E5%92%8C%E6%96%B9%E6%B3%95
接口创建https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/10-Interfaces.md#%E6%8E%A5%E5%8F%A3%E5%88%9B%E5%BB%BA
抽象类和接口https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/10-Interfaces.md#%E6%8A%BD%E8%B1%A1%E7%B1%BB%E5%92%8C%E6%8E%A5%E5%8F%A3
完全解耦https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/10-Interfaces.md#%E5%AE%8C%E5%85%A8%E8%A7%A3%E8%80%A6
多接口结合https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/10-Interfaces.md#%E5%A4%9A%E6%8E%A5%E5%8F%A3%E7%BB%93%E5%90%88
使用继承扩展接口https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/10-Interfaces.md#%E4%BD%BF%E7%94%A8%E7%BB%A7%E6%89%BF%E6%89%A9%E5%B1%95%E6%8E%A5%E5%8F%A3
接口适配https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/10-Interfaces.md#%E6%8E%A5%E5%8F%A3%E9%80%82%E9%85%8D
接口字段https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/10-Interfaces.md#%E6%8E%A5%E5%8F%A3%E5%AD%97%E6%AE%B5
接口嵌套https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/10-Interfaces.md#%E6%8E%A5%E5%8F%A3%E5%B5%8C%E5%A5%97
接口和工厂方法模式https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/10-Interfaces.md#%E6%8E%A5%E5%8F%A3%E5%92%8C%E5%B7%A5%E5%8E%82%E6%96%B9%E6%B3%95%E6%A8%A1%E5%BC%8F
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/10-Interfaces.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
第十一章 内部类https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/11-Inner-Classes.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第十一章-内部类
创建内部类https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/11-Inner-Classes.md#%E5%88%9B%E5%BB%BA%E5%86%85%E9%83%A8%E7%B1%BB
链接外部类https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/11-Inner-Classes.md#%E9%93%BE%E6%8E%A5%E5%A4%96%E9%83%A8%E7%B1%BB
使用 .this 和 .newhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/11-Inner-Classes.md#%E4%BD%BF%E7%94%A8-this-%E5%92%8C-new
内部类与向上转型https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/11-Inner-Classes.md#%E5%86%85%E9%83%A8%E7%B1%BB%E4%B8%8E%E5%90%91%E4%B8%8A%E8%BD%AC%E5%9E%8B
内部类方法和作用域https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/11-Inner-Classes.md#%E5%86%85%E9%83%A8%E7%B1%BB%E6%96%B9%E6%B3%95%E5%92%8C%E4%BD%9C%E7%94%A8%E5%9F%9F
匿名内部类https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/11-Inner-Classes.md#%E5%8C%BF%E5%90%8D%E5%86%85%E9%83%A8%E7%B1%BB
嵌套类https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/11-Inner-Classes.md#%E5%B5%8C%E5%A5%97%E7%B1%BB
为什么需要内部类https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/11-Inner-Classes.md#%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81%E5%86%85%E9%83%A8%E7%B1%BB
继承内部类https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/11-Inner-Classes.md#%E7%BB%A7%E6%89%BF%E5%86%85%E9%83%A8%E7%B1%BB
内部类可以被覆盖么?https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/11-Inner-Classes.md#%E5%86%85%E9%83%A8%E7%B1%BB%E5%8F%AF%E4%BB%A5%E8%A2%AB%E8%A6%86%E7%9B%96%E4%B9%88%EF%BC%9F
局部内部类https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/11-Inner-Classes.md#%E5%B1%80%E9%83%A8%E5%86%85%E9%83%A8%E7%B1%BB
内部类标识符https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/11-Inner-Classes.md#%E5%86%85%E9%83%A8%E7%B1%BB%E6%A0%87%E8%AF%86%E7%AC%A6
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/11-Inner-Classes.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
第十二章 集合https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/12-Collections.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第十二章-集合
泛型和类型安全的集合https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/12-Collections.md#%E6%B3%9B%E5%9E%8B%E5%92%8C%E7%B1%BB%E5%9E%8B%E5%AE%89%E5%85%A8%E7%9A%84%E9%9B%86%E5%90%88
基本概念https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/12-Collections.md#%E5%9F%BA%E6%9C%AC%E6%A6%82%E5%BF%B5
添加元素组https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/12-Collections.md#%E6%B7%BB%E5%8A%A0%E5%85%83%E7%B4%A0%E7%BB%84
集合的打印https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/12-Collections.md#%E9%9B%86%E5%90%88%E7%9A%84%E6%89%93%E5%8D%B0
列表Listhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/12-Collections.md#%E5%88%97%E8%A1%A8List
迭代器Iteratorshttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/12-Collections.md#%E8%BF%AD%E4%BB%A3%E5%99%A8Iterators
链表LinkedListhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/12-Collections.md#%E9%93%BE%E8%A1%A8LinkedList
堆栈Stackhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/12-Collections.md#%E5%A0%86%E6%A0%88Stack
集合Sethttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/12-Collections.md#%E9%9B%86%E5%90%88Set
映射Maphttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/12-Collections.md#%E6%98%A0%E5%B0%84Map
队列Queuehttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/12-Collections.md#%E9%98%9F%E5%88%97Queue
集合与迭代器https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/12-Collections.md#%E9%9B%86%E5%90%88%E4%B8%8E%E8%BF%AD%E4%BB%A3%E5%99%A8
for-in和迭代器https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/12-Collections.md#for-in%E5%92%8C%E8%BF%AD%E4%BB%A3%E5%99%A8
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/12-Collections.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
第十三章 函数式编程https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/13-Functional-Programming.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第十三章-函数式编程
新旧对比https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/13-Functional-Programming.md#%E6%96%B0%E6%97%A7%E5%AF%B9%E6%AF%94
Lambda表达式https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/13-Functional-Programming.md#Lambda%E8%A1%A8%E8%BE%BE%E5%BC%8F
方法引用https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/13-Functional-Programming.md#%E6%96%B9%E6%B3%95%E5%BC%95%E7%94%A8
函数式接口https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/13-Functional-Programming.md#%E5%87%BD%E6%95%B0%E5%BC%8F%E6%8E%A5%E5%8F%A3
高阶函数https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/13-Functional-Programming.md#%E9%AB%98%E9%98%B6%E5%87%BD%E6%95%B0
闭包https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/13-Functional-Programming.md#%E9%97%AD%E5%8C%85
函数组合https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/13-Functional-Programming.md#%E5%87%BD%E6%95%B0%E7%BB%84%E5%90%88
柯里化和部分求值https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/13-Functional-Programming.md#%E6%9F%AF%E9%87%8C%E5%8C%96%E5%92%8C%E9%83%A8%E5%88%86%E6%B1%82%E5%80%BC
纯函数式编程https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/13-Functional-Programming.md#%E7%BA%AF%E5%87%BD%E6%95%B0%E5%BC%8F%E7%BC%96%E7%A8%8B
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/13-Functional-Programming.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
第十四章 流式编程https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/14-Streams.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第十四章-流式编程
流支持https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/14-Streams.md#%E6%B5%81%E6%94%AF%E6%8C%81
流创建https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/14-Streams.md#%E6%B5%81%E5%88%9B%E5%BB%BA
中间操作https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/14-Streams.md#%E4%B8%AD%E9%97%B4%E6%93%8D%E4%BD%9C
Optional类https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/14-Streams.md#Optional%E7%B1%BB
终端操作https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/14-Streams.md#%E7%BB%88%E7%AB%AF%E6%93%8D%E4%BD%9C
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/14-Streams.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
第十五章 异常https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/15-Exceptions.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第十五章-异常
异常概念https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/15-Exceptions.md#%E5%BC%82%E5%B8%B8%E6%A6%82%E5%BF%B5
基本异常https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/15-Exceptions.md#%E5%9F%BA%E6%9C%AC%E5%BC%82%E5%B8%B8
异常捕获https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/15-Exceptions.md#%E5%BC%82%E5%B8%B8%E6%8D%95%E8%8E%B7
自定义异常https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/15-Exceptions.md#%E8%87%AA%E5%AE%9A%E4%B9%89%E5%BC%82%E5%B8%B8
异常声明https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/15-Exceptions.md#%E5%BC%82%E5%B8%B8%E5%A3%B0%E6%98%8E
捕获所有异常https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/15-Exceptions.md#%E6%8D%95%E8%8E%B7%E6%89%80%E6%9C%89%E5%BC%82%E5%B8%B8
Java 标准异常https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/15-Exceptions.md#Java-%E6%A0%87%E5%87%86%E5%BC%82%E5%B8%B8
使用 finally 进行清理https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/15-Exceptions.md#%E4%BD%BF%E7%94%A8-finally-%E8%BF%9B%E8%A1%8C%E6%B8%85%E7%90%86
异常限制https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/15-Exceptions.md#%E5%BC%82%E5%B8%B8%E9%99%90%E5%88%B6
构造器https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/15-Exceptions.md#%E6%9E%84%E9%80%A0%E5%99%A8
Try-With-Resources 用法https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/15-Exceptions.md#Try-With-Resources-%E7%94%A8%E6%B3%95
异常匹配https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/15-Exceptions.md#%E5%BC%82%E5%B8%B8%E5%8C%B9%E9%85%8D
其他可选方式https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/15-Exceptions.md#%E5%85%B6%E4%BB%96%E5%8F%AF%E9%80%89%E6%96%B9%E5%BC%8F
异常指南https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/15-Exceptions.md#%E5%BC%82%E5%B8%B8%E6%8C%87%E5%8D%97
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/15-Exceptions.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
后记:Exception Bizarro Worldhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/15-Exceptions.md#%E5%90%8E%E8%AE%B0%EF%BC%9AException-Bizarro-World
第十六章 代码校验https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/16-Validating-Your-Code.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第十六章-代码校验
测试https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/16-Validating-Your-Code.md#%E6%B5%8B%E8%AF%95
前置条件https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/16-Validating-Your-Code.md#%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6
测试驱动开发https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/16-Validating-Your-Code.md#%E6%B5%8B%E8%AF%95%E9%A9%B1%E5%8A%A8%E5%BC%80%E5%8F%91
日志https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/16-Validating-Your-Code.md#%E6%97%A5%E5%BF%97
调试https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/16-Validating-Your-Code.md#%E8%B0%83%E8%AF%95
基准测试https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/16-Validating-Your-Code.md#%E5%9F%BA%E5%87%86%E6%B5%8B%E8%AF%95
剖析和优化https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/16-Validating-Your-Code.md#%E5%89%96%E6%9E%90%E5%92%8C%E4%BC%98%E5%8C%96
风格检测https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/16-Validating-Your-Code.md#%E9%A3%8E%E6%A0%BC%E6%A3%80%E6%B5%8B
静态错误分析https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/16-Validating-Your-Code.md#%E9%9D%99%E6%80%81%E9%94%99%E8%AF%AF%E5%88%86%E6%9E%90
代码重审https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/16-Validating-Your-Code.md#%E4%BB%A3%E7%A0%81%E9%87%8D%E5%AE%A1
结对编程https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/16-Validating-Your-Code.md#%E7%BB%93%E5%AF%B9%E7%BC%96%E7%A8%8B
重构https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/16-Validating-Your-Code.md#%E9%87%8D%E6%9E%84
持续集成https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/16-Validating-Your-Code.md#%E6%8C%81%E7%BB%AD%E9%9B%86%E6%88%90
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/16-Validating-Your-Code.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
第十七章 文件https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/17-Files.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第十七章-文件
文件和目录路径https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/17-Files.md#%E6%96%87%E4%BB%B6%E5%92%8C%E7%9B%AE%E5%BD%95%E8%B7%AF%E5%BE%84
目录https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/17-Files.md#%E7%9B%AE%E5%BD%95
文件系统https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/17-Files.md#%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F
路径监听https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/17-Files.md#%E8%B7%AF%E5%BE%84%E7%9B%91%E5%90%AC
文件查找https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/17-Files.md#%E6%96%87%E4%BB%B6%E6%9F%A5%E6%89%BE
文件读写https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/17-Files.md#%E6%96%87%E4%BB%B6%E8%AF%BB%E5%86%99
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/17-Files.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
第十八章 字符串https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/18-Strings.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第十八章-字符串
字符串的不可变https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/18-Strings.md#%E5%AD%97%E7%AC%A6%E4%B8%B2%E7%9A%84%E4%B8%8D%E5%8F%AF%E5%8F%98
+ 的重载与 StringBuilderhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/18-Strings.md#-%E7%9A%84%E9%87%8D%E8%BD%BD%E4%B8%8E-StringBuilder
意外递归https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/18-Strings.md#%E6%84%8F%E5%A4%96%E9%80%92%E5%BD%92
字符串操作https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/18-Strings.md#%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%93%8D%E4%BD%9C
格式化输出https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/18-Strings.md#%E6%A0%BC%E5%BC%8F%E5%8C%96%E8%BE%93%E5%87%BA
正则表达式https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/18-Strings.md#%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F
扫描输入https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/18-Strings.md#%E6%89%AB%E6%8F%8F%E8%BE%93%E5%85%A5
StringTokenizer类https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/18-Strings.md#StringTokenizer%E7%B1%BB
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/18-Strings.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
第十九章 类型信息https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/19-Type-Information.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第十九章-类型信息
为什么需要 RTTIhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/19-Type-Information.md#%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81-RTTI
Class 对象https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/19-Type-Information.md#Class-%E5%AF%B9%E8%B1%A1
类型转换检测https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/19-Type-Information.md#%E7%B1%BB%E5%9E%8B%E8%BD%AC%E6%8D%A2%E6%A3%80%E6%B5%8B
注册工厂https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/19-Type-Information.md#%E6%B3%A8%E5%86%8C%E5%B7%A5%E5%8E%82
类的等价比较https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/19-Type-Information.md#%E7%B1%BB%E7%9A%84%E7%AD%89%E4%BB%B7%E6%AF%94%E8%BE%83
反射:运行时类信息https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/19-Type-Information.md#%E5%8F%8D%E5%B0%84%EF%BC%9A%E8%BF%90%E8%A1%8C%E6%97%B6%E7%B1%BB%E4%BF%A1%E6%81%AF
动态代理https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/19-Type-Information.md#%E5%8A%A8%E6%80%81%E4%BB%A3%E7%90%86
Optional类https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/19-Type-Information.md#Optional%E7%B1%BB
接口和类型https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/19-Type-Information.md#%E6%8E%A5%E5%8F%A3%E5%92%8C%E7%B1%BB%E5%9E%8B
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/19-Type-Information.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
第二十章 泛型https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/20-Generics.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第二十章-泛型
简单泛型https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/20-Generics.md#%E7%AE%80%E5%8D%95%E6%B3%9B%E5%9E%8B
泛型接口https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/20-Generics.md#%E6%B3%9B%E5%9E%8B%E6%8E%A5%E5%8F%A3
泛型方法https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/20-Generics.md#%E6%B3%9B%E5%9E%8B%E6%96%B9%E6%B3%95
构建复杂模型https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/20-Generics.md#%E6%9E%84%E5%BB%BA%E5%A4%8D%E6%9D%82%E6%A8%A1%E5%9E%8B
泛型擦除https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/20-Generics.md#%E6%B3%9B%E5%9E%8B%E6%93%A6%E9%99%A4
补偿擦除https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/20-Generics.md#%E8%A1%A5%E5%81%BF%E6%93%A6%E9%99%A4
边界https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/20-Generics.md#%E8%BE%B9%E7%95%8C
通配符https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/20-Generics.md#%E9%80%9A%E9%85%8D%E7%AC%A6
问题https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/20-Generics.md#%E9%97%AE%E9%A2%98
自限定的类型https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/20-Generics.md#%E8%87%AA%E9%99%90%E5%AE%9A%E7%9A%84%E7%B1%BB%E5%9E%8B
动态类型安全https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/20-Generics.md#%E5%8A%A8%E6%80%81%E7%B1%BB%E5%9E%8B%E5%AE%89%E5%85%A8
泛型异常https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/20-Generics.md#%E6%B3%9B%E5%9E%8B%E5%BC%82%E5%B8%B8
混型https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/20-Generics.md#%E6%B7%B7%E5%9E%8B
潜在类型机制https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/20-Generics.md#%E6%BD%9C%E5%9C%A8%E7%B1%BB%E5%9E%8B%E6%9C%BA%E5%88%B6
对缺乏潜在类型机制的补偿https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/20-Generics.md#%E5%AF%B9%E7%BC%BA%E4%B9%8F%E6%BD%9C%E5%9C%A8%E7%B1%BB%E5%9E%8B%E6%9C%BA%E5%88%B6%E7%9A%84%E8%A1%A5%E5%81%BF
Java8 中的辅助潜在类型https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/20-Generics.md#Java8-%E4%B8%AD%E7%9A%84%E8%BE%85%E5%8A%A9%E6%BD%9C%E5%9C%A8%E7%B1%BB%E5%9E%8B
总结:类型转换真的如此之糟吗?https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/20-Generics.md#%E6%80%BB%E7%BB%93%EF%BC%9A%E7%B1%BB%E5%9E%8B%E8%BD%AC%E6%8D%A2%E7%9C%9F%E7%9A%84%E5%A6%82%E6%AD%A4%E4%B9%8B%E7%B3%9F%E5%90%97%EF%BC%9F
进阶阅读https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/20-Generics.md#%E8%BF%9B%E9%98%B6%E9%98%85%E8%AF%BB
第二十一章 数组https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第二十一章-数组
数组特性https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md#%E6%95%B0%E7%BB%84%E7%89%B9%E6%80%A7
一等对象https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md#%E4%B8%80%E7%AD%89%E5%AF%B9%E8%B1%A1
返回数组https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md#%E8%BF%94%E5%9B%9E%E6%95%B0%E7%BB%84
多维数组https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md#%E5%A4%9A%E7%BB%B4%E6%95%B0%E7%BB%84
泛型数组https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md#%E6%B3%9B%E5%9E%8B%E6%95%B0%E7%BB%84
Arrays的fill方法https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md#Arrays%E7%9A%84fill%E6%96%B9%E6%B3%95
Arrays的setAll方法https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md#Arrays%E7%9A%84setAll%E6%96%B9%E6%B3%95
增量生成https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md#%E5%A2%9E%E9%87%8F%E7%94%9F%E6%88%90
随机生成https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md#%E9%9A%8F%E6%9C%BA%E7%94%9F%E6%88%90
泛型和基本数组https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md#%E6%B3%9B%E5%9E%8B%E5%92%8C%E5%9F%BA%E6%9C%AC%E6%95%B0%E7%BB%84
数组元素修改https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md#%E6%95%B0%E7%BB%84%E5%85%83%E7%B4%A0%E4%BF%AE%E6%94%B9
数组并行https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md#%E6%95%B0%E7%BB%84%E5%B9%B6%E8%A1%8C
Arrays工具类https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md#Arrays%E5%B7%A5%E5%85%B7%E7%B1%BB
数组拷贝https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md#%E6%95%B0%E7%BB%84%E6%8B%B7%E8%B4%9D
数组比较https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md#%E6%95%B0%E7%BB%84%E6%AF%94%E8%BE%83
流和数组https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md#%E6%B5%81%E5%92%8C%E6%95%B0%E7%BB%84
数组排序https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md#%E6%95%B0%E7%BB%84%E6%8E%92%E5%BA%8F
Arrays.sort 的使用https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md#Arrayssort-%E7%9A%84%E4%BD%BF%E7%94%A8
并行排序https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md#%E5%B9%B6%E8%A1%8C%E6%8E%92%E5%BA%8F
binarySearch二分查找https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md#binarySearch%E4%BA%8C%E5%88%86%E6%9F%A5%E6%89%BE
parallelPrefix并行前缀https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md#parallelPrefix%E5%B9%B6%E8%A1%8C%E5%89%8D%E7%BC%80
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/21-Arrays.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
第二十二章 枚举https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/22-Enumerations.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第二十二章-枚举
基本 enum 特性https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/22-Enumerations.md#%E5%9F%BA%E6%9C%AC-enum-%E7%89%B9%E6%80%A7
方法添加https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/22-Enumerations.md#%E6%96%B9%E6%B3%95%E6%B7%BB%E5%8A%A0
switch 语句中的 enumhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/22-Enumerations.md#switch-%E8%AF%AD%E5%8F%A5%E4%B8%AD%E7%9A%84-enum
values 方法的神秘之处https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/22-Enumerations.md#values-%E6%96%B9%E6%B3%95%E7%9A%84%E7%A5%9E%E7%A7%98%E4%B9%8B%E5%A4%84
实现而非继承https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/22-Enumerations.md#%E5%AE%9E%E7%8E%B0%E8%80%8C%E9%9D%9E%E7%BB%A7%E6%89%BF
随机选择https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/22-Enumerations.md#%E9%9A%8F%E6%9C%BA%E9%80%89%E6%8B%A9
使用接口组织枚举https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/22-Enumerations.md#%E4%BD%BF%E7%94%A8%E6%8E%A5%E5%8F%A3%E7%BB%84%E7%BB%87%E6%9E%9A%E4%B8%BE
使用 EnumSet 替代 Flagshttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/22-Enumerations.md#%E4%BD%BF%E7%94%A8-EnumSet-%E6%9B%BF%E4%BB%A3-Flags
使用 EnumMaphttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/22-Enumerations.md#%E4%BD%BF%E7%94%A8-EnumMap
常量特定方法https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/22-Enumerations.md#%E5%B8%B8%E9%87%8F%E7%89%B9%E5%AE%9A%E6%96%B9%E6%B3%95
多路分发https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/22-Enumerations.md#%E5%A4%9A%E8%B7%AF%E5%88%86%E5%8F%91
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/22-Enumerations.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
第二十三章 注解https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/23-Annotations.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第二十三章-注解
基本语法https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/23-Annotations.md#%E5%9F%BA%E6%9C%AC%E8%AF%AD%E6%B3%95
编写注解处理器https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/23-Annotations.md#%E7%BC%96%E5%86%99%E6%B3%A8%E8%A7%A3%E5%A4%84%E7%90%86%E5%99%A8
使用javac处理注解https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/23-Annotations.md#%E4%BD%BF%E7%94%A8javac%E5%A4%84%E7%90%86%E6%B3%A8%E8%A7%A3
基于注解的单元测试https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/23-Annotations.md#%E5%9F%BA%E4%BA%8E%E6%B3%A8%E8%A7%A3%E7%9A%84%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/23-Annotations.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
第二十四章 并发编程https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/24-Concurrent-Programming.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第二十四章-并发编程
术语问题https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/24-Concurrent-Programming.md#%E6%9C%AF%E8%AF%AD%E9%97%AE%E9%A2%98
并发的超能力https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/24-Concurrent-Programming.md#%E5%B9%B6%E5%8F%91%E7%9A%84%E8%B6%85%E8%83%BD%E5%8A%9B
并发为速度而生https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/24-Concurrent-Programming.md#%E5%B9%B6%E5%8F%91%E4%B8%BA%E9%80%9F%E5%BA%A6%E8%80%8C%E7%94%9F
四句格言https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/24-Concurrent-Programming.md#%E5%9B%9B%E5%8F%A5%E6%A0%BC%E8%A8%80
残酷的真相https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/24-Concurrent-Programming.md#%E6%AE%8B%E9%85%B7%E7%9A%84%E7%9C%9F%E7%9B%B8
本章其余部分https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/24-Concurrent-Programming.md#%E6%9C%AC%E7%AB%A0%E5%85%B6%E4%BD%99%E9%83%A8%E5%88%86
并行流https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/24-Concurrent-Programming.md#%E5%B9%B6%E8%A1%8C%E6%B5%81
创建和运行任务https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/24-Concurrent-Programming.md#%E5%88%9B%E5%BB%BA%E5%92%8C%E8%BF%90%E8%A1%8C%E4%BB%BB%E5%8A%A1
终止耗时任务https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/24-Concurrent-Programming.md#%E7%BB%88%E6%AD%A2%E8%80%97%E6%97%B6%E4%BB%BB%E5%8A%A1
CompletableFuture 类https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/24-Concurrent-Programming.md#CompletableFuture-%E7%B1%BB
死锁https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/24-Concurrent-Programming.md#%E6%AD%BB%E9%94%81
构造方法非线程安全https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/24-Concurrent-Programming.md#%E6%9E%84%E9%80%A0%E6%96%B9%E6%B3%95%E9%9D%9E%E7%BA%BF%E7%A8%8B%E5%AE%89%E5%85%A8
复杂性和代价https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/24-Concurrent-Programming.md#%E5%A4%8D%E6%9D%82%E6%80%A7%E5%92%8C%E4%BB%A3%E4%BB%B7
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/24-Concurrent-Programming.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
第二十五章 设计模式https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/25-Patterns.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#第二十五章-设计模式
概念https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/25-Patterns.md#%E6%A6%82%E5%BF%B5
构建应用程序框架https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/25-Patterns.md#%E6%9E%84%E5%BB%BA%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%A1%86%E6%9E%B6
面向实现https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/25-Patterns.md#%E9%9D%A2%E5%90%91%E5%AE%9E%E7%8E%B0
工厂模式https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/25-Patterns.md#%E5%B7%A5%E5%8E%82%E6%A8%A1%E5%BC%8F
函数对象https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/25-Patterns.md#%E5%87%BD%E6%95%B0%E5%AF%B9%E8%B1%A1
改变接口https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/25-Patterns.md#%E6%94%B9%E5%8F%98%E6%8E%A5%E5%8F%A3
解释器:运行时的弹性https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/25-Patterns.md#%E8%A7%A3%E9%87%8A%E5%99%A8%EF%BC%9A%E8%BF%90%E8%A1%8C%E6%97%B6%E7%9A%84%E5%BC%B9%E6%80%A7
回调https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/25-Patterns.md#%E5%9B%9E%E8%B0%83
多次调度https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/25-Patterns.md#%E5%A4%9A%E6%AC%A1%E8%B0%83%E5%BA%A6
模式重构https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/25-Patterns.md#%E6%A8%A1%E5%BC%8F%E9%87%8D%E6%9E%84
抽象用法https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/25-Patterns.md#%E6%8A%BD%E8%B1%A1%E7%94%A8%E6%B3%95
多次派遣https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/25-Patterns.md#%E5%A4%9A%E6%AC%A1%E6%B4%BE%E9%81%A3
访问者模式https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/25-Patterns.md#%E8%AE%BF%E9%97%AE%E8%80%85%E6%A8%A1%E5%BC%8F
RTTI的优劣https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/25-Patterns.md#RTTI%E7%9A%84%E4%BC%98%E5%8A%A3
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/25-Patterns.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
附录:成为一名程序员https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Becoming-a-Programmer.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#附录成为一名程序员
如何开始https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Becoming-a-Programmer.md#%E5%A6%82%E4%BD%95%E5%BC%80%E5%A7%8B
码农生涯https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Becoming-a-Programmer.md#%E7%A0%81%E5%86%9C%E7%94%9F%E6%B6%AF
百分之五的神话https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Becoming-a-Programmer.md#%E7%99%BE%E5%88%86%E4%B9%8B%E4%BA%94%E7%9A%84%E7%A5%9E%E8%AF%9D
重在动手https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Becoming-a-Programmer.md#%E9%87%8D%E5%9C%A8%E5%8A%A8%E6%89%8B
像打字般编程https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Becoming-a-Programmer.md#%E5%83%8F%E6%89%93%E5%AD%97%E8%88%AC%E7%BC%96%E7%A8%8B
做你喜欢的事https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Becoming-a-Programmer.md#%E5%81%9A%E4%BD%A0%E5%96%9C%E6%AC%A2%E7%9A%84%E4%BA%8B
附录:静态语言类型检查https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Benefits-and-Costs-of-Static-Type-Checking.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#附录静态语言类型检查
前言https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Benefits-and-Costs-of-Static-Type-Checking.md#%E5%89%8D%E8%A8%80
静态类型检查和测试https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Benefits-and-Costs-of-Static-Type-Checking.md#%E9%9D%99%E6%80%81%E7%B1%BB%E5%9E%8B%E6%A3%80%E6%9F%A5%E5%92%8C%E6%B5%8B%E8%AF%95
如何提升打字https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Benefits-and-Costs-of-Static-Type-Checking.md#%E5%A6%82%E4%BD%95%E6%8F%90%E5%8D%87%E6%89%93%E5%AD%97
生产力的成本https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Benefits-and-Costs-of-Static-Type-Checking.md#%E7%94%9F%E4%BA%A7%E5%8A%9B%E7%9A%84%E6%88%90%E6%9C%AC
静态和动态https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Benefits-and-Costs-of-Static-Type-Checking.md#%E9%9D%99%E6%80%81%E5%92%8C%E5%8A%A8%E6%80%81
附录:集合主题https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Collection-Topics.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#附录集合主题
示例数据https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Collection-Topics.md#%E7%A4%BA%E4%BE%8B%E6%95%B0%E6%8D%AE
List行为https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Collection-Topics.md#List%E8%A1%8C%E4%B8%BA
Set行为https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Collection-Topics.md#Set%E8%A1%8C%E4%B8%BA
在Map中使用函数式操作https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Collection-Topics.md#%E5%9C%A8Map%E4%B8%AD%E4%BD%BF%E7%94%A8%E5%87%BD%E6%95%B0%E5%BC%8F%E6%93%8D%E4%BD%9C
选择Map片段https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Collection-Topics.md#%E9%80%89%E6%8B%A9Map%E7%89%87%E6%AE%B5
填充集合https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Collection-Topics.md#%E5%A1%AB%E5%85%85%E9%9B%86%E5%90%88
使用享元(Flyweight)自定义Collection和Maphttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Collection-Topics.md#%E4%BD%BF%E7%94%A8%E4%BA%AB%E5%85%83%EF%BC%88Flyweight%EF%BC%89%E8%87%AA%E5%AE%9A%E4%B9%89Collection%E5%92%8CMap
集合功能https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Collection-Topics.md#%E9%9B%86%E5%90%88%E5%8A%9F%E8%83%BD
可选操作https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Collection-Topics.md#%E5%8F%AF%E9%80%89%E6%93%8D%E4%BD%9C
Set和存储顺序https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Collection-Topics.md#Set%E5%92%8C%E5%AD%98%E5%82%A8%E9%A1%BA%E5%BA%8F
队列https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Collection-Topics.md#%E9%98%9F%E5%88%97
理解Maphttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Collection-Topics.md#%E7%90%86%E8%A7%A3Map
集合工具类https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Collection-Topics.md#%E9%9B%86%E5%90%88%E5%B7%A5%E5%85%B7%E7%B1%BB
持有引用https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Collection-Topics.md#%E6%8C%81%E6%9C%89%E5%BC%95%E7%94%A8
Java 1.0 / 1.1 的集合类https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Collection-Topics.md#Java-10-11-%E7%9A%84%E9%9B%86%E5%90%88%E7%B1%BB
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Collection-Topics.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
附录:数据压缩https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Data-Compression.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#附录数据压缩
使用 Gzip 简单压缩https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Data-Compression.md#%E4%BD%BF%E7%94%A8-Gzip-%E7%AE%80%E5%8D%95%E5%8E%8B%E7%BC%A9
使用 zip 多文件存储https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Data-Compression.md#%E4%BD%BF%E7%94%A8-zip-%E5%A4%9A%E6%96%87%E4%BB%B6%E5%AD%98%E5%82%A8
Java 的 jarhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Data-Compression.md#Java-%E7%9A%84-jar
附录:流式IOhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-IO-Streams.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#附录流式io
输入流类型https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-IO-Streams.md#%E8%BE%93%E5%85%A5%E6%B5%81%E7%B1%BB%E5%9E%8B
输出流类型https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-IO-Streams.md#%E8%BE%93%E5%87%BA%E6%B5%81%E7%B1%BB%E5%9E%8B
添加属性和有用的接口https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-IO-Streams.md#%E6%B7%BB%E5%8A%A0%E5%B1%9E%E6%80%A7%E5%92%8C%E6%9C%89%E7%94%A8%E7%9A%84%E6%8E%A5%E5%8F%A3
Reader和Writerhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-IO-Streams.md#Reader%E5%92%8CWriter
RandomAccessFile类https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-IO-Streams.md#RandomAccessFile%E7%B1%BB
IO流典型用途https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-IO-Streams.md#IO%E6%B5%81%E5%85%B8%E5%9E%8B%E7%94%A8%E9%80%94
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-IO-Streams.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
附录:文档注释https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Javadoc.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#附录文档注释
句法规则https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Javadoc.md#%E5%8F%A5%E6%B3%95%E8%A7%84%E5%88%99
内嵌 HTMLhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Javadoc.md#%E5%86%85%E5%B5%8C-HTML
示例标签https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Javadoc.md#%E7%A4%BA%E4%BE%8B%E6%A0%87%E7%AD%BE
文档示例https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Javadoc.md#%E6%96%87%E6%A1%A3%E7%A4%BA%E4%BE%8B
附录:并发底层原理https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Low-Level-Concurrency.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#附录并发底层原理
什么是线程?https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Low-Level-Concurrency.md#%E4%BB%80%E4%B9%88%E6%98%AF%E7%BA%BF%E7%A8%8B%EF%BC%9F
异常捕获https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Low-Level-Concurrency.md#%E5%BC%82%E5%B8%B8%E6%8D%95%E8%8E%B7
资源共享https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Low-Level-Concurrency.md#%E8%B5%84%E6%BA%90%E5%85%B1%E4%BA%AB
volatile 关键字https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Low-Level-Concurrency.md#volatile-%E5%85%B3%E9%94%AE%E5%AD%97
原子性https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Low-Level-Concurrency.md#%E5%8E%9F%E5%AD%90%E6%80%A7
临界区https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Low-Level-Concurrency.md#%E4%B8%B4%E7%95%8C%E5%8C%BA
库组件https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Low-Level-Concurrency.md#%E5%BA%93%E7%BB%84%E4%BB%B6
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Low-Level-Concurrency.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
附录:新IOhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-New-IO.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#附录新io
ByteBufferhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-New-IO.md#ByteBuffer
数据转换https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-New-IO.md#%E6%95%B0%E6%8D%AE%E8%BD%AC%E6%8D%A2
基本类型获取https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-New-IO.md#%E5%9F%BA%E6%9C%AC%E7%B1%BB%E5%9E%8B%E8%8E%B7%E5%8F%96
视图缓冲区https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-New-IO.md#%E8%A7%86%E5%9B%BE%E7%BC%93%E5%86%B2%E5%8C%BA
缓冲区数据操作https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-New-IO.md#%E7%BC%93%E5%86%B2%E5%8C%BA%E6%95%B0%E6%8D%AE%E6%93%8D%E4%BD%9C
内存映射文件https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-New-IO.md#-%E5%86%85%E5%AD%98%E6%98%A0%E5%B0%84%E6%96%87%E4%BB%B6
文件锁定https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-New-IO.md#%E6%96%87%E4%BB%B6%E9%94%81%E5%AE%9A
附录:对象序列化https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Object-Serialization.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#附录对象序列化
查找类https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Object-Serialization.md#%E6%9F%A5%E6%89%BE%E7%B1%BB
控制序列化https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Object-Serialization.md#%E6%8E%A7%E5%88%B6%E5%BA%8F%E5%88%97%E5%8C%96
使用持久化https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Object-Serialization.md#%E4%BD%BF%E7%94%A8%E6%8C%81%E4%B9%85%E5%8C%96
XMLhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Object-Serialization.md#XML
附录:对象传递和返回https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Passing-and-Returning-Objects.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#附录对象传递和返回
传递引用https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Passing-and-Returning-Objects.md#%E4%BC%A0%E9%80%92%E5%BC%95%E7%94%A8
本地拷贝https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Passing-and-Returning-Objects.md#%E6%9C%AC%E5%9C%B0%E6%8B%B7%E8%B4%9D
控制克隆https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Passing-and-Returning-Objects.md#%E6%8E%A7%E5%88%B6%E5%85%8B%E9%9A%86
不可变类https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Passing-and-Returning-Objects.md#%E4%B8%8D%E5%8F%AF%E5%8F%98%E7%B1%BB
本章小结https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Passing-and-Returning-Objects.md#%E6%9C%AC%E7%AB%A0%E5%B0%8F%E7%BB%93
附录:编程指南https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Programming-Guidelines.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#附录编程指南
设计https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Programming-Guidelines.md#%E8%AE%BE%E8%AE%A1
实现https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Programming-Guidelines.md#%E5%AE%9E%E7%8E%B0
附录:标准IOhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Standard-IO.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#附录标准io
从标准输入中读取https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Standard-IO.md#%E4%BB%8E%E6%A0%87%E5%87%86%E8%BE%93%E5%85%A5%E4%B8%AD%E8%AF%BB%E5%8F%96
将 System.out 转换成 PrintWriterhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Standard-IO.md#%E5%B0%86-Systemout-%E8%BD%AC%E6%8D%A2%E6%88%90-PrintWriter
重定向标准 I/Ohttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Standard-IO.md#%E9%87%8D%E5%AE%9A%E5%90%91%E6%A0%87%E5%87%86-IO
执行控制https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Standard-IO.md#%E6%89%A7%E8%A1%8C%E6%8E%A7%E5%88%B6
附录:补充https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Supplements.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#附录补充
可下载的补充https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Supplements.md#%E5%8F%AF%E4%B8%8B%E8%BD%BD%E7%9A%84%E8%A1%A5%E5%85%85
通过Thinking-in-C来巩固Java基础https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Supplements.md#%E9%80%9A%E8%BF%87Thinking-in-C%E6%9D%A5%E5%B7%A9%E5%9B%BAJava%E5%9F%BA%E7%A1%80
Hand-On Java 电子演示文稿https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Supplements.md#Hand-On-Java-%E7%94%B5%E5%AD%90%E6%BC%94%E7%A4%BA%E6%96%87%E7%A8%BF
附录:C++和Java的优良传统https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-The-Positive-Legacy-of-C-plus-plus-and-Java.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#附录c和java的优良传统
附录:理解equals和hashCode方法https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Understanding-equals-and-hashCode.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#附录理解equals和hashcode方法
equals规范https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Understanding-equals-and-hashCode.md#equals%E8%A7%84%E8%8C%83
哈希和哈希码https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Understanding-equals-and-hashCode.md#%E5%93%88%E5%B8%8C%E5%92%8C%E5%93%88%E5%B8%8C%E7%A0%81
调优 HashMaphttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/Appendix-Understanding-equals-and-hashCode.md#%E8%B0%83%E4%BC%98-HashMap
术语表https://patch-diff.githubusercontent.com/prettykernel/OnJava8/blob/main/GLOSSARY.md
https://patch-diff.githubusercontent.com/prettykernel/OnJava8#术语表
https://github.com/LingCoder/OnJava8https://github.com/LingCoder/OnJava8
Readme https://patch-diff.githubusercontent.com/prettykernel/OnJava8#readme-ov-file
Please reload this pagehttps://patch-diff.githubusercontent.com/prettykernel/OnJava8
Activityhttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/activity
16 starshttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/stargazers
0 watchinghttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/watchers
41 forkshttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/forks
Report repository https://patch-diff.githubusercontent.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Fprettykernel%2FOnJava8&report=prettykernel+%28user%29
Releaseshttps://patch-diff.githubusercontent.com/prettykernel/OnJava8/releases
Packages 0https://patch-diff.githubusercontent.com/users/prettykernel/packages?repo_name=OnJava8
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.