{"id":20374496,"url":"https://github.com/zzy979/core-java-code","last_synced_at":"2026-05-26T23:31:35.712Z","repository":{"id":250332976,"uuid":"826363108","full_name":"ZZy979/Core-Java-code","owner":"ZZy979","description":"《Java核心技术》书中代码","archived":false,"fork":false,"pushed_at":"2026-01-25T11:46:31.000Z","size":10160,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-26T02:40:01.475Z","etag":null,"topics":["corejava","java","java-17"],"latest_commit_sha":null,"homepage":"https://zzy979.github.io/posts/java-note-index/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ZZy979.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-07-09T15:05:26.000Z","updated_at":"2026-01-25T11:46:34.000Z","dependencies_parsed_at":"2024-08-24T05:31:54.256Z","dependency_job_id":"00de4a28-f079-4308-86da-cee53bd15d5b","html_url":"https://github.com/ZZy979/Core-Java-code","commit_stats":null,"previous_names":["zzy979/core-java-code"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ZZy979/Core-Java-code","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZZy979%2FCore-Java-code","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZZy979%2FCore-Java-code/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZZy979%2FCore-Java-code/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZZy979%2FCore-Java-code/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZZy979","download_url":"https://codeload.github.com/ZZy979/Core-Java-code/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZZy979%2FCore-Java-code/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33543973,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"ssl_error","status_checked_at":"2026-05-26T15:22:15.568Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["corejava","java","java-17"],"created_at":"2024-11-15T01:24:48.132Z","updated_at":"2026-05-26T23:31:35.681Z","avatar_url":"https://github.com/ZZy979.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Core-Java-code\n《Java核心技术》(Core Java)（第12版）书中代码\n* 本书网站：\u003chttps://horstmann.com/corejava/\u003e\n* 源代码：\u003chttps://horstmann.com/corejava/corejava.zip\u003e\n* 笔记：\u003chttps://zzy979.github.io/posts/java-note-index/\u003e\n\n# 依赖\n* JDK 17\n* Python 3\n\n# 运行方式\n方式一：在命令行中编译和运行。例如：\n\n```shell\ncd v1ch02/Welcome\njavac Welcome.java\njava Welcome\n```\n\n方式二：使用工具脚本。用法：\n\n```shell\npython -m corejava run {chapter}/{target}\n```\n\n其中，chapter为章节名称（例如v1ch02），target为示例程序名称，格式为`[subdir/][package.]classname`（例如Welcome/Welcome）。例如：\n\n```shell\npython -m corejava run v1ch02/Welcome/Welcome\npython -m corejava run v1ch05/arrayList.ArrayListTest\n```\n\n# 单元测试\n在项目根目录下执行：\n\n```shell\npython -m corejava test [chapter...]\n```\n\n# 代码目录\n## 卷I 基础知识\n### 第2章 Java编程环境\n* [程序清单2-1 Welcome/Welcome.java](v1ch02/Welcome/Welcome.java)\n* [程序清单2-2 ImageViewer/ImageViewer.java](v1ch02/ImageViewer/ImageViewer.java)\n\n### 第3章 Java的基本编程结构\n* [程序清单3-1 FirstSample/FirstSample.java](v1ch03/FirstSample/FirstSample.java)\n* [Constants/Constants.java](v1ch03/Constants/Constants.java)\n* [Constants/Constants2.java](v1ch03/Constants/Constants2.java)\n* [程序清单3-2 InputTest/InputTest.java](v1ch03/InputTest/InputTest.java)\n* [程序清单3-3 Retirement/Retirement.java](v1ch03/Retirement/Retirement.java)\n* [程序清单3-4 Retirement2/Retirement2.java](v1ch03/Retirement2/Retirement2.java)\n* [程序清单3-5 LotteryOdds/LotteryOdds.java](v1ch03/LotteryOdds/LotteryOdds.java)\n* [程序清单3-6 BigIntegerTest/BigIntegerTest.java](v1ch03/BigIntegerTest/BigIntegerTest.java)\n* [Message/Message.java](v1ch03/Message/Message.java)\n* [程序清单3-7 LotteryDrawing/LotteryDrawing.java](v1ch03/LotteryDrawing/LotteryDrawing.java)\n* [程序清单3-8 CompoundInterest/CompoundInterest.java](v1ch03/CompoundInterest/CompoundInterest.java)\n* [程序清单3-9 LotteryArray/LotteryArray.java](v1ch03/LotteryArray/LotteryArray.java)\n\n### 第4章 对象和类\n* [程序清单4-1 CalendarTest/CalendarTest.java](v1ch04/CalendarTest/CalendarTest.java)\n* [程序清单4-2 EmployeeTest/EmployeeTest.java](v1ch04/EmployeeTest/EmployeeTest.java)\n* [程序清单4-3 StaticTest/StaticTest.java](v1ch04/StaticTest/StaticTest.java)\n* [程序清单4-4 ParamTest/ParamTest.java](v1ch04/ParamTest/ParamTest.java)\n* [程序清单4-5 ConstructorTest/ConstructorTest.java](v1ch04/ConstructorTest/ConstructorTest.java)\n* [程序清单4-6 RecordTest/RecordTest.java](v1ch04/RecordTest/RecordTest.java)\n* [程序清单4-7 PackageTest/PackageTest.java](v1ch04/PackageTest/PackageTest.java)\n* [程序清单4-8 PackageTest/com/horstmann/corejava/Employee.java](v1ch04/PackageTest/com/horstmann/corejava/Employee.java)\n\n### 第5章 继承\n* [程序清单5-1 inheritance/ManagerTest.java](v1ch05/inheritance/ManagerTest.java)\n* [程序清单5-2 inheritance/Employee.java](v1ch05/inheritance/Employee.java)\n* [程序清单5-3 inheritance/Manager.java](v1ch05/inheritance/Manager.java)\n* [程序清单5-4 equals/EqualsTest.java](v1ch05/equals/EqualsTest.java)\n* [程序清单5-5 equals/Employee.java](v1ch05/equals/Employee.java)\n* [程序清单5-6 equals/Manager.java](v1ch05/equals/Manager.java)\n* [程序清单5-7 arrayList/ArrayListTest.java](v1ch05/arrayList/ArrayListTest.java)\n* [程序清单5-8 abstractClasses/PersonTest.java](v1ch05/abstractClasses/PersonTest.java)\n* [程序清单5-9 abstractClasses/Person.java](v1ch05/abstractClasses/Person.java)\n* [程序清单5-10 abstractClasses/Employee.java](v1ch05/abstractClasses/Employee.java)\n* [程序清单5-11 abstractClasses/Student.java](v1ch05/abstractClasses/Student.java)\n* [程序清单5-12 enums/EnumTest.java](v1ch05/enums/EnumTest.java)\n* [程序清单5-13 sealed/SealedTest.java](v1ch05/sealed/SealedTest.java)\n* [程序清单5-14 resources/ResourceTest.java](v1ch05/resources/ResourceTest.java)\n* [程序清单5-15 reflection/ReflectionTest.java](v1ch05/reflection/ReflectionTest.java)\n* [程序清单5-16 objectAnalyzer/ObjectAnalyzerTest.java](v1ch05/objectAnalyzer/ObjectAnalyzerTest.java)\n* [程序清单5-17 objectAnalyzer/ObjectAnalyzer.java](v1ch05/objectAnalyzer/ObjectAnalyzer.java)\n* [程序清单5-18 arrays/CopyOfTest.java](v1ch05/arrays/CopyOfTest.java)\n* [程序清单5-19 methods/MethodTableTest.java](v1ch05/methods/MethodTableTest.java)\n\n### 第6章 接口、Lambda表达式和内部类\n* [程序清单6-1 interfaces/EmployeeSortTest.java](v1ch06/interfaces/EmployeeSortTest.java)\n* [程序清单6-2 interfaces/Employee.java](v1ch06/interfaces/Employee.java)\n* [程序清单6-3 timer/TimerTest.java](v1ch06/timer/TimerTest.java)\n* [程序清单6-4 clone/CloneTest.java](v1ch06/clone/CloneTest.java)\n* [程序清单6-5 clone/Employee.java](v1ch06/clone/Employee.java)\n* [程序清单6-6 lambda/LambdaTest.java](v1ch06/lambda/LambdaTest.java)\n* [comparator/ComparatorTest.java](v1ch06/comparator/ComparatorTest.java)\n* [程序清单6-7 innerClass/InnerClassTest.java](v1ch06/innerClass/InnerClassTest.java)\n* [localInnerClass/LocalInnerClassTest.java](v1ch06/localInnerClass/LocalInnerClassTest.java)\n* [程序清单6-8 anonymousInnerClass/AnonymousInnerClassTest.java](v1ch06/anonymousInnerClass/AnonymousInnerClassTest.java)\n* [程序清单6-9 staticInnerClass/StaticInnerClassTest.java](v1ch06/staticInnerClass/StaticInnerClassTest.java)\n* [serviceLoader/ServiceLoaderTest.java](v1ch06/serviceLoader/ServiceLoaderTest.java)\n* [程序清单6-10 proxy/ProxyTest.java](v1ch06/proxy/ProxyTest.java)\n\n### 第7章 异常、断言和日志\n* [except/ExceptTest.java](v1ch07/except/ExceptTest.java)\n* [程序清单7-1 stackTrace/StackTraceTest.java](v1ch07/stackTrace/StackTraceTest.java)\n* [exceptional/ExceptionalTest.java](v1ch07/exceptional/ExceptionalTest.java)\n* [assertion/AssertionTest.java](v1ch07/assertion/AssertionTest.java)\n* [程序清单7-2 logging/LoggingImageViewer.java](v1ch07/logging/LoggingImageViewer.java)\n\n### 第8章 泛型编程\n* [pair/Pair.java](v1ch08/pair/Pair.java)\n* [程序清单8-1 pair1/PairTest1.java](v1ch08/pair1/PairTest1.java)\n* [程序清单8-2 pair2/PairTest2.java](v1ch08/pair2/PairTest2.java)\n* [bridgeMethod/BridgeMethodTest.java](v1ch08/bridgeMethod/BridgeMethodTest.java)\n* [genericAlgorithms/Pair.java](v1ch08/genericAlgorithms/Pair.java)\n* [limitations/NoGenericArray.java](v1ch08/limitations/NoGenericArray.java)\n* [genericAlgorithms/GenericAlgorithms.java](v1ch08/genericAlgorithms/GenericAlgorithms.java)\n* [limitations/DefeatCheckedExceptionChecking.java](v1ch08/limitations/DefeatCheckedExceptionChecking.java)\n* [程序清单8-3 pair3/PairTest3.java](v1ch08/pair3/PairTest3.java)\n* [程序清单8-4 genericReflection/GenericReflectionTest.java](v1ch08/genericReflection/GenericReflectionTest.java)\n* [程序清单8-5 genericReflection/TypeLiterals.java](v1ch08/genericReflection/TypeLiterals.java)\n\n### 第9章 集合\n* [circularArrayQueue/CircularArrayQueue.java](v1ch09/circularArrayQueue/CircularArrayQueue.java)\n* [circularArrayQueue/CircularArrayQueueTest.java](v1ch09/circularArrayQueue/CircularArrayQueueTest.java)\n* [程序清单9-1 linkedList/LinkedListTest.java](v1ch09/linkedList/LinkedListTest.java)\n* [程序清单9-2 set/SetTest.java](v1ch09/set/SetTest.java)\n* [程序清单9-3 treeSet/TreeSetTest.java](v1ch09/treeSet/TreeSetTest.java)\n* [程序清单9-4 treeSet/Item.java](v1ch09/treeSet/Item.java)\n* [程序清单9-5 priorityQueue/PriorityQueueTest.java](v1ch09/priorityQueue/PriorityQueueTest.java)\n* [程序清单9-6 map/MapTest.java](v1ch09/map/MapTest.java)\n* [程序清单9-7 shuffle/ShuffleTest.java](v1ch09/shuffle/ShuffleTest.java)\n* [properties/ImageViewer.java](v1ch09/properties/ImageViewer.java)\n* [程序清单9-8 sieve/Sieve.java](v1ch09/sieve/Sieve.java)\n* [程序清单9-9 sieve/sieve.cpp](v1ch09/sieve/sieve.cpp)\n\n### 第10章 图形用户界面\n* [程序清单10-1 simpleFrame/SimpleFrameTest.java](v1ch10/simpleFrame/SimpleFrameTest.java)\n* [sizedFrame/SizedFrame.java](v1ch10/sizedFrame/SizedFrame.java)\n* [程序清单10-2 notHelloWorld/NotHelloWorldComponent.java](v1ch10/notHelloWorld/NotHelloWorldComponent.java)\n* [程序清单10-3 draw/DrawComponent.java](v1ch10/draw/DrawComponent.java)\n* [fill/FillComponent.java](v1ch10/fill/FillComponent.java)\n* [listFonts/ListFonts.java](v1ch10/listFonts/ListFonts.java)\n* [程序清单10-4 font/FontComponent.java](v1ch10/font/FontComponent.java)\n* [image/ImageComponent.java](v1ch10/image/ImageComponent.java)\n* [程序清单10-5 button/ButtonFrame.java](v1ch10/button/ButtonFrame.java)\n* [plaf/PlafFrame.java](v1ch10/plaf/PlafFrame.java)\n* [action/ActionFrame.java](v1ch10/action/ActionFrame.java)\n* [程序清单10-6 mouse/MouseComponent.java](v1ch10/mouse/MouseComponent.java)\n* [程序清单10-7 preferences/ImageViewerFrame.java](v1ch10/preferences/ImageViewerFrame.java)\n\n#### Swing示例集合\n为方便起见，将卷I第10、11章和卷II第11章中所有Swing示例集合打包成一个JAR文件，可以直接通过GUI选择要运行的示例。\n\n代码：[MainFrame.java](swing-demos/MainFrame.java)\n\n打包命令：\n\n```shell\ncd swing-demos\nbash build_swing_demos.sh\n```\n\n运行命令：\n\n```shell\njava -jar swing-demos.jar\n```\n\n### 第11章 Swing用户界面组件\n* [layoutManager/FlowLayoutFrame.java](v1ch11/layoutManager/FlowLayoutFrame.java)\n* [layoutManager/BorderLayoutFrame.java](v1ch11/layoutManager/BorderLayoutFrame.java)\n* [calculator/CalculatorPanel.java](v1ch11/calculator/CalculatorPanel.java)\n* [程序清单11-1 text/TextComponentFrame.java](v1ch11/text/TextComponentFrame.java)\n* [程序清单11-2 checkBox/CheckBoxFrame.java](v1ch11/checkBox/CheckBoxFrame.java)\n* [程序清单11-3 radioButton/RadioButtonFrame.java](v1ch11/radioButton/RadioButtonFrame.java)\n* [border/BorderFrame.java](v1ch11/border/BorderFrame.java)\n* [程序清单11-4 comboBox/ComboBoxFrame.java](v1ch11/comboBox/ComboBoxFrame.java)\n* [程序清单11-5 slider/SliderFrame.java](v1ch11/slider/SliderFrame.java)\n* [程序清单11-6 menu/MenuFrame.java](v1ch11/menu/MenuFrame.java)\n* [toolBar/ToolBarFrame.java](v1ch11/toolBar/ToolBarFrame.java)\n* [程序清单11-7 gridbag/FontFrame.java](v1ch11/gridbag/FontFrame.java)\n* [程序清单11-8 gridbag/GBC.java](v1ch11/gridbag/GBC.java)\n* [程序清单11-9 circleLayout/CircleLayout.java](v1ch11/circleLayout/CircleLayout.java)\n* [程序清单11-10 circleLayout/CircleLayoutFrame.java](v1ch11/circleLayout/CircleLayoutFrame.java)\n* [optionDialog/OptionDialogFrame.java](v1ch11/optionDialog/OptionDialogFrame.java)\n* [程序清单11-11 dialog/DialogFrame.java](v1ch11/dialog/DialogFrame.java)\n* [程序清单11-12 dialog/AboutDialog.java](v1ch11/dialog/AboutDialog.java)\n* [程序清单11-13 dataExchange/DataExchangeFrame.java](v1ch11/dataExchange/DataExchangeFrame.java)\n* [程序清单11-14 dataExchange/PasswordChooser.java](v1ch11/dataExchange/PasswordChooser.java)\n* [fileChooser/ImageViewerFrame.java](v1ch11/fileChooser/ImageViewerFrame.java)\n* [fileChooser/ImagePreviewer.java](v1ch11/fileChooser/ImagePreviewer.java)\n* [fileChooser/FileIconView.java](v1ch11/fileChooser/FileIconView.java)\n* [colorChooser/ColorChooserPanel.java](v1ch11/colorChooser/ColorChooserPanel.java)\n* [eventTracer/EventTracer.java](v1ch11/eventTracer/EventTracer.java)\n* [robot/RobotTest.java](v1ch11/robot/RobotTest.java)\n\n### 第12章 并发\n* [bounce/Bounce.java](v1ch12/bounce/Bounce.java)\n* [bounceThread/BounceThread.java](v1ch12/bounceThread/BounceThread.java)\n* [程序清单12-1 threads/ThreadTest.java](v1ch12/threads/ThreadTest.java)\n* [程序清单12-2 threads/Bank.java](v1ch12/threads/Bank.java)\n* [程序清单12-3 unsynch/UnsynchBankTest.java](v1ch12/unsynch/UnsynchBankTest.java)\n* [lock/Bank.java](v1ch12/lock/Bank.java)\n* [lock/LockBankTest.java](v1ch12/lock/LockBankTest.java)\n* [程序清单12-4 synch/Bank.java](v1ch12/synch/Bank.java)\n* [synch/SynchBankTest.java](v1ch12/synch/SynchBankTest.java)\n* [程序清单12-5 synch2/Bank.java](v1ch12/synch2/Bank.java)\n* [synch2/SynchBankTest2.java](v1ch12/synch2/SynchBankTest2.java)\n* [程序清单12-6 blockingQueue/BlockingQueueTest.java](v1ch12/blockingQueue/BlockingQueueTest.java)\n* [程序清单12-7 concurrentHashMap/ConcurrentHashMapDemo.java](v1ch12/concurrentHashMap/ConcurrentHashMapDemo.java)\n* [future/FutureTest.java](v1ch12/future/FutureTest.java)\n* [threadPool/ThreadPoolTest.java](v1ch12/threadPool/ThreadPoolTest.java)\n* [程序清单12-8 executors/ExecutorDemo.java](v1ch12/executors/ExecutorDemo.java)\n* [程序清单12-9 forkJoin/ForkJoinTest.java](v1ch12/forkJoin/ForkJoinTest.java)\n* [程序清单12-10 completableFutures/CompletableFutureDemo.java](v1ch12/completableFutures/CompletableFutureDemo.java)\n* [程序清单12-11 swingWorker/SwingWorkerTest.java](v1ch12/swingWorker/SwingWorkerTest.java)\n* [process/ReadDir.java](v1ch12/process/ReadDir.java)\n\n## 卷II 高级特性\n### 第1章 流\n* [程序清单1-1 streams/CountLongWords.java](v2ch01/streams/CountLongWords.java)\n* [程序清单1-2 streams/CreatingStreams.java](v2ch01/streams/CreatingStreams.java)\n* [程序清单1-3 optional/OptionalTest.java](v2ch01/optional/OptionalTest.java)\n* [程序清单1-4 collecting/CollectingResults.java](v2ch01/collecting/CollectingResults.java)\n* [程序清单1-5 collecting/CollectingIntoMaps.java](v2ch01/collecting/CollectingIntoMaps.java)\n* [程序清单1-6 collecting/DownstreamCollectors.java](v2ch01/collecting/DownstreamCollectors.java)\n* [程序清单1-7 streams/PrimitiveTypeStreams.java](v2ch01/streams/PrimitiveTypeStreams.java)\n* [程序清单1-8 parallel/ParallelStreams.java](v2ch01/parallel/ParallelStreams.java)\n\n### 第2章 输入和输出\n* [程序清单2-1 textFile/TextFileTest.java](v2ch02/textFile/TextFileTest.java)\n* [程序清单2-2 randomAccess/RandomAccessTest.java](v2ch02/randomAccess/RandomAccessTest.java)\n* [程序清单2-3 serial/ObjectStreamTest.java](v2ch02/serial/ObjectStreamTest.java)\n* [serializationTweaks/ObjectStreamTest.java](v2ch02/serializationTweaks/ObjectStreamTest.java)\n* [程序清单2-4 serialClone/SerialCloneTest.java](v2ch02/serialClone/SerialCloneTest.java)\n* [findDirectories/FindDirectories.java](v2ch02/findDirectories/FindDirectories.java)\n* [zip/ZipTest.java](v2ch02/zip/ZipTest.java)\n* [程序清单2-5 memoryMap/MemoryMapTest.java](v2ch02/memoryMap/MemoryMapTest.java)\n* [randomAccess2/RandomAccessTest.java](v2ch02/randomAccess2/RandomAccessTest.java)\n* [程序清单2-6 match/HrefMatch.java](v2ch02/match/HrefMatch.java)\n* [程序清单2-7 regex/RegexTest.java](v2ch02/regex/RegexTest.java)\n\n### 第3章 XML\n* [程序清单3-1 dom/JSONConverter.java](v2ch03/dom/JSONConverter.java)\n* [dom/DOMTreeFrame.java](v2ch03/domOld/DOMTreeFrame.java)\n* [程序清单3-2 read/XMLReadTest.java](v2ch03/read/XMLReadTest.java)\n* [程序清单3-3 read/config.xml](v2ch03/read/config.xml)\n* [read/config-schema.xml](v2ch03/read/config-schema.xml)\n* [程序清单3-4 config.dtd](v2ch03/read/config.dtd)\n* [程序清单3-5 config.xsd](v2ch03/read/config.xsd)\n* [readOld/GridBagPane.java](v2ch03/readOld/GridBagPane.java)\n* [程序清单3-6 xpath/XPathTest.java](v2ch03/xpath/XPathTest.java)\n* [xpathOld/XPathFrame.java](v2ch03/xpathOld/XPathFrame.java)\n* [程序清单3-7 sax/SAXTest.java](v2ch03/sax/SAXTest.java)\n* [程序清单3-8 stax/StAXTest.java](v2ch03/stax/StAXTest.java)\n* [程序清单3-9 write/XMLWriteTest.java](v2ch03/write/XMLWriteTest.java)\n* [writeOld/XMLWriteFrame.java](v2ch03/writeOld/XMLWriteFrame.java)\n* [程序清单3-10 transform/makehtml.xsl](v2ch03/transform/makehtml.xsl)\n* [程序清单3-11 transform/makeprop.xsl](v2ch03/transform/makeprop.xsl)\n* [程序清单3-12 transform/TransformTest.java](v2ch03/transform/TransformTest.java)\n\n### 第4章 网络\n* [程序清单4-1 socket/SocketTest.java](v2ch04/socket/SocketTest.java)\n* [程序清单4-2 inetAddress/InetAddressTest.java](v2ch04/inetAddress/InetAddressTest.java)\n* [程序清单4-3 server/EchoServer.java](v2ch04/server/EchoServer.java)\n* [程序清单4-4 threaded/ThreadedEchoServer.java](v2ch04/threaded/ThreadedEchoServer.java)\n* [程序清单4-5 interruptible/InterruptibleSocketTest.java](v2ch04/interruptible/InterruptibleSocketTest.java)\n* [程序清单4-6 urlConnection/URLConnectionTest.java](v2ch04/urlConnection/URLConnectionTest.java)\n* [程序清单4-7 post/PostTest.java](v2ch04/post/PostTest.java)\n* [程序清单4-8 client/HttpClientTest.java](v2ch04/client/HttpClientTest.java)\n* [程序清单4-9 mail/MailTest.java](v2ch04/mail/MailTest.java)\n\n### 第5章 数据库编程\n* [程序清单5-1 test/TestDB.java](v2ch05/test/TestDB.java)\n* [程序清单5-2 exec/ExecSQL.java](v2ch05/exec/ExecSQL.java)\n* [程序清单5-3 query/QueryTest.java](v2ch05/query/QueryTest.java)\n* [程序清单5-4 view/ViewDB.java](v2ch05/view/ViewDB.java)\n\n### 第6章 日期和时间API\n* [程序清单6-1 timeline/TimeLine.java](v2ch06/timeline/TimeLine.java)\n* [程序清单6-2 localdates/LocalDates.java](v2ch06/localdates/LocalDates.java)\n* [程序清单6-3 zonedtimes/ZonedTimes.java](v2ch06/zonedtimes/ZonedTimes.java)\n* [程序清单6-4 formatting/Formatting.java](v2ch06/formatting/Formatting.java)\n\n### 第7章 国际化\n* [numberFormat/NumberFormatTest.java](v2ch07/numberFormat/NumberFormatTest.java)\n* [程序清单7-1 numberFormat/NumberFormatTest2.java](v2ch07/numberFormat/NumberFormatTest2.java)\n* [dateFormat/DateTimeFormatTest.java](v2ch07/dateFormat/DateTimeFormatTest.java)\n* [程序清单7-2 dateFormat/DateTimeFormatTest2.java](v2ch07/dateFormat/DateTimeFormatTest2.java)\n* [collation/CollationTest.java](v2ch07/collation/CollationTest.java)\n* [程序清单7-3 collation/CollationTest2.java](v2ch07/collation/CollationTest2.java)\n* [messageFormat/MessageFormatTest.java](v2ch07/messageFormat/MessageFormatTest.java)\n* [程序清单7-4 retire/Retire.java](v2ch07/retire/Retire.java)\n* [程序清单7-5 retire/RetireResources.java](v2ch07/retire/RetireResources.java)\n* [程序清单7-6 retire/RetireResources_de.java](v2ch07/retire/RetireResources_de.java)\n* [程序清单7-7 retire/RetireResources_zh.java](v2ch07/retire/RetireResources_zh.java)\n* [程序清单7-8 retire/RetireStrings.properties](v2ch07/retire/RetireStrings.properties)\n* [程序清单7-9 retire/RetireStrings_de.properties](v2ch07/retire/RetireStrings_de.properties)\n* [程序清单7-10 retire/RetireStrings_zh.properties](v2ch07/retire/RetireStrings_zh.properties)\n\n### 第8章 脚本、编译和注解处理\n* [程序清单8-1 script/ScriptTest.java](v2ch08/script/ScriptTest.java)\n* [程序清单8-2 buttons1/ButtonFrame.java](v2ch08/buttons1/ButtonFrame.java)\n* [compiler/StringSource.java](v2ch08/compiler/StringSource.java)\n* [compiler/ByteArrayClass.java](v2ch08/compiler/ByteArrayClass.java)\n* [compiler/ByteArrayClassLoader.java](v2ch08/compiler/ByteArrayClassLoader.java)\n* [程序清单8-3 compiler/CompilerTest.java](v2ch08/compiler/CompilerTest.java)\n* [程序清单8-4 buttons2/ButtonFrame.java](v2ch08/buttons2/ButtonFrame.java)\n* [程序清单8-5 buttons2/action.properties](v2ch08/buttons2/action.properties)\n* [程序清单8-6 runtimeAnnotations/ActionListenerInstaller.java](v2ch08/runtimeAnnotations/ActionListenerInstaller.java)\n* [程序清单8-7 buttons3/ButtonFrame.java](v2ch08/buttons3/ButtonFrame.java)\n* [程序清单8-8 runtimeAnnotations/ActionListenerFor.java](v2ch08/runtimeAnnotations/ActionListenerFor.java)\n* [sourceAnnotations/ToStringAnnotationProcessor.java](v2ch08/sourceAnnotations/ToStringAnnotationProcessor.java)\n* [rect/SourceLevelAnnotationDemo.java](v2ch08/rect/SourceLevelAnnotationDemo.java)\n* [程序清单8-9 bytecodeAnnotations/EntryLogger.java](v2ch08/bytecodeAnnotations/EntryLogger.java)\n* [程序清单8-10 set/Item.java](v2ch08/set/Item.java)\n* [程序清单8-11 set/SetTest.java](v2ch08/set/SetTest.java)\n* [程序清单8-12 bytecodeAnnotations/EntryLoggingAgent.java](v2ch08/bytecodeAnnotations/EntryLoggingAgent.java)\n\n### 第9章 Java平台模块系统\n* [v2ch09.hellomod](v2ch09/v2ch09.hellomod)\n* [v2ch09.requiremod](v2ch09/v2ch09.requiremod)\n* [com.horstmann.greet](v2ch09/com.horstmann.greet)\n* [v2ch09.exportedpkg](v2ch09/v2ch09.exportedpkg)\n* [com.horstmann.util](v2ch09/com.horstmann.util)\n* [v2ch09.openpkg](v2ch09/v2ch09.openpkg)\n* [v2ch09.openpkg2](v2ch09/v2ch09.openpkg2)\n* [v2ch09.automod](v2ch09/v2ch09.automod)\n* [com.horstmann.greetsvc](v2ch09/com.horstmann.greetsvc)\n* [v2ch09.useservice](v2ch09/v2ch09.useservice)\n\n### 第10章 安全\n* [程序清单10-1 classLoader/ClassLoaderTest.java](v2ch10/classLoader/ClassLoaderTest.java)\n* [程序清单10-2 classLoader/Caesar.java](v2ch10/classLoader/Caesar.java)\n* [程序清单10-3 verifier/VerifierTest.java](v2ch10/verifier/VerifierTest.java)\n* [程序清单10-4 auth/AuthTest.java](v2ch10/auth/AuthTest.java)\n* [程序清单10-5 auth/jaas.config](v2ch10/auth/jaas.config)\n* [程序清单10-6 jaas/SimplePrincipal.java](v2ch10/jaas/SimplePrincipal.java)\n* [程序清单10-7 jaas/SimpleLoginModule.java](v2ch10/jaas/SimpleLoginModule.java)\n* [程序清单10-8 jaas/SimpleCallbackHandler.java](v2ch10/jaas/SimpleCallbackHandler.java)\n* [程序清单10-9 jaas/JAASTest.java](v2ch10/jaas/JAASTest.java)\n* [程序清单10-10 jaas/jaas.config](v2ch10/jaas/jaas.config)\n* [程序清单10-11 hash/Digest.java](v2ch10/hash/Digest.java)\n* [CertificateSigner.java](v2ch10/CertificateSigner.java)\n* [程序清单10-12 aes/AESTest.java](v2ch10/aes/AESTest.java)\n* [程序清单10-13 aes/Util.java](v2ch10/aes/Util.java)\n* [程序清单10-14 rsa/RSATest.java](v2ch10/rsa/RSATest.java)\n\n### 第11章 高级Swing和图形\n* [list/ListFrame.java](v2ch11/list/ListFrame.java)\n* [longList/LongListFrame.java](v2ch11/longList/LongListFrame.java)\n* [listRendering/ListRenderingFrame.java](v2ch11/listRendering/ListRenderingFrame.java)\n* [程序清单11-1 table/PlanetTableFrame.java](v2ch11/table/PlanetTableFrame.java)\n* [程序清单11-2 tableModel/InvestmentTableModel.java](v2ch11/tableModel/InvestmentTableModel.java)\n* [程序清单11-3 tableRowColumn/PlanetTableFrame.java](v2ch11/tableRowColumn/PlanetTableFrame.java)\n* [tableSelection/TableSelectionFrame.java](v2ch11/tableSelection/TableSelectionFrame.java)\n* [程序清单11-4 tableCellRender/TableCellRenderFrame.java](v2ch11/tableCellRender/TableCellRenderFrame.java)\n* [程序清单11-5 tableCellRender/PlanetTableModel.java](v2ch11/tableCellRender/PlanetTableModel.java)\n* [程序清单11-6 tableCellRender/ColorTableCellRenderer.java](v2ch11/tableCellRender/ColorTableCellRenderer.java)\n* [程序清单11-7 tableCellRender/ColorTableCellEditor.java](v2ch11/tableCellRender/ColorTableCellEditor.java)\n* [程序清单11-8 tree/SimpleTreeFrame.java](v2ch11/tree/SimpleTreeFrame.java)\n* [程序清单11-9 treeEdit/TreeEditFrame.java](v2ch11/treeEdit/TreeEditFrame.java)\n* [程序清单11-10 treeRender/ClassTreeFrame.java](v2ch11/treeRender/ClassTreeFrame.java)\n* [程序清单11-11 treeRender/ClassNameTreeCellRenderer.java](v2ch11/treeRender/ClassNameTreeCellRenderer.java)\n* [程序清单11-12 treeModel/ObjectInspectorFrame.java](v2ch11/treeModel/ObjectInspectorFrame.java)\n* [程序清单11-13 treeModel/ObjectTreeModel.java](v2ch11/treeModel/ObjectTreeModel.java)\n* [程序清单11-14 treeModel/Variable.java](v2ch11/treeModel/Variable.java)\n* [textChange/ColorFrame.java](v2ch11/textChange/ColorFrame.java)\n* [textFormat/FormatTestFrame.java](v2ch11/textFormat/FormatTestFrame.java)\n* [spinner/SpinnerFrame.java](v2ch11/spinner/SpinnerFrame.java)\n* [editorPane/EditorPaneFrame.java](v2ch11/editorPane/EditorPaneFrame.java)\n* [progressBar/ProgressBarFrame.java](v2ch11/progressBar/ProgressBarFrame.java)\n* [progressMonitor/ProgressMonitorFrame.java](v2ch11/progressMonitor/ProgressMonitorFrame.java)\n* [progressMonitorInputStream/TextFrame.java](v2ch11/progressMonitorInputStream/TextFrame.java)\n* [splitPane/SplitPaneFrame.java](v2ch11/splitPane/SplitPaneFrame.java)\n* [tabbedPane/TabbedPaneFrame.java](v2ch11/tabbedPane/TabbedPaneFrame.java)\n* [internalFrame/DesktopFrame.java](v2ch11/internalFrame/DesktopFrame.java)\n* [layer/ColorFrame.java](v2ch11/layer/ColorFrame.java)\n* [程序清单11-15 shape/ShapeComponent.java](v2ch11/shape/ShapeComponent.java)\n* [area/AreaComponent.java](v2ch11/area/AreaComponent.java)\n* [程序清单11-16 stroke/StrokeComponent.java](v2ch11/stroke/StrokeComponent.java)\n* [paint/PaintComponent.java](v2ch11/paint/PaintComponent.java)\n* [transform/TransformationComponent.java](v2ch11/transform/TransformationComponent.java)\n* [clip/ClippingComponent.java](v2ch11/clip/ClippingComponent.java)\n* [transparency/TransparencyComponent.java](v2ch11/transparency/TransparencyComponent.java)\n* [程序清单11-17 composite/CompositeTestFrame.java](v2ch11/composite/CompositeTestFrame.java)\n* [程序清单11-18 composite/CompositeComponent.java](v2ch11/composite/CompositeComponent.java)\n* [程序清单11-19 composite/Rule.java](v2ch11/composite/Rule.java)\n* [renderQuality/RenderQualityComponent.java](v2ch11/renderQuality/RenderQualityComponent.java)\n* [程序清单11-20 imageIO/ImageIOFrame.java](v2ch11/imageIO/ImageIOFrame.java)\n* [程序清单11-21 rasterImage/RasterImageFrame.java](v2ch11/rasterImage/RasterImageFrame.java)\n* [程序清单11-22 imageProcessing/ImageProcessingFrame.java](v2ch11/imageProcessing/ImageProcessingFrame.java)\n* [程序清单11-23 print/PrintTestFrame.java](v2ch11/print/PrintTestFrame.java)\n* [程序清单11-24 print/PrintComponent.java](v2ch11/print/PrintComponent.java)\n* [程序清单11-25 book/BookTestFrame.java](v2ch11/book/BookTestFrame.java)\n* [程序清单11-26 book/Banner.java](v2ch11/book/Banner.java)\n* [程序清单11-27 book/PrintPreviewDialog.java](v2ch11/book/PrintPreviewDialog.java)\n* [程序清单11-28 book/PrintPreviewCanvas.java](v2ch11/book/PrintPreviewCanvas.java)\n* [printService/PrintServiceTest.java](v2ch11/printService/PrintServiceTest.java)\n* [程序清单11-29 streamPrintService/StreamPrintServiceTest.java](v2ch11/streamPrintService/StreamPrintServiceTest.java)\n* [transferText/TextTransferFrame.java](v2ch11/transferText/TextTransferFrame.java)\n* [imageTransfer/ImageTransferFrame.java](v2ch11/imageTransfer/ImageTransferFrame.java)\n* [serialTransfer/SerialTransferFrame.java](v2ch11/serialTransfer/SerialTransferFrame.java)\n* [dnd/SwingDnDFrame.java](v2ch11/dnd/SwingDnDFrame.java)\n* [dndImage/ImageListDnDFrame.java](v2ch11/dndImage/ImageListDnDFrame.java)\n* [splashScreen/SplashScreenTest.java](v2ch11/splashScreen/SplashScreenTest.java)\n* [desktopApp/DesktopAppFrame.java](v2ch11/desktopApp/DesktopAppFrame.java)\n* [systemTray/SystemTrayTest.java](v2ch11/systemTray/SystemTrayTest.java)\n\n### 第12章 本地方法\n* [程序清单12-1 helloNative/HelloNative.java](v2ch12/helloNative/HelloNative.java)\n* [程序清单12-2 helloNative/HelloNative.h](v2ch12/helloNative/HelloNative.h)\n* [程序清单12-3 helloNative/HelloNative.c](v2ch12/helloNative/HelloNative.c)\n* [程序清单12-4 helloNative/HelloNativeTest.java](v2ch12/helloNative/HelloNativeTest.java)\n* [程序清单12-5 printf1/Printf1.java](v2ch12/printf1/Printf1.java)\n* [程序清单12-6 printf1/Printf1.c](v2ch12/printf1/Printf1.c)\n* [程序清单12-7 printf1/Printf1Test.java](v2ch12/printf1/Printf1Test.java)\n* [程序清单12-8 printf2/Printf2Test.java](v2ch12/printf2/Printf2Test.java)\n* [程序清单12-9 printf2/Printf2.java](v2ch12/printf2/Printf2.java)\n* [程序清单12-10 printf2/Printf2.c](v2ch12/printf2/Printf2.c)\n* [程序清单12-11 employee/EmployeeTest.java](v2ch12/employee/EmployeeTest.java)\n* [程序清单12-12 employee/Employee.java](v2ch12/employee/Employee.java)\n* [程序清单12-13 employee/Employee.c](v2ch12/employee/Employee.c)\n* [程序清单12-14 printf3/Printf3Test.java](v2ch12/printf3/Printf3Test.java)\n* [程序清单12-15 printf3/Printf3.java](v2ch12/printf3/Printf3.java)\n* [程序清单12-16 printf3/Printf3.c](v2ch12/printf3/Printf3.c)\n* [array/ArrayAlgTest.java](v2ch12/array/ArrayAlgTest.java)\n* [array/ArrayAlg.java](v2ch12/array/ArrayAlg.java)\n* [array/ArrayAlg.c](v2ch12/array/ArrayAlg.c)\n* [程序清单12-17 printf4/Printf4.c](v2ch12/printf4/Printf4.c)\n* [程序清单12-18 printf4/Printf4.java](v2ch12/printf4/Printf4.java)\n* [程序清单12-19 printf4/Printf4Test.java](v2ch12/printf4/Printf4Test.java)\n* [程序清单12-20 invocation/InvocationTest.c](v2ch12/invocation/InvocationTest.c)\n* [invocation/Welcome.java](v2ch12/invocation/Welcome.java)\n* [程序清单12-21 win32reg/Win32RegKey.java](v2ch12/win32reg/Win32RegKey.java)\n* [程序清单12-22 win32reg/Win32RegKey.c](v2ch12/win32reg/Win32RegKey.c)\n* [程序清单12-23 win32reg/Win32RegKeyTest.java](v2ch12/win32reg/Win32RegKeyTest.java)\n* [程序清单12-24 panama/PanamaDemo.java](v2ch12/panama/PanamaDemo.java)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzzy979%2Fcore-java-code","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzzy979%2Fcore-java-code","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzzy979%2Fcore-java-code/lists"}