diff --git a/logseq-java/LICENSE b/logseq-java/LICENSE new file mode 100644 index 0000000..5b6db2a --- /dev/null +++ b/logseq-java/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Lostecho + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/logseq-java/README.md b/logseq-java/README.md new file mode 100644 index 0000000..973c60b --- /dev/null +++ b/logseq-java/README.md @@ -0,0 +1 @@ +# logseq-java \ No newline at end of file diff --git a/logseq-java/_git b/logseq-java/_git new file mode 100644 index 0000000..4967524 --- /dev/null +++ b/logseq-java/_git @@ -0,0 +1 @@ +gitdir: C:/Users/75254/.logseq/git/Ccomma_Users_75254_iCloudDrive_iCloud~com~logseq~logseq_logseq-java/.git diff --git a/logseq-java/_logseq b/logseq-java/_logseq new file mode 100644 index 0000000..e69de29 diff --git a/logseq-java/_obsidian/app.json b/logseq-java/_obsidian/app.json new file mode 100644 index 0000000..bf21f23 --- /dev/null +++ b/logseq-java/_obsidian/app.json @@ -0,0 +1,4 @@ +{ + "legacyEditor": false, + "livePreview": true +} \ No newline at end of file diff --git a/logseq-java/_obsidian/appearance.json b/logseq-java/_obsidian/appearance.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/logseq-java/_obsidian/appearance.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/logseq-java/_obsidian/core-plugins.json b/logseq-java/_obsidian/core-plugins.json new file mode 100644 index 0000000..ab1d511 --- /dev/null +++ b/logseq-java/_obsidian/core-plugins.json @@ -0,0 +1,15 @@ +[ + "file-explorer", + "global-search", + "switcher", + "graph", + "backlink", + "page-preview", + "note-composer", + "command-palette", + "editor-status", + "markdown-importer", + "word-count", + "open-with-default-app", + "file-recovery" +] \ No newline at end of file diff --git a/logseq-java/_obsidian/hotkeys.json b/logseq-java/_obsidian/hotkeys.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/logseq-java/_obsidian/hotkeys.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/logseq-java/_obsidian/workspace b/logseq-java/_obsidian/workspace new file mode 100644 index 0000000..bcac6ed --- /dev/null +++ b/logseq-java/_obsidian/workspace @@ -0,0 +1,87 @@ +{ + "main": { + "id": "1cd4b881acebbce4", + "type": "split", + "children": [ + { + "id": "1c44d6e9a592aa43", + "type": "leaf", + "state": { + "type": "empty", + "state": {} + } + } + ], + "direction": "vertical" + }, + "left": { + "id": "c3d6ce8c746a8105", + "type": "split", + "children": [ + { + "id": "9762f8bdc9f8eee4", + "type": "tabs", + "children": [ + { + "id": "dfade2d217509926", + "type": "leaf", + "state": { + "type": "file-explorer", + "state": {} + } + }, + { + "id": "924c8739c9870ee1", + "type": "leaf", + "state": { + "type": "search", + "state": { + "query": "", + "matchingCase": false, + "explainSearch": false, + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical" + } + } + } + ] + } + ], + "direction": "horizontal", + "width": 300 + }, + "right": { + "id": "6356e403e5a2e8ce", + "type": "split", + "children": [ + { + "id": "cda9a5698c0a8371", + "type": "tabs", + "children": [ + { + "id": "6ed66efdf0a4e7b4", + "type": "leaf", + "state": { + "type": "backlink", + "state": { + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical", + "showSearch": false, + "searchQuery": "", + "backlinkCollapsed": false, + "unlinkedCollapsed": true + } + } + } + ] + } + ], + "direction": "horizontal", + "width": 300, + "collapsed": true + }, + "active": "1c44d6e9a592aa43", + "lastOpenFiles": [] +} \ No newline at end of file diff --git a/logseq-java/assets/2022-05-02-17-26-07.png b/logseq-java/assets/2022-05-02-17-26-07.png new file mode 100644 index 0000000..509c656 Binary files /dev/null and b/logseq-java/assets/2022-05-02-17-26-07.png differ diff --git a/logseq-java/assets/JDK1.8_1649904511236_0.CHM b/logseq-java/assets/JDK1.8_1649904511236_0.CHM new file mode 100644 index 0000000..cb4175c Binary files /dev/null and b/logseq-java/assets/JDK1.8_1649904511236_0.CHM differ diff --git a/logseq-java/assets/JDK1.8_1649904511236_0.chw b/logseq-java/assets/JDK1.8_1649904511236_0.chw new file mode 100644 index 0000000..5d594a0 Binary files /dev/null and b/logseq-java/assets/JDK1.8_1649904511236_0.chw differ diff --git a/logseq-java/assets/image_1648866396906_0.png b/logseq-java/assets/image_1648866396906_0.png new file mode 100644 index 0000000..46ddf07 Binary files /dev/null and b/logseq-java/assets/image_1648866396906_0.png differ diff --git a/logseq-java/assets/image_1657070835023_0.png b/logseq-java/assets/image_1657070835023_0.png new file mode 100644 index 0000000..b4ac3c2 Binary files /dev/null and b/logseq-java/assets/image_1657070835023_0.png differ diff --git a/logseq-java/assets/image_1657070883091_0.png b/logseq-java/assets/image_1657070883091_0.png new file mode 100644 index 0000000..d0e4fac Binary files /dev/null and b/logseq-java/assets/image_1657070883091_0.png differ diff --git a/logseq-java/assets/image_1657070989302_0.png b/logseq-java/assets/image_1657070989302_0.png new file mode 100644 index 0000000..d5d79a6 Binary files /dev/null and b/logseq-java/assets/image_1657070989302_0.png differ diff --git a/logseq-java/assets/image_1657071088825_0.png b/logseq-java/assets/image_1657071088825_0.png new file mode 100644 index 0000000..697b104 Binary files /dev/null and b/logseq-java/assets/image_1657071088825_0.png differ diff --git a/logseq-java/assets/image_1657071125303_0.png b/logseq-java/assets/image_1657071125303_0.png new file mode 100644 index 0000000..daf1b1e Binary files /dev/null and b/logseq-java/assets/image_1657071125303_0.png differ diff --git a/logseq-java/assets/image_1657074990771_0.png b/logseq-java/assets/image_1657074990771_0.png new file mode 100644 index 0000000..d575cfa Binary files /dev/null and b/logseq-java/assets/image_1657074990771_0.png differ diff --git a/logseq-java/assets/image_1657075023820_0.png b/logseq-java/assets/image_1657075023820_0.png new file mode 100644 index 0000000..9fda31a Binary files /dev/null and b/logseq-java/assets/image_1657075023820_0.png differ diff --git a/logseq-java/assets/image_1657075044901_0.png b/logseq-java/assets/image_1657075044901_0.png new file mode 100644 index 0000000..447c45d Binary files /dev/null and b/logseq-java/assets/image_1657075044901_0.png differ diff --git a/logseq-java/assets/image_1657075213351_0.png b/logseq-java/assets/image_1657075213351_0.png new file mode 100644 index 0000000..8e65307 Binary files /dev/null and b/logseq-java/assets/image_1657075213351_0.png differ diff --git a/logseq-java/assets/image_1658140156367_0.png b/logseq-java/assets/image_1658140156367_0.png new file mode 100644 index 0000000..b431a80 Binary files /dev/null and b/logseq-java/assets/image_1658140156367_0.png differ diff --git a/logseq-java/assets/image_1658409970747_0.png b/logseq-java/assets/image_1658409970747_0.png new file mode 100644 index 0000000..e16cb0a Binary files /dev/null and b/logseq-java/assets/image_1658409970747_0.png differ diff --git a/logseq-java/assets/image_1695907773486_0.png b/logseq-java/assets/image_1695907773486_0.png new file mode 100644 index 0000000..347e6aa Binary files /dev/null and b/logseq-java/assets/image_1695907773486_0.png differ diff --git a/logseq-java/assets/image_1695907815790_0.png b/logseq-java/assets/image_1695907815790_0.png new file mode 100644 index 0000000..5abdcab Binary files /dev/null and b/logseq-java/assets/image_1695907815790_0.png differ diff --git a/logseq-java/assets/image_1695907843698_0.png b/logseq-java/assets/image_1695907843698_0.png new file mode 100644 index 0000000..4a3d1a6 Binary files /dev/null and b/logseq-java/assets/image_1695907843698_0.png differ diff --git a/logseq-java/assets/image_1695907869592_0.png b/logseq-java/assets/image_1695907869592_0.png new file mode 100644 index 0000000..c5f0f49 Binary files /dev/null and b/logseq-java/assets/image_1695907869592_0.png differ diff --git a/logseq-java/assets/image_1695908054651_0.png b/logseq-java/assets/image_1695908054651_0.png new file mode 100644 index 0000000..c5f0f49 Binary files /dev/null and b/logseq-java/assets/image_1695908054651_0.png differ diff --git a/logseq-java/assets/image_1695908118758_0.png b/logseq-java/assets/image_1695908118758_0.png new file mode 100644 index 0000000..c5f0f49 Binary files /dev/null and b/logseq-java/assets/image_1695908118758_0.png differ diff --git a/logseq-java/assets/image_1695908122037_0.png b/logseq-java/assets/image_1695908122037_0.png new file mode 100644 index 0000000..c5f0f49 Binary files /dev/null and b/logseq-java/assets/image_1695908122037_0.png differ diff --git a/logseq-java/assets/image_1695908351513_0.png b/logseq-java/assets/image_1695908351513_0.png new file mode 100644 index 0000000..c5f0f49 Binary files /dev/null and b/logseq-java/assets/image_1695908351513_0.png differ diff --git a/logseq-java/assets/image_1695910618983_0.png b/logseq-java/assets/image_1695910618983_0.png new file mode 100644 index 0000000..f652c08 Binary files /dev/null and b/logseq-java/assets/image_1695910618983_0.png differ diff --git a/logseq-java/assets/image_1695910737346_0.png b/logseq-java/assets/image_1695910737346_0.png new file mode 100644 index 0000000..c7bae90 Binary files /dev/null and b/logseq-java/assets/image_1695910737346_0.png differ diff --git a/logseq-java/assets/image_1695911000142_0.png b/logseq-java/assets/image_1695911000142_0.png new file mode 100644 index 0000000..09ed1ed Binary files /dev/null and b/logseq-java/assets/image_1695911000142_0.png differ diff --git a/logseq-java/assets/image_1695911259373_0.png b/logseq-java/assets/image_1695911259373_0.png new file mode 100644 index 0000000..b3a0bf4 Binary files /dev/null and b/logseq-java/assets/image_1695911259373_0.png differ diff --git a/logseq-java/assets/image_1695911594061_0.png b/logseq-java/assets/image_1695911594061_0.png new file mode 100644 index 0000000..2000b39 Binary files /dev/null and b/logseq-java/assets/image_1695911594061_0.png differ diff --git a/logseq-java/assets/image_1695911682910_0.png b/logseq-java/assets/image_1695911682910_0.png new file mode 100644 index 0000000..253b5df Binary files /dev/null and b/logseq-java/assets/image_1695911682910_0.png differ diff --git a/logseq-java/assets/image_1695911700708_0.png b/logseq-java/assets/image_1695911700708_0.png new file mode 100644 index 0000000..fa869d2 Binary files /dev/null and b/logseq-java/assets/image_1695911700708_0.png differ diff --git a/logseq-java/assets/image_1695911709943_0.png b/logseq-java/assets/image_1695911709943_0.png new file mode 100644 index 0000000..076bdd9 Binary files /dev/null and b/logseq-java/assets/image_1695911709943_0.png differ diff --git a/logseq-java/assets/image_1696817866958_0.png b/logseq-java/assets/image_1696817866958_0.png new file mode 100644 index 0000000..0786652 Binary files /dev/null and b/logseq-java/assets/image_1696817866958_0.png differ diff --git a/logseq-java/assets/image_1696820820423_0.png b/logseq-java/assets/image_1696820820423_0.png new file mode 100644 index 0000000..00dad02 Binary files /dev/null and b/logseq-java/assets/image_1696820820423_0.png differ diff --git a/logseq-java/assets/image_1696823654338_0.png b/logseq-java/assets/image_1696823654338_0.png new file mode 100644 index 0000000..fa717f2 Binary files /dev/null and b/logseq-java/assets/image_1696823654338_0.png differ diff --git a/logseq-java/assets/image_1696855016360_0.png b/logseq-java/assets/image_1696855016360_0.png new file mode 100644 index 0000000..b1dc250 Binary files /dev/null and b/logseq-java/assets/image_1696855016360_0.png differ diff --git a/logseq-java/assets/image_1696855175960_0.png b/logseq-java/assets/image_1696855175960_0.png new file mode 100644 index 0000000..4977614 Binary files /dev/null and b/logseq-java/assets/image_1696855175960_0.png differ diff --git a/logseq-java/assets/image_1696856746781_0.png b/logseq-java/assets/image_1696856746781_0.png new file mode 100644 index 0000000..ee27fcf Binary files /dev/null and b/logseq-java/assets/image_1696856746781_0.png differ diff --git a/logseq-java/assets/image_1696857129269_0.png b/logseq-java/assets/image_1696857129269_0.png new file mode 100644 index 0000000..05bb9ef Binary files /dev/null and b/logseq-java/assets/image_1696857129269_0.png differ diff --git a/logseq-java/assets/image_1696857225846_0.png b/logseq-java/assets/image_1696857225846_0.png new file mode 100644 index 0000000..265a530 Binary files /dev/null and b/logseq-java/assets/image_1696857225846_0.png differ diff --git a/logseq-java/assets/image_1696857536672_0.png b/logseq-java/assets/image_1696857536672_0.png new file mode 100644 index 0000000..580d5ec Binary files /dev/null and b/logseq-java/assets/image_1696857536672_0.png differ diff --git a/logseq-java/assets/image_1696858281407_0.png b/logseq-java/assets/image_1696858281407_0.png new file mode 100644 index 0000000..3c579bf Binary files /dev/null and b/logseq-java/assets/image_1696858281407_0.png differ diff --git a/logseq-java/assets/image_1696927958907_0.png b/logseq-java/assets/image_1696927958907_0.png new file mode 100644 index 0000000..b0bb330 Binary files /dev/null and b/logseq-java/assets/image_1696927958907_0.png differ diff --git a/logseq-java/assets/上海-拼多多-Java高级_1650621173982_6.pdf b/logseq-java/assets/上海-拼多多-Java高级_1650621173982_6.pdf new file mode 100644 index 0000000..6960341 Binary files /dev/null and b/logseq-java/assets/上海-拼多多-Java高级_1650621173982_6.pdf differ diff --git a/logseq-java/assets/上海-拼多多-Java高级_1650621255476_0.pdf b/logseq-java/assets/上海-拼多多-Java高级_1650621255476_0.pdf new file mode 100644 index 0000000..6960341 Binary files /dev/null and b/logseq-java/assets/上海-拼多多-Java高级_1650621255476_0.pdf differ diff --git a/logseq-java/assets/上海-携程-Java高级_1650621173983_7.pdf b/logseq-java/assets/上海-携程-Java高级_1650621173983_7.pdf new file mode 100644 index 0000000..b5472d3 Binary files /dev/null and b/logseq-java/assets/上海-携程-Java高级_1650621173983_7.pdf differ diff --git a/logseq-java/assets/上海-携程-Java高级_1650621258714_0.pdf b/logseq-java/assets/上海-携程-Java高级_1650621258714_0.pdf new file mode 100644 index 0000000..b5472d3 Binary files /dev/null and b/logseq-java/assets/上海-携程-Java高级_1650621258714_0.pdf differ diff --git a/logseq-java/assets/北京-京东-Java中级_1650621174004_17.pdf b/logseq-java/assets/北京-京东-Java中级_1650621174004_17.pdf new file mode 100644 index 0000000..ea55d5b Binary files /dev/null and b/logseq-java/assets/北京-京东-Java中级_1650621174004_17.pdf differ diff --git a/logseq-java/assets/北京-京东-Java中级_1650621217355_0.pdf b/logseq-java/assets/北京-京东-Java中级_1650621217355_0.pdf new file mode 100644 index 0000000..ea55d5b Binary files /dev/null and b/logseq-java/assets/北京-京东-Java中级_1650621217355_0.pdf differ diff --git a/logseq-java/assets/北京-百度-Java中级_1650621174003_16.pdf b/logseq-java/assets/北京-百度-Java中级_1650621174003_16.pdf new file mode 100644 index 0000000..a791e73 --- /dev/null +++ b/logseq-java/assets/北京-百度-Java中级_1650621174003_16.pdf @@ -0,0 +1,5994 @@ +%PDF-1.5 % 1 0 obj +<> +endobj +2 0 obj +<>/Metadata 575 0 R>> +endobj +3 0 obj +<> +endobj +4 0 obj +<>/ExtGState<>>>/Group<>/StructParents 0/Tabs/S>> +endobj +5 0 obj +<>stream +1 0 0 -1 0 841.90002441 cm q 1 0 0 1 90 72 cm q 0.97254902 0.98039216 0.98823529 rg -1.45000005 0 m 416.75 0 l 416.75 31.20000076 l -1.45000005 31.20000076 l h f* Q /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm 0.10980392 0.12156863 0.12941177 rg [(Bea)1(nFactory)] TJ ET EMC /P <> BDC BT 1 0 0 -1 65.23500061 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 70.48500061 20.17499924 Tm [<000D>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 80.98500061 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 86.23500061 20.17499924 Tm [(Applic)1(ationCo)-1(ntext)] TJ ET EMC /P <> BDC BT 1 0 0 -1 188.70199585 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 193.95199585 20.17499924 Tm [<00130014001500160017>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 246.45199585 20.17499924 Tm /GS1 gs 0 g [( )] TJ ET EMC q /GS2 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 31.20000076 m 416.75 31.20000076 l 416.75 46.80000305 l -1.45000005 46.80000305 l h f* Q q /GS3 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 46.79999924 m 416.75 46.79999924 l 416.75 62.40000153 l -1.45000005 62.40000153 l h f* Q q 1 0 0 1 0 31.20000076 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS4 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.93400002 11.65499973 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT 1 0 0 -1 66.68399811 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 70.36799622 11.65499973 Tm [<000E000F00100011001200130014>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 146.49299622 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 170.11799622 11.65499973 Tm [<0016001700180019001A001B001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 243.61799622 11.65499973 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT 1 0 0 -1 301.36801147 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 305.05200195 11.65499973 Tm [<001D0013001E001F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 349.67700195 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 373.30200195 11.65499973 Tm [<0018002000210022>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<000F0023002400250026002700280029002A002B002C002D002E002F00300018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 170.625 27.25500107 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 194.25 27.25500107 Tm [<003100320033001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 236.25 27.25500107 Tm /GS5 gs 0 g [( )] TJ ET EMC Q q /GS6 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 62.40000153 m 416.75 62.40000153 l 416.75 78 l -1.45000005 78 l h f* Q q /GS7 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 78 m 416.75 78 l 416.75 93.59999847 l -1.45000005 93.59999847 l h f* Q q /GS8 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 93.59999847 m 416.75 93.59999847 l 416.75 109.19999695 l -1.45000005 109.19999695 l h f* Q q 1 0 0 1 0 62.40000153 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS9 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.42500019 11.65499973 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 68.80000305 11.65499973 Tm [<003400350024003100320033002F00360018002D003700380039003A001B003B003C0018003D003E001C003F0040002E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 323.42498779 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 347.04998779 11.65499973 Tm [<004100420043>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 381.17498779 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 404.79998779 11.65499973 Tm [<0028>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<0029002A00180044004500460011004700480049001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 115.5 27.25500107 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 175.875 27.25500107 Tm [<0034001D0013001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 220.5 27.25500107 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 244.125 27.25500107 Tm [<0037004A004B004C0018004D004E0022004F005000280029002A001800510052>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<0033005300540055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 42 42.85499954 Tm [(initialization)] TJ ET EMC /P <> BDC BT 1 0 0 -1 115.5 42.85499954 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 120.75 42.85499954 Tm [(methods)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 157.5 42.85499954 Tm [<005D005E005F0060005300540055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 231 42.85499954 Tm [(destruction)] TJ ET EMC /P <> BDC BT 1 0 0 -1 288.75 42.85499954 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 294 42.85499954 Tm [(methods)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 330.75 42.85499954 Tm [<005D001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 351.75 42.85499954 Tm /GS10 gs 0 g [( )] TJ ET EMC Q q /GS11 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 109.19999695 m 416.75 109.19999695 l 416.75 124.79999542 l -1.45000005 124.79999542 l h f* Q q /GS12 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 124.80000305 m 416.75 124.80000305 l 416.75 140.40000916 l -1.45000005 140.40000916 l h f* Q q /GS13 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 140.3999939 m 416.75 140.3999939 l 416.75 156 l -1.45000005 156 l h f* Q q 1 0 0 1 0 109.19999695 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS14 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 8.93400002 11.65499973 Tm [<006200630064006500660022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 71.93399811 11.65499973 Tm [(application)] TJ ET EMC /P <> BDC BT 1 0 0 -1 129.68400574 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 133.36799622 11.65499973 Tm [(context)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 172.74299622 11.65499973 Tm [<0069006A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 196.36799622 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT 1 0 0 -1 217.36799622 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 221.05200195 11.65499973 Tm [(factory)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 260.42700195 11.65499973 Tm [<006C006D006E0014>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 305.05200195 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 328.67700195 11.65499973 Tm [<00200021006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 360.17700195 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 383.80200195 11.65499973 Tm [<003D0070003D>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<003E001800710045002200720073002B002C00740075>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 118.125 27.25500107 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 141.75 27.25500107 Tm [<001800760035001C0077>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 196.875 27.25500107 Tm [(application)] TJ ET EMC /P <> BDC BT 1 0 0 -1 254.625 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 259.875 27.25500107 Tm [(context)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 299.25 27.25500107 Tm [<0024003F0078007900650034007A007B001E007C007D>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<001800760035001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 42 42.85499954 Tm /GS15 gs 0 g [( )] TJ ET EMC Q q /GS16 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 156 m 416.75 156 l 416.75 171.6000061 l -1.45000005 171.6000061 l h f* Q q 1 0 0 1 0 156 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS17 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<007A007B001E007E007F00800081003300180082008300840085>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 147 11.65499973 Tm /GS18 gs 0 g [( )] TJ ET EMC Q q /GS19 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 171.6000061 m 416.75 171.6000061 l 416.75 187.20001221 l -1.45000005 187.20001221 l h f* Q q 1 0 0 1 0 171.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS20 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<0086006C00180087008800820089008A008B0053008C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 126 11.65499973 Tm /GS21 gs 0 g [( )] TJ ET EMC Q q /GS22 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 187.19999695 m 416.75 187.19999695 l 416.75 202.80000305 l -1.45000005 202.80000305 l h f* Q q 1 0 0 1 0 187.19999695 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS23 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<008D0024008E008F00900046009100920018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 107.625 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 131.25 11.65499973 Tm [<001800930089>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 162.75 11.65499973 Tm /GS24 gs 0 g [( )] TJ ET EMC Q q /GS25 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 202.80000305 m 416.75 202.80000305 l 416.75 218.40000916 l -1.45000005 218.40000916 l h f* Q q 1 0 0 1 0 202.80000305 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS26 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 218.3999939 m 416.75 218.3999939 l 416.75 249.59999084 l -1.45000005 249.59999084 l h f* Q q 1 0 0 1 0 218.3999939 cm /P <> BDC BT 1 0 0 -1 0 20.17499924 Tm /GS27 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 37.77500153 20.17499924 Tm [(Bea)1(n)] TJ ET EMC /P <> BDC BT 1 0 0 -1 63.93299866 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 69.18299866 20.17499924 Tm [<001A001B001C001D001E>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 121.68299866 20.17499924 Tm /GS28 gs 0 g [( )] TJ ET EMC Q q /GS29 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 249.6000061 m 416.75 249.6000061 l 416.75 265.20001221 l -1.45000005 265.20001221 l h f* Q q /GS30 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 265.20001221 m 416.75 265.20001221 l 416.75 280.80001831 l -1.45000005 280.80001831 l h f* Q q /GS31 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 280.79998779 m 416.75 280.79998779 l 416.75 296.3999939 l -1.45000005 296.3999939 l h f* Q q 1 0 0 1 0 249.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS32 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 42 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 47.25 11.65499973 Tm [(Bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 70.875 11.65499973 Tm [<00180037004A004B004C0096009700980099001C0024006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 210 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 233.625 11.65499973 Tm [<00310032009B005100520033002D0022009C009D009E009F006C003E00A000180051>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<0052003300A1003A000F00A20027000E0050001800A300A4001C006A006D0018002200A5006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 212.625 27.25500107 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 236.25 27.25500107 Tm [<00A60024009B004F0050002D009C009D00A7009F00A8003D001800A900AA00A1>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<003A002200AB0062>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 44.625 42.85499954 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 68.25 42.85499954 Tm [<00AC0090004600AD00AE001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 131.25 42.85499954 Tm /GS33 gs 0 g [( )] TJ ET EMC Q q /GS34 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 296.3999939 m 416.75 296.3999939 l 416.75 312 l -1.45000005 312 l h f* Q q /GS35 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 312 m 416.75 312 l 416.75 327.6000061 l -1.45000005 327.6000061 l h f* Q q 1 0 0 1 0 296.3999939 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS36 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.66899967 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 40.16899872 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 43.58800125 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT 1 0 0 -1 64.58799744 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 68.00700378 11.65499973 Tm [(factory)] TJ ET EMC /P <> BDC BT 1 0 0 -1 104.75700378 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 108.1760025 11.65499973 Tm [<00AF00B000B100100024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 163.30099487 11.65499973 Tm [(spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 197.42599487 11.65499973 Tm [<00AC00900046009B00B200B30018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 273.55099487 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 297.17599487 11.65499973 Tm [<00180037004A004B004C001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 360.17599487 11.65499973 Tm [(Bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 383.80099487 11.65499973 Tm [<00180037004A>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<004B004C00B400B500B600B7004F0055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 84 27.25500107 Tm [(call)] TJ ET EMC /P <> BDC BT 1 0 0 -1 105 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 110.25 27.25500107 Tm [(back)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 131.25 27.25500107 Tm [<005D0053005400B60038001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 194.25 27.25500107 Tm /GS37 gs 0 g [( )] TJ ET EMC Q q /GS38 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 327.6000061 m 416.75 327.6000061 l 416.75 343.20001221 l -1.45000005 343.20001221 l h f* Q q 1 0 0 1 0 327.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS39 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<005100520033003B00B9004F0050001800B7004F00530054001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 147 11.65499973 Tm /GS40 gs 0 g [( )] TJ ET EMC Q q /GS41 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 343.20001221 m 416.75 343.20001221 l 416.75 358.80001831 l -1.45000005 358.80001831 l h f* Q q 1 0 0 1 0 343.20001221 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS42 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<005F0060003B00BA004F0050001800B7004F00530054001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 136.5 11.65499973 Tm /GS43 gs 0 g [( )] TJ ET EMC Q q /GS44 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 358.79998779 m 416.75 358.79998779 l 416.75 374.3999939 l -1.45000005 374.3999939 l h f* Q q 1 0 0 1 0 358.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS45 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 44.625 11.65499973 Tm [<00BB00BC007A007B001E000F00BD00BE001F0053008C004900B10010>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 194.25 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 217.875 11.65499973 Tm [<00180037004A004B004C0093008900BF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 301.875 11.65499973 Tm /GS46 gs 0 g [( )] TJ ET EMC Q q /GS47 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 374.3999939 m 416.75 374.3999939 l 416.75 390 l -1.45000005 390 l h f* Q q 1 0 0 1 0 374.3999939 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS48 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(InitializingBean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 97.125 11.65499973 Tm [<005E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 110.25 11.65499973 Tm [(DisposableBean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 186.375 11.65499973 Tm [<00B7004F002500C2>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 228.375 11.65499973 Tm /GS49 gs 0 g [( )] TJ ET EMC Q q /GS50 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 390 m 416.75 390 l 416.75 405.6000061 l -1.45000005 405.6000061 l h f* Q q 1 0 0 1 0 390 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS51 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<00C3002F00C400C5009F00120018007C007D>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 107.625 11.65499973 Tm [(Aware)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 136.5 11.65499973 Tm [<002500C2>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 157.5 11.65499973 Tm /GS52 gs 0 g [( )] TJ ET EMC Q q /GS53 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 405.6000061 m 416.75 405.6000061 l 416.75 421.20001221 l -1.45000005 421.20001221 l h f* Q q 1 0 0 1 0 405.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS54 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(Bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 34.125 11.65499973 Tm [<004400450082008900460018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 99.75 11.65499973 Tm [(Custom)] TJ ET EMC /P <> BDC BT 1 0 0 -1 131.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 136.5 11.65499973 Tm [(init\(\))] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 168 11.65499973 Tm [<00530054005E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 202.125 11.65499973 Tm [(destroy\(\))] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 249.375 11.65499973 Tm [<00530054>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 270.375 11.65499973 Tm /GS55 gs 0 g [( )] TJ ET EMC Q q /GS56 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 421.20001221 m 416.75 421.20001221 l 416.75 436.80001831 l -1.45000005 436.80001831 l h f* Q q 1 0 0 1 0 421.20001221 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS57 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(@PostConstruct)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 86.625 11.65499973 Tm [<005E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 97.125 11.65499973 Tm [(@PreDestroy)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 157.5 11.65499973 Tm [<009100110053008C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 199.5 11.65499973 Tm /GS58 gs 0 g [( )] TJ ET EMC Q q /GS59 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 436.79998779 m 416.75 436.79998779 l 416.75 452.3999939 l -1.45000005 452.3999939 l h f* Q q 1 0 0 1 0 436.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS60 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 452.3999939 m 416.75 452.3999939 l 416.75 483.6000061 l -1.45000005 483.6000061 l h f* Q q 1 0 0 1 0 452.3999939 cm /P <> BDC BT 1 0 0 -1 0 20.17499924 Tm /GS61 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 37.77500153 20.17499924 Tm [(IO)-1(C)] TJ ET EMC /P <> BDC BT 1 0 0 -1 56.95999908 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 62.20999908 20.17499924 Tm [<0021002200230024>] TJ ET EMC /P <> BDC BT /FAAAIB 10.5 Tf 1 0 0 -1 104.20999908 20.17499924 Tm 1 Tr 0.30000001 w /GS62 gs 0 G [( )] TJ ET EMC Q q /GS63 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 483.6000061 m 416.75 483.6000061 l 416.75 499.20001221 l -1.45000005 499.20001221 l h f* Q q /GS64 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 499.20001221 m 416.75 499.20001221 l 416.75 514.79998779 l -1.45000005 514.79998779 l h f* Q q 1 0 0 1 0 483.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS65 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.66899967 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 42.79399872 11.65499973 Tm [<00460018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 63.79399872 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 67.21299744 11.65499973 Tm [(org.springframework.beans)] TJ ET EMC /P <> BDC BT 1 0 0 -1 198.46299744 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 201.88200378 11.65499973 Tm [<001D005E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 222.88200378 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 226.30099487 11.65499973 Tm [(org.springframework.context)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 370.67599487 11.65499973 Tm [<001D00AA0038001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 34.125 27.25500107 Tm [<00BB00BC>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 57.75 27.25500107 Tm [(IoC)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 76.125 27.25500107 Tm [<00AC0090001800780079001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 139.125 27.25500107 Tm /GS66 gs 0 g [( )] TJ ET EMC Q q /GS67 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 514.79998779 m 416.75 514.79998779 l 416.75 530.39996338 l -1.45000005 530.39996338 l h f* Q q /GS68 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 530.40002441 m 416.75 530.40002441 l 416.75 546 l -1.45000005 546 l h f* Q q /GS69 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 546 m 416.75 546 l 416.75 561.59997559 l -1.45000005 561.59997559 l h f* Q q /GS70 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 561.59997559 m 416.75 561.59997559 l 416.75 577.19995117 l -1.45000005 577.19995117 l h f* Q q /GS71 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 577.20001221 m 416.75 577.20001221 l 416.75 592.79998779 l -1.45000005 592.79998779 l h f* Q q 1 0 0 1 0 514.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS72 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT 1 0 0 -1 68.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 73.5 11.65499973 Tm [<002500C2007A007B001E006C009A00CD00A700180044004500CE004E002200CF00D000D100D2001B00D30018002F003600180044004500380012000E0035001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(ApplicationContex)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 91.875 27.25500107 Tm [<002500C2002F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 126 27.25500107 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 183.75 27.25500107 Tm [<005500D4006C009A00D5002500C2005D00A7009F001E00D600D700220024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 343.875 27.25500107 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 404.25 27.25500107 Tm [<0018>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<00780079006500D800D9001E007C007D00760035002200DA00690043>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 149.625 42.85499954 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 183.75 42.85499954 Tm [<0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 196.875 42.85499954 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 215.25 42.85499954 Tm [<00DC00AC009800160038002200DD007A007B001E00DE0010>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 343.875 42.85499954 Tm [(message)] TJ ET EMC /P <> BDC BT 1 0 0 -1 380.625 42.85499954 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 58.45499802 Tm [(resource)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 44.625 58.45499802 Tm [<001800CE004E0055005000DF008000810033005D006F0093008900E000E1000F00E20030005000E3001800C400E400440045002200DA006900C3002F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 362.25 58.45499802 Tm [(Web)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 380.625 58.45499802 Tm [<003000500018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 74.05500031 Tm [(WebApplicationContext)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 110.25 74.05500031 Tm [<001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 120.75 74.05500031 Tm /GS73 gs 0 g [( )] TJ ET EMC Q q /GS74 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 592.79998779 m 416.75 592.79998779 l 416.75 608.39996338 l -1.45000005 608.39996338 l h f* Q q /GS75 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 608.40002441 m 416.75 608.40002441 l 416.75 624 l -1.45000005 624 l h f* Q q 1 0 0 1 0 592.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS76 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(org.springframework.beans.factory.BeanFactory)] TJ ET EMC /P <> BDC BT 1 0 0 -1 246.75 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 252 11.65499973 Tm [<00D4>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 265.125 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 296.625 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 301.875 11.65499973 Tm [(IoC)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 320.25 11.65499973 Tm [<00AC00900018006E00E6003100E700220050>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<0049001D00E8005E00B1001000BA0064007A0027001800E9001F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 139.125 27.25500107 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 160.125 27.25500107 Tm [<001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 170.625 27.25500107 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 231 27.25500107 Tm [<002500C200D4>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 265.125 27.25500107 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 296.625 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 301.875 27.25500107 Tm [(IoC)] TJ ET EMC /P <> BDC BT 1 0 0 -1 317.625 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 322.875 27.25500107 Tm [<00AC0090001800EA00EB002500C2001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 406.875 27.25500107 Tm /GS77 gs 0 g [( )] TJ ET EMC Q q /GS78 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 624 m 416.75 624 l 416.75 655.20001221 l -1.45000005 655.20001221 l h f* Q q 1 0 0 1 0 624 cm /P <> BDC BT /FAABAB 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q q /GS79 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 655.20001221 m 416.75 655.20001221 l 416.75 686.40002441 l -1.45000005 686.40002441 l h f* Q q 1 0 0 1 0 655.20001221 cm /P <> BDC BT /FAABAB 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q Q 1 0 0 -1 0 841.90002441 cm +endstream +endobj +6 0 obj +<>stream + POS/2#`cmapT`<cvt XMTfpgm,, +glyfheadJt6hheaB$hmtx;#<loca"Lmaxp nameUpostl prepK: 33Ff (ͱȱTHͰ۰έcܬ򬈬e5!䦟 ')mz|6 +62Tt"$:ρB~OwvZttt1sUprpLoiz$)Mc  R  wwQ^6J,-JB;GC;X>x#'N1"dinsx} "',16;@E@Q[ZYTRMLKJIHGFCBA@?>=<;:9876543210/.-,+*)('&%$#"!  + ,CXEjC` #D# NM/!# 3/Y-,CX+KPX@8Y+!# 3/Y-,CXN%!M E%%#Jad(RX!#%!YY-,CX!!%%I%%Ja dPX!!!%%IPXPX8!8!YRX8!8!YYYY-,CX+KPX8Y+!# 3/Y-,N CD 8<(+%<-,/M-,CX+8+!# 3/Y-,CXEdj#EdiCd`` #D# /!! RX3!!YY-,KQX +C#Ce +Y-,KQX + C#C Y-, #p > #p E: -,+%E%Ej@`%#D!!!-,+%E%Ej`%#D!!!-,+!!!-,+!!!-,KQXCCe +Y-, i@a ,b`+ d#da\XaY-,%EhTKPZX%E%E`h %#D%#D% Eh #D%Eh`%#DY-,% Eh #D%Edhe`%`#D-, CX!CXE+ #D zEi #D QX+ #D z! zYYY-, E#Eh`D-,EjB-,/-,CX%%Id#Edi@a bj%%aC` #D! !!!!!Y-,CX%E%Ed`j%Eja %Ej e%#D%#D!! EjD EjDY-, EUCZXEh#Ei@a bj #a %e%#D%#D!!!!+Y-,Ed#EdadB-,%%+CX%%%+%C@T%CTZX% E@aDY%CT%C@TZX% E@`DYY!!!!-,% %.# %%+!!-,-,KRXED!!Y-,CX=Y-,KPXED!!Y-,KRX/!!!Y-,KS#KQZX%Eh%Eh%`TX!!!%Eh`%#D!!Y!!!Y-,CX=Y-,F#F`F# F`ab# # pE` PXaFY`h:-, E%FRKQ[X%F ha%%?#!8!Y-, E%FPX%F ha%%?#!8!Y-,KQXCC Y-,-, CX! FRX88YY-, UXc%Ed%EdaSX@aY%EiSXED!!Y!%E%Ead(QXED!!YY-,!! d#d@b-,!QX d#d b@/+Y`-,!QX d#dUb/+Y`-, d#d@b`#!-,KSX%%Id#Edi@a bj%%a #D! !!# 9/Y-,%%IdTX88!!Y-,CXY-,CXY-, ++# <+-,%8(+# #+CX4)x>LhOm3@ Y +    /9/2????+3301!!#"!!363 \zCypi oR8& 1@YY /9/9//?+?9/+01!!!!!&sr Qm,@ Y Y /2/3?+?+01%#"5!2&#"327tP[o{)D4E4QR+@@ Y + + Y   /3232//3/?+333/?+01%# #535%3#327IA6: (r +\. Qm )@ Y Y  /9/99//?+?+01! ! ! !"QG :G$85TDTe#@ +  +/2?]2??01&#"!!3632T;TnCP9-"R R:@ Y   /293/8/3/??/+9301!"'3277!3678}EAN6=Af RK\%PK?N5V~u (,( WY'%@ #*H!%!%'A@Y@H  '+'MY"*MYM@,Y "["" ++p+++D+T+d+++++@H+ +  I@Y   @$H + +I@YT +d +t + + +P + + + + + +/]_qq+3/+_^]+99/_^]+_]]qqq99//]]q3+3++3/_^]+9/993/+399//+9/+_^]016!!5&'$%!!7&'!&!!5!!!zX ~0z*.26++0550HYH@ +Y..QYTY F@ Y414H@Y0@P@@(H11(5/5555 55`55$"("NY&(("H(H(H(/+++q3+3/_^]^]qr3/9///+]q+9/3+3+9/+9/3/+8+9/01%&'36547#&'6#5!67!!!&'765!!!!!!T:0<@^n>  @6jbbhLD|vFX20ZXlNf' xu@? +Ho, Y/  Y  }" } +/39/2//?+_^]]?+_^]9/]]]9/+]]0132654&'$4$!2&#"! 'llI㚜zd]I?p`&;jYK765!&'!5!!36!!!!&'*ZT,24n.0F- BJ_:%l.zH^"~ -8w>=YZ6V`(G@  N@Y      N@&Y/O@`pP@ +Y$HH H/+++q2+/_^]q]39/3+39/_^]_^]3]+33/9/3017!!!!&'!!!!!!!!pJP>Jΐ*,2h,hJ]TLলJyt)-2,EY+EY)F@-Y,@ H,,%.0$dt@ "H  N@Y   ! O@ Y 0 FY +0!%!LY#o%%/]3+3//3+3/_^]+99/_^]+83/_^]+^]qr]q939///++++99//01&'!5&'$!!5#!!#&'25!#3!&4*L4ή(BVN((Z*H\Xh`^n +tR2’xt vY&,0@,, ,, * + +LY0*?Y'/?Y&?Y#"?@oY 00+0K0[0 ''+' Td4dt+ $4t0''0HF@YOP`/q]+3/+_^]_]39////^]q^]qr]q]q]]3+33++++3/39/_^]01!5!5!5!&'!'&'3265!!!!!!!#5!Z:tr \r-BZ`XZ`pjV<l> +|d8Ȋvb"~7;?CGKL@40/0?00&00.?-.-GY!)*)GYH*DH@#YDODoDDD?DoDDDDDDDD@ HDDK@@KCY:GH@'Y:o::?:o::@!H@:::::::C<yqm~^ZK`r6,2@ )2)+$$$JY?@ +YP /0/A@ Y02-2-2>@Y-_- --N@ Y +- + J@Y0+ + +@ H +$& +H@Y  O o    /]]q+33/+_^]9+93/+8/_^]^]+89/+8/_^]+8/+333/_^]99///9301!!$%&'$7!5!&'7!!&'%!!!7&'F ( |hlpbHx԰|~*20&&V&~b ~`b\XXbF$Rz\p̄Xa82,*,F@ Y*@H**%6%G@Y!`p6 +  R@Y_o Q@"Y ((2 M@ Y// MY @%H2  2666666H6H6M@YO P`p/]q]+/++_^]9////+^]+39/2+339/_^]^]q+9/_^]2/+993/_^]]3+3/++801!!!7#3#!#3#67##"5&'$!3326HLTֺtP +Lf,YTpg@UB)w&$S|y/(xhJ$xpxNBX[,07E\F@Y  M@Y/    @H D<88:OY!0!MYBAN@>Y  0 @ 08@8P8p8888 8P8p800@0B 80BB08 ="=<=@@:YOY ++A@Y +11@ H11 111111@"(+H_,,,?,_,,,`,p,,,,,,@?H + +_ + + +_ + + +P + + + + +1, + +,1 @(''#@"H%%##J@YO_H/+]q_q3+3_^]3/+39/3/]q^]9///]q]r+]q]r+]q+]3+++39/+_^]33/+39/^]3+301325!!67!&'!!!!'&''6!!5!&'R`iYhR lvR!%$u#]i$$䢸ykk +X6FKM(nR +PHzy sfg`z||ܼ7K*.26:  JY ,22E@9Y_)L)+);) +)))%  0@ $FY! 7EYJ@*Y ??O @&)H@H@H675:/:B@dY-/?P@`o7?7o77777@7@777`777/?/7//7 QY((F@Y%`p/qq3+9/+/_^]^]q9///q]qr]qr]qr]q3+333/+++_^]qr3+3+33+39/_^]_]9^]^]]]3]]]]+39/+3017#53#5!#3#67!5!5!5!!!!!!!5#3!35#5#!35#R8Ⱥke8B|B8 x<ġ6\UI37;"#/#N@Y3 )/H@ + H/-)*)KYM@&Y O*o**@H`*p*p*/**/&665K@Y66O6_6606@66#'H6R@Y'@ #H@HH&%&%&HYo@%_%o%%%%%#H%/+]q]q3/8]3+89/+++_^]+3/+_^]^]3/^]+9///_^]]q+]q3+3+39/++_^]3+3016#3!!&'3266! +&'67'6#!!67&'!!Չ + T (W:>  6r:0}B|i]iHEDTrY(.WBvZN;B/Uɪ"(9??@%&(#`######!H#H#@ H##  >@%Y>==/;:222::: ::: ::(R@Y?O_@-2H   S@NYO&o&O&_&&@+1H&@%)H&@H@&?       O _ o  @ H& &/6/H@KY+0+@++`+p+++ +)) ))))0)@)))))))6@/2H@,H""""<@Y$$4!H@'H@@6/6?666/6666 H@%YPO Pp`/]q]2/]2+33/_^]q9/_]q++^]qr9/]r3+8_^]9/++33/]qr3^]q+9///+_^]q^]]]+++q_qr+_^]3/+q+8_^]3/^]q3/]39/3+8_^]9/+++^]q]3301!6'!!!$&'$!&'&'%&'#! !3!26'6`( %ZP>JV:jFήtn=<|,bR|fRjhz|f_JɞVbz~xlH0(zV|T` +@ +(+((S@Y%##*++KY++J@Y oH@ H :@Y P ` p P  /]q]3/22+83/3/++_^]]9/^]]+3/+93933/3+3/9/9301!&'&'%!%32667# Mi]i,丢pJ + |J<1 x~)mVd߅~pℒlLx&0?NQ*mP8Z2 "@  /3/83/8?01!o +b+UOe@@"YY /9/9////??+3?+3?01%!!3632#"'32654&#"Ci dy{rleDYm:LYL@YO  + L@Y/o 0` + +R@Y + + +` + + +H +/+]qq+3/_^]q]+3/_^]99//^]q]++01!!!&'326!!!!! P.""80Xz +@# %@Y  + + 9/3/??+01!"'32!udVnJ`(7Ai )@ YY /9/99//?+?+013! !3254#92˴  M @@" +  9/29/3/339????901!!&'#!!367!^+J7 + $0#s *@ + /89/89/?01!!}d +mk&26:>B##+2/+G@ Y%2222:Y?B!<@Y=<:@ Y @H7 8@ Y675::@H :8@Y [k{[k K[kt  +;K{+;K@HO7/7?77777@ H H/ ?  / ?   @"%H 7 7/--P/`/p/////$H/@ H/<@#Y 0P`pP`/]q]3/3+_^]3/++]q3/9/////]+^]qr++]qr_]+]qr]]r]q]qr3++33++33+_^]q333+333+_^]q3+9/017!5!5!5!5!5!!5!5!5!!!!!!3#!5!!&'327!5!!!5!!!!5!R.hDFdTF> Dj*~h\lPTTT^\\ZZZ\Z:\}:xbfff\^>868FY6@H66)@@!YDppo +)/)KY4;<;H@1Y 0 @ ` p  0 @  <   #< J@Y    H M@Y$<<T<<<<<@.*.H <<-////?////////H/D@Y`pP/]q]q3/+3/+_^]q_q399//^]^]+]q+3/+_^]^]+393_^]99/_]qr+3+39/_^]q3]q]]+8_^]93/++801$%&'$%&'&'$!67!!!!"'&'32667!&'$7!5!68Z>.} +*Bu/luD^.9AM +M" +rdo.ݥV`Nn̖qض?v0Ij#LUg_R\nXROYz~>`\8rGv4^Zj|nX& M@Y__ M@Y0@p0  M@ Y  S@Ydt@ H/_]+]qq3+3/_^]+8/_^]q]3+33/_^]39/]+01&'32>5!&'6!!'%!!!$$^CG.= 2(=?O>B" Wz~ +3@xFHj]CJo|шw3,@ *$)% ()TY(('%'R@Y%%%% %%#, ,L@ Y   U@Y% o@PH@ H L@Y Pp`/]q]q+3333/++_^]]99+3/3/_^]+3/8_^]q+3/+/9/39901!!!&'73!32667# !!!%%! , +VTvnj-C)|61X"G`pZzRui*ţX4x{;\*08=v0@ H0DY5-5M@Y-@#&H-@H-&J@Y/ @!H0)8&::8F@Y?:O:::/: :(:<$9!9F@Y0`@ '*H:-  H@YO  @ H   "H @H @ HF@"Y0P`p@P`/]q]q+33/+3/++_^]+q+89/+_^]q]+333/_^]^]q+333/+_^]q_]+9_^]3/+++3/+83/3/9+01%!!&'!%&''6'%!!326# !!'lH* hbU\ 0UGJCuZF'K@#!/ hp|t9i $HtTnbfdv_tWFZyEW!* W#'@ +  F@Y@ H`"$'F@YO$O$$?$ $$p$$$$"%H$F@ Yp"%HG@ +Y" #""O@$Y$""_"o"""""""""H"F@YOP`/q]+/+_^]]q_]9+339/+8/+_^]qr+/+_^]qr^]qr+/_^]+]+333/301!!!!''67!&'6%5!7!%!!p&j@p$x^T\>}{b(Wn+#a\}hqK0 ٱJYJ@8YO_/o ?_, + L@Y0@`p$H@H  + +L@Y + + + + + + +P +` + +!H +/+]q]q3+3/_^]q3/++]q+3/3/99//_^]^]q^]qr++01!!5!!!6!!!5!!5!<JO+'.@xzŽlD ))I@Y  ($%$I@Y + +%)%`%%%)%)% FYHN@ Y""HH I@(YO  P p P `  /]q]33/]3+/++_^]q33+3/++899//_^]]99//+33/393_^]+01%!!5!!!!% $'&'6!5!!:2)-dG88zfZLF 'f^iHh~vbh+΋b ($͵O@UY @,2H@ &H@HO  +K[{ +d% + + +O@Y  @ H  #H H /++]+q+83/_^]^]^]q^]33/+++33/33/9/393+89301&$&'$%%rpT~b:όP?BXx9HythtW9兢p󦎆`_%-@"" ( &t&&&&&"'H&@ H&&(&&M@YO@"%H -1H"#"A@Y##/###% %?Y ?YM@0Y@'H@ #,**/***M@Y  0@$"HH H<@Y 0!H/+]q+8/+++_^]9+33/_^]399/^]+qr_q+33/+8/+8/_^]+8/+_^]+]q+339/_^]++^]q^]33/3]01%!!!!!&'%!!!!!!&'&'&'(l028B\&L4@ȸ\઺jjlW +R +r~NmH(pĦ¤΢8"D0 4 9>BFJOUdl,,(' 2H''CZ\Z\C@3YZOZZ/Z?Z_ZZZZZZZ Z@#*HZ@HZZkXX_`_D@[Y$ `%%{%% %+%K%k%{%%%%% %?O?@'/H@HKQK>@YG?K_K0K@KK0KKKK%/HK@ +HKK599D@ Y2JNNCN>@-YACCCCoCC CCCCC`CCCCC*1*DY.*eggVGYP@ Y@F:F>Y#:"= =>@"Y@`@*P*`****gg@g: @ H*g: :g*` `````@ $(H`R-YR FYR#'HR!HRRA@Y77@ H`p/]q+q3/+83/++++_^]/+^]^]9/////+^]]]]]+33+3/++33+33/_^]qr^]q3+_^]33+33/++_^]qr]3+_^]39/^]++^]qr_q9]q33/^]3+3839/++_^]r_r+89/+33/01!5#&'#'##&'&'6!367353!!!!#!37##3!35#35#35##65&'&'67#5!%3265#&0jXPcw[bZp.pkfw! {Fd8a7rrfhh(rrkhrH*"CNfSd1I1 1cQ;&Ut~zzRK <:B?;\VZ쾾ʼ,@j|j|ljrXKH,%!"!NY&'TY+'+RYN@"Y/'?''''''@/H'@H/@ H''""o"""""@ !H"   H S@ YdHH/_]++qq3+3/+_^]3/+]^]3/99//+]++^]r_r3+3+3/+99+301&'326!&'#36'!!%%#!#% $$w jt +L(gDdxpjBĹ^&*GgNICPHt &8<@X@ 11RMIY GY0RR  @R R /((((1(H@#YC0AAAAAA`ApAAAAA AAUUHDY8=8?Y@;@?YPOPB@"YK;KDKTKDKKKK4KtKKKK K@#&HK*KK:;):C@Yt  H@ H%##D@$Y@.1H@%H@ H)  H@Y  $U4UTUdUUUUU[==== =K===D=[;k;{;;;;; ;K;; ;;D;4;D;t;;;;O$O4ODOTOOO{))4)t)))#{# #+#K#$#  @%*H$ U=;O)# #)O;=U3331$141T111 $H1@H1p11A@%Y + + 0  ?P`p"H/+]q]q3/]39/+8/_^]++^]3^]9////////]+]]^]q]qq]qq]qr^]qrr]qr]q3]3]+_^]3]9/+++_q3+3/_^]++^]q3+9/_^]+^]qrr]+8+_^]+_^]+3/_^]q3+_^]399//8^]8]++_^]01]''6%&'## 3673326#!'&'32655!!!!5!# 3673326NzZ8Fm12Vb7v@m!XV$c9N$dddfz&HhrTX:H2a7F`NKF vW,vqac>p~Tutz8$0hrr|20E.|nu҂fzL J@& Y Y /9/9/93//9?+?+?33901!47#!&'#!!367!= }# N*!Oŕ2"& Xtf]  %@   /9/9/???301!!367dOO  QHJSC 3>)..$GY...2&'VY&H&&!! KY2!K@Y 2  P@ +Y ,+M@Y + + +P +  + +LY@) HP,@, ,,222/2222!$H2LY@ H;KD$'H"HP/_q++q]q3/+2+/+_^]q9///^]]9/+3+39/_^]3+3_^]+_^]3]_]9/3++3/++3/8+301&'!!&''6!!!6%&'$'67#!% @~^&'lP?s7DErZa|vp]i@8ȢҾĀHF%'ȶohhKv8UR)MT (PY @ H G@Y  $ MY((L@Y $""$$$ $@$$"H$H$ LY$@ H+;Kk{Tdt%(H/_q+]q]3/+q2+/++_^]]3/9/^]+3+3/99//_^]+8_^]9/+399+01&'%!!!&'%!!&'325!pJhPXh\d(F4ȕ.xXTp|%7@DK&& A H0'0H0@ H@$@@@@@@@@%*H@!H@H@@ H@&&4DA@0JHHD-=;;-0@ H4 GE HEE@#"#"A@Y#O#_# #A DY KY % %=@ +Y   AY GY#-4-E@Y 44D4T44@H44 44=@Y{T%(H/_q+q]q+8/_^]+]9+99/+33/+8/_^]+8/+/+3//_^]+833/+33/39/39/+393/333/3////9/_^]++++]qr+++^]01!&'%!!%&'7''6!&'&'##"5!3326&'$5!!!&'8!(*5/\ 21Ԧ[Tbb!{kH()TthނԐtMU6ll앏=8Ȣz/n̬p~~("jzz8dGCJl&:l4hxT>t[ hD8TXL̬%`t\IYIY I@6Y/??O  F@Y    /  $H H @H I@Y 0P`"'H/+]q]2+3/_^]3/+++^]q3/3/+89///_^]^]]]]q+++01!&'%!!&'%5!!!5!!!4-+Rvt>(NDDgo>>L>|hP:hM $(MY !MY%!($$M@3Y/!!!??/!! !N@ +YP@Y_0`p/]qq+3/33/+_^]/^]^]99//]qrq]3+33+3+301%'&'3255!!!&'6!!5)!!5!!5!ht".~`OXb`X`+ z0G\L2"z #'8$ $#(H$H$@ H$ $$# @ + H# #IY2454N@Y60/'?'o''''5/8(8IY,(* H** F@YO"(E@5Y5@HP5`5(((((o_5((5 + #(H@$ Ho    O    + +P@ +Y +` +p + +H +H +/++qq+3/_^]q3/++9///]q]qq+3+39/_^]33/+3/+3+39/_^]]22+3+39/+_^]39/_^]+++^]01!#&'325!!6%&'7''6!%!!!5!!!%%5!h|ۛ6\jR zxW$<)ʈ?\CTs +| +^&Xr `=pk :,V(*h?1Y R@YdTdt@ $H HP@Y?O/]q+3/+_^]+^]q+39/+016%!!&'3265<(>,vGzaMjQ!%*8BHL#FYA2990LYHHF LFBY DY)'DY$CKBY7@5@F@'YL_o0?o/oC@$ H9LC55CL9  4H44I@YO_/]q3+3/+9/3/_^]^]9//////+]qrq]q]+3+3+33+3+9/+33+301&'32667#&'6#5365#5365#5!#3#3%&'#!546#!!##?C(4?HCJlnqY4'/?/O_O0 '' +%+$H+H+ E@Y  P  P `  !'H /+q]3/]]3/3/+8/++_^]9///^]^]]]qr_qq++3/_^]3+_^]+99//8_^]8]]q++3/99//+_^]+_^]01#! 3$73263733#77!!!!؜l5c,lVX\? +&,BfML"ndEXO3A\ + /4B A9557U@Y033$ $%$J@ +Y%??>NY +JY5@" H5%??%5:+:A +9:CYLYP@Y o99999"H9+J@YP`O+ +P+`+p+++++/]q]3/]2+/+_^]^]q3/]]+83/+8+89////_^]]q+++9/33+393393+901&'#"55!!$%&'$7&'7#53&'65!67!%'67#!6`zvZ& VPL4h"٪׉O~v_ܬc[*脒*8ĢTi,zMP~?nr[yMt48dV*<&ٱM@Y0/?0 @@S@,YKDTdt  M@"Y/ + P!H/+]q]q33/2/29/]3+3/_^]^]q]q+3/_^]3/8^]]q99/]+01&'!!!!!!'65#!6~lb$,bh2RҢ$`LpnrFd@Z\V + R.4Nn,Tn**pp42쫐,pl~|pH.8ؘFJPNԾxrp260nnljLpppƖ",@### +MY  <@4Y   %!o `pQ@Ydt@ H 0/_q+]qq3+3/_^]3/^]q]339/8^]+33/3+33/_^]9/301&'3266!7&'&'!!&'7!!!8pW!"/Գ`{S\fiĜ~!4$T/jWr+QpzyPB< 217JAFF=GYFFFH>?UY>>;H;KY@Y.H@,Y?.O.@ 0 .+ G@%Y(45722/2?25252D" !HDDCK@4Y. ..`.@.ODOD .DD. HHH/HHHH!$HH8:K@Y888/888 88@ +$H8 ""@ H" ' G@Y$   @ P  !H /+]q]3+33+/9/3/+_^]^]q+/+_^]q9///^]]q]qr]+9/_^]+399//q333+333/_^]qr3]+3/+8+3/+3/8+301##"#&'667!5!5!&'63!!!!!3326&'% '67#5!!2t|#7z\ Hl^ H&%b~r\7 +4P<7xzl4 pSrl\N6.}B +@fZl8aO2:|hR|1:QY2(.@ Y(((&&HY@.  2NY 99QY7++HY%O@Y",99/2/.HY/1FY @# H ////?/O////@,/H/@'*H//++]qr3/+++/99//33/3+3+33+3+3/3_^]9/8+9/2/8+9/+01!&'&'#&'67#3!3#676#5!5!276#l$rrfn0.4tv +0.^T, +hJ^`HvXTLl*&DPHDr + +ʎ`nc %)06A /-/CY343B@ Y-4-4 DY616>Y+*+<@Y%%%/%)%9@ Y((/((9Y ?@ Y9@Y !5@0Y 11 1$141T111 **$*4*T*T*d*t**D**@|H )K) )K)[))))) )[))t))) +;K@$H@HT[$4$4$4D_ @6 H/? p 1*))*1?@ H  9@YO P`p/]q]+_^]/+]q9///////^]r^]q+]qr]q_]]qrqr]qr++]qr]]qr+]qr]]qr]qr+_^]^]+_^]33++_^]+_^]3+8+8+99//+8+801!'!!!!!!!5!!!#&'32675!%5!&'$%&%$G' *Bn$tvJ"!A JY K@Y   @p@ HJ@Y/$   L@'Yo Pp P`/]q]2/]2+33838/_^]^]q33+33/+_^]^]99//+8+801!!!!!!!!5&'!!rKEVqnltn^1Pq(ZN\znhA 1V@ +Y((,(JYH@Y_K? @#11H@ Y   *,,,@$H,  /   JY $(H @!H @ p  /]]++3+33/_^]]3/+]q39///^]q3+3_^]]]+3+3/9/+9901!!5!67!!!567!5!!!&'32675!*YaDh &Zo:xtekiH0_S4F]a4FDʯjnRzv b )8R-@  Y +/9/3?3?+3?/01!!5## !3265!|~CatAty"k &-t@/e'''$'''s''0'@'P'' '%%,,) @'H ##EYD@ Y)"FY D@Y + + + + + +<@Y [+;k ;{+{ +;k K{t+ k K { D  T  ;K   4DTt@H D@YO P`p/]q]+/_^]+]39////^]q^]r]qrq]qr]qr+_^]^]++_^]33++3/+3933_^]]]]01!!!!5!&'6!5!!!!32%%% '%! BBh|wX*24\!kflllPT|zjؤ^YP" (@Y /9/99//?+3?01!!!!FG *.49@2'?O/O_ 0p1226554/@,.2H//  `pP'=YH HJ@YO_ $,H@"YP87 7@ #H77H@ Y + TY + +-)-)H@Y /-?-- -----@ H- #H@Y     /]qr+33/+_^]^]q99+39/+/_^]+33383/+_^]39/]q+3/8_^]]+3+33/8+_^]+/_^]3/3]q^]9/+39/39/33//]q]]]/01&'!&'67!5!!!!7!!!!!!5!!!&'%'6RTNV_$8wD8Rl>*pXXj>BB:ʦNUJYXoP4J{hY +|~ ^:4HdD !"-1%''L@ Y''$'@ H''11EYXY0#0E@'Y11 11`1p111#@ H#1#1#,L@Y/?_o 0`@!H + + +  + +L@YO_!$H/+]q+3/_^]q3/+]q]3/]+99//_^]+^]^]+3/+9+9/+_^]^]+301%&'!3!267#! !!!3266!!>h7LӬp=Ar @&)w ,?o/2/1JX /899/?01!  ==L@Y==/==(==;+..)/1&&'0)'M@Y)))))!;!IY0/E@Y  p(!$HQ@ +Y  LY%3"3LYL@Y0/0p0 p   .1H ),H @)H /"/0 "" 0;/_;o;;;;@ "'H;866--MY"HHH/+++q3+3/3/3/+_^]q]3/]9////]]8+++]q]]3+3+3+3/93++_^]93++9/_^]^]+93933/_^]^]+013!3#7%&'32657#!!&'!%7!&'6$%2 +50N86&vpT62lddJG`)Z vb*4j6,bHF*{|04B*Q~Nb `!'.@ -+@ H++K@ Y*($%%%@%P%(%(%MY N@5Y_@ H '""_oM@Y +`p P/]q3+33/_^]9/3/]q+]q+89/33+33899//_^]333/+89/+301!67!!!!3!$&'$!!!&'&'8 gCMTJ"|MLj Xࢠdl.xw~Pļ\ܶ6BBHz%,@/+))#'0&@&P&&&## +0 #$#L@'Y$_$o$$$$P$`$p$$$$$IYHQ@Y`pHH/++q]q3+3/++8/_^]q]3/]3+39/_^]q9^]39/33/]39/301!!7&'!&'32!&'6!!&'6  vc_$"\ g *jhM ^nlfv$LvضA~ +vn~Mx=nLF  &,4O@ , +/-p---  + +HY  )*)B@ Y* *,',>@Y'' 'H@ +Y#$#A@+Y$*$&&311 111'@ H(O@Y' !o H@ +H!&!&=@ Y!!!!(H!/+]+83/++_^]]9+_^]3/+^]33/^]3]99/+8/_^]+33/_^]+8/_^]+8/_^]+339/_^]3/9/3^]9901''6!5!!5!!!!!!$%&'&'&'&'BPf^B +NK:UOh"tl֎jd@n:~̞|xА:.|6(ZOTF@K<>J9... ..%. .{Dt$$D@ H@LLN*NH 776* 1E@Y@ @@ Y8 9 + H@Y;PQ : + + + +$ + +: 9:H@YO999 9@H9999"FY"F@Y"''&'((I@ Y.64556HY5ECC@@HT@'Y?@@@@0@@@5" 1/  P@ Y0&)H$H010:@Y111P1`1p1111P11/]q]+8/++_^]9+_^]3_^]99/]q+3/3/+333/+9_^]3/+3/+9/_^]^]+_^]q+93/_^]^]^]9+99/8_^]q+3/_^]q+3/339393//9/_^]+^]qr]q]q]^]^]_]901$%67&''%''67'67'66767'%!%&'77%3267#"&'6H4hz-"Y ɡx + +RJlJK_6:]xzmSD$.'`Mb(i.JԞaH,ɱN?G8+slw,1 49='('I@%Y(1/@ H//+(+ +@!H+0+@+`++*+-Y I@Yk=4=D=====@ H==-=4 4F@zY5 d((t(((((D(T(((+4 / / ? O ? O _   0 @  O _ o    @ H( ($$#I@Y $$/$$$$@ $H$::8F@Y @H OP`/q]3/++339//+_^]3+9////+_^]q^]]qr_q]qr]]qr33+3/_^]+]q+3+_^]+^]9/+33+301#&'325365#5!#3#3!!!!5!5!5!5##&'67#%3#3#tz fnl ̮XLNH\;Dc2 +x|Z"(h@8dhd\a5AEI@ ,()(=Y AY E@Y ???Y:555?? +>Y6O@/7?70777@7P7p7777 7@&1H77=?==/= =<@Y3 /  /   3@ Y$$EBE3Y00IFI3Y2"%"=@Y-%p???P?`?p??@0H/? 0p@p/BB@'*HPB`BBBHB@ H/FF@'*HPF`FFFHF@f H%P%`%p%%p%%?BF%%FB?/))0)@)P)))`))%4  _    H8@Y@H@ H&`pH/+q]++q+8+_^]3/^]^]q393]]]/]q]9/////]q++q+r++q+r]q]+]q3+3+9/+9/3+338_^]38]9/3+_^]9/+^]q]38]3+38_^]3+_^]99//^]]+8_^]+8_^]+301_^]!!&'$%7%!5&'$7!5!67!#!5!5!!!#5!7!$%!&!!%!!B >8VR5)n^`6><2("66",2lXVJ 8`Jb;\Yv\fV#%(VV^&!l\h2r¿uLv /4Q@(7**7 777(1'('BYHFL@Y 4   $  */H @ !$H ' H@Y  0 BY B@Y=OON>NNpNN MNR@YLAA@MMMMMMM@>@MY#$#BY2..$@>P>>@>p>>>@4,/H>H >$55$> H,_(o(( (0(P(`((((((GY$HHH/+++q+3/_^]q]39//////8+]qq]q+]qq3+33383+338+3/8_^]q93+_^]q93++9/_^]^]+_^]++^]q++33/_^]^]3/9/301!!!!!!&'3267!&'$%!5!5!5!53!6!36%333#7#&'3257# +w !JP5dX);X&ùMm;4>N .h{_[DQ 4~D@҂m~Uo="g]vzҴ޻{Vd*l,n{tby;".X*]@    +L@Y/  + LY + +J@Y@ H`p/]q+q+83/+8/_^]^]qr+3/939/_^]9/01!$%&'$6!!!p,0xXt2^к~`xN\Vh&@$ 0P` @ "%H$!!B@Y0   $&&  K@Y @$HH$$K@YP#&H H/++]2/]2+3/++_^]]3+3/9/_^]qq+8939/+_^]q^]301!67!!'&'32665!&'&'!!݉&~E8#, ʅfh2o斟r +=1ޠtʉ٨xZ&3;?$@ +4848://:>:EY$&&"OY5=EYEY  E@YK5[55$4Td$4 #(H!H@H$ @(H&55&0>>>$>D>T>>@ H>>(H@ H200-F@Y000?0O000P00/q]q+33/++3/_^]+^]]9////+^]+++^]r]]3+333+3++3+3/99//01!3!53&'7#5!&'%!367!%&'3254'6#!!!#5!!!\AL:K &,'"UƉcBXu$M"{h\FJJXfnZbp]S2f|@Lإ zTZ*frJ EL@   #Y@Y##,**7ApAA @AR@VY?(O( ((..0?''''   KK &FFE@@@@/@?@@@@@ @P@p@@@@ @@@7E;7MYC?OY2 +1@Y0 _22@ HG22@<2 2 3_3I33 CCC`CpCCCCC C   C C 9;%;"H;H;@ H;IEEL@#Y Pp`/]q]q2/3+3/+++_^]399//8^]]8^]qq]]q99//8]+]93+++99//_^]q^]q9393^]33/]]93]]+_^]3/33/+_^]^]013!3#7767#365!!67#"&'&'6&'&'326567##&} r^~px +wltlh`i*A2F)y{| +*Eb'Yƥj+L,ɇrj`J?"#'e|':h8 ^k;ZY5>E_< << +w w i +v bxQA/w"QP+BQdT^^vcR +HfQQl( "R 6BT:#Us&$ : $ |:"hj"&"2"( + Id` /""   , *& RJzRV> * +4  ,`B4tf |"6$(&l&(+6-40X12 234455d7:T;=?N@B4CEG4K"LPQZQSUHXZ([]>_HaJcpdehhjlnp<rtvy:yz{(|~|T*b2Px +r>v)J/\ +M. +<*Fp&v( ,    ( (. V &n  *  + F( 8n  R , + ~ +.    2    ( + +.0 +> +n2 + +& + +. + 4 . b. p 4  + * & + * $$ N$, Z- + -* R    &V&n*  + + F( 8n  + ~ +.  b. p + ~ +.    ( +NegretaMicrosoft YaHei Negretatu nMicrosoft YaHei tu nfedMicrosoft YaHei fedFettMicrosoft YaHei FettMicrosoft YaHei  2016 Microsoft Corporation. All Rights Reserved. Portions 2016 Beijing Founder Electronics Co. Ltd. All Rights Reserved.BoldMicrosoft YaHei-BoldMicrosoft YaHei BoldVersion 6.21MicrosoftYaHei-BoldMicrosoft YaHei is a trademark of the Microsoft group of companies.The font glyphs are certified compliant with China standard GB18030-2000 with the font name Founder Lan Ting Hei. Microsoft Licensed the font glyph from Beijing Founder Electronics Co. Ltd. +g,[W^[W_bNSNSY'ekcu5[Pg PQlScgC0g,[W^[W_b N[W^T ekcQpNѐN-VhQ{&T`'hmK {&TN-V GB18030-2000hQ0 +http://www.microsoft.com/typographyhttp://www.founder.com.cn/cnMicrosoft supplied font. You may use this font to create, display and print content as permitted by the license terms, or terms of use, of the Microsoft product, service or content in which this font was included. You may only (i) embed this font in content as permitted by the embedding restrictions included in this font; and (ii) temporarily download this font to a printer or other output device to help print content. Any other use is prohibited.http://www.microsoft.com/typography/fontsNegritaMicrosoft YaHei NegritaLihavoituMicrosoft YaHei LihavoituGrasMicrosoft YaHei GrasFlkvrMicrosoft YaHei FlkvrGrassettoMicrosoft YaHei GrassettoVetMicrosoft YaHei VetHalvfetMicrosoft YaHei HalvfetPogrubionyMicrosoft YaHei PogrubionyNegritoMicrosoft YaHei Negrito>;C68@=K9Microsoft YaHei >;C68@=K9Tu nMicrosoft YaHei Tu nKal1nMicrosoft YaHei Kal1nKrepkoMicrosoft YaHei KrepkoLodiaMicrosoft YaHei Lodia 2016 _oQlSrHgCb@g 2016 SNSY'ekcu5[Pg PQlSRrHgCb@g _oŞ_oŞ-Bold_oŞ Boldi@Q{|{|vwmploknknrtugjfiehehqszC!yC!ABWR+VR+UR+TR+SR+QR+PR+RJ+OJ+NJ+MJ+LJ+KJ+IJ+HJ+GJ+J 9AFC+EC+DC+BC+AC+C9AF@:+?:+>:+=:+<:+;:+9:+8:+75+65+45+35+20+10+/0+.0+-0+,0@++++ ++++++++G++ ++p+++~+}+++76543 2 10/.&'('*+,+"#$#  +    ?    ,<*<(<&<$<"< <<<<<<< <<<> +endobj +8 0 obj +<> +endobj +9 0 obj +<> +endobj +10 0 obj +<>>> +endobj +11 0 obj +<> +endobj +12 0 obj +<>stream +/CIDInit /ProcSet findresource begin +11 dict begin +begincmap +/CIDSystemInfo +<< /Registry (Adobe) +/Ordering (UCS) +/Supplement 0 +>> def +/CMapName /Adobe-Identity-UCS def +/CMapType 2 def +1 begincodespacerange +<0000> +endcodespacerange +118 beginbfchar +<0000> +<0001><0041> +<0002><0020> +<0003><0042> +<0004><0065> +<0005><0061> +<0006><006E> +<0007><0046> +<0008><0063> +<0009><0074> +<000A><006F> +<000B><0072> +<000C><0079> +<000D><548C> +<000E><0070> +<000F><006C> +<0010><0069> +<0011><0043> +<0012><0078> +<0013><6709> +<0014><4EC0> +<0015><4E48> +<0016><533A> +<0017><522B> +<0018><0053> +<0019><0067> +<001A><7684> +<001B><751F> +<001C><547D> +<001D><5468> +<001E><671F> +<001F><0049> +<0020><004F> +<0021><5982> +<0022><4F55> +<0023><5B9E> +<0024><73B0> +<0025><8BF4> +<0026><0050> +<0027><539F> +<0028><7406> +<0029><52A8> +<002A><6001> +<002B><4EE3> +<002C> +<002D><0062> +<002E><4E0E> +<002F><004A> +<0030><0044> +<0031><004B> +<0032> +<0033><4E8B> +<0034><52A1> +<0035><65B9> +<0036><5F0F> +<0037><5E95> +<0038><5C42> +<0039><81EA> +<003A><5B9A> +<003B><4E49> +<003C><6CE8> +<003D><89E3> +<003E><529F> +<003F><80FD> +<0040><004D> +<0041><0056> +<0042><8FD0> +<0043><884C> +<0044><6D41> +<0045><7A0B> +<0046><542F> +<0047><5355> +<0048><4F8B> +<0049><6846> +<004A><67B6> +<004B><4E2D> +<004C><7528> +<004D><5230> +<004E><4E86> +<004F><54EA> +<0050><4E9B> +<0051><8BBE> +<0052><8BA1> +<0053><6A21> +<0054><4E3A> +<0055><9009> +<0056><62E9> +<0057><004E> +<0058><4E1A> +<0059> +<005A><4F7F> +<005B><573A> +<005C><666F> +<005D><5728> +<005E><0031> +<005F><002E> +<0060><0037> +<0061><7248> +<0062><672C> +<0063><5B58> +<0064><0075> +<0065><662F> +<0066><0054> +<0067><7C98> +<0068><5305> +<0069><002F> +<006A><62C6> +<006B><51B3> +<006C><529E> +<006D><6CD5> +<006E><7EBF> +<006F><578B> +<0070><96F6> +<0071><62F7> +<0072><8D1D> +<0073><5185> +<0074><90E8> +<0075><6267> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end + +endstream +endobj +13 0 obj +<> +endobj +14 0 obj +<> +endobj +15 0 obj +<> +endobj +16 0 obj +<>stream + POS/2Pь`cmap":N<tcvt fpgmdl glyfW|!\Shead0[u06hheauh$hmtx ulocaw8~8maxp  name6post  prepQQ A(ZYEC@ $$t  hV V %()*,-./012345678>@ABCDEFGHIJKLMNOPQRSTUVWabcdefghiklmnoprstuvwxyz   00NN +N N NNNN$N*N-N:N;N>NHNINKN_NNNNNNNNNNNNNNNNNOOOOO OeHecepeteeeeeeefff/fgg g gg,g/g:gegggggggghhh7h8h9hFiij!k!kckdkekkkkklBlGlllm;mAmmnn2n8nnnpuppq6qrHriryrsstuu(u1u5uLvvvvvw wwwxx@y:y>yyyyyz z3zzzz{&{I{~{{{|{||~~~~~~~~~~~Qn TZ􂂈LehʼnĉƉ㋡a#(/DVwÎlnoǏЏԏ؏ُۏޏ ;GSMǑ̑͑ϔ.EMPdƖb{؞  %()*,-./012345678>@ABCDEFGHIJKLMNOPQRSTUVWabcdefghiklmnoprstuvwxyz   00NN +N N NNNN$N*N-N:N;N>NHNINKN_NNNNNNNNNNNNNNNNNOOOOO OeHecepeteeeeeeefff/fgg g gg,g/g:gegggggggghhh7h8h9hFiij!k!kckdkekkkkklBlGlllm;mAmmnn2n8nnnpuppq6qrHriryrsstuu(u1u5uLvvvvvw wwwxx@y:y>yyyyyz z3zzzz{&{I{~{{{|{||~~~~~~~~~~~Qn TZ􂂈LehʼnĉƉ㋡a#(/DVwÎlnoǏЏԏ؏ُۏޏ ;GSMǑ̑͑ϔ.EMPdƖb{؞ N^x NNOR}/wg{3Af-.MO5nl[5޲pزֲڱر~Q=ZE*(*ֳ'Ӳ 1]}ޱձPd; u6Xϯܰ?pwʯׯ0nKXJNn54m׮9XhBȬBMxI߭\Hu^۫c^dͫҬ(٪LH +~Nڨ eZ:禇Z;[6(ץ4ݣIj5_衹m}rR}9(T,*UC1ןĞ(ߟ_+򞽟؞מ7m^;n<$~`34ԛOћ T<ݜ,71蚷 ԙ-Wؙ&Xݘ69uwϗ5ۖ;X;ꕤxnݓ͓W="ؐY{Ks7 +(h0[\)؉ 9$#R䇇t';EqC#򂒃(#[C؂ׁǁq*8~WxSywwx#wwwv.uuuvuKtv uu*u=t4ttLu&stssttvsCtMst'sqqrrgrrqrWr]pq>qWqp\qpr9qqqbqqpq +pqqp~pgp3nooool;k_l;lkk]jHj> +#eB #B%%?? #eB#BCTXE#E ic#b @PXgfYa c@#a#BB!!Y-, EN+D-,KQ@O+P[X EN+ D @&acaN+D!#!EN+ #DDY-,KQ@O+P[XE @ac`#!EYN+D-,#E E#a d@Q% S#@QZZ@O+TZX d#d#SX@@a ca cYYcN+`D-,-,-, +C#Ce +-, + C#C -,%cf% b`#b-,%c `f% b`#b-,%cg% b`#b-,%cf `% b`#b-,#JN+-,#JN+-,#J#Ed%d%adCRX! dYN+#PXeY-,#J#Ed%d%adCRX! dYN+#PXeY-, %JN+;-, %JN+;-,%%g+;-,%%h+;-,%F%F`%.%%& PX!jlY+%F%F`ab #:# #:-,%G%G`%Gca%%Ic#%Jc Xb!Y&F`FF` ca-,&%%&n+ #:# #:-,# TX!%N+P `Y `` QX!! QX! fa@#a%P%%PZX %aSX!Y!YTX fae#!!!YYYN+-,%%JSX#Y%F fa &&I&&p+#ae ` fa ae-,%F PX!N+E#!Yae%;-,& b c#a ]`+% 9X]&cV`+#!  F N+#a#! IN+Y;-,] %cV`+%%&m+]%`+%%%%o+]&cV`+ RXP+%%%%%q+8R%RZX%%I%%I` @RX!RX TX%%%%I8%%%%I8YYYYY!!!!!-,] %cV`+%%%% % % %%n+8%%&m+%%&m+P+%%%q+%%%8 %%%q+`%%%e8%%` @SX!@a#@a#PX@`#@`#YY%%&8%%8 RX%%I%%I` @RX!RX%%%% % %I8%%%% +% +%%q+8%%%%%q+8%%8YYY!!!!!!!!-,%%%% PX!ehY+d%%%%I c% cQ%T[X!!#! c% ca S+c%%%&JPXeY& F#F& F#F#H#H #H#H #H#H##8 #8Y-,# c#c`d@cPX8qvo @ LL@ L@ +M L @ L  +Al@t @l?+?++9++/+201+++76&#"3267#"&54632` B  !  {v+5 L@ L L.M.L L@M L"#)2, M@ M73 M3L M@LL M3@l/@l) +"@L"ss +&Al& +@l ??++9+++9+9+++++++/++2201++++++++7"&546754&#"#"&5463232653#"&''326751.  + +!  +"  +  B   /xy0 L(@L&M L L L@L#+ +@M@(M2/jjj'Al i +j ij ?+?++++9+++/++201+++++++75326554&##532673663233#5326554&#"33   +* + + V + +@C E{)ֹ@L &@M+MM@vL* @M @M@M@L@L@L@L% jj%@L%@L%@L@L@L@L%9 tij 9l j jj ?++?++++++++++++++++++++++++239/201+7#5326554&##53&&##"326553#54&##360h  ! +  +! +$@ +: Ipv"Y@ LLL@# L +$ s Al @l?+?+9+/301++++747476&#"3267#"&54632#"&V + Y  ! md@ L  MM@ +L @ M ii@l +Al + ?+?+9++/+99+9/01+++73267#"&55#53267733#< + + +  (($ + F' tv @M M MM +L +@MLMLML@ +M @ M @l@l  ??++/+01++++++++++++7#"&5463232654&#"tX<!"$$uy)@MM M@ L M M@'M+*(%i$#j($i(jj sAl ??+9+++++++++201++++76632#"&74&#"33#5326554&##5326733 + +  JU 6S wt-./01Ĺ-L,L"@ M!M!MM!'''@ L@L@B M3'!/1i 0i&/i).i,)--"'!'&j's ' jj'')j'Bl?+?+9++99++9999++++3/+++9/901++++++7376&##53#"#"&546323267667'&&##53#"'#3#B*" "*O + CcX + !%#@# ""//9/339/39/301737#&'5'5#"64'375#535 0  799  #5 + +bEE'/@ ** *//333301767'6554'7#"'&'7#"'&''>;2'  (' WC,.(* +#"  c  +  95 !#< BFJNR_@-# 188>,;,00 PL+LAA  HDODKK  + + G!CC5 5//9/339/339/3339/3339/3339/333233017675#"'35#"'37#37#7764'375#37#37#"'35#"'35#53533535335   & ? ' + ')&&W S $ :*  T 7%% $U% $C = = ?C < /  + )  ) + +h((((.**** =jnrvze@0`P 77;;>xlXl^^>,2#266>tpwpkk>H~s~oo>B{{> >//9/339/39/3339/3339/3339/3339/333220176'767#'665#'3765#"'35#'66734'37#37#'37374'5255#65#'>5'6635'3533535'37 ( V< ;  +  - 9         + + -   !"% + $ +(   $ )  + +   7$*.%J + 1d!!& &!!J  *5%@ 1+ ( %  //9/33333322017#"'&'737&'5667#'667#"'36#"'&'2#K +U #" + X D#%8 ; ] . + +  + +  Z#i?HK0 #G +  +(:+@!::%: ://9/39/39/33320177#"'&37'7#"355#64'37'&&''667pAe + + + E aa_ +7 +<%,$<';  + &100- - + $'$5 11@/ ("&//9/3339/39/39/320173535255#65'667#"'36737#376'Y\\\#\!)7 Z  +U V y##)!!P #9 q/$   + v r% L$@M!MMMMMдLL LM@1 LM 'iji "Al @l ?+?+99?+++/2201+++++++++++++76632#"&'#54&##5326732654&#"# + +   +  ]    +#.26ZU@, j.(25       + )R   +2 ' %   +#@ ""($$//9/39/39/32017&&''66737#"355#64'37 5.,+7$'7=d e ``^ +-  1)* 6*e '88- . +5@;@< 60  00((//9/339/39/39/33323017353575#64'36737737&'5267#'66#"'&'-444 4 + + +! +'6   : @@FFF@u$/]. " # +8 $ u "p 2I + @ +   //9/332301737#37#"'35#"^C k<     //9/301>'37# =^& +kH + 7W3@D S:HP:>> 74K K//9/33339/33333320177#"'&54'36737##"'&'65'667#"'37#&&'#'667#"'36771   1j? 6/*%)9 qVh2&!- + 41$4 C e ++ +)  +  ("   O ,'! !#  #[6 P@  L L L L,@M@ M,0/  0/]/++01++++6"&&6632&&#"32U  0 +&  +7;!@9 18814++1//9/39/39/30174'375#>73"&&57&'5267#'6673735;?A<8  >5! + +s"$ +n +AQ ,  2# 44g,<  +,..!//9/30177#"'37&6'72'54':~ A +(3 +2w  +X +"L5@!/;,;?? ##//9/3339/3339/33320173533564'34'375#65#65'667#"'35566737##"'&' #^  !# J 30  ) ????XB0 . )"J%9 R.F(5 + -  + g'2F#@) +)A55!)!//9/39/339/30175#"'37#37#67.''>777#"'&7##"&54767337"O + 8 W- M643  + J   + G +g 1 4  &%  +  + 8   +" //3017#"'&'&''67&'766g S +32-)1F@/"%  P'0 -/2/IP=G<#@  @ M@L/++2/0167"&&6654763     +   7;?CWA@D=# M9A +     +  B   &!!& e+H l 81@*11.. 7%4%))    //9/3339/3339/330174'67#"'36737#655'674'37#37#"'35#"'35 +, O  + X~i& F2 G :`    )o L 0 +) P P  FMXyQ@&_ TNr E31LLrA979EEroumuyyr(r(//9/39/3339/3339/333333332201737#"#"'&'37##"'&&'5667&'67#'367#'366737#67#7#"'&'76'5655'675#'34'37#dj g  &H * + -'- + +$ 7 +, T  % ^+ - + + K +  ) )  + =    +     C + + + o U H 8) ( !5@ + ////9/3322301767'37#&''67&''654'74'65'6 + +: + +M ! +#"!"*'c "  <$BC  @,% !%0:!6M= Z i$ )15>N'@:=5%3%))H MHM//9/339/333320175'667#"'37#7&'7#"'&'37#7'675#'764'5326'54'&O$   e F P * + 99r -&  E/&   +  0  3W] +!S   +  7BT+@$&&99 9OEE(9(//9/39/39/39/320176735'37&'375#65567&''66?#"'&7#&54767337&_Q]<A  '?2)"[]@0    K  +  Y//k   ) +@ +& +*   5    @ + //9/39/301735''&'375#'>MyT + 3wy="774 + ! + 4N,AW ALS\jK@#=chXTHQB#A37A;;! MQQ++//9/39/339/339/333333323220174'34'34'5#'7#"'37#37&'5655#5#5#64''#"'&'37#"#"76'7'6767o%% V + | J >  +   P : 4  + #' +"  +) + +  A  I  HGLNT[8|  4  $!U   +=" +"&*?IZ[@+3FA(;;$'',##JXX + +" ==//9/3339/3339/39/339/39/39/33320174'37#37#37#"'35#"'35#"'3535'374'5'5#64'7"'&377'655#")H :/ J 3& %LLLZ KLL &$ $ +  +      Z( Q  +1F}  9 + Y!!] +:E#@8;5 A/ % /3/3339/33333017#"'&''37#67&'&'5275'6675#"'34#"'&'(Fg  "0G'- 4*B cK   %*1  'a~  : G +C  "&*:7@0 (00$'' 6##  //9/39/3339/39/3330174'37#&'5655#"'#"'&''35355#64'37 + / 4  K))))&' -  }  8<@   + + ++6AS1@2 ,D D (( 8NDD8//9/39/33333332017#"'&'#"'&'5667#"'366537'#"'&'77#"'&7#&54767337&N +C1# 2:.*: O q> += K    +Y  +"  2 %!7  +h +>  +(3AT'@B6K,1% + +K#;K;//9/339/33232017'>7##"'&''667#'37#376554'74'&'765655'667 ""  G 1 +  x.0 +&.# +  + A   + . +! 8 +    +!!g %> & k 5 #.. //9/3301655'667754'667332653##"55'67& + C!  + 5"# X!R m eH ] ( !?= #-J%@> 0FCC% 6%6//9/339/3232201765'667#"'37#77#"'&&'7#"'&67"&&'&&'675#"'37+)(- | M    <6,:$  '  -D+(G   U_  e     P .26Qm=@ `l4-03TEP/33l-3P//P3-l%9 /22/39/////]3333330177&'7#"5&''2664'37&'5255#5353574'67336653##4'67#7367473#"G  +L  + +"35555/  " + * # !' .   +*p + f  #<~,F +#   fN    PV[`-@^X>X"",5V\VWW,/SS,//9/39/3339/333017&'5664'567&''67&''67#65'66737&375#667"&&'7#367335 +" 3GL*,8<#9<,- +9 5A  # ((> /?E%0 / ( % - + + + +  + %j   (+@  # //9/3339/3332301734'37#37#37#"'35#"'35#'66? +;9[-OH m& G=  . +2>H H >+> J)@@8,,85<<@@.8.//9/3339/3332017#"'&'7#"&''67&'#37&'567#'6654'3&'37#6677 &%(O.   +/'M7Y   +  %G0 +< 1S!%U ! +B &) +6L5@:E LAH>HLLE4**.E.//9/3339/333323232017#"&54767#"'&''34'376'567#'>5#"655#"'354'37#g +s u-& ($ ' '  +*k+  +-! +) d+  +)c59*,:)  r .  +8 + 3)@#-//9/339/39/332017655#'66737#37#37655'>7 +P V, L3  &! $!@  6 1  _5( #  +(!&&&//9/33017#"'&''67667#"'37"327"&a Qq  L:&(J:    Q E !*=/@%(0 300;;//9/39/39/39/33201764'375#53535'#"'&'64'655#"'37&'V1 + 4444e | P o +  ? + B h''-**y    +  +81@ 1& # 1-5*5 1//9/3339/33333320177#"'&37#&&'#'667#"'365#"'366737F0Lc .,-  ;03,E g; q  4  /0  /)%55   % :DM@ JE@;//33330174'52'5'667'667#5667&7677&'7&#"'&''"'667# + + /*( + +) ;`> _+ /!   + +  + /  0 + #(% ##2 (4"/@  //9/339/39/39/320175#64'36737'353535x  Q +xxxxx + +   ,,2228// 51@ ''$$. ..1++.//9/339/39/39/330173535675#767&'56'5#'67#"'34'36737Saaa ao "ITR:l 0 F#@ +  (P9B5 S   $!@ !!  //9/39/39/301737#"66537#376'7267#'7  0u v " +w2 | % / %7 +;$ +  +!;?EOSW]@,% 55U''5ITT5CLL558=-@F-PP57<3005)5)//9/39/3339/333339/39/39/39/39/3320175#732673'#74'35#"'375#64'35#"'37#37'35335#35#"75#65356( 46' FlH e -?  ++H+H4\X B ,zr!   # &. 753D0^&&  BFJN@O1885LHKDG,==C& *@  GGGCC@@@KGC@@CGK5//9///////]q]]q]q]q]3333333333333333301735335335'375#6435'36537#3737#"'354'37#"3535358'' ("fY@a5 +5$4 'fffff!!!!!!   +"s +  + e  +\ "#%@! //9/3339/33301735'4'375#65#64'35HWF HEEBB' ( : L K D BB +#-O/@7+=$D44C?==!!//9/339/339/333201767#&''6737#"&''6''&'>7#'>5#'37#37&' , + 5  !"12X   '  a K&  + (%Aa$.4=  E$& +&   +.+963! ' D  4#@,(//,//9/3339/330175#354'5#'754'35#'754'354'354';EC: ;;' + a, % ' :a )  5B Q-   1<1@ ##8/'2'',/22/99//33333333330165'67#"'35#"'34'37#36737#"&'#'#"'&'w(B=#A m9 Z +=_  +1c"B:O +(AD#D >  >@ BZ    +.@)@// ////9/39/39/39/301737#"3564'375#764'374'5255'&&''66GK J &4$&]* L 8'$+3*)9~  >>_0 <[iN + ?  ;|  $+> 0?C=@ A>>5@@#**''0-""//9/39/3339/339/39/3201664'374'5655#74'37#37#"'35#"'64'375#535  n 1 c : 688<\) +   E8; +    1 + &=))  '/:>C\]@,Z60,( "" AII4'374'?)))))7)  m! , *L112$2! +/ $J   c cs   + + 2283| <#,!,f +   !6@aM@$=$8X__ XXU[S[__X1$$EXE//9/39/3339/339/3333333301737#37#"'35#7'6777#"'&77##"&54767337"'7#"'&4'5655'675#'34'37#7iX 7-  E &#  e e G;!  ) + +"K C  C9     + +F + +LW +D 8$ $ +3 V=@: D'>'66 J"G"&& VM!! //9/3339/3339/33332320164'74'&'525'54'37#37#376'5255#655#64'35#"'35#'667. 4$ B! ## "! B$ + + + +7W +\ +  + $   + 1  +.E " +>G.   + L[_K@#"]ZZQ\\8??<<E3B3770 II((//9/339/3339/39/339/39/3230177#"'&7'655#"'37644'37&'5655#37#37#"'35#"'34'#764'375#535& +  % + + \  + 5 +$ = ( "(-;    ( ^ ++m$  + +   TR(%(  " :''  $(-1@+ "&)&%!!//9/339/3339/333201735655#65#'664'37&''3533535C(CB#h@ CB~55z 3@ 95&@p + 7777=* 5 #M@ GDD:://9/339/32201737&'5667#'>7#'#"'&'67#"'&'655'667#"'37rh  " 7 !   E  %& G  + +  ,C72C)/ v   +H "I/   ,3W7@W%!##)T7Q7--II//9/3339/39/39/322301735'67&'7#"'&''665#64'37'67'37#"'&''67&'67#"'367B1  ? +(++ JB@   %#  $ +HBB8 + .gF K + B:";8  <" + +  +$(+ + *@   //9/339/3201737#37&'7667#'65#"7#"'&' {A + + + CQZ? W  +M  +3W%3w: +  3IP[=@%W QN*J :I +--**30 //9/3339/33332333320174'37#37#7&'7#"'&''267#"'35#"''#"&547654&'5667'&'7#"'&' +' B5 ^ + +$i  8: + +% J '   )N# + +# 6  &   + < 6 j$ + +b = +  @M M  M +M +M @ MMMM M@<MMMM MM M MPMM@M ,MM/++/+01++++++++++++++++++++.66")&>1 *B%e#x!L@ +L ! M@ MiClDl@Ms +ijj  +s??+9?++++++++/++++0174&##53267333#532657'2#"&5469 + J eig8g[M MM MM@ Mji j j i?+?++++/++01++++7267333#5326554&##5% Nnt@ M  L L @ + LM@ LL L@6L   + j i@L@ Lji +@l +@liML@ M j @l ?+++++++?+++++++/99//3301+++++++++7#57#"'733267nVE% RF& +'e "gxIݹI MH Mд L +@%L+LL*%+=08 %08C@M@MC@MC@MC0M0@3 L0IHj>?j>jj> >!Al> IiI?+??+99++++++++/++++++229999++01++++726736632663233#5326554&#"33#5326554&#"33#5326554&##5 +  +  " " "t LK  + JK + +IWx0 L(@L&M L L L@L#+ +@M@)M2/jjj'Al i +j ij ?+?+++?+9+++/++201+++++++75326554&##532673663233#5326554&#"33   *  U A? + Ey .MMLL@L, !!@M@< +M!0Dl, +'i&%j+&i+ ij i   i Al iAl?++?++99?++++++9+/++2201+++++7&&#"3267"&5463254&##5326733#"#5\ !  + ^$6 mv7@ 6 L2M@ + L,M@M. ''ML@%M9'3L3MM3('i((((@. H+(j+@l#@L&#s& i @H @ H j@l +@ L&s& ??++++++++++++]+99+++/+++99//01+++++746323267&&#"#"'&#"'732654&'&'&'&&    +    + W!  +   % + +  %o M M M M M @, M MMMMMM M M@ M(M M@ M M M MMM@ M  M M@ M @M, M  +M +/+/++01+++++++++++++++++++++++++++6&766&&'&6M'%$ +/>) 1B )8<'@:// 599//9/39/3339/301765'667#'35566737##"'&75#64'3735Z " 8%", 3&o31 +I3c\['5- +/   +Sq,c" + +}} %,04\^@32AXX>\.1WSD*!-MQ111\1D-QQ-D1\9 I&/333/339//////]]3333333333330174'37&'52'5#64''#"'&'7'635357'655#"'35#'6737#37#37# P k KPPP""  '  ; +- ) -(' += v !?m +;  +) &""H +6 ( (D  + ( %6SZvO@%m6200 T`^^  ?HH   " 8LLs s//9/39/39/39/39/39/39/339/3320175#64'6737#35#'35#'377'275#'37#73733676##"55#'>667&&''37&&''66v D   +  +$D  +  /7R + (S 2G    +$  P  + + **B +7 + +##"  + +0  '  +2%!V + +? +   xz.t.@9L L L, @L0 /&%j&* iji j @ L Al ?+?+++++?++201+++726754&##53267333#"#5#"&554&##532673:  + +  + ?b <S  ,$+$//33017#"'&''>5.''>'X "I%+  +?.24K? %ID -2)5=&  "(,<&  E?@!.2))-$$(----((-!//9///]q333333333017'655'667#"'35#"'35#"'34'37#37#37#67&&'\4, '$0A h' H8 YAb3 RKo +  +(3 ' (    +   01 !%)-1C@'## / +.. !&*!""  + //9/339/33339/39/39/333201735'67#"'37#375#64'35335#3535j*1@ } + b+D,c***/,,`  + Z<#m&&,(( @ +  //9/33301737#37#"'354m ;_R b Cq  +8<@DG@!B">AA":=="599"/3")-"//9/3339/3339/39/39/39/320175#65'67#"'367#"'367566737#37#37353535Z&2, P! D6D[  ++>_j^oZZZZZQM Y!'2 +   + +  !tx#0@,M(L( MMгM@ L*$!@)M21 '-Al'@l i jijj?++?+++?+?+99+2201++++++3#5326554&##5326736632#"&''32654&#"..   +  + v + +#9 + + ut3456789:;@ LM3L2شL/L.L'L'@ +LML ML ML L@ +M' !-@gL--!=!7'i745i8;6 i657i9:74,;i/:i9i8i7i6i5i"4i3 & '( -/j!j-,jjj!jj-!"j! ?+?+++++++9++++++++++++/99//+901++++++++++++++++776&##53#"33#5326''33#532677'&&##53#"37#3'#C' ,' ++ D =I(."#'*Zddd7>'@52== **//9/39/3339/30175#6554'37'35'37#"'&''67&'67#"'3667#97F9 & + 21  ) + (#  +b + ~~;  F +  + &" ; & D# +1/@/*'' ''( "'"//9/39/39/39/33201737#"35'375#6455#6554'374'Ba d =K<=Q" $00 + % 1[!~ + +  +y* LM@K L@ M *&&@M&@M@ M@ +L,&)i(i!"j!j! @l@l s??+++?++++/++++999/+01+++74632#"&547454&#"3#33#532655#53- **I \\az //301737#" j +4XO@%F#+#11 #,,00# ''++#CI@IMM8#8//9/3339/3339/3339/33333230177#"'&65#"'35#"'35#"'36737#37#3765'67#"'34'37##"'&'p)" C 2 A +  A :(  ( )   ~2$* * % " % * $;>(,E # )    "3A@(%/+ 22//%%%%&%//9/39/39/39/39/333323017'667#"'&''35353535'4'3737#"'3k +*'%C!$ #GZZZZZZZgY  9    +"% &N +  [7 +?//016'7#"':  "  3JNRVZ@-B4TT7=PV)&LO/ ,KJFC=VOCCOV=!2;!/33/39//////33333333333333333017#"'&'37#37#"&&''667#"'35#"'367765'675"'37##353575#  + T  =&B%&"  ? D 4 + V 1$$$$$$    4 / +4#74 4 $  +! + --3**^ %  7S1@Q,!66;BBOFF00//9/39/39/39/33230177#"'&7'6'5#"'3767'37&''67&'#7276##"75#'664'37)  &  ( +< ZY +,#*9@ T + ,# + +  +" \ + ,& +( + "'0 + 2")% +  +(,O:@(*:@@8D)(D))D(=0%/33/9////]3333333017357'6554'375#67&'#53565'67#'34'37##"'&'HH'" +G + +/ %  .@H ,  +*  && ~! + "4  &  +WY''#:>%,@! * + +   /37XK@#, 5..Q%44Q  $$QNTLTXXQ1Q00Q//9/39/39/3339/3339/339/3220164'35#'>'375#34'37#375#'3535'76'5655'675#'34'37#}/.RT.! =DTDD!# & + '1(G.Ia    + ( ($$//0Q + G3) '  ,@ #++&&//9/33322017'667&&'37&'5667#'667#^ ) (U 2!'Zr +4$3-  29%(, <(f +O!M+;?"49D+@@ :5 ""4+ //9/3339/3333201766737#37&''67&'#'>7#'76767'#"'&'^dV !5/'<> '  .  +@ # ( + ! + !  #!;*5,    1 !n  "5#@" 51..//9/339/33320176'37&'7267#'>7#'67'675#"'37# * %",((!$ #,5$ S 20  + L5 *Z)6+)3+X +p "4'@ 33  ) //9/39/39/39/301655'6677353537#"76554'375#, + +8UUU  S + U ]$Fk <@1 J# ?6)+ (@   ' ("$3; + :  # ) +%1!   +Ni H 6# % 0U + + +#+6I7@7@1,@ +# (@(//9/333339/3333233201735'54'354'37#37#"'35#"''667#"'&&'655'667+8+ /  4 + +"#3+z   + FF -$  - F  F ])/ +E!f<.r + !%)2=C@:4 +'#&&"" ////9/333339/39/39/3333230174'37#37#"'35#"'34'353535'6677#"'&: D 7DDDDDD!0A:   q q  + &!!'$$-  & +  +4E.>5>5//9/330176'5326675336653##75'74'74'77655'667 +  ) " X +U + +" & E 1 +cg l m + -" +: + k*&N #  ','@$++##  //9/3339/33320173&''67&'#'35#"'34'37#3767#,=?!1B>+ FE f Fj# CVf'  '& ,+ # + +C.+ 7?WK@##>9IWETEII+22//7&5&**LL//9/3339/3339/339/3333223016'5655'275#'34'37#774'37#37#"'35#'7'&74'37#6'5255#"'1  ! ) ' "X +! =/  E'  9 + 3:   C 6  ( 1U  '  'n +  $  H + = #%7;K@#4.+! 966+ ++ ++,88&+&//9/39/339/3339/339/3333201737#37#37#"'35#'35##"'&'6554'375#535>l B 9"q @ 2#J k  / B B /: +  v Ϸ %-?F3@41)-##1 12BB.1.//9/39/39/333232323017#"'&&''37#"37#&'5655#"'66764'37&'77#64"  MZ Y } H # - `$    +%\! + c 4 s   o"74x2 6J;|# +"'@ +# //9/3333017#"'&'37#&''67&'#"767q  \> (A=/CA*  9  +1A+$ "+ ++@:'': )%@&&//9/3339/33301765#'35'67#"'34'37#&'#37* ;&GB#; e +D\!A6 "$,XN%-S  'S #Ui &.26LU`K@#\3VQ/M=L,3'"304//33  //9/339/39/3333332333320174'37&'5255#64''#"'&'7'635'35'#"&547654&'5667#"'&'7#"'&'  + R r URRRg"  + %P"> : + w (Bz <   %[""& h$ a ;  ",6BVI@"77732673##5'667767'667'6676767 +4  lO +S 5 $% '  + ++&4 6( +  + +   + +   [(    + 1# '(?   +J #1   +?NZe7@ca\3M,'M!MDMM UU//9/39/33333333220177#'66737'&''66'#"'&'#"&54766'76664'375#7'>5#"'&&J +G+8-M0%mA  jk/ +.'0 &, $! +  % !+ $7 +   + + # ">>4 & +   J`irO@%Anj/eIaQ`# >II//5/1-##'/'//9/339/339/39/33323232333320173535'677#"'&'64'367#'664'37#375#&'555#'#"&547654&'5667#"'&'7#"'&'BBBJ $C! V +=hG +- 9   !G# #5# (. )L<A_ +   + > +B?im$ +f + =    $8+@%/ + +$ //9/3339/333320174'37#37#65#"'35#'667655'>7  =* H, M+  B + & 2 : L11 :.  j' "8 " h 4?JiQ@&XFQ@ '667"37#'375#64735*".9K1%''" Z6A?S(  a + W #Wcc +W[_crg@1j0, +]Y..\\%XXL=C#:CPPaqqh``//9/39/39/39/39/333339/39/39/39/3322230173564'375#5#64'37&'#375#645'667#"'3673&'737#'#35335'3564'375#;(6' (-*"*'*0 T  + ? +Z-!'2-''5&'''>' $  +R*) *  &  +    + ****''9% !  + + +'=FQ?@,.M%GB>%.". %%..//9/339/3339/3333233017#"'&'37#37#37#"'35#"'35#"'#"&547654&'5667#"'&'7#"'&'%rL A- O :   $J#  +5?J J ?l# +e ?  + +?CG9@8 A?E*5=E""DD@@%%//9/39/39/3333333332201754'37354'3737#6'5655#'665#&'5655#'665#'7353351"  $  %  &  # 0#:&l( H8  Gd + + ]"CE^ W)69%KKKKK +LPTX\a@.ZZ1HVLVYY1CCUU1NR"RBB1(9M9QQ1.4+4881//9/3339/3339/3339/3339/333339/3330175#&'5655#"'35#"'35#"'35#64'35#"'34'37#375#3737#'3533535354 / PN o. O32F g Dh342 +344444'           + Z< q/ @ +M LMMML + L@LM L/M(M%LL M @L@L-&'&&@ M&@M&@ MM@ L1&0/@M/M/ L"(LMMMMM M +@L%/<<~-'&i'L'L'@, M*'j*9l%"s%i@Lj9l % +s% ??++++++++++++99+++++++++++++++++3+201++++++++++++++++7&&546323267&&#"#"'&#"'732654&< +    + V ) +1 +xv GWxSLPLLLE@L:M: M"M"@ M MMM L +@LLL@"LQ6'!9!BQK@L@ +L9!!9- L-@ M-YHHEELE ME@S MEVEE$4 0$s*'6?<$N@l$ @l<<(+/'  !T/*! + 9 L +W[_cg|{@;k\} FMMJJkSAPAEEkaeVe@@kY]`]ddk 7X7\\k&2#266k {k{//9/333339/3339/3339/3339/3339/3339/3333330174'37#5#65#'34'64'35#"'35'667"37#375#37#37#"'35#"'35#5353353533554'#"'&'6'&54767  4! .*&$ E.3", H)*$ @0  J ;&& *\& * +     +'    !    ;#" +     + +//016554'7&&''667w ;*4++9 +(B d)) ,%(0J +6]h9@3dZW#))2W22W^&N/333/39///333333330173567&''67&'#'>'34'37'7#37'67#"'&'65'667#"'37'#"'&'}$  ' ")& + "( +  )    + 8 +5 55;%&( +  *(87[ +" " +5 4  + JX2 +9  + (,QUY]f@6 ((" ),,]VYYRUG<f? '079R"$. M $%%%%%%*  #t +&        +;^@ TFCI@IMM.F.//9/33332017&'7776#".547#"'&''67&'767'675#"'34'37#76'5655 !"1+   U & 1 )$&2 0 8- $  '%$  + :": $ =2 # + -P + G !1@  $$//9/39/33201737#"255#"'37#4'''6665'667qUS & s>"1' +  f k)dm d4 &/=#@'*$2$$727//9/339/332201737#37'667#"'&''667#"64'74'&'55i B(  + +*),/ ,  "$  +',)@7 +  8#L R~$ +  ,048\W@)9FLCLPPx6++x2x"55x11xu{s{x. x--cxc//9/39/39/3339/39/39/39/39/333201764'375#64'375#64'375#'353533565'667#"'34'37#&&'#'74'532655'675#'34'37#t4 5)  A   45P3 B,& $ R3 J$ g +  & +%  H   h>."  %  +  +7v ] P + +0 ) + !+H'@( +#DAA! + +44//9/3339/3330176'37##"'&&''67#"''7#"'&67.'&&'675#"'372 P& 6?$ '  @5.;&  +  &  +3   + + +! .&G @   +   Q  +%4?)@&<6/!////9/33333323201737#&&'#'67#"'34'#"'&'65'674''7#"'& +0G8/E9 9'q' , +C <c 0\j)1_ 8 +  W(&e    +)5?I]3@F[A<[7.[5Q\'$\\//9/333333333301737#&&'##"'&''667#"'36#"&5476?#"'&77#"'&4'732653'#r +Mh>)+  + 6'2 +< ^=  +7>5  +<  %  +1 +  +#       ) ' 05@ #*#** *-&&##*//9/339/39/33333017'&'7'665#"'35#"'35#"'354'37*   % X H    $HM 5 2 - E #@ //9/3332017655'667#"'37#7#"'&(@!=N _  @  `&X=%I1  + +* -7TE@ H 4/ :-$* PMM  @ @//9/333339/39/3333323332017355#"'34'34'37#37#65#'67#"''7#"'&67"&&'&&'675#"'37(5 + + (  - 4(0& ( =7.9   '  8888  # # 8 :;/) j +   + +  T  +=;@= : $$22//9/39/3339/39/39/3220173564'375#53535'4'37##"'&'65'67#"'@O> @@@@  1!( @88V + 22800( +0   + b>8-#;<  <)@++(.&.22+//9/3339/332230165#'664'667&37#'65'67#'34'37##"'&1#. RO .  * * -\586_$ +  +; M"g0I#1=$ *    /Q+@@3",G=C;CGG //9/39/3333223017'67376'7>77&'7#"&''667'65'67#'34'37##"'&  +H  #`9 %  A * * -<  +z +zh   +; -/m-Q&0>! )    15@% +1(.""**//9/33339/3333333201735'7#"'&5#"'36737#37#65#'67#"'g7T  o 5 >#I7NC( @@> l@ .* @BDJB  26AS3@& 3D3D4((8338NDD*8*//9/39/39/333332017"'67#"'&'&&'375#65'>35'7#"'&7#&54767337"U )Q+ ) 82O Q#' Q@P      +& /B +'E77   2  + !Cm-@G-]%33]iKfKOO]]]//9/39/3339/33201737'>7##"'&''66375>7##"'&''66'66737##"'&'65'667#"'356 &"9  +  0 +";0 /'4 0,  + 3      + #M '    0U2   + V&J+6 //8C^5@-?:50)%%))$ H]]DD//9/39/339/33332322017&&''667655#"'35#"'37#37#&'7'6677#"'&&64'37&'5326&'7##  #$ '  : B +&# @  < ' +  ' + $,7C % +% F ? &  A3" +8  !<",8#@5."" & &//9/39/333201764''66737375#77#5>57#"'&E ) + : + 1 + i1=<=;@&'  ;<  +=Z\b*+=* (6 F  #FH@% 4;;8A//>3$**D. 8 83..38 '!/33/9////]q333333333301764'375#75>7#"'&&'34'37#37#37#"'35#"'35#"@hj+1++*-! wT2 O$ AI  i$ @7 ' + .JH< +(" +        :>BZpO@%[C$@&&C7??C<66C,;;CCk^bbCUFJJ(C(//9/339/339/339/39/39/39/3230177##"&576766733&&'7375#64'375#37'3535'37#&'&'#'66737#'&&'#'66 SS + + dY + [b + y[[dw +. +7  h +6 > +  + d  +   I  "X +    + AD  + + $   + + +  +6?M%@G6;->6!--6L6L//9/39/3333017#"'&&'37&'5667#332673##"55'66764'56554'&^ (  0   14:k +   * -%` % q!?CA H  +    )cgki@2 XA5?599XF0D044X&XKiIi//XPe*NehhXU[S[ddX!X//9/39/3339/33339/3339/39/3339/3339/30177&&''67&'767#'77#'373775#37#37#65#'35#'35#'35#'35#'34'3737'3535X ,@7H/  + + "# 4  +$s& 6. K/ @ 1 1/?/ $  R&&&_0  - > = $ +      )!%3@## "  //9/3339/3339/3320173564'34'375#53533535D@C ADAECCXv+ +- n  @@@@FCC AE)@C C22B //9/3339/33333201764'35#"'37#37&'5655##"'&''6'##"'&''677350)- S*  ," '/, "%,v/ / + x q  ),@ + )'<5// %)-1B/@%@!./AA+..'**5&&>>//9/39/39/3233301767'667'6677676677353535'4'3737#"'3(& - + + +) +9 78i@@@@@M?  %=  C  Y77=88>==P)  #"&+@$!!!##!//9/39/39/39/320173564'375#75#64'3735b;I9;z88T5 7 + x23456 L@ L.(L-(L, L+ L'M L@ L L M LMM@ M -%@JM8 i 536i5i+4i.3i,.j$!i j$ i$  '&2+jj,+jjj, ??9+9++++9?+++++++++/+29901+++++++++++++++733#5326''33#5326554&##53267376&##53#"7#3C&)*  **  L;1-d %)!@'"&&//9/39/39/301>'667&37#75#64'3735 9J  ./4 ZV +pZ8O* +)  % %//9/339/39/39/33233220173535'366737#"4'7&'56'54'#"'&'6554'37&'5655#7000Y  9 , +x +/ 0{!!'!!L  sJ ? t ZN + +W + x  $ )LK@# : :%#:7=5=AA:((:-:-//9/39/339/3339/3339/339/30174'37#37#'7737#37#37#'35#'35#65'67#'34'37##"'&'l[ y\ {J - ++ Y + $ G  ) )      , +5 5,q$;=$.># ,   +  =LP:@ NK &&<6BM K6MM6K #/3/9////33333333301765'67#"'34'37#&''34'376'7667#'65#64'375#535#IB4 f JbA7w*   +:. z( **9A +!/70  +-  5s  + .  + ,@":H0 6 J66//9/3301737##"'&'655#"m< +,@ 4 f%"*'@ ''   //9/3339/39/320175#64'37'66'335#73632'#"75!+/ + +" D;@Gh s E[   //32016#"&&6326#"&6632D   5 h3M@ Mj j jj?++?++/++01753#"33#5326554&#PPw @ 8MMMMȳM@ M M M@ MMLMML@4L M M M  ML M@ +M!M@M jj +9l 9l?+?++++++01+++++++++++++++++++++74&#"326'4&##532##53265dO-%$#+[+#!v(*.+1@ +  //9/39/30175#64'37'35> "z +  +;<@ 77; 62#,0;#00#; (/3/39////33333333301765#"'34'37#7'6'5#"'35#'6737#37#37# 6 %Dn+-  * + ! @ ))5 2Z /& Cc' 6 ( 5=  + (  +1<bK@#U/82,"((,, RXGX\\ + +==//9/3339/3339/339/333322301734'37#37#"'35#"32655#"'34'37#&''#"'&'65'675#'66534'37#7h0;.y =  7 X 2!  5 +&  )$&  * *?   B@  VH 7/  + + 9 6 0L +3\9@>' +% +6DD3* 4YWW//9/339/3339/39/33320174'37#37#"&&'#65'667#'35#'67'37'>7##"'&''667#'37 + :( ? &/* ? F  + +E " $ - )& .] +[ 3 8-$/ + + + "2++3    A t,-./01@ (M, M&M%M%M%@MMMMM MMM@ M M M M @# MM M'(M'M'L& M&M& L@ MMM@LM M M M M +M +@ +L M M @VL M M M  MM@MML0M@M@L +&'(% %(L( M( MM@ M M@ M M @M@MM( MM@ M@ M3'L'ȳM'ȳM'سM'ش L'س M&L&ȳM&ȳM&سM&ش L&@V M&'Cl 0 El + / +CC z,1i0i/i.i!-i$ ,j!j ( jj +ii j?+?9++++9++9+++++++2+2++++++++++++/++++3322+++++++++++93399+++++++++++++++++++++++++++++++01++++++++++++++++++++73#"#'#'&&##53#"37&&##53#"376&+3#]"$",ht^LL\A< AFw@M MM ML@ MMM@ LM L LM@ MM MM@+M Mji@M@L@ Mj9l  +@ L +s ??+++++++++9+/+++3201+++++++++++++++7"&546323267&&#"3267E!# *-&2,."%*7t - + M + /3/3/+2017&&5467t769 9 H @ -@ L/3?3/+20177'6654& 9 967 +z7DZ@M@M1@L- M-M+M+L@fL0LM L M( M LML(L L M#/<M5MM +<5 B>  />)/L/F)@! L)"2&Vl,Ul +i 5 &2V,t?M?L? LML@ L&?U,t&8V,t,&??+++++++++99+++/++99//3+++01+++++++++++++++++++7"&546327332654&#"3267#"&54632#"&''26776&#"7    + $   +*1 ?(%-''1%)0"&! 1) v%ĵM@MLLL% @ M@ +M M M M @HM' &!9ljjj%@M%@M%@M%@ M@M@M@M@ M%9t ??+++++++++++++++++++201+++++733#5326554&##532#'2654&##"&0;TBG/  ?/017"&54632    7/@+ +( + 7.7 ##//9/3339/33339/30174'37#37#732673##&75#'667#"'35#'67y.PFR# 0$#50, j6 ++ +'6DL*50% 5&1   B)@1.4,4881 +$1$//9/39/3339/32017'6554'37332673##"5565'67#'34'37##"'&8-.  + +  r * * WJ')E0 + + + Ej,N* /E# 1  + + +  DU;@G9P)PA//P5<2<@@P//9/3339/3339/3332320173653355#&''667&'767#64'35#"'354'37#37655'667s& ( ( +0+ ($  &'# D- K%!  ~* *    +    '  +   rF' # $4>MQUA@"5 5SLL5ORR5CNN%5%//9/39/39/39/339/333322017655#"'35#"'37#37#&'''&'655'>77'6664'375#53535J k> t # -# + +<#  + + -I JJJJ2   7 + 7 KG* +{  $X4 2 L" 1#@ * !*!//9/3339/33017667"37#37#"'35#"'35655'667^(B .* J-  I' H# + K Z  Z I %]#!M!%8%@&# /""/ ///9/339/39/32017655#"'37#&''64'375#535655'667N # =*++g   +  +'3 'Q::1P%Ei")7OC@#A&BIIO=L=AA*  +*F*F//9/3339/333339/3332333017655#'67#"'35#'37#37#'3564'7&'565544'37#37#"'35#"'g5) + + [ ! ++? X /QB g) C 50 * *   m**S,?g +g  S  +) ) :E@' 8 88 '-//39/////]q]33333301735'375#6473537#37#7.''675#"UWfT  WWe4 TC;1 %, I 2 + 8 1 a" ) *!C  +  M #@   !!//9/39/33301737"37#4'52'5#"'34'7#"+  %" Ek!N o7r `  T  . + 6)@-""&& +//9/39/333332017#"'&'37#'66'675#'34'37#76'5655 O o(l! / *%'  " +  + EJ"LUX 2! ( .W  G QF@#4I8)#//"38338NE//339////q3333333333330173535>4'375#7#735##534'34'37#37#67"3&&'#7'6';S*J"0 ". *  1 h +  +%)5 )% Q!!8>8 +   ,24[! + + !  )(C  !/;FPfq|C@x +rmgWfMHB<4; + + +--//9/339/333332323232323301737#37#&'#'67#"'367#"554'&'7#"&54767#"'&'37#"'&'#"&547654&'5667#"'&'7#"'&'Zi JD G3+91 /    + ;  "   +>   3  +7:&.  ? T@   }f + _ + + + <  +  +"26)@+4))" /33//9/39/3339/320174'376'732667#'>5#'5#64'3735< $  % 52 I5$ ( + t$ )[!1846m| + &0@ ".. //9/39/330174'37#7'6574'667332673##"5* ( FB; _ +!  ) 4- C a + T& N " y M@ML LM +M +@ M M ML@ L  MM@L 9l9l ?+?++++01+++++++++++732654&#"#"&54632] !Z+'%-$,(()/0('03 6:>CHE@ "" F@@55 <8D8?? 7;;  +( (//9/339/3339/3339/3339/301764'35#"'37#375#327&&''667&'7667#53533536533519H f5 + 9 0(61!#,  8:798<9   +: "    + S%! !6 %00//30174'74'776'5267655732673##"55'92;  =2v + n+ /: +8 6-  DD  C[&_*>@ $4(4//9/3230176737&&''667&''667376554'#"'&D +  + ;L>8 +#! + 3 ! + ($6   + %#"&\ + Ll  - !@ //9/339/333017255#"'35#"'37#37#4'MI j* NDj" X F F` 8L5@=F++5!!+/(3(%%+//9/3339/3339/332201737"#"'&&'77#'767#"'367#"'36737#37'655'6679 +   & 9 7 5 - J@ &  d      +.       c ##c'H-  ?CGKOZ{[@+tV*PMIIEALAHHD<@@&&**qwow{{aa//9/3339/33339/339/3339/33332230175#65'667#'35'667"366737#&&'65373533535335'#"'&'7&'5655'675#'34'37#P % C!'2 (    + C $   N e" !P" !W .  +  + +%@> O +/ 1 +     % + + QV F 9 + +) + $1@  00#)!#//9/339/32201737&''67&''>7#'37667#67#!  +,'JF$" #3"!  4 >!"7 1 !"14"R(;N  >% <%( +'+@9@ $444)<<42((@4@//9/39/39/39/339/322201737#"#"'&''667#"'37#7&''35>4'375#Sl i R/9 + && h g m +o D   0  "">=3 +  >6 3<L5@1 +E47#*!*EEJEJ//9/39/39/333323220173564'375#267#'667#'36'37&'764'326554'&'7>M: > +)## 6(   P 11F) + " + +u +D"/0 +  + C #M +U $ + + ~./01234I)гM'L&L&L&M" L! LMMLLL)M) L(@M(L(M&سMMMдL@ L  L M L @M L  M +L +M +@ +M + LMM@MM0LM@"MM8L@M  +() LL L6'L'@ M'0 MȴL@RM0M0 M4i3i-2i1i0i"/i& .-j "j j  &)' jj +ii .j.?+?9++++999+++9+++++++++++++/+++9++++++++++++++++++++++++++++++01++++++++++++7#"#'##'4&##53#"37'4&##53#"376&##5#3+~#";TjjnSki +B)@, >>BB /(3(%% //9/3339/3332301655'6677655#"'35'667#"'354'37#"&&'#37#3! c 1(' + D - D)!  2 gQ! '  `%6B  + ) *3 @%h  *E1@((@0=044/+CC //9/39/339/3339/301764'375#7'667732673'#"''37#37#7'675"'35#"pJL *:6#  + %> ) '&B  ! 3o + c|d +O>A + +:  " ? CG ? + +0b=@b99_N=$++(.#=(##(=KU/33/39///3333333333017#"'&'765'674'34'37#37#"'35#"4'737#67&&'7'6'5'67#"'@.= $EY 2 Dk   '-46  *;(= +  g # 3 %" +*  *O  + + + %' *  &  28<#@:-99-033-//9/39/39/32017&&'375#655'667&''667376735 +9#:VW#%7  FQTW# +   *6 #   +, + +r;; +&9\1@17'QJGMEMQQJ#=J=//9/339/333333220177#"'&3667'67'667#'37##"'&''6'65'67#'34'37##"'&' 0  +/>*#+ + n W A # +*4Tc  ( )  +  +[ + E/ $   + &$ #;?&.>! ,   +   *4@ 1,$//32323017#"'&'36673##&7543#"&547677#"'&n 9  J!   ( f R  + +%$ 0'@&&,  //9/339/39/3201735'5#6554'36737&'75#64'37c8 +  g"87j44fk +#  >4 +  3'11++//9/33201754'777'655'737&'5667#'>7#"4 ?76  +^m, (.'!   7 +[%, R6 #.hP>:E&  ,KQjI@"I<]2gQN2  6: 22 A)) ,,//9/39/39/3339/333333233220173535335335'#"'&'>'375#7655#5#5#6=37&''6777677'667'667uZN  I XX Z!    V  =9 &63   + + K))))))v + + C[  2K,%+,2=A  Z +  w  + $- ! /YK@#$$!!6*'6--6 6X:U:>>6L6L//9/39/3339/39/339/3339/3301764'375#53537#37#37#"'35#"'35#"'5667"37##"'&'65'667#"'3zI  KKfh = 8' x H 3 ; 3  *  2n- . E44X + .  . +]2   + h&N.:  LV)@85RCM! CCJJ//9/333333322017'5'675#"'3556673&'37#67730#"&''67&'#74'7#"'&'# , - <8 5 +4U ! +2)* 6+- 52 . +08 #3!! ,0 &:. C    + &9@ /$8 +8//9/332322017#"'&'374'5255#"6554''655'667s 22  " <" +   +   k - hk:/ +FM'@GJ)&&))<#<#//9/39/332332017#"'&''667#"'3737#37#"'35#"7'667'667767'67! +' +#!*- O +cX :/  G SA' + ! 2  2 +1.9  +  *  +p D  D  !< ..i  )-[E@ &!?R9R33Q+BBH** 66//9/339/39/339/3333333017'&'34'37'7#&7677'663555#65#64'35#64'375#37&'= + OP +  +   + +  + VN :87 M !8   +  & $  $ +  Hj'9:<'    ' + /Qd;@# ^PP^F44^:A7AEE^U^U//9/339/3339/339/332017357667'37#&&''667&&''6664'35#"'354'37#375#'655'667Z+)  +  ) +   , +$  +`  & +  +# Q;;: & 0"E  +7    ' +>C3   +* 3 1 $ ( \%Q  (>'@2&&599  //9/39/39/32301737#"37#"74'67336673##574'74'37#7- & z-  :% .  /-j+$  +:"  D E` $ 8 +  CGK`Y@*^TCD'I\\CEHHCMDDC-4411C:(7(,,C@#=#''C//9/3339/3339/339/39/39/3333220174'#"'&'65'#"&54767737#37#37#"'35#"'35#"'34'3535'376'56'5#64/  + ' E :2  I 0 >NNN\LN  +  +-      ) + N + -H '1N#@.%)JGG +%%:://9/339/3330177#"'&37#'&&''67&'767#"'7#"'&67"&&'&&'675#"'37 +>y+  +/$C > >6,9& + + (   $ + $: + + +  + S  $@   ## //333333017#"'&'74'354'6737#"'3. F ) +& $/ T??  96D!  !'H#@+6>E;E336''66//9/39/3333017373&&''667&''6667#4'7267#'667#"'36537Y G  <9;"4"Ke: +5+  ;7  +   7z3 + &(#  #"   +  ,+@, ) !! +$$//9/339/33339/301767#"'37#37#7366733'#"55#'667#"'q6 _HZ) 5 0;2+B t% -d -k2?=.  "*;)@!!$$2//$ +;$;//9/39/39/39/301754'35#"'375#332673##"'7'&655#"'377uED _ + FA ML   , + #" E +F +@R  ] +]!, 2=E1@EA:4,((,,%%# % //9/39/39/3333232017&'&'5255#"'35#"'35#"'3737#67'7#"'&667&,=M R sa  +m  !5 4,'2S +/ +!JX   e   +?  +B +7+@/ --$  //9/39/339/3232017655#'>54'67&37#'357"375#'66&'66(D8 JA )/ 7-/'  UY5A7  5  22M( +7+=f   vI@*"@L"@ L"&1 @&GL L&L&L&@ M&&KJ@& DD--D@ L9/+9////99/+++++29++2017#"&''#"&547457#"&54677'&&54632'45&5463276632e""  "" +i ** **  //3017.''>o +1#0**+ 5J3 3:30A5=] 0IQjO@%cOJ:I6F6::c#**''c0-""cc]gRR>c>//9/339/339/3339/339/33332301737#'&&'#'664'37#37#"'35#"'4'37#&'555#"''&'7'&&'#'66737> . > G6 SL  o, { 8o 6 f + + 4     + )C +  +    C   - + , + +  +  #   +!1B9@=--=#=== + +4=4//9/339/39/39/39/33017737#"'3435'37#"37#"375#64'655'667 +. | I"Rg` ` + c ` P R-     ..N   + 0 +0Rq$O #6'@    //9/39/39/332017353564'375#EwwwuwLLRWWy;c= + + !5?G=@F3A<373) + 44//9/3339/3323333330174'37#37#"'35#"'&54764'73673'#77#"'&7'&z ;]+ H<  '7  +EE % $1 1 b! + _ +    + <FbM@$C>,I  , ,^[[,33,*''N,N//9/39/3339/39/3339/3332330173533535335255#5#64'3&'77#"'37&37&''7#"'&7"&&'&'675#"'37i, /h, / / ,+C f '- +!V6/;% + '$J-30\ +  +  + j    +  T +  ",K1@?)$ 1GDD "7 7//9/3339/32323320177#"'&74'37#&'5255#"''7#"'&3267.'&"'675#"'37d< 5 + E / 0#-;"  &  +, ( l g -   +   R  &+L;@C5 $''5##52808<< 5 //9/3339/3339/333232017&''67&''35#'34'37#3767275#'34'37#76'5655 %#%3/# 2 1 +$ B L  ' / )$&  c/   ,*$ & * (%4 ( 0Y  I +*@  *' //9/333330177#"'&4'37#&'#65'67#"'= E`HA)A=&?   !( 2T .N4ZM&.T  %/3=D_gqO@(ncigR1^I+0>9B0^0BB0^ +4& +//339/////]33333333333333301##"55#'66'#'34'37#332653'#"'&'35'"'&'37#"64'375#&'5655#'6677#"'& ' / 2  0 7)  +,` [ +6 + +  5  z7CC6A + +: u    ?$$Q  ) R"  O + + K" + + ,4=FW%@TC>:51- KK//9/33232323230176554767'377&''67&''66'66'66'66'655'667O D  ; >  $!!*, +) &&)" +/#6* (G#.N    +u W .   +  + ,X  + + +  &x~;# !<%@4%-)%8%8//9/39/339/320175#7'6554'35#'3767'6737#&''67&o8RM +7< N :  ? !#63 , [ &/; + ?$; +K   B(% +"$$ (=-%7//33330173#".''7&&'77'7#"'&655'>7 () +;1 Q$&   ,"2<" ' ;5  /ln&'3!  !DKC@/ EII2''BB -**:://9/39/339/39/339/39/330173565'667#"'37#375#76737#"'37376'7667#'37#"0, + H / +  N 4 6 V  + !%U Q M sRR{$H: " Rb&& +@] + Y I  + +H )  K5@3 ?I(33I%7??IG:I://9/39/3339/33333017#"'&'67&&54766'7355#36673##"75#'667#6554'37! + & aU  +'1)"+T +s_U +nHH9  V]F- +B  (   '2G-@) &&))B55!)!//9/39/39/3339/301737#"37#336673'#55#'667#77#"'&7#&5476673372p n #L% + .$ ")0+M R + + !CH( *)  +6  + 9CT#@@H;KHH 77//9/339/3330177#"'&&'&''>'37#767'67'667#"'7#"'&655#"'377 D  /65+{ Y>  +0$4&  9 % + #$  i) "3Y  + %,0!+  [ + Z+  ")G+@.*FF  #''//9/39/3339/332017&'732667#'>7#'34'37'37#"37#7&'7#"'&''667#  *'    &(H I ^ C +O + # I " j+ /T&<.-8$* +/  *      = +')@"" %%//9/339/33333017#"'&'37#37#37#"'35#"'35#"b Ea.PE l, M<  +6AJ I B z!@ MLMM M! LMML M L M @ M #9li jj?++?++/++++++++01+++++74&##53#"#"&546323265IR  {34567͹.L.M.M. M!M!L!M!@MM MM/L.M,@M#MMLM.--M-L'L'@M' M"M"@ +M-"'(/@M0MLL/ @ M !MM@eL@M@M@ M@ +L986!;li7.437i6i&5i)4i/.3j.-')j#"'&j'"jjj jj ?+?9++++9+9+99+9++++++9+++++++22+33++++2+++++++9901++++++++++++++++++7#5326''33#5326554&##53#"76&##53#"33'#3{+"../+ + + +I9IC,\{0@',L,L,M$M$ M M  LLسMM@ M.- " @`p2"@M"1.-i.@M.@L.@ M.j,%)شL)@,M)%si@ M%sjj%s9l %9l%?+?++++++++++++++++]]201+++++++++++7"326754&##53#"&&#"#"&546323267&&A 2 !)*2 "25 %5-x @ +LMMMM@ M@ M@ +Mjj + jiL@ Mj +9l + ?++++++?+++++++++301+733267#5326554&##53#"( g/' &+@ ' !!$$//9/33220164'667&37&'567&'#'67676(V + 22'| + +%3,+?D C?e1 +6  #08>u3+ + /GQM@$2 NI9) &   G5D599  --< <//9/339/39/3339/39/3333223017353535'374'5255#'667#"'34'364'37#&'5255#"'7#"'&411111 +  *! !  w +%  $!p  +  9( ( [:. +5   | !  +)@  + +//9/39/39/32330173737#"'3547353535DX ;ZZZZZ +  99?99?==".8B!@=:0(#0 0 //9/3333301754'>733673'#5'6'3#"&547677'&7'&O ' 3" @  I&-  7 L + \ s9D .V + x% + p 4 +7BN7@IC6# (6,66(*&##=(=//9/339/3332323232017&'66'&'66"'6664'365#"'37#375#7'>'#"'&&'a$ + $ !&& + m@ 3P7 %'0)I+$)*bE   + + =kfJ:& $;"Y    ut !"#E@ MMMشLL LMML@!LM +MM@ L MMLL%L MM ML ML@3 MCl# #i "i!i ijj jji ?+?++++9+++++2++++++++/+++++332299+++++++++++01++7#'&&##53#"37654&##53#"7+A"+$;bFE{3@,@ L /!@ M'& @M@MLM5M@1M@M4-/j-,j-!jjjj &9tjj ?++?++++++++++++++99++01733#532655#33#5326554&##53#"354&##53#"m,;,*;*II@@ ;=@74"" :  ,,//9/339/3339/3339/333017353353533564'375#37#&'65'67#"'35#E45x45w  5Df*=<%D;"8 f4""""($$$$98 F6 !/F'45!2  ;/@ +//9/39/39/39/3320173564'375#53535Kk{i +kkkkD77Z$-  33922 +!(J3@&"96<4<@@9 ,9,//9/39/3339/3332322017#"'&''37#655#'37#4'7'6'65'67#'34'37##"'&&NY f  +1 w F +* * ) Y& &a o w +] -%Dl+K#->& /  + 49OXc5@$YT/P@O +51//YY + +)Y)//9/39/39/33323332017632'75#'>'373&''667&''37'67'#"&547654&'5667#"'&'7#"'&''- ,  (".* + + W +Y  ^$ $L" 1! 1 ,)&   ( +'"Gn$  b + 9 +   +)-M=@ +++* 5M +MM +17"4 1/3/339///33/3333333301735'5#'67#"'365#"'35#"'37&'73564'37&'52654&'7#Q%,& +80 - + + \  #00   +  +1-o(>#+4  2 +  22,- *  C!//017'66767&'7#"'&''2670E+6 J[ 6 x  J 4K(!E!-   K6+5 (:@ %!:://9/39/332201737#"67&'7#"'&''667#"'37#7&&''667?[ Y +X "1F +(. v "6 +=(59$"<q l   + 5   +), +# 5E& 6R\?@YKT!!.+%%NKK +1 +>>//9/3339/39/33339/33301734'37#37#73673'#&75#'67#"'35#'667.'&&'675#"'37'7#"'&p!  9* 8  8, G#  0 X6.:$   &    + +# +" ) >CD< )*     +P + W  +  :\?@A#4 488U)/&/33URXOX\\UU//9/339/3339/3339/3332017373&''67&'#76765#"'35#"'34'37#37#'76'555'675#"'34'37#g`  !%(*    +# D 7 + ;) Ia#% % 0  , +    #   # !zY + J0 ' '  /<F=@ ,,=!' '++==599<=<//9/39/3339/3339/333201765#"'35#'767#"'36737#34'37#37>'37#7#"'&'8 X-  + 1 Ln - <0 g !" "   +  + "6#>S _H +   +(2O%@5KHH* *;*;//9/39/339/3201737#">7#"'37#"7&'7#"'&''7#"'&67"&&'&&'675#"'37bW\  +$ |[Y4# G =7-;% + & y"    + + +  + +Q  +BA@"( 5599(4((+%/% ( //9/333339/39/339/33323017353565'67#"'35#65#"'34'34'37#5#37#&'#[III&GA: l :I<JeG?"#5<2 #.   : 3  4@$37;EP[oY@*XmR/MmG/Bm'>//9/39/39/3339/3339/33332017'67#'377367&&'4'7#"'37&37#37#37#6'5255#'35#'35#'Q/+ 2 P + ( +"2 #P s  4 +# +' 5% 6 ) xS-7K +$/R#   + +! + #! 26)@*4,,$ $"33.$.//9/39/3339/320174'37##"'&''667#"'3'375#6554735v # C"  >X  !   & /& L +   (:5++//9/32017667&332673'#55477#"'&7#&54767337F +&(  +#R  ^$ H  + 1  +.!^ ] +  +?    &GN+@:4E*.B*HH444//9/3339/33333017"37#3&'#65'67#"'35'6637##"'&''67&'67#"'36674F_88&G> 9 j(!_Ad= % +&&\T") + - R    +#-'  c  +     +#E@ -*0(044;-;//9/3339/3017667"77736653'#75'75675#'34'37#76'5655d=  -3 S$  1, +>Z + %$%  +OO !SMT +2  +( . P + HRW\`J@'^:Y]1\+LL/IR!!OS]]:]\ISSI\]:</2/9//////]33333333330164'37&'532654&'7#'4'376737#375#65'674'67#"'35#"'36735#35, + +! ,f + 6 +) 7   0 < 9 87/72|/ +?#' + DȽ  +     +BD    % %S &$$  =GZA@D? +))-55VSS;;00//9/339/39/3339/3333301735'7#"'&7375#732673##75#'667#64'36'7#"'&7'6'5#"'37}KS  +< +     '.$& ,'    ' 66>   2  H M..-+< (  + %   +] '@  %#%//9/39/332017'6677#"'&&'355#64'37b +2 $<(_kkhJ<1#&[[HL +   MWsO@%TCO +< C + EE@+ + +"  -  7 HE #  +*!.:'g |4 +2 P99 "9 & (]   3E!@4. +8@@%.%//9/33232323017'6674'4'7257#"'&&''655'667737"'7#'66x  +" w : + S +Wh 0 / w  V  +!i +.[,AK A )%@  ''//9/339/33332017655#5#5#64'37#"'37#37&'+ ' '2 I i[  u +*f .  +$ +t + %.<@ &)! :5://9/33232320175#64'37>'7#"'&'64'2554'&'FEv&.J2 +M !V g + 235 +*'?C [ V (   f@@ @M @L @ M @ M jsjj ?++?++/++++01733#5326554&##53267I + +I +  y + .26:OSWa@5U@QTFP88*40073!/@o777@TP*7//7*PT@ MB# /33/39///////]qq3333333333330177#"'&7'655#"'37735'375#6473533535255#64'37&''3535"!   (j.whi . .i. SR.SSS +  _ + -/ + ) * 3#J U_ ,04W?@%!72##7.117)--77W:T:>>E7E//9/3339/39/39/39/33220174'667"736673##5#64'373535'4'37#74'5655'675#"'x , &; MdEC[EEE +"$ ! C $ +   AB + ""(!!q( ( .U  D 4 +C-@2#++##0@@#!B#B//9/39/39/39/33017353567&'7#"'&''6754'375#54'374'775#6.5555( 0( 45e.  0$$*((u     ~ @ '#"'&&'#655'667m2  ,*3  7$+ %&  h   +  0?E 47  +  t8'  + p)LLشL(M( M"@M(MML +M +@ M$## M!@"M!+#(#$Kl j#Kl# s# Il?+?+9+++9/++99//3++01+++++++++74&#"#"&5463232673#566766]  ; ] +  #+ )-19@/++.%**  + +//9/3339/339/339/3301734'37#37#"'35#"5#'664'37'35335gCe/  NF - := +  S + 3!+2 + ''''"049?@% 7--255 1100//9/39/39/39/39/39/3320175#64'37'3535>'374'5655#73535h+*8+++ 7";-O::;Y ^ 11733$&[. + +    +=$/55;3 //9/3301767'37&''67&'#"N'" "<5(-IE*'  F//F +K0 +.-7H DZ5@  o/?O?]]]/017"&&>32547>#"&66326        ]3)@/,$$ ''//9/39/39/333201764'375#53537&'7667#'667#"'365?jll:J M41,-+ Pm, + 1 K::S G 34* (/  wL @ +ML@ M @9 Mji@L@Lj +i i @L @L + j +9lj ?+?+++++++++++/+22+01+++7#5326554&#"'73&&#"33Y4   _  +  +&&   +:G\=@B;1P[[#  )&711//9/39/3339/3339/33301737#37##"'&''667#"'35#"'345#64'37'>54'332653##": , /! / )GD E'&     ++ -  *4$ - $ QtqH! + (5&  (:n5 G     :D`C@A9<2 G##2\YY2 *9920L2L//9/3339/33339/39/323233017353353357#"'&737'67#'667#64'375#'7#"'&7&&'&&'675#"'37j  c = +)RK"B"%jC "Y3.;# + ( ------h +  4  +F>(' + '  I   +   +T +  +,;?UY]aS@'C[^^#WZZ#, #QVMJJ#=::#' + #1<<#//9/39/3339/39/3339/3339/39/320174'37#765'275#'77"'36737#764'375#53565'75"'37#77'353575? +"((" + * + "   6U: + <<Z & + } $ p<<<<7#"'&6/// /-M  X 1 -a)U3  :  W 5 &3 + '#!. 2 +  L # '   +$9 +"XS=   *! +"11  + \a~C@b! !L1I1ZW!!jf]]uu//9/339/3339/3333333301767'#"'&'7'6'37##"'&'37#"'&''67&'67#"'3675'67#"'3467'37#&''67&''6K  K Y* 5   +  #0. 0#% ;Q' 9 !.. +=  +  + +  +.     +     +) $*:'"?E  J$  "/8( ;7@9)&&&1&00&' & //9/39/39/39/39/3320173564'375#'35265#'>4'375#37&'h5C35' + G##<&    !!X+=;=2 + + ! ! B + .<KV?@Q9L,JJ%A%5<<99%( ,,%%//9/39/339/339/39/3330154'37&'52654&'7#'35'3&&'737#"6737#"'64'375#'#"'&&'-  .x;Z; +! a =  v 9 + ; + AGT22f   7%    y0 + 3    + 9C@1 33)99#''55//9/33339/339/39/39/332017353535'67#"'3&&'736737#375#64'LhhhhhKF R )  + 8o +Chr & &""R +    b  x  (4G=@E-)EE + +E( @E@//9/3339/3339/333330174'37#37#37#"'35#"'35#'667'#"&547677'&'6554' +? :' M 6)   +U     6 47 F F 7 ;    +   +&*9OlX@0$ E ?(8/'Sj ??8'?8'jj'8?lMAU/3/339//////]q]q333333333330177#"'&7'66'37#"65#"'37#'3564'375#55#64'37&''4'37&'532654&'7# , +Kc ] + @ +)"7D 6  7.e  c +   & + #  &X +     r  +1  rZqF! + X  +<"@Wp?@Nc2Z +G.V.''D:22 + +**//9/339/339/3339/3332017737#"'3&&7&'7#"'&''267#64'367#'74'34'5#374'5255#767#"'&''67&'7i I r +I +  -  + <?5r 9 O T       +K !+ + # .( +/   + ; @f  + +  +   +!+9@G?@9' "AEE:>>/6633! //9/3339/339/39/33330174'37#76'5255'675#"'7#"'&'37#"'36737#"37#";  **, " " p g + m M[V V !} ( - .T B 2 6&  2 =  .8}o@5sNY94 /Y' ||Y""&&Y!!YY]VEaBE YKQHQUUxYx//9/3339/333339/3339/3339/3339/3333232017353535'3&'737#37#37#3767&'7#"'&'65'667#"'35#"'34'37#3&537#6677#"&''67# * 4**,# % 9 8 R +V  !%FE@ ?#?""? ?KL  ' : n XXi9)1 4R + M  NReG@!S:>8%%ZAZI G ZPaaZXOOZ//9/39/39/3339/3339/33322017353357"375#37&'5255#7&'7#"'&''75#64'35#64'35#566'35>'375#g' *0)*9;? + '66'' $G}h0   / .  B 5  /09^  168 -`M@$D`:NN`# #''`5W9WTT`0]4]ZZ``//9/3339/3339/3339/3339/3320165'675#'667"'36737#34'37#7737#37#37#"'&&'77#'667#"'37#"'367@'    " 8 (,-o + @ 4U 3   2   & + *%+  + ; + ( +, * "    + +3  * )2@ + !!//9/33320176676554'36'37&'52'5##"'&&'8"N? +=  #@5 +&j6%a! +   ~  # 4'+FMC@$GK(1&<)&&(( + //9/3339/339/39/3333220174'37#37#"'35#"'64'375#535#7'667'267767'667 +% B U 1 D  GGE 4   + + (  . +')J) " -  - : ) O99  $9 ( %m  *#@%  //9/39/33323201737#"37#&'5655#"'67#"'&&'+ (m!L 6 + )*n&8n  d1)/ $ +&J%@C -J@66-!!--//9/3339/3332017376'7267#'667#'67#'66765'675#'66534'37#T  +6)', 6/ : # !     "  + {) +{FKJ>E,59!;n AF <6  0 +0 #:@ , 00//9/3323220177#"'&37#"'6677#"'&&7&''67&'767i  h > +,&H# ++EC"*C>(  ( ( +  +' + +%#$0+/ + +"]t}?@2\~y\uet\\O\\ ;;//9/39/3333332333320177#"'&37#"'677#"'&67&'7'655'67'66767&'7#"'&''#"&547654&'5667#"'&'7#"'&' I  % #@! %   &4 % 6" # &7 +.F   <       B " A 3 +# 0&   7\ $ + +U :   7NO@%#BIIFFN=L=AA+22// 7&5&**//9/3339/3339/339/3339/33301774'5655'675#'34'37#74'37#37#"'35#'4'37#37#"'35#'F  $ ) (U + :. v =! 2 <,  M& eX J0, )  ! " +  +d  5  5 !YG@!> $377$S,P,00$$Y'V'++$ D$D//9/39/3339/39/3339/39/320175'35#"'375#736653'#'4'37#37#37#7&&''6655#"'35#"'2$ C2* + 1E , 8 .Y%K;  # = -=2 + +0 >$ + + ) ! 1  & G b )  +*FP=@MH +- +## +B?? +)&2 +2//9/3339/39/339/323301735'5667"37#375#64'35#"'37"&&'&"'675#"'37'7#"'&tQ0 .: 1P Q ) KU X5*>$ +  '#W22] -& + + 2& j    K + V   + 1'@1!-!%%))//9/39/333330177#"'&7'655#3"'3774'37#655#3"'' '#  )  +X- L3  + "- Z  C D [X }-t@ M@ L @L @ L M  M%@ +M% L@MMLM L'L'гM'سM' L%L$@!L$ L L$%&' MLL/@^ M.&@L&@ L%@L%@ L& %$%<< y ' &;;x')j'##$i#"j#jji@ Mjj ?++++++?++++3+33++++++++9++++++++01+++++++++++++733#532655##'#33#5326554&##53373#"p+"  --@"#**''"" +//9/39/39/33330177#"'&377'6'5#"737#37#&'354* -*') | ,M3 C  < [#1 + +\b Fp2  <3@3& /,6$*6::51////9/3339/333333332017'66'66'>'3565#'67#'35#'37#37#    ' +1 +-(%%7* , l ' + * )/+5){DD WU*-OD D [ 1n@P28hh5{x">cc;g 'C@b~I]F.+NTTK$l~lg'b~++~b'gl Qs/3/39///////////]93333333333333333333333223330173535'37327&&''67&'767#'77"'3745#"'35#"'35"'35#"'35"'34'3737#5#37#37#'7'655#"'35#'6737#37#37#P  - 4-#       % * #  + +     +0 +7 + "  +/ +# + +"7 9  &1 6            + +   5 (*: + + +( + "-B'@"&&B77&//9/39/39/3330174'7#"'3737#&'5655#"'7&'7#"337'7#&5476673z &R s .Hl  N r H   + G " !@< k     3F_i7@T!f`P_L\LPP!!($8!8//9/339/339/333323201737##"'&&'#'66'66737##"'&&'655'66774'37#&'5655#"'"'&&'? 1 +4 h   4 3 p + + +h 3 + !;  +  +    %  +" + + +\J +A -   ^ \   + + 0+@- ,(&&   //9/39/39/339/30175#64'3735&'73267#'667#'37#37dc zd  \  9  Y -  + - + 334 7 $  %)@" "!//9/3339/33333201735655#'667#"'35#"'37#37b>>$+!"' H 9 KKQNF+96- K K +7'@ 7730+7+//9/3333333017#"'&'#"'&'737##"'&''667#"'3665<#& + { +;d3. >>'+: N p  -  +8!-! + #!  *& !M)\=@6N0N**ME99 !'--//9/33333339/339/3333301765#'34'34'34'37#65#65#65#64'35##"&54767337'7#374'5255H" 3%$4$%111P +  Q0         FO-@C?;7%)L%L//9/339/3333323201737#&&'#'667#'367'6677&'7#"'&'66'665660g ]2+ &(%$" ; O ) .  +z  B5* -' B5/24 +:G*8W   ! #  +  (&  "+ "' .8W%@K5,0=SPP,,CC//9/39/32332017664'667"37#"'&&''67&'767#'7#"'&3267"&&'&&'675#"'37L4  K +  ! 0+M''")$,:$   ( + 95 ) +! $!  I     + + Y + +"DM@$ %2 9966%%%%->>%D(A(,,%//9/3339/339/39/39/39/3333017655'667735353535'6'37#3737#"'354'37#"'= + 6MMMMMMM2- M#   % # $ cH % $$$   +   o  (GK8@#I H3+#H++H# (/5 /3/39////]3333301735654'375#67"&&'#7'7#64'376'532654&735FWE ,*' ++& >#"   +0F&& >  6.[> ;  W&&x-M#L@L"!" )"@ +M"/)M)M)M)M)."L"M!L!@ M@ M@_ M@L@L@L@L$%j!"i!j$9lj j@L@L @L @L$ 9t$ ij9lj?++++?++++++++++++++++++++++++++2329/201+++753&&##"326553#54&##33267#5326554&#b   +  + f"> + +; K' IO3@6%#OL 3909==**//9/3339/39/3322230175#64'37357#"'&'#"&''67&'#"'34'37#667767t2. G2L +>) 00] } 3T  + kpr( , +11Y +   !"!O  G ',+  DA@'))   <<99 B ? + +//9/3339/33339/39/39/3201735#35'37#366737#375#645'674'67#"'35#"'34[VM VF .  5_D V!%V _ AI!'%% +$ % (&  .    $  + )NWaepy_@-zuqlfLS +Ob% +5H2HLLc_8_GG + +X>bb//9/339/3339/3339/33333333232323201734'37#&&&'#'667#"7#"'&''675#"'35#64'375#37#7'#"5&'76735#35&547677#"'&'7#"'&'7#"'&'v,% < ."!" @E--  * ?   +0.L  !  A + +   9 +> 7@  @8GA>BB  } ! 7 . +  j  * 777    +      +/--//9/323017&&&''>'#"'&'377'655#" )&0$*% d + $).. J` M6G07V4  Q P*5 T (,Kl5@; *'' aLL ))  >JJh h//9/39/39/39/39/33017665#'66737&''64'375#5357#"'&''66737'667##"'&''66737'66714 1    P + 0  2(+-3   0  +B((;$l7  p#9 * S88"   &  " + U  + ( 1% +),1"%@L +0 + +  + /2/]201+74632'6654'&  + +    07CO@%?8)% ,,))  0055//9/3339/339/39/39/39/3333201735353535'7#"'36537#3737#"'34''67#"'&'RZZZZZZZ98 ZD d+ 7 ++/J -X  + d ]s    + #@   //9/339/32330174'35#"'37#37#37#"'3@ +2= a1S= 1m q O^  #26=1@7!))4 /33 ;;//9/3339/39/39/320174'37#&'#65'67#"'3575#64'373537#"z E\#=;'D>$9 ;dda{d  1 + +1* 12 w $A 7 ""h +*4EIM9@1J,G&&KFFA>>JJ//9/39/39/39/39/333017&'5665#'66737375#64'7#"'&7'6'5#"'3735'35! + +Y  U}*,H !! (<,,,?\ 0e%:   IIa  + -Y + "00+%% 6A@ =7%11,,//9/39/332017#"'&''66737'667375667#'66#"'&'n  '1  M  SJ1T$8 + N + 2b38[$S#01    +  + / + &&; + +4"(,#   +)3U#@/E*>;A8AEEL>L//9/333323301774'776773"&''67&'7#"'&'675#"'34'37#74'5255c* 0 Q   +-!! +E ' 1 )$&#2  )" -' 6H + r2 " ( .V + Gp8ٹ7M2L.M"@<MM/ LML@MLL L63'- @M 3--3@. M:6Il@ L06 *0s0 IlIl 0s0 ??++++99/++9/+9///+901++++++++++++7#"&5463232654춮&#"#"&54632p 2   wg@MM  @.M @ M Mli Il iItjj ?++?+++++2/++3901++733#532655#5733#'35\ B CI +9:!ts`ZZy !@ MM L LMMLM@ L +MML@ M + L L M M @ MMLLM M MM L@ L + @LM M#MȳMгMM@1M !i iii  + jj i jj?++?+++99999++++9+++++/+++9++++++++++++++++++33+++++01++++753#"#'&&##53#"37654&+3#U$)%+7[urp'@ MML L LM@ +L% @ M " " @) M) %#$i!#j !Il !sJ!t! ??+++99++9/+99//+301+++++++72#"&5463232654&#"'73#66E   RH +r   [B{!".w(M!L!M! M! M @?M% M) M)M L #' +0M +(M + M +M +M +LM@ L + # MMML M L L @iM 0/+9l"ijjj i +j +##@L#@L#@L#@ L#@ M @L @L @L @ L @ M #9t ??+++++++++++9+9++++++++++++++233++++++++99+01+++++++++733#'#33#5326554&##532'32654&##"q!.9G JVHV /NY#@0#..P;99P P//9/39/39/320175#64'37'>54'732653#"65'667#'37#"'&''7#"'&HEB ((" +  #s!) > + +  Vrl _ +  %3% .>o1  9  b8   +b   + +#49BK5@GC5>:5%55!//9/339/39/3333320175#6554'3767&''66735#37&'767#"'&'#"'&'/ +5l5(##-6 1 +./ + {-     `M +!   s -߹) M L@ MMLL M L +@LLLLL@ M!+M M@"M/+ (Ils JtIl ?+?+++9/+++29/01++++++++++++++732654&#"72#"&54632#"&547454&#"66 "H!  )'.14 + (;BXajP@, ]f<@Y66+ @++@ Ib/3/9//////]]3]33333333]01764'375#5353537#"77#"'&7#&5476733737#"'#"&547654&'5667#"'&'7#"'&'gPRRRR  ;9o nmT Q    D  H B  Y%!!C  + . +  + + !d  + Z  >  +<GlG@!6Cc=J'J`J#:#''JT``JMHiHcc2J2//9/3339/39/3333333332017#"'&'67#"&54766'34'37#&'#65'67#"7#"'&'4'77336653'#"75'67'  "  +k Ea%>;&E>9   R   @5  + 5FE!3 +- 0< !.8/ + !  7 +   ;?!%7 YwbVl/+//01753oY  @)@ 33;;*''>>//9/39/39/333201737#'>7'&'275#"'34&'77#"'37"37"'7#&'( O  2 U +'Q s  < : '=; #;EC   I  + +  + M !%7+@5#33)""  //9/39/39/39/320175#'665&537'7#"'&35354'375#65 ~h 9`^l\^ + 1:#F!  + + &  + ++^== + + 1  +/\?@D S:P:>>84WW(//,,# KK//9/39/339/339/33332220176554'655'66777#"'3737#"'37#37#"&&'#'667#"'365#'66b0 + +u$ D  + +f < +0' <$'$% 4  VK  X!*F?$  & +" +  + + # +. )  +*    +8V_ju7@; rlga]WC V?S?CC } }//9/39/3333332323230177#"'&'37'667##"'&'#"'&''666'37#&'#'667#"'&76677#"'&77#"'&'7#"'& +'/-&+ +  `$ ;.& + % C + ] + +( y +     6892   + +  +  B/. + ?  #7'(&& i  + +  (2<RV=@8S3D/)Q% QTQQDHAASSD//9/339/323333333301736673##"7477#"'&77#"'&'3&54767#"'&'64'367375#535K +>  K>  *> +(mm<  )   + + + .! + 2 H:: &F%@$ 2 +;5?522**//9/333232323017#5>#"'&'77#"'&7'665'67#"'34'37#&&'88C2@6?J 0#I@"= jNd$?8 +&   &$7V>,>#&@   N  K SXryM@$."svT]hH H PTTJ6N633=D:DHH&&//9/3339/3339/33333323222017667"#"'&'7#"'&'&'567&''667#"'367#"'36737#37#37#67'7'667'267767'67^,J-." -  > &"#1- %" . R QC _8 K + =7 + + + ) , +=/  +  + +{   *4! + ! !  +    + ; (  ?O  @/@>&7$7;;.,,//9/3339/39/333201765'674'67#'36737#255#'34'7#'3737#&'O"  + :STz,C H_ + * Jmc +Z# +   1 + + =  +-8?GSkI@"[N+HD+@5=/!' '++ 9==__//9/39/3339/3333333332201765'675#'77#"'36737#34'37#?#"'&37#"'667#"'&&'&'567&'7667u'& +%  # + +8  &&2` a  3  +( !!75 +  ;'' +2 %  + +9 + ( + +  +    +.+  # "-'!  ',N-@($:@@8DDD0= 0/333/399//33333017&''67&'#'664'667"376765'67#'34'37##"'&&!00 . + -H +Q  + ) ( +x7$  %##%18.CG% ' ++ -m-Q(0>$ )   + AEIMU@(077=+:+//G@**CKFK!B!JJ  44//9/3339/3339/3339/3339/333230173564'35#"'355667&37#375#37#37#"'35#"'35#5353573521@ a41P  Bd126 UK m3 T1111 2[-,   + *    G   F3@' FF  < + +//9/39/39/39/39/32017353567'37#'66373&'567&''67#64'375#V```T^ +s$N  +(: 3'5AF%$*^  Y8  +",t  "'+ + ! 'BcI@"cH]HWW" + +'% 822ZZ//9/39/3339/3339/3339/3330174'37#37#37#'67#'365#'35#'32654&'7#64'374'4'374'5655#65#64'P 4 ,! +; ;. +- ? .!  ,-  $47 98 + +  +$ H$eD    &  . + *<?D+ +@/@  @#=#33 7 7//9/39/3339/39/30174'377'6773535675#74'376'5667#'>7#"'#10< + 22222s( +!*/(   +  006..h+B. + 2 V6 ,B:6%-1$  +/CMZho?@UNJDm37_ffimm+ cc//9/339/339/323323232301737#'&&'#'66737##"'&&'#'65667.&'&&'7#"&'&'737#"'36'37#"> ++ :   + i 1 9   6#(6 )*)L  1 +E +2 \L L     3      0 +*   6   + +  4  &59HL;@J??EII744+66 +$$//9/39/39/39/39/39/320177#"'&37#"55#64'37&''64'375#5355#64'3735i d    +  gT WW<: P<   Na; +N + f   )[ " !!";A^5@QB6'<JF<blxS@'+PtnfkE8<<P_EEP3";"77P(.%.22PT\\P//9/39/3339/3339/39/333323230175##"'&&'65'67#64'35#"'34'37#373533565#65'66737#7#37'>'7#"'&&q $ $!   7  6O >  ' +* :,/,$#  {!    +-!-1,$/(   +  &&&&>>@ &@ +4  +!#  !@- "7! M  +   //0177".''6676&I % +5$ " 45-5  !!F  -.".I"#Q3  '6AML@(7,5 &" &&5&&5=I//39////]]3333333333333017373373733777#"'373737#7#64'375#7'>7#"'&&T- +h- -  3 d +  ,ik + m//)"24 +!  * + ) + ^+ ++ CA2 (  '1Z?@P,7($74?U?CC>:77FF//9/339/339/333333320177##"&5476733&&'737''667#"'&&'35#"'37#37#&'5655'667#'667  +Q  +I + + k ?, 9 Q: n #" A:&&5 >   +  + +    + >, , @="' , v@MLML@ MMMLML@ + MM@ M M/2/3/++++++++9/++++++01'7f )=GQ[1@X;S'N;H'D;?'1<''<<//9/3323333333017&''667#"'&37'67#"4'332653##77#"'&'&547677#"'&w (/>#4@+: =i  +  +H  +9  Iw  ; + 0??  " +\% D    / + ' +%## //39/33017#"'&'64'737&'555#";:885 A=,%9SYYQ]59]]95HV/3/33/9////333333333333333301764'764'37#'6677#"'&4'3737#"'735335335'65'667#'34'37##"'&f* > + cS   *    & +&\@ = +WU Z + 3 <  + y? @  DDDDDDD2e !T!4 1 + +  + '-8K@ +>+! !%%4G4//9/33320177#"&&'#7'6554'667"37#'3&#"'&''655'667 %1.( 6% B4 0 A ' :)U j % &17!{   t& i$H  EjU@(H3 8 ""P``>fOOAAFii WW//9/39/39/339/39/3339/39/333230173535335'375#375#67&'7'&''675#64'35#64'375#376'7667#'66735#CM% &\A($& @2 +!&%#k<"#  % !+ %%Y((((g + $ + +  /  + + 0/ +(  ' + ' - + 0(  % # 2 @  //9/3330174'37#&&''>7#'uJp +50!0 + :1#0O5 4%K  F&=;.'#"'&&'F  + %  Ye d: -F2 "*,+  + " +h +m E   + =kfK0+ $;"Y   +(Sir}7@y'sEn'jZiN''EJA>ANNE//9/3339/332323333016554'''6654'332673##"7&'7#"'&''667#"'3&'737#2'#"&547654&'5667#"'&'7#"'&' 6%Q + '- +   ?0X  +"   $J"@ +Ar ++,'B +H   +  +    +"a% +Z ;  +  ",?)$411//9/323017#"'&'667&''67&''7#"'&655#"'377 +   $(!&47! B  + $.   L&A'7 ) %*%7F +  Y Y+" #@ + +"//9/3332017376'767#'>7#"'36'K + !M.)"-2 T K3"c$9178 0 !:'@) ..//9/39/39/33220175#"'35#"'35#"'373&54767&''>767p c p  + & AL32!, "  + +   +_ - + S6/  +!7$  '+AHSA@O#IF(B2A)$ ((##//9/3339/339/332333320175#64'35#"'35566737#37#35'#"&547654&'5667'&'7#"'&'W&$ E14 5 R# +oWt   @# <*4- 2 3 - +88MU$ + +M = + )159=A7@*-;? (?37:7>>622//9/339/3339/33333201764'375#&&'#5667'67#64''35335353358t +',! *)&$!2B'Xg4 6w4 6h1 +, +  0 +'0 16 8"~$ڹг M$@ M$M$ LL@ LM MMM @MM$@ M@ML@,M&%$<<x#$i#"jjj  jj#?++?+++++33++++9901++++++++++++7354&##53#"#'#33#5326554&##53e(L(,u !*=DVbi7@gc]W!T#IETT#>BB#8--L#L//9/39/39/333232323201776767'667'66777#"'&7##"&76733737#"37#4'5255#"#"'&&'''6: +& '9 " + %/% , _ ^]H C qB  Q' = !% &  ( # B +   6   +  MJ  !*#  '@DHWc@<( ?&FSBEJA????&SSSSE?&SEAAES&?L9/3/9///////]]]]33333333330173535757667'37#75'675#37&&''67&&''3535'375#64>/////+ x 8  iM   !  :lll{jlm    M +/ [ +"  + m* 1 + - F/@ ' *55 F#9C#''= =//9/33339/3332301655'6677#"'&'54'37#336653##55#'>7#"'3#  h&& 8 < (  k!G / j +  + ;" 7 sz$7++8" "BzS@'n%%{(%%rlOlhh //9/339/3339/39/39/3333333201737#"'3&'35'375#647#"'37&74'555'274'7#".7#"'&''67&'765'74'773&547677#"'&77#"'&'7#"'&>  O 7 .<-.*) K + *+ +( +  '$   !   + , aF    ;   +@     +& + $6   #! +  % + + $ +  + + + + + )S_j~_@-2{Df{`DX{TDp{{2GDD2MJJ2%" 2;SSPP25,,2//9/39/339/3339/39/39/3333333301766737##"'&'65'667#"'357#'66737375#"'35#"'35#"'#"&547677#"'&'736673'#&547#"'&&'*   %   /+  '  %C d9 ZC  -  +P + +/  + c$O'6 -&#  %  + + 3     a + +       z%@ LLM L@, L M  L LML#@MM@ + +L@ML@M'&jj j j 9l ?+?++++++++++01++++++++++726554&##53#"#"&554&##53#"A$, +ttuu$48%@ +633+)55+//9/39/39/33201764'375#7'>7#"'&&'64'375#5355z}5*05"J  ^]^^, . +OME !+ 0+ +p!  +  7(( ,048<E@ *#:6' 6.25299-11//9/339/3339/3339/33333320136'5#655#"'354'35#"'37#3737#6''3533535335v *4= b4 - O4 5v4 5 &B) 8" " + W0 ))))/++++ %0KU-@GQL-'1 1//9/339/333232201764'367#"'37#375#7'>'7#"'&'67&'&''66&&54767s q B 5  L-!@5&   *  + "<     BdcB4@1; R @  #  + 2 Da"! !+?F^1@:S<]'D"<1<<@DD//9/39/333333320174'#"'&'65'#"&547677#"'&'4'34'5#'7'37#"#"'&''67&'7672   m  &ba   ` +    +  4  { dY M   + "" +)A/@-5<<99*0?044  //9/39/3339/3330177#"'&65'667#"'37#"'&'734'37#37#"'35#"0% # E + 5 + >){ E   +)E5  +   a5% H h h-!@'"#'' ""( (//9/39/333017667#"'&&''667&''37#37#'754'Q!  $ & ! #" + ! &   #'J1@+//  *%?? E$$ //9/39/339/3339/301737#"&'#'67#"'3655667'355#37#7'74'75#64'37,F2 . TJ + 4#6 + 2 *).#   1 ^ +,Q^%.R 77G +, 1 B Bf  + ? AF+@1) +B>// //9/339/339/3220174'37#375#'66&'&&''67&'#'664'67"37#67E +H#  $ ! (# -@ @I +Q  9 += ++ 4S=(%>` + 7  !"8g.L?"  ' +3- 1MW7@T,O%4.%IFF%"((,,9%9//9/3339/39/333233017#"'&&''67#"'365#'66734'37#377&&'&&'675#"'37'7#"'&+ 58* H%  # :0  "V5/ + +   R X  %2_M@$ 0 ,&&00T TK\H\33TTNW[[TCTC//9/39/339/39/3339/39/333301737#"5#64'3735#"&'&'36737#"'#"'&&''667#"'35#'66737#37if b d?= + U?F  %U  y   /    $ &  .# +. + + 44N + ;( +5 g   + .8  9+ ! 9  &18lS@'j +62-'g"bJ@c>cggQQF^C^bbQVMZMJJQ//9/3339/3339/339/3333332322201765#'>4'67"37'#"'&'#"'&'''6255#'35#"'367#"'3&'737#37#37#4' %*  1   : 3  $ 5 I / 7  #  ; 5o\5SA8%-D+ + 9 3  + h   #?#   +    # F qHM@$M @M @L ij + Kl?+?++/9/+++301+7#"&5467#"'73q%2 Z"A + 8C* "/#@#  *(,,*//9/39/3332201767#'667#"'3645376'>'37#@/&%$ ==  +$L>;:6   G' ;`, nE*2=XI@"V:4C0+C% OIICC!((%%EE//9/339/339/39/3333333201735'375#64'7#"'&7737#"'36'677#"'&2'5#64'36737&'f5C2 5 F n 7+b0@(( + 3 *o 6 + D   bs'e  +  + x  +E9@-B-<5$@$!!-*0'044 +- +//9/3339/33339/339/301737&'7267#'767''667#"'35#"'34'37#36737#37@#(C 08V c ? + - ? cRT  +!  + &  + % ! +  !,   )7Z`E@ `2]M%2!2M.5522EUMMEE8XXEE//9/39/39/39/33333333017&''6637#"7&'&77#"'&&737#"'36'3737&'7667#'76737#"67+&*"$A <    +8m O> + +  1  + 39 ? + +8<>L  '! +! %, Ro + W =  5 9 57#"'&&' $88:@://9/332322017#"'&''67&'767#"'&''67&'76756'5#64'37&`   +C   + m  ( %% w ' +   .27S[+@+I[W/0--I#//I33I//9/39/39/3323201655'67&''6737&'375#535'6767'667'267767667v - ; ) % +?AA< ' +   ( 3 '&.+!*5   +! +  (I55j] 5 )T + + +)N\r{Y@*LZ|RwsZcrRZR3E0EIIRR<99R (%%RVZZ!R!//9/39/339/39/39/3333332333320177#"'&#374'7667#'6672'3255#"'34'7#"'3737#&''66737#'#"&547654&'5667#"'&'7#"'&'V +'  /$ * ; +  + , - L B   ;   +   [ +J29IA ;   + = -  "]  +U + 8    HR@ +$OJ6&6&//9/332201737#"'&''67&'767#"7#"&''67&''7&'7767'7#"'&F  % & ,(),  +- 8 W  + + /  + 3-+$3"&!"/ 7  )#   +@ +  //9/323301737#37#"'354'354'&&''66~ +# C@ 9 +( +=17!%9 , E : N``1 1 +/B('+/375@15!5)-0-44'(,,//9/3339/3339/33320174'375#336673##"55#64'3533535335s= + > E  N<<><> # +P - 0"H ++++1---- !P5@<"+1E155" "&N*NKK"//9/3339/39/3333220177#'6737'&&''>'37#34'37#765'675#'667#"'36@ +  = - 7)'%!a +$ B -()* *   + (r-5   d +)Q3;41l   >  " &$ &$ " #82 6 //333017'667&&&''66#"'&&''667~8!!8 + @$3 )*"(S#  .+ + :1 3 +/ 0 +!G1. E   'F(  +0'@%"*//9/339/3332301737&'&'#37#37#"'35#"'35#"''66}"l ! :,?* HE d% F +'42 += 2 1 9 9 1 +@ + ae{S@'!(@|l{c%0R0@@/b+((  77//9/333339/3339/33333323333320174'34'37#5#65#"'6764'35#"'37#37&'5255##"'&''6'##"'&'735'#"&547654&'5667#"'&'7#"'&'} #  7 #  , ?    +*\  + =       TQ!0pS  + S  S   !3  +  +'Z$  +Y  + ;  + 1+@ + +00 +$ +$//9/39/339/39/30173564'375#37#327"&&''6675#Nhvf.3V@,,??Q? 4 0< +>  n)4?J1@GA<61+  " "//9/39/339/33232320173564'34'37#375#3#"&5476677#"'&77#"'&77#"'&Kn~+A `3 + n  + * +t77O0C  ( +/ '    + +  +  =[e!@%]BWTT]'# G]G//9/339/3230174'5266''67&''67&''67#"'37#667&#"'&&327"&&'&&'675#"'37'7#"'&  ":<"+- + yI  } 5"#-9& +  ( [%$' ! +     +  5    + P Y +   +KbkvE@ r;lAg$cSb;K 6 $$AAE>I>;;,A,//9/3339/339/333323333201655#'66&'6737#'4'37#7655'275#'667"'36737#'#"&547654&'52667#"'&'7#"'&' ) +2, j #' +(    +2   + + +8 fE3CL  +, lv  # + ( & "   +-1\ $ + +T +;   ,K5@0:GG>>0%%05990++0//9/39/39/39/339/30173737327"&''67&'767#'667#667"37#37#'754'354 +  1!"E8"    ! T#;   4 e  + + '  "! + : A  . +Hx 96 L+M%@" L#M# LL L LMM ML@ M M M M M*@ +LM@ L L@* M LM L&11'!*7!'!!M!M!@AM';!:7i0 4-:l4*7$ $9l $ i @M @ M@M@ M @ $t$ 9l ?+?++++++999+999+9++++9999/2++++++++01+++++++++++++++++7&&#"322'26654&#"66"&546323267#"&'"J  +  +"   +    -#')(( 4(/(/-*#$   +6%@6,/)3)'',//9/3339/3330174'374'5255#655#65'667#'36737#/ 1.%*%> Q  +^ m + + P +KQ%>b F#&<  +%KP=@9 LH 7GG33//9/39/39/39/339/323230173535'654'37&'5655767&'&'64'374'5667#37673))))&  2 D :   >BF + //5006.#?[ + + Dh'*  )* + +   Q "# 6A_g!@gc/UB/>8///333333301777677&&''67&''7&''7&'77'7#"'&'76767'667'66667/ O  #%+" ) ; ,+ = ) 0   + )"&-) +0  ## 3  +  ! #  +% 5 !, +, +//330177&'7#"'&''2667''667"&&'?v % ` ) % !5%%F -")  >8F##C;  @+ (@@ 6)  //9/333320165'667#"'35567"37##"'&'77&'7#"'&''>J&# =?  5Q R P + #N&2 0 3   g + l4%' +'t +4?a#@;W5PMSKSWWCPC//9/33332330167&&''67&''7&''7&'777767'#"'&'65'67#'34'37##"'&"!.- + +& 0 P. M  +h  * ) ! ) !       Sl1E(2;' .     ;?5@  ",77"=))" <<"//9/39/39/39/33333201736'34'37#65#'67#"7375#336673##"554735 G< D=L?% lnr + n: + +4-=4 + " +   '"" '1)@$  + --//9/39/33332320174'37#37#"'34'64'''6675>} 5 SD / 2B  =V9LCwE  + 2 1] ? + .<+/ :3 +6S^j;@e_#R#D&##DH;;RRDFB??YDY//9/339/339/3333332017#"'&''6677#"'&7#"'37#"'&'64'367#"'37#375#7'>'#"'&&'T$ " C ] h; , F3 !** +,   0:J  + D 1 + +&   E   + + =kfJ2* %<"^   + FQiC@V7N#H]RggEB##<<//9/3339/339/39/332332301764'375#5352774'37#66767#"&''67&5#"'377#"'&354'37#7'675#"d  @DC Q# C + + !*/ 2 S % # D  7*   +9++\ +  " 0* ,  +#'%+? - + + 4%  5 N Q +2@ovS@'fQ":5,/u**JoZZpuujcnc``//9/3339/39/39/339/39/3323222301735357'667&64'37&'5255#764'74'&'525'4'37#765'675#'667#"'36737#737#'u /# 0'U + ? +%     9`3 +0e y72 1  +c i $7!> +FA  f a + *0* +-    9% + +&-8#@+ ' ..//9/39/333201754'37#37#''#"&547654&'53267'&'7#"'&'jY x] | $   + 'N#  +   +m$ +g  4 + 7@5@=92(.%.2255//9/39/39/39/33332017"54'375#332673#'3575#"'34'37#&''7#"'&Mk +nq nCn  A", dD + Z$$ 3   9 + 7  +<Cg+@<(9(,,`Dd==` S`S//9/339/339/3330175'667#"'37#67&'7#"5&'37#67'675#"'76673&&''667&&5'66737@ +  ] D (    3!4      +   (, + + +  9 C,&  +     + / +1 P224   !0H  19F1@A:59 ,  //9/39/3323333301737#37#"'35#"7#"'&'7##"&547667337"''667#"'&&'3} HE f$ . b   \ /!% 3!& T T T  + H & !     +,;W5@7 ;$JUU$, $'!+!$//9/3339/3339/3330174'37#765'675#'77#"'36737#7&''6674'67732653#"7A  %)*' &  %  ? 0'& + +# " + 0d + $ &) ( 2  8`7  +043" , " (4:Xa!@Y]5IT$5500//9/3323232017&''67&''66737#"'&'#"'&'76776767'667'267'667 !%"#('2L&  2 2  -  !((  + + + $ 0  +^  '  & & 1    s @ L  LL LL LL@ L MM@ M Il Il?+?+/+++01++++++++7"32654&"&54632@+$&**&$+.*'0.))/z #/3"L L@LL LLL@L0202$.@*.$@2 L$5 .@ .3201'!Ul'11-Ut1Ut1Ul?+?+++99/+99//01++++++++7"32654&#"&546324&#"3267#"&54632''7    4    HG'hj +?;@ :..."/3/9/////]]33333017353564'375#375#77#"'&7##"&54767337"N^^fu\ +^d +f R    %%R--E]* +# ! +&   +:   (3]+@7.)%!SCO@OSS //9/39/333323220177#'66737"4'&&'76''667#"'&&''65'667#"'355667"37##"'&JG  (   :t 0-  &x !; $ om w + +d 33  " [U*6 , +.    q #//0M,@M#L MM @ M(M(L M L8L,L,M,M,M, L(M(@M&M&M"@M" MM@ LL@ +ML@L +M M MMMM@L! $ *M@ M@ M M 1-L-M-@M M-! 'IlIl ?+?+9999++++/++++99//9901+++++++++++++++++++++++++++++++++++732654&'#"&5467&&54632'4&#"66 X -  +     +J   0C@ '' ++..$$//9/3339/339/39/39/323301735353535'36737#3737#&'34'37#"Lhhhhhhh_ Ab3 2'= "$%    + 9@ "0 *'' //9/339/32017655'6672667#'767#'66'#"'37376'E ^ 6) g   + p$$J !z)-  PX!RV + " + Z '  )@ +   //9/39/39/323201764'3564'375#5356 =XgU + XX* (}( IJJr4h2 HH +(]P@*/;(ZNN)DvljXTRR;(DjjD(;@oa@/3/9//////]33/333333333301735357&'7#"'&''6554'375#7332653##"55'67#'667367#'37#3765'667#'34'37##"'&'l   +   ]  +DB  8 +#    $ +  **0((g  +  e" ? + ? IF%R   +8 +8 A#;>#5"# - +  +  +#pE@ GoGoG oGoPCMCGGfkb_booJfJ//9/3339/333333333330177#"'&677'677#"'&'276767&'7#"'&'37#65#"'35'267'67#"'3&'737## - -#  I   +P oK l + + +% +: c G m  +  ;  Q )  +F    +   + , +!  "     #GZe7@'3D*D$$#9?6?CC# #O\\K#K//9/39/39/3339/333201767'37&''67&''66765#'76735#"'34'37#37'64'37&7#32654&' (4  + "%  &0  / 7 4& $  $     -' $  )  + + ) 0/$ 7  +  6Q[=@XS + +--** +MJJ +41= +=//9/3339/39/33333330177#"'&737#37##"'&&''67#"'365#"'367"&&'&'675#"'37'7#"'&l>  D/Q 07' D G sd509" +  '  +  +       +& 1      R + U    "-A3@<2)#   + +//9/3339/333333201764'34'375#65#535335'#"'&'267"&54764'`-,  .--.' (* +64  * > Q+9U????0_n    +CVq1@ doo VSS <9. .//9/3339/39/33223017647&'52554'"37##"'&'655'6675#"'35#5664'5'675#"'4'67332653##"7%P#, H6"* !" C%7#"'&&'{ !/ ]&  +  +(' + +,M)@3F#FCIAIMMF//9/3339/33232017655&'75#'664'667"37##"'&'76'5655'675#'34'37#  1>+  +%W 8"$   (  +(A6 5)k)BZ  + / 5V + D5+ ' + -DNE@ LE?% 5;3;??!((%%-+ BB//9/3339/339/333323332017655'667''664'37#37#"'35#'655#'34'37#&'''&'C V  ;2  D /P a  , pK8 C ) + (  (F   J F   05V/@'?1?D  +<  +   ) 1 )$&!eh('P %#v  #2! ( .Y  G "*!@'#" +//9/33333301744'37#"&&'#67'655#"'7'66Cxq?'8%4   7& -h: T$, 2*_ X d0, 27;S=@O#3/--B9B  88BG==KK'B'//9/339/333339/39/332201765#'34'34'37#5#&''67&'#'37#67'35'3&&'737#'>f .8  38O 5/085+ + i a@8O A  Q  +    +  + >; +  + 7#"'37#67&'7#"'&'37#37#"'35#"'35&  5 h>@.#0TF l2 S!t   07 7 / % ! !//232301764'667#"'&&''>w . &[+" 0T7'J6 m  4 5  @*% + 0 #@Gc7@`Z##AMKK,55%99//9/39/39/39/339/322017765'2754'667"37#37#73733676##"55#'>667&&''37&&''664GI + + # +=" +&1X +&& +X1FK9/33/39//////333333333330177#"'&353535'7#"'36737#375#64''7#"'&327&&'&'675#"'37lKKKKK5# X & P . + +KZ11/>!   '  +  + ?!E   +- #;G   +   + S  "9OI@"% EKCKOO -4411  9(7(,, //9/3339/3339/339/333323017655#"'34'37#4''7#"'&'4'37#37#"'35#'7'675#'34'37#* K + ( + +U . ^ : >9o +" 3 4 w 6 7 ~ g M +" *  * ,   #59=@2744,!, ,,*66$,$//9/39/3339/339/39/320175#64'35#"'34'37#37356554'375#535@  A$ BU@  ]1. $   $ 22y  + Ѻ +9D@ @1:411((//9/33320164'#"'&''67#"'&'65'667#"'37'#"'&'$ +\ +   #. + M + & + +B  l| +   O]: +U  + + !%)-19D\_@-U 72/  +.. '** #&& QXNX\\ ""   A A//9/3339/339/3339/39/39/39/333230174'37#"'36537#3737#"'3735353535'677#"'&'7'675#"'354'37#v >% D ~ ! EEEEEEE? (; 'K  ' (~    c  e   +  8  T (  0  C+@6( 6;2/2??$6$//9/3339/3339/30173&'7#"'&'332673'#"55'667'267#"'36'737#?| 9# & 0#!2. + ,? mG| h  Y \228$.    +!%F5@ /## /,2*266/""=/=//9/339/3339/339/3017355#332653##"554'3735675#'34'37#76'5655$UJ  MR +l$ " / + &"$ DD> Y  +DD] 3! ( . [ +K  )F'@&!B??22//9/3339/33301737&'7667#'67#"'36'7#"'&67"&&'&"'675#"'37/ + 1C8 < ?6/;&  (  + +>.#NT'+M ' + +   + +  T  .8UE@ 5N0 ;)& , QNN A A//9/3339/39/3339/33323301767#"'36737#34'37#37#65#"'35#''7#"'&67"&&'&"'675#"'37c + 4 + + :]'  :-N/ L' +<   >6-:&  + &p 7  & & Z      R +  /3F+@7# +#!!@1&&@,00@//9/39/339/33320175#37#&&'#65'667#'35#64'3735655'667"4 F# '(/ P L +fO +2 +$ +  ,NF*:$ 0 + ::$'XN #xw'76#"&&54>6#"&&54>  + + + +2  + + + +        +26:>`dY@*0 60d00XaddX;>>X366X7::XP[G[AAXZVSS'X'//9/339/3339/39/39/39/39/333330177#"'&'&&'56637"#"'&'77#"'3#73#3#77#65#&767335#"'37#37"3#n  4-5:':;x   +2*U //c//d00 +RMM( NQ:11Q + + 7 + %5  h     +@aM@$QC.>>)--# ' aF_FJJ55//9/3339/3339/33339/339/3320177#'67#"'35#'34'37#366737#37#376'73267#''4'37#76'5255'675#'$ 4'' 2 +% +'   D2 > 5 "  + +6 P + &#%  +7 . #  +#&  ! . , e( ( 2 P A  6"  //9/3320175#64'37>'7#"'&&'mk +< !Lv+$ _&O' +-A0 KFB "u#7"&6632&7667"&6632&766A    9       +    .26:SlY@*T; ; +8$$;477;033;*//;\Xee;M?CC;//9/339/339/39/39/39/3339/33333230173575#37#65#'667#"'367#6&'37'353535'37##"&'&'#'66737##"&&'#'66k1+-M2-+ Mkzlllllw, 3 + n +6 5  = + " + + A {     + "#    ) ;kN@+@L/,5 2;8 +/L + +L"_/3/9////]q]333333333301744'37#37#37#"'&'65'667#"'35#"'35#"'332673##"55'75'75'6677777= +, $ +/  1 $ I  * ++ +)$2  9, +  + + +  + +  =>.   X3  4 , +/   0 ,  %)-8OM@$H /++/'*/$&/DKBKOO/ ""///9/339/3339/3339/3339/333301655'66737#37#37#37#7#33535'7#"'&7'675#'354'37#sL : 3 2 t(%((((( n$=  ( &" fA  * * / %**0// +  + W+  +4 4 %% //9/330176554'#"'&'37&'667##"'&''66 +$ + +4$., . !qY F  +s  ,,:M4   U +7)@4 71 ). $$  //9/333339/333017255#655#"'37&'74'37#5#65#"'34'F,    F9- N%E] [ E +         //9/3201737#"37#"' "  +-9B@ & ?:.",,.//9/3332322017655'66737&'5667#'>7#7&&''66A!   +%T  ,   8 ) hB " E  N ("+w$> %*A @  +//9/3330176'5'67#"'34'37#6'a5QO*O  1U# sV-6T - 0 +4KOSWtO@+JAUU6;QWMPqnLIEBWWPP;WPnBBnPW;G0/33/9/////]]33333333333017'667&&'655>7667''667765'675"'37#7'353575#7'&''67&'767#"'37e +$ %' ,"' +  + + + $ +$!0&  m#U000000 + " + ) I 9  ? (!K$E    + +R   Q C>3 $ +   + +   +   + t3@ RdHHR [[RU'R'//9/39/3339/33332017655'6677367335'7#4'53266''667&''667&''667#65'66737375#67"&? -!-.0C  +  ,64- ! # + - + +'/ +  !v!G &    R,  ( $  + + + %   +    + + + "Ednk@3k1f q==L^I^bb4RYOY]]11(vv//9/39/339/39/39/3339/39/3339/323333017353577#"'&7737#"'3&&664'375#375#654'65#"'35#"'36737#37#'7#"'&7.'&&'675#"'37e  +> )o +      q $ 1  . ++ !X718&   &  +,,[11F  ?  + 2; $   ) '   % $   % +'    +  + R 4;@E7@(=CC(81<1AA(,55(//9/39/3339/33339/30175#736673#55#'667#65'673737'367367335)*  8 =-0../ +8 8 :M/?v+  :$  C1')%- +,A % + *!---@  + //9/39/33017'664'3733673#"55[)&E  + + + "Q7/>[& + +&fE/_< BӇ $+    '    +  +    +# +! +          + +         +4 +" +             %       + #   +   +   +  +  #      &  + + + +   + + +  +   + + +     + )  #   " 1 + + +7 +      +   +&     +  +  +  $     +  +        +    +6 +     +        + + ;  +     + + +  +        "     +  ' +     +   +   )  + +   + +         +    +    + +  #         +   + + +         '                     +   + +  + (   + +  +  + +   +   +   + + +    ' +   +  +    + +       +   +   x  +"    + +  +v ^ + + 6vJ22tDzz\ !t#&#$&&&()z*l+P,-.x/01x235J568 89f:N;*<2<>>?@AbBCXDzE.FFGIbJKMNN +OPRPR:S(TTUW8XXY[ \B]^`.aabccdfghijjllm$nzoprrstuPvwyz{{|}~zFJrh$(.pHpP@~f8J$\&JnxFƖ<ʂ.π(@jӤtX֌؂Pthߘd(~p$ @J D " +" +   <tdb`@  !"#l$&D'x(`()+T,r,-/ 0V1b2v3r56r78r94:J;6<=>~@A2B,BCD"EFGHIJKKLMXN6OtPR@SPSTU&UWYTZ:[z\h]t_`acre +fg"h.ijklmznoZq0rZstu|wfx y{D|.}~\~&Rj04.PB*N8Xxr|(P<^NJ ,$,:pN8@<<ʎ, +͖nϞКNԺմ۴ܢ +`z2J(\J,  +  2LL*^2 P!#F$%&'(r)|*+,-./0T1234(56r799:<8=&>"?@ZAVACNDE6EG<HIJKdKLMNPTRJSPS+1/&''-'' 4',@ Nl           X D RX> > 8 8NlX Copyright ZHONGYI Electronic Co. 2001SimSunRegularVersion 5.15Trademark of ZHONGYI Electronic Co., Beijing Copyright ZHONGYI Electronic Co. 2001SimSunRegularVersion 5.15Trademark of ZHONGYI Electronic Co., BeijingMicrosoft supplied font. You may use this font to create, display and print content as permitted by the license terms, or terms of use, of the Microsoft product, service or content in which this font was included. You may only (i) embed this font in content as permitted by the embedding restrictions included in this font; and (ii) temporarily download this font to a printer or other output device to help print content. Any other use is prohibited.http://www.microsoft.com/typography/fonts Copyright ZHONGYI Electronic Co. 2001 +[WOSepcnu1SNN-fN-hu5[PO`obg/g PQlScO0[OS^8Beijing ZhongYi Electronics Co.http://www.zhongyicts.com.cn @\3[3@Z3Y2X1W1@V0U0+T/S- R.@Q.P,O,+N*+M*L)K(J(+I(H'@G'F&E%D$C$B#A#@#?"@>"="@> +endobj +18 0 obj +<> +endobj +19 0 obj +<> +endobj +20 0 obj +<> +endobj +21 0 obj +<>>> +endobj +22 0 obj +<> +endobj +23 0 obj +<>stream +/CIDInit /ProcSet findresource begin +11 dict begin +begincmap +/CIDSystemInfo +<< /Registry (Adobe) +/Ordering (UCS) +/Supplement 0 +>> def +/CMapName /Adobe-Identity-UCS def +/CMapType 2 def +1 begincodespacerange +<0000> +endcodespacerange +555 beginbfchar +<0000> +<0001><0041> +<0002><0020> +<0003><003E> +<0004><0042> +<0005><0065> +<0006><0061> +<0007><006E> +<0008><0046> +<0009><0063> +<000A><0074> +<000B><006F> +<000C><0072> +<000D><0079> +<000E><53EF> +<000F><4EE5> +<0010><7406> +<0011><89E3> +<0012><4E3A> +<0013><542B> +<0014><6709> +<0015><0062> +<0016><96C6> +<0017><5408> +<0018><7684> +<0019><5DE5> +<001A><5382> +<001B><7C7B> +<001C><3002> +<001D><5305> +<001E><4E86> +<001F><79CD> +<0020><5B9A> +<0021><4E49> +<0022> +<0023><4FBF> +<0024><5728> +<0025><63A5> +<0026><6536> +<0027><5230> +<0028><5BA2> +<0029><6237> +<002A><7AEF> +<002B><8BF7> +<002C><6C42> +<002D><65F6> +<002E><5C06> +<002F><5BF9> +<0030><5E94> +<0031><5B9E> +<0032><4F8B> +<0033><5316> +<0034><8FD8> +<0035><80FD> +<0036><8C61> +<0037><751F> +<0038><6210> +<0039><534F> +<003A><4F5C> +<003B><4E4B> +<003C><95F4> +<003D><5173> +<003E><7CFB> +<003F><6B64> +<0040><4E3E> +<0041><81EA> +<0042><8EAB> +<0043><4E0E> +<0044><914D> +<0045><7F6E> +<0046><4E2D> +<0047><653E> +<0048><51FA> +<0049><6765> +<004A><547D> +<004B><5468> +<004C><671F> +<004D><63A7> +<004E><5236> +<004F><8C03> +<0050><7528> +<0051><521D> +<0052><59CB> +<0053><65B9> +<0054><6CD5> +<0055> +<0056><0069> +<0057><006C> +<0058><007A> +<0059><006D> +<005A><0068> +<005B><0064> +<005C><0073> +<005D> +<005E><548C> +<005F><9500> +<0060><6BC1> +<0061><0075> +<0062><4ECE> +<0063><8868> +<0064><9762> +<0065><4E0A> +<0066><770B> +<0067><0070> +<0068><0078> +<0069><5982> +<006A><540C> +<006B><0066> +<006C><4E00> +<006D><6837> +<006E><5177> +<006F><3001> +<0070><8054> +<0071><8BBE> +<0072><6839> +<0073><636E> +<0074><5206> +<0075><53D1> +<0076><529F> +<0077><4F46> +<0078><57FA> +<0079><7840> +<007A><63D0> +<007B><4F9B> +<007C><5176> +<007D><4ED6> +<007E><652F> +<007F><6301> +<0080><56FD> +<0081><9645> +<0082><6587> +<0083><672C> +<0084><6D88> +<0085><606F> +<0086><7EDF> +<0087><8D44> +<0088><6E90> +<0089><4EF6> +<008A><8BFB> +<008B><53D6> +<008C><5F0F> +<008D><5DF2> +<008E><76D1> +<008F><542C> +<0090><5668> +<0091><6CE8> +<0092><518C> +<0093><4E8B> +<0094><0053> +<0095><0067> +<0096><7B80> +<0097><5355> +<0098><6613> +<0099><61C2> +<009A><4E2A> +<009B><88AB> +<009C><9700> +<009D><8981> +<009E><6267> +<009F><884C> +<00A0><5217> +<00A1><64CD> +<00A2><8FBE> +<00A3><72B6> +<00A4><6001> +<00A5><5F53> +<00A6><4E0D> +<00A7><8FDB> +<00A8><76F8> +<00A9><6790> +<00AA><6784> +<00AB><5E76> +<00AC><5BB9> +<00AD><79FB> +<00AE><9664> +<00AF><8D1F> +<00B0><8D23> +<00B1><7BA1> +<00B2><521B> +<00B3><5EFA> +<00B4><7531> +<00B5><4E24> +<00B6><7EC4> +<00B7><56DE> +<00B8><006B> +<00B9><540E> +<00BA><524D> +<00BB><6846> +<00BC><67B6> +<00BD><4E0B> +<00BE><56DB> +<00BF> +<00C0><0049> +<00C1><0044> +<00C2><53E3> +<00C3><9488> +<00C4><7279> +<00C5><6B8A> +<00C6><0077> +<00C7><0043> +<00C8><0028> +<00C9><0029> +<00CA><0040> +<00CB><0050> +<00CC><002E> +<00CD><5148> +<00CE><673A> +<00CF><4F7F> +<00D0><5F97> +<00D1><4EFB> +<00D2><4F55> +<00D3><578B> +<00D4><662F> +<00D5><5B50> +<00D6><6269> +<00D7><5C55> +<00D8><6DFB> +<00D9><52A0> +<00DA><6BD4> +<00DB><004F> +<00DC><66F4> +<00DD><4E5F> +<00DE><5904> +<00DF><4E8E> +<00E0><4F20> +<00E1><64AD> +<00E2><53CA> +<00E3><5C42> +<00E4><522B> +<00E5><0057> +<00E6><4F53> +<00E7><73B0> +<00E8><88C5> +<00E9><5404> +<00EA><6838> +<00EB><5FC3> +<00EC><5411> +<00ED><5207> +<00EE><7F16> +<00EF><7A0B> +<00F0><6211> +<00F1><4EEC> +<00F2><7ECF> +<00F3><5E38> +<00F4><505A> +<00F5><4E9B> +<00F6><60C5> +<00F7><8FD9> +<00F8><4E1A> +<00F9><52A1> +<00FA><65E0> +<00FB><8BB0> +<00FC><5F55> +<00FD><6240> +<00FE><002A> +<00FF><4EBA> +<0100><7B49> +<0101><4FE1> +<0102><65E5> +<0103><5FD7> +<0104><901A> +<0105><8FC7> +<0106><6280> +<0107><672F> +<0108><5C31> +<0109><4FEE> +<010A><6539> +<010B><4EE3> +<010C><7801> +<010D><51B5> +<010E><5B8C> +<010F><8BE5> +<0110><52A8> +<0111><4E3B> +<0112><004A> +<0113><004B> +<0114><0047> +<0115><004C> +<0116><53CD> +<0117><5C04> +<0118><4E14> +<0119><5FC5> +<011A><987B> +<011B><0076> +<011C><0048> +<011D><679C> +<011E><76EE> +<011F><6807> +<0120><6CA1> +<0121><90A3> +<0122><4E48> +<0123><4F1A> +<0124><9009> +<0125><62E9> +<0126><5E93> +<0127><8FD0> +<0128><67D0> +<0129><610F> +<012A><7EE7> +<012B><627F> +<012C><56E0> +<012D><5B83> +<012E><59D4> +<012F><6258> +<0130><90FD> +<0131><8BF4> +<0132><53EA> +<0133><9047> +<0134><7ED9> +<0135><4F60> +<0136><800C> +<0137><5219> +<0138><0031> +<0139><8C13> +<013A><6307> +<013B><5373> +<013C><4F3C> +<013D><0032> +<013E><58F0> +<013F><660E> +<0140><53C8> +<0141> +<0142><53E6> +<0143><0054> +<0144><89C4> +<0145><903B> +<0146><8F91> +<0147><5212> +<0148><5143> +<0149><2014> +<014A><51B3> +<014B><95EE> +<014C><9898> +<014D><6570> +<014E><5C40> +<014F><90E8> +<0150><9996> +<0151><6027> +<0152><9694> +<0153><79BB> +<0154><62E6> +<0155><622A> +<0156><6A21> +<0157><5757> +<0158><62BD> +<0159><7EC7> +<015A><5C5E> +<015B><8F6C> +<015C><5185> +<015D><7ED3> +<015E><793A> +<015F><7269> +<0160><4EA4> +<0161><6EDA> +<0162><6302> +<0163><8D77> +<0164><9002> +<0165><8BA1> +<0166><004D> +<0167><8BA9> +<0168><5F62> +<0169><952E> +<016A><5B57> +<016B><7B26> +<016C><53F7> +<016D><5F00> +<016E><5934> +<016F><5E26> +<0170><53C2> +<0171><8FD4> +<0172><503C> +<0173><9650> +<0174><0045> +<0175><6216> +<0176><8005> +<0177><9ED8> +<0178><8BA4> +<0179><591F> +<017A><002C> +<017B><771F> +<017C><6B63> +<017D><67E5> +<017E><8BE2> +<017F><591A> +<0180><627E> +<0181><0033> +<0182><0034> +<0183><0056> +<0184><0035> +<0185><0052> +<0186><89C6> +<0187><56FE> +<0188><0036> +<0189><6E32> +<018A><67D3> +<018B><002D> +<018C><5E8F> +<018D><542F> +<018E><5019> +<018F><7136> +<0190><603B> +<0191><91C7> +<0192><7F13> +<0193><5B58> +<0194><8F83> +<0195><677F> +<0196><91CD> +<0197><590D> +<0198><5E2E> +<0199><52A9> +<019A><7B7E> +<019B><9AD8> +<019C><6548> +<019D><5B8F> +<019E><8F85> +<019F><6563> +<01A0><6574> +<01A1><91CC> +<01A2><4F9D> +<01A3><8D56> +<01A4><5165> +<01A5><8D2F> +<01A6><7A7F> +<01A7><002F> +<01A8><5FF5> +<01A9><95E8> +<01AA><69DB> +<01AB><4F4E> +<01AC><5F3A> +<01AD><5927> +<01AE><9884> +<01AF><6D41> +<01B0><8BAE> +<01B1><529B> +<01B2><7075> +<01B3><6D3B> +<01B4><754C> +<01B5><004E> +<01B6><7EFC> +<01B7><6700> +<01B8><4F18> +<01B9><719F> +<01BA><7A33> +<01BB><0055> +<01BC><5458> +<01BD><518D> +<01BE><70E6> +<01BF><607C> +<01C0><793E> +<01C1><533A> +<01C2><8DC3> +<01C3><7248> +<01C4><8FED> +<01C5><77ED> +<01C6><65B0> +<01C7><0037> +<01C8><5386> +<01C9><5546> +<01CA><8003> +<01CB><9A8C> +<01CC><8D28> +<01CD><91CF> +<01CE><8BC1> +<01CF><4E92> +<01D0><7F51> +<01D1><7EDC> +<01D2><6E38> +<01D3><620F> +<01D4><4F01> +<01D5><7535> +<01D6><8F6F> +<01D7><4F17> +<01D8><5168> +<01D9><6EE1> +<01DA><8DB3> +<01DB><70B9> +<01DC><9010> +<01DD><6E10> +<01DE><5EF6> +<01DF><0051> +<01E0><5E03> +<01E1><670D> +<01E2><7EBF> +<01E3><516C> +<01E4><79C1> +<01E5><6808> +<01E6><5F02> +<01E7><6B65> +<01E8><9886> +<01E9><57DF> +<01EA><8F93> +<01EB><6C47> +<01EC><5BFC> +<01ED><81F4> +<01EE><7A7A> +<01EF><8F6E> +<01F0><7EC8> +<01F1><0030> +<01F2><0025> +<01F3><5B98> +<01F4><79F0> +<01F5><0038> +<01F6><76F4> +<01F7><4ECD> +<01F8><65E7> +<01F9><6982> +<01FA><7387> +<01FB><964D> +<01FC><9001> +<01FD><51B2> +<01FE><5269> +<01FF><4F59> +<0200><5C0F> +<0201><62C6> +<0202><5F85> +<0203><62A5> +<0204><957F> +<0205><5EA6> +<0206><6B21> +<0207><5199> +<0208><53BB> +<0209><7C98> +<020A><6BCF> +<020B><81F3> +<020C><5C11> +<020D><6BB5> +<020E><77E5> +<020F><9053> +<0210><5C01> +<0211><56FA> +<0212><8865> +<0213><586B> +<0214><5145> +<0215><628A> +<0216><8FB9> +<0217><8FDE> +<0218><4FDD> +<0219><201C> +<021A><96F6> +<021B><62F7> +<021C><8D1D> +<021D><201D> +<021E><7B97> +<021F><8017> +<0220><5806> +<0221><5916> +<0222><8282> +<0223><4E8C> +<0224><4EFD> +<0225><624D> +<0226><805A> +<0227><50CF> +<0228><907F> +<0229><514D> +<022A><51E0> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end + +endstream +endobj +24 0 obj +<> +endobj +25 0 obj +<> +endobj +26 0 obj +<> +endobj +27 0 obj +<> +endobj +28 0 obj +<> +endobj +29 0 obj +<> +endobj +30 0 obj +<> +endobj +31 0 obj +<> +endobj +32 0 obj +<> +endobj +33 0 obj +<> +endobj +34 0 obj +<> +endobj +35 0 obj +<> +endobj +36 0 obj +<> +endobj +37 0 obj +<> +endobj +38 0 obj +<> +endobj +39 0 obj +<> +endobj +40 0 obj +<> +endobj +41 0 obj +<> +endobj +42 0 obj +<> +endobj +43 0 obj +<> +endobj +44 0 obj +<> +endobj +45 0 obj +<> +endobj +46 0 obj +<> +endobj +47 0 obj +<> +endobj +48 0 obj +<> +endobj +49 0 obj +<> +endobj +50 0 obj +<> +endobj +51 0 obj +<> +endobj +52 0 obj +<> +endobj +53 0 obj +<> +endobj +54 0 obj +<> +endobj +55 0 obj +<> +endobj +56 0 obj +<> +endobj +57 0 obj +<> +endobj +58 0 obj +<> +endobj +59 0 obj +<> +endobj +60 0 obj +<> +endobj +61 0 obj +<> +endobj +62 0 obj +<> +endobj +63 0 obj +<> +endobj +64 0 obj +<> +endobj +65 0 obj +<> +endobj +66 0 obj +<> +endobj +67 0 obj +<> +endobj +68 0 obj +<> +endobj +69 0 obj +<> +endobj +70 0 obj +<> +endobj +71 0 obj +<> +endobj +72 0 obj +<> +endobj +73 0 obj +<> +endobj +74 0 obj +<> +endobj +75 0 obj +<> +endobj +76 0 obj +<> +endobj +77 0 obj +<> +endobj +78 0 obj +<> +endobj +79 0 obj +<> +endobj +80 0 obj +<> +endobj +81 0 obj +<> +endobj +82 0 obj +<> +endobj +83 0 obj +<> +endobj +84 0 obj +<> +endobj +85 0 obj +<> +endobj +86 0 obj +<> +endobj +87 0 obj +<> +endobj +88 0 obj +<> +endobj +89 0 obj +<> +endobj +90 0 obj +<> +endobj +91 0 obj +<> +endobj +92 0 obj +<> +endobj +93 0 obj +<> +endobj +94 0 obj +<> +endobj +95 0 obj +<> +endobj +96 0 obj +<> +endobj +97 0 obj +<> +endobj +98 0 obj +<> +endobj +99 0 obj +<> +endobj +100 0 obj +<>stream + POS/2!`cmap<Tcvt NWWfpgm,,x +glyf<,headHw6hhea^$hmtx2loca +$ maxp W hD name2gd RpostQ prepD33Ef (=<;:9876543210/.-,+*)('&%$#"!  + ,CXEjC` #D# NM/!# 3/Y-,CX+KPX@8Y+!# 3/Y-,CXN%!M E%%#Jad(RX!#%!YY-,CX!!%%I%%Ja dPX!!!%%IPXPX8!8!YRX8!8!YYYY-,CX+KPX8Y+!# 3/Y-,N CD 8<(+%<-,/M-,CX+8+!# 3/Y-,CXEdj#EdiCd`` #D# /!! RX3!!YY-,KQX +C#Ce +Y-,KQX + C#C Y-, #p > #p E: -,+%E%Ej@`%#D!!!-,+%E%Ej`%#D!!!-,+!!!-,+!!!-,KQXCCe +Y-, i@a ,b`+ d#da\XaY-,%EhTKPZX%E%E`h %#D%#D% Eh #D%Eh`%#DY-,% Eh #D%Edhe`%`#D-, CX!CXE+ #D zEi #D QX+ #D z! zYYY-, E#Eh`D-,EjB-,/-,CX%%Id#Edi@a bj%%aC` #D! !!!!!Y-,CX%E%Ed`j%Eja %Ej e%#D%#D!! EjD EjDY-, EUCZXEh#Ei@a bj #a %e%#D%#D!!!!+Y-,Ed#EdadB-,%%+CX%%%+%C@T%CTZX% E@aDY%CT%C@TZX% E@`DYY!!!!-,% %.# %%+!!-,-,KRXED!!Y-,CX=Y-,KPXED!!Y-,KRX/!!!Y-,KS#KQZX%Eh%Eh%`TX!!!%Eh`%#D!!Y!!!Y-,CX=Y-,F#F`F# F`ab# # pE` PXaFY`h:-, E%FRKQ[X%F ha%%?#!8!Y-, E%FPX%F ha%%?#!8!Y-,KQXCC Y-,-, CX! FRX88YY-, UXc%Ed%EdaSX@aY%EiSXED!!Y!%E%Ead(QXED!!YY-,!! d#d@b-,!QX d#d b@/+Y`-,!QX d#dUb/+Y`-, d#d@b`#!-,KSX%%Id#Edi@a bj%%a #D! !!# 9/Y-,%%IdTX88!!Y-,CXY-,CXY-, ++# <+-,%8(+# #+CXm^% 3RO@(   @  Y Y?+?9/8+?93/3/3/93901#"'5327733673 +I495BUN!.RP[:A8Rs _< << +(J w + +(^e.< RN,)S/\ 5   , < 6 T .b 6    *L  +J FX 8  R\ +          $ - &R 4 T  * *L  + +J FX 8  +   +   Normaloby ejnStandard 2016 Microsoft Corporation. All Rights Reserved. Portions 2016 Beijing Founder Electronics Co. Ltd. All Rights Reserved.Microsoft YaHeiRegularMicrosoft YaHei RegularVersion 6.22MicrosoftYaHeiMicrosoft YaHei is a trademark of the Microsoft group of companies.The font glyphs are certified compliant with China standard GB18030-2000 with the font name Founder Lan Ting Hei. Microsoft Licensed the font glyph from Beijing Founder Electronics Co. Ltd. +g,[W^[W_bNSNSY'ekcu5[Pg PQlScgC0g,[W^[W_b N[W^T ekcQpNѐN-VhQ{&T`'hmK {&TN-V GB18030-2000hQ0 +http://www.microsoft.com/typographyhttp://www.founder.com.cn/cnMicrosoft supplied font. You may use this font to create, display and print content as permitted by the license terms, or terms of use, of the Microsoft product, service or content in which this font was included. You may only (i) embed this font in content as permitted by the embedding restrictions included in this font; and (ii) temporarily download this font to a printer or other output device to help print content. Any other use is prohibited.http://www.microsoft.com/typography/fontsNormaaliNormlNormaleStandaardNormalny1KG=K9NormlneNavadnoArrunta 2016 _oQlSrHgCb@g 2016 SNSY'ekcu5[Pg PQlSRrHgCb@g _oŞ_oŞ RegularMicrosoftYaHeiRegularN@Q{|{|vwmploknknrtugjfiehehqszC!yC!A6F<+E<+D<+C<+B<+A<+@<+?<+><+=<+;<+:<+9<+34+<@++++A.gf+fe+ed+dc+cb+ba+a`+_`+^`+]`+\`+[`@++++}++++++76543 2 10/.&'('*+,+"#$#  +        /,<*<(<&<$<"< <<<<<<< <<<> +endobj +102 0 obj +<> +endobj +103 0 obj +<> +endobj +104 0 obj +31542 +endobj +105 0 obj +<>/ExtGState<>>>/Group<>/StructParents 1/Tabs/S>> +endobj +106 0 obj +<>stream +1 0 0 -1 0 841.90002441 cm q 1 0 0 1 90 72 cm q 0.97254902 0.98039216 0.98823529 rg -1.45000005 0 m 416.75 0 l 416.75 31.20000076 l -1.45000005 31.20000076 l h f* Q /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm 0.10980392 0.12156863 0.12941177 rg [<00250025>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 21 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 26.25 20.17499924 Tm [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 60.89799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 64.02500153 20.17499924 Tm [(AOP)] TJ ET EMC /P <> BDC BT 1 0 0 -1 87.41400146 20.17499924 Tm /GS80 gs 0 g [( )] TJ ET EMC q /GS81 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 31.20000076 m 416.75 31.20000076 l 416.75 46.80000305 l -1.45000005 46.80000305 l h f* Q q /GS82 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 46.79999924 m 416.75 46.79999924 l 416.75 62.40000153 l -1.45000005 62.40000153 l h f* Q q 1 0 0 1 0 31.20000076 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS83 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<006400EC00ED006400EE00EF0022002400F000F10018003000500046002200F200F3009C009D00F4006C00F5009300F60022007700D400F700F5009300F6004300EA00EB00F800F900FA>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<003D002200DA00690022009D00FB00FC00FD0014>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 107.625 27.25500107 Tm [(update*)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 144.375 27.25500107 Tm [<005300540018009E009F002D003C002D003C002200A1003A00FF0100010001010085002200FB00FC0027010201030022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 396.375 27.25500107 Tm /GS84 gs 0 g [( )] TJ ET EMC Q q /GS85 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 62.40000153 m 416.75 62.40000153 l 416.75 78 l -1.45000005 78 l h f* Q q 1 0 0 1 0 62.40000153 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS86 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<01040105>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 34.125 11.65499973 Tm [(spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 68.25 11.65499973 Tm [<0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 81.375 11.65499973 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 99.75 11.65499973 Tm [<0106010700220108000E000F002400A60109010A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 207.375 11.65499973 Tm [(update*)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 244.125 11.65499973 Tm [<0018010B010C001800F6010D00BD010E0038010F009C002C001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 380.625 11.65499973 Tm /GS87 gs 0 g [( )] TJ ET EMC Q q /GS88 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 78 m 416.75 78 l 416.75 109.19999695 l -1.45000005 109.19999695 l h f* Q q 1 0 0 1 0 78 cm /P <> BDC BT /FAABAB 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q q /GS89 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 109.19999695 m 416.75 109.19999695 l 416.75 140.3999939 l -1.45000005 140.3999939 l h f* Q q 1 0 0 1 0 109.19999695 cm /P <> BDC BT 1 0 0 -1 0 20.17499924 Tm /GS90 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 37.77500153 20.17499924 Tm [(AOP)] TJ ET EMC /P <> BDC BT 1 0 0 -1 61.16400146 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 66.41400146 20.17499924 Tm [<0023002400270028>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 108.41400146 20.17499924 Tm /GS91 gs 0 g [( )] TJ ET EMC Q q /GS92 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 140.3999939 m 416.75 140.3999939 l 416.75 156 l -1.45000005 156 l h f* Q q /GS93 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 156 m 416.75 156 l 416.75 171.6000061 l -1.45000005 171.6000061 l h f* Q q /GS94 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 171.6000061 m 416.75 171.6000061 l 416.75 187.20001221 l -1.45000005 187.20001221 l h f* Q q 1 0 0 1 0 140.3999939 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS95 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 9.4630003 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 40.96300125 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 45.17599869 11.65499973 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 63.55099869 11.65499973 Tm [<00460018011000A4010B00100111009D001400B5001F0053008C0022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 210.55099487 11.65499973 Tm [(JDK)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 228.92599487 11.65499973 Tm [<011000A4010B0010005E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 284.05099487 11.65499973 Tm [(CGLIB)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 312.92599487 11.65499973 Tm [<011000A4010B0010001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 365.42599487 11.65499973 Tm [(JDK)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 383.80099487 11.65499973 Tm [<011000A4010B>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<00100104010501160117004900250026009B010B00100018001B002200AB0118009D002C009B010B00100018001B0119011A003100E7006C009A002500C2001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 336 27.25500107 Tm [(JDK)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 354.375 27.25500107 Tm [<011000A4010B00100018>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<00EA00EB00D4>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 34.125 42.85499954 Tm [(InvocationHandler)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 126 42.85499954 Tm [<002500C2005E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 160.125 42.85499954 Tm [(Proxy)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 189 42.85499954 Tm [<001B001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 210 42.85499954 Tm /GS96 gs 0 g [( )] TJ ET EMC Q q /GS97 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 187.19999695 m 416.75 187.19999695 l 416.75 202.80000305 l -1.45000005 202.80000305 l h f* Q q /GS98 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 202.80000305 m 416.75 202.80000305 l 416.75 218.40000916 l -1.45000005 218.40000916 l h f* Q q /GS99 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 218.3999939 m 416.75 218.3999939 l 416.75 234 l -1.45000005 234 l h f* Q q /GS100 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 234 m 416.75 234 l 416.75 249.6000061 l -1.45000005 249.6000061 l h f* Q q 1 0 0 1 0 187.19999695 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS101 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 8.14999962 11.65499973 Tm [<0069011D011E011F001B01200014003100E7002500C2002201210122>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 157.7749939 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 189.2749939 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 192.17500305 11.65499973 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 210.55000305 11.65499973 Tm [<01230124012500CF0050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 265.67498779 11.65499973 Tm [(CGLIB)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 294.54998779 11.65499973 Tm [<0049011000A4010B0010011E011F001B001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 389.04998779 11.65499973 Tm [(CGLIB)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [<0055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 10.5 27.25500107 Tm [(Code)] TJ ET EMC /P <> BDC BT 1 0 0 -1 31.5 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 36.75 27.25500107 Tm [(Generation)] TJ ET EMC /P <> BDC BT 1 0 0 -1 89.25 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 94.5 27.25500107 Tm [(Library)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 131.25 27.25500107 Tm [<005D002200D4006C009A010B010C003700380018001B01260022000E000F00240127009F002D011000A40018003700380128009A001B>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<001800D5001B0022009101290022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 73.5 42.85499954 Tm [(CGLIB)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 102.375 42.85499954 Tm [<00D401040105012A012B00180053008C00F40018011000A4010B00100022012C003F0069011D0128009A001B009B011F00FB0012>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 378 42.85499954 Tm [(final)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 404.25 42.85499954 Tm [<0022>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 58.45499802 Tm [<01210122012D00D400FA005400CF0050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 86.625 58.45499802 Tm [(CGLIB)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 115.5 58.45499802 Tm [<00F4011000A4010B00100018001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 189 58.45499802 Tm /GS102 gs 0 g [( )] TJ ET EMC Q q /GS103 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 249.6000061 m 416.75 249.6000061 l 416.75 280.80001831 l -1.45000005 280.80001831 l h f* Q q 1 0 0 1 0 249.6000061 cm /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS104 gs 0.10980392 0.12156863 0.12941177 rg [<0029002A002B0028002C>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 52.5 20.17499924 Tm [(cg)1(lib)] TJ ET EMC /P <> BDC BT 1 0 0 -1 78.10900116 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 83.35900116 20.17499924 Tm [<002E>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 93.85900116 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 99.10900116 20.17499924 Tm [(JDK)] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 119.63200378 20.17499924 Tm [<0032>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 130.13200378 20.17499924 Tm /GS105 gs 0 g [( )] TJ ET EMC Q q /GS106 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 280.79998779 m 416.75 280.79998779 l 416.75 296.3999939 l -1.45000005 296.3999939 l h f* Q q /GS107 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 296.3999939 m 416.75 296.3999939 l 416.75 312 l -1.45000005 312 l h f* Q q /GS108 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 312 m 416.75 312 l 416.75 327.6000061 l -1.45000005 327.6000061 l h f* Q q /GS109 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 327.6000061 m 416.75 327.6000061 l 416.75 343.20001221 l -1.45000005 343.20001221 l h f* Q q 1 0 0 1 0 280.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS110 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.14999962 11.65499973 Tm [(JDK)] TJ ET EMC /P <> BDC BT 1 0 0 -1 23.89999962 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.79999924 11.65499973 Tm [<011000A4010B0010001B005E012E012F001B009C009D0130003100E7006A006C009A002500C2001C00DD010800D4013101320014003100E7001E0128009A002500C20018001B000E000F>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<00CF0050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 23.625 27.25500107 Tm [(Java)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 47.25 27.25500107 Tm [<011000A4010B001000CE004E001C007700D4002200930031006500CF0050004600AB00A600D401330027001800FD0014001B0130012301340135003100E7006C009A0025>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<00C2001C012C003F0022002F00DF01200014003100E7002500C20018001B0022010800A6003500CF0050010F00CE004E001C0136>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 275.625 42.85499954 Tm [(CGLIB)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 304.5 42.85499954 Tm [<0137000E000F003100E7002F001B0018011000A4>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 58.45499802 Tm [<010B0010001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 31.5 58.45499802 Tm /GS111 gs 0 g [( )] TJ ET EMC Q q /GS112 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 343.20001221 m 416.75 343.20001221 l 416.75 358.80001831 l -1.45000005 358.80001831 l h f* Q q 1 0 0 1 0 343.20001221 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS113 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 358.79998779 m 416.75 358.79998779 l 416.75 390 l -1.45000005 390 l h f* Q q 1 0 0 1 0 358.79998779 cm /P <> BDC BT 1 0 0 -1 0 20.17499924 Tm /GS114 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 39.89799881 20.17499924 Tm [<003300340023002400350036>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 102.89800262 20.17499924 Tm /GS115 gs 0 g [( )] TJ ET EMC Q q /GS116 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 390 m 416.75 390 l 416.75 405.6000061 l -1.45000005 405.6000061 l h f* Q q 1 0 0 1 0 390 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS117 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(1)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F00EE010C0053008C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 68.25 11.65499973 Tm /GS118 gs 0 g [( )] TJ ET EMC Q q /GS119 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 405.6000061 m 416.75 405.6000061 l 416.75 421.20001221 l -1.45000005 421.20001221 l h f* Q q 1 0 0 1 0 405.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS120 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<00FD013900EE00EF008C009300F9013A001800D40104010500EE010C0053008C003100E7009300F90022013B001B013C00DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 275.625 11.65499973 Tm [(JDBC)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 299.25 11.65499973 Tm [<00EE00EF003100E7009300F900B10010001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 393.75 11.65499973 Tm /GS121 gs 0 g [( )] TJ ET EMC Q q /GS122 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 421.20001221 m 416.75 421.20001221 l 416.75 436.80001831 l -1.45000005 436.80001831 l h f* Q q 1 0 0 1 0 421.20001221 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS123 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(2)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F013E013F008C009300F900B100100053008C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 120.75 11.65499973 Tm /GS124 gs 0 g [( )] TJ ET EMC Q q /GS125 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 436.79998779 m 416.75 436.79998779 l 416.75 452.3999939 l -1.45000005 452.3999939 l h f* Q q /GS126 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 452.3999939 m 416.75 452.3999939 l 416.75 468 l -1.45000005 468 l h f* Q q 1 0 0 1 0 436.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS127 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<013E013F008C009300F900B100100140001400B5001F003100E70053008C00BF007800DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 202.125 11.65499973 Tm [(xml)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 220.5 11.65499973 Tm [<004400450082008900180053008C01410142006C009A0031002400F800F9005300540065>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<00A7009F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 21 27.25500107 Tm [(@Transaction)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 86.625 27.25500107 Tm [<009100110022002E009300F90144013700300050002700F800F9014501460046>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 254.625 27.25500107 Tm /GS128 gs 0 g [( )] TJ ET EMC Q q /GS129 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 468 m 416.75 468 l 416.75 499.20001221 l -1.45000005 499.20001221 l h f* Q q 1 0 0 1 0 468 cm /P <> BDC BT /FAABAB 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q q /GS130 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 499.20001221 m 416.75 499.20001221 l 416.75 530.40002441 l -1.45000005 530.40002441 l h f* Q q 1 0 0 1 0 499.20001221 cm /P <> BDC BT 1 0 0 -1 0 20.17499924 Tm /GS131 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 39.89799881 20.17499924 Tm [<003300340037003800270028>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 102.89800262 20.17499924 Tm /GS132 gs 0 g [( )] TJ ET EMC Q q /GS133 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 530.40002441 m 416.75 530.40002441 l 416.75 546 l -1.45000005 546 l h f* Q q 1 0 0 1 0 530.40002441 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS134 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(a)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F0147007400DE001000970148>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 89.25 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT 1 0 0 -1 99.75 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT 1 0 0 -1 110.25 11.65499973 Tm [(IOC)] TJ ET EMC /P <> BDC BT 1 0 0 -1 126 11.65499973 Tm /GS135 gs 0 g [( )] TJ ET EMC Q q /GS136 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 546 m 416.75 546 l 416.75 561.59997559 l -1.45000005 561.59997559 l h f* Q q /GS137 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 561.59997559 m 416.75 561.59997559 l 416.75 577.19995117 l -1.45000005 577.19995117 l h f* Q q /GS138 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 577.20001221 m 416.75 577.20001221 l 416.75 592.79998779 l -1.45000005 592.79998779 l h f* Q q 1 0 0 1 0 546 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS139 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 5.80000019 11.65499973 Tm [<00B400DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 29.42499924 11.65499973 Tm [(spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 63.54999924 11.65499973 Tm [<0011014A0018014B014C00D4002F0097009A014D0073012600A7009F014E014F009300F900DE001000180022006E00E60018003100E7015000A80050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 381.17498779 11.65499973 Tm [(spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [<00460018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 23.625 27.25500107 Tm [(IOC)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 42 27.25500107 Tm [<01470074001E009300F900DE001000970148001C00AB0118002E002F009300F9001800E9001F0044004500470027001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 296.625 27.25500107 Tm [(ioc)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 315 27.25500107 Tm [<00AC00900046005500710045009300F900B1>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<00100090002200710045009300F9001800E000E100C4015100E20152015300CE004E005D001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 199.5 42.85499954 Tm /GS140 gs 0 g [( )] TJ ET EMC Q q /GS141 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 592.79998779 m 416.75 592.79998779 l 416.75 608.39996338 l -1.45000005 608.39996338 l h f* Q q 1 0 0 1 0 592.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS142 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(b)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 26.25 11.65499973 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 44.625 11.65499973 Tm [<01540155009C009D00A7009F009300F900DE00100018001B>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 170.625 11.65499973 Tm /GS143 gs 0 g [( )] TJ ET EMC Q q /GS144 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 608.40002441 m 416.75 608.40002441 l 416.75 624 l -1.45000005 624 l h f* Q q /GS145 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 624 m 416.75 624 l 416.75 639.59997559 l -1.45000005 639.59997559 l h f* Q q /GS146 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 639.59997559 m 416.75 639.59997559 l 416.75 655.19995117 l -1.45000005 655.19995117 l h f* Q q /GS147 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 655.20001221 m 416.75 655.20001221 l 416.75 670.79998779 l -1.45000005 670.79998779 l h f* Q q 1 0 0 1 0 608.40002441 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS148 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 44.625 11.65499973 Tm [<009300F900DE00100156015700D401040105>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 141.75 11.65499973 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 160.125 11.65499973 Tm [<007600350049003100E7013E013F008C009300F900DE001000180022006E00E600A1003A005500DA0069009300F90031>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<009F001800440045005E008A008B0022009300F9002F0036001801580036005D00220050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 191.625 27.25500107 Tm [(TransactionProxyFactoryBean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 336 27.25500107 Tm [<002500C2004900CF0050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 391.125 27.25500107 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 0 42.85499954 Tm [<00760035002200370038>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 55.125 42.85499954 Tm [(proxy)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 84 42.85499954 Tm [<010B0010002F0036002201040105>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 160.125 42.85499954 Tm [(TransactionInterceptor)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 278.25 42.85499954 Tm [<010E0038002F010B0010005300540018015401550022002E0093>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 58.45499802 Tm [<00F900DE001000180076003500EE01590027015401550018005300540046001C008A008B>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 191.625 58.45499802 Tm [(ioc)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 210 58.45499802 Tm [<00AC0090009300F900440045015A01510022015B00330012>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 338.625 58.45499802 Tm [(spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 372.75 58.45499802 Tm [<009300F900DE0010>] TJ ET EMC Q Q 1 0 0 -1 0 841.90002441 cm +endstream +endobj +107 0 obj +<> +endobj +108 0 obj +<> +endobj +109 0 obj +<> +endobj +110 0 obj +<> +endobj +111 0 obj +<> +endobj +112 0 obj +<> +endobj +113 0 obj +<> +endobj +114 0 obj +<> +endobj +115 0 obj +<> +endobj +116 0 obj +<> +endobj +117 0 obj +<> +endobj +118 0 obj +<> +endobj +119 0 obj +<> +endobj +120 0 obj +<> +endobj +121 0 obj +<> +endobj +122 0 obj +<> +endobj +123 0 obj +<> +endobj +124 0 obj +<> +endobj +125 0 obj +<> +endobj +126 0 obj +<> +endobj +127 0 obj +<> +endobj +128 0 obj +<> +endobj +129 0 obj +<> +endobj +130 0 obj +<> +endobj +131 0 obj +<> +endobj +132 0 obj +<> +endobj +133 0 obj +<> +endobj +134 0 obj +<> +endobj +135 0 obj +<> +endobj +136 0 obj +<> +endobj +137 0 obj +<> +endobj +138 0 obj +<> +endobj +139 0 obj +<> +endobj +140 0 obj +<> +endobj +141 0 obj +<> +endobj +142 0 obj +<> +endobj +143 0 obj +<> +endobj +144 0 obj +<> +endobj +145 0 obj +<> +endobj +146 0 obj +<> +endobj +147 0 obj +<> +endobj +148 0 obj +<> +endobj +149 0 obj +<> +endobj +150 0 obj +<> +endobj +151 0 obj +<> +endobj +152 0 obj +<> +endobj +153 0 obj +<> +endobj +154 0 obj +<> +endobj +155 0 obj +<> +endobj +156 0 obj +<> +endobj +157 0 obj +<> +endobj +158 0 obj +<> +endobj +159 0 obj +<> +endobj +160 0 obj +<> +endobj +161 0 obj +<> +endobj +162 0 obj +<> +endobj +163 0 obj +<> +endobj +164 0 obj +<> +endobj +165 0 obj +<> +endobj +166 0 obj +<> +endobj +167 0 obj +<> +endobj +168 0 obj +<> +endobj +169 0 obj +<> +endobj +170 0 obj +<> +endobj +171 0 obj +<> +endobj +172 0 obj +<> +endobj +173 0 obj +<> +endobj +174 0 obj +<> +endobj +175 0 obj +<> +endobj +176 0 obj +25713 +endobj +177 0 obj +<>/ExtGState<>>>/Group<>/StructParents 2/Tabs/S>> +endobj +178 0 obj +<>stream +1 0 0 -1 0 841.90002441 cm q 1 0 0 1 90 72 cm q 0.97254902 0.98039216 0.98823529 rg -1.45000005 0 m 416.75 0 l 416.75 15.60000038 l -1.45000005 15.60000038 l h f* Q q 0.97254902 0.98039216 0.98823529 rg -1.45000005 15.60000038 m 416.75 15.60000038 l 416.75 31.20000076 l -1.45000005 31.20000076 l h f* Q /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 0 11.65499973 Tm 0.10980392 0.12156863 0.12941177 rg [<009C009D0018015C014F014D0073015D00AA0055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 105 11.65499973 Tm [(TransactionAttributeSourceAdvisor)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 278.25 11.65499973 Tm [<005D0022015B00330012>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(TransactionAttribute)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 107.625 27.25500107 Tm [<0063015E0018014D0073002F0036001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 191.625 27.25500107 Tm /GS149 gs 0 g [( )] TJ ET EMC q /GS150 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 31.20000076 m 416.75 31.20000076 l 416.75 46.80000305 l -1.45000005 46.80000305 l h f* Q q 1 0 0 1 0 31.20000076 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS151 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(c)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F002F0093015F00DE0010003100E70055009300F9001800370038006F007A0160006F00B70161006F01620163005D>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 267.75 11.65499973 Tm /GS152 gs 0 g [( )] TJ ET EMC Q q /GS153 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 46.79999924 m 416.75 46.79999924 l 416.75 62.40000153 l -1.45000005 62.40000153 l h f* Q q /GS154 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 62.40000153 m 416.75 62.40000153 l 416.75 78 l -1.45000005 78 l h f* Q q /GS155 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 78 m 416.75 78 l 416.75 93.59999847 l -1.45000005 93.59999847 l h f* Q q /GS156 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 93.59999847 m 416.75 93.59999847 l 416.75 109.19999695 l -1.45000005 109.19999695 l h f* Q q /GS157 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 109.19999695 m 416.75 109.19999695 l 416.75 124.79999542 l -1.45000005 124.79999542 l h f* Q q 1 0 0 1 0 46.79999924 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS158 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 44.625 11.65499973 Tm [<012E012F0134006E00E60018009300F900DE00100090003100E7001C003100E7001E006C009A01580036005E01640044001C016400440018006E00E6009300F900DE0010>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<009000BF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 21 27.25500107 Tm [(DataSource)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 76.125 27.25500107 Tm [<014D00730088007E007F006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 139.125 27.25500107 Tm [(hibernate)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 189 27.25500107 Tm [<014D00730088009300F900DE0010007E007F006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 294 27.25500107 Tm [(JDO)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 312.375 27.25500107 Tm [<014D00730088009300F900DE0010007E>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<007F0022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 21 42.85499954 Tm [(JPA)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 36.75 42.85499954 Tm [<006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 47.25 42.85499954 Tm [(JTA)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 65.625 42.85499954 Tm [<014D00730088009300F900DE0010007E007F001C00F700F5007E007F013000D40104010500710165>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 58.45499802 Tm [(PlatformTransactionManager)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 136.5 58.45499802 Tm [<006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 147 58.45499802 Tm [(AbstractPlatforTransaction)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 286.125 58.45499802 Tm [<006C003E00A0009300F900DE00100018007E007F001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 401.625 58.45499802 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 404.79998779 58.45499802 Tm [<0012>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 74.05500031 Tm [<00F30050014D00730088007E007F007A007B001E006C003E00A00018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 149.625 74.05500031 Tm [(TransactionManager)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 244.125 74.05500031 Tm [<001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 254.625 74.05500031 Tm /GS159 gs 0 g [( )] TJ ET EMC Q q /GS160 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 124.80000305 m 416.75 124.80000305 l 416.75 140.40000916 l -1.45000005 140.40000916 l h f* Q q 1 0 0 1 0 124.80000305 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS161 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(d)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F015D0017>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 47.25 11.65499973 Tm /GS162 gs 0 g [( )] TJ ET EMC Q q /GS163 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 140.3999939 m 416.75 140.3999939 l 416.75 156 l -1.45000005 156 l h f* Q q /GS164 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 156 m 416.75 156 l 416.75 171.6000061 l -1.45000005 171.6000061 l h f* Q q 1 0 0 1 0 140.3999939 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS165 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(PlatformTransactionManager)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 149.625 11.65499973 Tm [<003100E7001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 183.75 11.65499973 Tm [(TransactionInterception)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 307.125 11.65499973 Tm [<002500C200220167007C0043>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(TransactionProxyFactoryBean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 144.375 27.25500107 Tm [<015D001701630049002201680038006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 241.5 27.25500107 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 275.625 27.25500107 Tm [<013E013F008C009300F900DE001000180071016500E6003E001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 412.125 27.25500107 Tm /GS166 gs 0 g [( )] TJ ET EMC Q q /GS167 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 171.6000061 m 416.75 171.6000061 l 416.75 202.80000305 l -1.45000005 202.80000305 l h f* Q q 1 0 0 1 0 171.6000061 cm /P <> BDC BT /FAABAB 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q q /GS168 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 202.80000305 m 416.75 202.80000305 l 416.75 234 l -1.45000005 234 l h f* Q q 1 0 0 1 0 202.80000305 cm /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS169 gs 0.10980392 0.12156863 0.12941177 rg [<002100220039003A003B003C003D00230024003E003F>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 115.5 20.17499924 Tm /GS170 gs 0 g [( )] TJ ET EMC Q q /GS171 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 234 m 416.75 234 l 416.75 249.6000061 l -1.45000005 249.6000061 l h f* Q q 1 0 0 1 0 234 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS172 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<00B200B300410020002100910011005E00B200B3006C009A002500C200A8013C0022007700D4009100110018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 244.125 11.65499973 Tm [(interface)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 294 11.65499973 Tm [<003D0169016A009C009D000F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 357 11.65499973 Tm [(@)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 362.25 11.65499973 Tm [<016B016C016D016E001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 414.75 11.65499973 Tm /GS173 gs 0 g [( )] TJ ET EMC Q q /GS174 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 249.6000061 m 416.75 249.6000061 l 416.75 265.20001221 l -1.45000005 265.20001221 l h f* Q q 1 0 0 1 0 249.6000061 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS175 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<009100110053005400A60035016F00140170014D0141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 126 11.65499973 Tm /GS176 gs 0 g [( )] TJ ET EMC Q q /GS177 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 265.20001221 m 416.75 265.20001221 l 416.75 280.80001831 l -1.45000005 280.80001831 l h f* Q q /GS178 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 280.79998779 m 416.75 280.79998779 l 416.75 296.3999939 l -1.45000005 296.3999939 l h f* Q q 1 0 0 1 0 265.20001221 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS179 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 8.42500019 11.65499973 Tm [<0091001100530054017100B70172001B00D301730020001200BF00780083001B00D3006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 197.42500305 11.65499973 Tm [(String)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 228.92500305 11.65499973 Tm [<006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 239.42500305 11.65499973 Tm [(Enums)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 265.67498779 11.65499973 Tm [<006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 276.17498779 11.65499973 Tm [(Annotation)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 331.29998779 11.65499973 Tm [<0175017600D400F700F5001B00D30018>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<014D00B60141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 31.5 27.25500107 Tm /GS180 gs 0 g [( )] TJ ET EMC Q q /GS181 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 296.3999939 m 416.75 296.3999939 l 416.75 312 l -1.45000005 312 l h f* Q q 1 0 0 1 0 296.3999939 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS182 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<0091001100530054000E000F00140177017801720141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 126 11.65499973 Tm /GS183 gs 0 g [( )] TJ ET EMC Q q /GS184 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 312 m 416.75 312 l 416.75 327.6000061 l -1.45000005 327.6000061 l h f* Q q 1 0 0 1 0 312 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS185 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<009100110083004200350179001D00130148009100110022014800910011009B0050004900910011007C012D00910011001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 273 11.65499973 Tm /GS186 gs 0 g [( )] TJ ET EMC Q q /GS187 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 327.6000061 m 416.75 327.6000061 l 416.75 343.20001221 l -1.45000005 343.20001221 l h f* Q q 1 0 0 1 0 327.6000061 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS188 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 343.20001221 m 416.75 343.20001221 l 416.75 374.40002441 l -1.45000005 374.40002441 l h f* Q q 1 0 0 1 0 343.20001221 cm /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS189 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 37.77500153 20.17499924 Tm [(MVC)] TJ ET EMC /P <> BDC BT 1 0 0 -1 63.14799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 68.39800262 20.17499924 Tm [<0042004300440045>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 110.39800262 20.17499924 Tm /GS190 gs 0 g [( )] TJ ET EMC Q q /GS191 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 374.3999939 m 416.75 374.3999939 l 416.75 390 l -1.45000005 390 l h f* Q q /GS192 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 390 m 416.75 390 l 416.75 405.6000061 l -1.45000005 405.6000061 l h f* Q q 1 0 0 1 0 374.3999939 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS193 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(1.spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 52.5 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 57.75 11.65499973 Tm [(mvc)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 76.125 11.65499973 Tm [<002E00FD00140018002B002C0130007A01600134>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 183.75 11.65499973 Tm [(DispatcherServlet,)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 278.25 11.65499973 Tm [<012D0123012E012F00300050003E00860018007C007D01560157>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<00AF00B0002F002B002C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.5 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 57.75 27.25500107 Tm [<00A7009F017B017C001800DE00100019003A001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 162.75 27.25500107 Tm /GS194 gs 0 g [( )] TJ ET EMC Q q /GS195 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 405.6000061 m 416.75 405.6000061 l 416.75 421.20001221 l -1.45000005 421.20001221 l h f* Q q 1 0 0 1 0 405.6000061 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS196 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(2.DispatcherServlet)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 112.875 11.65499973 Tm [<017D017E006C009A0175017F009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 189 11.65499973 Tm [(HandlerMapping,)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 267.75 11.65499973 Tm [<0180002700DE0010002B002C0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 343.875 11.65499973 Tm [(Controller.)] TJ ET EMC /P <> BDC BT 1 0 0 -1 401.625 11.65499973 Tm /GS197 gs 0 g [( )] TJ ET EMC Q q /GS198 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 421.20001221 m 416.75 421.20001221 l 416.75 436.80001831 l -1.45000005 436.80001831 l h f* Q q 1 0 0 1 0 421.20001221 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS199 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(3.DispatcherServlet)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 112.875 11.65499973 Tm [<002B002B002C007A01600027011E011F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 199.5 11.65499973 Tm [(Controller)] TJ ET EMC /P <> BDC BT 1 0 0 -1 252 11.65499973 Tm /GS200 gs 0 g [( )] TJ ET EMC Q q /GS201 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 436.79998779 m 416.75 436.79998779 l 416.75 452.3999939 l -1.45000005 452.3999939 l h f* Q q 1 0 0 1 0 436.79998779 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS202 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(4.Controller)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 76.125 11.65499973 Tm [<00A7009F00F800F90145014600DE001000B900220123017100B7006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 236.25 11.65499973 Tm [(ModelAndView)] TJ ET EMC /P <> BDC BT 1 0 0 -1 299.25 11.65499973 Tm /GS203 gs 0 g [( )] TJ ET EMC Q q /GS204 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 452.3999939 m 416.75 452.3999939 l 416.75 468 l -1.45000005 468 l h f* Q q /GS205 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 468 m 416.75 468 l 416.75 483.6000061 l -1.45000005 483.6000061 l h f* Q q 1 0 0 1 0 452.3999939 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS206 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(5.Dispathcher)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 81.375 11.65499973 Tm [<017D017E006C009A0175017F009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 157.5 11.65499973 Tm [(ViewResolver)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 223.125 11.65499973 Tm [<01860187001100A90090>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 275.625 11.65499973 Tm [(,)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 280.875 11.65499973 Tm [<01800027>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 304.5 11.65499973 Tm [(ModelAndView)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 370.125 11.65499973 Tm [<002F0036013A0020>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<001801860187002F0036>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.5 27.25500107 Tm /GS207 gs 0 g [( )] TJ ET EMC Q q /GS208 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 483.6000061 m 416.75 483.6000061 l 416.75 499.20001221 l -1.45000005 499.20001221 l h f* Q q 1 0 0 1 0 483.6000061 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS209 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(6.)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 21 11.65499973 Tm [<01860187002F003600AF00B00189018A017100B7013400280029002A001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 178.5 11.65499973 Tm /GS210 gs 0 g [( )] TJ ET EMC Q q /GS211 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 499.20001221 m 416.75 499.20001221 l 416.75 530.40002441 l -1.45000005 530.40002441 l h f* Q q 1 0 0 1 0 499.20001221 cm /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q q /GS212 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 530.40002441 m 416.75 530.40002441 l 416.75 561.60003662 l -1.45000005 561.60003662 l h f* Q q 1 0 0 1 0 530.40002441 cm /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS213 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 37.77500153 20.17499924 Tm [(MVC)] TJ ET EMC /P <> BDC BT 1 0 0 -1 63.14799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 68.39800262 20.17499924 Tm [<0046002900440045>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 110.39800262 20.17499924 Tm /GS214 gs 0 g [( )] TJ ET EMC Q q /GS215 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 561.59997559 m 416.75 561.59997559 l 416.75 577.19995117 l -1.45000005 577.19995117 l h f* Q q 1 0 0 1 0 561.59997559 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS216 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 9.39500046 11.65499973 Tm [<0024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 19.89500046 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 24.04000092 11.65499973 Tm [(web.xml)] TJ ET EMC /P <> BDC BT 1 0 0 -1 60.79000092 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 64.93499756 11.65499973 Tm [<0082008900460134>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 106.93499756 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 111.08000183 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 142.58000183 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 146.7250061 11.65499973 Tm [(MVC)] TJ ET EMC /P <> BDC BT 1 0 0 -1 162.4750061 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 166.61999512 11.65499973 Tm [<0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 177.11999512 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 181.26499939 11.65499973 Tm [(Servlet)] TJ ET EMC /P <> BDC BT 1 0 0 -1 218.01499939 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 222.16000366 11.65499973 Tm [<00440045001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 253.66000366 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 257.80499268 11.65499973 Tm [(load-on-startup,)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 341.80499268 11.65499973 Tm [<00FD000F00EF018C018D01100018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 415.30499268 11.65499973 Tm /GS217 gs 0 g [( )] TJ ET EMC Q q /GS218 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 577.20001221 m 416.75 577.20001221 l 416.75 592.79998779 l -1.45000005 592.79998779 l h f* Q q 1 0 0 1 0 577.20001221 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS219 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<002D018E0123005100520033>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 73.5 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 78.75 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 110.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 115.5 11.65499973 Tm [(MVC)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 131.25 11.65499973 Tm [<00220024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 152.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 157.5 11.65499973 Tm [(HttpServletBean)] TJ ET EMC /P <> BDC BT 1 0 0 -1 236.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 241.5 11.65499973 Tm [<0046002E004400450018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 294 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 299.25 11.65499973 Tm [(contextConfigLocation)] TJ ET EMC /P <> BDC BT 1 0 0 -1 409.5 11.65499973 Tm /GS220 gs 0 g [( )] TJ ET EMC Q q /GS221 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 592.79998779 m 416.75 592.79998779 l 416.75 608.39996338 l -1.45000005 608.39996338 l h f* Q q 1 0 0 1 0 592.79998779 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS222 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 9.71700001 11.65499973 Tm [<015A0151007100450027>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 62.21699905 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 66.68399811 11.65499973 Tm [(Servlet)] TJ ET EMC /P <> BDC BT 1 0 0 -1 103.43399811 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 107.90100098 11.65499973 Tm [<00460022018F00B90024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 160.40100098 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 164.86799622 11.65499973 Tm [(FrameworkServlet)] TJ ET EMC /P <> BDC BT 1 0 0 -1 248.86799622 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 253.33500671 11.65499973 Tm [<004600B200B3001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 295.33499146 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 299.80200195 11.65499973 Tm [(WebApplicationContext,)] TJ ET EMC /P <> BDC BT 1 0 0 -1 415.30200195 11.65499973 Tm /GS223 gs 0 g [( )] TJ ET EMC Q q /GS224 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 608.40002441 m 416.75 608.40002441 l 416.75 624 l -1.45000005 624 l h f* Q q /GS225 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 624 m 416.75 624 l 416.75 639.59997559 l -1.45000005 639.59997559 l h f* Q q 1 0 0 1 0 608.40002441 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS226 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 7.94399977 11.65499973 Tm [(DispatcherServlet)] TJ ET EMC /P <> BDC BT 1 0 0 -1 97.19400024 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 99.88800049 11.65499973 Tm [<00720073>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 120.88800049 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 123.58200073 11.65499973 Tm [(contextConfigLocation)] TJ ET EMC /P <> BDC BT 1 0 0 -1 233.83200073 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 236.52600098 11.65499973 Tm [<004400450018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 268.02600098 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 270.72000122 11.65499973 Tm [(classpath)] TJ ET EMC /P <> BDC BT 1 0 0 -1 317.97000122 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 320.66400146 11.65499973 Tm [<00BD0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 341.66400146 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 344.35800171 11.65499973 Tm [(xml)] TJ ET EMC /P <> BDC BT 1 0 0 -1 360.10800171 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 362.80200195 11.65499973 Tm [<00820089005100520033>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 10.5 27.25500107 Tm /GS227 gs 0 g [( )] TJ ET EMC Q q /GS228 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 639.59997559 m 416.75 639.59997559 l 416.75 655.19995117 l -1.45000005 655.19995117 l h f* Q q 1 0 0 1 0 639.59997559 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS229 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 42 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 47.25 11.65499973 Tm [(MVC)] TJ ET EMC /P <> BDC BT 1 0 0 -1 63 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 68.25 11.65499973 Tm [<0190001800B60089001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 120.75 11.65499973 Tm /GS230 gs 0 g [( )] TJ ET EMC Q q /GS231 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 655.20001221 m 416.75 655.20001221 l 416.75 670.79998779 l -1.45000005 670.79998779 l h f* Q q 1 0 0 1 0 655.20001221 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS232 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 670.79998779 m 416.75 670.79998779 l 416.75 702 l -1.45000005 702 l h f* Q q 1 0 0 1 0 670.79998779 cm /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q Q 1 0 0 -1 0 841.90002441 cm +endstream +endobj +179 0 obj +<> +endobj +180 0 obj +<> +endobj +181 0 obj +<> +endobj +182 0 obj +<> +endobj +183 0 obj +<> +endobj +184 0 obj +<> +endobj +185 0 obj +<> +endobj +186 0 obj +<> +endobj +187 0 obj +<> +endobj +188 0 obj +<> +endobj +189 0 obj +<> +endobj +190 0 obj +<> +endobj +191 0 obj +<> +endobj +192 0 obj +<> +endobj +193 0 obj +<> +endobj +194 0 obj +<> +endobj +195 0 obj +<> +endobj +196 0 obj +<> +endobj +197 0 obj +<> +endobj +198 0 obj +<> +endobj +199 0 obj +<> +endobj +200 0 obj +<> +endobj +201 0 obj +<> +endobj +202 0 obj +<> +endobj +203 0 obj +<> +endobj +204 0 obj +<> +endobj +205 0 obj +<> +endobj +206 0 obj +<> +endobj +207 0 obj +<> +endobj +208 0 obj +<> +endobj +209 0 obj +<> +endobj +210 0 obj +<> +endobj +211 0 obj +<> +endobj +212 0 obj +<> +endobj +213 0 obj +<> +endobj +214 0 obj +<> +endobj +215 0 obj +<> +endobj +216 0 obj +<> +endobj +217 0 obj +<> +endobj +218 0 obj +<> +endobj +219 0 obj +<> +endobj +220 0 obj +<> +endobj +221 0 obj +<> +endobj +222 0 obj +<> +endobj +223 0 obj +<> +endobj +224 0 obj +<> +endobj +225 0 obj +<> +endobj +226 0 obj +<> +endobj +227 0 obj +<> +endobj +228 0 obj +<> +endobj +229 0 obj +<> +endobj +230 0 obj +<> +endobj +231 0 obj +<> +endobj +232 0 obj +<> +endobj +233 0 obj +<> +endobj +234 0 obj +<> +endobj +235 0 obj +<> +endobj +236 0 obj +<> +endobj +237 0 obj +<> +endobj +238 0 obj +<> +endobj +239 0 obj +<> +endobj +240 0 obj +<> +endobj +241 0 obj +<> +endobj +242 0 obj +<> +endobj +243 0 obj +<> +endobj +244 0 obj +<> +endobj +245 0 obj +<> +endobj +246 0 obj +<> +endobj +247 0 obj +<> +endobj +248 0 obj +<> +endobj +249 0 obj +<> +endobj +250 0 obj +<> +endobj +251 0 obj +<> +endobj +252 0 obj +<> +endobj +253 0 obj +<> +endobj +254 0 obj +<> +endobj +255 0 obj +<> +endobj +256 0 obj +<> +endobj +257 0 obj +<> +endobj +258 0 obj +<> +endobj +259 0 obj +<> +endobj +260 0 obj +<> +endobj +261 0 obj +<> +endobj +262 0 obj +<> +endobj +263 0 obj +29765 +endobj +264 0 obj +<>/ExtGState<>>>/Group<>/StructParents 3/Tabs/S>> +endobj +265 0 obj +<>stream +1 0 0 -1 0 841.90002441 cm q 1 0 0 1 90 72 cm q 0.97254902 0.98039216 0.98823529 rg -1.45000005 0 m 416.75 0 l 416.75 31.20000076 l -1.45000005 31.20000076 l h f* Q /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 39.89799881 20.17499924 Tm [<001A004700480023002400270028>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 113.39800262 20.17499924 Tm /GS233 gs 0 g [( )] TJ ET EMC q /GS234 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 31.20000076 m 416.75 31.20000076 l 416.75 46.80000305 l -1.45000005 46.80000305 l h f* Q q /GS235 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 46.79999924 m 416.75 46.79999924 l 416.75 62.40000153 l -1.45000005 62.40000153 l h f* Q q 1 0 0 1 0 31.20000076 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS236 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.01299953 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 39.51300049 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 42.27600098 11.65499973 Tm [<002F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.77600098 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 55.53900146 11.65499973 Tm [(Bean)] TJ ET EMC /P <> BDC BT 1 0 0 -1 76.53900146 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 79.30200195 11.65499973 Tm [<00310032001800B200B300D4019100500097003200910092006300180053008C00A7009F003100E700180022013600F7009A00910092006300180192019300D4>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 415.30200195 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [(ConcurrentHashMap)] TJ ET EMC /P <> BDC BT 1 0 0 -1 89.25 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 94.5 27.25500107 Tm [<002F0036001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 126 27.25500107 Tm /GS237 gs 0 g [( )] TJ ET EMC Q q /GS238 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 62.40000153 m 416.75 62.40000153 l 416.75 78 l -1.45000005 78 l h f* Q q 1 0 0 1 0 62.40000153 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS239 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 78 m 416.75 78 l 416.75 109.19999695 l -1.45000005 109.19999695 l h f* Q q 1 0 0 1 0 78 cm /P <> BDC BT 1 0 0 -1 0 20.17499924 Tm /GS240 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 39.89799881 20.17499924 Tm [<0049004A004B004C004D004E004F00500051005200530036>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 165.897995 20.17499924 Tm /GS241 gs 0 g [( )] TJ ET EMC Q q /GS242 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 109.19999695 m 416.75 109.19999695 l 416.75 124.79999542 l -1.45000005 124.79999542 l h f* Q q 1 0 0 1 0 109.19999695 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS243 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<010B00100156008C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.5 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 63 11.65499973 Tm [<0024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 76.125 11.65499973 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 94.5 11.65499973 Tm [<005E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 107.625 11.65499973 Tm [(remoting)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 152.25 11.65499973 Tm [<0046009B0050001800DA0194017F001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 236.25 11.65499973 Tm /GS244 gs 0 g [( )] TJ ET EMC Q q /GS245 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 124.80000305 m 416.75 124.80000305 l 416.75 140.40000916 l -1.45000005 140.40000916 l h f* Q q 1 0 0 1 0 124.80000305 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS246 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<009700320156008C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.5 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 63 11.65499973 Tm [<0024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 76.125 11.65499973 Tm [(spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 110.25 11.65499973 Tm [<00440045008200890046002000210018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 196.875 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 220.5 11.65499973 Tm [<017701780012009700320156008C001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 304.5 11.65499973 Tm /GS247 gs 0 g [( )] TJ ET EMC Q q /GS248 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 140.3999939 m 416.75 140.3999939 l 416.75 156 l -1.45000005 156 l h f* Q q /GS249 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 156 m 416.75 156 l 416.75 171.6000061 l -1.45000005 171.6000061 l h f* Q q 1 0 0 1 0 140.3999939 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS250 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<0156019500530054>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.5 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 63 11.65499973 Tm [<005000490011014A010B010C019601970018014B014C001C00DA0069>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 210 11.65499973 Tm [(.)] TJ ET EMC /P <> BDC BT 1 0 0 -1 215.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 220.5 11.65499973 Tm [(RestTemplate,)] TJ ET EMC /P <> BDC BT 1 0 0 -1 288.75 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 294 11.65499973 Tm [(JmsTemplate,)] TJ ET EMC /P <> BDC BT 1 0 0 -1 357 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [(JpaTemplate)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 57.75 27.25500107 Tm [<001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 68.25 27.25500107 Tm /GS251 gs 0 g [( )] TJ ET EMC Q q /GS252 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 171.6000061 m 416.75 171.6000061 l 416.75 187.20001221 l -1.45000005 187.20001221 l h f* Q q 1 0 0 1 0 171.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS253 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<00BA002A004D004E0090>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 63 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT 1 0 0 -1 73.5 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 107.625 11.65499973 Tm [<007A007B001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 141.75 11.65499973 Tm [(DispatcherServlet)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 233.625 11.65499973 Tm [<0049002F002B002C00A7009F00740075001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 328.125 11.65499973 Tm /GS254 gs 0 g [( )] TJ ET EMC Q q /GS255 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 187.19999695 m 416.75 187.19999695 l 416.75 202.80000305 l -1.45000005 202.80000305 l h f* Q q /GS256 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 202.80000305 m 416.75 202.80000305 l 416.75 218.40000916 l -1.45000005 218.40000916 l h f* Q q 1 0 0 1 0 187.19999695 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS257 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 8.05900002 11.65499973 Tm [<0186018701980199>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 50.05899811 11.65499973 Tm [(\(View)] TJ ET EMC /P <> BDC BT 1 0 0 -1 76.30899811 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 79.11799622 11.65499973 Tm [(Helper)] TJ ET EMC /P <> BDC BT 1 0 0 -1 110.61799622 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 113.42700195 11.65499973 Tm [(\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 118.67700195 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT 1 0 0 -1 129.17700195 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 163.30200195 11.65499973 Tm [<007A007B001E006C003E00A00018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 239.42700195 11.65499973 Tm [(JSP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 257.80200195 11.65499973 Tm [<011F019A0022019B019C019D0049019E0199002E0074019F0018010B010C>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<01A0001700240186018701A1001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 73.5 27.25500107 Tm /GS258 gs 0 g [( )] TJ ET EMC Q q /GS259 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 218.3999939 m 416.75 218.3999939 l 416.75 234 l -1.45000005 234 l h f* Q q 1 0 0 1 0 218.3999939 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS260 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<01A201A3009101A4>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.5 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 63 11.65499973 Tm [<01A501A600DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 97.125 11.65499973 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT 1 0 0 -1 154.875 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 160.125 11.65499973 Tm [(/)] TJ ET EMC /P <> BDC BT 1 0 0 -1 165.375 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 170.625 11.65499973 Tm [(ApplicationContext)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 267.75 11.65499973 Tm [<002500C2001800EA00EB001001A8001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 351.75 11.65499973 Tm /GS261 gs 0 g [( )] TJ ET EMC Q q /GS262 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 234 m 416.75 234 l 416.75 249.6000061 l -1.45000005 249.6000061 l h f* Q q 1 0 0 1 0 234 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS263 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<0019001A0156008C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.5 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT 1 0 0 -1 63 11.65499973 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 123.375 11.65499973 Tm [<0050004900B200B3002F0036001800310032001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 228.375 11.65499973 Tm /GS264 gs 0 g [( )] TJ ET EMC Q q 1 0 0 1 0 249.6000061 cm /P <> BDC BT /FAABAB 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q q 1 0 0 1 0 280.79998779 cm /P <> BDC BT /FAABAB 16.5 Tf 1 0 0 -1 0 22.79000092 Tm /GS265 gs 0.10980392 0.12156863 0.12941177 rg [(Nett)1(y)] TJ ET EMC /P <> BDC BT /FAAABH 12 Tf 1 0 0 -1 43.80400085 22.79000092 Tm /GS266 gs 0 g [( )] TJ ET EMC Q q /GS267 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 312 m 416.75 312 l 416.75 343.20001221 l -1.45000005 343.20001221 l h f* Q q 1 0 0 1 0 312 cm /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS268 gs 0.10980392 0.12156863 0.12941177 rg [<00540014001500550056>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 52.5 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 57.75 20.17499924 Tm [(Netty)] TJ ET EMC /P <> BDC BT 1 0 0 -1 87.49099731 20.17499924 Tm /GS269 gs 0 g [( )] TJ ET EMC Q q /GS270 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 343.20001221 m 416.75 343.20001221 l 416.75 358.80001831 l -1.45000005 358.80001831 l h f* Q q 1 0 0 1 0 343.20001221 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS271 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(1\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 26.25 11.65499973 Tm [(API)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 44.625 11.65499973 Tm [<00CF0050009600970022016D007501A901AA01AB0141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 160.125 11.65499973 Tm /GS272 gs 0 g [( )] TJ ET EMC Q q /GS273 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 358.79998779 m 416.75 358.79998779 l 416.75 374.3999939 l -1.45000005 374.3999939 l h f* Q q 1 0 0 1 0 358.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS274 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(2\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.25 11.65499973 Tm [<0076003501AC01AD002201AE0045001E017F001F00EE0011010C007600350022007E007F017F001F011101AF003901B00141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 288.75 11.65499973 Tm /GS275 gs 0 g [( )] TJ ET EMC Q q /GS276 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 374.3999939 m 416.75 374.3999939 l 416.75 390 l -1.45000005 390 l h f* Q q 1 0 0 1 0 374.3999939 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS277 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(3\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.25 11.65499973 Tm [<0020004E003501B101AC0022000E000F01040105>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 131.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 136.5 11.65499973 Tm [(ChannelHandler)] TJ ET EMC /P <> BDC BT 1 0 0 -1 210 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 215.25 11.65499973 Tm [<002F0104010100BB00BC00A7009F01B201B3001800D600D70141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 351.75 11.65499973 Tm /GS278 gs 0 g [( )] TJ ET EMC Q q /GS279 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 390 m 416.75 390 l 416.75 405.6000061 l -1.45000005 405.6000061 l h f* Q q 1 0 0 1 0 390 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS280 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(4\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.25 11.65499973 Tm [<01510035019B0022010401050043007C012D00F801B4011101AF0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 175.875 11.65499973 Tm [(NIO)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 194.25 11.65499973 Tm [<00BB00BC002F00DA0022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 246.75 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 275.625 11.65499973 Tm [<001801B600170151003501B701B80141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 359.625 11.65499973 Tm /GS281 gs 0 g [( )] TJ ET EMC Q q /GS282 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 405.6000061 m 416.75 405.6000061 l 416.75 421.20001221 l -1.45000005 421.20001221 l h f* Q q /GS283 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 421.20001221 m 416.75 421.20001221 l 416.75 436.80001831 l -1.45000005 436.80001831 l h f* Q q 1 0 0 1 0 405.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS284 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(5\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.25 11.65499973 Tm [<003801B9006F01BA00200022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 89.25 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 118.125 11.65499973 Tm [<01090197001E008D00F2007500E7001800FD0014>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 225.75 11.65499973 Tm [(JDK)] TJ ET EMC /P <> BDC BT 1 0 0 -1 241.5 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 246.75 11.65499973 Tm [(NIO)] TJ ET EMC /P <> BDC BT 1 0 0 -1 262.5 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 267.75 11.65499973 Tm [(BUG)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 283.5 11.65499973 Tm [<002200F800F9016D007500FF01BC00A6009C009D01BD0012>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(NIO)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 18.375 27.25500107 Tm [<0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 31.5 27.25500107 Tm [(BUG)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 49.875 27.25500107 Tm [<013601BE01BF0141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 91.875 27.25500107 Tm /GS285 gs 0 g [( )] TJ ET EMC Q q /GS286 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 436.79998779 m 416.75 436.79998779 l 416.75 452.3999939 l -1.45000005 452.3999939 l h f* Q q /GS287 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 452.3999939 m 416.75 452.3999939 l 416.75 468 l -1.45000005 468 l h f* Q q 1 0 0 1 0 436.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS288 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(6\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.25 11.65499973 Tm [<01C001C101B301C2002201C3008301C4010B004B004C01C50022007500E70018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 196.875 11.65499973 Tm [(BUG)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 215.25 11.65499973 Tm [<000E000F009B00E2002D010901970022006A002D002200DC017F001801C6007600350123009B>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<00D901A40141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 31.5 27.25500107 Tm /GS289 gs 0 g [( )] TJ ET EMC Q q /GS290 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 468 m 416.75 468 l 416.75 483.6000061 l -1.45000005 483.6000061 l h f* Q q /GS291 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 483.6000061 m 416.75 483.6000061 l 416.75 499.20001221 l -1.45000005 499.20001221 l h f* Q q /GS292 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 499.20001221 m 416.75 499.20001221 l 416.75 514.79998779 l -1.45000005 514.79998779 l h f* Q q 1 0 0 1 0 468 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS293 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(7\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.25 11.65499973 Tm [<00F201C8001E01AD01440156001801C900F80030005001CA01CB002201CC01CD008D00F200D0002701CB01CE001C002401CF007001D0006F01AD014D0073006F01D001D101D201D3006F>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<01D400F800300050006F01D5010101D60089010001D7017F009F00F800D000270038007601C90050002201CE013F001E012D000E000F010E01D801D901DA00A6006A009F00F8001801C900F80030>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<0050001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 21 42.85499954 Tm /GS294 gs 0 g [( )] TJ ET EMC Q q /GS295 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 514.79998779 m 416.75 514.79998779 l 416.75 530.39996338 l -1.45000005 530.39996338 l h f* Q q 1 0 0 1 0 514.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS296 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<017C00D4012C001200F700F501B801DB0022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 105 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 133.875 11.65499973 Tm [<01DC01DD00380012>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 178.5 11.65499973 Tm [(Java)] TJ ET EMC /P <> BDC BT 1 0 0 -1 199.5 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 204.75 11.65499973 Tm [(NIO)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 223.125 11.65499973 Tm [<00EE00EF00180150012400BB00BC001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 307.125 11.65499973 Tm /GS297 gs 0 g [( )] TJ ET EMC Q q /GS298 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 530.40002441 m 416.75 530.40002441 l 416.75 546 l -1.45000005 546 l h f* Q q 1 0 0 1 0 530.40002441 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS299 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 546 m 416.75 546 l 416.75 577.20001221 l -1.45000005 577.20001221 l h f* Q q 1 0 0 1 0 546 cm /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS300 gs 0.10980392 0.12156863 0.12941177 rg [<0025002500580034004B0059>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 63 20.17499924 Tm [(Netty)] TJ ET EMC /P <> BDC BT 1 0 0 -1 92.74099731 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 97.99099731 20.17499924 Tm [<001A005A004C005B005C>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 150.49099731 20.17499924 Tm /GS301 gs 0 g [( )] TJ ET EMC Q q /GS302 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 577.20001221 m 416.75 577.20001221 l 416.75 592.79998779 l -1.45000005 592.79998779 l h f* Q q /GS303 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 592.79998779 m 416.75 592.79998779 l 416.75 608.39996338 l -1.45000005 608.39996338 l h f* Q q 1 0 0 1 0 577.20001221 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS304 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<00AA00B3019B01510035006F01AB002D01DE001800E9001F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 139.125 11.65499973 Tm [(Java)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 162.75 11.65499973 Tm [<0046003C0089002200320069>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 228.375 11.65499973 Tm [(MQ)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 238.875 11.65499973 Tm [<006F007401E0008C01E100F900BB00BC006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 333.375 11.65499973 Tm [(ESB)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 351.75 11.65499973 Tm [<00840085019001E201000022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 28.875 27.25500107 Tm [<0111009D003A0012007800790104010100BB00BC007A007B019B01510035006F01AB002D01DE00180104010101E100F90141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 291.375 27.25500107 Tm /GS305 gs 0 g [( )] TJ ET EMC Q q /GS306 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 608.40002441 m 416.75 608.40002441 l 416.75 624 l -1.45000005 624 l h f* Q q /GS307 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 624 m 416.75 624 l 416.75 639.59997559 l -1.45000005 639.59997559 l h f* Q q 1 0 0 1 0 608.40002441 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS308 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<01E300140175017601E40014003901B001E50018007800790104010100BB00BC002200320069000E000F007800DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 254.625 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 283.5 11.65499973 Tm [<00AA00B301E601E7006F019B015100350018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(WebSocket)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 49.875 27.25500107 Tm [<003901B001E50141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 91.875 27.25500107 Tm /GS309 gs 0 g [( )] TJ ET EMC Q q /GS310 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 639.59997559 m 416.75 639.59997559 l 416.75 655.19995117 l -1.45000005 655.19995117 l h f* Q q /GS311 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 655.20001221 m 416.75 655.20001221 l 416.75 670.79998779 l -1.45000005 670.79998779 l h f* Q q 1 0 0 1 0 639.59997559 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS312 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 8.42500019 11.65499973 Tm [<00E901E801E90030005000220032006901AD014D0073006F01D201D301000022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 176.42500305 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 205.30000305 11.65499973 Tm [<003A0012019B0151003500180104010100BB00BC005000DF015C014F00E9015601570018014D0073>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<00740075006F00E001EA005E01EB019001000022003100E701560157003B003C019B0151003501040101001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 231 27.25500107 Tm /GS313 gs 0 g [( )] TJ ET EMC Q q /GS314 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 670.79998779 m 416.75 670.79998779 l 416.75 686.39996338 l -1.45000005 686.39996338 l h f* Q q 1 0 0 1 0 670.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q Q 1 0 0 -1 0 841.90002441 cm +endstream +endobj +266 0 obj +<> +endobj +267 0 obj +<> +endobj +268 0 obj +<> +endobj +269 0 obj +<> +endobj +270 0 obj +<> +endobj +271 0 obj +<> +endobj +272 0 obj +<> +endobj +273 0 obj +<> +endobj +274 0 obj +<> +endobj +275 0 obj +<> +endobj +276 0 obj +<> +endobj +277 0 obj +<> +endobj +278 0 obj +<> +endobj +279 0 obj +<> +endobj +280 0 obj +<> +endobj +281 0 obj +<> +endobj +282 0 obj +<> +endobj +283 0 obj +<> +endobj +284 0 obj +<> +endobj +285 0 obj +<> +endobj +286 0 obj +<> +endobj +287 0 obj +<> +endobj +288 0 obj +<> +endobj +289 0 obj +<> +endobj +290 0 obj +<> +endobj +291 0 obj +<> +endobj +292 0 obj +<> +endobj +293 0 obj +<> +endobj +294 0 obj +<> +endobj +295 0 obj +<> +endobj +296 0 obj +<> +endobj +297 0 obj +<> +endobj +298 0 obj +<> +endobj +299 0 obj +<> +endobj +300 0 obj +<> +endobj +301 0 obj +<> +endobj +302 0 obj +<> +endobj +303 0 obj +<> +endobj +304 0 obj +<> +endobj +305 0 obj +<> +endobj +306 0 obj +<> +endobj +307 0 obj +<> +endobj +308 0 obj +<> +endobj +309 0 obj +<> +endobj +310 0 obj +<> +endobj +311 0 obj +<> +endobj +312 0 obj +<> +endobj +313 0 obj +<> +endobj +314 0 obj +<> +endobj +315 0 obj +<> +endobj +316 0 obj +<> +endobj +317 0 obj +<> +endobj +318 0 obj +<> +endobj +319 0 obj +<> +endobj +320 0 obj +<> +endobj +321 0 obj +<> +endobj +322 0 obj +<> +endobj +323 0 obj +<> +endobj +324 0 obj +<> +endobj +325 0 obj +<> +endobj +326 0 obj +<> +endobj +327 0 obj +<> +endobj +328 0 obj +<> +endobj +329 0 obj +<> +endobj +330 0 obj +<> +endobj +331 0 obj +<> +endobj +332 0 obj +<> +endobj +333 0 obj +<> +endobj +334 0 obj +<> +endobj +335 0 obj +<> +endobj +336 0 obj +<> +endobj +337 0 obj +<> +endobj +338 0 obj +<> +endobj +339 0 obj +<> +endobj +340 0 obj +<> +endobj +341 0 obj +<> +endobj +342 0 obj +<> +endobj +343 0 obj +<> +endobj +344 0 obj +<> +endobj +345 0 obj +<> +endobj +346 0 obj +<> +endobj +347 0 obj +<> +endobj +348 0 obj +28690 +endobj +349 0 obj +<>/ExtGState<>>>/Group<>/StructParents 4/Tabs/S>> +endobj +350 0 obj +<>stream +1 0 0 -1 0 841.90002441 cm q 1 0 0 1 90 72 cm q 0.97254902 0.98039216 0.98823529 rg -1.45000005 0 m 416.75 0 l 416.75 15.60000038 l -1.45000005 15.60000038 l h f* Q /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS315 gs 0 g [( )] TJ ET EMC q /GS316 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 15.60000038 m 416.75 15.60000038 l 416.75 31.20000076 l -1.45000005 31.20000076 l h f* Q q 1 0 0 1 0 15.60000038 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS317 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 31.20000076 m 416.75 31.20000076 l 416.75 62.40000153 l -1.45000005 62.40000153 l h f* Q q 1 0 0 1 0 31.20000076 cm /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS318 gs 0.10980392 0.12156863 0.12941177 rg [<0027001B001A>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 31.5 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 36.75 20.17499924 Tm [(NI)-1(O)] TJ ET EMC /P <> BDC BT 1 0 0 -1 57.77099991 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 63.02099991 20.17499924 Tm [<005D>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 73.52100372 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 78.77100372 20.17499924 Tm [(JDK)] TJ ET EMC /P <> BDC BT 1 0 0 -1 99.29399872 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 102.42099762 20.17499924 Tm [(1.)1(7)] TJ ET EMC /P <> BDC BT 1 0 0 -1 118.3710022 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 123.6210022 20.17499924 Tm [<006100620063005D>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 165.6210022 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 170.8710022 20.17499924 Tm [(epoll)] TJ ET EMC /P <> BDC BT 1 0 0 -1 197.08999634 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 200.21699524 20.17499924 Tm [(bug)] TJ ET EMC /P <> BDC BT 1 0 0 -1 220.99099731 20.17499924 Tm /GS319 gs 0 g [( )] TJ ET EMC Q q /GS320 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 62.40000153 m 416.75 62.40000153 l 416.75 78 l -1.45000005 78 l h f* Q q /GS321 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 78 m 416.75 78 l 416.75 93.59999847 l -1.45000005 93.59999847 l h f* Q q /GS322 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 93.59999847 m 416.75 93.59999847 l 416.75 109.19999695 l -1.45000005 109.19999695 l h f* Q q 1 0 0 1 0 62.40000153 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS323 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 8.05900002 11.65499973 Tm [<012D012301EC01ED>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.68399811 11.65499973 Tm [(Selector)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 97.30899811 11.65499973 Tm [<01EE01EF017E002201B701F001EC01ED>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 183.93400574 11.65499973 Tm [(CPU)] TJ ET EMC /P <> BDC BT 1 0 0 -1 199.68400574 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 202.49299622 11.65499973 Tm [(100%)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 223.49299622 11.65499973 Tm [<001C01F30053013E01F40024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 289.11801147 11.65499973 Tm [(JDK)] TJ ET EMC /P <> BDC BT 1 0 0 -1 304.86801147 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 307.67700195 11.65499973 Tm [(1.6)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 326.05200195 11.65499973 Tm [<01C300830018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 360.17700195 11.65499973 Tm [(update18)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 404.80200195 11.65499973 Tm [<0109>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<0197001E010F014B014C0022007700D401F60027>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 107.625 27.25500107 Tm [(JDK)] TJ ET EMC /P <> BDC BT 1 0 0 -1 123.375 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 128.625 27.25500107 Tm [(1.7)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 147 27.25500107 Tm [<01C30083010F014B014C01F701F8019300240022013200A60105010F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 296.625 27.25500107 Tm [(BUG)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 315 27.25500107 Tm [<0075003701F901FA01FB01AB001E006C00F5>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<0136008D0022012D00AB0120001400D000270072008301510011014A001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 157.5 42.85499954 Tm /GS324 gs 0 g [( )] TJ ET EMC Q q /GS325 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 109.19999695 m 416.75 109.19999695 l 416.75 124.79999542 l -1.45000005 124.79999542 l h f* Q q 1 0 0 1 0 109.19999695 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS326 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 124.80000305 m 416.75 124.80000305 l 416.75 156 l -1.45000005 156 l h f* Q q 1 0 0 1 0 124.80000305 cm /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS327 gs 0.10980392 0.12156863 0.12941177 rg [<001400150065>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 34.125 20.17499924 Tm [(TC)-1(P)] TJ ET EMC /P <> BDC BT 1 0 0 -1 54.66400146 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 59.91400146 20.17499924 Tm [<00670068>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 80.91400146 20.17499924 Tm [(/)] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 85.8769989 20.17499924 Tm [<006A0068>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 106.8769989 20.17499924 Tm /GS328 gs 0 g [( )] TJ ET EMC Q q /GS329 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 156 m 416.75 156 l 416.75 171.6000061 l -1.45000005 171.6000061 l h f* Q q 1 0 0 1 0 156 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS330 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(1)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F009D007501FC0018014D007301AD00DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 112.875 11.65499973 Tm [(TCP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 131.25 11.65499973 Tm [<007501FC019201FD01C101FE01FF01EE003C01AD02000022002E0123007500370201001D001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 330.75 11.65499973 Tm /GS331 gs 0 g [( )] TJ ET EMC Q q /GS332 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 171.6000061 m 416.75 171.6000061 l 416.75 187.20001221 l -1.45000005 187.20001221 l h f* Q q 1 0 0 1 0 171.6000061 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS333 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(2)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F0202007501FC014D007301AD00DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 102.375 11.65499973 Tm [(MSS)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 118.125 11.65499973 Tm [<005501B701AD0203008202040205005D0022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 212.625 11.65499973 Tm [(TCP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 231 11.65499973 Tm [<002400E001EA00BA002E00A7009F0201001D001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 336 11.65499973 Tm /GS334 gs 0 g [( )] TJ ET EMC Q q /GS335 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 187.19999695 m 416.75 187.19999695 l 416.75 202.80000305 l -1.45000005 202.80000305 l h f* Q q /GS336 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 202.80000305 m 416.75 202.80000305 l 416.75 218.40000916 l -1.45000005 218.40000916 l h f* Q q 1 0 0 1 0 187.19999695 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS337 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(3)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F009D007501FC0018014D0073020000DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 112.875 11.65499973 Tm [(TCP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 131.25 11.65499973 Tm [<007501FC019201FD01C1001801AD02000022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 225.75 11.65499973 Tm [(TCP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 244.125 11.65499973 Tm [<002E017F0206020701A4019201FD01C10018014D0073006C0206007501FC0048>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<02080022002E0123007500370209001D001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 94.5 27.25500107 Tm /GS338 gs 0 g [( )] TJ ET EMC Q q /GS339 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 218.3999939 m 416.75 218.3999939 l 416.75 234 l -1.45000005 234 l h f* Q q 1 0 0 1 0 218.3999939 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS340 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(4)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F00250026014D0073002A00180030005000E30120001400E2002D008A008B00250026019201FD01C100460018014D00730022002E007500370209001D001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 351.75 11.65499973 Tm /GS341 gs 0 g [( )] TJ ET EMC Q q /GS342 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 234 m 416.75 234 l 416.75 249.6000061 l -1.45000005 249.6000061 l h f* Q q 1 0 0 1 0 234 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS343 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 249.6000061 m 416.75 249.6000061 l 416.75 280.80001831 l -1.45000005 280.80001831 l h f* Q q 1 0 0 1 0 249.6000061 cm /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS344 gs 0.10980392 0.12156863 0.12941177 rg [(TC)-1(P)] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 23.16399956 20.17499924 Tm [<00670068>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 44.16400146 20.17499924 Tm [(/)] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 49.1269989 20.17499924 Tm [<006A0068001A003D006B006C006D>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 122.6269989 20.17499924 Tm /GS345 gs 0 g [( )] TJ ET EMC Q q /GS346 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 280.79998779 m 416.75 280.79998779 l 416.75 296.3999939 l -1.45000005 296.3999939 l h f* Q q /GS347 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 296.3999939 m 416.75 296.3999939 l 416.75 312 l -1.45000005 312 l h f* Q q 1 0 0 1 0 280.79998779 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS348 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(1)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F007501FC002A0134020A009A014D0073001D00D800D9001D0150014F00220150014F00460030010F020B020C001D0013014D0073001D001802040205002200F7006D00250026002A0024>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<002500260027014D007300B9002201040105008A008B001D0150014F001802040205016A020D00220023020E020F020A006C009A014D0073001D00180031008102040205001E001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 378 27.25500107 Tm /GS349 gs 0 g [( )] TJ ET EMC Q q /GS350 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 312 m 416.75 312 l 416.75 327.6000061 l -1.45000005 327.6000061 l h f* Q q /GS351 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 327.6000061 m 416.75 327.6000061 l 416.75 343.20001221 l -1.45000005 343.20001221 l h f* Q q 1 0 0 1 0 312 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS352 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(2)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F007501FC002A002E020A009A014D0073001D021000E800120211002002040205005500A601790018000E000F010401050212>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 291.375 11.65499973 Tm [(0)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 299.25 11.65499973 Tm [<02130214005D002200F7006D00250026002A020A0206>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<006200250026019201FD01C10046008A008B02110020020402050018014D007301080041018F0136018F00180215020A009A014D0073001D02010074016D0049001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 346.5 27.25500107 Tm /GS353 gs 0 g [( )] TJ ET EMC Q q /GS354 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 343.20001221 m 416.75 343.20001221 l 416.75 358.80001831 l -1.45000005 358.80001831 l h f* Q q /GS355 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 358.79998779 m 416.75 358.79998779 l 416.75 374.3999939 l -1.45000005 374.3999939 l h f* Q q 1 0 0 1 0 343.20001221 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS356 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(3)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F000E000F0024014D0073001D003B003C00710045021601B40022006900D800D900C400C5016B016C002200F7006D002200250026002A0104010500F7009A021601B40108000E000F002E>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<00A6006A0018014D0073001D02010074016D001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 105 27.25500107 Tm /GS357 gs 0 g [( )] TJ ET EMC Q q /GS358 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 374.3999939 m 416.75 374.3999939 l 416.75 390 l -1.45000005 390 l h f* Q q 1 0 0 1 0 374.3999939 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS359 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 390 m 416.75 390 l 416.75 421.20001221 l -1.45000005 421.20001221 l h f* Q q 1 0 0 1 0 390 cm /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS360 gs 0.10980392 0.12156863 0.12941177 rg [(Netty)] TJ ET EMC /P <> BDC BT 1 0 0 -1 29.74099922 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 34.99100113 20.17499924 Tm [<006E00450053006F>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 76.99099731 20.17499924 Tm /GS361 gs 0 g [( )] TJ ET EMC Q q /GS362 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 421.20001221 m 416.75 421.20001221 l 416.75 436.80001831 l -1.45000005 436.80001831 l h f* Q q /GS363 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 436.79998779 m 416.75 436.79998779 l 416.75 452.3999939 l -1.45000005 452.3999939 l h f* Q q /GS364 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 452.3999939 m 416.75 452.3999939 l 416.75 468 l -1.45000005 468 l h f* Q q /GS365 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 468 m 416.75 468 l 416.75 483.6000061 l -1.45000005 483.6000061 l h f* Q q /GS366 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 483.6000061 m 416.75 483.6000061 l 416.75 499.20001221 l -1.45000005 499.20001221 l h f* Q q 1 0 0 1 0 421.20001221 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS367 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 8.42500019 11.65499973 Tm [<015000CD0022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 39.92499924 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 68.80000305 11.65499973 Tm [<00CF0050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 92.42500305 11.65499973 Tm [(EventLoop)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 142.30000305 11.65499973 Tm [<004900DE00100217002500650018008A02070093008900220136006C009A021700250065001800FD0014002B002C0130021801CE>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<0024006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 34.125 27.25500107 Tm [(EventLoop)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 84 27.25500107 Tm [<0046009B00DE00100022006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 160.125 27.25500107 Tm [(EventLoop)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 210 27.25500107 Tm [<004601320014006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 265.125 27.25500107 Tm [(Thread)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 296.625 27.25500107 Tm [<002200FD000F00DD0108003100E7001E006C009A0217>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<00250065001800FD001400930089013201230024006C009A01E200EF0046009B009E009F001C006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 223.125 42.85499954 Tm [(EventLoopGroup)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 299.25 42.85499954 Tm [<001D0013017F009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 343.875 42.85499954 Tm [(EventLoop)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 391.125 42.85499954 Tm [<0022000E>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 58.45499802 Tm [<000F0215006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 44.625 58.45499802 Tm [(EventLoop)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 94.5 58.45499802 Tm [<00A500F400D4>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 128.625 58.45499802 Tm [(Reactor)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 168 58.45499802 Tm [<01E200EF015600D300460018006C009A01E200EF00220136006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 317.625 58.45499802 Tm [(EventLoopGroup)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 393.75 58.45499802 Tm [<001B013C>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 74.05500031 Tm [<00DF006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 34.125 74.05500031 Tm [(ExecutorService)] TJ ET EMC /P <> BDC BT 1 0 0 -1 112.875 74.05500031 Tm /GS368 gs 0 g [( )] TJ ET EMC Q q /GS369 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 499.20001221 m 416.75 499.20001221 l 416.75 514.79998779 l -1.45000005 514.79998779 l h f* Q q 1 0 0 1 0 499.20001221 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS370 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 514.79998779 m 416.75 514.79998779 l 416.75 546 l -1.45000005 546 l h f* Q q 1 0 0 1 0 514.79998779 cm /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS371 gs 0.10980392 0.12156863 0.12941177 rg [<00250025>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 21 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 26.25 20.17499924 Tm [(Netty)] TJ ET EMC /P <> BDC BT 1 0 0 -1 55.99100113 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 61.24100113 20.17499924 Tm [<001A007000710072>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 103.24099731 20.17499924 Tm /GS372 gs 0 g [( )] TJ ET EMC Q q /GS373 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 546 m 416.75 546 l 416.75 561.59997559 l -1.45000005 561.59997559 l h f* Q q /GS374 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 561.59997559 m 416.75 561.59997559 l 416.75 577.19995117 l -1.45000005 577.19995117 l h f* Q q /GS375 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 577.20001221 m 416.75 577.20001221 l 416.75 592.79998779 l -1.45000005 592.79998779 l h f* Q q 1 0 0 1 0 546 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS376 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.42500019 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 18.92499924 11.65499973 Tm [<021A021B021C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 50.42499924 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 60.92499924 11.65499973 Tm [<00D4013A0165021E00CE00A1003A0018010500EF00460022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 186.92500305 11.65499973 Tm [(CPU)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 205.30000305 11.65499973 Tm [<00A6009C009D0012014D00730024015C0193003B003C0018021B021C0084021F00870088001C0136>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<012D010400F300D4013A0165021E00CE002401D001D10065007501FC00820089002D002200A6009C009D002E00820089015C00AC021B021C00270050002901EE003C0055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 357 27.25500107 Tm [(User)] TJ ET EMC /P <> BDC BT 1 0 0 -1 378 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [(Space)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.25 42.85499954 Tm [<005D013601F600250024015C00EA01EE003C0055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 131.25 42.85499954 Tm [(Kernel)] TJ ET EMC /P <> BDC BT 1 0 0 -1 162.75 42.85499954 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 168 42.85499954 Tm [(Space)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 194.25 42.85499954 Tm [<005D004600E001EA002701D001D100180053008C001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 309.75 42.85499954 Tm /GS377 gs 0 g [( )] TJ ET EMC Q q /GS378 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 592.79998779 m 416.75 592.79998779 l 416.75 624 l -1.45000005 624 l h f* Q q 1 0 0 1 0 592.79998779 cm /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS379 gs 0.10980392 0.12156863 0.12941177 rg [(Netty)] TJ ET EMC /P <> BDC BT 1 0 0 -1 29.74099922 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 34.99100113 20.17499924 Tm [<007300740075004300440045>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 97.99099731 20.17499924 Tm /GS380 gs 0 g [( )] TJ ET EMC Q q /GS381 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 624 m 416.75 624 l 416.75 639.59997559 l -1.45000005 639.59997559 l h f* Q q /GS382 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 639.59997559 m 416.75 639.59997559 l 416.75 655.19995117 l -1.45000005 655.19995117 l h f* Q q /GS383 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 655.20001221 m 416.75 655.20001221 l 416.75 670.79998779 l -1.45000005 670.79998779 l h f* Q q /GS384 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 670.79998779 m 416.75 670.79998779 l 416.75 686.39996338 l -1.45000005 686.39996338 l h f* Q q 1 0 0 1 0 624 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS385 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(1.)] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 31.5 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 60.375 11.65499973 Tm [<001800250026005E007501FC>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 126 11.65499973 Tm [(ByteBuffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 181.125 11.65499973 Tm [<01910050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 204.75 11.65499973 Tm [(DIRECT)] TJ ET EMC /P <> BDC BT 1 0 0 -1 236.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 241.5 11.65499973 Tm [(BUFFERS)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 278.25 11.65499973 Tm [<002200CF00500220022101F60025015C019300A7009F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(Socket)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 34.125 27.25500107 Tm [<008A0207002200A6009C009D00A7009F016A0222019201FD01C1001802230206021B021C001C0069011D00CF005000E0008600180220015C01930055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 349.125 27.25500107 Tm [(HEAP)] TJ ET EMC /P <> BDC BT 1 0 0 -1 370.125 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [(BUFFERS)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 36.75 42.85499954 Tm [<005D00A7009F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 70.875 42.85499954 Tm [(Socket)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 105 42.85499954 Tm [<008A02070022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 136.5 42.85499954 Tm [(JVM)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 154.875 42.85499954 Tm [<0123002E0220015C0193>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 210 42.85499954 Tm [(Buffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 244.125 42.85499954 Tm [<021B021C006C0224002701F60025015C019300460022018F00B90225020701A4>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 58.45499802 Tm [(Socket)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 34.125 58.45499802 Tm [<0046001C00A800DA00DF0220022101F60025015C01930022008400850024007501FC010500EF0046017F001E006C0206019201FD01C10018015C0193021B021C001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 380.625 58.45499802 Tm /GS386 gs 0 g [( )] TJ ET EMC Q Q 1 0 0 -1 0 841.90002441 cm +endstream +endobj +351 0 obj +<> +endobj +352 0 obj +<> +endobj +353 0 obj +<> +endobj +354 0 obj +<> +endobj +355 0 obj +<> +endobj +356 0 obj +<> +endobj +357 0 obj +<> +endobj +358 0 obj +<> +endobj +359 0 obj +<> +endobj +360 0 obj +<> +endobj +361 0 obj +<> +endobj +362 0 obj +<> +endobj +363 0 obj +<> +endobj +364 0 obj +<> +endobj +365 0 obj +<> +endobj +366 0 obj +<> +endobj +367 0 obj +<> +endobj +368 0 obj +<> +endobj +369 0 obj +<> +endobj +370 0 obj +<> +endobj +371 0 obj +<> +endobj +372 0 obj +<> +endobj +373 0 obj +<> +endobj +374 0 obj +<> +endobj +375 0 obj +<> +endobj +376 0 obj +<> +endobj +377 0 obj +<> +endobj +378 0 obj +<> +endobj +379 0 obj +<> +endobj +380 0 obj +<> +endobj +381 0 obj +<> +endobj +382 0 obj +<> +endobj +383 0 obj +<> +endobj +384 0 obj +<> +endobj +385 0 obj +<> +endobj +386 0 obj +<> +endobj +387 0 obj +<> +endobj +388 0 obj +<> +endobj +389 0 obj +<> +endobj +390 0 obj +<> +endobj +391 0 obj +<> +endobj +392 0 obj +<> +endobj +393 0 obj +<> +endobj +394 0 obj +<> +endobj +395 0 obj +<> +endobj +396 0 obj +<> +endobj +397 0 obj +<> +endobj +398 0 obj +<> +endobj +399 0 obj +<> +endobj +400 0 obj +<> +endobj +401 0 obj +<> +endobj +402 0 obj +<> +endobj +403 0 obj +<> +endobj +404 0 obj +<> +endobj +405 0 obj +<> +endobj +406 0 obj +<> +endobj +407 0 obj +<> +endobj +408 0 obj +<> +endobj +409 0 obj +<> +endobj +410 0 obj +<> +endobj +411 0 obj +<> +endobj +412 0 obj +<> +endobj +413 0 obj +<> +endobj +414 0 obj +<> +endobj +415 0 obj +<> +endobj +416 0 obj +<> +endobj +417 0 obj +<> +endobj +418 0 obj +<> +endobj +419 0 obj +<> +endobj +420 0 obj +<> +endobj +421 0 obj +<> +endobj +422 0 obj +<> +endobj +423 0 obj +27223 +endobj +424 0 obj +<>/ExtGState<>>>/Group<>/StructParents 5/Tabs/S>> +endobj +425 0 obj +<>stream +1 0 0 -1 0 841.90002441 cm q 1 0 0 1 90 72 cm q 0.97254902 0.98039216 0.98823529 rg -1.45000005 0 m 416.75 0 l 416.75 15.60000038 l -1.45000005 15.60000038 l h f* Q q 0.97254902 0.98039216 0.98823529 rg -1.45000005 15.60000038 m 416.75 15.60000038 l 416.75 31.20000076 l -1.45000005 31.20000076 l h f* Q q 0.97254902 0.98039216 0.98823529 rg -1.45000005 31.20000076 m 416.75 31.20000076 l 416.75 46.80000305 l -1.45000005 46.80000305 l h f* Q /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.42500019 11.65499973 Tm [(2.)] TJ ET EMC /P <> BDC BT 1 0 0 -1 18.92499924 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 29.42499924 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 58.29999924 11.65499973 Tm [<007A007B001E00B60017>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 113.42500305 11.65499973 Tm [(Buffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 147.55000305 11.65499973 Tm [<002F00360022000E000F02260017017F009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 244.67500305 11.65499973 Tm [(ByteBuffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 299.79998779 11.65499973 Tm [<002F0036002200500029000E000F022700A1003A006C>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 13.125 27.25500107 Tm [(Buffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 47.25 27.25500107 Tm [<0121006D005300230018002F00B60017>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 133.875 27.25500107 Tm [(Buffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 168 27.25500107 Tm [<00A7009F00A1003A002202280229001E00E0008601040105015C0193021B021C00180053008C002E022A009A0200>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 42.85499954 Tm [(Buffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 34.125 42.85499954 Tm [<001700AB0038006C009A01AD0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 110.25 42.85499954 Tm [(Buffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 141.75 42.85499954 Tm [<001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 152.25 42.85499954 Tm /GS387 gs 0 g [( )] TJ ET EMC q /GS388 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 46.79999924 m 416.75 46.79999924 l 416.75 62.40000153 l -1.45000005 62.40000153 l h f* Q q 1 0 0 1 0 46.79999924 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS389 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(3.)] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 31.5 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 60.375 11.65499973 Tm [<00180082008900E001EA01910050001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 147 11.65499973 Tm [(transferTo)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 202.125 11.65499973 Tm [<005300540022012D000E000F01F60025002E00820089019201FD01C10018014D0073007501FC0027>] TJ ET EMC /P <> BDC BT /FAAEDA 10.5 Tf 1 0 0 -1 412.125 11.65499973 Tm /GS390 gs 0 g [( )] TJ ET EMC Q q 1 0 0 1 0 62.40000153 cm Q Q 1 0 0 -1 0 841.90002441 cm +endstream +endobj +426 0 obj +<> +endobj +427 0 obj +<> +endobj +428 0 obj +<> +endobj +429 0 obj +<>stream + POS/26`cmapu;<4cvt p5pfpgm\W, 0glyfBm\head'N~46hhea Dl$hmtx +~# loca.maxp*_ nameY!1*postH prepg"I$+33*${ MS @&   ( A APjsbym    + ? 6PQZ[\]`abdhijklmnhin`gnfh_acdfhjklmnoportuvvprstuvopqrsuwwxyz{|}{|}wyz|xz|}x}~~~hicjopqopqrflmpy|tuvwz{|}~x{vyz|}~stuwz} A^^wHfTn +\(h@Ztsrqponmlkjihgfedb_^]\[ZYXUTSRQPONMLKJIHGFEDCBA@?>=<;:98765/.-,(&%$#" + ,E#F` &`&#HH-,E#F#a &a&#HH-,E#F` a F`&#HH-,E#F#a ` &a a&#HH-,E#F`@a f`&#HH-,E#F#a@` &a@a&#HH-, <<-, E# D# ZQX# D#Y QX# MD#Y &QX# D#Y!!-, EhD ` EFvhE`D-, +C#Ce +-, + C#C -,(#p(>(#p(E: -, E%EadPQXED!!Y-, EC`D-,CCe +-, i@a ,b`+ d#da\XaY-,E+)#D)z-,Ee,#DE+#D-,KRXED!!Y-,%# `#-,%# a#-,%-, ` <<-, a <<-,CC -,!! d#d@b-,!QX d#d b@/+Y`-,!QX d#dUb/+Y`-, d#d@b`#!-,E#E`#E`#E`#vhb -,&&%%E#E &`bch &ae#DD-, ETX@D E@aD!!Y-,E0/E#Ea``iD-,KQX/#p#B!!Y-,KQX %EiSXD!!Y!!Y-,EC`c`iD-,/ED-,E# E`D-,E#E`D-,K#QX34 34YDD-,CX&EXdf`d `f X!@YaY#XeY)#D#)!!!!!Y-,CX%Ed `f X!@Ya#XeY)#D%% XY%% F%#B<%% F%`#B< XY%%)%%)%% XY%%CH%%`CH!Y!!!!!!!-,CX%Ed `f X!@Ya#XeY)#D%% XY%% F%#B<%%%% F%`#B< XY%%)) EeD%%)%% XY%%CH%%%%`CH!Y!!!!!!!-,% F%#B%%EH!!!!-,% %%CH!!!-,E# E P X#e#Y#h @PX!@Y#XeY`D-,KS#KQZX E`D!!Y-,KTX E`D!!Y-,KS#KQZX8!!Y-,!KTX8!!Y-,CTXF+!!!!Y-,CTXG+!!!Y-,CTXH+!!!!Y-,CTXI+!!!Y-,# Pd%TX@%TXCYO+Y#b+#!#XeY-, !T`C-,F#F`#Fa#  Fab@@pE`h:-, #Id#SX<!Y-,KRX}zY-,KKTB-,B#Q@SZX TXC`BY$QX @TXC`B$TX C`BKKRXC`BY@TXC`BY@cTXC`BY@cTXC`BY&QX@cTX@C`BY@cTXC`BY(QX@cTXC`BYYYYYYYCTX@ +@@ @  CTX@   CRX@ @CRX@ @CRX@ @@ YYY@U@cUZX  YYYBBBBB-,Eh#KQX# E d@PX|Yh`YD-,%%#>#> +#eB #B#?#? #eB#B-, b`#b-,%XY%%% TX!Y!%\%ZX +Y %J%G%G`%Gca%UX%%IcY%XY%%I %\ %ZX +Y%Fca% UXc!Ya# UXc!YY+%\XiY% H#:&XY&X%/Y#2!!-,% +%% %JSX% +% %%Y%% %c#%c` @cSX!&& +@ceQX&e&e +&&%% + .%% + .%%YY UX%%%% % % & TX!Y%%% %I#%% +% %Y QR#xa%%% +% %Iab%% +%#8%%%% +% %İ%% % %I%T#y!!!!!!!!!!!!-,#TX@@YTX@@Y[+-,TX@@Y [+-, TX@@Y[+-,&& && [+-,%c `f% b`#b-, EiD-,#JN+-,#JN+-,#J#Ed%d%adCRX! dYN+#PXeY-,#J#Ed%d%adCRX! dYN+#PXeY-, %JN+;-, %JN+;-,%%g+;-,%%h+;-,%F%F`%.%%& PX!jlY+%F%F`ab #:# #:-,%G%G`%Gca%%Ic#%Jc Xb!Y&F`FF` ca-,&%%&n+ #:# #:-,# TX!%N+P `Y `` QX!! QX! fa@#a%P%%PZX %aSX!Y!YTX fae#!!!YYYN+-,%%JSX#Y%F fa &&I&&p+#ae ` fa ae-,%F PX!N+E#!Yae%;-,& b c#a ]`+% 9X]&cV`+#!  F N+#a#! IN+Y;-,] %cV`+%%&m+]%`+%%%%o+]&cV`+ RXP+%%%%%q+8R%RZX%%I%%I` @RX!RX TX%%%%I8%%%%I8YYYYY!!!!!-,%PX@cT\KR[Y-,(QX@cT\Y-s9MN+X R:DD-C TC@ ?#5I-??/9//9/310@ l?5#l5l?I-@ l?@l?++/++9/+01Y!!#".5'&6332>54&#"#".5467>32#".54>32ZO~#?V3 -<%S[%<.(7B"KlE"Cl;\?$ +*;!IV  (D\M#~"&ܰ+X$ L# L& L L +@ L% L  L  L@(%@, M$#&% "# +   #### # RUU???99//]]99932310+]++++++++@$#& %l "# +  # # RUU???99//9993+2301Y%#".'!#"&&67>32#!u%% oj +#% ' *{= ;   {.2C_<|( 6  + #~:/6$-"$,Pvh*  + V * l$ ;  +P +e  6    $,  P  vh *  + V *   l$ 2016 Microsoft Corporation. All Rights Reserved. Hebrew OpenType Layout logic copyright 2003 & 2007, Ralph Hancock & John Hudson. This layout logic for Biblical Hebrew is open source software under the MIT License; see embedded license description for details.CalibriRegularMicrosoft: CalibriVersion 6.18Calibri is a trademark of the Microsoft group of companies.Luc(as) de GrootCalibri is a modern sans serif family with subtle roundings on stems and corners. It features real italics, small caps, and multiple numeral sets. Its proportions allow high impact in tightly set lines of big and small text alike. Calibri's many curves and the new rasteriser team up in bigger sizes to reveal a warm and soft character.http://www.microsoft.com/typography/ctfontshttp://lucasfonts.comMicrosoft supplied font. You may use this font to create, display, and print content as permitted by the license terms or terms of use, of the Microsoft product, service, or content in which this font was included. You may only (i) embed this font in content as permitted by the embedding restrictions included in this font; and (ii) temporarily download this font to a printer or other output device to help print content. Any other use is prohibited. The following license, based on the MIT license (http://en.wikipedia.org/wiki/MIT_License), applies to the OpenType Layout logic for Biblical Hebrew Layout Logic  as jointly developed by Ralph Hancock and John Hudson. Permission is hereby granted, free of charge, to any person obtaining a copy of the OpenType Layout logic for Biblical Hebrew and associated documentation files (the Layout Logic Software ), to deal in the Layout Logic Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Layout Logic Software, and to permit persons to whom the Layout Logic Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Layout Logic Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. http://www.microsoft.com/typography/fonts/default.aspx 2016 Microsoft Corporation. All Rights Reserved. Hebrew OpenType Layout logic copyright 2003 & 2007, Ralph Hancock & John Hudson. This layout logic for Biblical Hebrew is open source software under the MIT License; see embedded license description for details.CalibriRegularMicrosoft: Calibri: 2005Version 6.18Calibri is a trademark of the Microsoft group of companies.Luc(as) de GrootCalibri is a modern sans serif family with subtle roundings on stems and corners. It features real italics, small caps, and multiple numeral sets. Its proportions allow high impact in tightly set lines of big and small text alike. Calibri's many curves and the new rasteriser team up in bigger sizes to reveal a warm and soft character.http://www.microsoft.com/typography/ctfontshttp://lucasfonts.comMicrosoft supplied font. You may use this font to create, display, and print content as permitted by the license terms or terms of use, of the Microsoft product, service, or content in which this font was included. You may only (i) embed this font in content as permitted by the embedding restrictions included in this font; and (ii) temporarily download this font to a printer or other output device to help print content. Any other use is prohibited. The following license, based on the MIT license (http://en.wikipedia.org/wiki/MIT_License), applies to the OpenType Layout logic for Biblical Hebrew Layout Logic as jointly developed by Ralph Hancock and John Hudson. Permission is hereby granted, free of charge, to any person obtaining a copy of the OpenType Layout logic for Biblical Hebrew and associated documentation files (the Layout Logic Software), to deal in the Layout Logic Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Layout Logic Software, and to permit persons to whom the Layout Logic Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Layout Logic Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. http://www.microsoft.com/typography/fonts/default.aspx 2016 Microsoft Corporation. All Rights Reserved. +Hebrew OpenType Layout logic copyright 2003 & 2007, Ralph Hancock & John Hudson. This layout logic for Biblical Hebrew is open source software under the MIT License; see embedded license description for details.Microsoft supplied font. You may use this font to create, display, and print content as permitted by the license terms or terms of use, of the Microsoft product, service, or content in which this font was included. You may only (i) embed this font in content as permitted by the embedding restrictions included in this font; and (ii) temporarily download this font to a printer or other output device to help print content. Any other use is prohibited. + +The following license, based on the MIT license (http://en.wikipedia.org/wiki/MIT_License), applies to the OpenType Layout logic for Biblical Hebrew Layout Logic  as jointly developed by Ralph Hancock and John Hudson. + +Permission is hereby granted, free of charge, to any person obtaining a copy of the OpenType Layout logic for Biblical Hebrew and associated documentation files (the Layout Logic Software ), to deal in the Layout Logic Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Layout Logic Software, and to permit persons to whom the Layout Logic Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Layout Logic Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + AS888U8U8U8U8U8U8U8U4T4Tdk Ddt  J  J  J  J  J  J ~ J } J | J { J z J y J x J w J v J u J t J s J q J p J o J n J m J l J k J j J i J h J g J f J e J d J c J b J a J ` J _ J ^ J ] J \ J [ J Z J Y J X J W J V J U J T J S J R J Q J P J O J N J M J L J K J J J I J H J G J F J E J D J C J B J A J @ J ? J > J = J < J ; J : J 9 J 8 J 7 J 6 J 5 J 4 J 3 J 2 J 1 J 0 J / J . J - J , J + J * J ) J ( J ' J & J % J $ J # J " J ! J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  + J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J ߴ J ޴ J ݴ J ܴ J ۴ J ڴ J ٴ J ش J ״ J ִ J մ J Դ J Ӵ J Ҵ J Ѵ J д J ϴ J δ J ʹ J ̴ J ˴ J ʴ J ɴ J ȴ J Ǵ J ƴ J Ŵ J Ĵ J ô J ´ J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J ~ J } J | J { J z J y J x J w J v J u J t J s J r J q J p J o J n J m J l J k J j J i J h J g J f J e J d J c J b J a J ` J _ J ^ J ] J \ J [ J Z J Y J X J W J V J U J T J S J R J P J O J N J L J K J J J I J H J G J F J E J D J C J>>:>>~ }>|>{>z>yAxCwCvCuAtCsCrAqBpBoBnCmClCkEjEiEhEgEfDeEdEcEbEaE`E_E^D]E\E[EZEYEXEWEVEUETESEREQEPEOENEMELEKEJIIIHJGJFKELDLCLBKAI@I?J>J=J<K;K:L9L8L7L6L5I4I3J2J1J0K/K.L-L,L+L*L)L(L'I&I%J$J#J"K!K LLLLLLNNOONNOOONNOO O N N +N OOOPQQPQQQQPQQQPQQQQTSTTTSTTTSSTTTTSTSTTTS߲S޲TݲTܲT۲TڲSٲTزTײWֲVղVԲWӲWҲWѲWвVϲVβWͲW̲W˲WʲVɲVȲWDzWƲWŲWIJWòV²WWWVVWWWWWVWWWW?[[[[[[[[>??[[[[[[[[>??[[[[>[[[>??[[[[[?[[[[[abbffUE6~6}a|b{bzdyfxfwfvfuftfsErbqbpcodnfmflfkfjfibhbgafdeddfcfbfaf`f_f^U]E\E[6ZaYbXbWcVdUfTfSfRfQ@PUOVNM-L@K@JAI@H@GAF~EDCBFAF@F?F>D=F<Y;Y:[9[8G7X6Z5[4[3,2G1U0W/W.X-Y,Y+Z*Z)[(['[&[%V$V#W"X!Y ZZ[[[[[]^_____]^___ _ ] ^ +_ ___]^____@bbcdbbbcddddbbcddddbbcddddghhhhghhhghhhh k 1 k l & & l + + + k l m k l m j i h g & 1 1 1@ 1 1 1 q r s t t t q q r s t t t t y z | } ~ ~ ~ ~ ~ ~ - ~ ~ y ~ k y ~ ~ y z | } ~ ~ ~ ~ ~ ~ k - +N +O +g + +%88UUUU}U~}U } }}K}{}}}@ +|UzU{zUyUwUxwUf@d=d<d;d:d9d8d7d6d5d4d3d2d1d0d/d.d-d,d+d*d)d(d'd&d%d$d#d"d!d ddddddddddddddddddd d d d +d dddddAddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddAdddddd~d}d|d{dzdydxdwdvdudtdsdrdqdpdodndmdldkdjdidhdgdfdedddcdbdad`d_d^d]d\d[dZdYdXdWdVdUdTdSdRdPdOdNdLdKdJdIdHdGdFdEdDdCd+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Y+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++sssssst++++++++++_^ +endstream +endobj +430 0 obj +<> +endobj +431 0 obj +<> +endobj +432 0 obj +<> +endobj +433 0 obj +3706 +endobj +434 0 obj +<>/K[435 0 R]>> +endobj +435 0 obj +<> +endobj +436 0 obj +<><><><><><><><>]>> +endobj +437 0 obj +<><><><><><><><><><><><><><><><>]>> +endobj +438 0 obj +<><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +439 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +440 0 obj +<><><><>]>> +endobj +441 0 obj +<><><><>]>> +endobj +442 0 obj +<><><><><><>]>> +endobj +443 0 obj +<>]>> +endobj +444 0 obj +<><><><><><>]>> +endobj +445 0 obj +<><><><><><><><><><><><><><><>]>> +endobj +446 0 obj +<><><><><><><><><><><><><><><><><><><><><>]>> +endobj +447 0 obj +<><><><>]>> +endobj +448 0 obj +<><><><>]>> +endobj +449 0 obj +<><><><><><><>]>> +endobj +450 0 obj +<><><><><><><>]>> +endobj +451 0 obj +<><><><><><>]>> +endobj +452 0 obj +<><><><><><><><><><><>]>> +endobj +453 0 obj +<><><><><><><>]>> +endobj +454 0 obj +<>]>> +endobj +455 0 obj +<><><><><><>]>> +endobj +456 0 obj +<><><><><><><><><><><><><><><><>]>> +endobj +457 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +458 0 obj +<><><><><><><><><><><><><><><><><><><><>]>> +endobj +459 0 obj +<>]>> +endobj +460 0 obj +<>]>> +endobj +461 0 obj +<><><><><><>]>> +endobj +462 0 obj +<><><><><><><>]>> +endobj +463 0 obj +<><><><><><><><><><>]>> +endobj +464 0 obj +<>]>> +endobj +465 0 obj +<><><><><><>]>> +endobj +466 0 obj +<><><><><><><><><><><><><><><><><><><><><>]>> +endobj +467 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +468 0 obj +<><><><><><><><>]>> +endobj +469 0 obj +<><><><><><><><><><><><><>]>> +endobj +470 0 obj +<>]>> +endobj +471 0 obj +<><><><>]>> +endobj +472 0 obj +<><><><><>]>> +endobj +473 0 obj +<><><><><><>]>> +endobj +474 0 obj +<><><><><>]>> +endobj +475 0 obj +<><><><><><><><><>]>> +endobj +476 0 obj +<>]>> +endobj +477 0 obj +<><><><>]>> +endobj +478 0 obj +<><><><><><><><>]>> +endobj +479 0 obj +<><><><><><><><><><><><><>]>> +endobj +480 0 obj +<><><><><><><>]>> +endobj +481 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +482 0 obj +<><><><><>]>> +endobj +483 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +484 0 obj +<><><><><>]>> +endobj +485 0 obj +<><><><><><><><><><><>]>> +endobj +486 0 obj +<>]>> +endobj +487 0 obj +<><>]>> +endobj +488 0 obj +<><><><><><><><>]>> +endobj +489 0 obj +<><><><>]>> +endobj +490 0 obj +<><><><><><><><><><><>]>> +endobj +491 0 obj +<><><><>]>> +endobj +492 0 obj +<><><><>]>> +endobj +493 0 obj +<>]>> +endobj +494 0 obj +<><><><><><>]>> +endobj +495 0 obj +<><><><><><><><><><><><>]>> +endobj +496 0 obj +<><><><><><><><>]>> +endobj +497 0 obj +<><><><><><>]>> +endobj +498 0 obj +<><><><><><>]>> +endobj +499 0 obj +<><><><><><><><><><><><>]>> +endobj +500 0 obj +<><><><><>]>> +endobj +501 0 obj +<>]>> +endobj +502 0 obj +<><><><><><>]>> +endobj +503 0 obj +<><><><><><><><><><><><><><><><><><><><><>]>> +endobj +504 0 obj +<><><><><><><><><><><><><><><>]>> +endobj +505 0 obj +<><><><><><><><><><><><><><>]>> +endobj +506 0 obj +<><><><><><><><><><><><><><><><><><><>]>> +endobj +507 0 obj +<><><><><><><><>]>> +endobj +508 0 obj +<>]>> +endobj +509 0 obj +<>]>> +endobj +510 0 obj +<><><><>]>> +endobj +511 0 obj +<><><><><><><><><><><><><><>]>> +endobj +512 0 obj +<>]>> +endobj +513 0 obj +<><><><>]>> +endobj +514 0 obj +<><><><><><><><><><>]>> +endobj +515 0 obj +<><><><><><><><><><>]>> +endobj +516 0 obj +<><><><><><><><><><><><><><>]>> +endobj +517 0 obj +<><><><><><><><><>]>> +endobj +518 0 obj +<><><><><><><><><><><><><><><>]>> +endobj +519 0 obj +<><><><><><><><><><><><>]>> +endobj +520 0 obj +<><><><><><><>]>> +endobj +521 0 obj +<>]>> +endobj +522 0 obj +<><>]>> +endobj +523 0 obj +<><><><>]>> +endobj +524 0 obj +<><><><><><><>]>> +endobj +525 0 obj +<><><><><><>]>> +endobj +526 0 obj +<><><><><><><><><><>]>> +endobj +527 0 obj +<><><><><><><><><><>]>> +endobj +528 0 obj +<><><><><><><><><><><><><><><><><><>]>> +endobj +529 0 obj +<><><><><><><><><>]>> +endobj +530 0 obj +<><><><><><><><>]>> +endobj +531 0 obj +<><><><><><><><><><>]>> +endobj +532 0 obj +<>]>> +endobj +533 0 obj +<><><><><>]>> +endobj +534 0 obj +<><><><><><><><><><><><>]>> +endobj +535 0 obj +<><><><><><><><>]>> +endobj +536 0 obj +<><><><><><><>]>> +endobj +537 0 obj +<>]>> +endobj +538 0 obj +<>]>> +endobj +539 0 obj +<>]>> +endobj +540 0 obj +<><><><><><><><><><><><><><><><>]>> +endobj +541 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +542 0 obj +<>]>> +endobj +543 0 obj +<><><><><><><>]>> +endobj +544 0 obj +<><><><><><><>]>> +endobj +545 0 obj +<><><><><><><><><>]>> +endobj +546 0 obj +<><><><><><><><><><>]>> +endobj +547 0 obj +<><><><><>]>> +endobj +548 0 obj +<>]>> +endobj +549 0 obj +<><><><><>]>> +endobj +550 0 obj +<><><><><><>]>> +endobj +551 0 obj +<><><><><><><><>]>> +endobj +552 0 obj +<><><><><><>]>> +endobj +553 0 obj +<>]>> +endobj +554 0 obj +<><><><>]>> +endobj +555 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +556 0 obj +<>]>> +endobj +557 0 obj +<><><><><><>]>> +endobj +558 0 obj +<><><><><><><><><><><><><><><><><><>]>> +endobj +559 0 obj +<><><><>]>> +endobj +560 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +561 0 obj +<><><><><><><><><><><><><><><><><><><><>]>> +endobj +562 0 obj +<><><><><><><><><>]>> +endobj +563 0 obj +<> +endobj +564 0 obj +<> +endobj +565 0 obj +1996 +endobj +566 0 obj +8114 +endobj +567 0 obj +28164 +endobj +568 0 obj +28164 +endobj +569 0 obj +54484 +endobj +570 0 obj +54484 +endobj +571 0 obj +8652 +endobj +572 0 obj +8652 +endobj +573 0 obj +168216 +endobj +574 0 obj +168216 +endobj +575 0 obj +<>stream + + + + + + + +endstream +endobj +xref +0 576 +0000000000 65535 f +0000000018 00000 n +0000000192 00000 n +0000000315 00000 n +0000000407 00000 n +0000001638 00000 n +0000033233 00000 n +0000087786 00000 n +0000088201 00000 n +0000088399 00000 n +0000088541 00000 n +0000088997 00000 n +0000089196 00000 n +0000091245 00000 n +0000091292 00000 n +0000091339 00000 n +0000091386 00000 n +0000259673 00000 n +0000260209 00000 n +0000260388 00000 n +0000260435 00000 n +0000260565 00000 n +0000261267 00000 n +0000261446 00000 n +0000269613 00000 n +0000269660 00000 n +0000269707 00000 n +0000269754 00000 n +0000269801 00000 n +0000269848 00000 n +0000269895 00000 n +0000269942 00000 n +0000269989 00000 n +0000270036 00000 n +0000270083 00000 n +0000270130 00000 n +0000270177 00000 n +0000270224 00000 n +0000270271 00000 n +0000270318 00000 n +0000270365 00000 n +0000270412 00000 n +0000270459 00000 n +0000270506 00000 n +0000270553 00000 n +0000270600 00000 n +0000270647 00000 n +0000270694 00000 n +0000270741 00000 n +0000270788 00000 n +0000270835 00000 n +0000270882 00000 n +0000270929 00000 n +0000270976 00000 n +0000271023 00000 n +0000271070 00000 n +0000271117 00000 n +0000271164 00000 n +0000271211 00000 n +0000271258 00000 n +0000271305 00000 n +0000271352 00000 n +0000271399 00000 n +0000271446 00000 n +0000271493 00000 n +0000271540 00000 n +0000271587 00000 n +0000271634 00000 n +0000271681 00000 n +0000271728 00000 n +0000271775 00000 n +0000271822 00000 n +0000271869 00000 n +0000271916 00000 n +0000271963 00000 n +0000272010 00000 n +0000272057 00000 n +0000272104 00000 n +0000272151 00000 n +0000272198 00000 n +0000272245 00000 n +0000272292 00000 n +0000272833 00000 n +0000273017 00000 n +0000273064 00000 n +0000273111 00000 n +0000273158 00000 n +0000273205 00000 n +0000273252 00000 n +0000273299 00000 n +0000273346 00000 n +0000273393 00000 n +0000273440 00000 n +0000273487 00000 n +0000273534 00000 n +0000273581 00000 n +0000273628 00000 n +0000273675 00000 n +0000273722 00000 n +0000273769 00000 n +0000273816 00000 n +0000282538 00000 n +0000282893 00000 n +0000283086 00000 n +0000283134 00000 n +0000283158 00000 n +0000284385 00000 n +0000310153 00000 n +0000310201 00000 n +0000310249 00000 n +0000310297 00000 n +0000310345 00000 n +0000310393 00000 n +0000310441 00000 n +0000310489 00000 n +0000310537 00000 n +0000310585 00000 n +0000310633 00000 n +0000310681 00000 n +0000310729 00000 n +0000310777 00000 n +0000310825 00000 n +0000310873 00000 n +0000310921 00000 n +0000310969 00000 n +0000311017 00000 n +0000311065 00000 n +0000311113 00000 n +0000311161 00000 n +0000311209 00000 n +0000311257 00000 n +0000311305 00000 n +0000311353 00000 n +0000311401 00000 n +0000311449 00000 n +0000311497 00000 n +0000311545 00000 n +0000311593 00000 n +0000311641 00000 n +0000311689 00000 n +0000311737 00000 n +0000311785 00000 n +0000311833 00000 n +0000311881 00000 n +0000311929 00000 n +0000311977 00000 n +0000312025 00000 n +0000312073 00000 n +0000312121 00000 n +0000312169 00000 n +0000312217 00000 n +0000312265 00000 n +0000312313 00000 n +0000312361 00000 n +0000312409 00000 n +0000312457 00000 n +0000312505 00000 n +0000312553 00000 n +0000312601 00000 n +0000312649 00000 n +0000312697 00000 n +0000312745 00000 n +0000312793 00000 n +0000312841 00000 n +0000312889 00000 n +0000312937 00000 n +0000312985 00000 n +0000313033 00000 n +0000313081 00000 n +0000313129 00000 n +0000313177 00000 n +0000313225 00000 n +0000313273 00000 n +0000313321 00000 n +0000313369 00000 n +0000313417 00000 n +0000313465 00000 n +0000313489 00000 n +0000314946 00000 n +0000344766 00000 n +0000344814 00000 n +0000344862 00000 n +0000344910 00000 n +0000344958 00000 n +0000345006 00000 n +0000345054 00000 n +0000345102 00000 n +0000345150 00000 n +0000345198 00000 n +0000345246 00000 n +0000345294 00000 n +0000345342 00000 n +0000345390 00000 n +0000345438 00000 n +0000345486 00000 n +0000345534 00000 n +0000345582 00000 n +0000345630 00000 n +0000345678 00000 n +0000345726 00000 n +0000345774 00000 n +0000345822 00000 n +0000345870 00000 n +0000345918 00000 n +0000345966 00000 n +0000346014 00000 n +0000346062 00000 n +0000346110 00000 n +0000346158 00000 n +0000346206 00000 n +0000346254 00000 n +0000346302 00000 n +0000346350 00000 n +0000346398 00000 n +0000346446 00000 n +0000346494 00000 n +0000346542 00000 n +0000346590 00000 n +0000346638 00000 n +0000346686 00000 n +0000346734 00000 n +0000346782 00000 n +0000346830 00000 n +0000346878 00000 n +0000346926 00000 n +0000346974 00000 n +0000347022 00000 n +0000347070 00000 n +0000347118 00000 n +0000347166 00000 n +0000347214 00000 n +0000347262 00000 n +0000347310 00000 n +0000347358 00000 n +0000347406 00000 n +0000347454 00000 n +0000347502 00000 n +0000347550 00000 n +0000347598 00000 n +0000347646 00000 n +0000347694 00000 n +0000347742 00000 n +0000347790 00000 n +0000347838 00000 n +0000347886 00000 n +0000347934 00000 n +0000347982 00000 n +0000348030 00000 n +0000348078 00000 n +0000348126 00000 n +0000348174 00000 n +0000348222 00000 n +0000348270 00000 n +0000348318 00000 n +0000348366 00000 n +0000348414 00000 n +0000348462 00000 n +0000348510 00000 n +0000348558 00000 n +0000348606 00000 n +0000348654 00000 n +0000348702 00000 n +0000348750 00000 n +0000348798 00000 n +0000348822 00000 n +0000350251 00000 n +0000378996 00000 n +0000379044 00000 n +0000379092 00000 n +0000379140 00000 n +0000379188 00000 n +0000379236 00000 n +0000379284 00000 n +0000379332 00000 n +0000379380 00000 n +0000379428 00000 n +0000379476 00000 n +0000379524 00000 n +0000379572 00000 n +0000379620 00000 n +0000379668 00000 n +0000379716 00000 n +0000379764 00000 n +0000379812 00000 n +0000379860 00000 n +0000379908 00000 n +0000379956 00000 n +0000380004 00000 n +0000380052 00000 n +0000380100 00000 n +0000380148 00000 n +0000380196 00000 n +0000380244 00000 n +0000380292 00000 n +0000380340 00000 n +0000380388 00000 n +0000380436 00000 n +0000380484 00000 n +0000380532 00000 n +0000380580 00000 n +0000380628 00000 n +0000380676 00000 n +0000380724 00000 n +0000380772 00000 n +0000380820 00000 n +0000380868 00000 n +0000380916 00000 n +0000380964 00000 n +0000381012 00000 n +0000381060 00000 n +0000381108 00000 n +0000381156 00000 n +0000381204 00000 n +0000381252 00000 n +0000381300 00000 n +0000381348 00000 n +0000381396 00000 n +0000381444 00000 n +0000381492 00000 n +0000381540 00000 n +0000381588 00000 n +0000381636 00000 n +0000381684 00000 n +0000381732 00000 n +0000381780 00000 n +0000381828 00000 n +0000381876 00000 n +0000381924 00000 n +0000381972 00000 n +0000382020 00000 n +0000382068 00000 n +0000382116 00000 n +0000382164 00000 n +0000382212 00000 n +0000382260 00000 n +0000382308 00000 n +0000382356 00000 n +0000382404 00000 n +0000382452 00000 n +0000382500 00000 n +0000382548 00000 n +0000382596 00000 n +0000382644 00000 n +0000382692 00000 n +0000382740 00000 n +0000382788 00000 n +0000382836 00000 n +0000382884 00000 n +0000382932 00000 n +0000382956 00000 n +0000384230 00000 n +0000411508 00000 n +0000411556 00000 n +0000411604 00000 n +0000411652 00000 n +0000411700 00000 n +0000411748 00000 n +0000411796 00000 n +0000411844 00000 n +0000411892 00000 n +0000411940 00000 n +0000411988 00000 n +0000412036 00000 n +0000412084 00000 n +0000412132 00000 n +0000412180 00000 n +0000412228 00000 n +0000412276 00000 n +0000412324 00000 n +0000412372 00000 n +0000412420 00000 n +0000412468 00000 n +0000412516 00000 n +0000412564 00000 n +0000412612 00000 n +0000412660 00000 n +0000412708 00000 n +0000412756 00000 n +0000412804 00000 n +0000412852 00000 n +0000412900 00000 n +0000412948 00000 n +0000412996 00000 n +0000413044 00000 n +0000413092 00000 n +0000413140 00000 n +0000413188 00000 n +0000413236 00000 n +0000413284 00000 n +0000413332 00000 n +0000413380 00000 n +0000413428 00000 n +0000413476 00000 n +0000413524 00000 n +0000413572 00000 n +0000413620 00000 n +0000413668 00000 n +0000413716 00000 n +0000413764 00000 n +0000413812 00000 n +0000413860 00000 n +0000413908 00000 n +0000413956 00000 n +0000414004 00000 n +0000414052 00000 n +0000414100 00000 n +0000414148 00000 n +0000414196 00000 n +0000414244 00000 n +0000414292 00000 n +0000414340 00000 n +0000414388 00000 n +0000414436 00000 n +0000414484 00000 n +0000414532 00000 n +0000414580 00000 n +0000414628 00000 n +0000414676 00000 n +0000414724 00000 n +0000414772 00000 n +0000414820 00000 n +0000414868 00000 n +0000414916 00000 n +0000414964 00000 n +0000414988 00000 n +0000415299 00000 n +0000419059 00000 n +0000419107 00000 n +0000419155 00000 n +0000419203 00000 n +0000447438 00000 n +0000447665 00000 n +0000447850 00000 n +0000447898 00000 n +0000447921 00000 n +0000448069 00000 n +0000449152 00000 n +0000449442 00000 n +0000449977 00000 n +0000450724 00000 n +0000451501 00000 n +0000451678 00000 n +0000451855 00000 n +0000452092 00000 n +0000452179 00000 n +0000452417 00000 n +0000452931 00000 n +0000453639 00000 n +0000453820 00000 n +0000454001 00000 n +0000454275 00000 n +0000454549 00000 n +0000454792 00000 n +0000455190 00000 n +0000455464 00000 n +0000455552 00000 n +0000455795 00000 n +0000456348 00000 n +0000457180 00000 n +0000457857 00000 n +0000457946 00000 n +0000458035 00000 n +0000458279 00000 n +0000458556 00000 n +0000458933 00000 n +0000459023 00000 n +0000459273 00000 n +0000460002 00000 n +0000460891 00000 n +0000461205 00000 n +0000461678 00000 n +0000461768 00000 n +0000461957 00000 n +0000462179 00000 n +0000462434 00000 n +0000462656 00000 n +0000463010 00000 n +0000463101 00000 n +0000463291 00000 n +0000463612 00000 n +0000464098 00000 n +0000464386 00000 n +0000465289 00000 n +0000465502 00000 n +0000466391 00000 n +0000466608 00000 n +0000467017 00000 n +0000467107 00000 n +0000467229 00000 n +0000467542 00000 n +0000467727 00000 n +0000468136 00000 n +0000468321 00000 n +0000468506 00000 n +0000468596 00000 n +0000468846 00000 n +0000469293 00000 n +0000469614 00000 n +0000469869 00000 n +0000470124 00000 n +0000470577 00000 n +0000470799 00000 n +0000470890 00000 n +0000471146 00000 n +0000471896 00000 n +0000472448 00000 n +0000472967 00000 n +0000473651 00000 n +0000473972 00000 n +0000474063 00000 n +0000474154 00000 n +0000474336 00000 n +0000474835 00000 n +0000474925 00000 n +0000475111 00000 n +0000475488 00000 n +0000475865 00000 n +0000476370 00000 n +0000476715 00000 n +0000477252 00000 n +0000477693 00000 n +0000477974 00000 n +0000478064 00000 n +0000478187 00000 n +0000478377 00000 n +0000478665 00000 n +0000478920 00000 n +0000479307 00000 n +0000479694 00000 n +0000480345 00000 n +0000480699 00000 n +0000481020 00000 n +0000481407 00000 n +0000481497 00000 n +0000481720 00000 n +0000482173 00000 n +0000482494 00000 n +0000482782 00000 n +0000482873 00000 n +0000482962 00000 n +0000483051 00000 n +0000483613 00000 n +0000484438 00000 n +0000484528 00000 n +0000484810 00000 n +0000485091 00000 n +0000485436 00000 n +0000485813 00000 n +0000486030 00000 n +0000486120 00000 n +0000486338 00000 n +0000486587 00000 n +0000486901 00000 n +0000487156 00000 n +0000487247 00000 n +0000487437 00000 n +0000488451 00000 n +0000488541 00000 n +0000488797 00000 n +0000489448 00000 n +0000489638 00000 n +0000490586 00000 n +0000491273 00000 n +0000491618 00000 n +0000491671 00000 n +0000500505 00000 n +0000500528 00000 n +0000500551 00000 n +0000500575 00000 n +0000500599 00000 n +0000500623 00000 n +0000500647 00000 n +0000500670 00000 n +0000500693 00000 n +0000500718 00000 n +0000500743 00000 n +trailer +<<42302D44392D41412D31322D39442D43>]/Size 576>> +startxref +501059 +%%EOF diff --git a/logseq-java/assets/北京-百度-Java中级_1650621193617_0.pdf b/logseq-java/assets/北京-百度-Java中级_1650621193617_0.pdf new file mode 100644 index 0000000..a791e73 --- /dev/null +++ b/logseq-java/assets/北京-百度-Java中级_1650621193617_0.pdf @@ -0,0 +1,5994 @@ +%PDF-1.5 % 1 0 obj +<> +endobj +2 0 obj +<>/Metadata 575 0 R>> +endobj +3 0 obj +<> +endobj +4 0 obj +<>/ExtGState<>>>/Group<>/StructParents 0/Tabs/S>> +endobj +5 0 obj +<>stream +1 0 0 -1 0 841.90002441 cm q 1 0 0 1 90 72 cm q 0.97254902 0.98039216 0.98823529 rg -1.45000005 0 m 416.75 0 l 416.75 31.20000076 l -1.45000005 31.20000076 l h f* Q /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm 0.10980392 0.12156863 0.12941177 rg [(Bea)1(nFactory)] TJ ET EMC /P <> BDC BT 1 0 0 -1 65.23500061 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 70.48500061 20.17499924 Tm [<000D>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 80.98500061 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 86.23500061 20.17499924 Tm [(Applic)1(ationCo)-1(ntext)] TJ ET EMC /P <> BDC BT 1 0 0 -1 188.70199585 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 193.95199585 20.17499924 Tm [<00130014001500160017>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 246.45199585 20.17499924 Tm /GS1 gs 0 g [( )] TJ ET EMC q /GS2 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 31.20000076 m 416.75 31.20000076 l 416.75 46.80000305 l -1.45000005 46.80000305 l h f* Q q /GS3 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 46.79999924 m 416.75 46.79999924 l 416.75 62.40000153 l -1.45000005 62.40000153 l h f* Q q 1 0 0 1 0 31.20000076 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS4 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.93400002 11.65499973 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT 1 0 0 -1 66.68399811 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 70.36799622 11.65499973 Tm [<000E000F00100011001200130014>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 146.49299622 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 170.11799622 11.65499973 Tm [<0016001700180019001A001B001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 243.61799622 11.65499973 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT 1 0 0 -1 301.36801147 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 305.05200195 11.65499973 Tm [<001D0013001E001F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 349.67700195 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 373.30200195 11.65499973 Tm [<0018002000210022>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<000F0023002400250026002700280029002A002B002C002D002E002F00300018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 170.625 27.25500107 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 194.25 27.25500107 Tm [<003100320033001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 236.25 27.25500107 Tm /GS5 gs 0 g [( )] TJ ET EMC Q q /GS6 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 62.40000153 m 416.75 62.40000153 l 416.75 78 l -1.45000005 78 l h f* Q q /GS7 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 78 m 416.75 78 l 416.75 93.59999847 l -1.45000005 93.59999847 l h f* Q q /GS8 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 93.59999847 m 416.75 93.59999847 l 416.75 109.19999695 l -1.45000005 109.19999695 l h f* Q q 1 0 0 1 0 62.40000153 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS9 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.42500019 11.65499973 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 68.80000305 11.65499973 Tm [<003400350024003100320033002F00360018002D003700380039003A001B003B003C0018003D003E001C003F0040002E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 323.42498779 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 347.04998779 11.65499973 Tm [<004100420043>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 381.17498779 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 404.79998779 11.65499973 Tm [<0028>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<0029002A00180044004500460011004700480049001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 115.5 27.25500107 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 175.875 27.25500107 Tm [<0034001D0013001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 220.5 27.25500107 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 244.125 27.25500107 Tm [<0037004A004B004C0018004D004E0022004F005000280029002A001800510052>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<0033005300540055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 42 42.85499954 Tm [(initialization)] TJ ET EMC /P <> BDC BT 1 0 0 -1 115.5 42.85499954 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 120.75 42.85499954 Tm [(methods)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 157.5 42.85499954 Tm [<005D005E005F0060005300540055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 231 42.85499954 Tm [(destruction)] TJ ET EMC /P <> BDC BT 1 0 0 -1 288.75 42.85499954 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 294 42.85499954 Tm [(methods)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 330.75 42.85499954 Tm [<005D001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 351.75 42.85499954 Tm /GS10 gs 0 g [( )] TJ ET EMC Q q /GS11 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 109.19999695 m 416.75 109.19999695 l 416.75 124.79999542 l -1.45000005 124.79999542 l h f* Q q /GS12 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 124.80000305 m 416.75 124.80000305 l 416.75 140.40000916 l -1.45000005 140.40000916 l h f* Q q /GS13 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 140.3999939 m 416.75 140.3999939 l 416.75 156 l -1.45000005 156 l h f* Q q 1 0 0 1 0 109.19999695 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS14 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 8.93400002 11.65499973 Tm [<006200630064006500660022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 71.93399811 11.65499973 Tm [(application)] TJ ET EMC /P <> BDC BT 1 0 0 -1 129.68400574 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 133.36799622 11.65499973 Tm [(context)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 172.74299622 11.65499973 Tm [<0069006A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 196.36799622 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT 1 0 0 -1 217.36799622 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 221.05200195 11.65499973 Tm [(factory)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 260.42700195 11.65499973 Tm [<006C006D006E0014>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 305.05200195 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 328.67700195 11.65499973 Tm [<00200021006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 360.17700195 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 383.80200195 11.65499973 Tm [<003D0070003D>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<003E001800710045002200720073002B002C00740075>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 118.125 27.25500107 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 141.75 27.25500107 Tm [<001800760035001C0077>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 196.875 27.25500107 Tm [(application)] TJ ET EMC /P <> BDC BT 1 0 0 -1 254.625 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 259.875 27.25500107 Tm [(context)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 299.25 27.25500107 Tm [<0024003F0078007900650034007A007B001E007C007D>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<001800760035001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 42 42.85499954 Tm /GS15 gs 0 g [( )] TJ ET EMC Q q /GS16 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 156 m 416.75 156 l 416.75 171.6000061 l -1.45000005 171.6000061 l h f* Q q 1 0 0 1 0 156 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS17 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<007A007B001E007E007F00800081003300180082008300840085>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 147 11.65499973 Tm /GS18 gs 0 g [( )] TJ ET EMC Q q /GS19 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 171.6000061 m 416.75 171.6000061 l 416.75 187.20001221 l -1.45000005 187.20001221 l h f* Q q 1 0 0 1 0 171.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS20 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<0086006C00180087008800820089008A008B0053008C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 126 11.65499973 Tm /GS21 gs 0 g [( )] TJ ET EMC Q q /GS22 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 187.19999695 m 416.75 187.19999695 l 416.75 202.80000305 l -1.45000005 202.80000305 l h f* Q q 1 0 0 1 0 187.19999695 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS23 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<008D0024008E008F00900046009100920018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 107.625 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 131.25 11.65499973 Tm [<001800930089>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 162.75 11.65499973 Tm /GS24 gs 0 g [( )] TJ ET EMC Q q /GS25 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 202.80000305 m 416.75 202.80000305 l 416.75 218.40000916 l -1.45000005 218.40000916 l h f* Q q 1 0 0 1 0 202.80000305 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS26 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 218.3999939 m 416.75 218.3999939 l 416.75 249.59999084 l -1.45000005 249.59999084 l h f* Q q 1 0 0 1 0 218.3999939 cm /P <> BDC BT 1 0 0 -1 0 20.17499924 Tm /GS27 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 37.77500153 20.17499924 Tm [(Bea)1(n)] TJ ET EMC /P <> BDC BT 1 0 0 -1 63.93299866 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 69.18299866 20.17499924 Tm [<001A001B001C001D001E>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 121.68299866 20.17499924 Tm /GS28 gs 0 g [( )] TJ ET EMC Q q /GS29 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 249.6000061 m 416.75 249.6000061 l 416.75 265.20001221 l -1.45000005 265.20001221 l h f* Q q /GS30 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 265.20001221 m 416.75 265.20001221 l 416.75 280.80001831 l -1.45000005 280.80001831 l h f* Q q /GS31 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 280.79998779 m 416.75 280.79998779 l 416.75 296.3999939 l -1.45000005 296.3999939 l h f* Q q 1 0 0 1 0 249.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS32 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 42 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 47.25 11.65499973 Tm [(Bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 70.875 11.65499973 Tm [<00180037004A004B004C0096009700980099001C0024006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 210 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 233.625 11.65499973 Tm [<00310032009B005100520033002D0022009C009D009E009F006C003E00A000180051>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<0052003300A1003A000F00A20027000E0050001800A300A4001C006A006D0018002200A5006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 212.625 27.25500107 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 236.25 27.25500107 Tm [<00A60024009B004F0050002D009C009D00A7009F00A8003D001800A900AA00A1>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<003A002200AB0062>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 44.625 42.85499954 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 68.25 42.85499954 Tm [<00AC0090004600AD00AE001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 131.25 42.85499954 Tm /GS33 gs 0 g [( )] TJ ET EMC Q q /GS34 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 296.3999939 m 416.75 296.3999939 l 416.75 312 l -1.45000005 312 l h f* Q q /GS35 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 312 m 416.75 312 l 416.75 327.6000061 l -1.45000005 327.6000061 l h f* Q q 1 0 0 1 0 296.3999939 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS36 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.66899967 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 40.16899872 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 43.58800125 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT 1 0 0 -1 64.58799744 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 68.00700378 11.65499973 Tm [(factory)] TJ ET EMC /P <> BDC BT 1 0 0 -1 104.75700378 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 108.1760025 11.65499973 Tm [<00AF00B000B100100024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 163.30099487 11.65499973 Tm [(spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 197.42599487 11.65499973 Tm [<00AC00900046009B00B200B30018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 273.55099487 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 297.17599487 11.65499973 Tm [<00180037004A004B004C001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 360.17599487 11.65499973 Tm [(Bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 383.80099487 11.65499973 Tm [<00180037004A>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<004B004C00B400B500B600B7004F0055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 84 27.25500107 Tm [(call)] TJ ET EMC /P <> BDC BT 1 0 0 -1 105 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 110.25 27.25500107 Tm [(back)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 131.25 27.25500107 Tm [<005D0053005400B60038001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 194.25 27.25500107 Tm /GS37 gs 0 g [( )] TJ ET EMC Q q /GS38 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 327.6000061 m 416.75 327.6000061 l 416.75 343.20001221 l -1.45000005 343.20001221 l h f* Q q 1 0 0 1 0 327.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS39 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<005100520033003B00B9004F0050001800B7004F00530054001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 147 11.65499973 Tm /GS40 gs 0 g [( )] TJ ET EMC Q q /GS41 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 343.20001221 m 416.75 343.20001221 l 416.75 358.80001831 l -1.45000005 358.80001831 l h f* Q q 1 0 0 1 0 343.20001221 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS42 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<005F0060003B00BA004F0050001800B7004F00530054001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 136.5 11.65499973 Tm /GS43 gs 0 g [( )] TJ ET EMC Q q /GS44 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 358.79998779 m 416.75 358.79998779 l 416.75 374.3999939 l -1.45000005 374.3999939 l h f* Q q 1 0 0 1 0 358.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS45 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 44.625 11.65499973 Tm [<00BB00BC007A007B001E000F00BD00BE001F0053008C004900B10010>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 194.25 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 217.875 11.65499973 Tm [<00180037004A004B004C0093008900BF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 301.875 11.65499973 Tm /GS46 gs 0 g [( )] TJ ET EMC Q q /GS47 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 374.3999939 m 416.75 374.3999939 l 416.75 390 l -1.45000005 390 l h f* Q q 1 0 0 1 0 374.3999939 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS48 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(InitializingBean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 97.125 11.65499973 Tm [<005E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 110.25 11.65499973 Tm [(DisposableBean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 186.375 11.65499973 Tm [<00B7004F002500C2>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 228.375 11.65499973 Tm /GS49 gs 0 g [( )] TJ ET EMC Q q /GS50 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 390 m 416.75 390 l 416.75 405.6000061 l -1.45000005 405.6000061 l h f* Q q 1 0 0 1 0 390 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS51 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<00C3002F00C400C5009F00120018007C007D>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 107.625 11.65499973 Tm [(Aware)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 136.5 11.65499973 Tm [<002500C2>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 157.5 11.65499973 Tm /GS52 gs 0 g [( )] TJ ET EMC Q q /GS53 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 405.6000061 m 416.75 405.6000061 l 416.75 421.20001221 l -1.45000005 421.20001221 l h f* Q q 1 0 0 1 0 405.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS54 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(Bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 34.125 11.65499973 Tm [<004400450082008900460018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 99.75 11.65499973 Tm [(Custom)] TJ ET EMC /P <> BDC BT 1 0 0 -1 131.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 136.5 11.65499973 Tm [(init\(\))] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 168 11.65499973 Tm [<00530054005E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 202.125 11.65499973 Tm [(destroy\(\))] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 249.375 11.65499973 Tm [<00530054>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 270.375 11.65499973 Tm /GS55 gs 0 g [( )] TJ ET EMC Q q /GS56 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 421.20001221 m 416.75 421.20001221 l 416.75 436.80001831 l -1.45000005 436.80001831 l h f* Q q 1 0 0 1 0 421.20001221 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS57 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(@PostConstruct)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 86.625 11.65499973 Tm [<005E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 97.125 11.65499973 Tm [(@PreDestroy)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 157.5 11.65499973 Tm [<009100110053008C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 199.5 11.65499973 Tm /GS58 gs 0 g [( )] TJ ET EMC Q q /GS59 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 436.79998779 m 416.75 436.79998779 l 416.75 452.3999939 l -1.45000005 452.3999939 l h f* Q q 1 0 0 1 0 436.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS60 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 452.3999939 m 416.75 452.3999939 l 416.75 483.6000061 l -1.45000005 483.6000061 l h f* Q q 1 0 0 1 0 452.3999939 cm /P <> BDC BT 1 0 0 -1 0 20.17499924 Tm /GS61 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 37.77500153 20.17499924 Tm [(IO)-1(C)] TJ ET EMC /P <> BDC BT 1 0 0 -1 56.95999908 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 62.20999908 20.17499924 Tm [<0021002200230024>] TJ ET EMC /P <> BDC BT /FAAAIB 10.5 Tf 1 0 0 -1 104.20999908 20.17499924 Tm 1 Tr 0.30000001 w /GS62 gs 0 G [( )] TJ ET EMC Q q /GS63 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 483.6000061 m 416.75 483.6000061 l 416.75 499.20001221 l -1.45000005 499.20001221 l h f* Q q /GS64 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 499.20001221 m 416.75 499.20001221 l 416.75 514.79998779 l -1.45000005 514.79998779 l h f* Q q 1 0 0 1 0 483.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS65 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.66899967 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 42.79399872 11.65499973 Tm [<00460018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 63.79399872 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 67.21299744 11.65499973 Tm [(org.springframework.beans)] TJ ET EMC /P <> BDC BT 1 0 0 -1 198.46299744 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 201.88200378 11.65499973 Tm [<001D005E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 222.88200378 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 226.30099487 11.65499973 Tm [(org.springframework.context)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 370.67599487 11.65499973 Tm [<001D00AA0038001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 34.125 27.25500107 Tm [<00BB00BC>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 57.75 27.25500107 Tm [(IoC)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 76.125 27.25500107 Tm [<00AC0090001800780079001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 139.125 27.25500107 Tm /GS66 gs 0 g [( )] TJ ET EMC Q q /GS67 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 514.79998779 m 416.75 514.79998779 l 416.75 530.39996338 l -1.45000005 530.39996338 l h f* Q q /GS68 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 530.40002441 m 416.75 530.40002441 l 416.75 546 l -1.45000005 546 l h f* Q q /GS69 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 546 m 416.75 546 l 416.75 561.59997559 l -1.45000005 561.59997559 l h f* Q q /GS70 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 561.59997559 m 416.75 561.59997559 l 416.75 577.19995117 l -1.45000005 577.19995117 l h f* Q q /GS71 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 577.20001221 m 416.75 577.20001221 l 416.75 592.79998779 l -1.45000005 592.79998779 l h f* Q q 1 0 0 1 0 514.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS72 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT 1 0 0 -1 68.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 73.5 11.65499973 Tm [<002500C2007A007B001E006C009A00CD00A700180044004500CE004E002200CF00D000D100D2001B00D30018002F003600180044004500380012000E0035001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(ApplicationContex)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 91.875 27.25500107 Tm [<002500C2002F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 126 27.25500107 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 183.75 27.25500107 Tm [<005500D4006C009A00D5002500C2005D00A7009F001E00D600D700220024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 343.875 27.25500107 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 404.25 27.25500107 Tm [<0018>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<00780079006500D800D9001E007C007D00760035002200DA00690043>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 149.625 42.85499954 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 183.75 42.85499954 Tm [<0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 196.875 42.85499954 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 215.25 42.85499954 Tm [<00DC00AC009800160038002200DD007A007B001E00DE0010>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 343.875 42.85499954 Tm [(message)] TJ ET EMC /P <> BDC BT 1 0 0 -1 380.625 42.85499954 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 58.45499802 Tm [(resource)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 44.625 58.45499802 Tm [<001800CE004E0055005000DF008000810033005D006F0093008900E000E1000F00E20030005000E3001800C400E400440045002200DA006900C3002F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 362.25 58.45499802 Tm [(Web)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 380.625 58.45499802 Tm [<003000500018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 74.05500031 Tm [(WebApplicationContext)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 110.25 74.05500031 Tm [<001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 120.75 74.05500031 Tm /GS73 gs 0 g [( )] TJ ET EMC Q q /GS74 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 592.79998779 m 416.75 592.79998779 l 416.75 608.39996338 l -1.45000005 608.39996338 l h f* Q q /GS75 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 608.40002441 m 416.75 608.40002441 l 416.75 624 l -1.45000005 624 l h f* Q q 1 0 0 1 0 592.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS76 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(org.springframework.beans.factory.BeanFactory)] TJ ET EMC /P <> BDC BT 1 0 0 -1 246.75 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 252 11.65499973 Tm [<00D4>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 265.125 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 296.625 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 301.875 11.65499973 Tm [(IoC)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 320.25 11.65499973 Tm [<00AC00900018006E00E6003100E700220050>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<0049001D00E8005E00B1001000BA0064007A0027001800E9001F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 139.125 27.25500107 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 160.125 27.25500107 Tm [<001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 170.625 27.25500107 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 231 27.25500107 Tm [<002500C200D4>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 265.125 27.25500107 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 296.625 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 301.875 27.25500107 Tm [(IoC)] TJ ET EMC /P <> BDC BT 1 0 0 -1 317.625 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 322.875 27.25500107 Tm [<00AC0090001800EA00EB002500C2001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 406.875 27.25500107 Tm /GS77 gs 0 g [( )] TJ ET EMC Q q /GS78 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 624 m 416.75 624 l 416.75 655.20001221 l -1.45000005 655.20001221 l h f* Q q 1 0 0 1 0 624 cm /P <> BDC BT /FAABAB 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q q /GS79 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 655.20001221 m 416.75 655.20001221 l 416.75 686.40002441 l -1.45000005 686.40002441 l h f* Q q 1 0 0 1 0 655.20001221 cm /P <> BDC BT /FAABAB 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q Q 1 0 0 -1 0 841.90002441 cm +endstream +endobj +6 0 obj +<>stream + POS/2#`cmapT`<cvt XMTfpgm,, +glyfheadJt6hheaB$hmtx;#<loca"Lmaxp nameUpostl prepK: 33Ff (ͱȱTHͰ۰έcܬ򬈬e5!䦟 ')mz|6 +62Tt"$:ρB~OwvZttt1sUprpLoiz$)Mc  R  wwQ^6J,-JB;GC;X>x#'N1"dinsx} "',16;@E@Q[ZYTRMLKJIHGFCBA@?>=<;:9876543210/.-,+*)('&%$#"!  + ,CXEjC` #D# NM/!# 3/Y-,CX+KPX@8Y+!# 3/Y-,CXN%!M E%%#Jad(RX!#%!YY-,CX!!%%I%%Ja dPX!!!%%IPXPX8!8!YRX8!8!YYYY-,CX+KPX8Y+!# 3/Y-,N CD 8<(+%<-,/M-,CX+8+!# 3/Y-,CXEdj#EdiCd`` #D# /!! RX3!!YY-,KQX +C#Ce +Y-,KQX + C#C Y-, #p > #p E: -,+%E%Ej@`%#D!!!-,+%E%Ej`%#D!!!-,+!!!-,+!!!-,KQXCCe +Y-, i@a ,b`+ d#da\XaY-,%EhTKPZX%E%E`h %#D%#D% Eh #D%Eh`%#DY-,% Eh #D%Edhe`%`#D-, CX!CXE+ #D zEi #D QX+ #D z! zYYY-, E#Eh`D-,EjB-,/-,CX%%Id#Edi@a bj%%aC` #D! !!!!!Y-,CX%E%Ed`j%Eja %Ej e%#D%#D!! EjD EjDY-, EUCZXEh#Ei@a bj #a %e%#D%#D!!!!+Y-,Ed#EdadB-,%%+CX%%%+%C@T%CTZX% E@aDY%CT%C@TZX% E@`DYY!!!!-,% %.# %%+!!-,-,KRXED!!Y-,CX=Y-,KPXED!!Y-,KRX/!!!Y-,KS#KQZX%Eh%Eh%`TX!!!%Eh`%#D!!Y!!!Y-,CX=Y-,F#F`F# F`ab# # pE` PXaFY`h:-, E%FRKQ[X%F ha%%?#!8!Y-, E%FPX%F ha%%?#!8!Y-,KQXCC Y-,-, CX! FRX88YY-, UXc%Ed%EdaSX@aY%EiSXED!!Y!%E%Ead(QXED!!YY-,!! d#d@b-,!QX d#d b@/+Y`-,!QX d#dUb/+Y`-, d#d@b`#!-,KSX%%Id#Edi@a bj%%a #D! !!# 9/Y-,%%IdTX88!!Y-,CXY-,CXY-, ++# <+-,%8(+# #+CX4)x>LhOm3@ Y +    /9/2????+3301!!#"!!363 \zCypi oR8& 1@YY /9/9//?+?9/+01!!!!!&sr Qm,@ Y Y /2/3?+?+01%#"5!2&#"327tP[o{)D4E4QR+@@ Y + + Y   /3232//3/?+333/?+01%# #535%3#327IA6: (r +\. Qm )@ Y Y  /9/99//?+?+01! ! ! !"QG :G$85TDTe#@ +  +/2?]2??01&#"!!3632T;TnCP9-"R R:@ Y   /293/8/3/??/+9301!"'3277!3678}EAN6=Af RK\%PK?N5V~u (,( WY'%@ #*H!%!%'A@Y@H  '+'MY"*MYM@,Y "["" ++p+++D+T+d+++++@H+ +  I@Y   @$H + +I@YT +d +t + + +P + + + + + +/]_qq+3/+_^]+99/_^]+_]]qqq99//]]q3+3++3/_^]+9/993/+399//+9/+_^]016!!5&'$%!!7&'!&!!5!!!zX ~0z*.26++0550HYH@ +Y..QYTY F@ Y414H@Y0@P@@(H11(5/5555 55`55$"("NY&(("H(H(H(/+++q3+3/_^]^]qr3/9///+]q+9/3+3+9/+9/3/+8+9/01%&'36547#&'6#5!67!!!&'765!!!!!!T:0<@^n>  @6jbbhLD|vFX20ZXlNf' xu@? +Ho, Y/  Y  }" } +/39/2//?+_^]]?+_^]9/]]]9/+]]0132654&'$4$!2&#"! 'llI㚜zd]I?p`&;jYK765!&'!5!!36!!!!&'*ZT,24n.0F- BJ_:%l.zH^"~ -8w>=YZ6V`(G@  N@Y      N@&Y/O@`pP@ +Y$HH H/+++q2+/_^]q]39/3+39/_^]_^]3]+33/9/3017!!!!&'!!!!!!!!pJP>Jΐ*,2h,hJ]TLলJyt)-2,EY+EY)F@-Y,@ H,,%.0$dt@ "H  N@Y   ! O@ Y 0 FY +0!%!LY#o%%/]3+3//3+3/_^]+99/_^]+83/_^]+^]qr]q939///++++99//01&'!5&'$!!5#!!#&'25!#3!&4*L4ή(BVN((Z*H\Xh`^n +tR2’xt vY&,0@,, ,, * + +LY0*?Y'/?Y&?Y#"?@oY 00+0K0[0 ''+' Td4dt+ $4t0''0HF@YOP`/q]+3/+_^]_]39////^]q^]qr]q]q]]3+33++++3/39/_^]01!5!5!5!&'!'&'3265!!!!!!!#5!Z:tr \r-BZ`XZ`pjV<l> +|d8Ȋvb"~7;?CGKL@40/0?00&00.?-.-GY!)*)GYH*DH@#YDODoDDD?DoDDDDDDDD@ HDDK@@KCY:GH@'Y:o::?:o::@!H@:::::::C<yqm~^ZK`r6,2@ )2)+$$$JY?@ +YP /0/A@ Y02-2-2>@Y-_- --N@ Y +- + J@Y0+ + +@ H +$& +H@Y  O o    /]]q+33/+_^]9+93/+8/_^]^]+89/+8/_^]+8/+333/_^]99///9301!!$%&'$7!5!&'7!!&'%!!!7&'F ( |hlpbHx԰|~*20&&V&~b ~`b\XXbF$Rz\p̄Xa82,*,F@ Y*@H**%6%G@Y!`p6 +  R@Y_o Q@"Y ((2 M@ Y// MY @%H2  2666666H6H6M@YO P`p/]q]+/++_^]9////+^]+39/2+339/_^]^]q+9/_^]2/+993/_^]]3+3/++801!!!7#3#!#3#67##"5&'$!3326HLTֺtP +Lf,YTpg@UB)w&$S|y/(xhJ$xpxNBX[,07E\F@Y  M@Y/    @H D<88:OY!0!MYBAN@>Y  0 @ 08@8P8p8888 8P8p800@0B 80BB08 ="=<=@@:YOY ++A@Y +11@ H11 111111@"(+H_,,,?,_,,,`,p,,,,,,@?H + +_ + + +_ + + +P + + + + +1, + +,1 @(''#@"H%%##J@YO_H/+]q_q3+3_^]3/+39/3/]q^]9///]q]r+]q]r+]q+]3+++39/+_^]33/+39/^]3+301325!!67!&'!!!!'&''6!!5!&'R`iYhR lvR!%$u#]i$$䢸ykk +X6FKM(nR +PHzy sfg`z||ܼ7K*.26:  JY ,22E@9Y_)L)+);) +)))%  0@ $FY! 7EYJ@*Y ??O @&)H@H@H675:/:B@dY-/?P@`o7?7o77777@7@777`777/?/7//7 QY((F@Y%`p/qq3+9/+/_^]^]q9///q]qr]qr]qr]q3+333/+++_^]qr3+3+33+39/_^]_]9^]^]]]3]]]]+39/+3017#53#5!#3#67!5!5!5!!!!!!!5#3!35#5#!35#R8Ⱥke8B|B8 x<ġ6\UI37;"#/#N@Y3 )/H@ + H/-)*)KYM@&Y O*o**@H`*p*p*/**/&665K@Y66O6_6606@66#'H6R@Y'@ #H@HH&%&%&HYo@%_%o%%%%%#H%/+]q]q3/8]3+89/+++_^]+3/+_^]^]3/^]+9///_^]]q+]q3+3+39/++_^]3+3016#3!!&'3266! +&'67'6#!!67&'!!Չ + T (W:>  6r:0}B|i]iHEDTrY(.WBvZN;B/Uɪ"(9??@%&(#`######!H#H#@ H##  >@%Y>==/;:222::: ::: ::(R@Y?O_@-2H   S@NYO&o&O&_&&@+1H&@%)H&@H@&?       O _ o  @ H& &/6/H@KY+0+@++`+p+++ +)) ))))0)@)))))))6@/2H@,H""""<@Y$$4!H@'H@@6/6?666/6666 H@%YPO Pp`/]q]2/]2+33/_^]q9/_]q++^]qr9/]r3+8_^]9/++33/]qr3^]q+9///+_^]q^]]]+++q_qr+_^]3/+q+8_^]3/^]q3/]39/3+8_^]9/+++^]q]3301!6'!!!$&'$!&'&'%&'#! !3!26'6`( %ZP>JV:jFήtn=<|,bR|fRjhz|f_JɞVbz~xlH0(zV|T` +@ +(+((S@Y%##*++KY++J@Y oH@ H :@Y P ` p P  /]q]3/22+83/3/++_^]]9/^]]+3/+93933/3+3/9/9301!&'&'%!%32667# Mi]i,丢pJ + |J<1 x~)mVd߅~pℒlLx&0?NQ*mP8Z2 "@  /3/83/8?01!o +b+UOe@@"YY /9/9////??+3?+3?01%!!3632#"'32654&#"Ci dy{rleDYm:LYL@YO  + L@Y/o 0` + +R@Y + + +` + + +H +/+]qq+3/_^]q]+3/_^]99//^]q]++01!!!&'326!!!!! P.""80Xz +@# %@Y  + + 9/3/??+01!"'32!udVnJ`(7Ai )@ YY /9/99//?+?+013! !3254#92˴  M @@" +  9/29/3/339????901!!&'#!!367!^+J7 + $0#s *@ + /89/89/?01!!}d +mk&26:>B##+2/+G@ Y%2222:Y?B!<@Y=<:@ Y @H7 8@ Y675::@H :8@Y [k{[k K[kt  +;K{+;K@HO7/7?77777@ H H/ ?  / ?   @"%H 7 7/--P/`/p/////$H/@ H/<@#Y 0P`pP`/]q]3/3+_^]3/++]q3/9/////]+^]qr++]qr_]+]qr]]r]q]qr3++33++33+_^]q333+333+_^]q3+9/017!5!5!5!5!5!!5!5!5!!!!!!3#!5!!&'327!5!!!5!!!!5!R.hDFdTF> Dj*~h\lPTTT^\\ZZZ\Z:\}:xbfff\^>868FY6@H66)@@!YDppo +)/)KY4;<;H@1Y 0 @ ` p  0 @  <   #< J@Y    H M@Y$<<T<<<<<@.*.H <<-////?////////H/D@Y`pP/]q]q3/+3/+_^]q_q399//^]^]+]q+3/+_^]^]+393_^]99/_]qr+3+39/_^]q3]q]]+8_^]93/++801$%&'$%&'&'$!67!!!!"'&'32667!&'$7!5!68Z>.} +*Bu/luD^.9AM +M" +rdo.ݥV`Nn̖qض?v0Ij#LUg_R\nXROYz~>`\8rGv4^Zj|nX& M@Y__ M@Y0@p0  M@ Y  S@Ydt@ H/_]+]qq3+3/_^]+8/_^]q]3+33/_^]39/]+01&'32>5!&'6!!'%!!!$$^CG.= 2(=?O>B" Wz~ +3@xFHj]CJo|шw3,@ *$)% ()TY(('%'R@Y%%%% %%#, ,L@ Y   U@Y% o@PH@ H L@Y Pp`/]q]q+3333/++_^]]99+3/3/_^]+3/8_^]q+3/+/9/39901!!!&'73!32667# !!!%%! , +VTvnj-C)|61X"G`pZzRui*ţX4x{;\*08=v0@ H0DY5-5M@Y-@#&H-@H-&J@Y/ @!H0)8&::8F@Y?:O:::/: :(:<$9!9F@Y0`@ '*H:-  H@YO  @ H   "H @H @ HF@"Y0P`p@P`/]q]q+33/+3/++_^]+q+89/+_^]q]+333/_^]^]q+333/+_^]q_]+9_^]3/+++3/+83/3/9+01%!!&'!%&''6'%!!326# !!'lH* hbU\ 0UGJCuZF'K@#!/ hp|t9i $HtTnbfdv_tWFZyEW!* W#'@ +  F@Y@ H`"$'F@YO$O$$?$ $$p$$$$"%H$F@ Yp"%HG@ +Y" #""O@$Y$""_"o"""""""""H"F@YOP`/q]+/+_^]]q_]9+339/+8/+_^]qr+/+_^]qr^]qr+/_^]+]+333/301!!!!''67!&'6%5!7!%!!p&j@p$x^T\>}{b(Wn+#a\}hqK0 ٱJYJ@8YO_/o ?_, + L@Y0@`p$H@H  + +L@Y + + + + + + +P +` + +!H +/+]q]q3+3/_^]q3/++]q+3/3/99//_^]^]q^]qr++01!!5!!!6!!!5!!5!<JO+'.@xzŽlD ))I@Y  ($%$I@Y + +%)%`%%%)%)% FYHN@ Y""HH I@(YO  P p P `  /]q]33/]3+/++_^]q33+3/++899//_^]]99//+33/393_^]+01%!!5!!!!% $'&'6!5!!:2)-dG88zfZLF 'f^iHh~vbh+΋b ($͵O@UY @,2H@ &H@HO  +K[{ +d% + + +O@Y  @ H  #H H /++]+q+83/_^]^]^]q^]33/+++33/33/9/393+89301&$&'$%%rpT~b:όP?BXx9HythtW9兢p󦎆`_%-@"" ( &t&&&&&"'H&@ H&&(&&M@YO@"%H -1H"#"A@Y##/###% %?Y ?YM@0Y@'H@ #,**/***M@Y  0@$"HH H<@Y 0!H/+]q+8/+++_^]9+33/_^]399/^]+qr_q+33/+8/+8/_^]+8/+_^]+]q+339/_^]++^]q^]33/3]01%!!!!!&'%!!!!!!&'&'&'(l028B\&L4@ȸ\઺jjlW +R +r~NmH(pĦ¤΢8"D0 4 9>BFJOUdl,,(' 2H''CZ\Z\C@3YZOZZ/Z?Z_ZZZZZZZ Z@#*HZ@HZZkXX_`_D@[Y$ `%%{%% %+%K%k%{%%%%% %?O?@'/H@HKQK>@YG?K_K0K@KK0KKKK%/HK@ +HKK599D@ Y2JNNCN>@-YACCCCoCC CCCCC`CCCCC*1*DY.*eggVGYP@ Y@F:F>Y#:"= =>@"Y@`@*P*`****gg@g: @ H*g: :g*` `````@ $(H`R-YR FYR#'HR!HRRA@Y77@ H`p/]q+q3/+83/++++_^]/+^]^]9/////+^]]]]]+33+3/++33+33/_^]qr^]q3+_^]33+33/++_^]qr]3+_^]39/^]++^]qr_q9]q33/^]3+3839/++_^]r_r+89/+33/01!5#&'#'##&'&'6!367353!!!!#!37##3!35#35#35##65&'&'67#5!%3265#&0jXPcw[bZp.pkfw! {Fd8a7rrfhh(rrkhrH*"CNfSd1I1 1cQ;&Ut~zzRK <:B?;\VZ쾾ʼ,@j|j|ljrXKH,%!"!NY&'TY+'+RYN@"Y/'?''''''@/H'@H/@ H''""o"""""@ !H"   H S@ YdHH/_]++qq3+3/+_^]3/+]^]3/99//+]++^]r_r3+3+3/+99+301&'326!&'#36'!!%%#!#% $$w jt +L(gDdxpjBĹ^&*GgNICPHt &8<@X@ 11RMIY GY0RR  @R R /((((1(H@#YC0AAAAAA`ApAAAAA AAUUHDY8=8?Y@;@?YPOPB@"YK;KDKTKDKKKK4KtKKKK K@#&HK*KK:;):C@Yt  H@ H%##D@$Y@.1H@%H@ H)  H@Y  $U4UTUdUUUUU[==== =K===D=[;k;{;;;;; ;K;; ;;D;4;D;t;;;;O$O4ODOTOOO{))4)t)))#{# #+#K#$#  @%*H$ U=;O)# #)O;=U3331$141T111 $H1@H1p11A@%Y + + 0  ?P`p"H/+]q]q3/]39/+8/_^]++^]3^]9////////]+]]^]q]qq]qq]qr^]qrr]qr]q3]3]+_^]3]9/+++_q3+3/_^]++^]q3+9/_^]+^]qrr]+8+_^]+_^]+3/_^]q3+_^]399//8^]8]++_^]01]''6%&'## 3673326#!'&'32655!!!!5!# 3673326NzZ8Fm12Vb7v@m!XV$c9N$dddfz&HhrTX:H2a7F`NKF vW,vqac>p~Tutz8$0hrr|20E.|nu҂fzL J@& Y Y /9/9/93//9?+?+?33901!47#!&'#!!367!= }# N*!Oŕ2"& Xtf]  %@   /9/9/???301!!367dOO  QHJSC 3>)..$GY...2&'VY&H&&!! KY2!K@Y 2  P@ +Y ,+M@Y + + +P +  + +LY@) HP,@, ,,222/2222!$H2LY@ H;KD$'H"HP/_q++q]q3/+2+/+_^]q9///^]]9/+3+39/_^]3+3_^]+_^]3]_]9/3++3/++3/8+301&'!!&''6!!!6%&'$'67#!% @~^&'lP?s7DErZa|vp]i@8ȢҾĀHF%'ȶohhKv8UR)MT (PY @ H G@Y  $ MY((L@Y $""$$$ $@$$"H$H$ LY$@ H+;Kk{Tdt%(H/_q+]q]3/+q2+/++_^]]3/9/^]+3+3/99//_^]+8_^]9/+399+01&'%!!!&'%!!&'325!pJhPXh\d(F4ȕ.xXTp|%7@DK&& A H0'0H0@ H@$@@@@@@@@%*H@!H@H@@ H@&&4DA@0JHHD-=;;-0@ H4 GE HEE@#"#"A@Y#O#_# #A DY KY % %=@ +Y   AY GY#-4-E@Y 44D4T44@H44 44=@Y{T%(H/_q+q]q+8/_^]+]9+99/+33/+8/_^]+8/+/+3//_^]+833/+33/39/39/+393/333/3////9/_^]++++]qr+++^]01!&'%!!%&'7''6!&'&'##"5!3326&'$5!!!&'8!(*5/\ 21Ԧ[Tbb!{kH()TthނԐtMU6ll앏=8Ȣz/n̬p~~("jzz8dGCJl&:l4hxT>t[ hD8TXL̬%`t\IYIY I@6Y/??O  F@Y    /  $H H @H I@Y 0P`"'H/+]q]2+3/_^]3/+++^]q3/3/+89///_^]^]]]]q+++01!&'%!!&'%5!!!5!!!4-+Rvt>(NDDgo>>L>|hP:hM $(MY !MY%!($$M@3Y/!!!??/!! !N@ +YP@Y_0`p/]qq+3/33/+_^]/^]^]99//]qrq]3+33+3+301%'&'3255!!!&'6!!5)!!5!!5!ht".~`OXb`X`+ z0G\L2"z #'8$ $#(H$H$@ H$ $$# @ + H# #IY2454N@Y60/'?'o''''5/8(8IY,(* H** F@YO"(E@5Y5@HP5`5(((((o_5((5 + #(H@$ Ho    O    + +P@ +Y +` +p + +H +H +/++qq+3/_^]q3/++9///]q]qq+3+39/_^]33/+3/+3+39/_^]]22+3+39/+_^]39/_^]+++^]01!#&'325!!6%&'7''6!%!!!5!!!%%5!h|ۛ6\jR zxW$<)ʈ?\CTs +| +^&Xr `=pk :,V(*h?1Y R@YdTdt@ $H HP@Y?O/]q+3/+_^]+^]q+39/+016%!!&'3265<(>,vGzaMjQ!%*8BHL#FYA2990LYHHF LFBY DY)'DY$CKBY7@5@F@'YL_o0?o/oC@$ H9LC55CL9  4H44I@YO_/]q3+3/+9/3/_^]^]9//////+]qrq]q]+3+3+33+3+9/+33+301&'32667#&'6#5365#5365#5!#3#3%&'#!546#!!##?C(4?HCJlnqY4'/?/O_O0 '' +%+$H+H+ E@Y  P  P `  !'H /+q]3/]]3/3/+8/++_^]9///^]^]]]qr_qq++3/_^]3+_^]+99//8_^]8]]q++3/99//+_^]+_^]01#! 3$73263733#77!!!!؜l5c,lVX\? +&,BfML"ndEXO3A\ + /4B A9557U@Y033$ $%$J@ +Y%??>NY +JY5@" H5%??%5:+:A +9:CYLYP@Y o99999"H9+J@YP`O+ +P+`+p+++++/]q]3/]2+/+_^]^]q3/]]+83/+8+89////_^]]q+++9/33+393393+901&'#"55!!$%&'$7&'7#53&'65!67!%'67#!6`zvZ& VPL4h"٪׉O~v_ܬc[*脒*8ĢTi,zMP~?nr[yMt48dV*<&ٱM@Y0/?0 @@S@,YKDTdt  M@"Y/ + P!H/+]q]q33/2/29/]3+3/_^]^]q]q+3/_^]3/8^]]q99/]+01&'!!!!!!'65#!6~lb$,bh2RҢ$`LpnrFd@Z\V + R.4Nn,Tn**pp42쫐,pl~|pH.8ؘFJPNԾxrp260nnljLpppƖ",@### +MY  <@4Y   %!o `pQ@Ydt@ H 0/_q+]qq3+3/_^]3/^]q]339/8^]+33/3+33/_^]9/301&'3266!7&'&'!!&'7!!!8pW!"/Գ`{S\fiĜ~!4$T/jWr+QpzyPB< 217JAFF=GYFFFH>?UY>>;H;KY@Y.H@,Y?.O.@ 0 .+ G@%Y(45722/2?25252D" !HDDCK@4Y. ..`.@.ODOD .DD. HHH/HHHH!$HH8:K@Y888/888 88@ +$H8 ""@ H" ' G@Y$   @ P  !H /+]q]3+33+/9/3/+_^]^]q+/+_^]q9///^]]q]qr]+9/_^]+399//q333+333/_^]qr3]+3/+8+3/+3/8+301##"#&'667!5!5!&'63!!!!!3326&'% '67#5!!2t|#7z\ Hl^ H&%b~r\7 +4P<7xzl4 pSrl\N6.}B +@fZl8aO2:|hR|1:QY2(.@ Y(((&&HY@.  2NY 99QY7++HY%O@Y",99/2/.HY/1FY @# H ////?/O////@,/H/@'*H//++]qr3/+++/99//33/3+3+33+3+3/3_^]9/8+9/2/8+9/+01!&'&'#&'67#3!3#676#5!5!276#l$rrfn0.4tv +0.^T, +hJ^`HvXTLl*&DPHDr + +ʎ`nc %)06A /-/CY343B@ Y-4-4 DY616>Y+*+<@Y%%%/%)%9@ Y((/((9Y ?@ Y9@Y !5@0Y 11 1$141T111 **$*4*T*T*d*t**D**@|H )K) )K)[))))) )[))t))) +;K@$H@HT[$4$4$4D_ @6 H/? p 1*))*1?@ H  9@YO P`p/]q]+_^]/+]q9///////^]r^]q+]qr]q_]]qrqr]qr++]qr]]qr+]qr]]qr]qr+_^]^]+_^]33++_^]+_^]3+8+8+99//+8+801!'!!!!!!!5!!!#&'32675!%5!&'$%&%$G' *Bn$tvJ"!A JY K@Y   @p@ HJ@Y/$   L@'Yo Pp P`/]q]2/]2+33838/_^]^]q33+33/+_^]^]99//+8+801!!!!!!!!5&'!!rKEVqnltn^1Pq(ZN\znhA 1V@ +Y((,(JYH@Y_K? @#11H@ Y   *,,,@$H,  /   JY $(H @!H @ p  /]]++3+33/_^]]3/+]q39///^]q3+3_^]]]+3+3/9/+9901!!5!67!!!567!5!!!&'32675!*YaDh &Zo:xtekiH0_S4F]a4FDʯjnRzv b )8R-@  Y +/9/3?3?+3?/01!!5## !3265!|~CatAty"k &-t@/e'''$'''s''0'@'P'' '%%,,) @'H ##EYD@ Y)"FY D@Y + + + + + +<@Y [+;k ;{+{ +;k K{t+ k K { D  T  ;K   4DTt@H D@YO P`p/]q]+/_^]+]39////^]q^]r]qrq]qr]qr+_^]^]++_^]33++3/+3933_^]]]]01!!!!5!&'6!5!!!!32%%% '%! BBh|wX*24\!kflllPT|zjؤ^YP" (@Y /9/99//?+3?01!!!!FG *.49@2'?O/O_ 0p1226554/@,.2H//  `pP'=YH HJ@YO_ $,H@"YP87 7@ #H77H@ Y + TY + +-)-)H@Y /-?-- -----@ H- #H@Y     /]qr+33/+_^]^]q99+39/+/_^]+33383/+_^]39/]q+3/8_^]]+3+33/8+_^]+/_^]3/3]q^]9/+39/39/33//]q]]]/01&'!&'67!5!!!!7!!!!!!5!!!&'%'6RTNV_$8wD8Rl>*pXXj>BB:ʦNUJYXoP4J{hY +|~ ^:4HdD !"-1%''L@ Y''$'@ H''11EYXY0#0E@'Y11 11`1p111#@ H#1#1#,L@Y/?_o 0`@!H + + +  + +L@YO_!$H/+]q+3/_^]q3/+]q]3/]+99//_^]+^]^]+3/+9+9/+_^]^]+301%&'!3!267#! !!!3266!!>h7LӬp=Ar @&)w ,?o/2/1JX /899/?01!  ==L@Y==/==(==;+..)/1&&'0)'M@Y)))))!;!IY0/E@Y  p(!$HQ@ +Y  LY%3"3LYL@Y0/0p0 p   .1H ),H @)H /"/0 "" 0;/_;o;;;;@ "'H;866--MY"HHH/+++q3+3/3/3/+_^]q]3/]9////]]8+++]q]]3+3+3+3/93++_^]93++9/_^]^]+93933/_^]^]+013!3#7%&'32657#!!&'!%7!&'6$%2 +50N86&vpT62lddJG`)Z vb*4j6,bHF*{|04B*Q~Nb `!'.@ -+@ H++K@ Y*($%%%@%P%(%(%MY N@5Y_@ H '""_oM@Y +`p P/]q3+33/_^]9/3/]q+]q+89/33+33899//_^]333/+89/+301!67!!!!3!$&'$!!!&'&'8 gCMTJ"|MLj Xࢠdl.xw~Pļ\ܶ6BBHz%,@/+))#'0&@&P&&&## +0 #$#L@'Y$_$o$$$$P$`$p$$$$$IYHQ@Y`pHH/++q]q3+3/++8/_^]q]3/]3+39/_^]q9^]39/33/]39/301!!7&'!&'32!&'6!!&'6  vc_$"\ g *jhM ^nlfv$LvضA~ +vn~Mx=nLF  &,4O@ , +/-p---  + +HY  )*)B@ Y* *,',>@Y'' 'H@ +Y#$#A@+Y$*$&&311 111'@ H(O@Y' !o H@ +H!&!&=@ Y!!!!(H!/+]+83/++_^]]9+_^]3/+^]33/^]3]99/+8/_^]+33/_^]+8/_^]+8/_^]+339/_^]3/9/3^]9901''6!5!!5!!!!!!$%&'&'&'&'BPf^B +NK:UOh"tl֎jd@n:~̞|xА:.|6(ZOTF@K<>J9... ..%. .{Dt$$D@ H@LLN*NH 776* 1E@Y@ @@ Y8 9 + H@Y;PQ : + + + +$ + +: 9:H@YO999 9@H9999"FY"F@Y"''&'((I@ Y.64556HY5ECC@@HT@'Y?@@@@0@@@5" 1/  P@ Y0&)H$H010:@Y111P1`1p1111P11/]q]+8/++_^]9+_^]3_^]99/]q+3/3/+333/+9_^]3/+3/+9/_^]^]+_^]q+93/_^]^]^]9+99/8_^]q+3/_^]q+3/339393//9/_^]+^]qr]q]q]^]^]_]901$%67&''%''67'67'66767'%!%&'77%3267#"&'6H4hz-"Y ɡx + +RJlJK_6:]xzmSD$.'`Mb(i.JԞaH,ɱN?G8+slw,1 49='('I@%Y(1/@ H//+(+ +@!H+0+@+`++*+-Y I@Yk=4=D=====@ H==-=4 4F@zY5 d((t(((((D(T(((+4 / / ? O ? O _   0 @  O _ o    @ H( ($$#I@Y $$/$$$$@ $H$::8F@Y @H OP`/q]3/++339//+_^]3+9////+_^]q^]]qr_q]qr]]qr33+3/_^]+]q+3+_^]+^]9/+33+301#&'325365#5!#3#3!!!!5!5!5!5##&'67#%3#3#tz fnl ̮XLNH\;Dc2 +x|Z"(h@8dhd\a5AEI@ ,()(=Y AY E@Y ???Y:555?? +>Y6O@/7?70777@7P7p7777 7@&1H77=?==/= =<@Y3 /  /   3@ Y$$EBE3Y00IFI3Y2"%"=@Y-%p???P?`?p??@0H/? 0p@p/BB@'*HPB`BBBHB@ H/FF@'*HPF`FFFHF@f H%P%`%p%%p%%?BF%%FB?/))0)@)P)))`))%4  _    H8@Y@H@ H&`pH/+q]++q+8+_^]3/^]^]q393]]]/]q]9/////]q++q+r++q+r]q]+]q3+3+9/+9/3+338_^]38]9/3+_^]9/+^]q]38]3+38_^]3+_^]99//^]]+8_^]+8_^]+301_^]!!&'$%7%!5&'$7!5!67!#!5!5!!!#5!7!$%!&!!%!!B >8VR5)n^`6><2("66",2lXVJ 8`Jb;\Yv\fV#%(VV^&!l\h2r¿uLv /4Q@(7**7 777(1'('BYHFL@Y 4   $  */H @ !$H ' H@Y  0 BY B@Y=OON>NNpNN MNR@YLAA@MMMMMMM@>@MY#$#BY2..$@>P>>@>p>>>@4,/H>H >$55$> H,_(o(( (0(P(`((((((GY$HHH/+++q+3/_^]q]39//////8+]qq]q+]qq3+33383+338+3/8_^]q93+_^]q93++9/_^]^]+_^]++^]q++33/_^]^]3/9/301!!!!!!&'3267!&'$%!5!5!5!53!6!36%333#7#&'3257# +w !JP5dX);X&ùMm;4>N .h{_[DQ 4~D@҂m~Uo="g]vzҴ޻{Vd*l,n{tby;".X*]@    +L@Y/  + LY + +J@Y@ H`p/]q+q+83/+8/_^]^]qr+3/939/_^]9/01!$%&'$6!!!p,0xXt2^к~`xN\Vh&@$ 0P` @ "%H$!!B@Y0   $&&  K@Y @$HH$$K@YP#&H H/++]2/]2+3/++_^]]3+3/9/_^]qq+8939/+_^]q^]301!67!!'&'32665!&'&'!!݉&~E8#, ʅfh2o斟r +=1ޠtʉ٨xZ&3;?$@ +4848://:>:EY$&&"OY5=EYEY  E@YK5[55$4Td$4 #(H!H@H$ @(H&55&0>>>$>D>T>>@ H>>(H@ H200-F@Y000?0O000P00/q]q+33/++3/_^]+^]]9////+^]+++^]r]]3+333+3++3+3/99//01!3!53&'7#5!&'%!367!%&'3254'6#!!!#5!!!\AL:K &,'"UƉcBXu$M"{h\FJJXfnZbp]S2f|@Lإ zTZ*frJ EL@   #Y@Y##,**7ApAA @AR@VY?(O( ((..0?''''   KK &FFE@@@@/@?@@@@@ @P@p@@@@ @@@7E;7MYC?OY2 +1@Y0 _22@ HG22@<2 2 3_3I33 CCC`CpCCCCC C   C C 9;%;"H;H;@ H;IEEL@#Y Pp`/]q]q2/3+3/+++_^]399//8^]]8^]qq]]q99//8]+]93+++99//_^]q^]q9393^]33/]]93]]+_^]3/33/+_^]^]013!3#7767#365!!67#"&'&'6&'&'326567##&} r^~px +wltlh`i*A2F)y{| +*Eb'Yƥj+L,ɇrj`J?"#'e|':h8 ^k;ZY5>E_< << +w w i +v bxQA/w"QP+BQdT^^vcR +HfQQl( "R 6BT:#Us&$ : $ |:"hj"&"2"( + Id` /""   , *& RJzRV> * +4  ,`B4tf |"6$(&l&(+6-40X12 234455d7:T;=?N@B4CEG4K"LPQZQSUHXZ([]>_HaJcpdehhjlnp<rtvy:yz{(|~|T*b2Px +r>v)J/\ +M. +<*Fp&v( ,    ( (. V &n  *  + F( 8n  R , + ~ +.    2    ( + +.0 +> +n2 + +& + +. + 4 . b. p 4  + * & + * $$ N$, Z- + -* R    &V&n*  + + F( 8n  + ~ +.  b. p + ~ +.    ( +NegretaMicrosoft YaHei Negretatu nMicrosoft YaHei tu nfedMicrosoft YaHei fedFettMicrosoft YaHei FettMicrosoft YaHei  2016 Microsoft Corporation. All Rights Reserved. Portions 2016 Beijing Founder Electronics Co. Ltd. All Rights Reserved.BoldMicrosoft YaHei-BoldMicrosoft YaHei BoldVersion 6.21MicrosoftYaHei-BoldMicrosoft YaHei is a trademark of the Microsoft group of companies.The font glyphs are certified compliant with China standard GB18030-2000 with the font name Founder Lan Ting Hei. Microsoft Licensed the font glyph from Beijing Founder Electronics Co. Ltd. +g,[W^[W_bNSNSY'ekcu5[Pg PQlScgC0g,[W^[W_b N[W^T ekcQpNѐN-VhQ{&T`'hmK {&TN-V GB18030-2000hQ0 +http://www.microsoft.com/typographyhttp://www.founder.com.cn/cnMicrosoft supplied font. You may use this font to create, display and print content as permitted by the license terms, or terms of use, of the Microsoft product, service or content in which this font was included. You may only (i) embed this font in content as permitted by the embedding restrictions included in this font; and (ii) temporarily download this font to a printer or other output device to help print content. Any other use is prohibited.http://www.microsoft.com/typography/fontsNegritaMicrosoft YaHei NegritaLihavoituMicrosoft YaHei LihavoituGrasMicrosoft YaHei GrasFlkvrMicrosoft YaHei FlkvrGrassettoMicrosoft YaHei GrassettoVetMicrosoft YaHei VetHalvfetMicrosoft YaHei HalvfetPogrubionyMicrosoft YaHei PogrubionyNegritoMicrosoft YaHei Negrito>;C68@=K9Microsoft YaHei >;C68@=K9Tu nMicrosoft YaHei Tu nKal1nMicrosoft YaHei Kal1nKrepkoMicrosoft YaHei KrepkoLodiaMicrosoft YaHei Lodia 2016 _oQlSrHgCb@g 2016 SNSY'ekcu5[Pg PQlSRrHgCb@g _oŞ_oŞ-Bold_oŞ Boldi@Q{|{|vwmploknknrtugjfiehehqszC!yC!ABWR+VR+UR+TR+SR+QR+PR+RJ+OJ+NJ+MJ+LJ+KJ+IJ+HJ+GJ+J 9AFC+EC+DC+BC+AC+C9AF@:+?:+>:+=:+<:+;:+9:+8:+75+65+45+35+20+10+/0+.0+-0+,0@++++ ++++++++G++ ++p+++~+}+++76543 2 10/.&'('*+,+"#$#  +    ?    ,<*<(<&<$<"< <<<<<<< <<<> +endobj +8 0 obj +<> +endobj +9 0 obj +<> +endobj +10 0 obj +<>>> +endobj +11 0 obj +<> +endobj +12 0 obj +<>stream +/CIDInit /ProcSet findresource begin +11 dict begin +begincmap +/CIDSystemInfo +<< /Registry (Adobe) +/Ordering (UCS) +/Supplement 0 +>> def +/CMapName /Adobe-Identity-UCS def +/CMapType 2 def +1 begincodespacerange +<0000> +endcodespacerange +118 beginbfchar +<0000> +<0001><0041> +<0002><0020> +<0003><0042> +<0004><0065> +<0005><0061> +<0006><006E> +<0007><0046> +<0008><0063> +<0009><0074> +<000A><006F> +<000B><0072> +<000C><0079> +<000D><548C> +<000E><0070> +<000F><006C> +<0010><0069> +<0011><0043> +<0012><0078> +<0013><6709> +<0014><4EC0> +<0015><4E48> +<0016><533A> +<0017><522B> +<0018><0053> +<0019><0067> +<001A><7684> +<001B><751F> +<001C><547D> +<001D><5468> +<001E><671F> +<001F><0049> +<0020><004F> +<0021><5982> +<0022><4F55> +<0023><5B9E> +<0024><73B0> +<0025><8BF4> +<0026><0050> +<0027><539F> +<0028><7406> +<0029><52A8> +<002A><6001> +<002B><4EE3> +<002C> +<002D><0062> +<002E><4E0E> +<002F><004A> +<0030><0044> +<0031><004B> +<0032> +<0033><4E8B> +<0034><52A1> +<0035><65B9> +<0036><5F0F> +<0037><5E95> +<0038><5C42> +<0039><81EA> +<003A><5B9A> +<003B><4E49> +<003C><6CE8> +<003D><89E3> +<003E><529F> +<003F><80FD> +<0040><004D> +<0041><0056> +<0042><8FD0> +<0043><884C> +<0044><6D41> +<0045><7A0B> +<0046><542F> +<0047><5355> +<0048><4F8B> +<0049><6846> +<004A><67B6> +<004B><4E2D> +<004C><7528> +<004D><5230> +<004E><4E86> +<004F><54EA> +<0050><4E9B> +<0051><8BBE> +<0052><8BA1> +<0053><6A21> +<0054><4E3A> +<0055><9009> +<0056><62E9> +<0057><004E> +<0058><4E1A> +<0059> +<005A><4F7F> +<005B><573A> +<005C><666F> +<005D><5728> +<005E><0031> +<005F><002E> +<0060><0037> +<0061><7248> +<0062><672C> +<0063><5B58> +<0064><0075> +<0065><662F> +<0066><0054> +<0067><7C98> +<0068><5305> +<0069><002F> +<006A><62C6> +<006B><51B3> +<006C><529E> +<006D><6CD5> +<006E><7EBF> +<006F><578B> +<0070><96F6> +<0071><62F7> +<0072><8D1D> +<0073><5185> +<0074><90E8> +<0075><6267> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end + +endstream +endobj +13 0 obj +<> +endobj +14 0 obj +<> +endobj +15 0 obj +<> +endobj +16 0 obj +<>stream + POS/2Pь`cmap":N<tcvt fpgmdl glyfW|!\Shead0[u06hheauh$hmtx ulocaw8~8maxp  name6post  prepQQ A(ZYEC@ $$t  hV V %()*,-./012345678>@ABCDEFGHIJKLMNOPQRSTUVWabcdefghiklmnoprstuvwxyz   00NN +N N NNNN$N*N-N:N;N>NHNINKN_NNNNNNNNNNNNNNNNNOOOOO OeHecepeteeeeeeefff/fgg g gg,g/g:gegggggggghhh7h8h9hFiij!k!kckdkekkkkklBlGlllm;mAmmnn2n8nnnpuppq6qrHriryrsstuu(u1u5uLvvvvvw wwwxx@y:y>yyyyyz z3zzzz{&{I{~{{{|{||~~~~~~~~~~~Qn TZ􂂈LehʼnĉƉ㋡a#(/DVwÎlnoǏЏԏ؏ُۏޏ ;GSMǑ̑͑ϔ.EMPdƖb{؞  %()*,-./012345678>@ABCDEFGHIJKLMNOPQRSTUVWabcdefghiklmnoprstuvwxyz   00NN +N N NNNN$N*N-N:N;N>NHNINKN_NNNNNNNNNNNNNNNNNOOOOO OeHecepeteeeeeeefff/fgg g gg,g/g:gegggggggghhh7h8h9hFiij!k!kckdkekkkkklBlGlllm;mAmmnn2n8nnnpuppq6qrHriryrsstuu(u1u5uLvvvvvw wwwxx@y:y>yyyyyz z3zzzz{&{I{~{{{|{||~~~~~~~~~~~Qn TZ􂂈LehʼnĉƉ㋡a#(/DVwÎlnoǏЏԏ؏ُۏޏ ;GSMǑ̑͑ϔ.EMPdƖb{؞ N^x NNOR}/wg{3Af-.MO5nl[5޲pزֲڱر~Q=ZE*(*ֳ'Ӳ 1]}ޱձPd; u6Xϯܰ?pwʯׯ0nKXJNn54m׮9XhBȬBMxI߭\Hu^۫c^dͫҬ(٪LH +~Nڨ eZ:禇Z;[6(ץ4ݣIj5_衹m}rR}9(T,*UC1ןĞ(ߟ_+򞽟؞מ7m^;n<$~`34ԛOћ T<ݜ,71蚷 ԙ-Wؙ&Xݘ69uwϗ5ۖ;X;ꕤxnݓ͓W="ؐY{Ks7 +(h0[\)؉ 9$#R䇇t';EqC#򂒃(#[C؂ׁǁq*8~WxSywwx#wwwv.uuuvuKtv uu*u=t4ttLu&stssttvsCtMst'sqqrrgrrqrWr]pq>qWqp\qpr9qqqbqqpq +pqqp~pgp3nooool;k_l;lkk]jHj> +#eB #B%%?? #eB#BCTXE#E ic#b @PXgfYa c@#a#BB!!Y-, EN+D-,KQ@O+P[X EN+ D @&acaN+D!#!EN+ #DDY-,KQ@O+P[XE @ac`#!EYN+D-,#E E#a d@Q% S#@QZZ@O+TZX d#d#SX@@a ca cYYcN+`D-,-,-, +C#Ce +-, + C#C -,%cf% b`#b-,%c `f% b`#b-,%cg% b`#b-,%cf `% b`#b-,#JN+-,#JN+-,#J#Ed%d%adCRX! dYN+#PXeY-,#J#Ed%d%adCRX! dYN+#PXeY-, %JN+;-, %JN+;-,%%g+;-,%%h+;-,%F%F`%.%%& PX!jlY+%F%F`ab #:# #:-,%G%G`%Gca%%Ic#%Jc Xb!Y&F`FF` ca-,&%%&n+ #:# #:-,# TX!%N+P `Y `` QX!! QX! fa@#a%P%%PZX %aSX!Y!YTX fae#!!!YYYN+-,%%JSX#Y%F fa &&I&&p+#ae ` fa ae-,%F PX!N+E#!Yae%;-,& b c#a ]`+% 9X]&cV`+#!  F N+#a#! IN+Y;-,] %cV`+%%&m+]%`+%%%%o+]&cV`+ RXP+%%%%%q+8R%RZX%%I%%I` @RX!RX TX%%%%I8%%%%I8YYYYY!!!!!-,] %cV`+%%%% % % %%n+8%%&m+%%&m+P+%%%q+%%%8 %%%q+`%%%e8%%` @SX!@a#@a#PX@`#@`#YY%%&8%%8 RX%%I%%I` @RX!RX%%%% % %I8%%%% +% +%%q+8%%%%%q+8%%8YYY!!!!!!!!-,%%%% PX!ehY+d%%%%I c% cQ%T[X!!#! c% ca S+c%%%&JPXeY& F#F& F#F#H#H #H#H #H#H##8 #8Y-,# c#c`d@cPX8qvo @ LL@ L@ +M L @ L  +Al@t @l?+?++9++/+201+++76&#"3267#"&54632` B  !  {v+5 L@ L L.M.L L@M L"#)2, M@ M73 M3L M@LL M3@l/@l) +"@L"ss +&Al& +@l ??++9+++9+9+++++++/++2201++++++++7"&546754&#"#"&5463232653#"&''326751.  + +!  +"  +  B   /xy0 L(@L&M L L L@L#+ +@M@(M2/jjj'Al i +j ij ?+?++++9+++/++201+++++++75326554&##532673663233#5326554&#"33   +* + + V + +@C E{)ֹ@L &@M+MM@vL* @M @M@M@L@L@L@L% jj%@L%@L%@L@L@L@L%9 tij 9l j jj ?++?++++++++++++++++++++++++239/201+7#5326554&##53&&##"326553#54&##360h  ! +  +! +$@ +: Ipv"Y@ LLL@# L +$ s Al @l?+?+9+/301++++747476&#"3267#"&54632#"&V + Y  ! md@ L  MM@ +L @ M ii@l +Al + ?+?+9++/+99+9/01+++73267#"&55#53267733#< + + +  (($ + F' tv @M M MM +L +@MLMLML@ +M @ M @l@l  ??++/+01++++++++++++7#"&5463232654&#"tX<!"$$uy)@MM M@ L M M@'M+*(%i$#j($i(jj sAl ??+9+++++++++201++++76632#"&74&#"33#5326554&##5326733 + +  JU 6S wt-./01Ĺ-L,L"@ M!M!MM!'''@ L@L@B M3'!/1i 0i&/i).i,)--"'!'&j's ' jj'')j'Bl?+?+9++99++9999++++3/+++9/901++++++7376&##53#"#"&546323267667'&&##53#"'#3#B*" "*O + CcX + !%#@# ""//9/339/39/301737#&'5'5#"64'375#535 0  799  #5 + +bEE'/@ ** *//333301767'6554'7#"'&'7#"'&''>;2'  (' WC,.(* +#"  c  +  95 !#< BFJNR_@-# 188>,;,00 PL+LAA  HDODKK  + + G!CC5 5//9/339/339/3339/3339/3339/333233017675#"'35#"'37#37#7764'375#37#37#"'35#"'35#53533535335   & ? ' + ')&&W S $ :*  T 7%% $U% $C = = ?C < /  + )  ) + +h((((.**** =jnrvze@0`P 77;;>xlXl^^>,2#266>tpwpkk>H~s~oo>B{{> >//9/339/39/3339/3339/3339/3339/333220176'767#'665#'3765#"'35#'66734'37#37#'37374'5255#65#'>5'6635'3533535'37 ( V< ;  +  - 9         + + -   !"% + $ +(   $ )  + +   7$*.%J + 1d!!& &!!J  *5%@ 1+ ( %  //9/33333322017#"'&'737&'5667#'667#"'36#"'&'2#K +U #" + X D#%8 ; ] . + +  + +  Z#i?HK0 #G +  +(:+@!::%: ://9/39/39/33320177#"'&37'7#"355#64'37'&&''667pAe + + + E aa_ +7 +<%,$<';  + &100- - + $'$5 11@/ ("&//9/3339/39/39/320173535255#65'667#"'36737#376'Y\\\#\!)7 Z  +U V y##)!!P #9 q/$   + v r% L$@M!MMMMMдLL LM@1 LM 'iji "Al @l ?+?+99?+++/2201+++++++++++++76632#"&'#54&##5326732654&#"# + +   +  ]    +#.26ZU@, j.(25       + )R   +2 ' %   +#@ ""($$//9/39/39/32017&&''66737#"355#64'37 5.,+7$'7=d e ``^ +-  1)* 6*e '88- . +5@;@< 60  00((//9/339/39/39/33323017353575#64'36737737&'5267#'66#"'&'-444 4 + + +! +'6   : @@FFF@u$/]. " # +8 $ u "p 2I + @ +   //9/332301737#37#"'35#"^C k<     //9/301>'37# =^& +kH + 7W3@D S:HP:>> 74K K//9/33339/33333320177#"'&54'36737##"'&'65'667#"'37#&&'#'667#"'36771   1j? 6/*%)9 qVh2&!- + 41$4 C e ++ +)  +  ("   O ,'! !#  #[6 P@  L L L L,@M@ M,0/  0/]/++01++++6"&&6632&&#"32U  0 +&  +7;!@9 18814++1//9/39/39/30174'375#>73"&&57&'5267#'6673735;?A<8  >5! + +s"$ +n +AQ ,  2# 44g,<  +,..!//9/30177#"'37&6'72'54':~ A +(3 +2w  +X +"L5@!/;,;?? ##//9/3339/3339/33320173533564'34'375#65#65'667#"'35566737##"'&' #^  !# J 30  ) ????XB0 . )"J%9 R.F(5 + -  + g'2F#@) +)A55!)!//9/39/339/30175#"'37#37#67.''>777#"'&7##"&54767337"O + 8 W- M643  + J   + G +g 1 4  &%  +  + 8   +" //3017#"'&'&''67&'766g S +32-)1F@/"%  P'0 -/2/IP=G<#@  @ M@L/++2/0167"&&6654763     +   7;?CWA@D=# M9A +     +  B   &!!& e+H l 81@*11.. 7%4%))    //9/3339/3339/330174'67#"'36737#655'674'37#37#"'35#"'35 +, O  + X~i& F2 G :`    )o L 0 +) P P  FMXyQ@&_ TNr E31LLrA979EEroumuyyr(r(//9/39/3339/3339/333333332201737#"#"'&'37##"'&&'5667&'67#'367#'366737#67#7#"'&'76'5655'675#'34'37#dj g  &H * + -'- + +$ 7 +, T  % ^+ - + + K +  ) )  + =    +     C + + + o U H 8) ( !5@ + ////9/3322301767'37#&''67&''654'74'65'6 + +: + +M ! +#"!"*'c "  <$BC  @,% !%0:!6M= Z i$ )15>N'@:=5%3%))H MHM//9/339/333320175'667#"'37#7&'7#"'&'37#7'675#'764'5326'54'&O$   e F P * + 99r -&  E/&   +  0  3W] +!S   +  7BT+@$&&99 9OEE(9(//9/39/39/39/320176735'37&'375#65567&''66?#"'&7#&54767337&_Q]<A  '?2)"[]@0    K  +  Y//k   ) +@ +& +*   5    @ + //9/39/301735''&'375#'>MyT + 3wy="774 + ! + 4N,AW ALS\jK@#=chXTHQB#A37A;;! MQQ++//9/39/339/339/333333323220174'34'34'5#'7#"'37#37&'5655#5#5#64''#"'&'37#"#"76'7'6767o%% V + | J >  +   P : 4  + #' +"  +) + +  A  I  HGLNT[8|  4  $!U   +=" +"&*?IZ[@+3FA(;;$'',##JXX + +" ==//9/3339/3339/39/339/39/39/33320174'37#37#37#"'35#"'35#"'3535'374'5'5#64'7"'&377'655#")H :/ J 3& %LLLZ KLL &$ $ +  +      Z( Q  +1F}  9 + Y!!] +:E#@8;5 A/ % /3/3339/33333017#"'&''37#67&'&'5275'6675#"'34#"'&'(Fg  "0G'- 4*B cK   %*1  'a~  : G +C  "&*:7@0 (00$'' 6##  //9/39/3339/39/3330174'37#&'5655#"'#"'&''35355#64'37 + / 4  K))))&' -  }  8<@   + + ++6AS1@2 ,D D (( 8NDD8//9/39/33333332017#"'&'#"'&'5667#"'366537'#"'&'77#"'&7#&54767337&N +C1# 2:.*: O q> += K    +Y  +"  2 %!7  +h +>  +(3AT'@B6K,1% + +K#;K;//9/339/33232017'>7##"'&''667#'37#376554'74'&'765655'667 ""  G 1 +  x.0 +&.# +  + A   + . +! 8 +    +!!g %> & k 5 #.. //9/3301655'667754'667332653##"55'67& + C!  + 5"# X!R m eH ] ( !?= #-J%@> 0FCC% 6%6//9/339/3232201765'667#"'37#77#"'&&'7#"'&67"&&'&&'675#"'37+)(- | M    <6,:$  '  -D+(G   U_  e     P .26Qm=@ `l4-03TEP/33l-3P//P3-l%9 /22/39/////]3333330177&'7#"5&''2664'37&'5255#5353574'67336653##4'67#7367473#"G  +L  + +"35555/  " + * # !' .   +*p + f  #<~,F +#   fN    PV[`-@^X>X"",5V\VWW,/SS,//9/39/3339/333017&'5664'567&''67&''67#65'66737&375#667"&&'7#367335 +" 3GL*,8<#9<,- +9 5A  # ((> /?E%0 / ( % - + + + +  + %j   (+@  # //9/3339/3332301734'37#37#37#"'35#"'35#'66? +;9[-OH m& G=  . +2>H H >+> J)@@8,,85<<@@.8.//9/3339/3332017#"'&'7#"&''67&'#37&'567#'6654'3&'37#6677 &%(O.   +/'M7Y   +  %G0 +< 1S!%U ! +B &) +6L5@:E LAH>HLLE4**.E.//9/3339/333323232017#"&54767#"'&''34'376'567#'>5#"655#"'354'37#g +s u-& ($ ' '  +*k+  +-! +) d+  +)c59*,:)  r .  +8 + 3)@#-//9/339/39/332017655#'66737#37#37655'>7 +P V, L3  &! $!@  6 1  _5( #  +(!&&&//9/33017#"'&''67667#"'37"327"&a Qq  L:&(J:    Q E !*=/@%(0 300;;//9/39/39/39/33201764'375#53535'#"'&'64'655#"'37&'V1 + 4444e | P o +  ? + B h''-**y    +  +81@ 1& # 1-5*5 1//9/3339/33333320177#"'&37#&&'#'667#"'365#"'366737F0Lc .,-  ;03,E g; q  4  /0  /)%55   % :DM@ JE@;//33330174'52'5'667'667#5667&7677&'7&#"'&''"'667# + + /*( + +) ;`> _+ /!   + +  + /  0 + #(% ##2 (4"/@  //9/339/39/39/320175#64'36737'353535x  Q +xxxxx + +   ,,2228// 51@ ''$$. ..1++.//9/339/39/39/330173535675#767&'56'5#'67#"'34'36737Saaa ao "ITR:l 0 F#@ +  (P9B5 S   $!@ !!  //9/39/39/301737#"66537#376'7267#'7  0u v " +w2 | % / %7 +;$ +  +!;?EOSW]@,% 55U''5ITT5CLL558=-@F-PP57<3005)5)//9/39/3339/333339/39/39/39/39/3320175#732673'#74'35#"'375#64'35#"'37#37'35335#35#"75#65356( 46' FlH e -?  ++H+H4\X B ,zr!   # &. 753D0^&&  BFJN@O1885LHKDG,==C& *@  GGGCC@@@KGC@@CGK5//9///////]q]]q]q]q]3333333333333333301735335335'375#6435'36537#3737#"'354'37#"3535358'' ("fY@a5 +5$4 'fffff!!!!!!   +"s +  + e  +\ "#%@! //9/3339/33301735'4'375#65#64'35HWF HEEBB' ( : L K D BB +#-O/@7+=$D44C?==!!//9/339/339/333201767#&''6737#"&''6''&'>7#'>5#'37#37&' , + 5  !"12X   '  a K&  + (%Aa$.4=  E$& +&   +.+963! ' D  4#@,(//,//9/3339/330175#354'5#'754'35#'754'354'354';EC: ;;' + a, % ' :a )  5B Q-   1<1@ ##8/'2'',/22/99//33333333330165'67#"'35#"'34'37#36737#"&'#'#"'&'w(B=#A m9 Z +=_  +1c"B:O +(AD#D >  >@ BZ    +.@)@// ////9/39/39/39/301737#"3564'375#764'374'5255'&&''66GK J &4$&]* L 8'$+3*)9~  >>_0 <[iN + ?  ;|  $+> 0?C=@ A>>5@@#**''0-""//9/39/3339/339/39/3201664'374'5655#74'37#37#"'35#"'64'375#535  n 1 c : 688<\) +   E8; +    1 + &=))  '/:>C\]@,Z60,( "" AII4'374'?)))))7)  m! , *L112$2! +/ $J   c cs   + + 2283| <#,!,f +   !6@aM@$=$8X__ XXU[S[__X1$$EXE//9/39/3339/339/3333333301737#37#"'35#7'6777#"'&77##"&54767337"'7#"'&4'5655'675#'34'37#7iX 7-  E &#  e e G;!  ) + +"K C  C9     + +F + +LW +D 8$ $ +3 V=@: D'>'66 J"G"&& VM!! //9/3339/3339/33332320164'74'&'525'54'37#37#376'5255#655#64'35#"'35#'667. 4$ B! ## "! B$ + + + +7W +\ +  + $   + 1  +.E " +>G.   + L[_K@#"]ZZQ\\8??<<E3B3770 II((//9/339/3339/39/339/39/3230177#"'&7'655#"'37644'37&'5655#37#37#"'35#"'34'#764'375#535& +  % + + \  + 5 +$ = ( "(-;    ( ^ ++m$  + +   TR(%(  " :''  $(-1@+ "&)&%!!//9/339/3339/333201735655#65#'664'37&''3533535C(CB#h@ CB~55z 3@ 95&@p + 7777=* 5 #M@ GDD:://9/339/32201737&'5667#'>7#'#"'&'67#"'&'655'667#"'37rh  " 7 !   E  %& G  + +  ,C72C)/ v   +H "I/   ,3W7@W%!##)T7Q7--II//9/3339/39/39/322301735'67&'7#"'&''665#64'37'67'37#"'&''67&'67#"'367B1  ? +(++ JB@   %#  $ +HBB8 + .gF K + B:";8  <" + +  +$(+ + *@   //9/339/3201737#37&'7667#'65#"7#"'&' {A + + + CQZ? W  +M  +3W%3w: +  3IP[=@%W QN*J :I +--**30 //9/3339/33332333320174'37#37#7&'7#"'&''267#"'35#"''#"&547654&'5667'&'7#"'&' +' B5 ^ + +$i  8: + +% J '   )N# + +# 6  &   + < 6 j$ + +b = +  @M M  M +M +M @ MMMM M@<MMMM MM M MPMM@M ,MM/++/+01++++++++++++++++++++.66")&>1 *B%e#x!L@ +L ! M@ MiClDl@Ms +ijj  +s??+9?++++++++/++++0174&##53267333#532657'2#"&5469 + J eig8g[M MM MM@ Mji j j i?+?++++/++01++++7267333#5326554&##5% Nnt@ M  L L @ + LM@ LL L@6L   + j i@L@ Lji +@l +@liML@ M j @l ?+++++++?+++++++/99//3301+++++++++7#57#"'733267nVE% RF& +'e "gxIݹI MH Mд L +@%L+LL*%+=08 %08C@M@MC@MC@MC0M0@3 L0IHj>?j>jj> >!Al> IiI?+??+99++++++++/++++++229999++01++++726736632663233#5326554&#"33#5326554&#"33#5326554&##5 +  +  " " "t LK  + JK + +IWx0 L(@L&M L L L@L#+ +@M@)M2/jjj'Al i +j ij ?+?+++?+9+++/++201+++++++75326554&##532673663233#5326554&#"33   *  U A? + Ey .MMLL@L, !!@M@< +M!0Dl, +'i&%j+&i+ ij i   i Al iAl?++?++99?++++++9+/++2201+++++7&&#"3267"&5463254&##5326733#"#5\ !  + ^$6 mv7@ 6 L2M@ + L,M@M. ''ML@%M9'3L3MM3('i((((@. H+(j+@l#@L&#s& i @H @ H j@l +@ L&s& ??++++++++++++]+99+++/+++99//01+++++746323267&&#"#"'&#"'732654&'&'&'&&    +    + W!  +   % + +  %o M M M M M @, M MMMMMM M M@ M(M M@ M M M MMM@ M  M M@ M @M, M  +M +/+/++01+++++++++++++++++++++++++++6&766&&'&6M'%$ +/>) 1B )8<'@:// 599//9/39/3339/301765'667#'35566737##"'&75#64'3735Z " 8%", 3&o31 +I3c\['5- +/   +Sq,c" + +}} %,04\^@32AXX>\.1WSD*!-MQ111\1D-QQ-D1\9 I&/333/339//////]]3333333333330174'37&'52'5#64''#"'&'7'635357'655#"'35#'6737#37#37# P k KPPP""  '  ; +- ) -(' += v !?m +;  +) &""H +6 ( (D  + ( %6SZvO@%m6200 T`^^  ?HH   " 8LLs s//9/39/39/39/39/39/39/339/3320175#64'6737#35#'35#'377'275#'37#73733676##"55#'>667&&''37&&''66v D   +  +$D  +  /7R + (S 2G    +$  P  + + **B +7 + +##"  + +0  '  +2%!V + +? +   xz.t.@9L L L, @L0 /&%j&* iji j @ L Al ?+?+++++?++201+++726754&##53267333#"#5#"&554&##532673:  + +  + ?b <S  ,$+$//33017#"'&''>5.''>'X "I%+  +?.24K? %ID -2)5=&  "(,<&  E?@!.2))-$$(----((-!//9///]q333333333017'655'667#"'35#"'35#"'34'37#37#37#67&&'\4, '$0A h' H8 YAb3 RKo +  +(3 ' (    +   01 !%)-1C@'## / +.. !&*!""  + //9/339/33339/39/39/333201735'67#"'37#375#64'35335#3535j*1@ } + b+D,c***/,,`  + Z<#m&&,(( @ +  //9/33301737#37#"'354m ;_R b Cq  +8<@DG@!B">AA":=="599"/3")-"//9/3339/3339/39/39/39/320175#65'67#"'367#"'367566737#37#37353535Z&2, P! D6D[  ++>_j^oZZZZZQM Y!'2 +   + +  !tx#0@,M(L( MMгM@ L*$!@)M21 '-Al'@l i jijj?++?+++?+?+99+2201++++++3#5326554&##5326736632#"&''32654&#"..   +  + v + +#9 + + ut3456789:;@ LM3L2شL/L.L'L'@ +LML ML ML L@ +M' !-@gL--!=!7'i745i8;6 i657i9:74,;i/:i9i8i7i6i5i"4i3 & '( -/j!j-,jjj!jj-!"j! ?+?+++++++9++++++++++++/99//+901++++++++++++++++776&##53#"33#5326''33#532677'&&##53#"37#3'#C' ,' ++ D =I(."#'*Zddd7>'@52== **//9/39/3339/30175#6554'37'35'37#"'&''67&'67#"'3667#97F9 & + 21  ) + (#  +b + ~~;  F +  + &" ; & D# +1/@/*'' ''( "'"//9/39/39/39/33201737#"35'375#6455#6554'374'Ba d =K<=Q" $00 + % 1[!~ + +  +y* LM@K L@ M *&&@M&@M@ M@ +L,&)i(i!"j!j! @l@l s??+++?++++/++++999/+01+++74632#"&547454&#"3#33#532655#53- **I \\az //301737#" j +4XO@%F#+#11 #,,00# ''++#CI@IMM8#8//9/3339/3339/3339/33333230177#"'&65#"'35#"'35#"'36737#37#3765'67#"'34'37##"'&'p)" C 2 A +  A :(  ( )   ~2$* * % " % * $;>(,E # )    "3A@(%/+ 22//%%%%&%//9/39/39/39/39/333323017'667#"'&''35353535'4'3737#"'3k +*'%C!$ #GZZZZZZZgY  9    +"% &N +  [7 +?//016'7#"':  "  3JNRVZ@-B4TT7=PV)&LO/ ,KJFC=VOCCOV=!2;!/33/39//////33333333333333333017#"'&'37#37#"&&''667#"'35#"'367765'675"'37##353575#  + T  =&B%&"  ? D 4 + V 1$$$$$$    4 / +4#74 4 $  +! + --3**^ %  7S1@Q,!66;BBOFF00//9/39/39/39/33230177#"'&7'6'5#"'3767'37&''67&'#7276##"75#'664'37)  &  ( +< ZY +,#*9@ T + ,# + +  +" \ + ,& +( + "'0 + 2")% +  +(,O:@(*:@@8D)(D))D(=0%/33/9////]3333333017357'6554'375#67&'#53565'67#'34'37##"'&'HH'" +G + +/ %  .@H ,  +*  && ~! + "4  &  +WY''#:>%,@! * + +   /37XK@#, 5..Q%44Q  $$QNTLTXXQ1Q00Q//9/39/39/3339/3339/339/3220164'35#'>'375#34'37#375#'3535'76'5655'675#'34'37#}/.RT.! =DTDD!# & + '1(G.Ia    + ( ($$//0Q + G3) '  ,@ #++&&//9/33322017'667&&'37&'5667#'667#^ ) (U 2!'Zr +4$3-  29%(, <(f +O!M+;?"49D+@@ :5 ""4+ //9/3339/3333201766737#37&''67&'#'>7#'76767'#"'&'^dV !5/'<> '  .  +@ # ( + ! + !  #!;*5,    1 !n  "5#@" 51..//9/339/33320176'37&'7267#'>7#'67'675#"'37# * %",((!$ #,5$ S 20  + L5 *Z)6+)3+X +p "4'@ 33  ) //9/39/39/39/301655'6677353537#"76554'375#, + +8UUU  S + U ]$Fk <@1 J# ?6)+ (@   ' ("$3; + :  # ) +%1!   +Ni H 6# % 0U + + +#+6I7@7@1,@ +# (@(//9/333339/3333233201735'54'354'37#37#"'35#"''667#"'&&'655'667+8+ /  4 + +"#3+z   + FF -$  - F  F ])/ +E!f<.r + !%)2=C@:4 +'#&&"" ////9/333339/39/39/3333230174'37#37#"'35#"'34'353535'6677#"'&: D 7DDDDDD!0A:   q q  + &!!'$$-  & +  +4E.>5>5//9/330176'5326675336653##75'74'74'77655'667 +  ) " X +U + +" & E 1 +cg l m + -" +: + k*&N #  ','@$++##  //9/3339/33320173&''67&'#'35#"'34'37#3767#,=?!1B>+ FE f Fj# CVf'  '& ,+ # + +C.+ 7?WK@##>9IWETEII+22//7&5&**LL//9/3339/3339/339/3333223016'5655'275#'34'37#774'37#37#"'35#'7'&74'37#6'5255#"'1  ! ) ' "X +! =/  E'  9 + 3:   C 6  ( 1U  '  'n +  $  H + = #%7;K@#4.+! 966+ ++ ++,88&+&//9/39/339/3339/339/3333201737#37#37#"'35#'35##"'&'6554'375#535>l B 9"q @ 2#J k  / B B /: +  v Ϸ %-?F3@41)-##1 12BB.1.//9/39/39/333232323017#"'&&''37#"37#&'5655#"'66764'37&'77#64"  MZ Y } H # - `$    +%\! + c 4 s   o"74x2 6J;|# +"'@ +# //9/3333017#"'&'37#&''67&'#"767q  \> (A=/CA*  9  +1A+$ "+ ++@:'': )%@&&//9/3339/33301765#'35'67#"'34'37#&'#37* ;&GB#; e +D\!A6 "$,XN%-S  'S #Ui &.26LU`K@#\3VQ/M=L,3'"304//33  //9/339/39/3333332333320174'37&'5255#64''#"'&'7'635'35'#"&547654&'5667#"'&'7#"'&'  + R r URRRg"  + %P"> : + w (Bz <   %[""& h$ a ;  ",6BVI@"77732673##5'667767'667'6676767 +4  lO +S 5 $% '  + ++&4 6( +  + +   + +   [(    + 1# '(?   +J #1   +?NZe7@ca\3M,'M!MDMM UU//9/39/33333333220177#'66737'&''66'#"'&'#"&54766'76664'375#7'>5#"'&&J +G+8-M0%mA  jk/ +.'0 &, $! +  % !+ $7 +   + + # ">>4 & +   J`irO@%Anj/eIaQ`# >II//5/1-##'/'//9/339/339/39/33323232333320173535'677#"'&'64'367#'664'37#375#&'555#'#"&547654&'5667#"'&'7#"'&'BBBJ $C! V +=hG +- 9   !G# #5# (. )L<A_ +   + > +B?im$ +f + =    $8+@%/ + +$ //9/3339/333320174'37#37#65#"'35#'667655'>7  =* H, M+  B + & 2 : L11 :.  j' "8 " h 4?JiQ@&XFQ@ '667"37#'375#64735*".9K1%''" Z6A?S(  a + W #Wcc +W[_crg@1j0, +]Y..\\%XXL=C#:CPPaqqh``//9/39/39/39/39/333339/39/39/39/3322230173564'375#5#64'37&'#375#645'667#"'3673&'737#'#35335'3564'375#;(6' (-*"*'*0 T  + ? +Z-!'2-''5&'''>' $  +R*) *  &  +    + ****''9% !  + + +'=FQ?@,.M%GB>%.". %%..//9/339/3339/3333233017#"'&'37#37#37#"'35#"'35#"'#"&547654&'5667#"'&'7#"'&'%rL A- O :   $J#  +5?J J ?l# +e ?  + +?CG9@8 A?E*5=E""DD@@%%//9/39/39/3333333332201754'37354'3737#6'5655#'665#&'5655#'665#'7353351"  $  %  &  # 0#:&l( H8  Gd + + ]"CE^ W)69%KKKKK +LPTX\a@.ZZ1HVLVYY1CCUU1NR"RBB1(9M9QQ1.4+4881//9/3339/3339/3339/3339/333339/3330175#&'5655#"'35#"'35#"'35#64'35#"'34'37#375#3737#'3533535354 / PN o. O32F g Dh342 +344444'           + Z< q/ @ +M LMMML + L@LM L/M(M%LL M @L@L-&'&&@ M&@M&@ MM@ L1&0/@M/M/ L"(LMMMMM M +@L%/<<~-'&i'L'L'@, M*'j*9l%"s%i@Lj9l % +s% ??++++++++++++99+++++++++++++++++3+201++++++++++++++++7&&546323267&&#"#"'&#"'732654&< +    + V ) +1 +xv GWxSLPLLLE@L:M: M"M"@ M MMM L +@LLL@"LQ6'!9!BQK@L@ +L9!!9- L-@ M-YHHEELE ME@S MEVEE$4 0$s*'6?<$N@l$ @l<<(+/'  !T/*! + 9 L +W[_cg|{@;k\} FMMJJkSAPAEEkaeVe@@kY]`]ddk 7X7\\k&2#266k {k{//9/333339/3339/3339/3339/3339/3339/3333330174'37#5#65#'34'64'35#"'35'667"37#375#37#37#"'35#"'35#5353353533554'#"'&'6'&54767  4! .*&$ E.3", H)*$ @0  J ;&& *\& * +     +'    !    ;#" +     + +//016554'7&&''667w ;*4++9 +(B d)) ,%(0J +6]h9@3dZW#))2W22W^&N/333/39///333333330173567&''67&'#'>'34'37'7#37'67#"'&'65'667#"'37'#"'&'}$  ' ")& + "( +  )    + 8 +5 55;%&( +  *(87[ +" " +5 4  + JX2 +9  + (,QUY]f@6 ((" ),,]VYYRUG<f? '079R"$. M $%%%%%%*  #t +&        +;^@ TFCI@IMM.F.//9/33332017&'7776#".547#"'&''67&'767'675#"'34'37#76'5655 !"1+   U & 1 )$&2 0 8- $  '%$  + :": $ =2 # + -P + G !1@  $$//9/39/33201737#"255#"'37#4'''6665'667qUS & s>"1' +  f k)dm d4 &/=#@'*$2$$727//9/339/332201737#37'667#"'&''667#"64'74'&'55i B(  + +*),/ ,  "$  +',)@7 +  8#L R~$ +  ,048\W@)9FLCLPPx6++x2x"55x11xu{s{x. x--cxc//9/39/39/3339/39/39/39/39/333201764'375#64'375#64'375#'353533565'667#"'34'37#&&'#'74'532655'675#'34'37#t4 5)  A   45P3 B,& $ R3 J$ g +  & +%  H   h>."  %  +  +7v ] P + +0 ) + !+H'@( +#DAA! + +44//9/3339/3330176'37##"'&&''67#"''7#"'&67.'&&'675#"'372 P& 6?$ '  @5.;&  +  &  +3   + + +! .&G @   +   Q  +%4?)@&<6/!////9/33333323201737#&&'#'67#"'34'#"'&'65'674''7#"'& +0G8/E9 9'q' , +C <c 0\j)1_ 8 +  W(&e    +)5?I]3@F[A<[7.[5Q\'$\\//9/333333333301737#&&'##"'&''667#"'36#"&5476?#"'&77#"'&4'732653'#r +Mh>)+  + 6'2 +< ^=  +7>5  +<  %  +1 +  +#       ) ' 05@ #*#** *-&&##*//9/339/39/33333017'&'7'665#"'35#"'35#"'354'37*   % X H    $HM 5 2 - E #@ //9/3332017655'667#"'37#7#"'&(@!=N _  @  `&X=%I1  + +* -7TE@ H 4/ :-$* PMM  @ @//9/333339/39/3333323332017355#"'34'34'37#37#65#'67#"''7#"'&67"&&'&&'675#"'37(5 + + (  - 4(0& ( =7.9   '  8888  # # 8 :;/) j +   + +  T  +=;@= : $$22//9/39/3339/39/39/3220173564'375#53535'4'37##"'&'65'67#"'@O> @@@@  1!( @88V + 22800( +0   + b>8-#;<  <)@++(.&.22+//9/3339/332230165#'664'667&37#'65'67#'34'37##"'&1#. RO .  * * -\586_$ +  +; M"g0I#1=$ *    /Q+@@3",G=C;CGG //9/39/3333223017'67376'7>77&'7#"&''667'65'67#'34'37##"'&  +H  #`9 %  A * * -<  +z +zh   +; -/m-Q&0>! )    15@% +1(.""**//9/33339/3333333201735'7#"'&5#"'36737#37#65#'67#"'g7T  o 5 >#I7NC( @@> l@ .* @BDJB  26AS3@& 3D3D4((8338NDD*8*//9/39/39/333332017"'67#"'&'&&'375#65'>35'7#"'&7#&54767337"U )Q+ ) 82O Q#' Q@P      +& /B +'E77   2  + !Cm-@G-]%33]iKfKOO]]]//9/39/3339/33201737'>7##"'&''66375>7##"'&''66'66737##"'&'65'667#"'356 &"9  +  0 +";0 /'4 0,  + 3      + #M '    0U2   + V&J+6 //8C^5@-?:50)%%))$ H]]DD//9/39/339/33332322017&&''667655#"'35#"'37#37#&'7'6677#"'&&64'37&'5326&'7##  #$ '  : B +&# @  < ' +  ' + $,7C % +% F ? &  A3" +8  !<",8#@5."" & &//9/39/333201764''66737375#77#5>57#"'&E ) + : + 1 + i1=<=;@&'  ;<  +=Z\b*+=* (6 F  #FH@% 4;;8A//>3$**D. 8 83..38 '!/33/9////]q333333333301764'375#75>7#"'&&'34'37#37#37#"'35#"'35#"@hj+1++*-! wT2 O$ AI  i$ @7 ' + .JH< +(" +        :>BZpO@%[C$@&&C7??C<66C,;;CCk^bbCUFJJ(C(//9/339/339/339/39/39/39/3230177##"&576766733&&'7375#64'375#37'3535'37#&'&'#'66737#'&&'#'66 SS + + dY + [b + y[[dw +. +7  h +6 > +  + d  +   I  "X +    + AD  + + $   + + +  +6?M%@G6;->6!--6L6L//9/39/3333017#"'&&'37&'5667#332673##"55'66764'56554'&^ (  0   14:k +   * -%` % q!?CA H  +    )cgki@2 XA5?599XF0D044X&XKiIi//XPe*NehhXU[S[ddX!X//9/39/3339/33339/3339/39/3339/3339/30177&&''67&'767#'77#'373775#37#37#65#'35#'35#'35#'35#'34'3737'3535X ,@7H/  + + "# 4  +$s& 6. K/ @ 1 1/?/ $  R&&&_0  - > = $ +      )!%3@## "  //9/3339/3339/3320173564'34'375#53533535D@C ADAECCXv+ +- n  @@@@FCC AE)@C C22B //9/3339/33333201764'35#"'37#37&'5655##"'&''6'##"'&''677350)- S*  ," '/, "%,v/ / + x q  ),@ + )'<5// %)-1B/@%@!./AA+..'**5&&>>//9/39/39/3233301767'667'6677676677353535'4'3737#"'3(& - + + +) +9 78i@@@@@M?  %=  C  Y77=88>==P)  #"&+@$!!!##!//9/39/39/39/320173564'375#75#64'3735b;I9;z88T5 7 + x23456 L@ L.(L-(L, L+ L'M L@ L L M LMM@ M -%@JM8 i 536i5i+4i.3i,.j$!i j$ i$  '&2+jj,+jjj, ??9+9++++9?+++++++++/+29901+++++++++++++++733#5326''33#5326554&##53267376&##53#"7#3C&)*  **  L;1-d %)!@'"&&//9/39/39/301>'667&37#75#64'3735 9J  ./4 ZV +pZ8O* +)  % %//9/339/39/39/33233220173535'366737#"4'7&'56'54'#"'&'6554'37&'5655#7000Y  9 , +x +/ 0{!!'!!L  sJ ? t ZN + +W + x  $ )LK@# : :%#:7=5=AA:((:-:-//9/39/339/3339/3339/339/30174'37#37#'7737#37#37#'35#'35#65'67#'34'37##"'&'l[ y\ {J - ++ Y + $ G  ) )      , +5 5,q$;=$.># ,   +  =LP:@ NK &&<6BM K6MM6K #/3/9////33333333301765'67#"'34'37#&''34'376'7667#'65#64'375#535#IB4 f JbA7w*   +:. z( **9A +!/70  +-  5s  + .  + ,@":H0 6 J66//9/3301737##"'&'655#"m< +,@ 4 f%"*'@ ''   //9/3339/39/320175#64'37'66'335#73632'#"75!+/ + +" D;@Gh s E[   //32016#"&&6326#"&6632D   5 h3M@ Mj j jj?++?++/++01753#"33#5326554&#PPw @ 8MMMMȳM@ M M M@ MMLMML@4L M M M  ML M@ +M!M@M jj +9l 9l?+?++++++01+++++++++++++++++++++74&#"326'4&##532##53265dO-%$#+[+#!v(*.+1@ +  //9/39/30175#64'37'35> "z +  +;<@ 77; 62#,0;#00#; (/3/39////33333333301765#"'34'37#7'6'5#"'35#'6737#37#37# 6 %Dn+-  * + ! @ ))5 2Z /& Cc' 6 ( 5=  + (  +1<bK@#U/82,"((,, RXGX\\ + +==//9/3339/3339/339/333322301734'37#37#"'35#"32655#"'34'37#&''#"'&'65'675#'66534'37#7h0;.y =  7 X 2!  5 +&  )$&  * *?   B@  VH 7/  + + 9 6 0L +3\9@>' +% +6DD3* 4YWW//9/339/3339/39/33320174'37#37#"&&'#65'667#'35#'67'37'>7##"'&''667#'37 + :( ? &/* ? F  + +E " $ - )& .] +[ 3 8-$/ + + + "2++3    A t,-./01@ (M, M&M%M%M%@MMMMM MMM@ M M M M @# MM M'(M'M'L& M&M& L@ MMM@LM M M M M +M +@ +L M M @VL M M M  MM@MML0M@M@L +&'(% %(L( M( MM@ M M@ M M @M@MM( MM@ M@ M3'L'ȳM'ȳM'سM'ش L'س M&L&ȳM&ȳM&سM&ش L&@V M&'Cl 0 El + / +CC z,1i0i/i.i!-i$ ,j!j ( jj +ii j?+?9++++9++9+++++++2+2++++++++++++/++++3322+++++++++++93399+++++++++++++++++++++++++++++++01++++++++++++++++++++73#"#'#'&&##53#"37&&##53#"376&+3#]"$",ht^LL\A< AFw@M MM ML@ MMM@ LM L LM@ MM MM@+M Mji@M@L@ Mj9l  +@ L +s ??+++++++++9+/+++3201+++++++++++++++7"&546323267&&#"3267E!# *-&2,."%*7t - + M + /3/3/+2017&&5467t769 9 H @ -@ L/3?3/+20177'6654& 9 967 +z7DZ@M@M1@L- M-M+M+L@fL0LM L M( M LML(L L M#/<M5MM +<5 B>  />)/L/F)@! L)"2&Vl,Ul +i 5 &2V,t?M?L? LML@ L&?U,t&8V,t,&??+++++++++99+++/++99//3+++01+++++++++++++++++++7"&546327332654&#"3267#"&54632#"&''26776&#"7    + $   +*1 ?(%-''1%)0"&! 1) v%ĵM@MLLL% @ M@ +M M M M @HM' &!9ljjj%@M%@M%@M%@ M@M@M@M@ M%9t ??+++++++++++++++++++201+++++733#5326554&##532#'2654&##"&0;TBG/  ?/017"&54632    7/@+ +( + 7.7 ##//9/3339/33339/30174'37#37#732673##&75#'667#"'35#'67y.PFR# 0$#50, j6 ++ +'6DL*50% 5&1   B)@1.4,4881 +$1$//9/39/3339/32017'6554'37332673##"5565'67#'34'37##"'&8-.  + +  r * * WJ')E0 + + + Ej,N* /E# 1  + + +  DU;@G9P)PA//P5<2<@@P//9/3339/3339/3332320173653355#&''667&'767#64'35#"'354'37#37655'667s& ( ( +0+ ($  &'# D- K%!  ~* *    +    '  +   rF' # $4>MQUA@"5 5SLL5ORR5CNN%5%//9/39/39/39/339/333322017655#"'35#"'37#37#&'''&'655'>77'6664'375#53535J k> t # -# + +<#  + + -I JJJJ2   7 + 7 KG* +{  $X4 2 L" 1#@ * !*!//9/3339/33017667"37#37#"'35#"'35655'667^(B .* J-  I' H# + K Z  Z I %]#!M!%8%@&# /""/ ///9/339/39/32017655#"'37#&''64'375#535655'667N # =*++g   +  +'3 'Q::1P%Ei")7OC@#A&BIIO=L=AA*  +*F*F//9/3339/333339/3332333017655#'67#"'35#'37#37#'3564'7&'565544'37#37#"'35#"'g5) + + [ ! ++? X /QB g) C 50 * *   m**S,?g +g  S  +) ) :E@' 8 88 '-//39/////]q]33333301735'375#6473537#37#7.''675#"UWfT  WWe4 TC;1 %, I 2 + 8 1 a" ) *!C  +  M #@   !!//9/39/33301737"37#4'52'5#"'34'7#"+  %" Ek!N o7r `  T  . + 6)@-""&& +//9/39/333332017#"'&'37#'66'675#'34'37#76'5655 O o(l! / *%'  " +  + EJ"LUX 2! ( .W  G QF@#4I8)#//"38338NE//339////q3333333333330173535>4'375#7#735##534'34'37#37#67"3&&'#7'6';S*J"0 ". *  1 h +  +%)5 )% Q!!8>8 +   ,24[! + + !  )(C  !/;FPfq|C@x +rmgWfMHB<4; + + +--//9/339/333332323232323301737#37#&'#'67#"'367#"554'&'7#"&54767#"'&'37#"'&'#"&547654&'5667#"'&'7#"'&'Zi JD G3+91 /    + ;  "   +>   3  +7:&.  ? T@   }f + _ + + + <  +  +"26)@+4))" /33//9/39/3339/320174'376'732667#'>5#'5#64'3735< $  % 52 I5$ ( + t$ )[!1846m| + &0@ ".. //9/39/330174'37#7'6574'667332673##"5* ( FB; _ +!  ) 4- C a + T& N " y M@ML LM +M +@ M M ML@ L  MM@L 9l9l ?+?++++01+++++++++++732654&#"#"&54632] !Z+'%-$,(()/0('03 6:>CHE@ "" F@@55 <8D8?? 7;;  +( (//9/339/3339/3339/3339/301764'35#"'37#375#327&&''667&'7667#53533536533519H f5 + 9 0(61!#,  8:798<9   +: "    + S%! !6 %00//30174'74'776'5267655732673##"55'92;  =2v + n+ /: +8 6-  DD  C[&_*>@ $4(4//9/3230176737&&''667&''667376554'#"'&D +  + ;L>8 +#! + 3 ! + ($6   + %#"&\ + Ll  - !@ //9/339/333017255#"'35#"'37#37#4'MI j* NDj" X F F` 8L5@=F++5!!+/(3(%%+//9/3339/3339/332201737"#"'&&'77#'767#"'367#"'36737#37'655'6679 +   & 9 7 5 - J@ &  d      +.       c ##c'H-  ?CGKOZ{[@+tV*PMIIEALAHHD<@@&&**qwow{{aa//9/3339/33339/339/3339/33332230175#65'667#'35'667"366737#&&'65373533535335'#"'&'7&'5655'675#'34'37#P % C!'2 (    + C $   N e" !P" !W .  +  + +%@> O +/ 1 +     % + + QV F 9 + +) + $1@  00#)!#//9/339/32201737&''67&''>7#'37667#67#!  +,'JF$" #3"!  4 >!"7 1 !"14"R(;N  >% <%( +'+@9@ $444)<<42((@4@//9/39/39/39/339/322201737#"#"'&''667#"'37#7&''35>4'375#Sl i R/9 + && h g m +o D   0  "">=3 +  >6 3<L5@1 +E47#*!*EEJEJ//9/39/39/333323220173564'375#267#'667#'36'37&'764'326554'&'7>M: > +)## 6(   P 11F) + " + +u +D"/0 +  + C #M +U $ + + ~./01234I)гM'L&L&L&M" L! LMMLLL)M) L(@M(L(M&سMMMдL@ L  L M L @M L  M +L +M +@ +M + LMM@MM0LM@"MM8L@M  +() LL L6'L'@ M'0 MȴL@RM0M0 M4i3i-2i1i0i"/i& .-j "j j  &)' jj +ii .j.?+?9++++999+++9+++++++++++++/+++9++++++++++++++++++++++++++++++01++++++++++++7#"#'##'4&##53#"37'4&##53#"376&##5#3+~#";TjjnSki +B)@, >>BB /(3(%% //9/3339/3332301655'6677655#"'35'667#"'354'37#"&&'#37#3! c 1(' + D - D)!  2 gQ! '  `%6B  + ) *3 @%h  *E1@((@0=044/+CC //9/39/339/3339/301764'375#7'667732673'#"''37#37#7'675"'35#"pJL *:6#  + %> ) '&B  ! 3o + c|d +O>A + +:  " ? CG ? + +0b=@b99_N=$++(.#=(##(=KU/33/39///3333333333017#"'&'765'674'34'37#37#"'35#"4'737#67&&'7'6'5'67#"'@.= $EY 2 Dk   '-46  *;(= +  g # 3 %" +*  *O  + + + %' *  &  28<#@:-99-033-//9/39/39/32017&&'375#655'667&''667376735 +9#:VW#%7  FQTW# +   *6 #   +, + +r;; +&9\1@17'QJGMEMQQJ#=J=//9/339/333333220177#"'&3667'67'667#'37##"'&''6'65'67#'34'37##"'&' 0  +/>*#+ + n W A # +*4Tc  ( )  +  +[ + E/ $   + &$ #;?&.>! ,   +   *4@ 1,$//32323017#"'&'36673##&7543#"&547677#"'&n 9  J!   ( f R  + +%$ 0'@&&,  //9/339/39/3201735'5#6554'36737&'75#64'37c8 +  g"87j44fk +#  >4 +  3'11++//9/33201754'777'655'737&'5667#'>7#"4 ?76  +^m, (.'!   7 +[%, R6 #.hP>:E&  ,KQjI@"I<]2gQN2  6: 22 A)) ,,//9/39/39/3339/333333233220173535335335'#"'&'>'375#7655#5#5#6=37&''6777677'667'667uZN  I XX Z!    V  =9 &63   + + K))))))v + + C[  2K,%+,2=A  Z +  w  + $- ! /YK@#$$!!6*'6--6 6X:U:>>6L6L//9/39/3339/39/339/3339/3301764'375#53537#37#37#"'35#"'35#"'5667"37##"'&'65'667#"'3zI  KKfh = 8' x H 3 ; 3  *  2n- . E44X + .  . +]2   + h&N.:  LV)@85RCM! CCJJ//9/333333322017'5'675#"'3556673&'37#67730#"&''67&'#74'7#"'&'# , - <8 5 +4U ! +2)* 6+- 52 . +08 #3!! ,0 &:. C    + &9@ /$8 +8//9/332322017#"'&'374'5255#"6554''655'667s 22  " <" +   +   k - hk:/ +FM'@GJ)&&))<#<#//9/39/332332017#"'&''667#"'3737#37#"'35#"7'667'667767'67! +' +#!*- O +cX :/  G SA' + ! 2  2 +1.9  +  *  +p D  D  !< ..i  )-[E@ &!?R9R33Q+BBH** 66//9/339/39/339/3333333017'&'34'37'7#&7677'663555#65#64'35#64'375#37&'= + OP +  +   + +  + VN :87 M !8   +  & $  $ +  Hj'9:<'    ' + /Qd;@# ^PP^F44^:A7AEE^U^U//9/339/3339/339/332017357667'37#&&''667&&''6664'35#"'354'37#375#'655'667Z+)  +  ) +   , +$  +`  & +  +# Q;;: & 0"E  +7    ' +>C3   +* 3 1 $ ( \%Q  (>'@2&&599  //9/39/39/32301737#"37#"74'67336673##574'74'37#7- & z-  :% .  /-j+$  +:"  D E` $ 8 +  CGK`Y@*^TCD'I\\CEHHCMDDC-4411C:(7(,,C@#=#''C//9/3339/3339/339/39/39/3333220174'#"'&'65'#"&54767737#37#37#"'35#"'35#"'34'3535'376'56'5#64/  + ' E :2  I 0 >NNN\LN  +  +-      ) + N + -H '1N#@.%)JGG +%%:://9/339/3330177#"'&37#'&&''67&'767#"'7#"'&67"&&'&&'675#"'37 +>y+  +/$C > >6,9& + + (   $ + $: + + +  + S  $@   ## //333333017#"'&'74'354'6737#"'3. F ) +& $/ T??  96D!  !'H#@+6>E;E336''66//9/39/3333017373&&''667&''6667#4'7267#'667#"'36537Y G  <9;"4"Ke: +5+  ;7  +   7z3 + &(#  #"   +  ,+@, ) !! +$$//9/339/33339/301767#"'37#37#7366733'#"55#'667#"'q6 _HZ) 5 0;2+B t% -d -k2?=.  "*;)@!!$$2//$ +;$;//9/39/39/39/301754'35#"'375#332673##"'7'&655#"'377uED _ + FA ML   , + #" E +F +@R  ] +]!, 2=E1@EA:4,((,,%%# % //9/39/39/3333232017&'&'5255#"'35#"'35#"'3737#67'7#"'&667&,=M R sa  +m  !5 4,'2S +/ +!JX   e   +?  +B +7+@/ --$  //9/39/339/3232017655#'>54'67&37#'357"375#'66&'66(D8 JA )/ 7-/'  UY5A7  5  22M( +7+=f   vI@*"@L"@ L"&1 @&GL L&L&L&@ M&&KJ@& DD--D@ L9/+9////99/+++++29++2017#"&''#"&547457#"&54677'&&54632'45&5463276632e""  "" +i ** **  //3017.''>o +1#0**+ 5J3 3:30A5=] 0IQjO@%cOJ:I6F6::c#**''c0-""cc]gRR>c>//9/339/339/3339/339/33332301737#'&&'#'664'37#37#"'35#"'4'37#&'555#"''&'7'&&'#'66737> . > G6 SL  o, { 8o 6 f + + 4     + )C +  +    C   - + , + +  +  #   +!1B9@=--=#=== + +4=4//9/339/39/39/39/33017737#"'3435'37#"37#"375#64'655'667 +. | I"Rg` ` + c ` P R-     ..N   + 0 +0Rq$O #6'@    //9/39/39/332017353564'375#EwwwuwLLRWWy;c= + + !5?G=@F3A<373) + 44//9/3339/3323333330174'37#37#"'35#"'&54764'73673'#77#"'&7'&z ;]+ H<  '7  +EE % $1 1 b! + _ +    + <FbM@$C>,I  , ,^[[,33,*''N,N//9/39/3339/39/3339/3332330173533535335255#5#64'3&'77#"'37&37&''7#"'&7"&&'&'675#"'37i, /h, / / ,+C f '- +!V6/;% + '$J-30\ +  +  + j    +  T +  ",K1@?)$ 1GDD "7 7//9/3339/32323320177#"'&74'37#&'5255#"''7#"'&3267.'&"'675#"'37d< 5 + E / 0#-;"  &  +, ( l g -   +   R  &+L;@C5 $''5##52808<< 5 //9/3339/3339/333232017&''67&''35#'34'37#3767275#'34'37#76'5655 %#%3/# 2 1 +$ B L  ' / )$&  c/   ,*$ & * (%4 ( 0Y  I +*@  *' //9/333330177#"'&4'37#&'#65'67#"'= E`HA)A=&?   !( 2T .N4ZM&.T  %/3=D_gqO@(ncigR1^I+0>9B0^0BB0^ +4& +//339/////]33333333333333301##"55#'66'#'34'37#332653'#"'&'35'"'&'37#"64'375#&'5655#'6677#"'& ' / 2  0 7)  +,` [ +6 + +  5  z7CC6A + +: u    ?$$Q  ) R"  O + + K" + + ,4=FW%@TC>:51- KK//9/33232323230176554767'377&''67&''66'66'66'66'655'667O D  ; >  $!!*, +) &&)" +/#6* (G#.N    +u W .   +  + ,X  + + +  &x~;# !<%@4%-)%8%8//9/39/339/320175#7'6554'35#'3767'6737#&''67&o8RM +7< N :  ? !#63 , [ &/; + ?$; +K   B(% +"$$ (=-%7//33330173#".''7&&'77'7#"'&655'>7 () +;1 Q$&   ,"2<" ' ;5  /ln&'3!  !DKC@/ EII2''BB -**:://9/39/339/39/339/39/330173565'667#"'37#375#76737#"'37376'7667#'37#"0, + H / +  N 4 6 V  + !%U Q M sRR{$H: " Rb&& +@] + Y I  + +H )  K5@3 ?I(33I%7??IG:I://9/39/3339/33333017#"'&'67&&54766'7355#36673##"75#'667#6554'37! + & aU  +'1)"+T +s_U +nHH9  V]F- +B  (   '2G-@) &&))B55!)!//9/39/39/3339/301737#"37#336673'#55#'667#77#"'&7#&5476673372p n #L% + .$ ")0+M R + + !CH( *)  +6  + 9CT#@@H;KHH 77//9/339/3330177#"'&&'&''>'37#767'67'667#"'7#"'&655#"'377 D  /65+{ Y>  +0$4&  9 % + #$  i) "3Y  + %,0!+  [ + Z+  ")G+@.*FF  #''//9/39/3339/332017&'732667#'>7#'34'37'37#"37#7&'7#"'&''667#  *'    &(H I ^ C +O + # I " j+ /T&<.-8$* +/  *      = +')@"" %%//9/339/33333017#"'&'37#37#37#"'35#"'35#"b Ea.PE l, M<  +6AJ I B z!@ MLMM M! LMML M L M @ M #9li jj?++?++/++++++++01+++++74&##53#"#"&546323265IR  {34567͹.L.M.M. M!M!L!M!@MM MM/L.M,@M#MMLM.--M-L'L'@M' M"M"@ +M-"'(/@M0MLL/ @ M !MM@eL@M@M@ M@ +L986!;li7.437i6i&5i)4i/.3j.-')j#"'&j'"jjj jj ?+?9++++9+9+99+9++++++9+++++++22+33++++2+++++++9901++++++++++++++++++7#5326''33#5326554&##53#"76&##53#"33'#3{+"../+ + + +I9IC,\{0@',L,L,M$M$ M M  LLسMM@ M.- " @`p2"@M"1.-i.@M.@L.@ M.j,%)شL)@,M)%si@ M%sjj%s9l %9l%?+?++++++++++++++++]]201+++++++++++7"326754&##53#"&&#"#"&546323267&&A 2 !)*2 "25 %5-x @ +LMMMM@ M@ M@ +Mjj + jiL@ Mj +9l + ?++++++?+++++++++301+733267#5326554&##53#"( g/' &+@ ' !!$$//9/33220164'667&37&'567&'#'67676(V + 22'| + +%3,+?D C?e1 +6  #08>u3+ + /GQM@$2 NI9) &   G5D599  --< <//9/339/39/3339/39/3333223017353535'374'5255#'667#"'34'364'37#&'5255#"'7#"'&411111 +  *! !  w +%  $!p  +  9( ( [:. +5   | !  +)@  + +//9/39/39/32330173737#"'3547353535DX ;ZZZZZ +  99?99?==".8B!@=:0(#0 0 //9/3333301754'>733673'#5'6'3#"&547677'&7'&O ' 3" @  I&-  7 L + \ s9D .V + x% + p 4 +7BN7@IC6# (6,66(*&##=(=//9/339/3332323232017&'66'&'66"'6664'365#"'37#375#7'>'#"'&&'a$ + $ !&& + m@ 3P7 %'0)I+$)*bE   + + =kfJ:& $;"Y    ut !"#E@ MMMشLL LMML@!LM +MM@ L MMLL%L MM ML ML@3 MCl# #i "i!i ijj jji ?+?++++9+++++2++++++++/+++++332299+++++++++++01++7#'&&##53#"37654&##53#"7+A"+$;bFE{3@,@ L /!@ M'& @M@MLM5M@1M@M4-/j-,j-!jjjj &9tjj ?++?++++++++++++++99++01733#532655#33#5326554&##53#"354&##53#"m,;,*;*II@@ ;=@74"" :  ,,//9/339/3339/3339/333017353353533564'375#37#&'65'67#"'35#E45x45w  5Df*=<%D;"8 f4""""($$$$98 F6 !/F'45!2  ;/@ +//9/39/39/39/3320173564'375#53535Kk{i +kkkkD77Z$-  33922 +!(J3@&"96<4<@@9 ,9,//9/39/3339/3332322017#"'&''37#655#'37#4'7'6'65'67#'34'37##"'&&NY f  +1 w F +* * ) Y& &a o w +] -%Dl+K#->& /  + 49OXc5@$YT/P@O +51//YY + +)Y)//9/39/39/33323332017632'75#'>'373&''667&''37'67'#"&547654&'5667#"'&'7#"'&''- ,  (".* + + W +Y  ^$ $L" 1! 1 ,)&   ( +'"Gn$  b + 9 +   +)-M=@ +++* 5M +MM +17"4 1/3/339///33/3333333301735'5#'67#"'365#"'35#"'37&'73564'37&'52654&'7#Q%,& +80 - + + \  #00   +  +1-o(>#+4  2 +  22,- *  C!//017'66767&'7#"'&''2670E+6 J[ 6 x  J 4K(!E!-   K6+5 (:@ %!:://9/39/332201737#"67&'7#"'&''667#"'37#7&&''667?[ Y +X "1F +(. v "6 +=(59$"<q l   + 5   +), +# 5E& 6R\?@YKT!!.+%%NKK +1 +>>//9/3339/39/33339/33301734'37#37#73673'#&75#'67#"'35#'667.'&&'675#"'37'7#"'&p!  9* 8  8, G#  0 X6.:$   &    + +# +" ) >CD< )*     +P + W  +  :\?@A#4 488U)/&/33URXOX\\UU//9/339/3339/3339/3332017373&''67&'#76765#"'35#"'34'37#37#'76'555'675#"'34'37#g`  !%(*    +# D 7 + ;) Ia#% % 0  , +    #   # !zY + J0 ' '  /<F=@ ,,=!' '++==599<=<//9/39/3339/3339/333201765#"'35#'767#"'36737#34'37#37>'37#7#"'&'8 X-  + 1 Ln - <0 g !" "   +  + "6#>S _H +   +(2O%@5KHH* *;*;//9/39/339/3201737#">7#"'37#"7&'7#"'&''7#"'&67"&&'&&'675#"'37bW\  +$ |[Y4# G =7-;% + & y"    + + +  + +Q  +BA@"( 5599(4((+%/% ( //9/333339/39/339/33323017353565'67#"'35#65#"'34'34'37#5#37#&'#[III&GA: l :I<JeG?"#5<2 #.   : 3  4@$37;EP[oY@*XmR/MmG/Bm'>//9/39/39/3339/3339/33332017'67#'377367&&'4'7#"'37&37#37#37#6'5255#'35#'35#'Q/+ 2 P + ( +"2 #P s  4 +# +' 5% 6 ) xS-7K +$/R#   + +! + #! 26)@*4,,$ $"33.$.//9/39/3339/320174'37##"'&''667#"'3'375#6554735v # C"  >X  !   & /& L +   (:5++//9/32017667&332673'#55477#"'&7#&54767337F +&(  +#R  ^$ H  + 1  +.!^ ] +  +?    &GN+@:4E*.B*HH444//9/3339/33333017"37#3&'#65'67#"'35'6637##"'&''67&'67#"'36674F_88&G> 9 j(!_Ad= % +&&\T") + - R    +#-'  c  +     +#E@ -*0(044;-;//9/3339/3017667"77736653'#75'75675#'34'37#76'5655d=  -3 S$  1, +>Z + %$%  +OO !SMT +2  +( . P + HRW\`J@'^:Y]1\+LL/IR!!OS]]:]\ISSI\]:</2/9//////]33333333330164'37&'532654&'7#'4'376737#375#65'674'67#"'35#"'36735#35, + +! ,f + 6 +) 7   0 < 9 87/72|/ +?#' + DȽ  +     +BD    % %S &$$  =GZA@D? +))-55VSS;;00//9/339/39/3339/3333301735'7#"'&7375#732673##75#'667#64'36'7#"'&7'6'5#"'37}KS  +< +     '.$& ,'    ' 66>   2  H M..-+< (  + %   +] '@  %#%//9/39/332017'6677#"'&&'355#64'37b +2 $<(_kkhJ<1#&[[HL +   MWsO@%TCO +< C + EE@+ + +"  -  7 HE #  +*!.:'g |4 +2 P99 "9 & (]   3E!@4. +8@@%.%//9/33232323017'6674'4'7257#"'&&''655'667737"'7#'66x  +" w : + S +Wh 0 / w  V  +!i +.[,AK A )%@  ''//9/339/33332017655#5#5#64'37#"'37#37&'+ ' '2 I i[  u +*f .  +$ +t + %.<@ &)! :5://9/33232320175#64'37>'7#"'&'64'2554'&'FEv&.J2 +M !V g + 235 +*'?C [ V (   f@@ @M @L @ M @ M jsjj ?++?++/++++01733#5326554&##53267I + +I +  y + .26:OSWa@5U@QTFP88*40073!/@o777@TP*7//7*PT@ MB# /33/39///////]qq3333333333330177#"'&7'655#"'37735'375#6473533535255#64'37&''3535"!   (j.whi . .i. SR.SSS +  _ + -/ + ) * 3#J U_ ,04W?@%!72##7.117)--77W:T:>>E7E//9/3339/39/39/39/33220174'667"736673##5#64'373535'4'37#74'5655'675#"'x , &; MdEC[EEE +"$ ! C $ +   AB + ""(!!q( ( .U  D 4 +C-@2#++##0@@#!B#B//9/39/39/39/33017353567&'7#"'&''6754'375#54'374'775#6.5555( 0( 45e.  0$$*((u     ~ @ '#"'&&'#655'667m2  ,*3  7$+ %&  h   +  0?E 47  +  t8'  + p)LLشL(M( M"@M(MML +M +@ M$## M!@"M!+#(#$Kl j#Kl# s# Il?+?+9+++9/++99//3++01+++++++++74&#"#"&5463232673#566766]  ; ] +  #+ )-19@/++.%**  + +//9/3339/339/339/3301734'37#37#"'35#"5#'664'37'35335gCe/  NF - := +  S + 3!+2 + ''''"049?@% 7--255 1100//9/39/39/39/39/39/3320175#64'37'3535>'374'5655#73535h+*8+++ 7";-O::;Y ^ 11733$&[. + +    +=$/55;3 //9/3301767'37&''67&'#"N'" "<5(-IE*'  F//F +K0 +.-7H DZ5@  o/?O?]]]/017"&&>32547>#"&66326        ]3)@/,$$ ''//9/39/39/333201764'375#53537&'7667#'667#"'365?jll:J M41,-+ Pm, + 1 K::S G 34* (/  wL @ +ML@ M @9 Mji@L@Lj +i i @L @L + j +9lj ?+?+++++++++++/+22+01+++7#5326554&#"'73&&#"33Y4   _  +  +&&   +:G\=@B;1P[[#  )&711//9/39/3339/3339/33301737#37##"'&''667#"'35#"'345#64'37'>54'332653##": , /! / )GD E'&     ++ -  *4$ - $ QtqH! + (5&  (:n5 G     :D`C@A9<2 G##2\YY2 *9920L2L//9/3339/33339/39/323233017353353357#"'&737'67#'667#64'375#'7#"'&7&&'&&'675#"'37j  c = +)RK"B"%jC "Y3.;# + ( ------h +  4  +F>(' + '  I   +   +T +  +,;?UY]aS@'C[^^#WZZ#, #QVMJJ#=::#' + #1<<#//9/39/3339/39/3339/3339/39/320174'37#765'275#'77"'36737#764'375#53565'75"'37#77'353575? +"((" + * + "   6U: + <<Z & + } $ p<<<<7#"'&6/// /-M  X 1 -a)U3  :  W 5 &3 + '#!. 2 +  L # '   +$9 +"XS=   *! +"11  + \a~C@b! !L1I1ZW!!jf]]uu//9/339/3339/3333333301767'#"'&'7'6'37##"'&'37#"'&''67&'67#"'3675'67#"'3467'37#&''67&''6K  K Y* 5   +  #0. 0#% ;Q' 9 !.. +=  +  + +  +.     +     +) $*:'"?E  J$  "/8( ;7@9)&&&1&00&' & //9/39/39/39/39/3320173564'375#'35265#'>4'375#37&'h5C35' + G##<&    !!X+=;=2 + + ! ! B + .<KV?@Q9L,JJ%A%5<<99%( ,,%%//9/39/339/339/39/3330154'37&'52654&'7#'35'3&&'737#"6737#"'64'375#'#"'&&'-  .x;Z; +! a =  v 9 + ; + AGT22f   7%    y0 + 3    + 9C@1 33)99#''55//9/33339/339/39/39/332017353535'67#"'3&&'736737#375#64'LhhhhhKF R )  + 8o +Chr & &""R +    b  x  (4G=@E-)EE + +E( @E@//9/3339/3339/333330174'37#37#37#"'35#"'35#'667'#"&547677'&'6554' +? :' M 6)   +U     6 47 F F 7 ;    +   +&*9OlX@0$ E ?(8/'Sj ??8'?8'jj'8?lMAU/3/339//////]q]q333333333330177#"'&7'66'37#"65#"'37#'3564'375#55#64'37&''4'37&'532654&'7# , +Kc ] + @ +)"7D 6  7.e  c +   & + #  &X +     r  +1  rZqF! + X  +<"@Wp?@Nc2Z +G.V.''D:22 + +**//9/339/339/3339/3332017737#"'3&&7&'7#"'&''267#64'367#'74'34'5#374'5255#767#"'&''67&'7i I r +I +  -  + <?5r 9 O T       +K !+ + # .( +/   + ; @f  + +  +   +!+9@G?@9' "AEE:>>/6633! //9/3339/339/39/33330174'37#76'5255'675#"'7#"'&'37#"'36737#"37#";  **, " " p g + m M[V V !} ( - .T B 2 6&  2 =  .8}o@5sNY94 /Y' ||Y""&&Y!!YY]VEaBE YKQHQUUxYx//9/3339/333339/3339/3339/3339/3333232017353535'3&'737#37#37#3767&'7#"'&'65'667#"'35#"'34'37#3&537#6677#"&''67# * 4**,# % 9 8 R +V  !%FE@ ?#?""? ?KL  ' : n XXi9)1 4R + M  NReG@!S:>8%%ZAZI G ZPaaZXOOZ//9/39/39/3339/3339/33322017353357"375#37&'5255#7&'7#"'&''75#64'35#64'35#566'35>'375#g' *0)*9;? + '66'' $G}h0   / .  B 5  /09^  168 -`M@$D`:NN`# #''`5W9WTT`0]4]ZZ``//9/3339/3339/3339/3339/3320165'675#'667"'36737#34'37#7737#37#37#"'&&'77#'667#"'37#"'367@'    " 8 (,-o + @ 4U 3   2   & + *%+  + ; + ( +, * "    + +3  * )2@ + !!//9/33320176676554'36'37&'52'5##"'&&'8"N? +=  #@5 +&j6%a! +   ~  # 4'+FMC@$GK(1&<)&&(( + //9/3339/339/39/3333220174'37#37#"'35#"'64'375#535#7'667'267767'667 +% B U 1 D  GGE 4   + + (  . +')J) " -  - : ) O99  $9 ( %m  *#@%  //9/39/33323201737#"37#&'5655#"'67#"'&&'+ (m!L 6 + )*n&8n  d1)/ $ +&J%@C -J@66-!!--//9/3339/3332017376'7267#'667#'67#'66765'675#'66534'37#T  +6)', 6/ : # !     "  + {) +{FKJ>E,59!;n AF <6  0 +0 #:@ , 00//9/3323220177#"'&37#"'6677#"'&&7&''67&'767i  h > +,&H# ++EC"*C>(  ( ( +  +' + +%#$0+/ + +"]t}?@2\~y\uet\\O\\ ;;//9/39/3333332333320177#"'&37#"'677#"'&67&'7'655'67'66767&'7#"'&''#"&547654&'5667#"'&'7#"'&' I  % #@! %   &4 % 6" # &7 +.F   <       B " A 3 +# 0&   7\ $ + +U :   7NO@%#BIIFFN=L=AA+22// 7&5&**//9/3339/3339/339/3339/33301774'5655'675#'34'37#74'37#37#"'35#'4'37#37#"'35#'F  $ ) (U + :. v =! 2 <,  M& eX J0, )  ! " +  +d  5  5 !YG@!> $377$S,P,00$$Y'V'++$ D$D//9/39/3339/39/3339/39/320175'35#"'375#736653'#'4'37#37#37#7&&''6655#"'35#"'2$ C2* + 1E , 8 .Y%K;  # = -=2 + +0 >$ + + ) ! 1  & G b )  +*FP=@MH +- +## +B?? +)&2 +2//9/3339/39/339/323301735'5667"37#375#64'35#"'37"&&'&"'675#"'37'7#"'&tQ0 .: 1P Q ) KU X5*>$ +  '#W22] -& + + 2& j    K + V   + 1'@1!-!%%))//9/39/333330177#"'&7'655#3"'3774'37#655#3"'' '#  )  +X- L3  + "- Z  C D [X }-t@ M@ L @L @ L M  M%@ +M% L@MMLM L'L'гM'سM' L%L$@!L$ L L$%&' MLL/@^ M.&@L&@ L%@L%@ L& %$%<< y ' &;;x')j'##$i#"j#jji@ Mjj ?++++++?++++3+33++++++++9++++++++01+++++++++++++733#532655##'#33#5326554&##53373#"p+"  --@"#**''"" +//9/39/39/33330177#"'&377'6'5#"737#37#&'354* -*') | ,M3 C  < [#1 + +\b Fp2  <3@3& /,6$*6::51////9/3339/333333332017'66'66'>'3565#'67#'35#'37#37#    ' +1 +-(%%7* , l ' + * )/+5){DD WU*-OD D [ 1n@P28hh5{x">cc;g 'C@b~I]F.+NTTK$l~lg'b~++~b'gl Qs/3/39///////////]93333333333333333333333223330173535'37327&&''67&'767#'77"'3745#"'35#"'35"'35#"'35"'34'3737#5#37#37#'7'655#"'35#'6737#37#37#P  - 4-#       % * #  + +     +0 +7 + "  +/ +# + +"7 9  &1 6            + +   5 (*: + + +( + "-B'@"&&B77&//9/39/39/3330174'7#"'3737#&'5655#"'7&'7#"337'7#&5476673z &R s .Hl  N r H   + G " !@< k     3F_i7@T!f`P_L\LPP!!($8!8//9/339/339/333323201737##"'&&'#'66'66737##"'&&'655'66774'37#&'5655#"'"'&&'? 1 +4 h   4 3 p + + +h 3 + !;  +  +    %  +" + + +\J +A -   ^ \   + + 0+@- ,(&&   //9/39/39/339/30175#64'3735&'73267#'667#'37#37dc zd  \  9  Y -  + - + 334 7 $  %)@" "!//9/3339/33333201735655#'667#"'35#"'37#37b>>$+!"' H 9 KKQNF+96- K K +7'@ 7730+7+//9/3333333017#"'&'#"'&'737##"'&''667#"'3665<#& + { +;d3. >>'+: N p  -  +8!-! + #!  *& !M)\=@6N0N**ME99 !'--//9/33333339/339/3333301765#'34'34'34'37#65#65#65#64'35##"&54767337'7#374'5255H" 3%$4$%111P +  Q0         FO-@C?;7%)L%L//9/339/3333323201737#&&'#'667#'367'6677&'7#"'&'66'665660g ]2+ &(%$" ; O ) .  +z  B5* -' B5/24 +:G*8W   ! #  +  (&  "+ "' .8W%@K5,0=SPP,,CC//9/39/32332017664'667"37#"'&&''67&'767#'7#"'&3267"&&'&&'675#"'37L4  K +  ! 0+M''")$,:$   ( + 95 ) +! $!  I     + + Y + +"DM@$ %2 9966%%%%->>%D(A(,,%//9/3339/339/39/39/39/3333017655'667735353535'6'37#3737#"'354'37#"'= + 6MMMMMMM2- M#   % # $ cH % $$$   +   o  (GK8@#I H3+#H++H# (/5 /3/39////]3333301735654'375#67"&&'#7'7#64'376'532654&735FWE ,*' ++& >#"   +0F&& >  6.[> ;  W&&x-M#L@L"!" )"@ +M"/)M)M)M)M)."L"M!L!@ M@ M@_ M@L@L@L@L$%j!"i!j$9lj j@L@L @L @L$ 9t$ ij9lj?++++?++++++++++++++++++++++++++2329/201+++753&&##"326553#54&##33267#5326554&#b   +  + f"> + +; K' IO3@6%#OL 3909==**//9/3339/39/3322230175#64'37357#"'&'#"&''67&'#"'34'37#667767t2. G2L +>) 00] } 3T  + kpr( , +11Y +   !"!O  G ',+  DA@'))   <<99 B ? + +//9/3339/33339/39/39/3201735#35'37#366737#375#645'674'67#"'35#"'34[VM VF .  5_D V!%V _ AI!'%% +$ % (&  .    $  + )NWaepy_@-zuqlfLS +Ob% +5H2HLLc_8_GG + +X>bb//9/339/3339/3339/33333333232323201734'37#&&&'#'667#"7#"'&''675#"'35#64'375#37#7'#"5&'76735#35&547677#"'&'7#"'&'7#"'&'v,% < ."!" @E--  * ?   +0.L  !  A + +   9 +> 7@  @8GA>BB  } ! 7 . +  j  * 777    +      +/--//9/323017&&&''>'#"'&'377'655#" )&0$*% d + $).. J` M6G07V4  Q P*5 T (,Kl5@; *'' aLL ))  >JJh h//9/39/39/39/39/33017665#'66737&''64'375#5357#"'&''66737'667##"'&''66737'66714 1    P + 0  2(+-3   0  +B((;$l7  p#9 * S88"   &  " + U  + ( 1% +),1"%@L +0 + +  + /2/]201+74632'6654'&  + +    07CO@%?8)% ,,))  0055//9/3339/339/39/39/39/3333201735353535'7#"'36537#3737#"'34''67#"'&'RZZZZZZZ98 ZD d+ 7 ++/J -X  + d ]s    + #@   //9/339/32330174'35#"'37#37#37#"'3@ +2= a1S= 1m q O^  #26=1@7!))4 /33 ;;//9/3339/39/39/320174'37#&'#65'67#"'3575#64'373537#"z E\#=;'D>$9 ;dda{d  1 + +1* 12 w $A 7 ""h +*4EIM9@1J,G&&KFFA>>JJ//9/39/39/39/39/333017&'5665#'66737375#64'7#"'&7'6'5#"'3735'35! + +Y  U}*,H !! (<,,,?\ 0e%:   IIa  + -Y + "00+%% 6A@ =7%11,,//9/39/332017#"'&''66737'667375667#'66#"'&'n  '1  M  SJ1T$8 + N + 2b38[$S#01    +  + / + &&; + +4"(,#   +)3U#@/E*>;A8AEEL>L//9/333323301774'776773"&''67&'7#"'&'675#"'34'37#74'5255c* 0 Q   +-!! +E ' 1 )$&#2  )" -' 6H + r2 " ( .V + Gp8ٹ7M2L.M"@<MM/ LML@MLL L63'- @M 3--3@. M:6Il@ L06 *0s0 IlIl 0s0 ??++++99/++9/+9///+901++++++++++++7#"&5463232654춮&#"#"&54632p 2   wg@MM  @.M @ M Mli Il iItjj ?++?+++++2/++3901++733#532655#5733#'35\ B CI +9:!ts`ZZy !@ MM L LMMLM@ L +MML@ M + L L M M @ MMLLM M MM L@ L + @LM M#MȳMгMM@1M !i iii  + jj i jj?++?+++99999++++9+++++/+++9++++++++++++++++++33+++++01++++753#"#'&&##53#"37654&+3#U$)%+7[urp'@ MML L LM@ +L% @ M " " @) M) %#$i!#j !Il !sJ!t! ??+++99++9/+99//+301+++++++72#"&5463232654&#"'73#66E   RH +r   [B{!".w(M!L!M! M! M @?M% M) M)M L #' +0M +(M + M +M +M +LM@ L + # MMML M L L @iM 0/+9l"ijjj i +j +##@L#@L#@L#@ L#@ M @L @L @L @ L @ M #9t ??+++++++++++9+9++++++++++++++233++++++++99+01+++++++++733#'#33#5326554&##532'32654&##"q!.9G JVHV /NY#@0#..P;99P P//9/39/39/320175#64'37'>54'732653#"65'667#'37#"'&''7#"'&HEB ((" +  #s!) > + +  Vrl _ +  %3% .>o1  9  b8   +b   + +#49BK5@GC5>:5%55!//9/339/39/3333320175#6554'3767&''66735#37&'767#"'&'#"'&'/ +5l5(##-6 1 +./ + {-     `M +!   s -߹) M L@ MMLL M L +@LLLLL@ M!+M M@"M/+ (Ils JtIl ?+?+++9/+++29/01++++++++++++++732654&#"72#"&54632#"&547454&#"66 "H!  )'.14 + (;BXajP@, ]f<@Y66+ @++@ Ib/3/9//////]]3]33333333]01764'375#5353537#"77#"'&7#&5476733737#"'#"&547654&'5667#"'&'7#"'&'gPRRRR  ;9o nmT Q    D  H B  Y%!!C  + . +  + + !d  + Z  >  +<GlG@!6Cc=J'J`J#:#''JT``JMHiHcc2J2//9/3339/39/3333333332017#"'&'67#"&54766'34'37#&'#65'67#"7#"'&'4'77336653'#"75'67'  "  +k Ea%>;&E>9   R   @5  + 5FE!3 +- 0< !.8/ + !  7 +   ;?!%7 YwbVl/+//01753oY  @)@ 33;;*''>>//9/39/39/333201737#'>7'&'275#"'34&'77#"'37"37"'7#&'( O  2 U +'Q s  < : '=; #;EC   I  + +  + M !%7+@5#33)""  //9/39/39/39/320175#'665&537'7#"'&35354'375#65 ~h 9`^l\^ + 1:#F!  + + &  + ++^== + + 1  +/\?@D S:P:>>84WW(//,,# KK//9/39/339/339/33332220176554'655'66777#"'3737#"'37#37#"&&'#'667#"'365#'66b0 + +u$ D  + +f < +0' <$'$% 4  VK  X!*F?$  & +" +  + + # +. )  +*    +8V_ju7@; rlga]WC V?S?CC } }//9/39/3333332323230177#"'&'37'667##"'&'#"'&''666'37#&'#'667#"'&76677#"'&77#"'&'7#"'& +'/-&+ +  `$ ;.& + % C + ] + +( y +     6892   + +  +  B/. + ?  #7'(&& i  + +  (2<RV=@8S3D/)Q% QTQQDHAASSD//9/339/323333333301736673##"7477#"'&77#"'&'3&54767#"'&'64'367375#535K +>  K>  *> +(mm<  )   + + + .! + 2 H:: &F%@$ 2 +;5?522**//9/333232323017#5>#"'&'77#"'&7'665'67#"'34'37#&&'88C2@6?J 0#I@"= jNd$?8 +&   &$7V>,>#&@   N  K SXryM@$."svT]hH H PTTJ6N633=D:DHH&&//9/3339/3339/33333323222017667"#"'&'7#"'&'&'567&''667#"'367#"'36737#37#37#67'7'667'267767'67^,J-." -  > &"#1- %" . R QC _8 K + =7 + + + ) , +=/  +  + +{   *4! + ! !  +    + ; (  ?O  @/@>&7$7;;.,,//9/3339/39/333201765'674'67#'36737#255#'34'7#'3737#&'O"  + :STz,C H_ + * Jmc +Z# +   1 + + =  +-8?GSkI@"[N+HD+@5=/!' '++ 9==__//9/39/3339/3333333332201765'675#'77#"'36737#34'37#?#"'&37#"'667#"'&&'&'567&'7667u'& +%  # + +8  &&2` a  3  +( !!75 +  ;'' +2 %  + +9 + ( + +  +    +.+  # "-'!  ',N-@($:@@8DDD0= 0/333/399//33333017&''67&'#'664'667"376765'67#'34'37##"'&&!00 . + -H +Q  + ) ( +x7$  %##%18.CG% ' ++ -m-Q(0>$ )   + AEIMU@(077=+:+//G@**CKFK!B!JJ  44//9/3339/3339/3339/3339/333230173564'35#"'355667&37#375#37#37#"'35#"'35#5353573521@ a41P  Bd126 UK m3 T1111 2[-,   + *    G   F3@' FF  < + +//9/39/39/39/39/32017353567'37#'66373&'567&''67#64'375#V```T^ +s$N  +(: 3'5AF%$*^  Y8  +",t  "'+ + ! 'BcI@"cH]HWW" + +'% 822ZZ//9/39/3339/3339/3339/3330174'37#37#37#'67#'365#'35#'32654&'7#64'374'4'374'5655#65#64'P 4 ,! +; ;. +- ? .!  ,-  $47 98 + +  +$ H$eD    &  . + *<?D+ +@/@  @#=#33 7 7//9/39/3339/39/30174'377'6773535675#74'376'5667#'>7#"'#10< + 22222s( +!*/(   +  006..h+B. + 2 V6 ,B:6%-1$  +/CMZho?@UNJDm37_ffimm+ cc//9/339/339/323323232301737#'&&'#'66737##"'&&'#'65667.&'&&'7#"&'&'737#"'36'37#"> ++ :   + i 1 9   6#(6 )*)L  1 +E +2 \L L     3      0 +*   6   + +  4  &59HL;@J??EII744+66 +$$//9/39/39/39/39/39/320177#"'&37#"55#64'37&''64'375#5355#64'3735i d    +  gT WW<: P<   Na; +N + f   )[ " !!";A^5@QB6'<JF<blxS@'+PtnfkE8<<P_EEP3";"77P(.%.22PT\\P//9/39/3339/3339/39/333323230175##"'&&'65'67#64'35#"'34'37#373533565#65'66737#7#37'>'7#"'&&q $ $!   7  6O >  ' +* :,/,$#  {!    +-!-1,$/(   +  &&&&>>@ &@ +4  +!#  !@- "7! M  +   //0177".''6676&I % +5$ " 45-5  !!F  -.".I"#Q3  '6AML@(7,5 &" &&5&&5=I//39////]]3333333333333017373373733777#"'373737#7#64'375#7'>7#"'&&T- +h- -  3 d +  ,ik + m//)"24 +!  * + ) + ^+ ++ CA2 (  '1Z?@P,7($74?U?CC>:77FF//9/339/339/333333320177##"&5476733&&'737''667#"'&&'35#"'37#37#&'5655'667#'667  +Q  +I + + k ?, 9 Q: n #" A:&&5 >   +  + +    + >, , @="' , v@MLML@ MMMLML@ + MM@ M M/2/3/++++++++9/++++++01'7f )=GQ[1@X;S'N;H'D;?'1<''<<//9/3323333333017&''667#"'&37'67#"4'332653##77#"'&'&547677#"'&w (/>#4@+: =i  +  +H  +9  Iw  ; + 0??  " +\% D    / + ' +%## //39/33017#"'&'64'737&'555#";:885 A=,%9SYYQ]59]]95HV/3/33/9////333333333333333301764'764'37#'6677#"'&4'3737#"'735335335'65'667#'34'37##"'&f* > + cS   *    & +&\@ = +WU Z + 3 <  + y? @  DDDDDDD2e !T!4 1 + +  + '-8K@ +>+! !%%4G4//9/33320177#"&&'#7'6554'667"37#'3&#"'&''655'667 %1.( 6% B4 0 A ' :)U j % &17!{   t& i$H  EjU@(H3 8 ""P``>fOOAAFii WW//9/39/39/339/39/3339/39/333230173535335'375#375#67&'7'&''675#64'35#64'375#376'7667#'66735#CM% &\A($& @2 +!&%#k<"#  % !+ %%Y((((g + $ + +  /  + + 0/ +(  ' + ' - + 0(  % # 2 @  //9/3330174'37#&&''>7#'uJp +50!0 + :1#0O5 4%K  F&=;.'#"'&&'F  + %  Ye d: -F2 "*,+  + " +h +m E   + =kfK0+ $;"Y   +(Sir}7@y'sEn'jZiN''EJA>ANNE//9/3339/332323333016554'''6654'332673##"7&'7#"'&''667#"'3&'737#2'#"&547654&'5667#"'&'7#"'&' 6%Q + '- +   ?0X  +"   $J"@ +Ar ++,'B +H   +  +    +"a% +Z ;  +  ",?)$411//9/323017#"'&'667&''67&''7#"'&655#"'377 +   $(!&47! B  + $.   L&A'7 ) %*%7F +  Y Y+" #@ + +"//9/3332017376'767#'>7#"'36'K + !M.)"-2 T K3"c$9178 0 !:'@) ..//9/39/39/33220175#"'35#"'35#"'373&54767&''>767p c p  + & AL32!, "  + +   +_ - + S6/  +!7$  '+AHSA@O#IF(B2A)$ ((##//9/3339/339/332333320175#64'35#"'35566737#37#35'#"&547654&'5667'&'7#"'&'W&$ E14 5 R# +oWt   @# <*4- 2 3 - +88MU$ + +M = + )159=A7@*-;? (?37:7>>622//9/339/3339/33333201764'375#&&'#5667'67#64''35335353358t +',! *)&$!2B'Xg4 6w4 6h1 +, +  0 +'0 16 8"~$ڹг M$@ M$M$ LL@ LM MMM @MM$@ M@ML@,M&%$<<x#$i#"jjj  jj#?++?+++++33++++9901++++++++++++7354&##53#"#'#33#5326554&##53e(L(,u !*=DVbi7@gc]W!T#IETT#>BB#8--L#L//9/39/39/333232323201776767'667'66777#"'&7##"&76733737#"37#4'5255#"#"'&&'''6: +& '9 " + %/% , _ ^]H C qB  Q' = !% &  ( # B +   6   +  MJ  !*#  '@DHWc@<( ?&FSBEJA????&SSSSE?&SEAAES&?L9/3/9///////]]]]33333333330173535757667'37#75'675#37&&''67&&''3535'375#64>/////+ x 8  iM   !  :lll{jlm    M +/ [ +"  + m* 1 + - F/@ ' *55 F#9C#''= =//9/33339/3332301655'6677#"'&'54'37#336653##55#'>7#"'3#  h&& 8 < (  k!G / j +  + ;" 7 sz$7++8" "BzS@'n%%{(%%rlOlhh //9/339/3339/39/39/3333333201737#"'3&'35'375#647#"'37&74'555'274'7#".7#"'&''67&'765'74'773&547677#"'&77#"'&'7#"'&>  O 7 .<-.*) K + *+ +( +  '$   !   + , aF    ;   +@     +& + $6   #! +  % + + $ +  + + + + + )S_j~_@-2{Df{`DX{TDp{{2GDD2MJJ2%" 2;SSPP25,,2//9/39/339/3339/39/39/3333333301766737##"'&'65'667#"'357#'66737375#"'35#"'35#"'#"&547677#"'&'736673'#&547#"'&&'*   %   /+  '  %C d9 ZC  -  +P + +/  + c$O'6 -&#  %  + + 3     a + +       z%@ LLM L@, L M  L LML#@MM@ + +L@ML@M'&jj j j 9l ?+?++++++++++01++++++++++726554&##53#"#"&554&##53#"A$, +ttuu$48%@ +633+)55+//9/39/39/33201764'375#7'>7#"'&&'64'375#5355z}5*05"J  ^]^^, . +OME !+ 0+ +p!  +  7(( ,048<E@ *#:6' 6.25299-11//9/339/3339/3339/33333320136'5#655#"'354'35#"'37#3737#6''3533535335v *4= b4 - O4 5v4 5 &B) 8" " + W0 ))))/++++ %0KU-@GQL-'1 1//9/339/333232201764'367#"'37#375#7'>'7#"'&'67&'&''66&&54767s q B 5  L-!@5&   *  + "<     BdcB4@1; R @  #  + 2 Da"! !+?F^1@:S<]'D"<1<<@DD//9/39/333333320174'#"'&'65'#"&547677#"'&'4'34'5#'7'37#"#"'&''67&'7672   m  &ba   ` +    +  4  { dY M   + "" +)A/@-5<<99*0?044  //9/39/3339/3330177#"'&65'667#"'37#"'&'734'37#37#"'35#"0% # E + 5 + >){ E   +)E5  +   a5% H h h-!@'"#'' ""( (//9/39/333017667#"'&&''667&''37#37#'754'Q!  $ & ! #" + ! &   #'J1@+//  *%?? E$$ //9/39/339/3339/301737#"&'#'67#"'3655667'355#37#7'74'75#64'37,F2 . TJ + 4#6 + 2 *).#   1 ^ +,Q^%.R 77G +, 1 B Bf  + ? AF+@1) +B>// //9/339/339/3220174'37#375#'66&'&&''67&'#'664'67"37#67E +H#  $ ! (# -@ @I +Q  9 += ++ 4S=(%>` + 7  !"8g.L?"  ' +3- 1MW7@T,O%4.%IFF%"((,,9%9//9/3339/39/333233017#"'&&''67#"'365#'66734'37#377&&'&&'675#"'37'7#"'&+ 58* H%  # :0  "V5/ + +   R X  %2_M@$ 0 ,&&00T TK\H\33TTNW[[TCTC//9/39/339/39/3339/39/333301737#"5#64'3735#"&'&'36737#"'#"'&&''667#"'35#'66737#37if b d?= + U?F  %U  y   /    $ &  .# +. + + 44N + ;( +5 g   + .8  9+ ! 9  &18lS@'j +62-'g"bJ@c>cggQQF^C^bbQVMZMJJQ//9/3339/3339/339/3333332322201765#'>4'67"37'#"'&'#"'&'''6255#'35#"'367#"'3&'737#37#37#4' %*  1   : 3  $ 5 I / 7  #  ; 5o\5SA8%-D+ + 9 3  + h   #?#   +    # F qHM@$M @M @L ij + Kl?+?++/9/+++301+7#"&5467#"'73q%2 Z"A + 8C* "/#@#  *(,,*//9/39/3332201767#'667#"'3645376'>'37#@/&%$ ==  +$L>;:6   G' ;`, nE*2=XI@"V:4C0+C% OIICC!((%%EE//9/339/339/39/3333333201735'375#64'7#"'&7737#"'36'677#"'&2'5#64'36737&'f5C2 5 F n 7+b0@(( + 3 *o 6 + D   bs'e  +  + x  +E9@-B-<5$@$!!-*0'044 +- +//9/3339/33339/339/301737&'7267#'767''667#"'35#"'34'37#36737#37@#(C 08V c ? + - ? cRT  +!  + &  + % ! +  !,   )7Z`E@ `2]M%2!2M.5522EUMMEE8XXEE//9/39/39/39/33333333017&''6637#"7&'&77#"'&&737#"'36'3737&'7667#'76737#"67+&*"$A <    +8m O> + +  1  + 39 ? + +8<>L  '! +! %, Ro + W =  5 9 57#"'&&' $88:@://9/332322017#"'&''67&'767#"'&''67&'76756'5#64'37&`   +C   + m  ( %% w ' +   .27S[+@+I[W/0--I#//I33I//9/39/39/3323201655'67&''6737&'375#535'6767'667'267767667v - ; ) % +?AA< ' +   ( 3 '&.+!*5   +! +  (I55j] 5 )T + + +)N\r{Y@*LZ|RwsZcrRZR3E0EIIRR<99R (%%RVZZ!R!//9/39/339/39/39/3333332333320177#"'&#374'7667#'6672'3255#"'34'7#"'3737#&''66737#'#"&547654&'5667#"'&'7#"'&'V +'  /$ * ; +  + , - L B   ;   +   [ +J29IA ;   + = -  "]  +U + 8    HR@ +$OJ6&6&//9/332201737#"'&''67&'767#"7#"&''67&''7&'7767'7#"'&F  % & ,(),  +- 8 W  + + /  + 3-+$3"&!"/ 7  )#   +@ +  //9/323301737#37#"'354'354'&&''66~ +# C@ 9 +( +=17!%9 , E : N``1 1 +/B('+/375@15!5)-0-44'(,,//9/3339/3339/33320174'375#336673##"55#64'3533535335s= + > E  N<<><> # +P - 0"H ++++1---- !P5@<"+1E155" "&N*NKK"//9/3339/39/3333220177#'6737'&&''>'37#34'37#765'675#'667#"'36@ +  = - 7)'%!a +$ B -()* *   + (r-5   d +)Q3;41l   >  " &$ &$ " #82 6 //333017'667&&&''66#"'&&''667~8!!8 + @$3 )*"(S#  .+ + :1 3 +/ 0 +!G1. E   'F(  +0'@%"*//9/339/3332301737&'&'#37#37#"'35#"'35#"''66}"l ! :,?* HE d% F +'42 += 2 1 9 9 1 +@ + ae{S@'!(@|l{c%0R0@@/b+((  77//9/333339/3339/33333323333320174'34'37#5#65#"'6764'35#"'37#37&'5255##"'&''6'##"'&'735'#"&547654&'5667#"'&'7#"'&'} #  7 #  , ?    +*\  + =       TQ!0pS  + S  S   !3  +  +'Z$  +Y  + ;  + 1+@ + +00 +$ +$//9/39/339/39/30173564'375#37#327"&&''6675#Nhvf.3V@,,??Q? 4 0< +>  n)4?J1@GA<61+  " "//9/39/339/33232320173564'34'37#375#3#"&5476677#"'&77#"'&77#"'&Kn~+A `3 + n  + * +t77O0C  ( +/ '    + +  +  =[e!@%]BWTT]'# G]G//9/339/3230174'5266''67&''67&''67#"'37#667&#"'&&327"&&'&&'675#"'37'7#"'&  ":<"+- + yI  } 5"#-9& +  ( [%$' ! +     +  5    + P Y +   +KbkvE@ r;lAg$cSb;K 6 $$AAE>I>;;,A,//9/3339/339/333323333201655#'66&'6737#'4'37#7655'275#'667"'36737#'#"&547654&'52667#"'&'7#"'&' ) +2, j #' +(    +2   + + +8 fE3CL  +, lv  # + ( & "   +-1\ $ + +T +;   ,K5@0:GG>>0%%05990++0//9/39/39/39/339/30173737327"&''67&'767#'667#667"37#37#'754'354 +  1!"E8"    ! T#;   4 e  + + '  "! + : A  . +Hx 96 L+M%@" L#M# LL L LMM ML@ M M M M M*@ +LM@ L L@* M LM L&11'!*7!'!!M!M!@AM';!:7i0 4-:l4*7$ $9l $ i @M @ M@M@ M @ $t$ 9l ?+?++++++999+999+9++++9999/2++++++++01+++++++++++++++++7&&#"322'26654&#"66"&546323267#"&'"J  +  +"   +    -#')(( 4(/(/-*#$   +6%@6,/)3)'',//9/3339/3330174'374'5255#655#65'667#'36737#/ 1.%*%> Q  +^ m + + P +KQ%>b F#&<  +%KP=@9 LH 7GG33//9/39/39/39/339/323230173535'654'37&'5655767&'&'64'374'5667#37673))))&  2 D :   >BF + //5006.#?[ + + Dh'*  )* + +   Q "# 6A_g!@gc/UB/>8///333333301777677&&''67&''7&''7&'77'7#"'&'76767'667'66667/ O  #%+" ) ; ,+ = ) 0   + )"&-) +0  ## 3  +  ! #  +% 5 !, +, +//330177&'7#"'&''2667''667"&&'?v % ` ) % !5%%F -")  >8F##C;  @+ (@@ 6)  //9/333320165'667#"'35567"37##"'&'77&'7#"'&''>J&# =?  5Q R P + #N&2 0 3   g + l4%' +'t +4?a#@;W5PMSKSWWCPC//9/33332330167&&''67&''7&''7&'777767'#"'&'65'67#'34'37##"'&"!.- + +& 0 P. M  +h  * ) ! ) !       Sl1E(2;' .     ;?5@  ",77"=))" <<"//9/39/39/39/33333201736'34'37#65#'67#"7375#336673##"554735 G< D=L?% lnr + n: + +4-=4 + " +   '"" '1)@$  + --//9/39/33332320174'37#37#"'34'64'''6675>} 5 SD / 2B  =V9LCwE  + 2 1] ? + .<+/ :3 +6S^j;@e_#R#D&##DH;;RRDFB??YDY//9/339/339/3333332017#"'&''6677#"'&7#"'37#"'&'64'367#"'37#375#7'>'#"'&&'T$ " C ] h; , F3 !** +,   0:J  + D 1 + +&   E   + + =kfJ2* %<"^   + FQiC@V7N#H]RggEB##<<//9/3339/339/39/332332301764'375#5352774'37#66767#"&''67&5#"'377#"'&354'37#7'675#"d  @DC Q# C + + !*/ 2 S % # D  7*   +9++\ +  " 0* ,  +#'%+? - + + 4%  5 N Q +2@ovS@'fQ":5,/u**JoZZpuujcnc``//9/3339/39/39/339/39/3323222301735357'667&64'37&'5255#764'74'&'525'4'37#765'675#'667#"'36737#737#'u /# 0'U + ? +%     9`3 +0e y72 1  +c i $7!> +FA  f a + *0* +-    9% + +&-8#@+ ' ..//9/39/333201754'37#37#''#"&547654&'53267'&'7#"'&'jY x] | $   + 'N#  +   +m$ +g  4 + 7@5@=92(.%.2255//9/39/39/39/33332017"54'375#332673#'3575#"'34'37#&''7#"'&Mk +nq nCn  A", dD + Z$$ 3   9 + 7  +<Cg+@<(9(,,`Dd==` S`S//9/339/339/3330175'667#"'37#67&'7#"5&'37#67'675#"'76673&&''667&&5'66737@ +  ] D (    3!4      +   (, + + +  9 C,&  +     + / +1 P224   !0H  19F1@A:59 ,  //9/39/3323333301737#37#"'35#"7#"'&'7##"&547667337"''667#"'&&'3} HE f$ . b   \ /!% 3!& T T T  + H & !     +,;W5@7 ;$JUU$, $'!+!$//9/3339/3339/3330174'37#765'675#'77#"'36737#7&''6674'67732653#"7A  %)*' &  %  ? 0'& + +# " + 0d + $ &) ( 2  8`7  +043" , " (4:Xa!@Y]5IT$5500//9/3323232017&''67&''66737#"'&'#"'&'76776767'667'267'667 !%"#('2L&  2 2  -  !((  + + + $ 0  +^  '  & & 1    s @ L  LL LL LL@ L MM@ M Il Il?+?+/+++01++++++++7"32654&"&54632@+$&**&$+.*'0.))/z #/3"L L@LL LLL@L0202$.@*.$@2 L$5 .@ .3201'!Ul'11-Ut1Ut1Ul?+?+++99/+99//01++++++++7"32654&#"&546324&#"3267#"&54632''7    4    HG'hj +?;@ :..."/3/9/////]]33333017353564'375#375#77#"'&7##"&54767337"N^^fu\ +^d +f R    %%R--E]* +# ! +&   +:   (3]+@7.)%!SCO@OSS //9/39/333323220177#'66737"4'&&'76''667#"'&&''65'667#"'355667"37##"'&JG  (   :t 0-  &x !; $ om w + +d 33  " [U*6 , +.    q #//0M,@M#L MM @ M(M(L M L8L,L,M,M,M, L(M(@M&M&M"@M" MM@ LL@ +ML@L +M M MMMM@L! $ *M@ M@ M M 1-L-M-@M M-! 'IlIl ?+?+9999++++/++++99//9901+++++++++++++++++++++++++++++++++++732654&'#"&5467&&54632'4&#"66 X -  +     +J   0C@ '' ++..$$//9/3339/339/39/39/323301735353535'36737#3737#&'34'37#"Lhhhhhhh_ Ab3 2'= "$%    + 9@ "0 *'' //9/339/32017655'6672667#'767#'66'#"'37376'E ^ 6) g   + p$$J !z)-  PX!RV + " + Z '  )@ +   //9/39/39/323201764'3564'375#5356 =XgU + XX* (}( IJJr4h2 HH +(]P@*/;(ZNN)DvljXTRR;(DjjD(;@oa@/3/9//////]33/333333333301735357&'7#"'&''6554'375#7332653##"55'67#'667367#'37#3765'667#'34'37##"'&'l   +   ]  +DB  8 +#    $ +  **0((g  +  e" ? + ? IF%R   +8 +8 A#;>#5"# - +  +  +#pE@ GoGoG oGoPCMCGGfkb_booJfJ//9/3339/333333333330177#"'&677'677#"'&'276767&'7#"'&'37#65#"'35'267'67#"'3&'737## - -#  I   +P oK l + + +% +: c G m  +  ;  Q )  +F    +   + , +!  "     #GZe7@'3D*D$$#9?6?CC# #O\\K#K//9/39/39/3339/333201767'37&''67&''66765#'76735#"'34'37#37'64'37&7#32654&' (4  + "%  &0  / 7 4& $  $     -' $  )  + + ) 0/$ 7  +  6Q[=@XS + +--** +MJJ +41= +=//9/3339/39/33333330177#"'&737#37##"'&&''67#"'365#"'367"&&'&'675#"'37'7#"'&l>  D/Q 07' D G sd509" +  '  +  +       +& 1      R + U    "-A3@<2)#   + +//9/3339/333333201764'34'375#65#535335'#"'&'267"&54764'`-,  .--.' (* +64  * > Q+9U????0_n    +CVq1@ doo VSS <9. .//9/3339/39/33223017647&'52554'"37##"'&'655'6675#"'35#5664'5'675#"'4'67332653##"7%P#, H6"* !" C%7#"'&&'{ !/ ]&  +  +(' + +,M)@3F#FCIAIMMF//9/3339/33232017655&'75#'664'667"37##"'&'76'5655'675#'34'37#  1>+  +%W 8"$   (  +(A6 5)k)BZ  + / 5V + D5+ ' + -DNE@ LE?% 5;3;??!((%%-+ BB//9/3339/339/333323332017655'667''664'37#37#"'35#'655#'34'37#&'''&'C V  ;2  D /P a  , pK8 C ) + (  (F   J F   05V/@'?1?D  +<  +   ) 1 )$&!eh('P %#v  #2! ( .Y  G "*!@'#" +//9/33333301744'37#"&&'#67'655#"'7'66Cxq?'8%4   7& -h: T$, 2*_ X d0, 27;S=@O#3/--B9B  88BG==KK'B'//9/339/333339/39/332201765#'34'34'37#5#&''67&'#'37#67'35'3&&'737#'>f .8  38O 5/085+ + i a@8O A  Q  +    +  + >; +  + 7#"'37#67&'7#"'&'37#37#"'35#"'35&  5 h>@.#0TF l2 S!t   07 7 / % ! !//232301764'667#"'&&''>w . &[+" 0T7'J6 m  4 5  @*% + 0 #@Gc7@`Z##AMKK,55%99//9/39/39/39/339/322017765'2754'667"37#37#73733676##"55#'>667&&''37&&''664GI + + # +=" +&1X +&& +X1FK9/33/39//////333333333330177#"'&353535'7#"'36737#375#64''7#"'&327&&'&'675#"'37lKKKKK5# X & P . + +KZ11/>!   '  +  + ?!E   +- #;G   +   + S  "9OI@"% EKCKOO -4411  9(7(,, //9/3339/3339/339/333323017655#"'34'37#4''7#"'&'4'37#37#"'35#'7'675#'34'37#* K + ( + +U . ^ : >9o +" 3 4 w 6 7 ~ g M +" *  * ,   #59=@2744,!, ,,*66$,$//9/39/3339/339/39/320175#64'35#"'34'37#37356554'375#535@  A$ BU@  ]1. $   $ 22y  + Ѻ +9D@ @1:411((//9/33320164'#"'&''67#"'&'65'667#"'37'#"'&'$ +\ +   #. + M + & + +B  l| +   O]: +U  + + !%)-19D\_@-U 72/  +.. '** #&& QXNX\\ ""   A A//9/3339/339/3339/39/39/39/333230174'37#"'36537#3737#"'3735353535'677#"'&'7'675#"'354'37#v >% D ~ ! EEEEEEE? (; 'K  ' (~    c  e   +  8  T (  0  C+@6( 6;2/2??$6$//9/3339/3339/30173&'7#"'&'332673'#"55'667'267#"'36'737#?| 9# & 0#!2. + ,? mG| h  Y \228$.    +!%F5@ /## /,2*266/""=/=//9/339/3339/339/3017355#332653##"554'3735675#'34'37#76'5655$UJ  MR +l$ " / + &"$ DD> Y  +DD] 3! ( . [ +K  )F'@&!B??22//9/3339/33301737&'7667#'67#"'36'7#"'&67"&&'&"'675#"'37/ + 1C8 < ?6/;&  (  + +>.#NT'+M ' + +   + +  T  .8UE@ 5N0 ;)& , QNN A A//9/3339/39/3339/33323301767#"'36737#34'37#37#65#"'35#''7#"'&67"&&'&"'675#"'37c + 4 + + :]'  :-N/ L' +<   >6-:&  + &p 7  & & Z      R +  /3F+@7# +#!!@1&&@,00@//9/39/339/33320175#37#&&'#65'667#'35#64'3735655'667"4 F# '(/ P L +fO +2 +$ +  ,NF*:$ 0 + ::$'XN #xw'76#"&&54>6#"&&54>  + + + +2  + + + +        +26:>`dY@*0 60d00XaddX;>>X366X7::XP[G[AAXZVSS'X'//9/339/3339/39/39/39/39/333330177#"'&'&&'56637"#"'&'77#"'3#73#3#77#65#&767335#"'37#37"3#n  4-5:':;x   +2*U //c//d00 +RMM( NQ:11Q + + 7 + %5  h     +@aM@$QC.>>)--# ' aF_FJJ55//9/3339/3339/33339/339/3320177#'67#"'35#'34'37#366737#37#376'73267#''4'37#76'5255'675#'$ 4'' 2 +% +'   D2 > 5 "  + +6 P + &#%  +7 . #  +#&  ! . , e( ( 2 P A  6"  //9/3320175#64'37>'7#"'&&'mk +< !Lv+$ _&O' +-A0 KFB "u#7"&6632&7667"&6632&766A    9       +    .26:SlY@*T; ; +8$$;477;033;*//;\Xee;M?CC;//9/339/339/39/39/39/3339/33333230173575#37#65#'667#"'367#6&'37'353535'37##"&'&'#'66737##"&&'#'66k1+-M2-+ Mkzlllllw, 3 + n +6 5  = + " + + A {     + "#    ) ;kN@+@L/,5 2;8 +/L + +L"_/3/9////]q]333333333301744'37#37#37#"'&'65'667#"'35#"'35#"'332673##"55'75'75'6677777= +, $ +/  1 $ I  * ++ +)$2  9, +  + + +  + +  =>.   X3  4 , +/   0 ,  %)-8OM@$H /++/'*/$&/DKBKOO/ ""///9/339/3339/3339/3339/333301655'66737#37#37#37#7#33535'7#"'&7'675#'354'37#sL : 3 2 t(%((((( n$=  ( &" fA  * * / %**0// +  + W+  +4 4 %% //9/330176554'#"'&'37&'667##"'&''66 +$ + +4$., . !qY F  +s  ,,:M4   U +7)@4 71 ). $$  //9/333339/333017255#655#"'37&'74'37#5#65#"'34'F,    F9- N%E] [ E +         //9/3201737#"37#"' "  +-9B@ & ?:.",,.//9/3332322017655'66737&'5667#'>7#7&&''66A!   +%T  ,   8 ) hB " E  N ("+w$> %*A @  +//9/3330176'5'67#"'34'37#6'a5QO*O  1U# sV-6T - 0 +4KOSWtO@+JAUU6;QWMPqnLIEBWWPP;WPnBBnPW;G0/33/9/////]]33333333333017'667&&'655>7667''667765'675"'37#7'353575#7'&''67&'767#"'37e +$ %' ,"' +  + + + $ +$!0&  m#U000000 + " + ) I 9  ? (!K$E    + +R   Q C>3 $ +   + +   +   + t3@ RdHHR [[RU'R'//9/39/3339/33332017655'6677367335'7#4'53266''667&''667&''667#65'66737375#67"&? -!-.0C  +  ,64- ! # + - + +'/ +  !v!G &    R,  ( $  + + + %   +    + + + "Ednk@3k1f q==L^I^bb4RYOY]]11(vv//9/39/339/39/39/3339/39/3339/323333017353577#"'&7737#"'3&&664'375#375#654'65#"'35#"'36737#37#'7#"'&7.'&&'675#"'37e  +> )o +      q $ 1  . ++ !X718&   &  +,,[11F  ?  + 2; $   ) '   % $   % +'    +  + R 4;@E7@(=CC(81<1AA(,55(//9/39/3339/33339/30175#736673#55#'667#65'673737'367367335)*  8 =-0../ +8 8 :M/?v+  :$  C1')%- +,A % + *!---@  + //9/39/33017'664'3733673#"55[)&E  + + + "Q7/>[& + +&fE/_< BӇ $+    '    +  +    +# +! +          + +         +4 +" +             %       + #   +   +   +  +  #      &  + + + +   + + +  +   + + +     + )  #   " 1 + + +7 +      +   +&     +  +  +  $     +  +        +    +6 +     +        + + ;  +     + + +  +        "     +  ' +     +   +   )  + +   + +         +    +    + +  #         +   + + +         '                     +   + +  + (   + +  +  + +   +   +   + + +    ' +   +  +    + +       +   +   x  +"    + +  +v ^ + + 6vJ22tDzz\ !t#&#$&&&()z*l+P,-.x/01x235J568 89f:N;*<2<>>?@AbBCXDzE.FFGIbJKMNN +OPRPR:S(TTUW8XXY[ \B]^`.aabccdfghijjllm$nzoprrstuPvwyz{{|}~zFJrh$(.pHpP@~f8J$\&JnxFƖ<ʂ.π(@jӤtX֌؂Pthߘd(~p$ @J D " +" +   <tdb`@  !"#l$&D'x(`()+T,r,-/ 0V1b2v3r56r78r94:J;6<=>~@A2B,BCD"EFGHIJKKLMXN6OtPR@SPSTU&UWYTZ:[z\h]t_`acre +fg"h.ijklmznoZq0rZstu|wfx y{D|.}~\~&Rj04.PB*N8Xxr|(P<^NJ ,$,:pN8@<<ʎ, +͖nϞКNԺմ۴ܢ +`z2J(\J,  +  2LL*^2 P!#F$%&'(r)|*+,-./0T1234(56r799:<8=&>"?@ZAVACNDE6EG<HIJKdKLMNPTRJSPS+1/&''-'' 4',@ Nl           X D RX> > 8 8NlX Copyright ZHONGYI Electronic Co. 2001SimSunRegularVersion 5.15Trademark of ZHONGYI Electronic Co., Beijing Copyright ZHONGYI Electronic Co. 2001SimSunRegularVersion 5.15Trademark of ZHONGYI Electronic Co., BeijingMicrosoft supplied font. You may use this font to create, display and print content as permitted by the license terms, or terms of use, of the Microsoft product, service or content in which this font was included. You may only (i) embed this font in content as permitted by the embedding restrictions included in this font; and (ii) temporarily download this font to a printer or other output device to help print content. Any other use is prohibited.http://www.microsoft.com/typography/fonts Copyright ZHONGYI Electronic Co. 2001 +[WOSepcnu1SNN-fN-hu5[PO`obg/g PQlScO0[OS^8Beijing ZhongYi Electronics Co.http://www.zhongyicts.com.cn @\3[3@Z3Y2X1W1@V0U0+T/S- R.@Q.P,O,+N*+M*L)K(J(+I(H'@G'F&E%D$C$B#A#@#?"@>"="@> +endobj +18 0 obj +<> +endobj +19 0 obj +<> +endobj +20 0 obj +<> +endobj +21 0 obj +<>>> +endobj +22 0 obj +<> +endobj +23 0 obj +<>stream +/CIDInit /ProcSet findresource begin +11 dict begin +begincmap +/CIDSystemInfo +<< /Registry (Adobe) +/Ordering (UCS) +/Supplement 0 +>> def +/CMapName /Adobe-Identity-UCS def +/CMapType 2 def +1 begincodespacerange +<0000> +endcodespacerange +555 beginbfchar +<0000> +<0001><0041> +<0002><0020> +<0003><003E> +<0004><0042> +<0005><0065> +<0006><0061> +<0007><006E> +<0008><0046> +<0009><0063> +<000A><0074> +<000B><006F> +<000C><0072> +<000D><0079> +<000E><53EF> +<000F><4EE5> +<0010><7406> +<0011><89E3> +<0012><4E3A> +<0013><542B> +<0014><6709> +<0015><0062> +<0016><96C6> +<0017><5408> +<0018><7684> +<0019><5DE5> +<001A><5382> +<001B><7C7B> +<001C><3002> +<001D><5305> +<001E><4E86> +<001F><79CD> +<0020><5B9A> +<0021><4E49> +<0022> +<0023><4FBF> +<0024><5728> +<0025><63A5> +<0026><6536> +<0027><5230> +<0028><5BA2> +<0029><6237> +<002A><7AEF> +<002B><8BF7> +<002C><6C42> +<002D><65F6> +<002E><5C06> +<002F><5BF9> +<0030><5E94> +<0031><5B9E> +<0032><4F8B> +<0033><5316> +<0034><8FD8> +<0035><80FD> +<0036><8C61> +<0037><751F> +<0038><6210> +<0039><534F> +<003A><4F5C> +<003B><4E4B> +<003C><95F4> +<003D><5173> +<003E><7CFB> +<003F><6B64> +<0040><4E3E> +<0041><81EA> +<0042><8EAB> +<0043><4E0E> +<0044><914D> +<0045><7F6E> +<0046><4E2D> +<0047><653E> +<0048><51FA> +<0049><6765> +<004A><547D> +<004B><5468> +<004C><671F> +<004D><63A7> +<004E><5236> +<004F><8C03> +<0050><7528> +<0051><521D> +<0052><59CB> +<0053><65B9> +<0054><6CD5> +<0055> +<0056><0069> +<0057><006C> +<0058><007A> +<0059><006D> +<005A><0068> +<005B><0064> +<005C><0073> +<005D> +<005E><548C> +<005F><9500> +<0060><6BC1> +<0061><0075> +<0062><4ECE> +<0063><8868> +<0064><9762> +<0065><4E0A> +<0066><770B> +<0067><0070> +<0068><0078> +<0069><5982> +<006A><540C> +<006B><0066> +<006C><4E00> +<006D><6837> +<006E><5177> +<006F><3001> +<0070><8054> +<0071><8BBE> +<0072><6839> +<0073><636E> +<0074><5206> +<0075><53D1> +<0076><529F> +<0077><4F46> +<0078><57FA> +<0079><7840> +<007A><63D0> +<007B><4F9B> +<007C><5176> +<007D><4ED6> +<007E><652F> +<007F><6301> +<0080><56FD> +<0081><9645> +<0082><6587> +<0083><672C> +<0084><6D88> +<0085><606F> +<0086><7EDF> +<0087><8D44> +<0088><6E90> +<0089><4EF6> +<008A><8BFB> +<008B><53D6> +<008C><5F0F> +<008D><5DF2> +<008E><76D1> +<008F><542C> +<0090><5668> +<0091><6CE8> +<0092><518C> +<0093><4E8B> +<0094><0053> +<0095><0067> +<0096><7B80> +<0097><5355> +<0098><6613> +<0099><61C2> +<009A><4E2A> +<009B><88AB> +<009C><9700> +<009D><8981> +<009E><6267> +<009F><884C> +<00A0><5217> +<00A1><64CD> +<00A2><8FBE> +<00A3><72B6> +<00A4><6001> +<00A5><5F53> +<00A6><4E0D> +<00A7><8FDB> +<00A8><76F8> +<00A9><6790> +<00AA><6784> +<00AB><5E76> +<00AC><5BB9> +<00AD><79FB> +<00AE><9664> +<00AF><8D1F> +<00B0><8D23> +<00B1><7BA1> +<00B2><521B> +<00B3><5EFA> +<00B4><7531> +<00B5><4E24> +<00B6><7EC4> +<00B7><56DE> +<00B8><006B> +<00B9><540E> +<00BA><524D> +<00BB><6846> +<00BC><67B6> +<00BD><4E0B> +<00BE><56DB> +<00BF> +<00C0><0049> +<00C1><0044> +<00C2><53E3> +<00C3><9488> +<00C4><7279> +<00C5><6B8A> +<00C6><0077> +<00C7><0043> +<00C8><0028> +<00C9><0029> +<00CA><0040> +<00CB><0050> +<00CC><002E> +<00CD><5148> +<00CE><673A> +<00CF><4F7F> +<00D0><5F97> +<00D1><4EFB> +<00D2><4F55> +<00D3><578B> +<00D4><662F> +<00D5><5B50> +<00D6><6269> +<00D7><5C55> +<00D8><6DFB> +<00D9><52A0> +<00DA><6BD4> +<00DB><004F> +<00DC><66F4> +<00DD><4E5F> +<00DE><5904> +<00DF><4E8E> +<00E0><4F20> +<00E1><64AD> +<00E2><53CA> +<00E3><5C42> +<00E4><522B> +<00E5><0057> +<00E6><4F53> +<00E7><73B0> +<00E8><88C5> +<00E9><5404> +<00EA><6838> +<00EB><5FC3> +<00EC><5411> +<00ED><5207> +<00EE><7F16> +<00EF><7A0B> +<00F0><6211> +<00F1><4EEC> +<00F2><7ECF> +<00F3><5E38> +<00F4><505A> +<00F5><4E9B> +<00F6><60C5> +<00F7><8FD9> +<00F8><4E1A> +<00F9><52A1> +<00FA><65E0> +<00FB><8BB0> +<00FC><5F55> +<00FD><6240> +<00FE><002A> +<00FF><4EBA> +<0100><7B49> +<0101><4FE1> +<0102><65E5> +<0103><5FD7> +<0104><901A> +<0105><8FC7> +<0106><6280> +<0107><672F> +<0108><5C31> +<0109><4FEE> +<010A><6539> +<010B><4EE3> +<010C><7801> +<010D><51B5> +<010E><5B8C> +<010F><8BE5> +<0110><52A8> +<0111><4E3B> +<0112><004A> +<0113><004B> +<0114><0047> +<0115><004C> +<0116><53CD> +<0117><5C04> +<0118><4E14> +<0119><5FC5> +<011A><987B> +<011B><0076> +<011C><0048> +<011D><679C> +<011E><76EE> +<011F><6807> +<0120><6CA1> +<0121><90A3> +<0122><4E48> +<0123><4F1A> +<0124><9009> +<0125><62E9> +<0126><5E93> +<0127><8FD0> +<0128><67D0> +<0129><610F> +<012A><7EE7> +<012B><627F> +<012C><56E0> +<012D><5B83> +<012E><59D4> +<012F><6258> +<0130><90FD> +<0131><8BF4> +<0132><53EA> +<0133><9047> +<0134><7ED9> +<0135><4F60> +<0136><800C> +<0137><5219> +<0138><0031> +<0139><8C13> +<013A><6307> +<013B><5373> +<013C><4F3C> +<013D><0032> +<013E><58F0> +<013F><660E> +<0140><53C8> +<0141> +<0142><53E6> +<0143><0054> +<0144><89C4> +<0145><903B> +<0146><8F91> +<0147><5212> +<0148><5143> +<0149><2014> +<014A><51B3> +<014B><95EE> +<014C><9898> +<014D><6570> +<014E><5C40> +<014F><90E8> +<0150><9996> +<0151><6027> +<0152><9694> +<0153><79BB> +<0154><62E6> +<0155><622A> +<0156><6A21> +<0157><5757> +<0158><62BD> +<0159><7EC7> +<015A><5C5E> +<015B><8F6C> +<015C><5185> +<015D><7ED3> +<015E><793A> +<015F><7269> +<0160><4EA4> +<0161><6EDA> +<0162><6302> +<0163><8D77> +<0164><9002> +<0165><8BA1> +<0166><004D> +<0167><8BA9> +<0168><5F62> +<0169><952E> +<016A><5B57> +<016B><7B26> +<016C><53F7> +<016D><5F00> +<016E><5934> +<016F><5E26> +<0170><53C2> +<0171><8FD4> +<0172><503C> +<0173><9650> +<0174><0045> +<0175><6216> +<0176><8005> +<0177><9ED8> +<0178><8BA4> +<0179><591F> +<017A><002C> +<017B><771F> +<017C><6B63> +<017D><67E5> +<017E><8BE2> +<017F><591A> +<0180><627E> +<0181><0033> +<0182><0034> +<0183><0056> +<0184><0035> +<0185><0052> +<0186><89C6> +<0187><56FE> +<0188><0036> +<0189><6E32> +<018A><67D3> +<018B><002D> +<018C><5E8F> +<018D><542F> +<018E><5019> +<018F><7136> +<0190><603B> +<0191><91C7> +<0192><7F13> +<0193><5B58> +<0194><8F83> +<0195><677F> +<0196><91CD> +<0197><590D> +<0198><5E2E> +<0199><52A9> +<019A><7B7E> +<019B><9AD8> +<019C><6548> +<019D><5B8F> +<019E><8F85> +<019F><6563> +<01A0><6574> +<01A1><91CC> +<01A2><4F9D> +<01A3><8D56> +<01A4><5165> +<01A5><8D2F> +<01A6><7A7F> +<01A7><002F> +<01A8><5FF5> +<01A9><95E8> +<01AA><69DB> +<01AB><4F4E> +<01AC><5F3A> +<01AD><5927> +<01AE><9884> +<01AF><6D41> +<01B0><8BAE> +<01B1><529B> +<01B2><7075> +<01B3><6D3B> +<01B4><754C> +<01B5><004E> +<01B6><7EFC> +<01B7><6700> +<01B8><4F18> +<01B9><719F> +<01BA><7A33> +<01BB><0055> +<01BC><5458> +<01BD><518D> +<01BE><70E6> +<01BF><607C> +<01C0><793E> +<01C1><533A> +<01C2><8DC3> +<01C3><7248> +<01C4><8FED> +<01C5><77ED> +<01C6><65B0> +<01C7><0037> +<01C8><5386> +<01C9><5546> +<01CA><8003> +<01CB><9A8C> +<01CC><8D28> +<01CD><91CF> +<01CE><8BC1> +<01CF><4E92> +<01D0><7F51> +<01D1><7EDC> +<01D2><6E38> +<01D3><620F> +<01D4><4F01> +<01D5><7535> +<01D6><8F6F> +<01D7><4F17> +<01D8><5168> +<01D9><6EE1> +<01DA><8DB3> +<01DB><70B9> +<01DC><9010> +<01DD><6E10> +<01DE><5EF6> +<01DF><0051> +<01E0><5E03> +<01E1><670D> +<01E2><7EBF> +<01E3><516C> +<01E4><79C1> +<01E5><6808> +<01E6><5F02> +<01E7><6B65> +<01E8><9886> +<01E9><57DF> +<01EA><8F93> +<01EB><6C47> +<01EC><5BFC> +<01ED><81F4> +<01EE><7A7A> +<01EF><8F6E> +<01F0><7EC8> +<01F1><0030> +<01F2><0025> +<01F3><5B98> +<01F4><79F0> +<01F5><0038> +<01F6><76F4> +<01F7><4ECD> +<01F8><65E7> +<01F9><6982> +<01FA><7387> +<01FB><964D> +<01FC><9001> +<01FD><51B2> +<01FE><5269> +<01FF><4F59> +<0200><5C0F> +<0201><62C6> +<0202><5F85> +<0203><62A5> +<0204><957F> +<0205><5EA6> +<0206><6B21> +<0207><5199> +<0208><53BB> +<0209><7C98> +<020A><6BCF> +<020B><81F3> +<020C><5C11> +<020D><6BB5> +<020E><77E5> +<020F><9053> +<0210><5C01> +<0211><56FA> +<0212><8865> +<0213><586B> +<0214><5145> +<0215><628A> +<0216><8FB9> +<0217><8FDE> +<0218><4FDD> +<0219><201C> +<021A><96F6> +<021B><62F7> +<021C><8D1D> +<021D><201D> +<021E><7B97> +<021F><8017> +<0220><5806> +<0221><5916> +<0222><8282> +<0223><4E8C> +<0224><4EFD> +<0225><624D> +<0226><805A> +<0227><50CF> +<0228><907F> +<0229><514D> +<022A><51E0> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end + +endstream +endobj +24 0 obj +<> +endobj +25 0 obj +<> +endobj +26 0 obj +<> +endobj +27 0 obj +<> +endobj +28 0 obj +<> +endobj +29 0 obj +<> +endobj +30 0 obj +<> +endobj +31 0 obj +<> +endobj +32 0 obj +<> +endobj +33 0 obj +<> +endobj +34 0 obj +<> +endobj +35 0 obj +<> +endobj +36 0 obj +<> +endobj +37 0 obj +<> +endobj +38 0 obj +<> +endobj +39 0 obj +<> +endobj +40 0 obj +<> +endobj +41 0 obj +<> +endobj +42 0 obj +<> +endobj +43 0 obj +<> +endobj +44 0 obj +<> +endobj +45 0 obj +<> +endobj +46 0 obj +<> +endobj +47 0 obj +<> +endobj +48 0 obj +<> +endobj +49 0 obj +<> +endobj +50 0 obj +<> +endobj +51 0 obj +<> +endobj +52 0 obj +<> +endobj +53 0 obj +<> +endobj +54 0 obj +<> +endobj +55 0 obj +<> +endobj +56 0 obj +<> +endobj +57 0 obj +<> +endobj +58 0 obj +<> +endobj +59 0 obj +<> +endobj +60 0 obj +<> +endobj +61 0 obj +<> +endobj +62 0 obj +<> +endobj +63 0 obj +<> +endobj +64 0 obj +<> +endobj +65 0 obj +<> +endobj +66 0 obj +<> +endobj +67 0 obj +<> +endobj +68 0 obj +<> +endobj +69 0 obj +<> +endobj +70 0 obj +<> +endobj +71 0 obj +<> +endobj +72 0 obj +<> +endobj +73 0 obj +<> +endobj +74 0 obj +<> +endobj +75 0 obj +<> +endobj +76 0 obj +<> +endobj +77 0 obj +<> +endobj +78 0 obj +<> +endobj +79 0 obj +<> +endobj +80 0 obj +<> +endobj +81 0 obj +<> +endobj +82 0 obj +<> +endobj +83 0 obj +<> +endobj +84 0 obj +<> +endobj +85 0 obj +<> +endobj +86 0 obj +<> +endobj +87 0 obj +<> +endobj +88 0 obj +<> +endobj +89 0 obj +<> +endobj +90 0 obj +<> +endobj +91 0 obj +<> +endobj +92 0 obj +<> +endobj +93 0 obj +<> +endobj +94 0 obj +<> +endobj +95 0 obj +<> +endobj +96 0 obj +<> +endobj +97 0 obj +<> +endobj +98 0 obj +<> +endobj +99 0 obj +<> +endobj +100 0 obj +<>stream + POS/2!`cmap<Tcvt NWWfpgm,,x +glyf<,headHw6hhea^$hmtx2loca +$ maxp W hD name2gd RpostQ prepD33Ef (=<;:9876543210/.-,+*)('&%$#"!  + ,CXEjC` #D# NM/!# 3/Y-,CX+KPX@8Y+!# 3/Y-,CXN%!M E%%#Jad(RX!#%!YY-,CX!!%%I%%Ja dPX!!!%%IPXPX8!8!YRX8!8!YYYY-,CX+KPX8Y+!# 3/Y-,N CD 8<(+%<-,/M-,CX+8+!# 3/Y-,CXEdj#EdiCd`` #D# /!! RX3!!YY-,KQX +C#Ce +Y-,KQX + C#C Y-, #p > #p E: -,+%E%Ej@`%#D!!!-,+%E%Ej`%#D!!!-,+!!!-,+!!!-,KQXCCe +Y-, i@a ,b`+ d#da\XaY-,%EhTKPZX%E%E`h %#D%#D% Eh #D%Eh`%#DY-,% Eh #D%Edhe`%`#D-, CX!CXE+ #D zEi #D QX+ #D z! zYYY-, E#Eh`D-,EjB-,/-,CX%%Id#Edi@a bj%%aC` #D! !!!!!Y-,CX%E%Ed`j%Eja %Ej e%#D%#D!! EjD EjDY-, EUCZXEh#Ei@a bj #a %e%#D%#D!!!!+Y-,Ed#EdadB-,%%+CX%%%+%C@T%CTZX% E@aDY%CT%C@TZX% E@`DYY!!!!-,% %.# %%+!!-,-,KRXED!!Y-,CX=Y-,KPXED!!Y-,KRX/!!!Y-,KS#KQZX%Eh%Eh%`TX!!!%Eh`%#D!!Y!!!Y-,CX=Y-,F#F`F# F`ab# # pE` PXaFY`h:-, E%FRKQ[X%F ha%%?#!8!Y-, E%FPX%F ha%%?#!8!Y-,KQXCC Y-,-, CX! FRX88YY-, UXc%Ed%EdaSX@aY%EiSXED!!Y!%E%Ead(QXED!!YY-,!! d#d@b-,!QX d#d b@/+Y`-,!QX d#dUb/+Y`-, d#d@b`#!-,KSX%%Id#Edi@a bj%%a #D! !!# 9/Y-,%%IdTX88!!Y-,CXY-,CXY-, ++# <+-,%8(+# #+CXm^% 3RO@(   @  Y Y?+?9/8+?93/3/3/93901#"'5327733673 +I495BUN!.RP[:A8Rs _< << +(J w + +(^e.< RN,)S/\ 5   , < 6 T .b 6    *L  +J FX 8  R\ +          $ - &R 4 T  * *L  + +J FX 8  +   +   Normaloby ejnStandard 2016 Microsoft Corporation. All Rights Reserved. Portions 2016 Beijing Founder Electronics Co. Ltd. All Rights Reserved.Microsoft YaHeiRegularMicrosoft YaHei RegularVersion 6.22MicrosoftYaHeiMicrosoft YaHei is a trademark of the Microsoft group of companies.The font glyphs are certified compliant with China standard GB18030-2000 with the font name Founder Lan Ting Hei. Microsoft Licensed the font glyph from Beijing Founder Electronics Co. Ltd. +g,[W^[W_bNSNSY'ekcu5[Pg PQlScgC0g,[W^[W_b N[W^T ekcQpNѐN-VhQ{&T`'hmK {&TN-V GB18030-2000hQ0 +http://www.microsoft.com/typographyhttp://www.founder.com.cn/cnMicrosoft supplied font. You may use this font to create, display and print content as permitted by the license terms, or terms of use, of the Microsoft product, service or content in which this font was included. You may only (i) embed this font in content as permitted by the embedding restrictions included in this font; and (ii) temporarily download this font to a printer or other output device to help print content. Any other use is prohibited.http://www.microsoft.com/typography/fontsNormaaliNormlNormaleStandaardNormalny1KG=K9NormlneNavadnoArrunta 2016 _oQlSrHgCb@g 2016 SNSY'ekcu5[Pg PQlSRrHgCb@g _oŞ_oŞ RegularMicrosoftYaHeiRegularN@Q{|{|vwmploknknrtugjfiehehqszC!yC!A6F<+E<+D<+C<+B<+A<+@<+?<+><+=<+;<+:<+9<+34+<@++++A.gf+fe+ed+dc+cb+ba+a`+_`+^`+]`+\`+[`@++++}++++++76543 2 10/.&'('*+,+"#$#  +        /,<*<(<&<$<"< <<<<<<< <<<> +endobj +102 0 obj +<> +endobj +103 0 obj +<> +endobj +104 0 obj +31542 +endobj +105 0 obj +<>/ExtGState<>>>/Group<>/StructParents 1/Tabs/S>> +endobj +106 0 obj +<>stream +1 0 0 -1 0 841.90002441 cm q 1 0 0 1 90 72 cm q 0.97254902 0.98039216 0.98823529 rg -1.45000005 0 m 416.75 0 l 416.75 31.20000076 l -1.45000005 31.20000076 l h f* Q /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm 0.10980392 0.12156863 0.12941177 rg [<00250025>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 21 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 26.25 20.17499924 Tm [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 60.89799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 64.02500153 20.17499924 Tm [(AOP)] TJ ET EMC /P <> BDC BT 1 0 0 -1 87.41400146 20.17499924 Tm /GS80 gs 0 g [( )] TJ ET EMC q /GS81 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 31.20000076 m 416.75 31.20000076 l 416.75 46.80000305 l -1.45000005 46.80000305 l h f* Q q /GS82 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 46.79999924 m 416.75 46.79999924 l 416.75 62.40000153 l -1.45000005 62.40000153 l h f* Q q 1 0 0 1 0 31.20000076 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS83 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<006400EC00ED006400EE00EF0022002400F000F10018003000500046002200F200F3009C009D00F4006C00F5009300F60022007700D400F700F5009300F6004300EA00EB00F800F900FA>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<003D002200DA00690022009D00FB00FC00FD0014>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 107.625 27.25500107 Tm [(update*)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 144.375 27.25500107 Tm [<005300540018009E009F002D003C002D003C002200A1003A00FF0100010001010085002200FB00FC0027010201030022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 396.375 27.25500107 Tm /GS84 gs 0 g [( )] TJ ET EMC Q q /GS85 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 62.40000153 m 416.75 62.40000153 l 416.75 78 l -1.45000005 78 l h f* Q q 1 0 0 1 0 62.40000153 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS86 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<01040105>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 34.125 11.65499973 Tm [(spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 68.25 11.65499973 Tm [<0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 81.375 11.65499973 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 99.75 11.65499973 Tm [<0106010700220108000E000F002400A60109010A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 207.375 11.65499973 Tm [(update*)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 244.125 11.65499973 Tm [<0018010B010C001800F6010D00BD010E0038010F009C002C001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 380.625 11.65499973 Tm /GS87 gs 0 g [( )] TJ ET EMC Q q /GS88 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 78 m 416.75 78 l 416.75 109.19999695 l -1.45000005 109.19999695 l h f* Q q 1 0 0 1 0 78 cm /P <> BDC BT /FAABAB 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q q /GS89 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 109.19999695 m 416.75 109.19999695 l 416.75 140.3999939 l -1.45000005 140.3999939 l h f* Q q 1 0 0 1 0 109.19999695 cm /P <> BDC BT 1 0 0 -1 0 20.17499924 Tm /GS90 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 37.77500153 20.17499924 Tm [(AOP)] TJ ET EMC /P <> BDC BT 1 0 0 -1 61.16400146 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 66.41400146 20.17499924 Tm [<0023002400270028>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 108.41400146 20.17499924 Tm /GS91 gs 0 g [( )] TJ ET EMC Q q /GS92 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 140.3999939 m 416.75 140.3999939 l 416.75 156 l -1.45000005 156 l h f* Q q /GS93 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 156 m 416.75 156 l 416.75 171.6000061 l -1.45000005 171.6000061 l h f* Q q /GS94 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 171.6000061 m 416.75 171.6000061 l 416.75 187.20001221 l -1.45000005 187.20001221 l h f* Q q 1 0 0 1 0 140.3999939 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS95 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 9.4630003 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 40.96300125 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 45.17599869 11.65499973 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 63.55099869 11.65499973 Tm [<00460018011000A4010B00100111009D001400B5001F0053008C0022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 210.55099487 11.65499973 Tm [(JDK)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 228.92599487 11.65499973 Tm [<011000A4010B0010005E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 284.05099487 11.65499973 Tm [(CGLIB)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 312.92599487 11.65499973 Tm [<011000A4010B0010001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 365.42599487 11.65499973 Tm [(JDK)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 383.80099487 11.65499973 Tm [<011000A4010B>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<00100104010501160117004900250026009B010B00100018001B002200AB0118009D002C009B010B00100018001B0119011A003100E7006C009A002500C2001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 336 27.25500107 Tm [(JDK)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 354.375 27.25500107 Tm [<011000A4010B00100018>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<00EA00EB00D4>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 34.125 42.85499954 Tm [(InvocationHandler)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 126 42.85499954 Tm [<002500C2005E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 160.125 42.85499954 Tm [(Proxy)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 189 42.85499954 Tm [<001B001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 210 42.85499954 Tm /GS96 gs 0 g [( )] TJ ET EMC Q q /GS97 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 187.19999695 m 416.75 187.19999695 l 416.75 202.80000305 l -1.45000005 202.80000305 l h f* Q q /GS98 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 202.80000305 m 416.75 202.80000305 l 416.75 218.40000916 l -1.45000005 218.40000916 l h f* Q q /GS99 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 218.3999939 m 416.75 218.3999939 l 416.75 234 l -1.45000005 234 l h f* Q q /GS100 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 234 m 416.75 234 l 416.75 249.6000061 l -1.45000005 249.6000061 l h f* Q q 1 0 0 1 0 187.19999695 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS101 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 8.14999962 11.65499973 Tm [<0069011D011E011F001B01200014003100E7002500C2002201210122>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 157.7749939 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 189.2749939 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 192.17500305 11.65499973 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 210.55000305 11.65499973 Tm [<01230124012500CF0050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 265.67498779 11.65499973 Tm [(CGLIB)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 294.54998779 11.65499973 Tm [<0049011000A4010B0010011E011F001B001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 389.04998779 11.65499973 Tm [(CGLIB)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [<0055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 10.5 27.25500107 Tm [(Code)] TJ ET EMC /P <> BDC BT 1 0 0 -1 31.5 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 36.75 27.25500107 Tm [(Generation)] TJ ET EMC /P <> BDC BT 1 0 0 -1 89.25 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 94.5 27.25500107 Tm [(Library)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 131.25 27.25500107 Tm [<005D002200D4006C009A010B010C003700380018001B01260022000E000F00240127009F002D011000A40018003700380128009A001B>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<001800D5001B0022009101290022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 73.5 42.85499954 Tm [(CGLIB)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 102.375 42.85499954 Tm [<00D401040105012A012B00180053008C00F40018011000A4010B00100022012C003F0069011D0128009A001B009B011F00FB0012>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 378 42.85499954 Tm [(final)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 404.25 42.85499954 Tm [<0022>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 58.45499802 Tm [<01210122012D00D400FA005400CF0050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 86.625 58.45499802 Tm [(CGLIB)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 115.5 58.45499802 Tm [<00F4011000A4010B00100018001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 189 58.45499802 Tm /GS102 gs 0 g [( )] TJ ET EMC Q q /GS103 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 249.6000061 m 416.75 249.6000061 l 416.75 280.80001831 l -1.45000005 280.80001831 l h f* Q q 1 0 0 1 0 249.6000061 cm /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS104 gs 0.10980392 0.12156863 0.12941177 rg [<0029002A002B0028002C>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 52.5 20.17499924 Tm [(cg)1(lib)] TJ ET EMC /P <> BDC BT 1 0 0 -1 78.10900116 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 83.35900116 20.17499924 Tm [<002E>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 93.85900116 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 99.10900116 20.17499924 Tm [(JDK)] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 119.63200378 20.17499924 Tm [<0032>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 130.13200378 20.17499924 Tm /GS105 gs 0 g [( )] TJ ET EMC Q q /GS106 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 280.79998779 m 416.75 280.79998779 l 416.75 296.3999939 l -1.45000005 296.3999939 l h f* Q q /GS107 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 296.3999939 m 416.75 296.3999939 l 416.75 312 l -1.45000005 312 l h f* Q q /GS108 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 312 m 416.75 312 l 416.75 327.6000061 l -1.45000005 327.6000061 l h f* Q q /GS109 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 327.6000061 m 416.75 327.6000061 l 416.75 343.20001221 l -1.45000005 343.20001221 l h f* Q q 1 0 0 1 0 280.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS110 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.14999962 11.65499973 Tm [(JDK)] TJ ET EMC /P <> BDC BT 1 0 0 -1 23.89999962 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.79999924 11.65499973 Tm [<011000A4010B0010001B005E012E012F001B009C009D0130003100E7006A006C009A002500C2001C00DD010800D4013101320014003100E7001E0128009A002500C20018001B000E000F>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<00CF0050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 23.625 27.25500107 Tm [(Java)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 47.25 27.25500107 Tm [<011000A4010B001000CE004E001C007700D4002200930031006500CF0050004600AB00A600D401330027001800FD0014001B0130012301340135003100E7006C009A0025>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<00C2001C012C003F0022002F00DF01200014003100E7002500C20018001B0022010800A6003500CF0050010F00CE004E001C0136>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 275.625 42.85499954 Tm [(CGLIB)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 304.5 42.85499954 Tm [<0137000E000F003100E7002F001B0018011000A4>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 58.45499802 Tm [<010B0010001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 31.5 58.45499802 Tm /GS111 gs 0 g [( )] TJ ET EMC Q q /GS112 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 343.20001221 m 416.75 343.20001221 l 416.75 358.80001831 l -1.45000005 358.80001831 l h f* Q q 1 0 0 1 0 343.20001221 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS113 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 358.79998779 m 416.75 358.79998779 l 416.75 390 l -1.45000005 390 l h f* Q q 1 0 0 1 0 358.79998779 cm /P <> BDC BT 1 0 0 -1 0 20.17499924 Tm /GS114 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 39.89799881 20.17499924 Tm [<003300340023002400350036>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 102.89800262 20.17499924 Tm /GS115 gs 0 g [( )] TJ ET EMC Q q /GS116 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 390 m 416.75 390 l 416.75 405.6000061 l -1.45000005 405.6000061 l h f* Q q 1 0 0 1 0 390 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS117 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(1)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F00EE010C0053008C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 68.25 11.65499973 Tm /GS118 gs 0 g [( )] TJ ET EMC Q q /GS119 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 405.6000061 m 416.75 405.6000061 l 416.75 421.20001221 l -1.45000005 421.20001221 l h f* Q q 1 0 0 1 0 405.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS120 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<00FD013900EE00EF008C009300F9013A001800D40104010500EE010C0053008C003100E7009300F90022013B001B013C00DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 275.625 11.65499973 Tm [(JDBC)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 299.25 11.65499973 Tm [<00EE00EF003100E7009300F900B10010001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 393.75 11.65499973 Tm /GS121 gs 0 g [( )] TJ ET EMC Q q /GS122 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 421.20001221 m 416.75 421.20001221 l 416.75 436.80001831 l -1.45000005 436.80001831 l h f* Q q 1 0 0 1 0 421.20001221 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS123 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(2)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F013E013F008C009300F900B100100053008C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 120.75 11.65499973 Tm /GS124 gs 0 g [( )] TJ ET EMC Q q /GS125 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 436.79998779 m 416.75 436.79998779 l 416.75 452.3999939 l -1.45000005 452.3999939 l h f* Q q /GS126 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 452.3999939 m 416.75 452.3999939 l 416.75 468 l -1.45000005 468 l h f* Q q 1 0 0 1 0 436.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS127 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<013E013F008C009300F900B100100140001400B5001F003100E70053008C00BF007800DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 202.125 11.65499973 Tm [(xml)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 220.5 11.65499973 Tm [<004400450082008900180053008C01410142006C009A0031002400F800F9005300540065>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<00A7009F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 21 27.25500107 Tm [(@Transaction)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 86.625 27.25500107 Tm [<009100110022002E009300F90144013700300050002700F800F9014501460046>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 254.625 27.25500107 Tm /GS128 gs 0 g [( )] TJ ET EMC Q q /GS129 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 468 m 416.75 468 l 416.75 499.20001221 l -1.45000005 499.20001221 l h f* Q q 1 0 0 1 0 468 cm /P <> BDC BT /FAABAB 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q q /GS130 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 499.20001221 m 416.75 499.20001221 l 416.75 530.40002441 l -1.45000005 530.40002441 l h f* Q q 1 0 0 1 0 499.20001221 cm /P <> BDC BT 1 0 0 -1 0 20.17499924 Tm /GS131 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 39.89799881 20.17499924 Tm [<003300340037003800270028>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 102.89800262 20.17499924 Tm /GS132 gs 0 g [( )] TJ ET EMC Q q /GS133 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 530.40002441 m 416.75 530.40002441 l 416.75 546 l -1.45000005 546 l h f* Q q 1 0 0 1 0 530.40002441 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS134 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(a)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F0147007400DE001000970148>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 89.25 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT 1 0 0 -1 99.75 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT 1 0 0 -1 110.25 11.65499973 Tm [(IOC)] TJ ET EMC /P <> BDC BT 1 0 0 -1 126 11.65499973 Tm /GS135 gs 0 g [( )] TJ ET EMC Q q /GS136 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 546 m 416.75 546 l 416.75 561.59997559 l -1.45000005 561.59997559 l h f* Q q /GS137 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 561.59997559 m 416.75 561.59997559 l 416.75 577.19995117 l -1.45000005 577.19995117 l h f* Q q /GS138 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 577.20001221 m 416.75 577.20001221 l 416.75 592.79998779 l -1.45000005 592.79998779 l h f* Q q 1 0 0 1 0 546 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS139 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 5.80000019 11.65499973 Tm [<00B400DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 29.42499924 11.65499973 Tm [(spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 63.54999924 11.65499973 Tm [<0011014A0018014B014C00D4002F0097009A014D0073012600A7009F014E014F009300F900DE001000180022006E00E60018003100E7015000A80050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 381.17498779 11.65499973 Tm [(spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [<00460018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 23.625 27.25500107 Tm [(IOC)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 42 27.25500107 Tm [<01470074001E009300F900DE001000970148001C00AB0118002E002F009300F9001800E9001F0044004500470027001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 296.625 27.25500107 Tm [(ioc)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 315 27.25500107 Tm [<00AC00900046005500710045009300F900B1>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<00100090002200710045009300F9001800E000E100C4015100E20152015300CE004E005D001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 199.5 42.85499954 Tm /GS140 gs 0 g [( )] TJ ET EMC Q q /GS141 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 592.79998779 m 416.75 592.79998779 l 416.75 608.39996338 l -1.45000005 608.39996338 l h f* Q q 1 0 0 1 0 592.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS142 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(b)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 26.25 11.65499973 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 44.625 11.65499973 Tm [<01540155009C009D00A7009F009300F900DE00100018001B>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 170.625 11.65499973 Tm /GS143 gs 0 g [( )] TJ ET EMC Q q /GS144 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 608.40002441 m 416.75 608.40002441 l 416.75 624 l -1.45000005 624 l h f* Q q /GS145 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 624 m 416.75 624 l 416.75 639.59997559 l -1.45000005 639.59997559 l h f* Q q /GS146 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 639.59997559 m 416.75 639.59997559 l 416.75 655.19995117 l -1.45000005 655.19995117 l h f* Q q /GS147 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 655.20001221 m 416.75 655.20001221 l 416.75 670.79998779 l -1.45000005 670.79998779 l h f* Q q 1 0 0 1 0 608.40002441 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS148 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 44.625 11.65499973 Tm [<009300F900DE00100156015700D401040105>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 141.75 11.65499973 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 160.125 11.65499973 Tm [<007600350049003100E7013E013F008C009300F900DE001000180022006E00E600A1003A005500DA0069009300F90031>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<009F001800440045005E008A008B0022009300F9002F0036001801580036005D00220050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 191.625 27.25500107 Tm [(TransactionProxyFactoryBean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 336 27.25500107 Tm [<002500C2004900CF0050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 391.125 27.25500107 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 0 42.85499954 Tm [<00760035002200370038>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 55.125 42.85499954 Tm [(proxy)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 84 42.85499954 Tm [<010B0010002F0036002201040105>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 160.125 42.85499954 Tm [(TransactionInterceptor)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 278.25 42.85499954 Tm [<010E0038002F010B0010005300540018015401550022002E0093>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 58.45499802 Tm [<00F900DE001000180076003500EE01590027015401550018005300540046001C008A008B>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 191.625 58.45499802 Tm [(ioc)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 210 58.45499802 Tm [<00AC0090009300F900440045015A01510022015B00330012>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 338.625 58.45499802 Tm [(spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 372.75 58.45499802 Tm [<009300F900DE0010>] TJ ET EMC Q Q 1 0 0 -1 0 841.90002441 cm +endstream +endobj +107 0 obj +<> +endobj +108 0 obj +<> +endobj +109 0 obj +<> +endobj +110 0 obj +<> +endobj +111 0 obj +<> +endobj +112 0 obj +<> +endobj +113 0 obj +<> +endobj +114 0 obj +<> +endobj +115 0 obj +<> +endobj +116 0 obj +<> +endobj +117 0 obj +<> +endobj +118 0 obj +<> +endobj +119 0 obj +<> +endobj +120 0 obj +<> +endobj +121 0 obj +<> +endobj +122 0 obj +<> +endobj +123 0 obj +<> +endobj +124 0 obj +<> +endobj +125 0 obj +<> +endobj +126 0 obj +<> +endobj +127 0 obj +<> +endobj +128 0 obj +<> +endobj +129 0 obj +<> +endobj +130 0 obj +<> +endobj +131 0 obj +<> +endobj +132 0 obj +<> +endobj +133 0 obj +<> +endobj +134 0 obj +<> +endobj +135 0 obj +<> +endobj +136 0 obj +<> +endobj +137 0 obj +<> +endobj +138 0 obj +<> +endobj +139 0 obj +<> +endobj +140 0 obj +<> +endobj +141 0 obj +<> +endobj +142 0 obj +<> +endobj +143 0 obj +<> +endobj +144 0 obj +<> +endobj +145 0 obj +<> +endobj +146 0 obj +<> +endobj +147 0 obj +<> +endobj +148 0 obj +<> +endobj +149 0 obj +<> +endobj +150 0 obj +<> +endobj +151 0 obj +<> +endobj +152 0 obj +<> +endobj +153 0 obj +<> +endobj +154 0 obj +<> +endobj +155 0 obj +<> +endobj +156 0 obj +<> +endobj +157 0 obj +<> +endobj +158 0 obj +<> +endobj +159 0 obj +<> +endobj +160 0 obj +<> +endobj +161 0 obj +<> +endobj +162 0 obj +<> +endobj +163 0 obj +<> +endobj +164 0 obj +<> +endobj +165 0 obj +<> +endobj +166 0 obj +<> +endobj +167 0 obj +<> +endobj +168 0 obj +<> +endobj +169 0 obj +<> +endobj +170 0 obj +<> +endobj +171 0 obj +<> +endobj +172 0 obj +<> +endobj +173 0 obj +<> +endobj +174 0 obj +<> +endobj +175 0 obj +<> +endobj +176 0 obj +25713 +endobj +177 0 obj +<>/ExtGState<>>>/Group<>/StructParents 2/Tabs/S>> +endobj +178 0 obj +<>stream +1 0 0 -1 0 841.90002441 cm q 1 0 0 1 90 72 cm q 0.97254902 0.98039216 0.98823529 rg -1.45000005 0 m 416.75 0 l 416.75 15.60000038 l -1.45000005 15.60000038 l h f* Q q 0.97254902 0.98039216 0.98823529 rg -1.45000005 15.60000038 m 416.75 15.60000038 l 416.75 31.20000076 l -1.45000005 31.20000076 l h f* Q /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 0 11.65499973 Tm 0.10980392 0.12156863 0.12941177 rg [<009C009D0018015C014F014D0073015D00AA0055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 105 11.65499973 Tm [(TransactionAttributeSourceAdvisor)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 278.25 11.65499973 Tm [<005D0022015B00330012>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(TransactionAttribute)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 107.625 27.25500107 Tm [<0063015E0018014D0073002F0036001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 191.625 27.25500107 Tm /GS149 gs 0 g [( )] TJ ET EMC q /GS150 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 31.20000076 m 416.75 31.20000076 l 416.75 46.80000305 l -1.45000005 46.80000305 l h f* Q q 1 0 0 1 0 31.20000076 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS151 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(c)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F002F0093015F00DE0010003100E70055009300F9001800370038006F007A0160006F00B70161006F01620163005D>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 267.75 11.65499973 Tm /GS152 gs 0 g [( )] TJ ET EMC Q q /GS153 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 46.79999924 m 416.75 46.79999924 l 416.75 62.40000153 l -1.45000005 62.40000153 l h f* Q q /GS154 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 62.40000153 m 416.75 62.40000153 l 416.75 78 l -1.45000005 78 l h f* Q q /GS155 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 78 m 416.75 78 l 416.75 93.59999847 l -1.45000005 93.59999847 l h f* Q q /GS156 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 93.59999847 m 416.75 93.59999847 l 416.75 109.19999695 l -1.45000005 109.19999695 l h f* Q q /GS157 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 109.19999695 m 416.75 109.19999695 l 416.75 124.79999542 l -1.45000005 124.79999542 l h f* Q q 1 0 0 1 0 46.79999924 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS158 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 44.625 11.65499973 Tm [<012E012F0134006E00E60018009300F900DE00100090003100E7001C003100E7001E006C009A01580036005E01640044001C016400440018006E00E6009300F900DE0010>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<009000BF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 21 27.25500107 Tm [(DataSource)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 76.125 27.25500107 Tm [<014D00730088007E007F006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 139.125 27.25500107 Tm [(hibernate)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 189 27.25500107 Tm [<014D00730088009300F900DE0010007E007F006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 294 27.25500107 Tm [(JDO)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 312.375 27.25500107 Tm [<014D00730088009300F900DE0010007E>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<007F0022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 21 42.85499954 Tm [(JPA)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 36.75 42.85499954 Tm [<006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 47.25 42.85499954 Tm [(JTA)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 65.625 42.85499954 Tm [<014D00730088009300F900DE0010007E007F001C00F700F5007E007F013000D40104010500710165>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 58.45499802 Tm [(PlatformTransactionManager)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 136.5 58.45499802 Tm [<006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 147 58.45499802 Tm [(AbstractPlatforTransaction)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 286.125 58.45499802 Tm [<006C003E00A0009300F900DE00100018007E007F001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 401.625 58.45499802 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 404.79998779 58.45499802 Tm [<0012>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 74.05500031 Tm [<00F30050014D00730088007E007F007A007B001E006C003E00A00018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 149.625 74.05500031 Tm [(TransactionManager)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 244.125 74.05500031 Tm [<001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 254.625 74.05500031 Tm /GS159 gs 0 g [( )] TJ ET EMC Q q /GS160 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 124.80000305 m 416.75 124.80000305 l 416.75 140.40000916 l -1.45000005 140.40000916 l h f* Q q 1 0 0 1 0 124.80000305 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS161 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(d)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F015D0017>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 47.25 11.65499973 Tm /GS162 gs 0 g [( )] TJ ET EMC Q q /GS163 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 140.3999939 m 416.75 140.3999939 l 416.75 156 l -1.45000005 156 l h f* Q q /GS164 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 156 m 416.75 156 l 416.75 171.6000061 l -1.45000005 171.6000061 l h f* Q q 1 0 0 1 0 140.3999939 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS165 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(PlatformTransactionManager)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 149.625 11.65499973 Tm [<003100E7001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 183.75 11.65499973 Tm [(TransactionInterception)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 307.125 11.65499973 Tm [<002500C200220167007C0043>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(TransactionProxyFactoryBean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 144.375 27.25500107 Tm [<015D001701630049002201680038006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 241.5 27.25500107 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 275.625 27.25500107 Tm [<013E013F008C009300F900DE001000180071016500E6003E001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 412.125 27.25500107 Tm /GS166 gs 0 g [( )] TJ ET EMC Q q /GS167 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 171.6000061 m 416.75 171.6000061 l 416.75 202.80000305 l -1.45000005 202.80000305 l h f* Q q 1 0 0 1 0 171.6000061 cm /P <> BDC BT /FAABAB 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q q /GS168 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 202.80000305 m 416.75 202.80000305 l 416.75 234 l -1.45000005 234 l h f* Q q 1 0 0 1 0 202.80000305 cm /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS169 gs 0.10980392 0.12156863 0.12941177 rg [<002100220039003A003B003C003D00230024003E003F>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 115.5 20.17499924 Tm /GS170 gs 0 g [( )] TJ ET EMC Q q /GS171 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 234 m 416.75 234 l 416.75 249.6000061 l -1.45000005 249.6000061 l h f* Q q 1 0 0 1 0 234 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS172 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<00B200B300410020002100910011005E00B200B3006C009A002500C200A8013C0022007700D4009100110018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 244.125 11.65499973 Tm [(interface)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 294 11.65499973 Tm [<003D0169016A009C009D000F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 357 11.65499973 Tm [(@)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 362.25 11.65499973 Tm [<016B016C016D016E001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 414.75 11.65499973 Tm /GS173 gs 0 g [( )] TJ ET EMC Q q /GS174 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 249.6000061 m 416.75 249.6000061 l 416.75 265.20001221 l -1.45000005 265.20001221 l h f* Q q 1 0 0 1 0 249.6000061 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS175 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<009100110053005400A60035016F00140170014D0141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 126 11.65499973 Tm /GS176 gs 0 g [( )] TJ ET EMC Q q /GS177 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 265.20001221 m 416.75 265.20001221 l 416.75 280.80001831 l -1.45000005 280.80001831 l h f* Q q /GS178 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 280.79998779 m 416.75 280.79998779 l 416.75 296.3999939 l -1.45000005 296.3999939 l h f* Q q 1 0 0 1 0 265.20001221 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS179 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 8.42500019 11.65499973 Tm [<0091001100530054017100B70172001B00D301730020001200BF00780083001B00D3006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 197.42500305 11.65499973 Tm [(String)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 228.92500305 11.65499973 Tm [<006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 239.42500305 11.65499973 Tm [(Enums)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 265.67498779 11.65499973 Tm [<006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 276.17498779 11.65499973 Tm [(Annotation)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 331.29998779 11.65499973 Tm [<0175017600D400F700F5001B00D30018>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<014D00B60141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 31.5 27.25500107 Tm /GS180 gs 0 g [( )] TJ ET EMC Q q /GS181 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 296.3999939 m 416.75 296.3999939 l 416.75 312 l -1.45000005 312 l h f* Q q 1 0 0 1 0 296.3999939 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS182 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<0091001100530054000E000F00140177017801720141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 126 11.65499973 Tm /GS183 gs 0 g [( )] TJ ET EMC Q q /GS184 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 312 m 416.75 312 l 416.75 327.6000061 l -1.45000005 327.6000061 l h f* Q q 1 0 0 1 0 312 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS185 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<009100110083004200350179001D00130148009100110022014800910011009B0050004900910011007C012D00910011001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 273 11.65499973 Tm /GS186 gs 0 g [( )] TJ ET EMC Q q /GS187 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 327.6000061 m 416.75 327.6000061 l 416.75 343.20001221 l -1.45000005 343.20001221 l h f* Q q 1 0 0 1 0 327.6000061 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS188 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 343.20001221 m 416.75 343.20001221 l 416.75 374.40002441 l -1.45000005 374.40002441 l h f* Q q 1 0 0 1 0 343.20001221 cm /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS189 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 37.77500153 20.17499924 Tm [(MVC)] TJ ET EMC /P <> BDC BT 1 0 0 -1 63.14799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 68.39800262 20.17499924 Tm [<0042004300440045>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 110.39800262 20.17499924 Tm /GS190 gs 0 g [( )] TJ ET EMC Q q /GS191 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 374.3999939 m 416.75 374.3999939 l 416.75 390 l -1.45000005 390 l h f* Q q /GS192 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 390 m 416.75 390 l 416.75 405.6000061 l -1.45000005 405.6000061 l h f* Q q 1 0 0 1 0 374.3999939 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS193 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(1.spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 52.5 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 57.75 11.65499973 Tm [(mvc)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 76.125 11.65499973 Tm [<002E00FD00140018002B002C0130007A01600134>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 183.75 11.65499973 Tm [(DispatcherServlet,)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 278.25 11.65499973 Tm [<012D0123012E012F00300050003E00860018007C007D01560157>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<00AF00B0002F002B002C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.5 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 57.75 27.25500107 Tm [<00A7009F017B017C001800DE00100019003A001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 162.75 27.25500107 Tm /GS194 gs 0 g [( )] TJ ET EMC Q q /GS195 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 405.6000061 m 416.75 405.6000061 l 416.75 421.20001221 l -1.45000005 421.20001221 l h f* Q q 1 0 0 1 0 405.6000061 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS196 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(2.DispatcherServlet)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 112.875 11.65499973 Tm [<017D017E006C009A0175017F009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 189 11.65499973 Tm [(HandlerMapping,)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 267.75 11.65499973 Tm [<0180002700DE0010002B002C0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 343.875 11.65499973 Tm [(Controller.)] TJ ET EMC /P <> BDC BT 1 0 0 -1 401.625 11.65499973 Tm /GS197 gs 0 g [( )] TJ ET EMC Q q /GS198 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 421.20001221 m 416.75 421.20001221 l 416.75 436.80001831 l -1.45000005 436.80001831 l h f* Q q 1 0 0 1 0 421.20001221 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS199 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(3.DispatcherServlet)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 112.875 11.65499973 Tm [<002B002B002C007A01600027011E011F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 199.5 11.65499973 Tm [(Controller)] TJ ET EMC /P <> BDC BT 1 0 0 -1 252 11.65499973 Tm /GS200 gs 0 g [( )] TJ ET EMC Q q /GS201 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 436.79998779 m 416.75 436.79998779 l 416.75 452.3999939 l -1.45000005 452.3999939 l h f* Q q 1 0 0 1 0 436.79998779 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS202 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(4.Controller)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 76.125 11.65499973 Tm [<00A7009F00F800F90145014600DE001000B900220123017100B7006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 236.25 11.65499973 Tm [(ModelAndView)] TJ ET EMC /P <> BDC BT 1 0 0 -1 299.25 11.65499973 Tm /GS203 gs 0 g [( )] TJ ET EMC Q q /GS204 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 452.3999939 m 416.75 452.3999939 l 416.75 468 l -1.45000005 468 l h f* Q q /GS205 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 468 m 416.75 468 l 416.75 483.6000061 l -1.45000005 483.6000061 l h f* Q q 1 0 0 1 0 452.3999939 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS206 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(5.Dispathcher)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 81.375 11.65499973 Tm [<017D017E006C009A0175017F009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 157.5 11.65499973 Tm [(ViewResolver)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 223.125 11.65499973 Tm [<01860187001100A90090>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 275.625 11.65499973 Tm [(,)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 280.875 11.65499973 Tm [<01800027>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 304.5 11.65499973 Tm [(ModelAndView)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 370.125 11.65499973 Tm [<002F0036013A0020>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<001801860187002F0036>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.5 27.25500107 Tm /GS207 gs 0 g [( )] TJ ET EMC Q q /GS208 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 483.6000061 m 416.75 483.6000061 l 416.75 499.20001221 l -1.45000005 499.20001221 l h f* Q q 1 0 0 1 0 483.6000061 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS209 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(6.)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 21 11.65499973 Tm [<01860187002F003600AF00B00189018A017100B7013400280029002A001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 178.5 11.65499973 Tm /GS210 gs 0 g [( )] TJ ET EMC Q q /GS211 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 499.20001221 m 416.75 499.20001221 l 416.75 530.40002441 l -1.45000005 530.40002441 l h f* Q q 1 0 0 1 0 499.20001221 cm /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q q /GS212 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 530.40002441 m 416.75 530.40002441 l 416.75 561.60003662 l -1.45000005 561.60003662 l h f* Q q 1 0 0 1 0 530.40002441 cm /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS213 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 37.77500153 20.17499924 Tm [(MVC)] TJ ET EMC /P <> BDC BT 1 0 0 -1 63.14799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 68.39800262 20.17499924 Tm [<0046002900440045>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 110.39800262 20.17499924 Tm /GS214 gs 0 g [( )] TJ ET EMC Q q /GS215 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 561.59997559 m 416.75 561.59997559 l 416.75 577.19995117 l -1.45000005 577.19995117 l h f* Q q 1 0 0 1 0 561.59997559 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS216 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 9.39500046 11.65499973 Tm [<0024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 19.89500046 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 24.04000092 11.65499973 Tm [(web.xml)] TJ ET EMC /P <> BDC BT 1 0 0 -1 60.79000092 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 64.93499756 11.65499973 Tm [<0082008900460134>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 106.93499756 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 111.08000183 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 142.58000183 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 146.7250061 11.65499973 Tm [(MVC)] TJ ET EMC /P <> BDC BT 1 0 0 -1 162.4750061 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 166.61999512 11.65499973 Tm [<0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 177.11999512 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 181.26499939 11.65499973 Tm [(Servlet)] TJ ET EMC /P <> BDC BT 1 0 0 -1 218.01499939 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 222.16000366 11.65499973 Tm [<00440045001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 253.66000366 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 257.80499268 11.65499973 Tm [(load-on-startup,)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 341.80499268 11.65499973 Tm [<00FD000F00EF018C018D01100018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 415.30499268 11.65499973 Tm /GS217 gs 0 g [( )] TJ ET EMC Q q /GS218 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 577.20001221 m 416.75 577.20001221 l 416.75 592.79998779 l -1.45000005 592.79998779 l h f* Q q 1 0 0 1 0 577.20001221 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS219 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<002D018E0123005100520033>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 73.5 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 78.75 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 110.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 115.5 11.65499973 Tm [(MVC)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 131.25 11.65499973 Tm [<00220024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 152.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 157.5 11.65499973 Tm [(HttpServletBean)] TJ ET EMC /P <> BDC BT 1 0 0 -1 236.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 241.5 11.65499973 Tm [<0046002E004400450018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 294 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 299.25 11.65499973 Tm [(contextConfigLocation)] TJ ET EMC /P <> BDC BT 1 0 0 -1 409.5 11.65499973 Tm /GS220 gs 0 g [( )] TJ ET EMC Q q /GS221 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 592.79998779 m 416.75 592.79998779 l 416.75 608.39996338 l -1.45000005 608.39996338 l h f* Q q 1 0 0 1 0 592.79998779 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS222 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 9.71700001 11.65499973 Tm [<015A0151007100450027>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 62.21699905 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 66.68399811 11.65499973 Tm [(Servlet)] TJ ET EMC /P <> BDC BT 1 0 0 -1 103.43399811 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 107.90100098 11.65499973 Tm [<00460022018F00B90024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 160.40100098 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 164.86799622 11.65499973 Tm [(FrameworkServlet)] TJ ET EMC /P <> BDC BT 1 0 0 -1 248.86799622 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 253.33500671 11.65499973 Tm [<004600B200B3001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 295.33499146 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 299.80200195 11.65499973 Tm [(WebApplicationContext,)] TJ ET EMC /P <> BDC BT 1 0 0 -1 415.30200195 11.65499973 Tm /GS223 gs 0 g [( )] TJ ET EMC Q q /GS224 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 608.40002441 m 416.75 608.40002441 l 416.75 624 l -1.45000005 624 l h f* Q q /GS225 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 624 m 416.75 624 l 416.75 639.59997559 l -1.45000005 639.59997559 l h f* Q q 1 0 0 1 0 608.40002441 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS226 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 7.94399977 11.65499973 Tm [(DispatcherServlet)] TJ ET EMC /P <> BDC BT 1 0 0 -1 97.19400024 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 99.88800049 11.65499973 Tm [<00720073>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 120.88800049 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 123.58200073 11.65499973 Tm [(contextConfigLocation)] TJ ET EMC /P <> BDC BT 1 0 0 -1 233.83200073 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 236.52600098 11.65499973 Tm [<004400450018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 268.02600098 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 270.72000122 11.65499973 Tm [(classpath)] TJ ET EMC /P <> BDC BT 1 0 0 -1 317.97000122 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 320.66400146 11.65499973 Tm [<00BD0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 341.66400146 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 344.35800171 11.65499973 Tm [(xml)] TJ ET EMC /P <> BDC BT 1 0 0 -1 360.10800171 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 362.80200195 11.65499973 Tm [<00820089005100520033>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 10.5 27.25500107 Tm /GS227 gs 0 g [( )] TJ ET EMC Q q /GS228 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 639.59997559 m 416.75 639.59997559 l 416.75 655.19995117 l -1.45000005 655.19995117 l h f* Q q 1 0 0 1 0 639.59997559 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS229 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 42 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 47.25 11.65499973 Tm [(MVC)] TJ ET EMC /P <> BDC BT 1 0 0 -1 63 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 68.25 11.65499973 Tm [<0190001800B60089001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 120.75 11.65499973 Tm /GS230 gs 0 g [( )] TJ ET EMC Q q /GS231 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 655.20001221 m 416.75 655.20001221 l 416.75 670.79998779 l -1.45000005 670.79998779 l h f* Q q 1 0 0 1 0 655.20001221 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS232 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 670.79998779 m 416.75 670.79998779 l 416.75 702 l -1.45000005 702 l h f* Q q 1 0 0 1 0 670.79998779 cm /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q Q 1 0 0 -1 0 841.90002441 cm +endstream +endobj +179 0 obj +<> +endobj +180 0 obj +<> +endobj +181 0 obj +<> +endobj +182 0 obj +<> +endobj +183 0 obj +<> +endobj +184 0 obj +<> +endobj +185 0 obj +<> +endobj +186 0 obj +<> +endobj +187 0 obj +<> +endobj +188 0 obj +<> +endobj +189 0 obj +<> +endobj +190 0 obj +<> +endobj +191 0 obj +<> +endobj +192 0 obj +<> +endobj +193 0 obj +<> +endobj +194 0 obj +<> +endobj +195 0 obj +<> +endobj +196 0 obj +<> +endobj +197 0 obj +<> +endobj +198 0 obj +<> +endobj +199 0 obj +<> +endobj +200 0 obj +<> +endobj +201 0 obj +<> +endobj +202 0 obj +<> +endobj +203 0 obj +<> +endobj +204 0 obj +<> +endobj +205 0 obj +<> +endobj +206 0 obj +<> +endobj +207 0 obj +<> +endobj +208 0 obj +<> +endobj +209 0 obj +<> +endobj +210 0 obj +<> +endobj +211 0 obj +<> +endobj +212 0 obj +<> +endobj +213 0 obj +<> +endobj +214 0 obj +<> +endobj +215 0 obj +<> +endobj +216 0 obj +<> +endobj +217 0 obj +<> +endobj +218 0 obj +<> +endobj +219 0 obj +<> +endobj +220 0 obj +<> +endobj +221 0 obj +<> +endobj +222 0 obj +<> +endobj +223 0 obj +<> +endobj +224 0 obj +<> +endobj +225 0 obj +<> +endobj +226 0 obj +<> +endobj +227 0 obj +<> +endobj +228 0 obj +<> +endobj +229 0 obj +<> +endobj +230 0 obj +<> +endobj +231 0 obj +<> +endobj +232 0 obj +<> +endobj +233 0 obj +<> +endobj +234 0 obj +<> +endobj +235 0 obj +<> +endobj +236 0 obj +<> +endobj +237 0 obj +<> +endobj +238 0 obj +<> +endobj +239 0 obj +<> +endobj +240 0 obj +<> +endobj +241 0 obj +<> +endobj +242 0 obj +<> +endobj +243 0 obj +<> +endobj +244 0 obj +<> +endobj +245 0 obj +<> +endobj +246 0 obj +<> +endobj +247 0 obj +<> +endobj +248 0 obj +<> +endobj +249 0 obj +<> +endobj +250 0 obj +<> +endobj +251 0 obj +<> +endobj +252 0 obj +<> +endobj +253 0 obj +<> +endobj +254 0 obj +<> +endobj +255 0 obj +<> +endobj +256 0 obj +<> +endobj +257 0 obj +<> +endobj +258 0 obj +<> +endobj +259 0 obj +<> +endobj +260 0 obj +<> +endobj +261 0 obj +<> +endobj +262 0 obj +<> +endobj +263 0 obj +29765 +endobj +264 0 obj +<>/ExtGState<>>>/Group<>/StructParents 3/Tabs/S>> +endobj +265 0 obj +<>stream +1 0 0 -1 0 841.90002441 cm q 1 0 0 1 90 72 cm q 0.97254902 0.98039216 0.98823529 rg -1.45000005 0 m 416.75 0 l 416.75 31.20000076 l -1.45000005 31.20000076 l h f* Q /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 39.89799881 20.17499924 Tm [<001A004700480023002400270028>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 113.39800262 20.17499924 Tm /GS233 gs 0 g [( )] TJ ET EMC q /GS234 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 31.20000076 m 416.75 31.20000076 l 416.75 46.80000305 l -1.45000005 46.80000305 l h f* Q q /GS235 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 46.79999924 m 416.75 46.79999924 l 416.75 62.40000153 l -1.45000005 62.40000153 l h f* Q q 1 0 0 1 0 31.20000076 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS236 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.01299953 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 39.51300049 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 42.27600098 11.65499973 Tm [<002F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.77600098 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 55.53900146 11.65499973 Tm [(Bean)] TJ ET EMC /P <> BDC BT 1 0 0 -1 76.53900146 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 79.30200195 11.65499973 Tm [<00310032001800B200B300D4019100500097003200910092006300180053008C00A7009F003100E700180022013600F7009A00910092006300180192019300D4>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 415.30200195 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [(ConcurrentHashMap)] TJ ET EMC /P <> BDC BT 1 0 0 -1 89.25 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 94.5 27.25500107 Tm [<002F0036001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 126 27.25500107 Tm /GS237 gs 0 g [( )] TJ ET EMC Q q /GS238 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 62.40000153 m 416.75 62.40000153 l 416.75 78 l -1.45000005 78 l h f* Q q 1 0 0 1 0 62.40000153 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS239 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 78 m 416.75 78 l 416.75 109.19999695 l -1.45000005 109.19999695 l h f* Q q 1 0 0 1 0 78 cm /P <> BDC BT 1 0 0 -1 0 20.17499924 Tm /GS240 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 39.89799881 20.17499924 Tm [<0049004A004B004C004D004E004F00500051005200530036>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 165.897995 20.17499924 Tm /GS241 gs 0 g [( )] TJ ET EMC Q q /GS242 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 109.19999695 m 416.75 109.19999695 l 416.75 124.79999542 l -1.45000005 124.79999542 l h f* Q q 1 0 0 1 0 109.19999695 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS243 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<010B00100156008C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.5 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 63 11.65499973 Tm [<0024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 76.125 11.65499973 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 94.5 11.65499973 Tm [<005E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 107.625 11.65499973 Tm [(remoting)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 152.25 11.65499973 Tm [<0046009B0050001800DA0194017F001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 236.25 11.65499973 Tm /GS244 gs 0 g [( )] TJ ET EMC Q q /GS245 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 124.80000305 m 416.75 124.80000305 l 416.75 140.40000916 l -1.45000005 140.40000916 l h f* Q q 1 0 0 1 0 124.80000305 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS246 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<009700320156008C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.5 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 63 11.65499973 Tm [<0024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 76.125 11.65499973 Tm [(spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 110.25 11.65499973 Tm [<00440045008200890046002000210018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 196.875 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 220.5 11.65499973 Tm [<017701780012009700320156008C001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 304.5 11.65499973 Tm /GS247 gs 0 g [( )] TJ ET EMC Q q /GS248 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 140.3999939 m 416.75 140.3999939 l 416.75 156 l -1.45000005 156 l h f* Q q /GS249 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 156 m 416.75 156 l 416.75 171.6000061 l -1.45000005 171.6000061 l h f* Q q 1 0 0 1 0 140.3999939 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS250 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<0156019500530054>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.5 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 63 11.65499973 Tm [<005000490011014A010B010C019601970018014B014C001C00DA0069>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 210 11.65499973 Tm [(.)] TJ ET EMC /P <> BDC BT 1 0 0 -1 215.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 220.5 11.65499973 Tm [(RestTemplate,)] TJ ET EMC /P <> BDC BT 1 0 0 -1 288.75 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 294 11.65499973 Tm [(JmsTemplate,)] TJ ET EMC /P <> BDC BT 1 0 0 -1 357 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [(JpaTemplate)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 57.75 27.25500107 Tm [<001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 68.25 27.25500107 Tm /GS251 gs 0 g [( )] TJ ET EMC Q q /GS252 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 171.6000061 m 416.75 171.6000061 l 416.75 187.20001221 l -1.45000005 187.20001221 l h f* Q q 1 0 0 1 0 171.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS253 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<00BA002A004D004E0090>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 63 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT 1 0 0 -1 73.5 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 107.625 11.65499973 Tm [<007A007B001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 141.75 11.65499973 Tm [(DispatcherServlet)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 233.625 11.65499973 Tm [<0049002F002B002C00A7009F00740075001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 328.125 11.65499973 Tm /GS254 gs 0 g [( )] TJ ET EMC Q q /GS255 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 187.19999695 m 416.75 187.19999695 l 416.75 202.80000305 l -1.45000005 202.80000305 l h f* Q q /GS256 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 202.80000305 m 416.75 202.80000305 l 416.75 218.40000916 l -1.45000005 218.40000916 l h f* Q q 1 0 0 1 0 187.19999695 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS257 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 8.05900002 11.65499973 Tm [<0186018701980199>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 50.05899811 11.65499973 Tm [(\(View)] TJ ET EMC /P <> BDC BT 1 0 0 -1 76.30899811 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 79.11799622 11.65499973 Tm [(Helper)] TJ ET EMC /P <> BDC BT 1 0 0 -1 110.61799622 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 113.42700195 11.65499973 Tm [(\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 118.67700195 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT 1 0 0 -1 129.17700195 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 163.30200195 11.65499973 Tm [<007A007B001E006C003E00A00018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 239.42700195 11.65499973 Tm [(JSP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 257.80200195 11.65499973 Tm [<011F019A0022019B019C019D0049019E0199002E0074019F0018010B010C>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<01A0001700240186018701A1001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 73.5 27.25500107 Tm /GS258 gs 0 g [( )] TJ ET EMC Q q /GS259 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 218.3999939 m 416.75 218.3999939 l 416.75 234 l -1.45000005 234 l h f* Q q 1 0 0 1 0 218.3999939 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS260 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<01A201A3009101A4>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.5 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 63 11.65499973 Tm [<01A501A600DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 97.125 11.65499973 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT 1 0 0 -1 154.875 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 160.125 11.65499973 Tm [(/)] TJ ET EMC /P <> BDC BT 1 0 0 -1 165.375 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 170.625 11.65499973 Tm [(ApplicationContext)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 267.75 11.65499973 Tm [<002500C2001800EA00EB001001A8001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 351.75 11.65499973 Tm /GS261 gs 0 g [( )] TJ ET EMC Q q /GS262 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 234 m 416.75 234 l 416.75 249.6000061 l -1.45000005 249.6000061 l h f* Q q 1 0 0 1 0 234 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS263 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<0019001A0156008C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.5 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT 1 0 0 -1 63 11.65499973 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 123.375 11.65499973 Tm [<0050004900B200B3002F0036001800310032001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 228.375 11.65499973 Tm /GS264 gs 0 g [( )] TJ ET EMC Q q 1 0 0 1 0 249.6000061 cm /P <> BDC BT /FAABAB 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q q 1 0 0 1 0 280.79998779 cm /P <> BDC BT /FAABAB 16.5 Tf 1 0 0 -1 0 22.79000092 Tm /GS265 gs 0.10980392 0.12156863 0.12941177 rg [(Nett)1(y)] TJ ET EMC /P <> BDC BT /FAAABH 12 Tf 1 0 0 -1 43.80400085 22.79000092 Tm /GS266 gs 0 g [( )] TJ ET EMC Q q /GS267 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 312 m 416.75 312 l 416.75 343.20001221 l -1.45000005 343.20001221 l h f* Q q 1 0 0 1 0 312 cm /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS268 gs 0.10980392 0.12156863 0.12941177 rg [<00540014001500550056>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 52.5 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 57.75 20.17499924 Tm [(Netty)] TJ ET EMC /P <> BDC BT 1 0 0 -1 87.49099731 20.17499924 Tm /GS269 gs 0 g [( )] TJ ET EMC Q q /GS270 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 343.20001221 m 416.75 343.20001221 l 416.75 358.80001831 l -1.45000005 358.80001831 l h f* Q q 1 0 0 1 0 343.20001221 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS271 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(1\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 26.25 11.65499973 Tm [(API)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 44.625 11.65499973 Tm [<00CF0050009600970022016D007501A901AA01AB0141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 160.125 11.65499973 Tm /GS272 gs 0 g [( )] TJ ET EMC Q q /GS273 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 358.79998779 m 416.75 358.79998779 l 416.75 374.3999939 l -1.45000005 374.3999939 l h f* Q q 1 0 0 1 0 358.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS274 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(2\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.25 11.65499973 Tm [<0076003501AC01AD002201AE0045001E017F001F00EE0011010C007600350022007E007F017F001F011101AF003901B00141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 288.75 11.65499973 Tm /GS275 gs 0 g [( )] TJ ET EMC Q q /GS276 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 374.3999939 m 416.75 374.3999939 l 416.75 390 l -1.45000005 390 l h f* Q q 1 0 0 1 0 374.3999939 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS277 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(3\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.25 11.65499973 Tm [<0020004E003501B101AC0022000E000F01040105>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 131.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 136.5 11.65499973 Tm [(ChannelHandler)] TJ ET EMC /P <> BDC BT 1 0 0 -1 210 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 215.25 11.65499973 Tm [<002F0104010100BB00BC00A7009F01B201B3001800D600D70141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 351.75 11.65499973 Tm /GS278 gs 0 g [( )] TJ ET EMC Q q /GS279 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 390 m 416.75 390 l 416.75 405.6000061 l -1.45000005 405.6000061 l h f* Q q 1 0 0 1 0 390 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS280 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(4\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.25 11.65499973 Tm [<01510035019B0022010401050043007C012D00F801B4011101AF0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 175.875 11.65499973 Tm [(NIO)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 194.25 11.65499973 Tm [<00BB00BC002F00DA0022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 246.75 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 275.625 11.65499973 Tm [<001801B600170151003501B701B80141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 359.625 11.65499973 Tm /GS281 gs 0 g [( )] TJ ET EMC Q q /GS282 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 405.6000061 m 416.75 405.6000061 l 416.75 421.20001221 l -1.45000005 421.20001221 l h f* Q q /GS283 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 421.20001221 m 416.75 421.20001221 l 416.75 436.80001831 l -1.45000005 436.80001831 l h f* Q q 1 0 0 1 0 405.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS284 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(5\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.25 11.65499973 Tm [<003801B9006F01BA00200022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 89.25 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 118.125 11.65499973 Tm [<01090197001E008D00F2007500E7001800FD0014>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 225.75 11.65499973 Tm [(JDK)] TJ ET EMC /P <> BDC BT 1 0 0 -1 241.5 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 246.75 11.65499973 Tm [(NIO)] TJ ET EMC /P <> BDC BT 1 0 0 -1 262.5 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 267.75 11.65499973 Tm [(BUG)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 283.5 11.65499973 Tm [<002200F800F9016D007500FF01BC00A6009C009D01BD0012>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(NIO)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 18.375 27.25500107 Tm [<0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 31.5 27.25500107 Tm [(BUG)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 49.875 27.25500107 Tm [<013601BE01BF0141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 91.875 27.25500107 Tm /GS285 gs 0 g [( )] TJ ET EMC Q q /GS286 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 436.79998779 m 416.75 436.79998779 l 416.75 452.3999939 l -1.45000005 452.3999939 l h f* Q q /GS287 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 452.3999939 m 416.75 452.3999939 l 416.75 468 l -1.45000005 468 l h f* Q q 1 0 0 1 0 436.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS288 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(6\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.25 11.65499973 Tm [<01C001C101B301C2002201C3008301C4010B004B004C01C50022007500E70018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 196.875 11.65499973 Tm [(BUG)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 215.25 11.65499973 Tm [<000E000F009B00E2002D010901970022006A002D002200DC017F001801C6007600350123009B>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<00D901A40141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 31.5 27.25500107 Tm /GS289 gs 0 g [( )] TJ ET EMC Q q /GS290 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 468 m 416.75 468 l 416.75 483.6000061 l -1.45000005 483.6000061 l h f* Q q /GS291 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 483.6000061 m 416.75 483.6000061 l 416.75 499.20001221 l -1.45000005 499.20001221 l h f* Q q /GS292 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 499.20001221 m 416.75 499.20001221 l 416.75 514.79998779 l -1.45000005 514.79998779 l h f* Q q 1 0 0 1 0 468 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS293 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(7\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.25 11.65499973 Tm [<00F201C8001E01AD01440156001801C900F80030005001CA01CB002201CC01CD008D00F200D0002701CB01CE001C002401CF007001D0006F01AD014D0073006F01D001D101D201D3006F>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<01D400F800300050006F01D5010101D60089010001D7017F009F00F800D000270038007601C90050002201CE013F001E012D000E000F010E01D801D901DA00A6006A009F00F8001801C900F80030>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<0050001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 21 42.85499954 Tm /GS294 gs 0 g [( )] TJ ET EMC Q q /GS295 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 514.79998779 m 416.75 514.79998779 l 416.75 530.39996338 l -1.45000005 530.39996338 l h f* Q q 1 0 0 1 0 514.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS296 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<017C00D4012C001200F700F501B801DB0022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 105 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 133.875 11.65499973 Tm [<01DC01DD00380012>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 178.5 11.65499973 Tm [(Java)] TJ ET EMC /P <> BDC BT 1 0 0 -1 199.5 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 204.75 11.65499973 Tm [(NIO)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 223.125 11.65499973 Tm [<00EE00EF00180150012400BB00BC001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 307.125 11.65499973 Tm /GS297 gs 0 g [( )] TJ ET EMC Q q /GS298 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 530.40002441 m 416.75 530.40002441 l 416.75 546 l -1.45000005 546 l h f* Q q 1 0 0 1 0 530.40002441 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS299 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 546 m 416.75 546 l 416.75 577.20001221 l -1.45000005 577.20001221 l h f* Q q 1 0 0 1 0 546 cm /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS300 gs 0.10980392 0.12156863 0.12941177 rg [<0025002500580034004B0059>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 63 20.17499924 Tm [(Netty)] TJ ET EMC /P <> BDC BT 1 0 0 -1 92.74099731 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 97.99099731 20.17499924 Tm [<001A005A004C005B005C>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 150.49099731 20.17499924 Tm /GS301 gs 0 g [( )] TJ ET EMC Q q /GS302 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 577.20001221 m 416.75 577.20001221 l 416.75 592.79998779 l -1.45000005 592.79998779 l h f* Q q /GS303 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 592.79998779 m 416.75 592.79998779 l 416.75 608.39996338 l -1.45000005 608.39996338 l h f* Q q 1 0 0 1 0 577.20001221 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS304 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<00AA00B3019B01510035006F01AB002D01DE001800E9001F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 139.125 11.65499973 Tm [(Java)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 162.75 11.65499973 Tm [<0046003C0089002200320069>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 228.375 11.65499973 Tm [(MQ)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 238.875 11.65499973 Tm [<006F007401E0008C01E100F900BB00BC006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 333.375 11.65499973 Tm [(ESB)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 351.75 11.65499973 Tm [<00840085019001E201000022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 28.875 27.25500107 Tm [<0111009D003A0012007800790104010100BB00BC007A007B019B01510035006F01AB002D01DE00180104010101E100F90141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 291.375 27.25500107 Tm /GS305 gs 0 g [( )] TJ ET EMC Q q /GS306 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 608.40002441 m 416.75 608.40002441 l 416.75 624 l -1.45000005 624 l h f* Q q /GS307 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 624 m 416.75 624 l 416.75 639.59997559 l -1.45000005 639.59997559 l h f* Q q 1 0 0 1 0 608.40002441 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS308 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<01E300140175017601E40014003901B001E50018007800790104010100BB00BC002200320069000E000F007800DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 254.625 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 283.5 11.65499973 Tm [<00AA00B301E601E7006F019B015100350018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(WebSocket)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 49.875 27.25500107 Tm [<003901B001E50141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 91.875 27.25500107 Tm /GS309 gs 0 g [( )] TJ ET EMC Q q /GS310 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 639.59997559 m 416.75 639.59997559 l 416.75 655.19995117 l -1.45000005 655.19995117 l h f* Q q /GS311 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 655.20001221 m 416.75 655.20001221 l 416.75 670.79998779 l -1.45000005 670.79998779 l h f* Q q 1 0 0 1 0 639.59997559 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS312 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 8.42500019 11.65499973 Tm [<00E901E801E90030005000220032006901AD014D0073006F01D201D301000022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 176.42500305 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 205.30000305 11.65499973 Tm [<003A0012019B0151003500180104010100BB00BC005000DF015C014F00E9015601570018014D0073>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<00740075006F00E001EA005E01EB019001000022003100E701560157003B003C019B0151003501040101001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 231 27.25500107 Tm /GS313 gs 0 g [( )] TJ ET EMC Q q /GS314 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 670.79998779 m 416.75 670.79998779 l 416.75 686.39996338 l -1.45000005 686.39996338 l h f* Q q 1 0 0 1 0 670.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q Q 1 0 0 -1 0 841.90002441 cm +endstream +endobj +266 0 obj +<> +endobj +267 0 obj +<> +endobj +268 0 obj +<> +endobj +269 0 obj +<> +endobj +270 0 obj +<> +endobj +271 0 obj +<> +endobj +272 0 obj +<> +endobj +273 0 obj +<> +endobj +274 0 obj +<> +endobj +275 0 obj +<> +endobj +276 0 obj +<> +endobj +277 0 obj +<> +endobj +278 0 obj +<> +endobj +279 0 obj +<> +endobj +280 0 obj +<> +endobj +281 0 obj +<> +endobj +282 0 obj +<> +endobj +283 0 obj +<> +endobj +284 0 obj +<> +endobj +285 0 obj +<> +endobj +286 0 obj +<> +endobj +287 0 obj +<> +endobj +288 0 obj +<> +endobj +289 0 obj +<> +endobj +290 0 obj +<> +endobj +291 0 obj +<> +endobj +292 0 obj +<> +endobj +293 0 obj +<> +endobj +294 0 obj +<> +endobj +295 0 obj +<> +endobj +296 0 obj +<> +endobj +297 0 obj +<> +endobj +298 0 obj +<> +endobj +299 0 obj +<> +endobj +300 0 obj +<> +endobj +301 0 obj +<> +endobj +302 0 obj +<> +endobj +303 0 obj +<> +endobj +304 0 obj +<> +endobj +305 0 obj +<> +endobj +306 0 obj +<> +endobj +307 0 obj +<> +endobj +308 0 obj +<> +endobj +309 0 obj +<> +endobj +310 0 obj +<> +endobj +311 0 obj +<> +endobj +312 0 obj +<> +endobj +313 0 obj +<> +endobj +314 0 obj +<> +endobj +315 0 obj +<> +endobj +316 0 obj +<> +endobj +317 0 obj +<> +endobj +318 0 obj +<> +endobj +319 0 obj +<> +endobj +320 0 obj +<> +endobj +321 0 obj +<> +endobj +322 0 obj +<> +endobj +323 0 obj +<> +endobj +324 0 obj +<> +endobj +325 0 obj +<> +endobj +326 0 obj +<> +endobj +327 0 obj +<> +endobj +328 0 obj +<> +endobj +329 0 obj +<> +endobj +330 0 obj +<> +endobj +331 0 obj +<> +endobj +332 0 obj +<> +endobj +333 0 obj +<> +endobj +334 0 obj +<> +endobj +335 0 obj +<> +endobj +336 0 obj +<> +endobj +337 0 obj +<> +endobj +338 0 obj +<> +endobj +339 0 obj +<> +endobj +340 0 obj +<> +endobj +341 0 obj +<> +endobj +342 0 obj +<> +endobj +343 0 obj +<> +endobj +344 0 obj +<> +endobj +345 0 obj +<> +endobj +346 0 obj +<> +endobj +347 0 obj +<> +endobj +348 0 obj +28690 +endobj +349 0 obj +<>/ExtGState<>>>/Group<>/StructParents 4/Tabs/S>> +endobj +350 0 obj +<>stream +1 0 0 -1 0 841.90002441 cm q 1 0 0 1 90 72 cm q 0.97254902 0.98039216 0.98823529 rg -1.45000005 0 m 416.75 0 l 416.75 15.60000038 l -1.45000005 15.60000038 l h f* Q /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS315 gs 0 g [( )] TJ ET EMC q /GS316 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 15.60000038 m 416.75 15.60000038 l 416.75 31.20000076 l -1.45000005 31.20000076 l h f* Q q 1 0 0 1 0 15.60000038 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS317 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 31.20000076 m 416.75 31.20000076 l 416.75 62.40000153 l -1.45000005 62.40000153 l h f* Q q 1 0 0 1 0 31.20000076 cm /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS318 gs 0.10980392 0.12156863 0.12941177 rg [<0027001B001A>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 31.5 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 36.75 20.17499924 Tm [(NI)-1(O)] TJ ET EMC /P <> BDC BT 1 0 0 -1 57.77099991 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 63.02099991 20.17499924 Tm [<005D>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 73.52100372 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 78.77100372 20.17499924 Tm [(JDK)] TJ ET EMC /P <> BDC BT 1 0 0 -1 99.29399872 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 102.42099762 20.17499924 Tm [(1.)1(7)] TJ ET EMC /P <> BDC BT 1 0 0 -1 118.3710022 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 123.6210022 20.17499924 Tm [<006100620063005D>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 165.6210022 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 170.8710022 20.17499924 Tm [(epoll)] TJ ET EMC /P <> BDC BT 1 0 0 -1 197.08999634 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 200.21699524 20.17499924 Tm [(bug)] TJ ET EMC /P <> BDC BT 1 0 0 -1 220.99099731 20.17499924 Tm /GS319 gs 0 g [( )] TJ ET EMC Q q /GS320 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 62.40000153 m 416.75 62.40000153 l 416.75 78 l -1.45000005 78 l h f* Q q /GS321 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 78 m 416.75 78 l 416.75 93.59999847 l -1.45000005 93.59999847 l h f* Q q /GS322 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 93.59999847 m 416.75 93.59999847 l 416.75 109.19999695 l -1.45000005 109.19999695 l h f* Q q 1 0 0 1 0 62.40000153 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS323 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 8.05900002 11.65499973 Tm [<012D012301EC01ED>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.68399811 11.65499973 Tm [(Selector)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 97.30899811 11.65499973 Tm [<01EE01EF017E002201B701F001EC01ED>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 183.93400574 11.65499973 Tm [(CPU)] TJ ET EMC /P <> BDC BT 1 0 0 -1 199.68400574 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 202.49299622 11.65499973 Tm [(100%)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 223.49299622 11.65499973 Tm [<001C01F30053013E01F40024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 289.11801147 11.65499973 Tm [(JDK)] TJ ET EMC /P <> BDC BT 1 0 0 -1 304.86801147 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 307.67700195 11.65499973 Tm [(1.6)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 326.05200195 11.65499973 Tm [<01C300830018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 360.17700195 11.65499973 Tm [(update18)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 404.80200195 11.65499973 Tm [<0109>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<0197001E010F014B014C0022007700D401F60027>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 107.625 27.25500107 Tm [(JDK)] TJ ET EMC /P <> BDC BT 1 0 0 -1 123.375 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 128.625 27.25500107 Tm [(1.7)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 147 27.25500107 Tm [<01C30083010F014B014C01F701F8019300240022013200A60105010F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 296.625 27.25500107 Tm [(BUG)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 315 27.25500107 Tm [<0075003701F901FA01FB01AB001E006C00F5>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<0136008D0022012D00AB0120001400D000270072008301510011014A001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 157.5 42.85499954 Tm /GS324 gs 0 g [( )] TJ ET EMC Q q /GS325 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 109.19999695 m 416.75 109.19999695 l 416.75 124.79999542 l -1.45000005 124.79999542 l h f* Q q 1 0 0 1 0 109.19999695 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS326 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 124.80000305 m 416.75 124.80000305 l 416.75 156 l -1.45000005 156 l h f* Q q 1 0 0 1 0 124.80000305 cm /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS327 gs 0.10980392 0.12156863 0.12941177 rg [<001400150065>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 34.125 20.17499924 Tm [(TC)-1(P)] TJ ET EMC /P <> BDC BT 1 0 0 -1 54.66400146 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 59.91400146 20.17499924 Tm [<00670068>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 80.91400146 20.17499924 Tm [(/)] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 85.8769989 20.17499924 Tm [<006A0068>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 106.8769989 20.17499924 Tm /GS328 gs 0 g [( )] TJ ET EMC Q q /GS329 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 156 m 416.75 156 l 416.75 171.6000061 l -1.45000005 171.6000061 l h f* Q q 1 0 0 1 0 156 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS330 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(1)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F009D007501FC0018014D007301AD00DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 112.875 11.65499973 Tm [(TCP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 131.25 11.65499973 Tm [<007501FC019201FD01C101FE01FF01EE003C01AD02000022002E0123007500370201001D001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 330.75 11.65499973 Tm /GS331 gs 0 g [( )] TJ ET EMC Q q /GS332 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 171.6000061 m 416.75 171.6000061 l 416.75 187.20001221 l -1.45000005 187.20001221 l h f* Q q 1 0 0 1 0 171.6000061 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS333 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(2)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F0202007501FC014D007301AD00DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 102.375 11.65499973 Tm [(MSS)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 118.125 11.65499973 Tm [<005501B701AD0203008202040205005D0022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 212.625 11.65499973 Tm [(TCP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 231 11.65499973 Tm [<002400E001EA00BA002E00A7009F0201001D001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 336 11.65499973 Tm /GS334 gs 0 g [( )] TJ ET EMC Q q /GS335 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 187.19999695 m 416.75 187.19999695 l 416.75 202.80000305 l -1.45000005 202.80000305 l h f* Q q /GS336 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 202.80000305 m 416.75 202.80000305 l 416.75 218.40000916 l -1.45000005 218.40000916 l h f* Q q 1 0 0 1 0 187.19999695 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS337 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(3)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F009D007501FC0018014D0073020000DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 112.875 11.65499973 Tm [(TCP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 131.25 11.65499973 Tm [<007501FC019201FD01C1001801AD02000022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 225.75 11.65499973 Tm [(TCP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 244.125 11.65499973 Tm [<002E017F0206020701A4019201FD01C10018014D0073006C0206007501FC0048>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<02080022002E0123007500370209001D001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 94.5 27.25500107 Tm /GS338 gs 0 g [( )] TJ ET EMC Q q /GS339 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 218.3999939 m 416.75 218.3999939 l 416.75 234 l -1.45000005 234 l h f* Q q 1 0 0 1 0 218.3999939 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS340 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(4)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F00250026014D0073002A00180030005000E30120001400E2002D008A008B00250026019201FD01C100460018014D00730022002E007500370209001D001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 351.75 11.65499973 Tm /GS341 gs 0 g [( )] TJ ET EMC Q q /GS342 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 234 m 416.75 234 l 416.75 249.6000061 l -1.45000005 249.6000061 l h f* Q q 1 0 0 1 0 234 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS343 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 249.6000061 m 416.75 249.6000061 l 416.75 280.80001831 l -1.45000005 280.80001831 l h f* Q q 1 0 0 1 0 249.6000061 cm /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS344 gs 0.10980392 0.12156863 0.12941177 rg [(TC)-1(P)] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 23.16399956 20.17499924 Tm [<00670068>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 44.16400146 20.17499924 Tm [(/)] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 49.1269989 20.17499924 Tm [<006A0068001A003D006B006C006D>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 122.6269989 20.17499924 Tm /GS345 gs 0 g [( )] TJ ET EMC Q q /GS346 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 280.79998779 m 416.75 280.79998779 l 416.75 296.3999939 l -1.45000005 296.3999939 l h f* Q q /GS347 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 296.3999939 m 416.75 296.3999939 l 416.75 312 l -1.45000005 312 l h f* Q q 1 0 0 1 0 280.79998779 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS348 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(1)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F007501FC002A0134020A009A014D0073001D00D800D9001D0150014F00220150014F00460030010F020B020C001D0013014D0073001D001802040205002200F7006D00250026002A0024>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<002500260027014D007300B9002201040105008A008B001D0150014F001802040205016A020D00220023020E020F020A006C009A014D0073001D00180031008102040205001E001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 378 27.25500107 Tm /GS349 gs 0 g [( )] TJ ET EMC Q q /GS350 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 312 m 416.75 312 l 416.75 327.6000061 l -1.45000005 327.6000061 l h f* Q q /GS351 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 327.6000061 m 416.75 327.6000061 l 416.75 343.20001221 l -1.45000005 343.20001221 l h f* Q q 1 0 0 1 0 312 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS352 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(2)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F007501FC002A002E020A009A014D0073001D021000E800120211002002040205005500A601790018000E000F010401050212>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 291.375 11.65499973 Tm [(0)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 299.25 11.65499973 Tm [<02130214005D002200F7006D00250026002A020A0206>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<006200250026019201FD01C10046008A008B02110020020402050018014D007301080041018F0136018F00180215020A009A014D0073001D02010074016D0049001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 346.5 27.25500107 Tm /GS353 gs 0 g [( )] TJ ET EMC Q q /GS354 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 343.20001221 m 416.75 343.20001221 l 416.75 358.80001831 l -1.45000005 358.80001831 l h f* Q q /GS355 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 358.79998779 m 416.75 358.79998779 l 416.75 374.3999939 l -1.45000005 374.3999939 l h f* Q q 1 0 0 1 0 343.20001221 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS356 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(3)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F000E000F0024014D0073001D003B003C00710045021601B40022006900D800D900C400C5016B016C002200F7006D002200250026002A0104010500F7009A021601B40108000E000F002E>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<00A6006A0018014D0073001D02010074016D001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 105 27.25500107 Tm /GS357 gs 0 g [( )] TJ ET EMC Q q /GS358 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 374.3999939 m 416.75 374.3999939 l 416.75 390 l -1.45000005 390 l h f* Q q 1 0 0 1 0 374.3999939 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS359 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 390 m 416.75 390 l 416.75 421.20001221 l -1.45000005 421.20001221 l h f* Q q 1 0 0 1 0 390 cm /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS360 gs 0.10980392 0.12156863 0.12941177 rg [(Netty)] TJ ET EMC /P <> BDC BT 1 0 0 -1 29.74099922 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 34.99100113 20.17499924 Tm [<006E00450053006F>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 76.99099731 20.17499924 Tm /GS361 gs 0 g [( )] TJ ET EMC Q q /GS362 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 421.20001221 m 416.75 421.20001221 l 416.75 436.80001831 l -1.45000005 436.80001831 l h f* Q q /GS363 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 436.79998779 m 416.75 436.79998779 l 416.75 452.3999939 l -1.45000005 452.3999939 l h f* Q q /GS364 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 452.3999939 m 416.75 452.3999939 l 416.75 468 l -1.45000005 468 l h f* Q q /GS365 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 468 m 416.75 468 l 416.75 483.6000061 l -1.45000005 483.6000061 l h f* Q q /GS366 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 483.6000061 m 416.75 483.6000061 l 416.75 499.20001221 l -1.45000005 499.20001221 l h f* Q q 1 0 0 1 0 421.20001221 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS367 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 8.42500019 11.65499973 Tm [<015000CD0022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 39.92499924 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 68.80000305 11.65499973 Tm [<00CF0050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 92.42500305 11.65499973 Tm [(EventLoop)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 142.30000305 11.65499973 Tm [<004900DE00100217002500650018008A02070093008900220136006C009A021700250065001800FD0014002B002C0130021801CE>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<0024006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 34.125 27.25500107 Tm [(EventLoop)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 84 27.25500107 Tm [<0046009B00DE00100022006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 160.125 27.25500107 Tm [(EventLoop)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 210 27.25500107 Tm [<004601320014006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 265.125 27.25500107 Tm [(Thread)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 296.625 27.25500107 Tm [<002200FD000F00DD0108003100E7001E006C009A0217>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<00250065001800FD001400930089013201230024006C009A01E200EF0046009B009E009F001C006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 223.125 42.85499954 Tm [(EventLoopGroup)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 299.25 42.85499954 Tm [<001D0013017F009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 343.875 42.85499954 Tm [(EventLoop)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 391.125 42.85499954 Tm [<0022000E>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 58.45499802 Tm [<000F0215006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 44.625 58.45499802 Tm [(EventLoop)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 94.5 58.45499802 Tm [<00A500F400D4>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 128.625 58.45499802 Tm [(Reactor)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 168 58.45499802 Tm [<01E200EF015600D300460018006C009A01E200EF00220136006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 317.625 58.45499802 Tm [(EventLoopGroup)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 393.75 58.45499802 Tm [<001B013C>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 74.05500031 Tm [<00DF006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 34.125 74.05500031 Tm [(ExecutorService)] TJ ET EMC /P <> BDC BT 1 0 0 -1 112.875 74.05500031 Tm /GS368 gs 0 g [( )] TJ ET EMC Q q /GS369 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 499.20001221 m 416.75 499.20001221 l 416.75 514.79998779 l -1.45000005 514.79998779 l h f* Q q 1 0 0 1 0 499.20001221 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS370 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 514.79998779 m 416.75 514.79998779 l 416.75 546 l -1.45000005 546 l h f* Q q 1 0 0 1 0 514.79998779 cm /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS371 gs 0.10980392 0.12156863 0.12941177 rg [<00250025>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 21 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 26.25 20.17499924 Tm [(Netty)] TJ ET EMC /P <> BDC BT 1 0 0 -1 55.99100113 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 61.24100113 20.17499924 Tm [<001A007000710072>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 103.24099731 20.17499924 Tm /GS372 gs 0 g [( )] TJ ET EMC Q q /GS373 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 546 m 416.75 546 l 416.75 561.59997559 l -1.45000005 561.59997559 l h f* Q q /GS374 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 561.59997559 m 416.75 561.59997559 l 416.75 577.19995117 l -1.45000005 577.19995117 l h f* Q q /GS375 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 577.20001221 m 416.75 577.20001221 l 416.75 592.79998779 l -1.45000005 592.79998779 l h f* Q q 1 0 0 1 0 546 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS376 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.42500019 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 18.92499924 11.65499973 Tm [<021A021B021C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 50.42499924 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 60.92499924 11.65499973 Tm [<00D4013A0165021E00CE00A1003A0018010500EF00460022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 186.92500305 11.65499973 Tm [(CPU)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 205.30000305 11.65499973 Tm [<00A6009C009D0012014D00730024015C0193003B003C0018021B021C0084021F00870088001C0136>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<012D010400F300D4013A0165021E00CE002401D001D10065007501FC00820089002D002200A6009C009D002E00820089015C00AC021B021C00270050002901EE003C0055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 357 27.25500107 Tm [(User)] TJ ET EMC /P <> BDC BT 1 0 0 -1 378 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [(Space)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.25 42.85499954 Tm [<005D013601F600250024015C00EA01EE003C0055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 131.25 42.85499954 Tm [(Kernel)] TJ ET EMC /P <> BDC BT 1 0 0 -1 162.75 42.85499954 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 168 42.85499954 Tm [(Space)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 194.25 42.85499954 Tm [<005D004600E001EA002701D001D100180053008C001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 309.75 42.85499954 Tm /GS377 gs 0 g [( )] TJ ET EMC Q q /GS378 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 592.79998779 m 416.75 592.79998779 l 416.75 624 l -1.45000005 624 l h f* Q q 1 0 0 1 0 592.79998779 cm /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS379 gs 0.10980392 0.12156863 0.12941177 rg [(Netty)] TJ ET EMC /P <> BDC BT 1 0 0 -1 29.74099922 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 34.99100113 20.17499924 Tm [<007300740075004300440045>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 97.99099731 20.17499924 Tm /GS380 gs 0 g [( )] TJ ET EMC Q q /GS381 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 624 m 416.75 624 l 416.75 639.59997559 l -1.45000005 639.59997559 l h f* Q q /GS382 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 639.59997559 m 416.75 639.59997559 l 416.75 655.19995117 l -1.45000005 655.19995117 l h f* Q q /GS383 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 655.20001221 m 416.75 655.20001221 l 416.75 670.79998779 l -1.45000005 670.79998779 l h f* Q q /GS384 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 670.79998779 m 416.75 670.79998779 l 416.75 686.39996338 l -1.45000005 686.39996338 l h f* Q q 1 0 0 1 0 624 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS385 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(1.)] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 31.5 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 60.375 11.65499973 Tm [<001800250026005E007501FC>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 126 11.65499973 Tm [(ByteBuffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 181.125 11.65499973 Tm [<01910050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 204.75 11.65499973 Tm [(DIRECT)] TJ ET EMC /P <> BDC BT 1 0 0 -1 236.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 241.5 11.65499973 Tm [(BUFFERS)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 278.25 11.65499973 Tm [<002200CF00500220022101F60025015C019300A7009F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(Socket)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 34.125 27.25500107 Tm [<008A0207002200A6009C009D00A7009F016A0222019201FD01C1001802230206021B021C001C0069011D00CF005000E0008600180220015C01930055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 349.125 27.25500107 Tm [(HEAP)] TJ ET EMC /P <> BDC BT 1 0 0 -1 370.125 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [(BUFFERS)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 36.75 42.85499954 Tm [<005D00A7009F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 70.875 42.85499954 Tm [(Socket)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 105 42.85499954 Tm [<008A02070022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 136.5 42.85499954 Tm [(JVM)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 154.875 42.85499954 Tm [<0123002E0220015C0193>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 210 42.85499954 Tm [(Buffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 244.125 42.85499954 Tm [<021B021C006C0224002701F60025015C019300460022018F00B90225020701A4>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 58.45499802 Tm [(Socket)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 34.125 58.45499802 Tm [<0046001C00A800DA00DF0220022101F60025015C01930022008400850024007501FC010500EF0046017F001E006C0206019201FD01C10018015C0193021B021C001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 380.625 58.45499802 Tm /GS386 gs 0 g [( )] TJ ET EMC Q Q 1 0 0 -1 0 841.90002441 cm +endstream +endobj +351 0 obj +<> +endobj +352 0 obj +<> +endobj +353 0 obj +<> +endobj +354 0 obj +<> +endobj +355 0 obj +<> +endobj +356 0 obj +<> +endobj +357 0 obj +<> +endobj +358 0 obj +<> +endobj +359 0 obj +<> +endobj +360 0 obj +<> +endobj +361 0 obj +<> +endobj +362 0 obj +<> +endobj +363 0 obj +<> +endobj +364 0 obj +<> +endobj +365 0 obj +<> +endobj +366 0 obj +<> +endobj +367 0 obj +<> +endobj +368 0 obj +<> +endobj +369 0 obj +<> +endobj +370 0 obj +<> +endobj +371 0 obj +<> +endobj +372 0 obj +<> +endobj +373 0 obj +<> +endobj +374 0 obj +<> +endobj +375 0 obj +<> +endobj +376 0 obj +<> +endobj +377 0 obj +<> +endobj +378 0 obj +<> +endobj +379 0 obj +<> +endobj +380 0 obj +<> +endobj +381 0 obj +<> +endobj +382 0 obj +<> +endobj +383 0 obj +<> +endobj +384 0 obj +<> +endobj +385 0 obj +<> +endobj +386 0 obj +<> +endobj +387 0 obj +<> +endobj +388 0 obj +<> +endobj +389 0 obj +<> +endobj +390 0 obj +<> +endobj +391 0 obj +<> +endobj +392 0 obj +<> +endobj +393 0 obj +<> +endobj +394 0 obj +<> +endobj +395 0 obj +<> +endobj +396 0 obj +<> +endobj +397 0 obj +<> +endobj +398 0 obj +<> +endobj +399 0 obj +<> +endobj +400 0 obj +<> +endobj +401 0 obj +<> +endobj +402 0 obj +<> +endobj +403 0 obj +<> +endobj +404 0 obj +<> +endobj +405 0 obj +<> +endobj +406 0 obj +<> +endobj +407 0 obj +<> +endobj +408 0 obj +<> +endobj +409 0 obj +<> +endobj +410 0 obj +<> +endobj +411 0 obj +<> +endobj +412 0 obj +<> +endobj +413 0 obj +<> +endobj +414 0 obj +<> +endobj +415 0 obj +<> +endobj +416 0 obj +<> +endobj +417 0 obj +<> +endobj +418 0 obj +<> +endobj +419 0 obj +<> +endobj +420 0 obj +<> +endobj +421 0 obj +<> +endobj +422 0 obj +<> +endobj +423 0 obj +27223 +endobj +424 0 obj +<>/ExtGState<>>>/Group<>/StructParents 5/Tabs/S>> +endobj +425 0 obj +<>stream +1 0 0 -1 0 841.90002441 cm q 1 0 0 1 90 72 cm q 0.97254902 0.98039216 0.98823529 rg -1.45000005 0 m 416.75 0 l 416.75 15.60000038 l -1.45000005 15.60000038 l h f* Q q 0.97254902 0.98039216 0.98823529 rg -1.45000005 15.60000038 m 416.75 15.60000038 l 416.75 31.20000076 l -1.45000005 31.20000076 l h f* Q q 0.97254902 0.98039216 0.98823529 rg -1.45000005 31.20000076 m 416.75 31.20000076 l 416.75 46.80000305 l -1.45000005 46.80000305 l h f* Q /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.42500019 11.65499973 Tm [(2.)] TJ ET EMC /P <> BDC BT 1 0 0 -1 18.92499924 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 29.42499924 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 58.29999924 11.65499973 Tm [<007A007B001E00B60017>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 113.42500305 11.65499973 Tm [(Buffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 147.55000305 11.65499973 Tm [<002F00360022000E000F02260017017F009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 244.67500305 11.65499973 Tm [(ByteBuffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 299.79998779 11.65499973 Tm [<002F0036002200500029000E000F022700A1003A006C>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 13.125 27.25500107 Tm [(Buffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 47.25 27.25500107 Tm [<0121006D005300230018002F00B60017>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 133.875 27.25500107 Tm [(Buffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 168 27.25500107 Tm [<00A7009F00A1003A002202280229001E00E0008601040105015C0193021B021C00180053008C002E022A009A0200>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 42.85499954 Tm [(Buffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 34.125 42.85499954 Tm [<001700AB0038006C009A01AD0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 110.25 42.85499954 Tm [(Buffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 141.75 42.85499954 Tm [<001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 152.25 42.85499954 Tm /GS387 gs 0 g [( )] TJ ET EMC q /GS388 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 46.79999924 m 416.75 46.79999924 l 416.75 62.40000153 l -1.45000005 62.40000153 l h f* Q q 1 0 0 1 0 46.79999924 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS389 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(3.)] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 31.5 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 60.375 11.65499973 Tm [<00180082008900E001EA01910050001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 147 11.65499973 Tm [(transferTo)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 202.125 11.65499973 Tm [<005300540022012D000E000F01F60025002E00820089019201FD01C10018014D0073007501FC0027>] TJ ET EMC /P <> BDC BT /FAAEDA 10.5 Tf 1 0 0 -1 412.125 11.65499973 Tm /GS390 gs 0 g [( )] TJ ET EMC Q q 1 0 0 1 0 62.40000153 cm Q Q 1 0 0 -1 0 841.90002441 cm +endstream +endobj +426 0 obj +<> +endobj +427 0 obj +<> +endobj +428 0 obj +<> +endobj +429 0 obj +<>stream + POS/26`cmapu;<4cvt p5pfpgm\W, 0glyfBm\head'N~46hhea Dl$hmtx +~# loca.maxp*_ nameY!1*postH prepg"I$+33*${ MS @&   ( A APjsbym    + ? 6PQZ[\]`abdhijklmnhin`gnfh_acdfhjklmnoportuvvprstuvopqrsuwwxyz{|}{|}wyz|xz|}x}~~~hicjopqopqrflmpy|tuvwz{|}~x{vyz|}~stuwz} A^^wHfTn +\(h@Ztsrqponmlkjihgfedb_^]\[ZYXUTSRQPONMLKJIHGFEDCBA@?>=<;:98765/.-,(&%$#" + ,E#F` &`&#HH-,E#F#a &a&#HH-,E#F` a F`&#HH-,E#F#a ` &a a&#HH-,E#F`@a f`&#HH-,E#F#a@` &a@a&#HH-, <<-, E# D# ZQX# D#Y QX# MD#Y &QX# D#Y!!-, EhD ` EFvhE`D-, +C#Ce +-, + C#C -,(#p(>(#p(E: -, E%EadPQXED!!Y-, EC`D-,CCe +-, i@a ,b`+ d#da\XaY-,E+)#D)z-,Ee,#DE+#D-,KRXED!!Y-,%# `#-,%# a#-,%-, ` <<-, a <<-,CC -,!! d#d@b-,!QX d#d b@/+Y`-,!QX d#dUb/+Y`-, d#d@b`#!-,E#E`#E`#E`#vhb -,&&%%E#E &`bch &ae#DD-, ETX@D E@aD!!Y-,E0/E#Ea``iD-,KQX/#p#B!!Y-,KQX %EiSXD!!Y!!Y-,EC`c`iD-,/ED-,E# E`D-,E#E`D-,K#QX34 34YDD-,CX&EXdf`d `f X!@YaY#XeY)#D#)!!!!!Y-,CX%Ed `f X!@Ya#XeY)#D%% XY%% F%#B<%% F%`#B< XY%%)%%)%% XY%%CH%%`CH!Y!!!!!!!-,CX%Ed `f X!@Ya#XeY)#D%% XY%% F%#B<%%%% F%`#B< XY%%)) EeD%%)%% XY%%CH%%%%`CH!Y!!!!!!!-,% F%#B%%EH!!!!-,% %%CH!!!-,E# E P X#e#Y#h @PX!@Y#XeY`D-,KS#KQZX E`D!!Y-,KTX E`D!!Y-,KS#KQZX8!!Y-,!KTX8!!Y-,CTXF+!!!!Y-,CTXG+!!!Y-,CTXH+!!!!Y-,CTXI+!!!Y-,# Pd%TX@%TXCYO+Y#b+#!#XeY-, !T`C-,F#F`#Fa#  Fab@@pE`h:-, #Id#SX<!Y-,KRX}zY-,KKTB-,B#Q@SZX TXC`BY$QX @TXC`B$TX C`BKKRXC`BY@TXC`BY@cTXC`BY@cTXC`BY&QX@cTX@C`BY@cTXC`BY(QX@cTXC`BYYYYYYYCTX@ +@@ @  CTX@   CRX@ @CRX@ @CRX@ @@ YYY@U@cUZX  YYYBBBBB-,Eh#KQX# E d@PX|Yh`YD-,%%#>#> +#eB #B#?#? #eB#B-, b`#b-,%XY%%% TX!Y!%\%ZX +Y %J%G%G`%Gca%UX%%IcY%XY%%I %\ %ZX +Y%Fca% UXc!Ya# UXc!YY+%\XiY% H#:&XY&X%/Y#2!!-,% +%% %JSX% +% %%Y%% %c#%c` @cSX!&& +@ceQX&e&e +&&%% + .%% + .%%YY UX%%%% % % & TX!Y%%% %I#%% +% %Y QR#xa%%% +% %Iab%% +%#8%%%% +% %İ%% % %I%T#y!!!!!!!!!!!!-,#TX@@YTX@@Y[+-,TX@@Y [+-, TX@@Y[+-,&& && [+-,%c `f% b`#b-, EiD-,#JN+-,#JN+-,#J#Ed%d%adCRX! dYN+#PXeY-,#J#Ed%d%adCRX! dYN+#PXeY-, %JN+;-, %JN+;-,%%g+;-,%%h+;-,%F%F`%.%%& PX!jlY+%F%F`ab #:# #:-,%G%G`%Gca%%Ic#%Jc Xb!Y&F`FF` ca-,&%%&n+ #:# #:-,# TX!%N+P `Y `` QX!! QX! fa@#a%P%%PZX %aSX!Y!YTX fae#!!!YYYN+-,%%JSX#Y%F fa &&I&&p+#ae ` fa ae-,%F PX!N+E#!Yae%;-,& b c#a ]`+% 9X]&cV`+#!  F N+#a#! IN+Y;-,] %cV`+%%&m+]%`+%%%%o+]&cV`+ RXP+%%%%%q+8R%RZX%%I%%I` @RX!RX TX%%%%I8%%%%I8YYYYY!!!!!-,%PX@cT\KR[Y-,(QX@cT\Y-s9MN+X R:DD-C TC@ ?#5I-??/9//9/310@ l?5#l5l?I-@ l?@l?++/++9/+01Y!!#".5'&6332>54&#"#".5467>32#".54>32ZO~#?V3 -<%S[%<.(7B"KlE"Cl;\?$ +*;!IV  (D\M#~"&ܰ+X$ L# L& L L +@ L% L  L  L@(%@, M$#&% "# +   #### # RUU???99//]]99932310+]++++++++@$#& %l "# +  # # RUU???99//9993+2301Y%#".'!#"&&67>32#!u%% oj +#% ' *{= ;   {.2C_<|( 6  + #~:/6$-"$,Pvh*  + V * l$ ;  +P +e  6    $,  P  vh *  + V *   l$ 2016 Microsoft Corporation. All Rights Reserved. Hebrew OpenType Layout logic copyright 2003 & 2007, Ralph Hancock & John Hudson. This layout logic for Biblical Hebrew is open source software under the MIT License; see embedded license description for details.CalibriRegularMicrosoft: CalibriVersion 6.18Calibri is a trademark of the Microsoft group of companies.Luc(as) de GrootCalibri is a modern sans serif family with subtle roundings on stems and corners. It features real italics, small caps, and multiple numeral sets. Its proportions allow high impact in tightly set lines of big and small text alike. Calibri's many curves and the new rasteriser team up in bigger sizes to reveal a warm and soft character.http://www.microsoft.com/typography/ctfontshttp://lucasfonts.comMicrosoft supplied font. You may use this font to create, display, and print content as permitted by the license terms or terms of use, of the Microsoft product, service, or content in which this font was included. You may only (i) embed this font in content as permitted by the embedding restrictions included in this font; and (ii) temporarily download this font to a printer or other output device to help print content. Any other use is prohibited. The following license, based on the MIT license (http://en.wikipedia.org/wiki/MIT_License), applies to the OpenType Layout logic for Biblical Hebrew Layout Logic  as jointly developed by Ralph Hancock and John Hudson. Permission is hereby granted, free of charge, to any person obtaining a copy of the OpenType Layout logic for Biblical Hebrew and associated documentation files (the Layout Logic Software ), to deal in the Layout Logic Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Layout Logic Software, and to permit persons to whom the Layout Logic Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Layout Logic Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. http://www.microsoft.com/typography/fonts/default.aspx 2016 Microsoft Corporation. All Rights Reserved. Hebrew OpenType Layout logic copyright 2003 & 2007, Ralph Hancock & John Hudson. This layout logic for Biblical Hebrew is open source software under the MIT License; see embedded license description for details.CalibriRegularMicrosoft: Calibri: 2005Version 6.18Calibri is a trademark of the Microsoft group of companies.Luc(as) de GrootCalibri is a modern sans serif family with subtle roundings on stems and corners. It features real italics, small caps, and multiple numeral sets. Its proportions allow high impact in tightly set lines of big and small text alike. Calibri's many curves and the new rasteriser team up in bigger sizes to reveal a warm and soft character.http://www.microsoft.com/typography/ctfontshttp://lucasfonts.comMicrosoft supplied font. You may use this font to create, display, and print content as permitted by the license terms or terms of use, of the Microsoft product, service, or content in which this font was included. You may only (i) embed this font in content as permitted by the embedding restrictions included in this font; and (ii) temporarily download this font to a printer or other output device to help print content. Any other use is prohibited. The following license, based on the MIT license (http://en.wikipedia.org/wiki/MIT_License), applies to the OpenType Layout logic for Biblical Hebrew Layout Logic as jointly developed by Ralph Hancock and John Hudson. Permission is hereby granted, free of charge, to any person obtaining a copy of the OpenType Layout logic for Biblical Hebrew and associated documentation files (the Layout Logic Software), to deal in the Layout Logic Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Layout Logic Software, and to permit persons to whom the Layout Logic Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Layout Logic Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. http://www.microsoft.com/typography/fonts/default.aspx 2016 Microsoft Corporation. All Rights Reserved. +Hebrew OpenType Layout logic copyright 2003 & 2007, Ralph Hancock & John Hudson. This layout logic for Biblical Hebrew is open source software under the MIT License; see embedded license description for details.Microsoft supplied font. You may use this font to create, display, and print content as permitted by the license terms or terms of use, of the Microsoft product, service, or content in which this font was included. You may only (i) embed this font in content as permitted by the embedding restrictions included in this font; and (ii) temporarily download this font to a printer or other output device to help print content. Any other use is prohibited. + +The following license, based on the MIT license (http://en.wikipedia.org/wiki/MIT_License), applies to the OpenType Layout logic for Biblical Hebrew Layout Logic  as jointly developed by Ralph Hancock and John Hudson. + +Permission is hereby granted, free of charge, to any person obtaining a copy of the OpenType Layout logic for Biblical Hebrew and associated documentation files (the Layout Logic Software ), to deal in the Layout Logic Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Layout Logic Software, and to permit persons to whom the Layout Logic Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Layout Logic Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + AS888U8U8U8U8U8U8U8U4T4Tdk Ddt  J  J  J  J  J  J ~ J } J | J { J z J y J x J w J v J u J t J s J q J p J o J n J m J l J k J j J i J h J g J f J e J d J c J b J a J ` J _ J ^ J ] J \ J [ J Z J Y J X J W J V J U J T J S J R J Q J P J O J N J M J L J K J J J I J H J G J F J E J D J C J B J A J @ J ? J > J = J < J ; J : J 9 J 8 J 7 J 6 J 5 J 4 J 3 J 2 J 1 J 0 J / J . J - J , J + J * J ) J ( J ' J & J % J $ J # J " J ! J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  + J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J ߴ J ޴ J ݴ J ܴ J ۴ J ڴ J ٴ J ش J ״ J ִ J մ J Դ J Ӵ J Ҵ J Ѵ J д J ϴ J δ J ʹ J ̴ J ˴ J ʴ J ɴ J ȴ J Ǵ J ƴ J Ŵ J Ĵ J ô J ´ J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J ~ J } J | J { J z J y J x J w J v J u J t J s J r J q J p J o J n J m J l J k J j J i J h J g J f J e J d J c J b J a J ` J _ J ^ J ] J \ J [ J Z J Y J X J W J V J U J T J S J R J P J O J N J L J K J J J I J H J G J F J E J D J C J>>:>>~ }>|>{>z>yAxCwCvCuAtCsCrAqBpBoBnCmClCkEjEiEhEgEfDeEdEcEbEaE`E_E^D]E\E[EZEYEXEWEVEUETESEREQEPEOENEMELEKEJIIIHJGJFKELDLCLBKAI@I?J>J=J<K;K:L9L8L7L6L5I4I3J2J1J0K/K.L-L,L+L*L)L(L'I&I%J$J#J"K!K LLLLLLNNOONNOOONNOO O N N +N OOOPQQPQQQQPQQQPQQQQTSTTTSTTTSSTTTTSTSTTTS߲S޲TݲTܲT۲TڲSٲTزTײWֲVղVԲWӲWҲWѲWвVϲVβWͲW̲W˲WʲVɲVȲWDzWƲWŲWIJWòV²WWWVVWWWWWVWWWW?[[[[[[[[>??[[[[[[[[>??[[[[>[[[>??[[[[[?[[[[[abbffUE6~6}a|b{bzdyfxfwfvfuftfsErbqbpcodnfmflfkfjfibhbgafdeddfcfbfaf`f_f^U]E\E[6ZaYbXbWcVdUfTfSfRfQ@PUOVNM-L@K@JAI@H@GAF~EDCBFAF@F?F>D=F<Y;Y:[9[8G7X6Z5[4[3,2G1U0W/W.X-Y,Y+Z*Z)[(['[&[%V$V#W"X!Y ZZ[[[[[]^_____]^___ _ ] ^ +_ ___]^____@bbcdbbbcddddbbcddddbbcddddghhhhghhhghhhh k 1 k l & & l + + + k l m k l m j i h g & 1 1 1@ 1 1 1 q r s t t t q q r s t t t t y z | } ~ ~ ~ ~ ~ ~ - ~ ~ y ~ k y ~ ~ y z | } ~ ~ ~ ~ ~ ~ k - +N +O +g + +%88UUUU}U~}U } }}K}{}}}@ +|UzU{zUyUwUxwUf@d=d<d;d:d9d8d7d6d5d4d3d2d1d0d/d.d-d,d+d*d)d(d'd&d%d$d#d"d!d ddddddddddddddddddd d d d +d dddddAddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddAdddddd~d}d|d{dzdydxdwdvdudtdsdrdqdpdodndmdldkdjdidhdgdfdedddcdbdad`d_d^d]d\d[dZdYdXdWdVdUdTdSdRdPdOdNdLdKdJdIdHdGdFdEdDdCd+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Y+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++sssssst++++++++++_^ +endstream +endobj +430 0 obj +<> +endobj +431 0 obj +<> +endobj +432 0 obj +<> +endobj +433 0 obj +3706 +endobj +434 0 obj +<>/K[435 0 R]>> +endobj +435 0 obj +<> +endobj +436 0 obj +<><><><><><><><>]>> +endobj +437 0 obj +<><><><><><><><><><><><><><><><>]>> +endobj +438 0 obj +<><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +439 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +440 0 obj +<><><><>]>> +endobj +441 0 obj +<><><><>]>> +endobj +442 0 obj +<><><><><><>]>> +endobj +443 0 obj +<>]>> +endobj +444 0 obj +<><><><><><>]>> +endobj +445 0 obj +<><><><><><><><><><><><><><><>]>> +endobj +446 0 obj +<><><><><><><><><><><><><><><><><><><><><>]>> +endobj +447 0 obj +<><><><>]>> +endobj +448 0 obj +<><><><>]>> +endobj +449 0 obj +<><><><><><><>]>> +endobj +450 0 obj +<><><><><><><>]>> +endobj +451 0 obj +<><><><><><>]>> +endobj +452 0 obj +<><><><><><><><><><><>]>> +endobj +453 0 obj +<><><><><><><>]>> +endobj +454 0 obj +<>]>> +endobj +455 0 obj +<><><><><><>]>> +endobj +456 0 obj +<><><><><><><><><><><><><><><><>]>> +endobj +457 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +458 0 obj +<><><><><><><><><><><><><><><><><><><><>]>> +endobj +459 0 obj +<>]>> +endobj +460 0 obj +<>]>> +endobj +461 0 obj +<><><><><><>]>> +endobj +462 0 obj +<><><><><><><>]>> +endobj +463 0 obj +<><><><><><><><><><>]>> +endobj +464 0 obj +<>]>> +endobj +465 0 obj +<><><><><><>]>> +endobj +466 0 obj +<><><><><><><><><><><><><><><><><><><><><>]>> +endobj +467 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +468 0 obj +<><><><><><><><>]>> +endobj +469 0 obj +<><><><><><><><><><><><><>]>> +endobj +470 0 obj +<>]>> +endobj +471 0 obj +<><><><>]>> +endobj +472 0 obj +<><><><><>]>> +endobj +473 0 obj +<><><><><><>]>> +endobj +474 0 obj +<><><><><>]>> +endobj +475 0 obj +<><><><><><><><><>]>> +endobj +476 0 obj +<>]>> +endobj +477 0 obj +<><><><>]>> +endobj +478 0 obj +<><><><><><><><>]>> +endobj +479 0 obj +<><><><><><><><><><><><><>]>> +endobj +480 0 obj +<><><><><><><>]>> +endobj +481 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +482 0 obj +<><><><><>]>> +endobj +483 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +484 0 obj +<><><><><>]>> +endobj +485 0 obj +<><><><><><><><><><><>]>> +endobj +486 0 obj +<>]>> +endobj +487 0 obj +<><>]>> +endobj +488 0 obj +<><><><><><><><>]>> +endobj +489 0 obj +<><><><>]>> +endobj +490 0 obj +<><><><><><><><><><><>]>> +endobj +491 0 obj +<><><><>]>> +endobj +492 0 obj +<><><><>]>> +endobj +493 0 obj +<>]>> +endobj +494 0 obj +<><><><><><>]>> +endobj +495 0 obj +<><><><><><><><><><><><>]>> +endobj +496 0 obj +<><><><><><><><>]>> +endobj +497 0 obj +<><><><><><>]>> +endobj +498 0 obj +<><><><><><>]>> +endobj +499 0 obj +<><><><><><><><><><><><>]>> +endobj +500 0 obj +<><><><><>]>> +endobj +501 0 obj +<>]>> +endobj +502 0 obj +<><><><><><>]>> +endobj +503 0 obj +<><><><><><><><><><><><><><><><><><><><><>]>> +endobj +504 0 obj +<><><><><><><><><><><><><><><>]>> +endobj +505 0 obj +<><><><><><><><><><><><><><>]>> +endobj +506 0 obj +<><><><><><><><><><><><><><><><><><><>]>> +endobj +507 0 obj +<><><><><><><><>]>> +endobj +508 0 obj +<>]>> +endobj +509 0 obj +<>]>> +endobj +510 0 obj +<><><><>]>> +endobj +511 0 obj +<><><><><><><><><><><><><><>]>> +endobj +512 0 obj +<>]>> +endobj +513 0 obj +<><><><>]>> +endobj +514 0 obj +<><><><><><><><><><>]>> +endobj +515 0 obj +<><><><><><><><><><>]>> +endobj +516 0 obj +<><><><><><><><><><><><><><>]>> +endobj +517 0 obj +<><><><><><><><><>]>> +endobj +518 0 obj +<><><><><><><><><><><><><><><>]>> +endobj +519 0 obj +<><><><><><><><><><><><>]>> +endobj +520 0 obj +<><><><><><><>]>> +endobj +521 0 obj +<>]>> +endobj +522 0 obj +<><>]>> +endobj +523 0 obj +<><><><>]>> +endobj +524 0 obj +<><><><><><><>]>> +endobj +525 0 obj +<><><><><><>]>> +endobj +526 0 obj +<><><><><><><><><><>]>> +endobj +527 0 obj +<><><><><><><><><><>]>> +endobj +528 0 obj +<><><><><><><><><><><><><><><><><><>]>> +endobj +529 0 obj +<><><><><><><><><>]>> +endobj +530 0 obj +<><><><><><><><>]>> +endobj +531 0 obj +<><><><><><><><><><>]>> +endobj +532 0 obj +<>]>> +endobj +533 0 obj +<><><><><>]>> +endobj +534 0 obj +<><><><><><><><><><><><>]>> +endobj +535 0 obj +<><><><><><><><>]>> +endobj +536 0 obj +<><><><><><><>]>> +endobj +537 0 obj +<>]>> +endobj +538 0 obj +<>]>> +endobj +539 0 obj +<>]>> +endobj +540 0 obj +<><><><><><><><><><><><><><><><>]>> +endobj +541 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +542 0 obj +<>]>> +endobj +543 0 obj +<><><><><><><>]>> +endobj +544 0 obj +<><><><><><><>]>> +endobj +545 0 obj +<><><><><><><><><>]>> +endobj +546 0 obj +<><><><><><><><><><>]>> +endobj +547 0 obj +<><><><><>]>> +endobj +548 0 obj +<>]>> +endobj +549 0 obj +<><><><><>]>> +endobj +550 0 obj +<><><><><><>]>> +endobj +551 0 obj +<><><><><><><><>]>> +endobj +552 0 obj +<><><><><><>]>> +endobj +553 0 obj +<>]>> +endobj +554 0 obj +<><><><>]>> +endobj +555 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +556 0 obj +<>]>> +endobj +557 0 obj +<><><><><><>]>> +endobj +558 0 obj +<><><><><><><><><><><><><><><><><><>]>> +endobj +559 0 obj +<><><><>]>> +endobj +560 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +561 0 obj +<><><><><><><><><><><><><><><><><><><><>]>> +endobj +562 0 obj +<><><><><><><><><>]>> +endobj +563 0 obj +<> +endobj +564 0 obj +<> +endobj +565 0 obj +1996 +endobj +566 0 obj +8114 +endobj +567 0 obj +28164 +endobj +568 0 obj +28164 +endobj +569 0 obj +54484 +endobj +570 0 obj +54484 +endobj +571 0 obj +8652 +endobj +572 0 obj +8652 +endobj +573 0 obj +168216 +endobj +574 0 obj +168216 +endobj +575 0 obj +<>stream + + + + + + + +endstream +endobj +xref +0 576 +0000000000 65535 f +0000000018 00000 n +0000000192 00000 n +0000000315 00000 n +0000000407 00000 n +0000001638 00000 n +0000033233 00000 n +0000087786 00000 n +0000088201 00000 n +0000088399 00000 n +0000088541 00000 n +0000088997 00000 n +0000089196 00000 n +0000091245 00000 n +0000091292 00000 n +0000091339 00000 n +0000091386 00000 n +0000259673 00000 n +0000260209 00000 n +0000260388 00000 n +0000260435 00000 n +0000260565 00000 n +0000261267 00000 n +0000261446 00000 n +0000269613 00000 n +0000269660 00000 n +0000269707 00000 n +0000269754 00000 n +0000269801 00000 n +0000269848 00000 n +0000269895 00000 n +0000269942 00000 n +0000269989 00000 n +0000270036 00000 n +0000270083 00000 n +0000270130 00000 n +0000270177 00000 n +0000270224 00000 n +0000270271 00000 n +0000270318 00000 n +0000270365 00000 n +0000270412 00000 n +0000270459 00000 n +0000270506 00000 n +0000270553 00000 n +0000270600 00000 n +0000270647 00000 n +0000270694 00000 n +0000270741 00000 n +0000270788 00000 n +0000270835 00000 n +0000270882 00000 n +0000270929 00000 n +0000270976 00000 n +0000271023 00000 n +0000271070 00000 n +0000271117 00000 n +0000271164 00000 n +0000271211 00000 n +0000271258 00000 n +0000271305 00000 n +0000271352 00000 n +0000271399 00000 n +0000271446 00000 n +0000271493 00000 n +0000271540 00000 n +0000271587 00000 n +0000271634 00000 n +0000271681 00000 n +0000271728 00000 n +0000271775 00000 n +0000271822 00000 n +0000271869 00000 n +0000271916 00000 n +0000271963 00000 n +0000272010 00000 n +0000272057 00000 n +0000272104 00000 n +0000272151 00000 n +0000272198 00000 n +0000272245 00000 n +0000272292 00000 n +0000272833 00000 n +0000273017 00000 n +0000273064 00000 n +0000273111 00000 n +0000273158 00000 n +0000273205 00000 n +0000273252 00000 n +0000273299 00000 n +0000273346 00000 n +0000273393 00000 n +0000273440 00000 n +0000273487 00000 n +0000273534 00000 n +0000273581 00000 n +0000273628 00000 n +0000273675 00000 n +0000273722 00000 n +0000273769 00000 n +0000273816 00000 n +0000282538 00000 n +0000282893 00000 n +0000283086 00000 n +0000283134 00000 n +0000283158 00000 n +0000284385 00000 n +0000310153 00000 n +0000310201 00000 n +0000310249 00000 n +0000310297 00000 n +0000310345 00000 n +0000310393 00000 n +0000310441 00000 n +0000310489 00000 n +0000310537 00000 n +0000310585 00000 n +0000310633 00000 n +0000310681 00000 n +0000310729 00000 n +0000310777 00000 n +0000310825 00000 n +0000310873 00000 n +0000310921 00000 n +0000310969 00000 n +0000311017 00000 n +0000311065 00000 n +0000311113 00000 n +0000311161 00000 n +0000311209 00000 n +0000311257 00000 n +0000311305 00000 n +0000311353 00000 n +0000311401 00000 n +0000311449 00000 n +0000311497 00000 n +0000311545 00000 n +0000311593 00000 n +0000311641 00000 n +0000311689 00000 n +0000311737 00000 n +0000311785 00000 n +0000311833 00000 n +0000311881 00000 n +0000311929 00000 n +0000311977 00000 n +0000312025 00000 n +0000312073 00000 n +0000312121 00000 n +0000312169 00000 n +0000312217 00000 n +0000312265 00000 n +0000312313 00000 n +0000312361 00000 n +0000312409 00000 n +0000312457 00000 n +0000312505 00000 n +0000312553 00000 n +0000312601 00000 n +0000312649 00000 n +0000312697 00000 n +0000312745 00000 n +0000312793 00000 n +0000312841 00000 n +0000312889 00000 n +0000312937 00000 n +0000312985 00000 n +0000313033 00000 n +0000313081 00000 n +0000313129 00000 n +0000313177 00000 n +0000313225 00000 n +0000313273 00000 n +0000313321 00000 n +0000313369 00000 n +0000313417 00000 n +0000313465 00000 n +0000313489 00000 n +0000314946 00000 n +0000344766 00000 n +0000344814 00000 n +0000344862 00000 n +0000344910 00000 n +0000344958 00000 n +0000345006 00000 n +0000345054 00000 n +0000345102 00000 n +0000345150 00000 n +0000345198 00000 n +0000345246 00000 n +0000345294 00000 n +0000345342 00000 n +0000345390 00000 n +0000345438 00000 n +0000345486 00000 n +0000345534 00000 n +0000345582 00000 n +0000345630 00000 n +0000345678 00000 n +0000345726 00000 n +0000345774 00000 n +0000345822 00000 n +0000345870 00000 n +0000345918 00000 n +0000345966 00000 n +0000346014 00000 n +0000346062 00000 n +0000346110 00000 n +0000346158 00000 n +0000346206 00000 n +0000346254 00000 n +0000346302 00000 n +0000346350 00000 n +0000346398 00000 n +0000346446 00000 n +0000346494 00000 n +0000346542 00000 n +0000346590 00000 n +0000346638 00000 n +0000346686 00000 n +0000346734 00000 n +0000346782 00000 n +0000346830 00000 n +0000346878 00000 n +0000346926 00000 n +0000346974 00000 n +0000347022 00000 n +0000347070 00000 n +0000347118 00000 n +0000347166 00000 n +0000347214 00000 n +0000347262 00000 n +0000347310 00000 n +0000347358 00000 n +0000347406 00000 n +0000347454 00000 n +0000347502 00000 n +0000347550 00000 n +0000347598 00000 n +0000347646 00000 n +0000347694 00000 n +0000347742 00000 n +0000347790 00000 n +0000347838 00000 n +0000347886 00000 n +0000347934 00000 n +0000347982 00000 n +0000348030 00000 n +0000348078 00000 n +0000348126 00000 n +0000348174 00000 n +0000348222 00000 n +0000348270 00000 n +0000348318 00000 n +0000348366 00000 n +0000348414 00000 n +0000348462 00000 n +0000348510 00000 n +0000348558 00000 n +0000348606 00000 n +0000348654 00000 n +0000348702 00000 n +0000348750 00000 n +0000348798 00000 n +0000348822 00000 n +0000350251 00000 n +0000378996 00000 n +0000379044 00000 n +0000379092 00000 n +0000379140 00000 n +0000379188 00000 n +0000379236 00000 n +0000379284 00000 n +0000379332 00000 n +0000379380 00000 n +0000379428 00000 n +0000379476 00000 n +0000379524 00000 n +0000379572 00000 n +0000379620 00000 n +0000379668 00000 n +0000379716 00000 n +0000379764 00000 n +0000379812 00000 n +0000379860 00000 n +0000379908 00000 n +0000379956 00000 n +0000380004 00000 n +0000380052 00000 n +0000380100 00000 n +0000380148 00000 n +0000380196 00000 n +0000380244 00000 n +0000380292 00000 n +0000380340 00000 n +0000380388 00000 n +0000380436 00000 n +0000380484 00000 n +0000380532 00000 n +0000380580 00000 n +0000380628 00000 n +0000380676 00000 n +0000380724 00000 n +0000380772 00000 n +0000380820 00000 n +0000380868 00000 n +0000380916 00000 n +0000380964 00000 n +0000381012 00000 n +0000381060 00000 n +0000381108 00000 n +0000381156 00000 n +0000381204 00000 n +0000381252 00000 n +0000381300 00000 n +0000381348 00000 n +0000381396 00000 n +0000381444 00000 n +0000381492 00000 n +0000381540 00000 n +0000381588 00000 n +0000381636 00000 n +0000381684 00000 n +0000381732 00000 n +0000381780 00000 n +0000381828 00000 n +0000381876 00000 n +0000381924 00000 n +0000381972 00000 n +0000382020 00000 n +0000382068 00000 n +0000382116 00000 n +0000382164 00000 n +0000382212 00000 n +0000382260 00000 n +0000382308 00000 n +0000382356 00000 n +0000382404 00000 n +0000382452 00000 n +0000382500 00000 n +0000382548 00000 n +0000382596 00000 n +0000382644 00000 n +0000382692 00000 n +0000382740 00000 n +0000382788 00000 n +0000382836 00000 n +0000382884 00000 n +0000382932 00000 n +0000382956 00000 n +0000384230 00000 n +0000411508 00000 n +0000411556 00000 n +0000411604 00000 n +0000411652 00000 n +0000411700 00000 n +0000411748 00000 n +0000411796 00000 n +0000411844 00000 n +0000411892 00000 n +0000411940 00000 n +0000411988 00000 n +0000412036 00000 n +0000412084 00000 n +0000412132 00000 n +0000412180 00000 n +0000412228 00000 n +0000412276 00000 n +0000412324 00000 n +0000412372 00000 n +0000412420 00000 n +0000412468 00000 n +0000412516 00000 n +0000412564 00000 n +0000412612 00000 n +0000412660 00000 n +0000412708 00000 n +0000412756 00000 n +0000412804 00000 n +0000412852 00000 n +0000412900 00000 n +0000412948 00000 n +0000412996 00000 n +0000413044 00000 n +0000413092 00000 n +0000413140 00000 n +0000413188 00000 n +0000413236 00000 n +0000413284 00000 n +0000413332 00000 n +0000413380 00000 n +0000413428 00000 n +0000413476 00000 n +0000413524 00000 n +0000413572 00000 n +0000413620 00000 n +0000413668 00000 n +0000413716 00000 n +0000413764 00000 n +0000413812 00000 n +0000413860 00000 n +0000413908 00000 n +0000413956 00000 n +0000414004 00000 n +0000414052 00000 n +0000414100 00000 n +0000414148 00000 n +0000414196 00000 n +0000414244 00000 n +0000414292 00000 n +0000414340 00000 n +0000414388 00000 n +0000414436 00000 n +0000414484 00000 n +0000414532 00000 n +0000414580 00000 n +0000414628 00000 n +0000414676 00000 n +0000414724 00000 n +0000414772 00000 n +0000414820 00000 n +0000414868 00000 n +0000414916 00000 n +0000414964 00000 n +0000414988 00000 n +0000415299 00000 n +0000419059 00000 n +0000419107 00000 n +0000419155 00000 n +0000419203 00000 n +0000447438 00000 n +0000447665 00000 n +0000447850 00000 n +0000447898 00000 n +0000447921 00000 n +0000448069 00000 n +0000449152 00000 n +0000449442 00000 n +0000449977 00000 n +0000450724 00000 n +0000451501 00000 n +0000451678 00000 n +0000451855 00000 n +0000452092 00000 n +0000452179 00000 n +0000452417 00000 n +0000452931 00000 n +0000453639 00000 n +0000453820 00000 n +0000454001 00000 n +0000454275 00000 n +0000454549 00000 n +0000454792 00000 n +0000455190 00000 n +0000455464 00000 n +0000455552 00000 n +0000455795 00000 n +0000456348 00000 n +0000457180 00000 n +0000457857 00000 n +0000457946 00000 n +0000458035 00000 n +0000458279 00000 n +0000458556 00000 n +0000458933 00000 n +0000459023 00000 n +0000459273 00000 n +0000460002 00000 n +0000460891 00000 n +0000461205 00000 n +0000461678 00000 n +0000461768 00000 n +0000461957 00000 n +0000462179 00000 n +0000462434 00000 n +0000462656 00000 n +0000463010 00000 n +0000463101 00000 n +0000463291 00000 n +0000463612 00000 n +0000464098 00000 n +0000464386 00000 n +0000465289 00000 n +0000465502 00000 n +0000466391 00000 n +0000466608 00000 n +0000467017 00000 n +0000467107 00000 n +0000467229 00000 n +0000467542 00000 n +0000467727 00000 n +0000468136 00000 n +0000468321 00000 n +0000468506 00000 n +0000468596 00000 n +0000468846 00000 n +0000469293 00000 n +0000469614 00000 n +0000469869 00000 n +0000470124 00000 n +0000470577 00000 n +0000470799 00000 n +0000470890 00000 n +0000471146 00000 n +0000471896 00000 n +0000472448 00000 n +0000472967 00000 n +0000473651 00000 n +0000473972 00000 n +0000474063 00000 n +0000474154 00000 n +0000474336 00000 n +0000474835 00000 n +0000474925 00000 n +0000475111 00000 n +0000475488 00000 n +0000475865 00000 n +0000476370 00000 n +0000476715 00000 n +0000477252 00000 n +0000477693 00000 n +0000477974 00000 n +0000478064 00000 n +0000478187 00000 n +0000478377 00000 n +0000478665 00000 n +0000478920 00000 n +0000479307 00000 n +0000479694 00000 n +0000480345 00000 n +0000480699 00000 n +0000481020 00000 n +0000481407 00000 n +0000481497 00000 n +0000481720 00000 n +0000482173 00000 n +0000482494 00000 n +0000482782 00000 n +0000482873 00000 n +0000482962 00000 n +0000483051 00000 n +0000483613 00000 n +0000484438 00000 n +0000484528 00000 n +0000484810 00000 n +0000485091 00000 n +0000485436 00000 n +0000485813 00000 n +0000486030 00000 n +0000486120 00000 n +0000486338 00000 n +0000486587 00000 n +0000486901 00000 n +0000487156 00000 n +0000487247 00000 n +0000487437 00000 n +0000488451 00000 n +0000488541 00000 n +0000488797 00000 n +0000489448 00000 n +0000489638 00000 n +0000490586 00000 n +0000491273 00000 n +0000491618 00000 n +0000491671 00000 n +0000500505 00000 n +0000500528 00000 n +0000500551 00000 n +0000500575 00000 n +0000500599 00000 n +0000500623 00000 n +0000500647 00000 n +0000500670 00000 n +0000500693 00000 n +0000500718 00000 n +0000500743 00000 n +trailer +<<42302D44392D41412D31322D39442D43>]/Size 576>> +startxref +501059 +%%EOF diff --git a/logseq-java/assets/北京-百度-Java中级_1650621203546_0.pdf b/logseq-java/assets/北京-百度-Java中级_1650621203546_0.pdf new file mode 100644 index 0000000..a791e73 --- /dev/null +++ b/logseq-java/assets/北京-百度-Java中级_1650621203546_0.pdf @@ -0,0 +1,5994 @@ +%PDF-1.5 % 1 0 obj +<> +endobj +2 0 obj +<>/Metadata 575 0 R>> +endobj +3 0 obj +<> +endobj +4 0 obj +<>/ExtGState<>>>/Group<>/StructParents 0/Tabs/S>> +endobj +5 0 obj +<>stream +1 0 0 -1 0 841.90002441 cm q 1 0 0 1 90 72 cm q 0.97254902 0.98039216 0.98823529 rg -1.45000005 0 m 416.75 0 l 416.75 31.20000076 l -1.45000005 31.20000076 l h f* Q /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm 0.10980392 0.12156863 0.12941177 rg [(Bea)1(nFactory)] TJ ET EMC /P <> BDC BT 1 0 0 -1 65.23500061 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 70.48500061 20.17499924 Tm [<000D>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 80.98500061 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 86.23500061 20.17499924 Tm [(Applic)1(ationCo)-1(ntext)] TJ ET EMC /P <> BDC BT 1 0 0 -1 188.70199585 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 193.95199585 20.17499924 Tm [<00130014001500160017>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 246.45199585 20.17499924 Tm /GS1 gs 0 g [( )] TJ ET EMC q /GS2 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 31.20000076 m 416.75 31.20000076 l 416.75 46.80000305 l -1.45000005 46.80000305 l h f* Q q /GS3 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 46.79999924 m 416.75 46.79999924 l 416.75 62.40000153 l -1.45000005 62.40000153 l h f* Q q 1 0 0 1 0 31.20000076 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS4 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.93400002 11.65499973 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT 1 0 0 -1 66.68399811 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 70.36799622 11.65499973 Tm [<000E000F00100011001200130014>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 146.49299622 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 170.11799622 11.65499973 Tm [<0016001700180019001A001B001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 243.61799622 11.65499973 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT 1 0 0 -1 301.36801147 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 305.05200195 11.65499973 Tm [<001D0013001E001F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 349.67700195 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 373.30200195 11.65499973 Tm [<0018002000210022>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<000F0023002400250026002700280029002A002B002C002D002E002F00300018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 170.625 27.25500107 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 194.25 27.25500107 Tm [<003100320033001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 236.25 27.25500107 Tm /GS5 gs 0 g [( )] TJ ET EMC Q q /GS6 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 62.40000153 m 416.75 62.40000153 l 416.75 78 l -1.45000005 78 l h f* Q q /GS7 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 78 m 416.75 78 l 416.75 93.59999847 l -1.45000005 93.59999847 l h f* Q q /GS8 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 93.59999847 m 416.75 93.59999847 l 416.75 109.19999695 l -1.45000005 109.19999695 l h f* Q q 1 0 0 1 0 62.40000153 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS9 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.42500019 11.65499973 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 68.80000305 11.65499973 Tm [<003400350024003100320033002F00360018002D003700380039003A001B003B003C0018003D003E001C003F0040002E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 323.42498779 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 347.04998779 11.65499973 Tm [<004100420043>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 381.17498779 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 404.79998779 11.65499973 Tm [<0028>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<0029002A00180044004500460011004700480049001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 115.5 27.25500107 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 175.875 27.25500107 Tm [<0034001D0013001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 220.5 27.25500107 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 244.125 27.25500107 Tm [<0037004A004B004C0018004D004E0022004F005000280029002A001800510052>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<0033005300540055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 42 42.85499954 Tm [(initialization)] TJ ET EMC /P <> BDC BT 1 0 0 -1 115.5 42.85499954 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 120.75 42.85499954 Tm [(methods)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 157.5 42.85499954 Tm [<005D005E005F0060005300540055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 231 42.85499954 Tm [(destruction)] TJ ET EMC /P <> BDC BT 1 0 0 -1 288.75 42.85499954 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 294 42.85499954 Tm [(methods)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 330.75 42.85499954 Tm [<005D001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 351.75 42.85499954 Tm /GS10 gs 0 g [( )] TJ ET EMC Q q /GS11 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 109.19999695 m 416.75 109.19999695 l 416.75 124.79999542 l -1.45000005 124.79999542 l h f* Q q /GS12 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 124.80000305 m 416.75 124.80000305 l 416.75 140.40000916 l -1.45000005 140.40000916 l h f* Q q /GS13 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 140.3999939 m 416.75 140.3999939 l 416.75 156 l -1.45000005 156 l h f* Q q 1 0 0 1 0 109.19999695 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS14 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 8.93400002 11.65499973 Tm [<006200630064006500660022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 71.93399811 11.65499973 Tm [(application)] TJ ET EMC /P <> BDC BT 1 0 0 -1 129.68400574 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 133.36799622 11.65499973 Tm [(context)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 172.74299622 11.65499973 Tm [<0069006A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 196.36799622 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT 1 0 0 -1 217.36799622 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 221.05200195 11.65499973 Tm [(factory)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 260.42700195 11.65499973 Tm [<006C006D006E0014>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 305.05200195 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 328.67700195 11.65499973 Tm [<00200021006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 360.17700195 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 383.80200195 11.65499973 Tm [<003D0070003D>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<003E001800710045002200720073002B002C00740075>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 118.125 27.25500107 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 141.75 27.25500107 Tm [<001800760035001C0077>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 196.875 27.25500107 Tm [(application)] TJ ET EMC /P <> BDC BT 1 0 0 -1 254.625 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 259.875 27.25500107 Tm [(context)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 299.25 27.25500107 Tm [<0024003F0078007900650034007A007B001E007C007D>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<001800760035001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 42 42.85499954 Tm /GS15 gs 0 g [( )] TJ ET EMC Q q /GS16 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 156 m 416.75 156 l 416.75 171.6000061 l -1.45000005 171.6000061 l h f* Q q 1 0 0 1 0 156 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS17 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<007A007B001E007E007F00800081003300180082008300840085>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 147 11.65499973 Tm /GS18 gs 0 g [( )] TJ ET EMC Q q /GS19 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 171.6000061 m 416.75 171.6000061 l 416.75 187.20001221 l -1.45000005 187.20001221 l h f* Q q 1 0 0 1 0 171.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS20 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<0086006C00180087008800820089008A008B0053008C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 126 11.65499973 Tm /GS21 gs 0 g [( )] TJ ET EMC Q q /GS22 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 187.19999695 m 416.75 187.19999695 l 416.75 202.80000305 l -1.45000005 202.80000305 l h f* Q q 1 0 0 1 0 187.19999695 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS23 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<008D0024008E008F00900046009100920018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 107.625 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 131.25 11.65499973 Tm [<001800930089>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 162.75 11.65499973 Tm /GS24 gs 0 g [( )] TJ ET EMC Q q /GS25 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 202.80000305 m 416.75 202.80000305 l 416.75 218.40000916 l -1.45000005 218.40000916 l h f* Q q 1 0 0 1 0 202.80000305 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS26 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 218.3999939 m 416.75 218.3999939 l 416.75 249.59999084 l -1.45000005 249.59999084 l h f* Q q 1 0 0 1 0 218.3999939 cm /P <> BDC BT 1 0 0 -1 0 20.17499924 Tm /GS27 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 37.77500153 20.17499924 Tm [(Bea)1(n)] TJ ET EMC /P <> BDC BT 1 0 0 -1 63.93299866 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 69.18299866 20.17499924 Tm [<001A001B001C001D001E>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 121.68299866 20.17499924 Tm /GS28 gs 0 g [( )] TJ ET EMC Q q /GS29 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 249.6000061 m 416.75 249.6000061 l 416.75 265.20001221 l -1.45000005 265.20001221 l h f* Q q /GS30 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 265.20001221 m 416.75 265.20001221 l 416.75 280.80001831 l -1.45000005 280.80001831 l h f* Q q /GS31 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 280.79998779 m 416.75 280.79998779 l 416.75 296.3999939 l -1.45000005 296.3999939 l h f* Q q 1 0 0 1 0 249.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS32 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 42 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 47.25 11.65499973 Tm [(Bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 70.875 11.65499973 Tm [<00180037004A004B004C0096009700980099001C0024006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 210 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 233.625 11.65499973 Tm [<00310032009B005100520033002D0022009C009D009E009F006C003E00A000180051>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<0052003300A1003A000F00A20027000E0050001800A300A4001C006A006D0018002200A5006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 212.625 27.25500107 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 236.25 27.25500107 Tm [<00A60024009B004F0050002D009C009D00A7009F00A8003D001800A900AA00A1>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<003A002200AB0062>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 44.625 42.85499954 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 68.25 42.85499954 Tm [<00AC0090004600AD00AE001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 131.25 42.85499954 Tm /GS33 gs 0 g [( )] TJ ET EMC Q q /GS34 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 296.3999939 m 416.75 296.3999939 l 416.75 312 l -1.45000005 312 l h f* Q q /GS35 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 312 m 416.75 312 l 416.75 327.6000061 l -1.45000005 327.6000061 l h f* Q q 1 0 0 1 0 296.3999939 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS36 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.66899967 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 40.16899872 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 43.58800125 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT 1 0 0 -1 64.58799744 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 68.00700378 11.65499973 Tm [(factory)] TJ ET EMC /P <> BDC BT 1 0 0 -1 104.75700378 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 108.1760025 11.65499973 Tm [<00AF00B000B100100024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 163.30099487 11.65499973 Tm [(spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 197.42599487 11.65499973 Tm [<00AC00900046009B00B200B30018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 273.55099487 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 297.17599487 11.65499973 Tm [<00180037004A004B004C001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 360.17599487 11.65499973 Tm [(Bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 383.80099487 11.65499973 Tm [<00180037004A>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<004B004C00B400B500B600B7004F0055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 84 27.25500107 Tm [(call)] TJ ET EMC /P <> BDC BT 1 0 0 -1 105 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 110.25 27.25500107 Tm [(back)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 131.25 27.25500107 Tm [<005D0053005400B60038001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 194.25 27.25500107 Tm /GS37 gs 0 g [( )] TJ ET EMC Q q /GS38 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 327.6000061 m 416.75 327.6000061 l 416.75 343.20001221 l -1.45000005 343.20001221 l h f* Q q 1 0 0 1 0 327.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS39 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<005100520033003B00B9004F0050001800B7004F00530054001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 147 11.65499973 Tm /GS40 gs 0 g [( )] TJ ET EMC Q q /GS41 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 343.20001221 m 416.75 343.20001221 l 416.75 358.80001831 l -1.45000005 358.80001831 l h f* Q q 1 0 0 1 0 343.20001221 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS42 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<005F0060003B00BA004F0050001800B7004F00530054001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 136.5 11.65499973 Tm /GS43 gs 0 g [( )] TJ ET EMC Q q /GS44 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 358.79998779 m 416.75 358.79998779 l 416.75 374.3999939 l -1.45000005 374.3999939 l h f* Q q 1 0 0 1 0 358.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS45 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 44.625 11.65499973 Tm [<00BB00BC007A007B001E000F00BD00BE001F0053008C004900B10010>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 194.25 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 217.875 11.65499973 Tm [<00180037004A004B004C0093008900BF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 301.875 11.65499973 Tm /GS46 gs 0 g [( )] TJ ET EMC Q q /GS47 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 374.3999939 m 416.75 374.3999939 l 416.75 390 l -1.45000005 390 l h f* Q q 1 0 0 1 0 374.3999939 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS48 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(InitializingBean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 97.125 11.65499973 Tm [<005E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 110.25 11.65499973 Tm [(DisposableBean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 186.375 11.65499973 Tm [<00B7004F002500C2>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 228.375 11.65499973 Tm /GS49 gs 0 g [( )] TJ ET EMC Q q /GS50 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 390 m 416.75 390 l 416.75 405.6000061 l -1.45000005 405.6000061 l h f* Q q 1 0 0 1 0 390 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS51 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<00C3002F00C400C5009F00120018007C007D>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 107.625 11.65499973 Tm [(Aware)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 136.5 11.65499973 Tm [<002500C2>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 157.5 11.65499973 Tm /GS52 gs 0 g [( )] TJ ET EMC Q q /GS53 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 405.6000061 m 416.75 405.6000061 l 416.75 421.20001221 l -1.45000005 421.20001221 l h f* Q q 1 0 0 1 0 405.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS54 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(Bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 34.125 11.65499973 Tm [<004400450082008900460018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 99.75 11.65499973 Tm [(Custom)] TJ ET EMC /P <> BDC BT 1 0 0 -1 131.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 136.5 11.65499973 Tm [(init\(\))] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 168 11.65499973 Tm [<00530054005E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 202.125 11.65499973 Tm [(destroy\(\))] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 249.375 11.65499973 Tm [<00530054>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 270.375 11.65499973 Tm /GS55 gs 0 g [( )] TJ ET EMC Q q /GS56 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 421.20001221 m 416.75 421.20001221 l 416.75 436.80001831 l -1.45000005 436.80001831 l h f* Q q 1 0 0 1 0 421.20001221 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS57 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(@PostConstruct)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 86.625 11.65499973 Tm [<005E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 97.125 11.65499973 Tm [(@PreDestroy)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 157.5 11.65499973 Tm [<009100110053008C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 199.5 11.65499973 Tm /GS58 gs 0 g [( )] TJ ET EMC Q q /GS59 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 436.79998779 m 416.75 436.79998779 l 416.75 452.3999939 l -1.45000005 452.3999939 l h f* Q q 1 0 0 1 0 436.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS60 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 452.3999939 m 416.75 452.3999939 l 416.75 483.6000061 l -1.45000005 483.6000061 l h f* Q q 1 0 0 1 0 452.3999939 cm /P <> BDC BT 1 0 0 -1 0 20.17499924 Tm /GS61 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 37.77500153 20.17499924 Tm [(IO)-1(C)] TJ ET EMC /P <> BDC BT 1 0 0 -1 56.95999908 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 62.20999908 20.17499924 Tm [<0021002200230024>] TJ ET EMC /P <> BDC BT /FAAAIB 10.5 Tf 1 0 0 -1 104.20999908 20.17499924 Tm 1 Tr 0.30000001 w /GS62 gs 0 G [( )] TJ ET EMC Q q /GS63 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 483.6000061 m 416.75 483.6000061 l 416.75 499.20001221 l -1.45000005 499.20001221 l h f* Q q /GS64 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 499.20001221 m 416.75 499.20001221 l 416.75 514.79998779 l -1.45000005 514.79998779 l h f* Q q 1 0 0 1 0 483.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS65 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.66899967 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 42.79399872 11.65499973 Tm [<00460018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 63.79399872 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 67.21299744 11.65499973 Tm [(org.springframework.beans)] TJ ET EMC /P <> BDC BT 1 0 0 -1 198.46299744 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 201.88200378 11.65499973 Tm [<001D005E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 222.88200378 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 226.30099487 11.65499973 Tm [(org.springframework.context)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 370.67599487 11.65499973 Tm [<001D00AA0038001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 34.125 27.25500107 Tm [<00BB00BC>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 57.75 27.25500107 Tm [(IoC)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 76.125 27.25500107 Tm [<00AC0090001800780079001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 139.125 27.25500107 Tm /GS66 gs 0 g [( )] TJ ET EMC Q q /GS67 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 514.79998779 m 416.75 514.79998779 l 416.75 530.39996338 l -1.45000005 530.39996338 l h f* Q q /GS68 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 530.40002441 m 416.75 530.40002441 l 416.75 546 l -1.45000005 546 l h f* Q q /GS69 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 546 m 416.75 546 l 416.75 561.59997559 l -1.45000005 561.59997559 l h f* Q q /GS70 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 561.59997559 m 416.75 561.59997559 l 416.75 577.19995117 l -1.45000005 577.19995117 l h f* Q q /GS71 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 577.20001221 m 416.75 577.20001221 l 416.75 592.79998779 l -1.45000005 592.79998779 l h f* Q q 1 0 0 1 0 514.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS72 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT 1 0 0 -1 68.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 73.5 11.65499973 Tm [<002500C2007A007B001E006C009A00CD00A700180044004500CE004E002200CF00D000D100D2001B00D30018002F003600180044004500380012000E0035001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(ApplicationContex)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 91.875 27.25500107 Tm [<002500C2002F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 126 27.25500107 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 183.75 27.25500107 Tm [<005500D4006C009A00D5002500C2005D00A7009F001E00D600D700220024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 343.875 27.25500107 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 404.25 27.25500107 Tm [<0018>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<00780079006500D800D9001E007C007D00760035002200DA00690043>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 149.625 42.85499954 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 183.75 42.85499954 Tm [<0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 196.875 42.85499954 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 215.25 42.85499954 Tm [<00DC00AC009800160038002200DD007A007B001E00DE0010>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 343.875 42.85499954 Tm [(message)] TJ ET EMC /P <> BDC BT 1 0 0 -1 380.625 42.85499954 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 58.45499802 Tm [(resource)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 44.625 58.45499802 Tm [<001800CE004E0055005000DF008000810033005D006F0093008900E000E1000F00E20030005000E3001800C400E400440045002200DA006900C3002F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 362.25 58.45499802 Tm [(Web)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 380.625 58.45499802 Tm [<003000500018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 74.05500031 Tm [(WebApplicationContext)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 110.25 74.05500031 Tm [<001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 120.75 74.05500031 Tm /GS73 gs 0 g [( )] TJ ET EMC Q q /GS74 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 592.79998779 m 416.75 592.79998779 l 416.75 608.39996338 l -1.45000005 608.39996338 l h f* Q q /GS75 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 608.40002441 m 416.75 608.40002441 l 416.75 624 l -1.45000005 624 l h f* Q q 1 0 0 1 0 592.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS76 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(org.springframework.beans.factory.BeanFactory)] TJ ET EMC /P <> BDC BT 1 0 0 -1 246.75 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 252 11.65499973 Tm [<00D4>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 265.125 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 296.625 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 301.875 11.65499973 Tm [(IoC)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 320.25 11.65499973 Tm [<00AC00900018006E00E6003100E700220050>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<0049001D00E8005E00B1001000BA0064007A0027001800E9001F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 139.125 27.25500107 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 160.125 27.25500107 Tm [<001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 170.625 27.25500107 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 231 27.25500107 Tm [<002500C200D4>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 265.125 27.25500107 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 296.625 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 301.875 27.25500107 Tm [(IoC)] TJ ET EMC /P <> BDC BT 1 0 0 -1 317.625 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 322.875 27.25500107 Tm [<00AC0090001800EA00EB002500C2001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 406.875 27.25500107 Tm /GS77 gs 0 g [( )] TJ ET EMC Q q /GS78 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 624 m 416.75 624 l 416.75 655.20001221 l -1.45000005 655.20001221 l h f* Q q 1 0 0 1 0 624 cm /P <> BDC BT /FAABAB 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q q /GS79 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 655.20001221 m 416.75 655.20001221 l 416.75 686.40002441 l -1.45000005 686.40002441 l h f* Q q 1 0 0 1 0 655.20001221 cm /P <> BDC BT /FAABAB 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q Q 1 0 0 -1 0 841.90002441 cm +endstream +endobj +6 0 obj +<>stream + POS/2#`cmapT`<cvt XMTfpgm,, +glyfheadJt6hheaB$hmtx;#<loca"Lmaxp nameUpostl prepK: 33Ff (ͱȱTHͰ۰έcܬ򬈬e5!䦟 ')mz|6 +62Tt"$:ρB~OwvZttt1sUprpLoiz$)Mc  R  wwQ^6J,-JB;GC;X>x#'N1"dinsx} "',16;@E@Q[ZYTRMLKJIHGFCBA@?>=<;:9876543210/.-,+*)('&%$#"!  + ,CXEjC` #D# NM/!# 3/Y-,CX+KPX@8Y+!# 3/Y-,CXN%!M E%%#Jad(RX!#%!YY-,CX!!%%I%%Ja dPX!!!%%IPXPX8!8!YRX8!8!YYYY-,CX+KPX8Y+!# 3/Y-,N CD 8<(+%<-,/M-,CX+8+!# 3/Y-,CXEdj#EdiCd`` #D# /!! RX3!!YY-,KQX +C#Ce +Y-,KQX + C#C Y-, #p > #p E: -,+%E%Ej@`%#D!!!-,+%E%Ej`%#D!!!-,+!!!-,+!!!-,KQXCCe +Y-, i@a ,b`+ d#da\XaY-,%EhTKPZX%E%E`h %#D%#D% Eh #D%Eh`%#DY-,% Eh #D%Edhe`%`#D-, CX!CXE+ #D zEi #D QX+ #D z! zYYY-, E#Eh`D-,EjB-,/-,CX%%Id#Edi@a bj%%aC` #D! !!!!!Y-,CX%E%Ed`j%Eja %Ej e%#D%#D!! EjD EjDY-, EUCZXEh#Ei@a bj #a %e%#D%#D!!!!+Y-,Ed#EdadB-,%%+CX%%%+%C@T%CTZX% E@aDY%CT%C@TZX% E@`DYY!!!!-,% %.# %%+!!-,-,KRXED!!Y-,CX=Y-,KPXED!!Y-,KRX/!!!Y-,KS#KQZX%Eh%Eh%`TX!!!%Eh`%#D!!Y!!!Y-,CX=Y-,F#F`F# F`ab# # pE` PXaFY`h:-, E%FRKQ[X%F ha%%?#!8!Y-, E%FPX%F ha%%?#!8!Y-,KQXCC Y-,-, CX! FRX88YY-, UXc%Ed%EdaSX@aY%EiSXED!!Y!%E%Ead(QXED!!YY-,!! d#d@b-,!QX d#d b@/+Y`-,!QX d#dUb/+Y`-, d#d@b`#!-,KSX%%Id#Edi@a bj%%a #D! !!# 9/Y-,%%IdTX88!!Y-,CXY-,CXY-, ++# <+-,%8(+# #+CX4)x>LhOm3@ Y +    /9/2????+3301!!#"!!363 \zCypi oR8& 1@YY /9/9//?+?9/+01!!!!!&sr Qm,@ Y Y /2/3?+?+01%#"5!2&#"327tP[o{)D4E4QR+@@ Y + + Y   /3232//3/?+333/?+01%# #535%3#327IA6: (r +\. Qm )@ Y Y  /9/99//?+?+01! ! ! !"QG :G$85TDTe#@ +  +/2?]2??01&#"!!3632T;TnCP9-"R R:@ Y   /293/8/3/??/+9301!"'3277!3678}EAN6=Af RK\%PK?N5V~u (,( WY'%@ #*H!%!%'A@Y@H  '+'MY"*MYM@,Y "["" ++p+++D+T+d+++++@H+ +  I@Y   @$H + +I@YT +d +t + + +P + + + + + +/]_qq+3/+_^]+99/_^]+_]]qqq99//]]q3+3++3/_^]+9/993/+399//+9/+_^]016!!5&'$%!!7&'!&!!5!!!zX ~0z*.26++0550HYH@ +Y..QYTY F@ Y414H@Y0@P@@(H11(5/5555 55`55$"("NY&(("H(H(H(/+++q3+3/_^]^]qr3/9///+]q+9/3+3+9/+9/3/+8+9/01%&'36547#&'6#5!67!!!&'765!!!!!!T:0<@^n>  @6jbbhLD|vFX20ZXlNf' xu@? +Ho, Y/  Y  }" } +/39/2//?+_^]]?+_^]9/]]]9/+]]0132654&'$4$!2&#"! 'llI㚜zd]I?p`&;jYK765!&'!5!!36!!!!&'*ZT,24n.0F- BJ_:%l.zH^"~ -8w>=YZ6V`(G@  N@Y      N@&Y/O@`pP@ +Y$HH H/+++q2+/_^]q]39/3+39/_^]_^]3]+33/9/3017!!!!&'!!!!!!!!pJP>Jΐ*,2h,hJ]TLলJyt)-2,EY+EY)F@-Y,@ H,,%.0$dt@ "H  N@Y   ! O@ Y 0 FY +0!%!LY#o%%/]3+3//3+3/_^]+99/_^]+83/_^]+^]qr]q939///++++99//01&'!5&'$!!5#!!#&'25!#3!&4*L4ή(BVN((Z*H\Xh`^n +tR2’xt vY&,0@,, ,, * + +LY0*?Y'/?Y&?Y#"?@oY 00+0K0[0 ''+' Td4dt+ $4t0''0HF@YOP`/q]+3/+_^]_]39////^]q^]qr]q]q]]3+33++++3/39/_^]01!5!5!5!&'!'&'3265!!!!!!!#5!Z:tr \r-BZ`XZ`pjV<l> +|d8Ȋvb"~7;?CGKL@40/0?00&00.?-.-GY!)*)GYH*DH@#YDODoDDD?DoDDDDDDDD@ HDDK@@KCY:GH@'Y:o::?:o::@!H@:::::::C<yqm~^ZK`r6,2@ )2)+$$$JY?@ +YP /0/A@ Y02-2-2>@Y-_- --N@ Y +- + J@Y0+ + +@ H +$& +H@Y  O o    /]]q+33/+_^]9+93/+8/_^]^]+89/+8/_^]+8/+333/_^]99///9301!!$%&'$7!5!&'7!!&'%!!!7&'F ( |hlpbHx԰|~*20&&V&~b ~`b\XXbF$Rz\p̄Xa82,*,F@ Y*@H**%6%G@Y!`p6 +  R@Y_o Q@"Y ((2 M@ Y// MY @%H2  2666666H6H6M@YO P`p/]q]+/++_^]9////+^]+39/2+339/_^]^]q+9/_^]2/+993/_^]]3+3/++801!!!7#3#!#3#67##"5&'$!3326HLTֺtP +Lf,YTpg@UB)w&$S|y/(xhJ$xpxNBX[,07E\F@Y  M@Y/    @H D<88:OY!0!MYBAN@>Y  0 @ 08@8P8p8888 8P8p800@0B 80BB08 ="=<=@@:YOY ++A@Y +11@ H11 111111@"(+H_,,,?,_,,,`,p,,,,,,@?H + +_ + + +_ + + +P + + + + +1, + +,1 @(''#@"H%%##J@YO_H/+]q_q3+3_^]3/+39/3/]q^]9///]q]r+]q]r+]q+]3+++39/+_^]33/+39/^]3+301325!!67!&'!!!!'&''6!!5!&'R`iYhR lvR!%$u#]i$$䢸ykk +X6FKM(nR +PHzy sfg`z||ܼ7K*.26:  JY ,22E@9Y_)L)+);) +)))%  0@ $FY! 7EYJ@*Y ??O @&)H@H@H675:/:B@dY-/?P@`o7?7o77777@7@777`777/?/7//7 QY((F@Y%`p/qq3+9/+/_^]^]q9///q]qr]qr]qr]q3+333/+++_^]qr3+3+33+39/_^]_]9^]^]]]3]]]]+39/+3017#53#5!#3#67!5!5!5!!!!!!!5#3!35#5#!35#R8Ⱥke8B|B8 x<ġ6\UI37;"#/#N@Y3 )/H@ + H/-)*)KYM@&Y O*o**@H`*p*p*/**/&665K@Y66O6_6606@66#'H6R@Y'@ #H@HH&%&%&HYo@%_%o%%%%%#H%/+]q]q3/8]3+89/+++_^]+3/+_^]^]3/^]+9///_^]]q+]q3+3+39/++_^]3+3016#3!!&'3266! +&'67'6#!!67&'!!Չ + T (W:>  6r:0}B|i]iHEDTrY(.WBvZN;B/Uɪ"(9??@%&(#`######!H#H#@ H##  >@%Y>==/;:222::: ::: ::(R@Y?O_@-2H   S@NYO&o&O&_&&@+1H&@%)H&@H@&?       O _ o  @ H& &/6/H@KY+0+@++`+p+++ +)) ))))0)@)))))))6@/2H@,H""""<@Y$$4!H@'H@@6/6?666/6666 H@%YPO Pp`/]q]2/]2+33/_^]q9/_]q++^]qr9/]r3+8_^]9/++33/]qr3^]q+9///+_^]q^]]]+++q_qr+_^]3/+q+8_^]3/^]q3/]39/3+8_^]9/+++^]q]3301!6'!!!$&'$!&'&'%&'#! !3!26'6`( %ZP>JV:jFήtn=<|,bR|fRjhz|f_JɞVbz~xlH0(zV|T` +@ +(+((S@Y%##*++KY++J@Y oH@ H :@Y P ` p P  /]q]3/22+83/3/++_^]]9/^]]+3/+93933/3+3/9/9301!&'&'%!%32667# Mi]i,丢pJ + |J<1 x~)mVd߅~pℒlLx&0?NQ*mP8Z2 "@  /3/83/8?01!o +b+UOe@@"YY /9/9////??+3?+3?01%!!3632#"'32654&#"Ci dy{rleDYm:LYL@YO  + L@Y/o 0` + +R@Y + + +` + + +H +/+]qq+3/_^]q]+3/_^]99//^]q]++01!!!&'326!!!!! P.""80Xz +@# %@Y  + + 9/3/??+01!"'32!udVnJ`(7Ai )@ YY /9/99//?+?+013! !3254#92˴  M @@" +  9/29/3/339????901!!&'#!!367!^+J7 + $0#s *@ + /89/89/?01!!}d +mk&26:>B##+2/+G@ Y%2222:Y?B!<@Y=<:@ Y @H7 8@ Y675::@H :8@Y [k{[k K[kt  +;K{+;K@HO7/7?77777@ H H/ ?  / ?   @"%H 7 7/--P/`/p/////$H/@ H/<@#Y 0P`pP`/]q]3/3+_^]3/++]q3/9/////]+^]qr++]qr_]+]qr]]r]q]qr3++33++33+_^]q333+333+_^]q3+9/017!5!5!5!5!5!!5!5!5!!!!!!3#!5!!&'327!5!!!5!!!!5!R.hDFdTF> Dj*~h\lPTTT^\\ZZZ\Z:\}:xbfff\^>868FY6@H66)@@!YDppo +)/)KY4;<;H@1Y 0 @ ` p  0 @  <   #< J@Y    H M@Y$<<T<<<<<@.*.H <<-////?////////H/D@Y`pP/]q]q3/+3/+_^]q_q399//^]^]+]q+3/+_^]^]+393_^]99/_]qr+3+39/_^]q3]q]]+8_^]93/++801$%&'$%&'&'$!67!!!!"'&'32667!&'$7!5!68Z>.} +*Bu/luD^.9AM +M" +rdo.ݥV`Nn̖qض?v0Ij#LUg_R\nXROYz~>`\8rGv4^Zj|nX& M@Y__ M@Y0@p0  M@ Y  S@Ydt@ H/_]+]qq3+3/_^]+8/_^]q]3+33/_^]39/]+01&'32>5!&'6!!'%!!!$$^CG.= 2(=?O>B" Wz~ +3@xFHj]CJo|шw3,@ *$)% ()TY(('%'R@Y%%%% %%#, ,L@ Y   U@Y% o@PH@ H L@Y Pp`/]q]q+3333/++_^]]99+3/3/_^]+3/8_^]q+3/+/9/39901!!!&'73!32667# !!!%%! , +VTvnj-C)|61X"G`pZzRui*ţX4x{;\*08=v0@ H0DY5-5M@Y-@#&H-@H-&J@Y/ @!H0)8&::8F@Y?:O:::/: :(:<$9!9F@Y0`@ '*H:-  H@YO  @ H   "H @H @ HF@"Y0P`p@P`/]q]q+33/+3/++_^]+q+89/+_^]q]+333/_^]^]q+333/+_^]q_]+9_^]3/+++3/+83/3/9+01%!!&'!%&''6'%!!326# !!'lH* hbU\ 0UGJCuZF'K@#!/ hp|t9i $HtTnbfdv_tWFZyEW!* W#'@ +  F@Y@ H`"$'F@YO$O$$?$ $$p$$$$"%H$F@ Yp"%HG@ +Y" #""O@$Y$""_"o"""""""""H"F@YOP`/q]+/+_^]]q_]9+339/+8/+_^]qr+/+_^]qr^]qr+/_^]+]+333/301!!!!''67!&'6%5!7!%!!p&j@p$x^T\>}{b(Wn+#a\}hqK0 ٱJYJ@8YO_/o ?_, + L@Y0@`p$H@H  + +L@Y + + + + + + +P +` + +!H +/+]q]q3+3/_^]q3/++]q+3/3/99//_^]^]q^]qr++01!!5!!!6!!!5!!5!<JO+'.@xzŽlD ))I@Y  ($%$I@Y + +%)%`%%%)%)% FYHN@ Y""HH I@(YO  P p P `  /]q]33/]3+/++_^]q33+3/++899//_^]]99//+33/393_^]+01%!!5!!!!% $'&'6!5!!:2)-dG88zfZLF 'f^iHh~vbh+΋b ($͵O@UY @,2H@ &H@HO  +K[{ +d% + + +O@Y  @ H  #H H /++]+q+83/_^]^]^]q^]33/+++33/33/9/393+89301&$&'$%%rpT~b:όP?BXx9HythtW9兢p󦎆`_%-@"" ( &t&&&&&"'H&@ H&&(&&M@YO@"%H -1H"#"A@Y##/###% %?Y ?YM@0Y@'H@ #,**/***M@Y  0@$"HH H<@Y 0!H/+]q+8/+++_^]9+33/_^]399/^]+qr_q+33/+8/+8/_^]+8/+_^]+]q+339/_^]++^]q^]33/3]01%!!!!!&'%!!!!!!&'&'&'(l028B\&L4@ȸ\઺jjlW +R +r~NmH(pĦ¤΢8"D0 4 9>BFJOUdl,,(' 2H''CZ\Z\C@3YZOZZ/Z?Z_ZZZZZZZ Z@#*HZ@HZZkXX_`_D@[Y$ `%%{%% %+%K%k%{%%%%% %?O?@'/H@HKQK>@YG?K_K0K@KK0KKKK%/HK@ +HKK599D@ Y2JNNCN>@-YACCCCoCC CCCCC`CCCCC*1*DY.*eggVGYP@ Y@F:F>Y#:"= =>@"Y@`@*P*`****gg@g: @ H*g: :g*` `````@ $(H`R-YR FYR#'HR!HRRA@Y77@ H`p/]q+q3/+83/++++_^]/+^]^]9/////+^]]]]]+33+3/++33+33/_^]qr^]q3+_^]33+33/++_^]qr]3+_^]39/^]++^]qr_q9]q33/^]3+3839/++_^]r_r+89/+33/01!5#&'#'##&'&'6!367353!!!!#!37##3!35#35#35##65&'&'67#5!%3265#&0jXPcw[bZp.pkfw! {Fd8a7rrfhh(rrkhrH*"CNfSd1I1 1cQ;&Ut~zzRK <:B?;\VZ쾾ʼ,@j|j|ljrXKH,%!"!NY&'TY+'+RYN@"Y/'?''''''@/H'@H/@ H''""o"""""@ !H"   H S@ YdHH/_]++qq3+3/+_^]3/+]^]3/99//+]++^]r_r3+3+3/+99+301&'326!&'#36'!!%%#!#% $$w jt +L(gDdxpjBĹ^&*GgNICPHt &8<@X@ 11RMIY GY0RR  @R R /((((1(H@#YC0AAAAAA`ApAAAAA AAUUHDY8=8?Y@;@?YPOPB@"YK;KDKTKDKKKK4KtKKKK K@#&HK*KK:;):C@Yt  H@ H%##D@$Y@.1H@%H@ H)  H@Y  $U4UTUdUUUUU[==== =K===D=[;k;{;;;;; ;K;; ;;D;4;D;t;;;;O$O4ODOTOOO{))4)t)))#{# #+#K#$#  @%*H$ U=;O)# #)O;=U3331$141T111 $H1@H1p11A@%Y + + 0  ?P`p"H/+]q]q3/]39/+8/_^]++^]3^]9////////]+]]^]q]qq]qq]qr^]qrr]qr]q3]3]+_^]3]9/+++_q3+3/_^]++^]q3+9/_^]+^]qrr]+8+_^]+_^]+3/_^]q3+_^]399//8^]8]++_^]01]''6%&'## 3673326#!'&'32655!!!!5!# 3673326NzZ8Fm12Vb7v@m!XV$c9N$dddfz&HhrTX:H2a7F`NKF vW,vqac>p~Tutz8$0hrr|20E.|nu҂fzL J@& Y Y /9/9/93//9?+?+?33901!47#!&'#!!367!= }# N*!Oŕ2"& Xtf]  %@   /9/9/???301!!367dOO  QHJSC 3>)..$GY...2&'VY&H&&!! KY2!K@Y 2  P@ +Y ,+M@Y + + +P +  + +LY@) HP,@, ,,222/2222!$H2LY@ H;KD$'H"HP/_q++q]q3/+2+/+_^]q9///^]]9/+3+39/_^]3+3_^]+_^]3]_]9/3++3/++3/8+301&'!!&''6!!!6%&'$'67#!% @~^&'lP?s7DErZa|vp]i@8ȢҾĀHF%'ȶohhKv8UR)MT (PY @ H G@Y  $ MY((L@Y $""$$$ $@$$"H$H$ LY$@ H+;Kk{Tdt%(H/_q+]q]3/+q2+/++_^]]3/9/^]+3+3/99//_^]+8_^]9/+399+01&'%!!!&'%!!&'325!pJhPXh\d(F4ȕ.xXTp|%7@DK&& A H0'0H0@ H@$@@@@@@@@%*H@!H@H@@ H@&&4DA@0JHHD-=;;-0@ H4 GE HEE@#"#"A@Y#O#_# #A DY KY % %=@ +Y   AY GY#-4-E@Y 44D4T44@H44 44=@Y{T%(H/_q+q]q+8/_^]+]9+99/+33/+8/_^]+8/+/+3//_^]+833/+33/39/39/+393/333/3////9/_^]++++]qr+++^]01!&'%!!%&'7''6!&'&'##"5!3326&'$5!!!&'8!(*5/\ 21Ԧ[Tbb!{kH()TthނԐtMU6ll앏=8Ȣz/n̬p~~("jzz8dGCJl&:l4hxT>t[ hD8TXL̬%`t\IYIY I@6Y/??O  F@Y    /  $H H @H I@Y 0P`"'H/+]q]2+3/_^]3/+++^]q3/3/+89///_^]^]]]]q+++01!&'%!!&'%5!!!5!!!4-+Rvt>(NDDgo>>L>|hP:hM $(MY !MY%!($$M@3Y/!!!??/!! !N@ +YP@Y_0`p/]qq+3/33/+_^]/^]^]99//]qrq]3+33+3+301%'&'3255!!!&'6!!5)!!5!!5!ht".~`OXb`X`+ z0G\L2"z #'8$ $#(H$H$@ H$ $$# @ + H# #IY2454N@Y60/'?'o''''5/8(8IY,(* H** F@YO"(E@5Y5@HP5`5(((((o_5((5 + #(H@$ Ho    O    + +P@ +Y +` +p + +H +H +/++qq+3/_^]q3/++9///]q]qq+3+39/_^]33/+3/+3+39/_^]]22+3+39/+_^]39/_^]+++^]01!#&'325!!6%&'7''6!%!!!5!!!%%5!h|ۛ6\jR zxW$<)ʈ?\CTs +| +^&Xr `=pk :,V(*h?1Y R@YdTdt@ $H HP@Y?O/]q+3/+_^]+^]q+39/+016%!!&'3265<(>,vGzaMjQ!%*8BHL#FYA2990LYHHF LFBY DY)'DY$CKBY7@5@F@'YL_o0?o/oC@$ H9LC55CL9  4H44I@YO_/]q3+3/+9/3/_^]^]9//////+]qrq]q]+3+3+33+3+9/+33+301&'32667#&'6#5365#5365#5!#3#3%&'#!546#!!##?C(4?HCJlnqY4'/?/O_O0 '' +%+$H+H+ E@Y  P  P `  !'H /+q]3/]]3/3/+8/++_^]9///^]^]]]qr_qq++3/_^]3+_^]+99//8_^]8]]q++3/99//+_^]+_^]01#! 3$73263733#77!!!!؜l5c,lVX\? +&,BfML"ndEXO3A\ + /4B A9557U@Y033$ $%$J@ +Y%??>NY +JY5@" H5%??%5:+:A +9:CYLYP@Y o99999"H9+J@YP`O+ +P+`+p+++++/]q]3/]2+/+_^]^]q3/]]+83/+8+89////_^]]q+++9/33+393393+901&'#"55!!$%&'$7&'7#53&'65!67!%'67#!6`zvZ& VPL4h"٪׉O~v_ܬc[*脒*8ĢTi,zMP~?nr[yMt48dV*<&ٱM@Y0/?0 @@S@,YKDTdt  M@"Y/ + P!H/+]q]q33/2/29/]3+3/_^]^]q]q+3/_^]3/8^]]q99/]+01&'!!!!!!'65#!6~lb$,bh2RҢ$`LpnrFd@Z\V + R.4Nn,Tn**pp42쫐,pl~|pH.8ؘFJPNԾxrp260nnljLpppƖ",@### +MY  <@4Y   %!o `pQ@Ydt@ H 0/_q+]qq3+3/_^]3/^]q]339/8^]+33/3+33/_^]9/301&'3266!7&'&'!!&'7!!!8pW!"/Գ`{S\fiĜ~!4$T/jWr+QpzyPB< 217JAFF=GYFFFH>?UY>>;H;KY@Y.H@,Y?.O.@ 0 .+ G@%Y(45722/2?25252D" !HDDCK@4Y. ..`.@.ODOD .DD. HHH/HHHH!$HH8:K@Y888/888 88@ +$H8 ""@ H" ' G@Y$   @ P  !H /+]q]3+33+/9/3/+_^]^]q+/+_^]q9///^]]q]qr]+9/_^]+399//q333+333/_^]qr3]+3/+8+3/+3/8+301##"#&'667!5!5!&'63!!!!!3326&'% '67#5!!2t|#7z\ Hl^ H&%b~r\7 +4P<7xzl4 pSrl\N6.}B +@fZl8aO2:|hR|1:QY2(.@ Y(((&&HY@.  2NY 99QY7++HY%O@Y",99/2/.HY/1FY @# H ////?/O////@,/H/@'*H//++]qr3/+++/99//33/3+3+33+3+3/3_^]9/8+9/2/8+9/+01!&'&'#&'67#3!3#676#5!5!276#l$rrfn0.4tv +0.^T, +hJ^`HvXTLl*&DPHDr + +ʎ`nc %)06A /-/CY343B@ Y-4-4 DY616>Y+*+<@Y%%%/%)%9@ Y((/((9Y ?@ Y9@Y !5@0Y 11 1$141T111 **$*4*T*T*d*t**D**@|H )K) )K)[))))) )[))t))) +;K@$H@HT[$4$4$4D_ @6 H/? p 1*))*1?@ H  9@YO P`p/]q]+_^]/+]q9///////^]r^]q+]qr]q_]]qrqr]qr++]qr]]qr+]qr]]qr]qr+_^]^]+_^]33++_^]+_^]3+8+8+99//+8+801!'!!!!!!!5!!!#&'32675!%5!&'$%&%$G' *Bn$tvJ"!A JY K@Y   @p@ HJ@Y/$   L@'Yo Pp P`/]q]2/]2+33838/_^]^]q33+33/+_^]^]99//+8+801!!!!!!!!5&'!!rKEVqnltn^1Pq(ZN\znhA 1V@ +Y((,(JYH@Y_K? @#11H@ Y   *,,,@$H,  /   JY $(H @!H @ p  /]]++3+33/_^]]3/+]q39///^]q3+3_^]]]+3+3/9/+9901!!5!67!!!567!5!!!&'32675!*YaDh &Zo:xtekiH0_S4F]a4FDʯjnRzv b )8R-@  Y +/9/3?3?+3?/01!!5## !3265!|~CatAty"k &-t@/e'''$'''s''0'@'P'' '%%,,) @'H ##EYD@ Y)"FY D@Y + + + + + +<@Y [+;k ;{+{ +;k K{t+ k K { D  T  ;K   4DTt@H D@YO P`p/]q]+/_^]+]39////^]q^]r]qrq]qr]qr+_^]^]++_^]33++3/+3933_^]]]]01!!!!5!&'6!5!!!!32%%% '%! BBh|wX*24\!kflllPT|zjؤ^YP" (@Y /9/99//?+3?01!!!!FG *.49@2'?O/O_ 0p1226554/@,.2H//  `pP'=YH HJ@YO_ $,H@"YP87 7@ #H77H@ Y + TY + +-)-)H@Y /-?-- -----@ H- #H@Y     /]qr+33/+_^]^]q99+39/+/_^]+33383/+_^]39/]q+3/8_^]]+3+33/8+_^]+/_^]3/3]q^]9/+39/39/33//]q]]]/01&'!&'67!5!!!!7!!!!!!5!!!&'%'6RTNV_$8wD8Rl>*pXXj>BB:ʦNUJYXoP4J{hY +|~ ^:4HdD !"-1%''L@ Y''$'@ H''11EYXY0#0E@'Y11 11`1p111#@ H#1#1#,L@Y/?_o 0`@!H + + +  + +L@YO_!$H/+]q+3/_^]q3/+]q]3/]+99//_^]+^]^]+3/+9+9/+_^]^]+301%&'!3!267#! !!!3266!!>h7LӬp=Ar @&)w ,?o/2/1JX /899/?01!  ==L@Y==/==(==;+..)/1&&'0)'M@Y)))))!;!IY0/E@Y  p(!$HQ@ +Y  LY%3"3LYL@Y0/0p0 p   .1H ),H @)H /"/0 "" 0;/_;o;;;;@ "'H;866--MY"HHH/+++q3+3/3/3/+_^]q]3/]9////]]8+++]q]]3+3+3+3/93++_^]93++9/_^]^]+93933/_^]^]+013!3#7%&'32657#!!&'!%7!&'6$%2 +50N86&vpT62lddJG`)Z vb*4j6,bHF*{|04B*Q~Nb `!'.@ -+@ H++K@ Y*($%%%@%P%(%(%MY N@5Y_@ H '""_oM@Y +`p P/]q3+33/_^]9/3/]q+]q+89/33+33899//_^]333/+89/+301!67!!!!3!$&'$!!!&'&'8 gCMTJ"|MLj Xࢠdl.xw~Pļ\ܶ6BBHz%,@/+))#'0&@&P&&&## +0 #$#L@'Y$_$o$$$$P$`$p$$$$$IYHQ@Y`pHH/++q]q3+3/++8/_^]q]3/]3+39/_^]q9^]39/33/]39/301!!7&'!&'32!&'6!!&'6  vc_$"\ g *jhM ^nlfv$LvضA~ +vn~Mx=nLF  &,4O@ , +/-p---  + +HY  )*)B@ Y* *,',>@Y'' 'H@ +Y#$#A@+Y$*$&&311 111'@ H(O@Y' !o H@ +H!&!&=@ Y!!!!(H!/+]+83/++_^]]9+_^]3/+^]33/^]3]99/+8/_^]+33/_^]+8/_^]+8/_^]+339/_^]3/9/3^]9901''6!5!!5!!!!!!$%&'&'&'&'BPf^B +NK:UOh"tl֎jd@n:~̞|xА:.|6(ZOTF@K<>J9... ..%. .{Dt$$D@ H@LLN*NH 776* 1E@Y@ @@ Y8 9 + H@Y;PQ : + + + +$ + +: 9:H@YO999 9@H9999"FY"F@Y"''&'((I@ Y.64556HY5ECC@@HT@'Y?@@@@0@@@5" 1/  P@ Y0&)H$H010:@Y111P1`1p1111P11/]q]+8/++_^]9+_^]3_^]99/]q+3/3/+333/+9_^]3/+3/+9/_^]^]+_^]q+93/_^]^]^]9+99/8_^]q+3/_^]q+3/339393//9/_^]+^]qr]q]q]^]^]_]901$%67&''%''67'67'66767'%!%&'77%3267#"&'6H4hz-"Y ɡx + +RJlJK_6:]xzmSD$.'`Mb(i.JԞaH,ɱN?G8+slw,1 49='('I@%Y(1/@ H//+(+ +@!H+0+@+`++*+-Y I@Yk=4=D=====@ H==-=4 4F@zY5 d((t(((((D(T(((+4 / / ? O ? O _   0 @  O _ o    @ H( ($$#I@Y $$/$$$$@ $H$::8F@Y @H OP`/q]3/++339//+_^]3+9////+_^]q^]]qr_q]qr]]qr33+3/_^]+]q+3+_^]+^]9/+33+301#&'325365#5!#3#3!!!!5!5!5!5##&'67#%3#3#tz fnl ̮XLNH\;Dc2 +x|Z"(h@8dhd\a5AEI@ ,()(=Y AY E@Y ???Y:555?? +>Y6O@/7?70777@7P7p7777 7@&1H77=?==/= =<@Y3 /  /   3@ Y$$EBE3Y00IFI3Y2"%"=@Y-%p???P?`?p??@0H/? 0p@p/BB@'*HPB`BBBHB@ H/FF@'*HPF`FFFHF@f H%P%`%p%%p%%?BF%%FB?/))0)@)P)))`))%4  _    H8@Y@H@ H&`pH/+q]++q+8+_^]3/^]^]q393]]]/]q]9/////]q++q+r++q+r]q]+]q3+3+9/+9/3+338_^]38]9/3+_^]9/+^]q]38]3+38_^]3+_^]99//^]]+8_^]+8_^]+301_^]!!&'$%7%!5&'$7!5!67!#!5!5!!!#5!7!$%!&!!%!!B >8VR5)n^`6><2("66",2lXVJ 8`Jb;\Yv\fV#%(VV^&!l\h2r¿uLv /4Q@(7**7 777(1'('BYHFL@Y 4   $  */H @ !$H ' H@Y  0 BY B@Y=OON>NNpNN MNR@YLAA@MMMMMMM@>@MY#$#BY2..$@>P>>@>p>>>@4,/H>H >$55$> H,_(o(( (0(P(`((((((GY$HHH/+++q+3/_^]q]39//////8+]qq]q+]qq3+33383+338+3/8_^]q93+_^]q93++9/_^]^]+_^]++^]q++33/_^]^]3/9/301!!!!!!&'3267!&'$%!5!5!5!53!6!36%333#7#&'3257# +w !JP5dX);X&ùMm;4>N .h{_[DQ 4~D@҂m~Uo="g]vzҴ޻{Vd*l,n{tby;".X*]@    +L@Y/  + LY + +J@Y@ H`p/]q+q+83/+8/_^]^]qr+3/939/_^]9/01!$%&'$6!!!p,0xXt2^к~`xN\Vh&@$ 0P` @ "%H$!!B@Y0   $&&  K@Y @$HH$$K@YP#&H H/++]2/]2+3/++_^]]3+3/9/_^]qq+8939/+_^]q^]301!67!!'&'32665!&'&'!!݉&~E8#, ʅfh2o斟r +=1ޠtʉ٨xZ&3;?$@ +4848://:>:EY$&&"OY5=EYEY  E@YK5[55$4Td$4 #(H!H@H$ @(H&55&0>>>$>D>T>>@ H>>(H@ H200-F@Y000?0O000P00/q]q+33/++3/_^]+^]]9////+^]+++^]r]]3+333+3++3+3/99//01!3!53&'7#5!&'%!367!%&'3254'6#!!!#5!!!\AL:K &,'"UƉcBXu$M"{h\FJJXfnZbp]S2f|@Lإ zTZ*frJ EL@   #Y@Y##,**7ApAA @AR@VY?(O( ((..0?''''   KK &FFE@@@@/@?@@@@@ @P@p@@@@ @@@7E;7MYC?OY2 +1@Y0 _22@ HG22@<2 2 3_3I33 CCC`CpCCCCC C   C C 9;%;"H;H;@ H;IEEL@#Y Pp`/]q]q2/3+3/+++_^]399//8^]]8^]qq]]q99//8]+]93+++99//_^]q^]q9393^]33/]]93]]+_^]3/33/+_^]^]013!3#7767#365!!67#"&'&'6&'&'326567##&} r^~px +wltlh`i*A2F)y{| +*Eb'Yƥj+L,ɇrj`J?"#'e|':h8 ^k;ZY5>E_< << +w w i +v bxQA/w"QP+BQdT^^vcR +HfQQl( "R 6BT:#Us&$ : $ |:"hj"&"2"( + Id` /""   , *& RJzRV> * +4  ,`B4tf |"6$(&l&(+6-40X12 234455d7:T;=?N@B4CEG4K"LPQZQSUHXZ([]>_HaJcpdehhjlnp<rtvy:yz{(|~|T*b2Px +r>v)J/\ +M. +<*Fp&v( ,    ( (. V &n  *  + F( 8n  R , + ~ +.    2    ( + +.0 +> +n2 + +& + +. + 4 . b. p 4  + * & + * $$ N$, Z- + -* R    &V&n*  + + F( 8n  + ~ +.  b. p + ~ +.    ( +NegretaMicrosoft YaHei Negretatu nMicrosoft YaHei tu nfedMicrosoft YaHei fedFettMicrosoft YaHei FettMicrosoft YaHei  2016 Microsoft Corporation. All Rights Reserved. Portions 2016 Beijing Founder Electronics Co. Ltd. All Rights Reserved.BoldMicrosoft YaHei-BoldMicrosoft YaHei BoldVersion 6.21MicrosoftYaHei-BoldMicrosoft YaHei is a trademark of the Microsoft group of companies.The font glyphs are certified compliant with China standard GB18030-2000 with the font name Founder Lan Ting Hei. Microsoft Licensed the font glyph from Beijing Founder Electronics Co. Ltd. +g,[W^[W_bNSNSY'ekcu5[Pg PQlScgC0g,[W^[W_b N[W^T ekcQpNѐN-VhQ{&T`'hmK {&TN-V GB18030-2000hQ0 +http://www.microsoft.com/typographyhttp://www.founder.com.cn/cnMicrosoft supplied font. You may use this font to create, display and print content as permitted by the license terms, or terms of use, of the Microsoft product, service or content in which this font was included. You may only (i) embed this font in content as permitted by the embedding restrictions included in this font; and (ii) temporarily download this font to a printer or other output device to help print content. Any other use is prohibited.http://www.microsoft.com/typography/fontsNegritaMicrosoft YaHei NegritaLihavoituMicrosoft YaHei LihavoituGrasMicrosoft YaHei GrasFlkvrMicrosoft YaHei FlkvrGrassettoMicrosoft YaHei GrassettoVetMicrosoft YaHei VetHalvfetMicrosoft YaHei HalvfetPogrubionyMicrosoft YaHei PogrubionyNegritoMicrosoft YaHei Negrito>;C68@=K9Microsoft YaHei >;C68@=K9Tu nMicrosoft YaHei Tu nKal1nMicrosoft YaHei Kal1nKrepkoMicrosoft YaHei KrepkoLodiaMicrosoft YaHei Lodia 2016 _oQlSrHgCb@g 2016 SNSY'ekcu5[Pg PQlSRrHgCb@g _oŞ_oŞ-Bold_oŞ Boldi@Q{|{|vwmploknknrtugjfiehehqszC!yC!ABWR+VR+UR+TR+SR+QR+PR+RJ+OJ+NJ+MJ+LJ+KJ+IJ+HJ+GJ+J 9AFC+EC+DC+BC+AC+C9AF@:+?:+>:+=:+<:+;:+9:+8:+75+65+45+35+20+10+/0+.0+-0+,0@++++ ++++++++G++ ++p+++~+}+++76543 2 10/.&'('*+,+"#$#  +    ?    ,<*<(<&<$<"< <<<<<<< <<<> +endobj +8 0 obj +<> +endobj +9 0 obj +<> +endobj +10 0 obj +<>>> +endobj +11 0 obj +<> +endobj +12 0 obj +<>stream +/CIDInit /ProcSet findresource begin +11 dict begin +begincmap +/CIDSystemInfo +<< /Registry (Adobe) +/Ordering (UCS) +/Supplement 0 +>> def +/CMapName /Adobe-Identity-UCS def +/CMapType 2 def +1 begincodespacerange +<0000> +endcodespacerange +118 beginbfchar +<0000> +<0001><0041> +<0002><0020> +<0003><0042> +<0004><0065> +<0005><0061> +<0006><006E> +<0007><0046> +<0008><0063> +<0009><0074> +<000A><006F> +<000B><0072> +<000C><0079> +<000D><548C> +<000E><0070> +<000F><006C> +<0010><0069> +<0011><0043> +<0012><0078> +<0013><6709> +<0014><4EC0> +<0015><4E48> +<0016><533A> +<0017><522B> +<0018><0053> +<0019><0067> +<001A><7684> +<001B><751F> +<001C><547D> +<001D><5468> +<001E><671F> +<001F><0049> +<0020><004F> +<0021><5982> +<0022><4F55> +<0023><5B9E> +<0024><73B0> +<0025><8BF4> +<0026><0050> +<0027><539F> +<0028><7406> +<0029><52A8> +<002A><6001> +<002B><4EE3> +<002C> +<002D><0062> +<002E><4E0E> +<002F><004A> +<0030><0044> +<0031><004B> +<0032> +<0033><4E8B> +<0034><52A1> +<0035><65B9> +<0036><5F0F> +<0037><5E95> +<0038><5C42> +<0039><81EA> +<003A><5B9A> +<003B><4E49> +<003C><6CE8> +<003D><89E3> +<003E><529F> +<003F><80FD> +<0040><004D> +<0041><0056> +<0042><8FD0> +<0043><884C> +<0044><6D41> +<0045><7A0B> +<0046><542F> +<0047><5355> +<0048><4F8B> +<0049><6846> +<004A><67B6> +<004B><4E2D> +<004C><7528> +<004D><5230> +<004E><4E86> +<004F><54EA> +<0050><4E9B> +<0051><8BBE> +<0052><8BA1> +<0053><6A21> +<0054><4E3A> +<0055><9009> +<0056><62E9> +<0057><004E> +<0058><4E1A> +<0059> +<005A><4F7F> +<005B><573A> +<005C><666F> +<005D><5728> +<005E><0031> +<005F><002E> +<0060><0037> +<0061><7248> +<0062><672C> +<0063><5B58> +<0064><0075> +<0065><662F> +<0066><0054> +<0067><7C98> +<0068><5305> +<0069><002F> +<006A><62C6> +<006B><51B3> +<006C><529E> +<006D><6CD5> +<006E><7EBF> +<006F><578B> +<0070><96F6> +<0071><62F7> +<0072><8D1D> +<0073><5185> +<0074><90E8> +<0075><6267> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end + +endstream +endobj +13 0 obj +<> +endobj +14 0 obj +<> +endobj +15 0 obj +<> +endobj +16 0 obj +<>stream + POS/2Pь`cmap":N<tcvt fpgmdl glyfW|!\Shead0[u06hheauh$hmtx ulocaw8~8maxp  name6post  prepQQ A(ZYEC@ $$t  hV V %()*,-./012345678>@ABCDEFGHIJKLMNOPQRSTUVWabcdefghiklmnoprstuvwxyz   00NN +N N NNNN$N*N-N:N;N>NHNINKN_NNNNNNNNNNNNNNNNNOOOOO OeHecepeteeeeeeefff/fgg g gg,g/g:gegggggggghhh7h8h9hFiij!k!kckdkekkkkklBlGlllm;mAmmnn2n8nnnpuppq6qrHriryrsstuu(u1u5uLvvvvvw wwwxx@y:y>yyyyyz z3zzzz{&{I{~{{{|{||~~~~~~~~~~~Qn TZ􂂈LehʼnĉƉ㋡a#(/DVwÎlnoǏЏԏ؏ُۏޏ ;GSMǑ̑͑ϔ.EMPdƖb{؞  %()*,-./012345678>@ABCDEFGHIJKLMNOPQRSTUVWabcdefghiklmnoprstuvwxyz   00NN +N N NNNN$N*N-N:N;N>NHNINKN_NNNNNNNNNNNNNNNNNOOOOO OeHecepeteeeeeeefff/fgg g gg,g/g:gegggggggghhh7h8h9hFiij!k!kckdkekkkkklBlGlllm;mAmmnn2n8nnnpuppq6qrHriryrsstuu(u1u5uLvvvvvw wwwxx@y:y>yyyyyz z3zzzz{&{I{~{{{|{||~~~~~~~~~~~Qn TZ􂂈LehʼnĉƉ㋡a#(/DVwÎlnoǏЏԏ؏ُۏޏ ;GSMǑ̑͑ϔ.EMPdƖb{؞ N^x NNOR}/wg{3Af-.MO5nl[5޲pزֲڱر~Q=ZE*(*ֳ'Ӳ 1]}ޱձPd; u6Xϯܰ?pwʯׯ0nKXJNn54m׮9XhBȬBMxI߭\Hu^۫c^dͫҬ(٪LH +~Nڨ eZ:禇Z;[6(ץ4ݣIj5_衹m}rR}9(T,*UC1ןĞ(ߟ_+򞽟؞מ7m^;n<$~`34ԛOћ T<ݜ,71蚷 ԙ-Wؙ&Xݘ69uwϗ5ۖ;X;ꕤxnݓ͓W="ؐY{Ks7 +(h0[\)؉ 9$#R䇇t';EqC#򂒃(#[C؂ׁǁq*8~WxSywwx#wwwv.uuuvuKtv uu*u=t4ttLu&stssttvsCtMst'sqqrrgrrqrWr]pq>qWqp\qpr9qqqbqqpq +pqqp~pgp3nooool;k_l;lkk]jHj> +#eB #B%%?? #eB#BCTXE#E ic#b @PXgfYa c@#a#BB!!Y-, EN+D-,KQ@O+P[X EN+ D @&acaN+D!#!EN+ #DDY-,KQ@O+P[XE @ac`#!EYN+D-,#E E#a d@Q% S#@QZZ@O+TZX d#d#SX@@a ca cYYcN+`D-,-,-, +C#Ce +-, + C#C -,%cf% b`#b-,%c `f% b`#b-,%cg% b`#b-,%cf `% b`#b-,#JN+-,#JN+-,#J#Ed%d%adCRX! dYN+#PXeY-,#J#Ed%d%adCRX! dYN+#PXeY-, %JN+;-, %JN+;-,%%g+;-,%%h+;-,%F%F`%.%%& PX!jlY+%F%F`ab #:# #:-,%G%G`%Gca%%Ic#%Jc Xb!Y&F`FF` ca-,&%%&n+ #:# #:-,# TX!%N+P `Y `` QX!! QX! fa@#a%P%%PZX %aSX!Y!YTX fae#!!!YYYN+-,%%JSX#Y%F fa &&I&&p+#ae ` fa ae-,%F PX!N+E#!Yae%;-,& b c#a ]`+% 9X]&cV`+#!  F N+#a#! IN+Y;-,] %cV`+%%&m+]%`+%%%%o+]&cV`+ RXP+%%%%%q+8R%RZX%%I%%I` @RX!RX TX%%%%I8%%%%I8YYYYY!!!!!-,] %cV`+%%%% % % %%n+8%%&m+%%&m+P+%%%q+%%%8 %%%q+`%%%e8%%` @SX!@a#@a#PX@`#@`#YY%%&8%%8 RX%%I%%I` @RX!RX%%%% % %I8%%%% +% +%%q+8%%%%%q+8%%8YYY!!!!!!!!-,%%%% PX!ehY+d%%%%I c% cQ%T[X!!#! c% ca S+c%%%&JPXeY& F#F& F#F#H#H #H#H #H#H##8 #8Y-,# c#c`d@cPX8qvo @ LL@ L@ +M L @ L  +Al@t @l?+?++9++/+201+++76&#"3267#"&54632` B  !  {v+5 L@ L L.M.L L@M L"#)2, M@ M73 M3L M@LL M3@l/@l) +"@L"ss +&Al& +@l ??++9+++9+9+++++++/++2201++++++++7"&546754&#"#"&5463232653#"&''326751.  + +!  +"  +  B   /xy0 L(@L&M L L L@L#+ +@M@(M2/jjj'Al i +j ij ?+?++++9+++/++201+++++++75326554&##532673663233#5326554&#"33   +* + + V + +@C E{)ֹ@L &@M+MM@vL* @M @M@M@L@L@L@L% jj%@L%@L%@L@L@L@L%9 tij 9l j jj ?++?++++++++++++++++++++++++239/201+7#5326554&##53&&##"326553#54&##360h  ! +  +! +$@ +: Ipv"Y@ LLL@# L +$ s Al @l?+?+9+/301++++747476&#"3267#"&54632#"&V + Y  ! md@ L  MM@ +L @ M ii@l +Al + ?+?+9++/+99+9/01+++73267#"&55#53267733#< + + +  (($ + F' tv @M M MM +L +@MLMLML@ +M @ M @l@l  ??++/+01++++++++++++7#"&5463232654&#"tX<!"$$uy)@MM M@ L M M@'M+*(%i$#j($i(jj sAl ??+9+++++++++201++++76632#"&74&#"33#5326554&##5326733 + +  JU 6S wt-./01Ĺ-L,L"@ M!M!MM!'''@ L@L@B M3'!/1i 0i&/i).i,)--"'!'&j's ' jj'')j'Bl?+?+9++99++9999++++3/+++9/901++++++7376&##53#"#"&546323267667'&&##53#"'#3#B*" "*O + CcX + !%#@# ""//9/339/39/301737#&'5'5#"64'375#535 0  799  #5 + +bEE'/@ ** *//333301767'6554'7#"'&'7#"'&''>;2'  (' WC,.(* +#"  c  +  95 !#< BFJNR_@-# 188>,;,00 PL+LAA  HDODKK  + + G!CC5 5//9/339/339/3339/3339/3339/333233017675#"'35#"'37#37#7764'375#37#37#"'35#"'35#53533535335   & ? ' + ')&&W S $ :*  T 7%% $U% $C = = ?C < /  + )  ) + +h((((.**** =jnrvze@0`P 77;;>xlXl^^>,2#266>tpwpkk>H~s~oo>B{{> >//9/339/39/3339/3339/3339/3339/333220176'767#'665#'3765#"'35#'66734'37#37#'37374'5255#65#'>5'6635'3533535'37 ( V< ;  +  - 9         + + -   !"% + $ +(   $ )  + +   7$*.%J + 1d!!& &!!J  *5%@ 1+ ( %  //9/33333322017#"'&'737&'5667#'667#"'36#"'&'2#K +U #" + X D#%8 ; ] . + +  + +  Z#i?HK0 #G +  +(:+@!::%: ://9/39/39/33320177#"'&37'7#"355#64'37'&&''667pAe + + + E aa_ +7 +<%,$<';  + &100- - + $'$5 11@/ ("&//9/3339/39/39/320173535255#65'667#"'36737#376'Y\\\#\!)7 Z  +U V y##)!!P #9 q/$   + v r% L$@M!MMMMMдLL LM@1 LM 'iji "Al @l ?+?+99?+++/2201+++++++++++++76632#"&'#54&##5326732654&#"# + +   +  ]    +#.26ZU@, j.(25       + )R   +2 ' %   +#@ ""($$//9/39/39/32017&&''66737#"355#64'37 5.,+7$'7=d e ``^ +-  1)* 6*e '88- . +5@;@< 60  00((//9/339/39/39/33323017353575#64'36737737&'5267#'66#"'&'-444 4 + + +! +'6   : @@FFF@u$/]. " # +8 $ u "p 2I + @ +   //9/332301737#37#"'35#"^C k<     //9/301>'37# =^& +kH + 7W3@D S:HP:>> 74K K//9/33339/33333320177#"'&54'36737##"'&'65'667#"'37#&&'#'667#"'36771   1j? 6/*%)9 qVh2&!- + 41$4 C e ++ +)  +  ("   O ,'! !#  #[6 P@  L L L L,@M@ M,0/  0/]/++01++++6"&&6632&&#"32U  0 +&  +7;!@9 18814++1//9/39/39/30174'375#>73"&&57&'5267#'6673735;?A<8  >5! + +s"$ +n +AQ ,  2# 44g,<  +,..!//9/30177#"'37&6'72'54':~ A +(3 +2w  +X +"L5@!/;,;?? ##//9/3339/3339/33320173533564'34'375#65#65'667#"'35566737##"'&' #^  !# J 30  ) ????XB0 . )"J%9 R.F(5 + -  + g'2F#@) +)A55!)!//9/39/339/30175#"'37#37#67.''>777#"'&7##"&54767337"O + 8 W- M643  + J   + G +g 1 4  &%  +  + 8   +" //3017#"'&'&''67&'766g S +32-)1F@/"%  P'0 -/2/IP=G<#@  @ M@L/++2/0167"&&6654763     +   7;?CWA@D=# M9A +     +  B   &!!& e+H l 81@*11.. 7%4%))    //9/3339/3339/330174'67#"'36737#655'674'37#37#"'35#"'35 +, O  + X~i& F2 G :`    )o L 0 +) P P  FMXyQ@&_ TNr E31LLrA979EEroumuyyr(r(//9/39/3339/3339/333333332201737#"#"'&'37##"'&&'5667&'67#'367#'366737#67#7#"'&'76'5655'675#'34'37#dj g  &H * + -'- + +$ 7 +, T  % ^+ - + + K +  ) )  + =    +     C + + + o U H 8) ( !5@ + ////9/3322301767'37#&''67&''654'74'65'6 + +: + +M ! +#"!"*'c "  <$BC  @,% !%0:!6M= Z i$ )15>N'@:=5%3%))H MHM//9/339/333320175'667#"'37#7&'7#"'&'37#7'675#'764'5326'54'&O$   e F P * + 99r -&  E/&   +  0  3W] +!S   +  7BT+@$&&99 9OEE(9(//9/39/39/39/320176735'37&'375#65567&''66?#"'&7#&54767337&_Q]<A  '?2)"[]@0    K  +  Y//k   ) +@ +& +*   5    @ + //9/39/301735''&'375#'>MyT + 3wy="774 + ! + 4N,AW ALS\jK@#=chXTHQB#A37A;;! MQQ++//9/39/339/339/333333323220174'34'34'5#'7#"'37#37&'5655#5#5#64''#"'&'37#"#"76'7'6767o%% V + | J >  +   P : 4  + #' +"  +) + +  A  I  HGLNT[8|  4  $!U   +=" +"&*?IZ[@+3FA(;;$'',##JXX + +" ==//9/3339/3339/39/339/39/39/33320174'37#37#37#"'35#"'35#"'3535'374'5'5#64'7"'&377'655#")H :/ J 3& %LLLZ KLL &$ $ +  +      Z( Q  +1F}  9 + Y!!] +:E#@8;5 A/ % /3/3339/33333017#"'&''37#67&'&'5275'6675#"'34#"'&'(Fg  "0G'- 4*B cK   %*1  'a~  : G +C  "&*:7@0 (00$'' 6##  //9/39/3339/39/3330174'37#&'5655#"'#"'&''35355#64'37 + / 4  K))))&' -  }  8<@   + + ++6AS1@2 ,D D (( 8NDD8//9/39/33333332017#"'&'#"'&'5667#"'366537'#"'&'77#"'&7#&54767337&N +C1# 2:.*: O q> += K    +Y  +"  2 %!7  +h +>  +(3AT'@B6K,1% + +K#;K;//9/339/33232017'>7##"'&''667#'37#376554'74'&'765655'667 ""  G 1 +  x.0 +&.# +  + A   + . +! 8 +    +!!g %> & k 5 #.. //9/3301655'667754'667332653##"55'67& + C!  + 5"# X!R m eH ] ( !?= #-J%@> 0FCC% 6%6//9/339/3232201765'667#"'37#77#"'&&'7#"'&67"&&'&&'675#"'37+)(- | M    <6,:$  '  -D+(G   U_  e     P .26Qm=@ `l4-03TEP/33l-3P//P3-l%9 /22/39/////]3333330177&'7#"5&''2664'37&'5255#5353574'67336653##4'67#7367473#"G  +L  + +"35555/  " + * # !' .   +*p + f  #<~,F +#   fN    PV[`-@^X>X"",5V\VWW,/SS,//9/39/3339/333017&'5664'567&''67&''67#65'66737&375#667"&&'7#367335 +" 3GL*,8<#9<,- +9 5A  # ((> /?E%0 / ( % - + + + +  + %j   (+@  # //9/3339/3332301734'37#37#37#"'35#"'35#'66? +;9[-OH m& G=  . +2>H H >+> J)@@8,,85<<@@.8.//9/3339/3332017#"'&'7#"&''67&'#37&'567#'6654'3&'37#6677 &%(O.   +/'M7Y   +  %G0 +< 1S!%U ! +B &) +6L5@:E LAH>HLLE4**.E.//9/3339/333323232017#"&54767#"'&''34'376'567#'>5#"655#"'354'37#g +s u-& ($ ' '  +*k+  +-! +) d+  +)c59*,:)  r .  +8 + 3)@#-//9/339/39/332017655#'66737#37#37655'>7 +P V, L3  &! $!@  6 1  _5( #  +(!&&&//9/33017#"'&''67667#"'37"327"&a Qq  L:&(J:    Q E !*=/@%(0 300;;//9/39/39/39/33201764'375#53535'#"'&'64'655#"'37&'V1 + 4444e | P o +  ? + B h''-**y    +  +81@ 1& # 1-5*5 1//9/3339/33333320177#"'&37#&&'#'667#"'365#"'366737F0Lc .,-  ;03,E g; q  4  /0  /)%55   % :DM@ JE@;//33330174'52'5'667'667#5667&7677&'7&#"'&''"'667# + + /*( + +) ;`> _+ /!   + +  + /  0 + #(% ##2 (4"/@  //9/339/39/39/320175#64'36737'353535x  Q +xxxxx + +   ,,2228// 51@ ''$$. ..1++.//9/339/39/39/330173535675#767&'56'5#'67#"'34'36737Saaa ao "ITR:l 0 F#@ +  (P9B5 S   $!@ !!  //9/39/39/301737#"66537#376'7267#'7  0u v " +w2 | % / %7 +;$ +  +!;?EOSW]@,% 55U''5ITT5CLL558=-@F-PP57<3005)5)//9/39/3339/333339/39/39/39/39/3320175#732673'#74'35#"'375#64'35#"'37#37'35335#35#"75#65356( 46' FlH e -?  ++H+H4\X B ,zr!   # &. 753D0^&&  BFJN@O1885LHKDG,==C& *@  GGGCC@@@KGC@@CGK5//9///////]q]]q]q]q]3333333333333333301735335335'375#6435'36537#3737#"'354'37#"3535358'' ("fY@a5 +5$4 'fffff!!!!!!   +"s +  + e  +\ "#%@! //9/3339/33301735'4'375#65#64'35HWF HEEBB' ( : L K D BB +#-O/@7+=$D44C?==!!//9/339/339/333201767#&''6737#"&''6''&'>7#'>5#'37#37&' , + 5  !"12X   '  a K&  + (%Aa$.4=  E$& +&   +.+963! ' D  4#@,(//,//9/3339/330175#354'5#'754'35#'754'354'354';EC: ;;' + a, % ' :a )  5B Q-   1<1@ ##8/'2'',/22/99//33333333330165'67#"'35#"'34'37#36737#"&'#'#"'&'w(B=#A m9 Z +=_  +1c"B:O +(AD#D >  >@ BZ    +.@)@// ////9/39/39/39/301737#"3564'375#764'374'5255'&&''66GK J &4$&]* L 8'$+3*)9~  >>_0 <[iN + ?  ;|  $+> 0?C=@ A>>5@@#**''0-""//9/39/3339/339/39/3201664'374'5655#74'37#37#"'35#"'64'375#535  n 1 c : 688<\) +   E8; +    1 + &=))  '/:>C\]@,Z60,( "" AII4'374'?)))))7)  m! , *L112$2! +/ $J   c cs   + + 2283| <#,!,f +   !6@aM@$=$8X__ XXU[S[__X1$$EXE//9/39/3339/339/3333333301737#37#"'35#7'6777#"'&77##"&54767337"'7#"'&4'5655'675#'34'37#7iX 7-  E &#  e e G;!  ) + +"K C  C9     + +F + +LW +D 8$ $ +3 V=@: D'>'66 J"G"&& VM!! //9/3339/3339/33332320164'74'&'525'54'37#37#376'5255#655#64'35#"'35#'667. 4$ B! ## "! B$ + + + +7W +\ +  + $   + 1  +.E " +>G.   + L[_K@#"]ZZQ\\8??<<E3B3770 II((//9/339/3339/39/339/39/3230177#"'&7'655#"'37644'37&'5655#37#37#"'35#"'34'#764'375#535& +  % + + \  + 5 +$ = ( "(-;    ( ^ ++m$  + +   TR(%(  " :''  $(-1@+ "&)&%!!//9/339/3339/333201735655#65#'664'37&''3533535C(CB#h@ CB~55z 3@ 95&@p + 7777=* 5 #M@ GDD:://9/339/32201737&'5667#'>7#'#"'&'67#"'&'655'667#"'37rh  " 7 !   E  %& G  + +  ,C72C)/ v   +H "I/   ,3W7@W%!##)T7Q7--II//9/3339/39/39/322301735'67&'7#"'&''665#64'37'67'37#"'&''67&'67#"'367B1  ? +(++ JB@   %#  $ +HBB8 + .gF K + B:";8  <" + +  +$(+ + *@   //9/339/3201737#37&'7667#'65#"7#"'&' {A + + + CQZ? W  +M  +3W%3w: +  3IP[=@%W QN*J :I +--**30 //9/3339/33332333320174'37#37#7&'7#"'&''267#"'35#"''#"&547654&'5667'&'7#"'&' +' B5 ^ + +$i  8: + +% J '   )N# + +# 6  &   + < 6 j$ + +b = +  @M M  M +M +M @ MMMM M@<MMMM MM M MPMM@M ,MM/++/+01++++++++++++++++++++.66")&>1 *B%e#x!L@ +L ! M@ MiClDl@Ms +ijj  +s??+9?++++++++/++++0174&##53267333#532657'2#"&5469 + J eig8g[M MM MM@ Mji j j i?+?++++/++01++++7267333#5326554&##5% Nnt@ M  L L @ + LM@ LL L@6L   + j i@L@ Lji +@l +@liML@ M j @l ?+++++++?+++++++/99//3301+++++++++7#57#"'733267nVE% RF& +'e "gxIݹI MH Mд L +@%L+LL*%+=08 %08C@M@MC@MC@MC0M0@3 L0IHj>?j>jj> >!Al> IiI?+??+99++++++++/++++++229999++01++++726736632663233#5326554&#"33#5326554&#"33#5326554&##5 +  +  " " "t LK  + JK + +IWx0 L(@L&M L L L@L#+ +@M@)M2/jjj'Al i +j ij ?+?+++?+9+++/++201+++++++75326554&##532673663233#5326554&#"33   *  U A? + Ey .MMLL@L, !!@M@< +M!0Dl, +'i&%j+&i+ ij i   i Al iAl?++?++99?++++++9+/++2201+++++7&&#"3267"&5463254&##5326733#"#5\ !  + ^$6 mv7@ 6 L2M@ + L,M@M. ''ML@%M9'3L3MM3('i((((@. H+(j+@l#@L&#s& i @H @ H j@l +@ L&s& ??++++++++++++]+99+++/+++99//01+++++746323267&&#"#"'&#"'732654&'&'&'&&    +    + W!  +   % + +  %o M M M M M @, M MMMMMM M M@ M(M M@ M M M MMM@ M  M M@ M @M, M  +M +/+/++01+++++++++++++++++++++++++++6&766&&'&6M'%$ +/>) 1B )8<'@:// 599//9/39/3339/301765'667#'35566737##"'&75#64'3735Z " 8%", 3&o31 +I3c\['5- +/   +Sq,c" + +}} %,04\^@32AXX>\.1WSD*!-MQ111\1D-QQ-D1\9 I&/333/339//////]]3333333333330174'37&'52'5#64''#"'&'7'635357'655#"'35#'6737#37#37# P k KPPP""  '  ; +- ) -(' += v !?m +;  +) &""H +6 ( (D  + ( %6SZvO@%m6200 T`^^  ?HH   " 8LLs s//9/39/39/39/39/39/39/339/3320175#64'6737#35#'35#'377'275#'37#73733676##"55#'>667&&''37&&''66v D   +  +$D  +  /7R + (S 2G    +$  P  + + **B +7 + +##"  + +0  '  +2%!V + +? +   xz.t.@9L L L, @L0 /&%j&* iji j @ L Al ?+?+++++?++201+++726754&##53267333#"#5#"&554&##532673:  + +  + ?b <S  ,$+$//33017#"'&''>5.''>'X "I%+  +?.24K? %ID -2)5=&  "(,<&  E?@!.2))-$$(----((-!//9///]q333333333017'655'667#"'35#"'35#"'34'37#37#37#67&&'\4, '$0A h' H8 YAb3 RKo +  +(3 ' (    +   01 !%)-1C@'## / +.. !&*!""  + //9/339/33339/39/39/333201735'67#"'37#375#64'35335#3535j*1@ } + b+D,c***/,,`  + Z<#m&&,(( @ +  //9/33301737#37#"'354m ;_R b Cq  +8<@DG@!B">AA":=="599"/3")-"//9/3339/3339/39/39/39/320175#65'67#"'367#"'367566737#37#37353535Z&2, P! D6D[  ++>_j^oZZZZZQM Y!'2 +   + +  !tx#0@,M(L( MMгM@ L*$!@)M21 '-Al'@l i jijj?++?+++?+?+99+2201++++++3#5326554&##5326736632#"&''32654&#"..   +  + v + +#9 + + ut3456789:;@ LM3L2شL/L.L'L'@ +LML ML ML L@ +M' !-@gL--!=!7'i745i8;6 i657i9:74,;i/:i9i8i7i6i5i"4i3 & '( -/j!j-,jjj!jj-!"j! ?+?+++++++9++++++++++++/99//+901++++++++++++++++776&##53#"33#5326''33#532677'&&##53#"37#3'#C' ,' ++ D =I(."#'*Zddd7>'@52== **//9/39/3339/30175#6554'37'35'37#"'&''67&'67#"'3667#97F9 & + 21  ) + (#  +b + ~~;  F +  + &" ; & D# +1/@/*'' ''( "'"//9/39/39/39/33201737#"35'375#6455#6554'374'Ba d =K<=Q" $00 + % 1[!~ + +  +y* LM@K L@ M *&&@M&@M@ M@ +L,&)i(i!"j!j! @l@l s??+++?++++/++++999/+01+++74632#"&547454&#"3#33#532655#53- **I \\az //301737#" j +4XO@%F#+#11 #,,00# ''++#CI@IMM8#8//9/3339/3339/3339/33333230177#"'&65#"'35#"'35#"'36737#37#3765'67#"'34'37##"'&'p)" C 2 A +  A :(  ( )   ~2$* * % " % * $;>(,E # )    "3A@(%/+ 22//%%%%&%//9/39/39/39/39/333323017'667#"'&''35353535'4'3737#"'3k +*'%C!$ #GZZZZZZZgY  9    +"% &N +  [7 +?//016'7#"':  "  3JNRVZ@-B4TT7=PV)&LO/ ,KJFC=VOCCOV=!2;!/33/39//////33333333333333333017#"'&'37#37#"&&''667#"'35#"'367765'675"'37##353575#  + T  =&B%&"  ? D 4 + V 1$$$$$$    4 / +4#74 4 $  +! + --3**^ %  7S1@Q,!66;BBOFF00//9/39/39/39/33230177#"'&7'6'5#"'3767'37&''67&'#7276##"75#'664'37)  &  ( +< ZY +,#*9@ T + ,# + +  +" \ + ,& +( + "'0 + 2")% +  +(,O:@(*:@@8D)(D))D(=0%/33/9////]3333333017357'6554'375#67&'#53565'67#'34'37##"'&'HH'" +G + +/ %  .@H ,  +*  && ~! + "4  &  +WY''#:>%,@! * + +   /37XK@#, 5..Q%44Q  $$QNTLTXXQ1Q00Q//9/39/39/3339/3339/339/3220164'35#'>'375#34'37#375#'3535'76'5655'675#'34'37#}/.RT.! =DTDD!# & + '1(G.Ia    + ( ($$//0Q + G3) '  ,@ #++&&//9/33322017'667&&'37&'5667#'667#^ ) (U 2!'Zr +4$3-  29%(, <(f +O!M+;?"49D+@@ :5 ""4+ //9/3339/3333201766737#37&''67&'#'>7#'76767'#"'&'^dV !5/'<> '  .  +@ # ( + ! + !  #!;*5,    1 !n  "5#@" 51..//9/339/33320176'37&'7267#'>7#'67'675#"'37# * %",((!$ #,5$ S 20  + L5 *Z)6+)3+X +p "4'@ 33  ) //9/39/39/39/301655'6677353537#"76554'375#, + +8UUU  S + U ]$Fk <@1 J# ?6)+ (@   ' ("$3; + :  # ) +%1!   +Ni H 6# % 0U + + +#+6I7@7@1,@ +# (@(//9/333339/3333233201735'54'354'37#37#"'35#"''667#"'&&'655'667+8+ /  4 + +"#3+z   + FF -$  - F  F ])/ +E!f<.r + !%)2=C@:4 +'#&&"" ////9/333339/39/39/3333230174'37#37#"'35#"'34'353535'6677#"'&: D 7DDDDDD!0A:   q q  + &!!'$$-  & +  +4E.>5>5//9/330176'5326675336653##75'74'74'77655'667 +  ) " X +U + +" & E 1 +cg l m + -" +: + k*&N #  ','@$++##  //9/3339/33320173&''67&'#'35#"'34'37#3767#,=?!1B>+ FE f Fj# CVf'  '& ,+ # + +C.+ 7?WK@##>9IWETEII+22//7&5&**LL//9/3339/3339/339/3333223016'5655'275#'34'37#774'37#37#"'35#'7'&74'37#6'5255#"'1  ! ) ' "X +! =/  E'  9 + 3:   C 6  ( 1U  '  'n +  $  H + = #%7;K@#4.+! 966+ ++ ++,88&+&//9/39/339/3339/339/3333201737#37#37#"'35#'35##"'&'6554'375#535>l B 9"q @ 2#J k  / B B /: +  v Ϸ %-?F3@41)-##1 12BB.1.//9/39/39/333232323017#"'&&''37#"37#&'5655#"'66764'37&'77#64"  MZ Y } H # - `$    +%\! + c 4 s   o"74x2 6J;|# +"'@ +# //9/3333017#"'&'37#&''67&'#"767q  \> (A=/CA*  9  +1A+$ "+ ++@:'': )%@&&//9/3339/33301765#'35'67#"'34'37#&'#37* ;&GB#; e +D\!A6 "$,XN%-S  'S #Ui &.26LU`K@#\3VQ/M=L,3'"304//33  //9/339/39/3333332333320174'37&'5255#64''#"'&'7'635'35'#"&547654&'5667#"'&'7#"'&'  + R r URRRg"  + %P"> : + w (Bz <   %[""& h$ a ;  ",6BVI@"77732673##5'667767'667'6676767 +4  lO +S 5 $% '  + ++&4 6( +  + +   + +   [(    + 1# '(?   +J #1   +?NZe7@ca\3M,'M!MDMM UU//9/39/33333333220177#'66737'&''66'#"'&'#"&54766'76664'375#7'>5#"'&&J +G+8-M0%mA  jk/ +.'0 &, $! +  % !+ $7 +   + + # ">>4 & +   J`irO@%Anj/eIaQ`# >II//5/1-##'/'//9/339/339/39/33323232333320173535'677#"'&'64'367#'664'37#375#&'555#'#"&547654&'5667#"'&'7#"'&'BBBJ $C! V +=hG +- 9   !G# #5# (. )L<A_ +   + > +B?im$ +f + =    $8+@%/ + +$ //9/3339/333320174'37#37#65#"'35#'667655'>7  =* H, M+  B + & 2 : L11 :.  j' "8 " h 4?JiQ@&XFQ@ '667"37#'375#64735*".9K1%''" Z6A?S(  a + W #Wcc +W[_crg@1j0, +]Y..\\%XXL=C#:CPPaqqh``//9/39/39/39/39/333339/39/39/39/3322230173564'375#5#64'37&'#375#645'667#"'3673&'737#'#35335'3564'375#;(6' (-*"*'*0 T  + ? +Z-!'2-''5&'''>' $  +R*) *  &  +    + ****''9% !  + + +'=FQ?@,.M%GB>%.". %%..//9/339/3339/3333233017#"'&'37#37#37#"'35#"'35#"'#"&547654&'5667#"'&'7#"'&'%rL A- O :   $J#  +5?J J ?l# +e ?  + +?CG9@8 A?E*5=E""DD@@%%//9/39/39/3333333332201754'37354'3737#6'5655#'665#&'5655#'665#'7353351"  $  %  &  # 0#:&l( H8  Gd + + ]"CE^ W)69%KKKKK +LPTX\a@.ZZ1HVLVYY1CCUU1NR"RBB1(9M9QQ1.4+4881//9/3339/3339/3339/3339/333339/3330175#&'5655#"'35#"'35#"'35#64'35#"'34'37#375#3737#'3533535354 / PN o. O32F g Dh342 +344444'           + Z< q/ @ +M LMMML + L@LM L/M(M%LL M @L@L-&'&&@ M&@M&@ MM@ L1&0/@M/M/ L"(LMMMMM M +@L%/<<~-'&i'L'L'@, M*'j*9l%"s%i@Lj9l % +s% ??++++++++++++99+++++++++++++++++3+201++++++++++++++++7&&546323267&&#"#"'&#"'732654&< +    + V ) +1 +xv GWxSLPLLLE@L:M: M"M"@ M MMM L +@LLL@"LQ6'!9!BQK@L@ +L9!!9- L-@ M-YHHEELE ME@S MEVEE$4 0$s*'6?<$N@l$ @l<<(+/'  !T/*! + 9 L +W[_cg|{@;k\} FMMJJkSAPAEEkaeVe@@kY]`]ddk 7X7\\k&2#266k {k{//9/333339/3339/3339/3339/3339/3339/3333330174'37#5#65#'34'64'35#"'35'667"37#375#37#37#"'35#"'35#5353353533554'#"'&'6'&54767  4! .*&$ E.3", H)*$ @0  J ;&& *\& * +     +'    !    ;#" +     + +//016554'7&&''667w ;*4++9 +(B d)) ,%(0J +6]h9@3dZW#))2W22W^&N/333/39///333333330173567&''67&'#'>'34'37'7#37'67#"'&'65'667#"'37'#"'&'}$  ' ")& + "( +  )    + 8 +5 55;%&( +  *(87[ +" " +5 4  + JX2 +9  + (,QUY]f@6 ((" ),,]VYYRUG<f? '079R"$. M $%%%%%%*  #t +&        +;^@ TFCI@IMM.F.//9/33332017&'7776#".547#"'&''67&'767'675#"'34'37#76'5655 !"1+   U & 1 )$&2 0 8- $  '%$  + :": $ =2 # + -P + G !1@  $$//9/39/33201737#"255#"'37#4'''6665'667qUS & s>"1' +  f k)dm d4 &/=#@'*$2$$727//9/339/332201737#37'667#"'&''667#"64'74'&'55i B(  + +*),/ ,  "$  +',)@7 +  8#L R~$ +  ,048\W@)9FLCLPPx6++x2x"55x11xu{s{x. x--cxc//9/39/39/3339/39/39/39/39/333201764'375#64'375#64'375#'353533565'667#"'34'37#&&'#'74'532655'675#'34'37#t4 5)  A   45P3 B,& $ R3 J$ g +  & +%  H   h>."  %  +  +7v ] P + +0 ) + !+H'@( +#DAA! + +44//9/3339/3330176'37##"'&&''67#"''7#"'&67.'&&'675#"'372 P& 6?$ '  @5.;&  +  &  +3   + + +! .&G @   +   Q  +%4?)@&<6/!////9/33333323201737#&&'#'67#"'34'#"'&'65'674''7#"'& +0G8/E9 9'q' , +C <c 0\j)1_ 8 +  W(&e    +)5?I]3@F[A<[7.[5Q\'$\\//9/333333333301737#&&'##"'&''667#"'36#"&5476?#"'&77#"'&4'732653'#r +Mh>)+  + 6'2 +< ^=  +7>5  +<  %  +1 +  +#       ) ' 05@ #*#** *-&&##*//9/339/39/33333017'&'7'665#"'35#"'35#"'354'37*   % X H    $HM 5 2 - E #@ //9/3332017655'667#"'37#7#"'&(@!=N _  @  `&X=%I1  + +* -7TE@ H 4/ :-$* PMM  @ @//9/333339/39/3333323332017355#"'34'34'37#37#65#'67#"''7#"'&67"&&'&&'675#"'37(5 + + (  - 4(0& ( =7.9   '  8888  # # 8 :;/) j +   + +  T  +=;@= : $$22//9/39/3339/39/39/3220173564'375#53535'4'37##"'&'65'67#"'@O> @@@@  1!( @88V + 22800( +0   + b>8-#;<  <)@++(.&.22+//9/3339/332230165#'664'667&37#'65'67#'34'37##"'&1#. RO .  * * -\586_$ +  +; M"g0I#1=$ *    /Q+@@3",G=C;CGG //9/39/3333223017'67376'7>77&'7#"&''667'65'67#'34'37##"'&  +H  #`9 %  A * * -<  +z +zh   +; -/m-Q&0>! )    15@% +1(.""**//9/33339/3333333201735'7#"'&5#"'36737#37#65#'67#"'g7T  o 5 >#I7NC( @@> l@ .* @BDJB  26AS3@& 3D3D4((8338NDD*8*//9/39/39/333332017"'67#"'&'&&'375#65'>35'7#"'&7#&54767337"U )Q+ ) 82O Q#' Q@P      +& /B +'E77   2  + !Cm-@G-]%33]iKfKOO]]]//9/39/3339/33201737'>7##"'&''66375>7##"'&''66'66737##"'&'65'667#"'356 &"9  +  0 +";0 /'4 0,  + 3      + #M '    0U2   + V&J+6 //8C^5@-?:50)%%))$ H]]DD//9/39/339/33332322017&&''667655#"'35#"'37#37#&'7'6677#"'&&64'37&'5326&'7##  #$ '  : B +&# @  < ' +  ' + $,7C % +% F ? &  A3" +8  !<",8#@5."" & &//9/39/333201764''66737375#77#5>57#"'&E ) + : + 1 + i1=<=;@&'  ;<  +=Z\b*+=* (6 F  #FH@% 4;;8A//>3$**D. 8 83..38 '!/33/9////]q333333333301764'375#75>7#"'&&'34'37#37#37#"'35#"'35#"@hj+1++*-! wT2 O$ AI  i$ @7 ' + .JH< +(" +        :>BZpO@%[C$@&&C7??C<66C,;;CCk^bbCUFJJ(C(//9/339/339/339/39/39/39/3230177##"&576766733&&'7375#64'375#37'3535'37#&'&'#'66737#'&&'#'66 SS + + dY + [b + y[[dw +. +7  h +6 > +  + d  +   I  "X +    + AD  + + $   + + +  +6?M%@G6;->6!--6L6L//9/39/3333017#"'&&'37&'5667#332673##"55'66764'56554'&^ (  0   14:k +   * -%` % q!?CA H  +    )cgki@2 XA5?599XF0D044X&XKiIi//XPe*NehhXU[S[ddX!X//9/39/3339/33339/3339/39/3339/3339/30177&&''67&'767#'77#'373775#37#37#65#'35#'35#'35#'35#'34'3737'3535X ,@7H/  + + "# 4  +$s& 6. K/ @ 1 1/?/ $  R&&&_0  - > = $ +      )!%3@## "  //9/3339/3339/3320173564'34'375#53533535D@C ADAECCXv+ +- n  @@@@FCC AE)@C C22B //9/3339/33333201764'35#"'37#37&'5655##"'&''6'##"'&''677350)- S*  ," '/, "%,v/ / + x q  ),@ + )'<5// %)-1B/@%@!./AA+..'**5&&>>//9/39/39/3233301767'667'6677676677353535'4'3737#"'3(& - + + +) +9 78i@@@@@M?  %=  C  Y77=88>==P)  #"&+@$!!!##!//9/39/39/39/320173564'375#75#64'3735b;I9;z88T5 7 + x23456 L@ L.(L-(L, L+ L'M L@ L L M LMM@ M -%@JM8 i 536i5i+4i.3i,.j$!i j$ i$  '&2+jj,+jjj, ??9+9++++9?+++++++++/+29901+++++++++++++++733#5326''33#5326554&##53267376&##53#"7#3C&)*  **  L;1-d %)!@'"&&//9/39/39/301>'667&37#75#64'3735 9J  ./4 ZV +pZ8O* +)  % %//9/339/39/39/33233220173535'366737#"4'7&'56'54'#"'&'6554'37&'5655#7000Y  9 , +x +/ 0{!!'!!L  sJ ? t ZN + +W + x  $ )LK@# : :%#:7=5=AA:((:-:-//9/39/339/3339/3339/339/30174'37#37#'7737#37#37#'35#'35#65'67#'34'37##"'&'l[ y\ {J - ++ Y + $ G  ) )      , +5 5,q$;=$.># ,   +  =LP:@ NK &&<6BM K6MM6K #/3/9////33333333301765'67#"'34'37#&''34'376'7667#'65#64'375#535#IB4 f JbA7w*   +:. z( **9A +!/70  +-  5s  + .  + ,@":H0 6 J66//9/3301737##"'&'655#"m< +,@ 4 f%"*'@ ''   //9/3339/39/320175#64'37'66'335#73632'#"75!+/ + +" D;@Gh s E[   //32016#"&&6326#"&6632D   5 h3M@ Mj j jj?++?++/++01753#"33#5326554&#PPw @ 8MMMMȳM@ M M M@ MMLMML@4L M M M  ML M@ +M!M@M jj +9l 9l?+?++++++01+++++++++++++++++++++74&#"326'4&##532##53265dO-%$#+[+#!v(*.+1@ +  //9/39/30175#64'37'35> "z +  +;<@ 77; 62#,0;#00#; (/3/39////33333333301765#"'34'37#7'6'5#"'35#'6737#37#37# 6 %Dn+-  * + ! @ ))5 2Z /& Cc' 6 ( 5=  + (  +1<bK@#U/82,"((,, RXGX\\ + +==//9/3339/3339/339/333322301734'37#37#"'35#"32655#"'34'37#&''#"'&'65'675#'66534'37#7h0;.y =  7 X 2!  5 +&  )$&  * *?   B@  VH 7/  + + 9 6 0L +3\9@>' +% +6DD3* 4YWW//9/339/3339/39/33320174'37#37#"&&'#65'667#'35#'67'37'>7##"'&''667#'37 + :( ? &/* ? F  + +E " $ - )& .] +[ 3 8-$/ + + + "2++3    A t,-./01@ (M, M&M%M%M%@MMMMM MMM@ M M M M @# MM M'(M'M'L& M&M& L@ MMM@LM M M M M +M +@ +L M M @VL M M M  MM@MML0M@M@L +&'(% %(L( M( MM@ M M@ M M @M@MM( MM@ M@ M3'L'ȳM'ȳM'سM'ش L'س M&L&ȳM&ȳM&سM&ش L&@V M&'Cl 0 El + / +CC z,1i0i/i.i!-i$ ,j!j ( jj +ii j?+?9++++9++9+++++++2+2++++++++++++/++++3322+++++++++++93399+++++++++++++++++++++++++++++++01++++++++++++++++++++73#"#'#'&&##53#"37&&##53#"376&+3#]"$",ht^LL\A< AFw@M MM ML@ MMM@ LM L LM@ MM MM@+M Mji@M@L@ Mj9l  +@ L +s ??+++++++++9+/+++3201+++++++++++++++7"&546323267&&#"3267E!# *-&2,."%*7t - + M + /3/3/+2017&&5467t769 9 H @ -@ L/3?3/+20177'6654& 9 967 +z7DZ@M@M1@L- M-M+M+L@fL0LM L M( M LML(L L M#/<M5MM +<5 B>  />)/L/F)@! L)"2&Vl,Ul +i 5 &2V,t?M?L? LML@ L&?U,t&8V,t,&??+++++++++99+++/++99//3+++01+++++++++++++++++++7"&546327332654&#"3267#"&54632#"&''26776&#"7    + $   +*1 ?(%-''1%)0"&! 1) v%ĵM@MLLL% @ M@ +M M M M @HM' &!9ljjj%@M%@M%@M%@ M@M@M@M@ M%9t ??+++++++++++++++++++201+++++733#5326554&##532#'2654&##"&0;TBG/  ?/017"&54632    7/@+ +( + 7.7 ##//9/3339/33339/30174'37#37#732673##&75#'667#"'35#'67y.PFR# 0$#50, j6 ++ +'6DL*50% 5&1   B)@1.4,4881 +$1$//9/39/3339/32017'6554'37332673##"5565'67#'34'37##"'&8-.  + +  r * * WJ')E0 + + + Ej,N* /E# 1  + + +  DU;@G9P)PA//P5<2<@@P//9/3339/3339/3332320173653355#&''667&'767#64'35#"'354'37#37655'667s& ( ( +0+ ($  &'# D- K%!  ~* *    +    '  +   rF' # $4>MQUA@"5 5SLL5ORR5CNN%5%//9/39/39/39/339/333322017655#"'35#"'37#37#&'''&'655'>77'6664'375#53535J k> t # -# + +<#  + + -I JJJJ2   7 + 7 KG* +{  $X4 2 L" 1#@ * !*!//9/3339/33017667"37#37#"'35#"'35655'667^(B .* J-  I' H# + K Z  Z I %]#!M!%8%@&# /""/ ///9/339/39/32017655#"'37#&''64'375#535655'667N # =*++g   +  +'3 'Q::1P%Ei")7OC@#A&BIIO=L=AA*  +*F*F//9/3339/333339/3332333017655#'67#"'35#'37#37#'3564'7&'565544'37#37#"'35#"'g5) + + [ ! ++? X /QB g) C 50 * *   m**S,?g +g  S  +) ) :E@' 8 88 '-//39/////]q]33333301735'375#6473537#37#7.''675#"UWfT  WWe4 TC;1 %, I 2 + 8 1 a" ) *!C  +  M #@   !!//9/39/33301737"37#4'52'5#"'34'7#"+  %" Ek!N o7r `  T  . + 6)@-""&& +//9/39/333332017#"'&'37#'66'675#'34'37#76'5655 O o(l! / *%'  " +  + EJ"LUX 2! ( .W  G QF@#4I8)#//"38338NE//339////q3333333333330173535>4'375#7#735##534'34'37#37#67"3&&'#7'6';S*J"0 ". *  1 h +  +%)5 )% Q!!8>8 +   ,24[! + + !  )(C  !/;FPfq|C@x +rmgWfMHB<4; + + +--//9/339/333332323232323301737#37#&'#'67#"'367#"554'&'7#"&54767#"'&'37#"'&'#"&547654&'5667#"'&'7#"'&'Zi JD G3+91 /    + ;  "   +>   3  +7:&.  ? T@   }f + _ + + + <  +  +"26)@+4))" /33//9/39/3339/320174'376'732667#'>5#'5#64'3735< $  % 52 I5$ ( + t$ )[!1846m| + &0@ ".. //9/39/330174'37#7'6574'667332673##"5* ( FB; _ +!  ) 4- C a + T& N " y M@ML LM +M +@ M M ML@ L  MM@L 9l9l ?+?++++01+++++++++++732654&#"#"&54632] !Z+'%-$,(()/0('03 6:>CHE@ "" F@@55 <8D8?? 7;;  +( (//9/339/3339/3339/3339/301764'35#"'37#375#327&&''667&'7667#53533536533519H f5 + 9 0(61!#,  8:798<9   +: "    + S%! !6 %00//30174'74'776'5267655732673##"55'92;  =2v + n+ /: +8 6-  DD  C[&_*>@ $4(4//9/3230176737&&''667&''667376554'#"'&D +  + ;L>8 +#! + 3 ! + ($6   + %#"&\ + Ll  - !@ //9/339/333017255#"'35#"'37#37#4'MI j* NDj" X F F` 8L5@=F++5!!+/(3(%%+//9/3339/3339/332201737"#"'&&'77#'767#"'367#"'36737#37'655'6679 +   & 9 7 5 - J@ &  d      +.       c ##c'H-  ?CGKOZ{[@+tV*PMIIEALAHHD<@@&&**qwow{{aa//9/3339/33339/339/3339/33332230175#65'667#'35'667"366737#&&'65373533535335'#"'&'7&'5655'675#'34'37#P % C!'2 (    + C $   N e" !P" !W .  +  + +%@> O +/ 1 +     % + + QV F 9 + +) + $1@  00#)!#//9/339/32201737&''67&''>7#'37667#67#!  +,'JF$" #3"!  4 >!"7 1 !"14"R(;N  >% <%( +'+@9@ $444)<<42((@4@//9/39/39/39/339/322201737#"#"'&''667#"'37#7&''35>4'375#Sl i R/9 + && h g m +o D   0  "">=3 +  >6 3<L5@1 +E47#*!*EEJEJ//9/39/39/333323220173564'375#267#'667#'36'37&'764'326554'&'7>M: > +)## 6(   P 11F) + " + +u +D"/0 +  + C #M +U $ + + ~./01234I)гM'L&L&L&M" L! LMMLLL)M) L(@M(L(M&سMMMдL@ L  L M L @M L  M +L +M +@ +M + LMM@MM0LM@"MM8L@M  +() LL L6'L'@ M'0 MȴL@RM0M0 M4i3i-2i1i0i"/i& .-j "j j  &)' jj +ii .j.?+?9++++999+++9+++++++++++++/+++9++++++++++++++++++++++++++++++01++++++++++++7#"#'##'4&##53#"37'4&##53#"376&##5#3+~#";TjjnSki +B)@, >>BB /(3(%% //9/3339/3332301655'6677655#"'35'667#"'354'37#"&&'#37#3! c 1(' + D - D)!  2 gQ! '  `%6B  + ) *3 @%h  *E1@((@0=044/+CC //9/39/339/3339/301764'375#7'667732673'#"''37#37#7'675"'35#"pJL *:6#  + %> ) '&B  ! 3o + c|d +O>A + +:  " ? CG ? + +0b=@b99_N=$++(.#=(##(=KU/33/39///3333333333017#"'&'765'674'34'37#37#"'35#"4'737#67&&'7'6'5'67#"'@.= $EY 2 Dk   '-46  *;(= +  g # 3 %" +*  *O  + + + %' *  &  28<#@:-99-033-//9/39/39/32017&&'375#655'667&''667376735 +9#:VW#%7  FQTW# +   *6 #   +, + +r;; +&9\1@17'QJGMEMQQJ#=J=//9/339/333333220177#"'&3667'67'667#'37##"'&''6'65'67#'34'37##"'&' 0  +/>*#+ + n W A # +*4Tc  ( )  +  +[ + E/ $   + &$ #;?&.>! ,   +   *4@ 1,$//32323017#"'&'36673##&7543#"&547677#"'&n 9  J!   ( f R  + +%$ 0'@&&,  //9/339/39/3201735'5#6554'36737&'75#64'37c8 +  g"87j44fk +#  >4 +  3'11++//9/33201754'777'655'737&'5667#'>7#"4 ?76  +^m, (.'!   7 +[%, R6 #.hP>:E&  ,KQjI@"I<]2gQN2  6: 22 A)) ,,//9/39/39/3339/333333233220173535335335'#"'&'>'375#7655#5#5#6=37&''6777677'667'667uZN  I XX Z!    V  =9 &63   + + K))))))v + + C[  2K,%+,2=A  Z +  w  + $- ! /YK@#$$!!6*'6--6 6X:U:>>6L6L//9/39/3339/39/339/3339/3301764'375#53537#37#37#"'35#"'35#"'5667"37##"'&'65'667#"'3zI  KKfh = 8' x H 3 ; 3  *  2n- . E44X + .  . +]2   + h&N.:  LV)@85RCM! CCJJ//9/333333322017'5'675#"'3556673&'37#67730#"&''67&'#74'7#"'&'# , - <8 5 +4U ! +2)* 6+- 52 . +08 #3!! ,0 &:. C    + &9@ /$8 +8//9/332322017#"'&'374'5255#"6554''655'667s 22  " <" +   +   k - hk:/ +FM'@GJ)&&))<#<#//9/39/332332017#"'&''667#"'3737#37#"'35#"7'667'667767'67! +' +#!*- O +cX :/  G SA' + ! 2  2 +1.9  +  *  +p D  D  !< ..i  )-[E@ &!?R9R33Q+BBH** 66//9/339/39/339/3333333017'&'34'37'7#&7677'663555#65#64'35#64'375#37&'= + OP +  +   + +  + VN :87 M !8   +  & $  $ +  Hj'9:<'    ' + /Qd;@# ^PP^F44^:A7AEE^U^U//9/339/3339/339/332017357667'37#&&''667&&''6664'35#"'354'37#375#'655'667Z+)  +  ) +   , +$  +`  & +  +# Q;;: & 0"E  +7    ' +>C3   +* 3 1 $ ( \%Q  (>'@2&&599  //9/39/39/32301737#"37#"74'67336673##574'74'37#7- & z-  :% .  /-j+$  +:"  D E` $ 8 +  CGK`Y@*^TCD'I\\CEHHCMDDC-4411C:(7(,,C@#=#''C//9/3339/3339/339/39/39/3333220174'#"'&'65'#"&54767737#37#37#"'35#"'35#"'34'3535'376'56'5#64/  + ' E :2  I 0 >NNN\LN  +  +-      ) + N + -H '1N#@.%)JGG +%%:://9/339/3330177#"'&37#'&&''67&'767#"'7#"'&67"&&'&&'675#"'37 +>y+  +/$C > >6,9& + + (   $ + $: + + +  + S  $@   ## //333333017#"'&'74'354'6737#"'3. F ) +& $/ T??  96D!  !'H#@+6>E;E336''66//9/39/3333017373&&''667&''6667#4'7267#'667#"'36537Y G  <9;"4"Ke: +5+  ;7  +   7z3 + &(#  #"   +  ,+@, ) !! +$$//9/339/33339/301767#"'37#37#7366733'#"55#'667#"'q6 _HZ) 5 0;2+B t% -d -k2?=.  "*;)@!!$$2//$ +;$;//9/39/39/39/301754'35#"'375#332673##"'7'&655#"'377uED _ + FA ML   , + #" E +F +@R  ] +]!, 2=E1@EA:4,((,,%%# % //9/39/39/3333232017&'&'5255#"'35#"'35#"'3737#67'7#"'&667&,=M R sa  +m  !5 4,'2S +/ +!JX   e   +?  +B +7+@/ --$  //9/39/339/3232017655#'>54'67&37#'357"375#'66&'66(D8 JA )/ 7-/'  UY5A7  5  22M( +7+=f   vI@*"@L"@ L"&1 @&GL L&L&L&@ M&&KJ@& DD--D@ L9/+9////99/+++++29++2017#"&''#"&547457#"&54677'&&54632'45&5463276632e""  "" +i ** **  //3017.''>o +1#0**+ 5J3 3:30A5=] 0IQjO@%cOJ:I6F6::c#**''c0-""cc]gRR>c>//9/339/339/3339/339/33332301737#'&&'#'664'37#37#"'35#"'4'37#&'555#"''&'7'&&'#'66737> . > G6 SL  o, { 8o 6 f + + 4     + )C +  +    C   - + , + +  +  #   +!1B9@=--=#=== + +4=4//9/339/39/39/39/33017737#"'3435'37#"37#"375#64'655'667 +. | I"Rg` ` + c ` P R-     ..N   + 0 +0Rq$O #6'@    //9/39/39/332017353564'375#EwwwuwLLRWWy;c= + + !5?G=@F3A<373) + 44//9/3339/3323333330174'37#37#"'35#"'&54764'73673'#77#"'&7'&z ;]+ H<  '7  +EE % $1 1 b! + _ +    + <FbM@$C>,I  , ,^[[,33,*''N,N//9/39/3339/39/3339/3332330173533535335255#5#64'3&'77#"'37&37&''7#"'&7"&&'&'675#"'37i, /h, / / ,+C f '- +!V6/;% + '$J-30\ +  +  + j    +  T +  ",K1@?)$ 1GDD "7 7//9/3339/32323320177#"'&74'37#&'5255#"''7#"'&3267.'&"'675#"'37d< 5 + E / 0#-;"  &  +, ( l g -   +   R  &+L;@C5 $''5##52808<< 5 //9/3339/3339/333232017&''67&''35#'34'37#3767275#'34'37#76'5655 %#%3/# 2 1 +$ B L  ' / )$&  c/   ,*$ & * (%4 ( 0Y  I +*@  *' //9/333330177#"'&4'37#&'#65'67#"'= E`HA)A=&?   !( 2T .N4ZM&.T  %/3=D_gqO@(ncigR1^I+0>9B0^0BB0^ +4& +//339/////]33333333333333301##"55#'66'#'34'37#332653'#"'&'35'"'&'37#"64'375#&'5655#'6677#"'& ' / 2  0 7)  +,` [ +6 + +  5  z7CC6A + +: u    ?$$Q  ) R"  O + + K" + + ,4=FW%@TC>:51- KK//9/33232323230176554767'377&''67&''66'66'66'66'655'667O D  ; >  $!!*, +) &&)" +/#6* (G#.N    +u W .   +  + ,X  + + +  &x~;# !<%@4%-)%8%8//9/39/339/320175#7'6554'35#'3767'6737#&''67&o8RM +7< N :  ? !#63 , [ &/; + ?$; +K   B(% +"$$ (=-%7//33330173#".''7&&'77'7#"'&655'>7 () +;1 Q$&   ,"2<" ' ;5  /ln&'3!  !DKC@/ EII2''BB -**:://9/39/339/39/339/39/330173565'667#"'37#375#76737#"'37376'7667#'37#"0, + H / +  N 4 6 V  + !%U Q M sRR{$H: " Rb&& +@] + Y I  + +H )  K5@3 ?I(33I%7??IG:I://9/39/3339/33333017#"'&'67&&54766'7355#36673##"75#'667#6554'37! + & aU  +'1)"+T +s_U +nHH9  V]F- +B  (   '2G-@) &&))B55!)!//9/39/39/3339/301737#"37#336673'#55#'667#77#"'&7#&5476673372p n #L% + .$ ")0+M R + + !CH( *)  +6  + 9CT#@@H;KHH 77//9/339/3330177#"'&&'&''>'37#767'67'667#"'7#"'&655#"'377 D  /65+{ Y>  +0$4&  9 % + #$  i) "3Y  + %,0!+  [ + Z+  ")G+@.*FF  #''//9/39/3339/332017&'732667#'>7#'34'37'37#"37#7&'7#"'&''667#  *'    &(H I ^ C +O + # I " j+ /T&<.-8$* +/  *      = +')@"" %%//9/339/33333017#"'&'37#37#37#"'35#"'35#"b Ea.PE l, M<  +6AJ I B z!@ MLMM M! LMML M L M @ M #9li jj?++?++/++++++++01+++++74&##53#"#"&546323265IR  {34567͹.L.M.M. M!M!L!M!@MM MM/L.M,@M#MMLM.--M-L'L'@M' M"M"@ +M-"'(/@M0MLL/ @ M !MM@eL@M@M@ M@ +L986!;li7.437i6i&5i)4i/.3j.-')j#"'&j'"jjj jj ?+?9++++9+9+99+9++++++9+++++++22+33++++2+++++++9901++++++++++++++++++7#5326''33#5326554&##53#"76&##53#"33'#3{+"../+ + + +I9IC,\{0@',L,L,M$M$ M M  LLسMM@ M.- " @`p2"@M"1.-i.@M.@L.@ M.j,%)شL)@,M)%si@ M%sjj%s9l %9l%?+?++++++++++++++++]]201+++++++++++7"326754&##53#"&&#"#"&546323267&&A 2 !)*2 "25 %5-x @ +LMMMM@ M@ M@ +Mjj + jiL@ Mj +9l + ?++++++?+++++++++301+733267#5326554&##53#"( g/' &+@ ' !!$$//9/33220164'667&37&'567&'#'67676(V + 22'| + +%3,+?D C?e1 +6  #08>u3+ + /GQM@$2 NI9) &   G5D599  --< <//9/339/39/3339/39/3333223017353535'374'5255#'667#"'34'364'37#&'5255#"'7#"'&411111 +  *! !  w +%  $!p  +  9( ( [:. +5   | !  +)@  + +//9/39/39/32330173737#"'3547353535DX ;ZZZZZ +  99?99?==".8B!@=:0(#0 0 //9/3333301754'>733673'#5'6'3#"&547677'&7'&O ' 3" @  I&-  7 L + \ s9D .V + x% + p 4 +7BN7@IC6# (6,66(*&##=(=//9/339/3332323232017&'66'&'66"'6664'365#"'37#375#7'>'#"'&&'a$ + $ !&& + m@ 3P7 %'0)I+$)*bE   + + =kfJ:& $;"Y    ut !"#E@ MMMشLL LMML@!LM +MM@ L MMLL%L MM ML ML@3 MCl# #i "i!i ijj jji ?+?++++9+++++2++++++++/+++++332299+++++++++++01++7#'&&##53#"37654&##53#"7+A"+$;bFE{3@,@ L /!@ M'& @M@MLM5M@1M@M4-/j-,j-!jjjj &9tjj ?++?++++++++++++++99++01733#532655#33#5326554&##53#"354&##53#"m,;,*;*II@@ ;=@74"" :  ,,//9/339/3339/3339/333017353353533564'375#37#&'65'67#"'35#E45x45w  5Df*=<%D;"8 f4""""($$$$98 F6 !/F'45!2  ;/@ +//9/39/39/39/3320173564'375#53535Kk{i +kkkkD77Z$-  33922 +!(J3@&"96<4<@@9 ,9,//9/39/3339/3332322017#"'&''37#655#'37#4'7'6'65'67#'34'37##"'&&NY f  +1 w F +* * ) Y& &a o w +] -%Dl+K#->& /  + 49OXc5@$YT/P@O +51//YY + +)Y)//9/39/39/33323332017632'75#'>'373&''667&''37'67'#"&547654&'5667#"'&'7#"'&''- ,  (".* + + W +Y  ^$ $L" 1! 1 ,)&   ( +'"Gn$  b + 9 +   +)-M=@ +++* 5M +MM +17"4 1/3/339///33/3333333301735'5#'67#"'365#"'35#"'37&'73564'37&'52654&'7#Q%,& +80 - + + \  #00   +  +1-o(>#+4  2 +  22,- *  C!//017'66767&'7#"'&''2670E+6 J[ 6 x  J 4K(!E!-   K6+5 (:@ %!:://9/39/332201737#"67&'7#"'&''667#"'37#7&&''667?[ Y +X "1F +(. v "6 +=(59$"<q l   + 5   +), +# 5E& 6R\?@YKT!!.+%%NKK +1 +>>//9/3339/39/33339/33301734'37#37#73673'#&75#'67#"'35#'667.'&&'675#"'37'7#"'&p!  9* 8  8, G#  0 X6.:$   &    + +# +" ) >CD< )*     +P + W  +  :\?@A#4 488U)/&/33URXOX\\UU//9/339/3339/3339/3332017373&''67&'#76765#"'35#"'34'37#37#'76'555'675#"'34'37#g`  !%(*    +# D 7 + ;) Ia#% % 0  , +    #   # !zY + J0 ' '  /<F=@ ,,=!' '++==599<=<//9/39/3339/3339/333201765#"'35#'767#"'36737#34'37#37>'37#7#"'&'8 X-  + 1 Ln - <0 g !" "   +  + "6#>S _H +   +(2O%@5KHH* *;*;//9/39/339/3201737#">7#"'37#"7&'7#"'&''7#"'&67"&&'&&'675#"'37bW\  +$ |[Y4# G =7-;% + & y"    + + +  + +Q  +BA@"( 5599(4((+%/% ( //9/333339/39/339/33323017353565'67#"'35#65#"'34'34'37#5#37#&'#[III&GA: l :I<JeG?"#5<2 #.   : 3  4@$37;EP[oY@*XmR/MmG/Bm'>//9/39/39/3339/3339/33332017'67#'377367&&'4'7#"'37&37#37#37#6'5255#'35#'35#'Q/+ 2 P + ( +"2 #P s  4 +# +' 5% 6 ) xS-7K +$/R#   + +! + #! 26)@*4,,$ $"33.$.//9/39/3339/320174'37##"'&''667#"'3'375#6554735v # C"  >X  !   & /& L +   (:5++//9/32017667&332673'#55477#"'&7#&54767337F +&(  +#R  ^$ H  + 1  +.!^ ] +  +?    &GN+@:4E*.B*HH444//9/3339/33333017"37#3&'#65'67#"'35'6637##"'&''67&'67#"'36674F_88&G> 9 j(!_Ad= % +&&\T") + - R    +#-'  c  +     +#E@ -*0(044;-;//9/3339/3017667"77736653'#75'75675#'34'37#76'5655d=  -3 S$  1, +>Z + %$%  +OO !SMT +2  +( . P + HRW\`J@'^:Y]1\+LL/IR!!OS]]:]\ISSI\]:</2/9//////]33333333330164'37&'532654&'7#'4'376737#375#65'674'67#"'35#"'36735#35, + +! ,f + 6 +) 7   0 < 9 87/72|/ +?#' + DȽ  +     +BD    % %S &$$  =GZA@D? +))-55VSS;;00//9/339/39/3339/3333301735'7#"'&7375#732673##75#'667#64'36'7#"'&7'6'5#"'37}KS  +< +     '.$& ,'    ' 66>   2  H M..-+< (  + %   +] '@  %#%//9/39/332017'6677#"'&&'355#64'37b +2 $<(_kkhJ<1#&[[HL +   MWsO@%TCO +< C + EE@+ + +"  -  7 HE #  +*!.:'g |4 +2 P99 "9 & (]   3E!@4. +8@@%.%//9/33232323017'6674'4'7257#"'&&''655'667737"'7#'66x  +" w : + S +Wh 0 / w  V  +!i +.[,AK A )%@  ''//9/339/33332017655#5#5#64'37#"'37#37&'+ ' '2 I i[  u +*f .  +$ +t + %.<@ &)! :5://9/33232320175#64'37>'7#"'&'64'2554'&'FEv&.J2 +M !V g + 235 +*'?C [ V (   f@@ @M @L @ M @ M jsjj ?++?++/++++01733#5326554&##53267I + +I +  y + .26:OSWa@5U@QTFP88*40073!/@o777@TP*7//7*PT@ MB# /33/39///////]qq3333333333330177#"'&7'655#"'37735'375#6473533535255#64'37&''3535"!   (j.whi . .i. SR.SSS +  _ + -/ + ) * 3#J U_ ,04W?@%!72##7.117)--77W:T:>>E7E//9/3339/39/39/39/33220174'667"736673##5#64'373535'4'37#74'5655'675#"'x , &; MdEC[EEE +"$ ! C $ +   AB + ""(!!q( ( .U  D 4 +C-@2#++##0@@#!B#B//9/39/39/39/33017353567&'7#"'&''6754'375#54'374'775#6.5555( 0( 45e.  0$$*((u     ~ @ '#"'&&'#655'667m2  ,*3  7$+ %&  h   +  0?E 47  +  t8'  + p)LLشL(M( M"@M(MML +M +@ M$## M!@"M!+#(#$Kl j#Kl# s# Il?+?+9+++9/++99//3++01+++++++++74&#"#"&5463232673#566766]  ; ] +  #+ )-19@/++.%**  + +//9/3339/339/339/3301734'37#37#"'35#"5#'664'37'35335gCe/  NF - := +  S + 3!+2 + ''''"049?@% 7--255 1100//9/39/39/39/39/39/3320175#64'37'3535>'374'5655#73535h+*8+++ 7";-O::;Y ^ 11733$&[. + +    +=$/55;3 //9/3301767'37&''67&'#"N'" "<5(-IE*'  F//F +K0 +.-7H DZ5@  o/?O?]]]/017"&&>32547>#"&66326        ]3)@/,$$ ''//9/39/39/333201764'375#53537&'7667#'667#"'365?jll:J M41,-+ Pm, + 1 K::S G 34* (/  wL @ +ML@ M @9 Mji@L@Lj +i i @L @L + j +9lj ?+?+++++++++++/+22+01+++7#5326554&#"'73&&#"33Y4   _  +  +&&   +:G\=@B;1P[[#  )&711//9/39/3339/3339/33301737#37##"'&''667#"'35#"'345#64'37'>54'332653##": , /! / )GD E'&     ++ -  *4$ - $ QtqH! + (5&  (:n5 G     :D`C@A9<2 G##2\YY2 *9920L2L//9/3339/33339/39/323233017353353357#"'&737'67#'667#64'375#'7#"'&7&&'&&'675#"'37j  c = +)RK"B"%jC "Y3.;# + ( ------h +  4  +F>(' + '  I   +   +T +  +,;?UY]aS@'C[^^#WZZ#, #QVMJJ#=::#' + #1<<#//9/39/3339/39/3339/3339/39/320174'37#765'275#'77"'36737#764'375#53565'75"'37#77'353575? +"((" + * + "   6U: + <<Z & + } $ p<<<<7#"'&6/// /-M  X 1 -a)U3  :  W 5 &3 + '#!. 2 +  L # '   +$9 +"XS=   *! +"11  + \a~C@b! !L1I1ZW!!jf]]uu//9/339/3339/3333333301767'#"'&'7'6'37##"'&'37#"'&''67&'67#"'3675'67#"'3467'37#&''67&''6K  K Y* 5   +  #0. 0#% ;Q' 9 !.. +=  +  + +  +.     +     +) $*:'"?E  J$  "/8( ;7@9)&&&1&00&' & //9/39/39/39/39/3320173564'375#'35265#'>4'375#37&'h5C35' + G##<&    !!X+=;=2 + + ! ! B + .<KV?@Q9L,JJ%A%5<<99%( ,,%%//9/39/339/339/39/3330154'37&'52654&'7#'35'3&&'737#"6737#"'64'375#'#"'&&'-  .x;Z; +! a =  v 9 + ; + AGT22f   7%    y0 + 3    + 9C@1 33)99#''55//9/33339/339/39/39/332017353535'67#"'3&&'736737#375#64'LhhhhhKF R )  + 8o +Chr & &""R +    b  x  (4G=@E-)EE + +E( @E@//9/3339/3339/333330174'37#37#37#"'35#"'35#'667'#"&547677'&'6554' +? :' M 6)   +U     6 47 F F 7 ;    +   +&*9OlX@0$ E ?(8/'Sj ??8'?8'jj'8?lMAU/3/339//////]q]q333333333330177#"'&7'66'37#"65#"'37#'3564'375#55#64'37&''4'37&'532654&'7# , +Kc ] + @ +)"7D 6  7.e  c +   & + #  &X +     r  +1  rZqF! + X  +<"@Wp?@Nc2Z +G.V.''D:22 + +**//9/339/339/3339/3332017737#"'3&&7&'7#"'&''267#64'367#'74'34'5#374'5255#767#"'&''67&'7i I r +I +  -  + <?5r 9 O T       +K !+ + # .( +/   + ; @f  + +  +   +!+9@G?@9' "AEE:>>/6633! //9/3339/339/39/33330174'37#76'5255'675#"'7#"'&'37#"'36737#"37#";  **, " " p g + m M[V V !} ( - .T B 2 6&  2 =  .8}o@5sNY94 /Y' ||Y""&&Y!!YY]VEaBE YKQHQUUxYx//9/3339/333339/3339/3339/3339/3333232017353535'3&'737#37#37#3767&'7#"'&'65'667#"'35#"'34'37#3&537#6677#"&''67# * 4**,# % 9 8 R +V  !%FE@ ?#?""? ?KL  ' : n XXi9)1 4R + M  NReG@!S:>8%%ZAZI G ZPaaZXOOZ//9/39/39/3339/3339/33322017353357"375#37&'5255#7&'7#"'&''75#64'35#64'35#566'35>'375#g' *0)*9;? + '66'' $G}h0   / .  B 5  /09^  168 -`M@$D`:NN`# #''`5W9WTT`0]4]ZZ``//9/3339/3339/3339/3339/3320165'675#'667"'36737#34'37#7737#37#37#"'&&'77#'667#"'37#"'367@'    " 8 (,-o + @ 4U 3   2   & + *%+  + ; + ( +, * "    + +3  * )2@ + !!//9/33320176676554'36'37&'52'5##"'&&'8"N? +=  #@5 +&j6%a! +   ~  # 4'+FMC@$GK(1&<)&&(( + //9/3339/339/39/3333220174'37#37#"'35#"'64'375#535#7'667'267767'667 +% B U 1 D  GGE 4   + + (  . +')J) " -  - : ) O99  $9 ( %m  *#@%  //9/39/33323201737#"37#&'5655#"'67#"'&&'+ (m!L 6 + )*n&8n  d1)/ $ +&J%@C -J@66-!!--//9/3339/3332017376'7267#'667#'67#'66765'675#'66534'37#T  +6)', 6/ : # !     "  + {) +{FKJ>E,59!;n AF <6  0 +0 #:@ , 00//9/3323220177#"'&37#"'6677#"'&&7&''67&'767i  h > +,&H# ++EC"*C>(  ( ( +  +' + +%#$0+/ + +"]t}?@2\~y\uet\\O\\ ;;//9/39/3333332333320177#"'&37#"'677#"'&67&'7'655'67'66767&'7#"'&''#"&547654&'5667#"'&'7#"'&' I  % #@! %   &4 % 6" # &7 +.F   <       B " A 3 +# 0&   7\ $ + +U :   7NO@%#BIIFFN=L=AA+22// 7&5&**//9/3339/3339/339/3339/33301774'5655'675#'34'37#74'37#37#"'35#'4'37#37#"'35#'F  $ ) (U + :. v =! 2 <,  M& eX J0, )  ! " +  +d  5  5 !YG@!> $377$S,P,00$$Y'V'++$ D$D//9/39/3339/39/3339/39/320175'35#"'375#736653'#'4'37#37#37#7&&''6655#"'35#"'2$ C2* + 1E , 8 .Y%K;  # = -=2 + +0 >$ + + ) ! 1  & G b )  +*FP=@MH +- +## +B?? +)&2 +2//9/3339/39/339/323301735'5667"37#375#64'35#"'37"&&'&"'675#"'37'7#"'&tQ0 .: 1P Q ) KU X5*>$ +  '#W22] -& + + 2& j    K + V   + 1'@1!-!%%))//9/39/333330177#"'&7'655#3"'3774'37#655#3"'' '#  )  +X- L3  + "- Z  C D [X }-t@ M@ L @L @ L M  M%@ +M% L@MMLM L'L'гM'سM' L%L$@!L$ L L$%&' MLL/@^ M.&@L&@ L%@L%@ L& %$%<< y ' &;;x')j'##$i#"j#jji@ Mjj ?++++++?++++3+33++++++++9++++++++01+++++++++++++733#532655##'#33#5326554&##53373#"p+"  --@"#**''"" +//9/39/39/33330177#"'&377'6'5#"737#37#&'354* -*') | ,M3 C  < [#1 + +\b Fp2  <3@3& /,6$*6::51////9/3339/333333332017'66'66'>'3565#'67#'35#'37#37#    ' +1 +-(%%7* , l ' + * )/+5){DD WU*-OD D [ 1n@P28hh5{x">cc;g 'C@b~I]F.+NTTK$l~lg'b~++~b'gl Qs/3/39///////////]93333333333333333333333223330173535'37327&&''67&'767#'77"'3745#"'35#"'35"'35#"'35"'34'3737#5#37#37#'7'655#"'35#'6737#37#37#P  - 4-#       % * #  + +     +0 +7 + "  +/ +# + +"7 9  &1 6            + +   5 (*: + + +( + "-B'@"&&B77&//9/39/39/3330174'7#"'3737#&'5655#"'7&'7#"337'7#&5476673z &R s .Hl  N r H   + G " !@< k     3F_i7@T!f`P_L\LPP!!($8!8//9/339/339/333323201737##"'&&'#'66'66737##"'&&'655'66774'37#&'5655#"'"'&&'? 1 +4 h   4 3 p + + +h 3 + !;  +  +    %  +" + + +\J +A -   ^ \   + + 0+@- ,(&&   //9/39/39/339/30175#64'3735&'73267#'667#'37#37dc zd  \  9  Y -  + - + 334 7 $  %)@" "!//9/3339/33333201735655#'667#"'35#"'37#37b>>$+!"' H 9 KKQNF+96- K K +7'@ 7730+7+//9/3333333017#"'&'#"'&'737##"'&''667#"'3665<#& + { +;d3. >>'+: N p  -  +8!-! + #!  *& !M)\=@6N0N**ME99 !'--//9/33333339/339/3333301765#'34'34'34'37#65#65#65#64'35##"&54767337'7#374'5255H" 3%$4$%111P +  Q0         FO-@C?;7%)L%L//9/339/3333323201737#&&'#'667#'367'6677&'7#"'&'66'665660g ]2+ &(%$" ; O ) .  +z  B5* -' B5/24 +:G*8W   ! #  +  (&  "+ "' .8W%@K5,0=SPP,,CC//9/39/32332017664'667"37#"'&&''67&'767#'7#"'&3267"&&'&&'675#"'37L4  K +  ! 0+M''")$,:$   ( + 95 ) +! $!  I     + + Y + +"DM@$ %2 9966%%%%->>%D(A(,,%//9/3339/339/39/39/39/3333017655'667735353535'6'37#3737#"'354'37#"'= + 6MMMMMMM2- M#   % # $ cH % $$$   +   o  (GK8@#I H3+#H++H# (/5 /3/39////]3333301735654'375#67"&&'#7'7#64'376'532654&735FWE ,*' ++& >#"   +0F&& >  6.[> ;  W&&x-M#L@L"!" )"@ +M"/)M)M)M)M)."L"M!L!@ M@ M@_ M@L@L@L@L$%j!"i!j$9lj j@L@L @L @L$ 9t$ ij9lj?++++?++++++++++++++++++++++++++2329/201+++753&&##"326553#54&##33267#5326554&#b   +  + f"> + +; K' IO3@6%#OL 3909==**//9/3339/39/3322230175#64'37357#"'&'#"&''67&'#"'34'37#667767t2. G2L +>) 00] } 3T  + kpr( , +11Y +   !"!O  G ',+  DA@'))   <<99 B ? + +//9/3339/33339/39/39/3201735#35'37#366737#375#645'674'67#"'35#"'34[VM VF .  5_D V!%V _ AI!'%% +$ % (&  .    $  + )NWaepy_@-zuqlfLS +Ob% +5H2HLLc_8_GG + +X>bb//9/339/3339/3339/33333333232323201734'37#&&&'#'667#"7#"'&''675#"'35#64'375#37#7'#"5&'76735#35&547677#"'&'7#"'&'7#"'&'v,% < ."!" @E--  * ?   +0.L  !  A + +   9 +> 7@  @8GA>BB  } ! 7 . +  j  * 777    +      +/--//9/323017&&&''>'#"'&'377'655#" )&0$*% d + $).. J` M6G07V4  Q P*5 T (,Kl5@; *'' aLL ))  >JJh h//9/39/39/39/39/33017665#'66737&''64'375#5357#"'&''66737'667##"'&''66737'66714 1    P + 0  2(+-3   0  +B((;$l7  p#9 * S88"   &  " + U  + ( 1% +),1"%@L +0 + +  + /2/]201+74632'6654'&  + +    07CO@%?8)% ,,))  0055//9/3339/339/39/39/39/3333201735353535'7#"'36537#3737#"'34''67#"'&'RZZZZZZZ98 ZD d+ 7 ++/J -X  + d ]s    + #@   //9/339/32330174'35#"'37#37#37#"'3@ +2= a1S= 1m q O^  #26=1@7!))4 /33 ;;//9/3339/39/39/320174'37#&'#65'67#"'3575#64'373537#"z E\#=;'D>$9 ;dda{d  1 + +1* 12 w $A 7 ""h +*4EIM9@1J,G&&KFFA>>JJ//9/39/39/39/39/333017&'5665#'66737375#64'7#"'&7'6'5#"'3735'35! + +Y  U}*,H !! (<,,,?\ 0e%:   IIa  + -Y + "00+%% 6A@ =7%11,,//9/39/332017#"'&''66737'667375667#'66#"'&'n  '1  M  SJ1T$8 + N + 2b38[$S#01    +  + / + &&; + +4"(,#   +)3U#@/E*>;A8AEEL>L//9/333323301774'776773"&''67&'7#"'&'675#"'34'37#74'5255c* 0 Q   +-!! +E ' 1 )$&#2  )" -' 6H + r2 " ( .V + Gp8ٹ7M2L.M"@<MM/ LML@MLL L63'- @M 3--3@. M:6Il@ L06 *0s0 IlIl 0s0 ??++++99/++9/+9///+901++++++++++++7#"&5463232654춮&#"#"&54632p 2   wg@MM  @.M @ M Mli Il iItjj ?++?+++++2/++3901++733#532655#5733#'35\ B CI +9:!ts`ZZy !@ MM L LMMLM@ L +MML@ M + L L M M @ MMLLM M MM L@ L + @LM M#MȳMгMM@1M !i iii  + jj i jj?++?+++99999++++9+++++/+++9++++++++++++++++++33+++++01++++753#"#'&&##53#"37654&+3#U$)%+7[urp'@ MML L LM@ +L% @ M " " @) M) %#$i!#j !Il !sJ!t! ??+++99++9/+99//+301+++++++72#"&5463232654&#"'73#66E   RH +r   [B{!".w(M!L!M! M! M @?M% M) M)M L #' +0M +(M + M +M +M +LM@ L + # MMML M L L @iM 0/+9l"ijjj i +j +##@L#@L#@L#@ L#@ M @L @L @L @ L @ M #9t ??+++++++++++9+9++++++++++++++233++++++++99+01+++++++++733#'#33#5326554&##532'32654&##"q!.9G JVHV /NY#@0#..P;99P P//9/39/39/320175#64'37'>54'732653#"65'667#'37#"'&''7#"'&HEB ((" +  #s!) > + +  Vrl _ +  %3% .>o1  9  b8   +b   + +#49BK5@GC5>:5%55!//9/339/39/3333320175#6554'3767&''66735#37&'767#"'&'#"'&'/ +5l5(##-6 1 +./ + {-     `M +!   s -߹) M L@ MMLL M L +@LLLLL@ M!+M M@"M/+ (Ils JtIl ?+?+++9/+++29/01++++++++++++++732654&#"72#"&54632#"&547454&#"66 "H!  )'.14 + (;BXajP@, ]f<@Y66+ @++@ Ib/3/9//////]]3]33333333]01764'375#5353537#"77#"'&7#&5476733737#"'#"&547654&'5667#"'&'7#"'&'gPRRRR  ;9o nmT Q    D  H B  Y%!!C  + . +  + + !d  + Z  >  +<GlG@!6Cc=J'J`J#:#''JT``JMHiHcc2J2//9/3339/39/3333333332017#"'&'67#"&54766'34'37#&'#65'67#"7#"'&'4'77336653'#"75'67'  "  +k Ea%>;&E>9   R   @5  + 5FE!3 +- 0< !.8/ + !  7 +   ;?!%7 YwbVl/+//01753oY  @)@ 33;;*''>>//9/39/39/333201737#'>7'&'275#"'34&'77#"'37"37"'7#&'( O  2 U +'Q s  < : '=; #;EC   I  + +  + M !%7+@5#33)""  //9/39/39/39/320175#'665&537'7#"'&35354'375#65 ~h 9`^l\^ + 1:#F!  + + &  + ++^== + + 1  +/\?@D S:P:>>84WW(//,,# KK//9/39/339/339/33332220176554'655'66777#"'3737#"'37#37#"&&'#'667#"'365#'66b0 + +u$ D  + +f < +0' <$'$% 4  VK  X!*F?$  & +" +  + + # +. )  +*    +8V_ju7@; rlga]WC V?S?CC } }//9/39/3333332323230177#"'&'37'667##"'&'#"'&''666'37#&'#'667#"'&76677#"'&77#"'&'7#"'& +'/-&+ +  `$ ;.& + % C + ] + +( y +     6892   + +  +  B/. + ?  #7'(&& i  + +  (2<RV=@8S3D/)Q% QTQQDHAASSD//9/339/323333333301736673##"7477#"'&77#"'&'3&54767#"'&'64'367375#535K +>  K>  *> +(mm<  )   + + + .! + 2 H:: &F%@$ 2 +;5?522**//9/333232323017#5>#"'&'77#"'&7'665'67#"'34'37#&&'88C2@6?J 0#I@"= jNd$?8 +&   &$7V>,>#&@   N  K SXryM@$."svT]hH H PTTJ6N633=D:DHH&&//9/3339/3339/33333323222017667"#"'&'7#"'&'&'567&''667#"'367#"'36737#37#37#67'7'667'267767'67^,J-." -  > &"#1- %" . R QC _8 K + =7 + + + ) , +=/  +  + +{   *4! + ! !  +    + ; (  ?O  @/@>&7$7;;.,,//9/3339/39/333201765'674'67#'36737#255#'34'7#'3737#&'O"  + :STz,C H_ + * Jmc +Z# +   1 + + =  +-8?GSkI@"[N+HD+@5=/!' '++ 9==__//9/39/3339/3333333332201765'675#'77#"'36737#34'37#?#"'&37#"'667#"'&&'&'567&'7667u'& +%  # + +8  &&2` a  3  +( !!75 +  ;'' +2 %  + +9 + ( + +  +    +.+  # "-'!  ',N-@($:@@8DDD0= 0/333/399//33333017&''67&'#'664'667"376765'67#'34'37##"'&&!00 . + -H +Q  + ) ( +x7$  %##%18.CG% ' ++ -m-Q(0>$ )   + AEIMU@(077=+:+//G@**CKFK!B!JJ  44//9/3339/3339/3339/3339/333230173564'35#"'355667&37#375#37#37#"'35#"'35#5353573521@ a41P  Bd126 UK m3 T1111 2[-,   + *    G   F3@' FF  < + +//9/39/39/39/39/32017353567'37#'66373&'567&''67#64'375#V```T^ +s$N  +(: 3'5AF%$*^  Y8  +",t  "'+ + ! 'BcI@"cH]HWW" + +'% 822ZZ//9/39/3339/3339/3339/3330174'37#37#37#'67#'365#'35#'32654&'7#64'374'4'374'5655#65#64'P 4 ,! +; ;. +- ? .!  ,-  $47 98 + +  +$ H$eD    &  . + *<?D+ +@/@  @#=#33 7 7//9/39/3339/39/30174'377'6773535675#74'376'5667#'>7#"'#10< + 22222s( +!*/(   +  006..h+B. + 2 V6 ,B:6%-1$  +/CMZho?@UNJDm37_ffimm+ cc//9/339/339/323323232301737#'&&'#'66737##"'&&'#'65667.&'&&'7#"&'&'737#"'36'37#"> ++ :   + i 1 9   6#(6 )*)L  1 +E +2 \L L     3      0 +*   6   + +  4  &59HL;@J??EII744+66 +$$//9/39/39/39/39/39/320177#"'&37#"55#64'37&''64'375#5355#64'3735i d    +  gT WW<: P<   Na; +N + f   )[ " !!";A^5@QB6'<JF<blxS@'+PtnfkE8<<P_EEP3";"77P(.%.22PT\\P//9/39/3339/3339/39/333323230175##"'&&'65'67#64'35#"'34'37#373533565#65'66737#7#37'>'7#"'&&q $ $!   7  6O >  ' +* :,/,$#  {!    +-!-1,$/(   +  &&&&>>@ &@ +4  +!#  !@- "7! M  +   //0177".''6676&I % +5$ " 45-5  !!F  -.".I"#Q3  '6AML@(7,5 &" &&5&&5=I//39////]]3333333333333017373373733777#"'373737#7#64'375#7'>7#"'&&T- +h- -  3 d +  ,ik + m//)"24 +!  * + ) + ^+ ++ CA2 (  '1Z?@P,7($74?U?CC>:77FF//9/339/339/333333320177##"&5476733&&'737''667#"'&&'35#"'37#37#&'5655'667#'667  +Q  +I + + k ?, 9 Q: n #" A:&&5 >   +  + +    + >, , @="' , v@MLML@ MMMLML@ + MM@ M M/2/3/++++++++9/++++++01'7f )=GQ[1@X;S'N;H'D;?'1<''<<//9/3323333333017&''667#"'&37'67#"4'332653##77#"'&'&547677#"'&w (/>#4@+: =i  +  +H  +9  Iw  ; + 0??  " +\% D    / + ' +%## //39/33017#"'&'64'737&'555#";:885 A=,%9SYYQ]59]]95HV/3/33/9////333333333333333301764'764'37#'6677#"'&4'3737#"'735335335'65'667#'34'37##"'&f* > + cS   *    & +&\@ = +WU Z + 3 <  + y? @  DDDDDDD2e !T!4 1 + +  + '-8K@ +>+! !%%4G4//9/33320177#"&&'#7'6554'667"37#'3&#"'&''655'667 %1.( 6% B4 0 A ' :)U j % &17!{   t& i$H  EjU@(H3 8 ""P``>fOOAAFii WW//9/39/39/339/39/3339/39/333230173535335'375#375#67&'7'&''675#64'35#64'375#376'7667#'66735#CM% &\A($& @2 +!&%#k<"#  % !+ %%Y((((g + $ + +  /  + + 0/ +(  ' + ' - + 0(  % # 2 @  //9/3330174'37#&&''>7#'uJp +50!0 + :1#0O5 4%K  F&=;.'#"'&&'F  + %  Ye d: -F2 "*,+  + " +h +m E   + =kfK0+ $;"Y   +(Sir}7@y'sEn'jZiN''EJA>ANNE//9/3339/332323333016554'''6654'332673##"7&'7#"'&''667#"'3&'737#2'#"&547654&'5667#"'&'7#"'&' 6%Q + '- +   ?0X  +"   $J"@ +Ar ++,'B +H   +  +    +"a% +Z ;  +  ",?)$411//9/323017#"'&'667&''67&''7#"'&655#"'377 +   $(!&47! B  + $.   L&A'7 ) %*%7F +  Y Y+" #@ + +"//9/3332017376'767#'>7#"'36'K + !M.)"-2 T K3"c$9178 0 !:'@) ..//9/39/39/33220175#"'35#"'35#"'373&54767&''>767p c p  + & AL32!, "  + +   +_ - + S6/  +!7$  '+AHSA@O#IF(B2A)$ ((##//9/3339/339/332333320175#64'35#"'35566737#37#35'#"&547654&'5667'&'7#"'&'W&$ E14 5 R# +oWt   @# <*4- 2 3 - +88MU$ + +M = + )159=A7@*-;? (?37:7>>622//9/339/3339/33333201764'375#&&'#5667'67#64''35335353358t +',! *)&$!2B'Xg4 6w4 6h1 +, +  0 +'0 16 8"~$ڹг M$@ M$M$ LL@ LM MMM @MM$@ M@ML@,M&%$<<x#$i#"jjj  jj#?++?+++++33++++9901++++++++++++7354&##53#"#'#33#5326554&##53e(L(,u !*=DVbi7@gc]W!T#IETT#>BB#8--L#L//9/39/39/333232323201776767'667'66777#"'&7##"&76733737#"37#4'5255#"#"'&&'''6: +& '9 " + %/% , _ ^]H C qB  Q' = !% &  ( # B +   6   +  MJ  !*#  '@DHWc@<( ?&FSBEJA????&SSSSE?&SEAAES&?L9/3/9///////]]]]33333333330173535757667'37#75'675#37&&''67&&''3535'375#64>/////+ x 8  iM   !  :lll{jlm    M +/ [ +"  + m* 1 + - F/@ ' *55 F#9C#''= =//9/33339/3332301655'6677#"'&'54'37#336653##55#'>7#"'3#  h&& 8 < (  k!G / j +  + ;" 7 sz$7++8" "BzS@'n%%{(%%rlOlhh //9/339/3339/39/39/3333333201737#"'3&'35'375#647#"'37&74'555'274'7#".7#"'&''67&'765'74'773&547677#"'&77#"'&'7#"'&>  O 7 .<-.*) K + *+ +( +  '$   !   + , aF    ;   +@     +& + $6   #! +  % + + $ +  + + + + + )S_j~_@-2{Df{`DX{TDp{{2GDD2MJJ2%" 2;SSPP25,,2//9/39/339/3339/39/39/3333333301766737##"'&'65'667#"'357#'66737375#"'35#"'35#"'#"&547677#"'&'736673'#&547#"'&&'*   %   /+  '  %C d9 ZC  -  +P + +/  + c$O'6 -&#  %  + + 3     a + +       z%@ LLM L@, L M  L LML#@MM@ + +L@ML@M'&jj j j 9l ?+?++++++++++01++++++++++726554&##53#"#"&554&##53#"A$, +ttuu$48%@ +633+)55+//9/39/39/33201764'375#7'>7#"'&&'64'375#5355z}5*05"J  ^]^^, . +OME !+ 0+ +p!  +  7(( ,048<E@ *#:6' 6.25299-11//9/339/3339/3339/33333320136'5#655#"'354'35#"'37#3737#6''3533535335v *4= b4 - O4 5v4 5 &B) 8" " + W0 ))))/++++ %0KU-@GQL-'1 1//9/339/333232201764'367#"'37#375#7'>'7#"'&'67&'&''66&&54767s q B 5  L-!@5&   *  + "<     BdcB4@1; R @  #  + 2 Da"! !+?F^1@:S<]'D"<1<<@DD//9/39/333333320174'#"'&'65'#"&547677#"'&'4'34'5#'7'37#"#"'&''67&'7672   m  &ba   ` +    +  4  { dY M   + "" +)A/@-5<<99*0?044  //9/39/3339/3330177#"'&65'667#"'37#"'&'734'37#37#"'35#"0% # E + 5 + >){ E   +)E5  +   a5% H h h-!@'"#'' ""( (//9/39/333017667#"'&&''667&''37#37#'754'Q!  $ & ! #" + ! &   #'J1@+//  *%?? E$$ //9/39/339/3339/301737#"&'#'67#"'3655667'355#37#7'74'75#64'37,F2 . TJ + 4#6 + 2 *).#   1 ^ +,Q^%.R 77G +, 1 B Bf  + ? AF+@1) +B>// //9/339/339/3220174'37#375#'66&'&&''67&'#'664'67"37#67E +H#  $ ! (# -@ @I +Q  9 += ++ 4S=(%>` + 7  !"8g.L?"  ' +3- 1MW7@T,O%4.%IFF%"((,,9%9//9/3339/39/333233017#"'&&''67#"'365#'66734'37#377&&'&&'675#"'37'7#"'&+ 58* H%  # :0  "V5/ + +   R X  %2_M@$ 0 ,&&00T TK\H\33TTNW[[TCTC//9/39/339/39/3339/39/333301737#"5#64'3735#"&'&'36737#"'#"'&&''667#"'35#'66737#37if b d?= + U?F  %U  y   /    $ &  .# +. + + 44N + ;( +5 g   + .8  9+ ! 9  &18lS@'j +62-'g"bJ@c>cggQQF^C^bbQVMZMJJQ//9/3339/3339/339/3333332322201765#'>4'67"37'#"'&'#"'&'''6255#'35#"'367#"'3&'737#37#37#4' %*  1   : 3  $ 5 I / 7  #  ; 5o\5SA8%-D+ + 9 3  + h   #?#   +    # F qHM@$M @M @L ij + Kl?+?++/9/+++301+7#"&5467#"'73q%2 Z"A + 8C* "/#@#  *(,,*//9/39/3332201767#'667#"'3645376'>'37#@/&%$ ==  +$L>;:6   G' ;`, nE*2=XI@"V:4C0+C% OIICC!((%%EE//9/339/339/39/3333333201735'375#64'7#"'&7737#"'36'677#"'&2'5#64'36737&'f5C2 5 F n 7+b0@(( + 3 *o 6 + D   bs'e  +  + x  +E9@-B-<5$@$!!-*0'044 +- +//9/3339/33339/339/301737&'7267#'767''667#"'35#"'34'37#36737#37@#(C 08V c ? + - ? cRT  +!  + &  + % ! +  !,   )7Z`E@ `2]M%2!2M.5522EUMMEE8XXEE//9/39/39/39/33333333017&''6637#"7&'&77#"'&&737#"'36'3737&'7667#'76737#"67+&*"$A <    +8m O> + +  1  + 39 ? + +8<>L  '! +! %, Ro + W =  5 9 57#"'&&' $88:@://9/332322017#"'&''67&'767#"'&''67&'76756'5#64'37&`   +C   + m  ( %% w ' +   .27S[+@+I[W/0--I#//I33I//9/39/39/3323201655'67&''6737&'375#535'6767'667'267767667v - ; ) % +?AA< ' +   ( 3 '&.+!*5   +! +  (I55j] 5 )T + + +)N\r{Y@*LZ|RwsZcrRZR3E0EIIRR<99R (%%RVZZ!R!//9/39/339/39/39/3333332333320177#"'&#374'7667#'6672'3255#"'34'7#"'3737#&''66737#'#"&547654&'5667#"'&'7#"'&'V +'  /$ * ; +  + , - L B   ;   +   [ +J29IA ;   + = -  "]  +U + 8    HR@ +$OJ6&6&//9/332201737#"'&''67&'767#"7#"&''67&''7&'7767'7#"'&F  % & ,(),  +- 8 W  + + /  + 3-+$3"&!"/ 7  )#   +@ +  //9/323301737#37#"'354'354'&&''66~ +# C@ 9 +( +=17!%9 , E : N``1 1 +/B('+/375@15!5)-0-44'(,,//9/3339/3339/33320174'375#336673##"55#64'3533535335s= + > E  N<<><> # +P - 0"H ++++1---- !P5@<"+1E155" "&N*NKK"//9/3339/39/3333220177#'6737'&&''>'37#34'37#765'675#'667#"'36@ +  = - 7)'%!a +$ B -()* *   + (r-5   d +)Q3;41l   >  " &$ &$ " #82 6 //333017'667&&&''66#"'&&''667~8!!8 + @$3 )*"(S#  .+ + :1 3 +/ 0 +!G1. E   'F(  +0'@%"*//9/339/3332301737&'&'#37#37#"'35#"'35#"''66}"l ! :,?* HE d% F +'42 += 2 1 9 9 1 +@ + ae{S@'!(@|l{c%0R0@@/b+((  77//9/333339/3339/33333323333320174'34'37#5#65#"'6764'35#"'37#37&'5255##"'&''6'##"'&'735'#"&547654&'5667#"'&'7#"'&'} #  7 #  , ?    +*\  + =       TQ!0pS  + S  S   !3  +  +'Z$  +Y  + ;  + 1+@ + +00 +$ +$//9/39/339/39/30173564'375#37#327"&&''6675#Nhvf.3V@,,??Q? 4 0< +>  n)4?J1@GA<61+  " "//9/39/339/33232320173564'34'37#375#3#"&5476677#"'&77#"'&77#"'&Kn~+A `3 + n  + * +t77O0C  ( +/ '    + +  +  =[e!@%]BWTT]'# G]G//9/339/3230174'5266''67&''67&''67#"'37#667&#"'&&327"&&'&&'675#"'37'7#"'&  ":<"+- + yI  } 5"#-9& +  ( [%$' ! +     +  5    + P Y +   +KbkvE@ r;lAg$cSb;K 6 $$AAE>I>;;,A,//9/3339/339/333323333201655#'66&'6737#'4'37#7655'275#'667"'36737#'#"&547654&'52667#"'&'7#"'&' ) +2, j #' +(    +2   + + +8 fE3CL  +, lv  # + ( & "   +-1\ $ + +T +;   ,K5@0:GG>>0%%05990++0//9/39/39/39/339/30173737327"&''67&'767#'667#667"37#37#'754'354 +  1!"E8"    ! T#;   4 e  + + '  "! + : A  . +Hx 96 L+M%@" L#M# LL L LMM ML@ M M M M M*@ +LM@ L L@* M LM L&11'!*7!'!!M!M!@AM';!:7i0 4-:l4*7$ $9l $ i @M @ M@M@ M @ $t$ 9l ?+?++++++999+999+9++++9999/2++++++++01+++++++++++++++++7&&#"322'26654&#"66"&546323267#"&'"J  +  +"   +    -#')(( 4(/(/-*#$   +6%@6,/)3)'',//9/3339/3330174'374'5255#655#65'667#'36737#/ 1.%*%> Q  +^ m + + P +KQ%>b F#&<  +%KP=@9 LH 7GG33//9/39/39/39/339/323230173535'654'37&'5655767&'&'64'374'5667#37673))))&  2 D :   >BF + //5006.#?[ + + Dh'*  )* + +   Q "# 6A_g!@gc/UB/>8///333333301777677&&''67&''7&''7&'77'7#"'&'76767'667'66667/ O  #%+" ) ; ,+ = ) 0   + )"&-) +0  ## 3  +  ! #  +% 5 !, +, +//330177&'7#"'&''2667''667"&&'?v % ` ) % !5%%F -")  >8F##C;  @+ (@@ 6)  //9/333320165'667#"'35567"37##"'&'77&'7#"'&''>J&# =?  5Q R P + #N&2 0 3   g + l4%' +'t +4?a#@;W5PMSKSWWCPC//9/33332330167&&''67&''7&''7&'777767'#"'&'65'67#'34'37##"'&"!.- + +& 0 P. M  +h  * ) ! ) !       Sl1E(2;' .     ;?5@  ",77"=))" <<"//9/39/39/39/33333201736'34'37#65#'67#"7375#336673##"554735 G< D=L?% lnr + n: + +4-=4 + " +   '"" '1)@$  + --//9/39/33332320174'37#37#"'34'64'''6675>} 5 SD / 2B  =V9LCwE  + 2 1] ? + .<+/ :3 +6S^j;@e_#R#D&##DH;;RRDFB??YDY//9/339/339/3333332017#"'&''6677#"'&7#"'37#"'&'64'367#"'37#375#7'>'#"'&&'T$ " C ] h; , F3 !** +,   0:J  + D 1 + +&   E   + + =kfJ2* %<"^   + FQiC@V7N#H]RggEB##<<//9/3339/339/39/332332301764'375#5352774'37#66767#"&''67&5#"'377#"'&354'37#7'675#"d  @DC Q# C + + !*/ 2 S % # D  7*   +9++\ +  " 0* ,  +#'%+? - + + 4%  5 N Q +2@ovS@'fQ":5,/u**JoZZpuujcnc``//9/3339/39/39/339/39/3323222301735357'667&64'37&'5255#764'74'&'525'4'37#765'675#'667#"'36737#737#'u /# 0'U + ? +%     9`3 +0e y72 1  +c i $7!> +FA  f a + *0* +-    9% + +&-8#@+ ' ..//9/39/333201754'37#37#''#"&547654&'53267'&'7#"'&'jY x] | $   + 'N#  +   +m$ +g  4 + 7@5@=92(.%.2255//9/39/39/39/33332017"54'375#332673#'3575#"'34'37#&''7#"'&Mk +nq nCn  A", dD + Z$$ 3   9 + 7  +<Cg+@<(9(,,`Dd==` S`S//9/339/339/3330175'667#"'37#67&'7#"5&'37#67'675#"'76673&&''667&&5'66737@ +  ] D (    3!4      +   (, + + +  9 C,&  +     + / +1 P224   !0H  19F1@A:59 ,  //9/39/3323333301737#37#"'35#"7#"'&'7##"&547667337"''667#"'&&'3} HE f$ . b   \ /!% 3!& T T T  + H & !     +,;W5@7 ;$JUU$, $'!+!$//9/3339/3339/3330174'37#765'675#'77#"'36737#7&''6674'67732653#"7A  %)*' &  %  ? 0'& + +# " + 0d + $ &) ( 2  8`7  +043" , " (4:Xa!@Y]5IT$5500//9/3323232017&''67&''66737#"'&'#"'&'76776767'667'267'667 !%"#('2L&  2 2  -  !((  + + + $ 0  +^  '  & & 1    s @ L  LL LL LL@ L MM@ M Il Il?+?+/+++01++++++++7"32654&"&54632@+$&**&$+.*'0.))/z #/3"L L@LL LLL@L0202$.@*.$@2 L$5 .@ .3201'!Ul'11-Ut1Ut1Ul?+?+++99/+99//01++++++++7"32654&#"&546324&#"3267#"&54632''7    4    HG'hj +?;@ :..."/3/9/////]]33333017353564'375#375#77#"'&7##"&54767337"N^^fu\ +^d +f R    %%R--E]* +# ! +&   +:   (3]+@7.)%!SCO@OSS //9/39/333323220177#'66737"4'&&'76''667#"'&&''65'667#"'355667"37##"'&JG  (   :t 0-  &x !; $ om w + +d 33  " [U*6 , +.    q #//0M,@M#L MM @ M(M(L M L8L,L,M,M,M, L(M(@M&M&M"@M" MM@ LL@ +ML@L +M M MMMM@L! $ *M@ M@ M M 1-L-M-@M M-! 'IlIl ?+?+9999++++/++++99//9901+++++++++++++++++++++++++++++++++++732654&'#"&5467&&54632'4&#"66 X -  +     +J   0C@ '' ++..$$//9/3339/339/39/39/323301735353535'36737#3737#&'34'37#"Lhhhhhhh_ Ab3 2'= "$%    + 9@ "0 *'' //9/339/32017655'6672667#'767#'66'#"'37376'E ^ 6) g   + p$$J !z)-  PX!RV + " + Z '  )@ +   //9/39/39/323201764'3564'375#5356 =XgU + XX* (}( IJJr4h2 HH +(]P@*/;(ZNN)DvljXTRR;(DjjD(;@oa@/3/9//////]33/333333333301735357&'7#"'&''6554'375#7332653##"55'67#'667367#'37#3765'667#'34'37##"'&'l   +   ]  +DB  8 +#    $ +  **0((g  +  e" ? + ? IF%R   +8 +8 A#;>#5"# - +  +  +#pE@ GoGoG oGoPCMCGGfkb_booJfJ//9/3339/333333333330177#"'&677'677#"'&'276767&'7#"'&'37#65#"'35'267'67#"'3&'737## - -#  I   +P oK l + + +% +: c G m  +  ;  Q )  +F    +   + , +!  "     #GZe7@'3D*D$$#9?6?CC# #O\\K#K//9/39/39/3339/333201767'37&''67&''66765#'76735#"'34'37#37'64'37&7#32654&' (4  + "%  &0  / 7 4& $  $     -' $  )  + + ) 0/$ 7  +  6Q[=@XS + +--** +MJJ +41= +=//9/3339/39/33333330177#"'&737#37##"'&&''67#"'365#"'367"&&'&'675#"'37'7#"'&l>  D/Q 07' D G sd509" +  '  +  +       +& 1      R + U    "-A3@<2)#   + +//9/3339/333333201764'34'375#65#535335'#"'&'267"&54764'`-,  .--.' (* +64  * > Q+9U????0_n    +CVq1@ doo VSS <9. .//9/3339/39/33223017647&'52554'"37##"'&'655'6675#"'35#5664'5'675#"'4'67332653##"7%P#, H6"* !" C%7#"'&&'{ !/ ]&  +  +(' + +,M)@3F#FCIAIMMF//9/3339/33232017655&'75#'664'667"37##"'&'76'5655'675#'34'37#  1>+  +%W 8"$   (  +(A6 5)k)BZ  + / 5V + D5+ ' + -DNE@ LE?% 5;3;??!((%%-+ BB//9/3339/339/333323332017655'667''664'37#37#"'35#'655#'34'37#&'''&'C V  ;2  D /P a  , pK8 C ) + (  (F   J F   05V/@'?1?D  +<  +   ) 1 )$&!eh('P %#v  #2! ( .Y  G "*!@'#" +//9/33333301744'37#"&&'#67'655#"'7'66Cxq?'8%4   7& -h: T$, 2*_ X d0, 27;S=@O#3/--B9B  88BG==KK'B'//9/339/333339/39/332201765#'34'34'37#5#&''67&'#'37#67'35'3&&'737#'>f .8  38O 5/085+ + i a@8O A  Q  +    +  + >; +  + 7#"'37#67&'7#"'&'37#37#"'35#"'35&  5 h>@.#0TF l2 S!t   07 7 / % ! !//232301764'667#"'&&''>w . &[+" 0T7'J6 m  4 5  @*% + 0 #@Gc7@`Z##AMKK,55%99//9/39/39/39/339/322017765'2754'667"37#37#73733676##"55#'>667&&''37&&''664GI + + # +=" +&1X +&& +X1FK9/33/39//////333333333330177#"'&353535'7#"'36737#375#64''7#"'&327&&'&'675#"'37lKKKKK5# X & P . + +KZ11/>!   '  +  + ?!E   +- #;G   +   + S  "9OI@"% EKCKOO -4411  9(7(,, //9/3339/3339/339/333323017655#"'34'37#4''7#"'&'4'37#37#"'35#'7'675#'34'37#* K + ( + +U . ^ : >9o +" 3 4 w 6 7 ~ g M +" *  * ,   #59=@2744,!, ,,*66$,$//9/39/3339/339/39/320175#64'35#"'34'37#37356554'375#535@  A$ BU@  ]1. $   $ 22y  + Ѻ +9D@ @1:411((//9/33320164'#"'&''67#"'&'65'667#"'37'#"'&'$ +\ +   #. + M + & + +B  l| +   O]: +U  + + !%)-19D\_@-U 72/  +.. '** #&& QXNX\\ ""   A A//9/3339/339/3339/39/39/39/333230174'37#"'36537#3737#"'3735353535'677#"'&'7'675#"'354'37#v >% D ~ ! EEEEEEE? (; 'K  ' (~    c  e   +  8  T (  0  C+@6( 6;2/2??$6$//9/3339/3339/30173&'7#"'&'332673'#"55'667'267#"'36'737#?| 9# & 0#!2. + ,? mG| h  Y \228$.    +!%F5@ /## /,2*266/""=/=//9/339/3339/339/3017355#332653##"554'3735675#'34'37#76'5655$UJ  MR +l$ " / + &"$ DD> Y  +DD] 3! ( . [ +K  )F'@&!B??22//9/3339/33301737&'7667#'67#"'36'7#"'&67"&&'&"'675#"'37/ + 1C8 < ?6/;&  (  + +>.#NT'+M ' + +   + +  T  .8UE@ 5N0 ;)& , QNN A A//9/3339/39/3339/33323301767#"'36737#34'37#37#65#"'35#''7#"'&67"&&'&"'675#"'37c + 4 + + :]'  :-N/ L' +<   >6-:&  + &p 7  & & Z      R +  /3F+@7# +#!!@1&&@,00@//9/39/339/33320175#37#&&'#65'667#'35#64'3735655'667"4 F# '(/ P L +fO +2 +$ +  ,NF*:$ 0 + ::$'XN #xw'76#"&&54>6#"&&54>  + + + +2  + + + +        +26:>`dY@*0 60d00XaddX;>>X366X7::XP[G[AAXZVSS'X'//9/339/3339/39/39/39/39/333330177#"'&'&&'56637"#"'&'77#"'3#73#3#77#65#&767335#"'37#37"3#n  4-5:':;x   +2*U //c//d00 +RMM( NQ:11Q + + 7 + %5  h     +@aM@$QC.>>)--# ' aF_FJJ55//9/3339/3339/33339/339/3320177#'67#"'35#'34'37#366737#37#376'73267#''4'37#76'5255'675#'$ 4'' 2 +% +'   D2 > 5 "  + +6 P + &#%  +7 . #  +#&  ! . , e( ( 2 P A  6"  //9/3320175#64'37>'7#"'&&'mk +< !Lv+$ _&O' +-A0 KFB "u#7"&6632&7667"&6632&766A    9       +    .26:SlY@*T; ; +8$$;477;033;*//;\Xee;M?CC;//9/339/339/39/39/39/3339/33333230173575#37#65#'667#"'367#6&'37'353535'37##"&'&'#'66737##"&&'#'66k1+-M2-+ Mkzlllllw, 3 + n +6 5  = + " + + A {     + "#    ) ;kN@+@L/,5 2;8 +/L + +L"_/3/9////]q]333333333301744'37#37#37#"'&'65'667#"'35#"'35#"'332673##"55'75'75'6677777= +, $ +/  1 $ I  * ++ +)$2  9, +  + + +  + +  =>.   X3  4 , +/   0 ,  %)-8OM@$H /++/'*/$&/DKBKOO/ ""///9/339/3339/3339/3339/333301655'66737#37#37#37#7#33535'7#"'&7'675#'354'37#sL : 3 2 t(%((((( n$=  ( &" fA  * * / %**0// +  + W+  +4 4 %% //9/330176554'#"'&'37&'667##"'&''66 +$ + +4$., . !qY F  +s  ,,:M4   U +7)@4 71 ). $$  //9/333339/333017255#655#"'37&'74'37#5#65#"'34'F,    F9- N%E] [ E +         //9/3201737#"37#"' "  +-9B@ & ?:.",,.//9/3332322017655'66737&'5667#'>7#7&&''66A!   +%T  ,   8 ) hB " E  N ("+w$> %*A @  +//9/3330176'5'67#"'34'37#6'a5QO*O  1U# sV-6T - 0 +4KOSWtO@+JAUU6;QWMPqnLIEBWWPP;WPnBBnPW;G0/33/9/////]]33333333333017'667&&'655>7667''667765'675"'37#7'353575#7'&''67&'767#"'37e +$ %' ,"' +  + + + $ +$!0&  m#U000000 + " + ) I 9  ? (!K$E    + +R   Q C>3 $ +   + +   +   + t3@ RdHHR [[RU'R'//9/39/3339/33332017655'6677367335'7#4'53266''667&''667&''667#65'66737375#67"&? -!-.0C  +  ,64- ! # + - + +'/ +  !v!G &    R,  ( $  + + + %   +    + + + "Ednk@3k1f q==L^I^bb4RYOY]]11(vv//9/39/339/39/39/3339/39/3339/323333017353577#"'&7737#"'3&&664'375#375#654'65#"'35#"'36737#37#'7#"'&7.'&&'675#"'37e  +> )o +      q $ 1  . ++ !X718&   &  +,,[11F  ?  + 2; $   ) '   % $   % +'    +  + R 4;@E7@(=CC(81<1AA(,55(//9/39/3339/33339/30175#736673#55#'667#65'673737'367367335)*  8 =-0../ +8 8 :M/?v+  :$  C1')%- +,A % + *!---@  + //9/39/33017'664'3733673#"55[)&E  + + + "Q7/>[& + +&fE/_< BӇ $+    '    +  +    +# +! +          + +         +4 +" +             %       + #   +   +   +  +  #      &  + + + +   + + +  +   + + +     + )  #   " 1 + + +7 +      +   +&     +  +  +  $     +  +        +    +6 +     +        + + ;  +     + + +  +        "     +  ' +     +   +   )  + +   + +         +    +    + +  #         +   + + +         '                     +   + +  + (   + +  +  + +   +   +   + + +    ' +   +  +    + +       +   +   x  +"    + +  +v ^ + + 6vJ22tDzz\ !t#&#$&&&()z*l+P,-.x/01x235J568 89f:N;*<2<>>?@AbBCXDzE.FFGIbJKMNN +OPRPR:S(TTUW8XXY[ \B]^`.aabccdfghijjllm$nzoprrstuPvwyz{{|}~zFJrh$(.pHpP@~f8J$\&JnxFƖ<ʂ.π(@jӤtX֌؂Pthߘd(~p$ @J D " +" +   <tdb`@  !"#l$&D'x(`()+T,r,-/ 0V1b2v3r56r78r94:J;6<=>~@A2B,BCD"EFGHIJKKLMXN6OtPR@SPSTU&UWYTZ:[z\h]t_`acre +fg"h.ijklmznoZq0rZstu|wfx y{D|.}~\~&Rj04.PB*N8Xxr|(P<^NJ ,$,:pN8@<<ʎ, +͖nϞКNԺմ۴ܢ +`z2J(\J,  +  2LL*^2 P!#F$%&'(r)|*+,-./0T1234(56r799:<8=&>"?@ZAVACNDE6EG<HIJKdKLMNPTRJSPS+1/&''-'' 4',@ Nl           X D RX> > 8 8NlX Copyright ZHONGYI Electronic Co. 2001SimSunRegularVersion 5.15Trademark of ZHONGYI Electronic Co., Beijing Copyright ZHONGYI Electronic Co. 2001SimSunRegularVersion 5.15Trademark of ZHONGYI Electronic Co., BeijingMicrosoft supplied font. You may use this font to create, display and print content as permitted by the license terms, or terms of use, of the Microsoft product, service or content in which this font was included. You may only (i) embed this font in content as permitted by the embedding restrictions included in this font; and (ii) temporarily download this font to a printer or other output device to help print content. Any other use is prohibited.http://www.microsoft.com/typography/fonts Copyright ZHONGYI Electronic Co. 2001 +[WOSepcnu1SNN-fN-hu5[PO`obg/g PQlScO0[OS^8Beijing ZhongYi Electronics Co.http://www.zhongyicts.com.cn @\3[3@Z3Y2X1W1@V0U0+T/S- R.@Q.P,O,+N*+M*L)K(J(+I(H'@G'F&E%D$C$B#A#@#?"@>"="@> +endobj +18 0 obj +<> +endobj +19 0 obj +<> +endobj +20 0 obj +<> +endobj +21 0 obj +<>>> +endobj +22 0 obj +<> +endobj +23 0 obj +<>stream +/CIDInit /ProcSet findresource begin +11 dict begin +begincmap +/CIDSystemInfo +<< /Registry (Adobe) +/Ordering (UCS) +/Supplement 0 +>> def +/CMapName /Adobe-Identity-UCS def +/CMapType 2 def +1 begincodespacerange +<0000> +endcodespacerange +555 beginbfchar +<0000> +<0001><0041> +<0002><0020> +<0003><003E> +<0004><0042> +<0005><0065> +<0006><0061> +<0007><006E> +<0008><0046> +<0009><0063> +<000A><0074> +<000B><006F> +<000C><0072> +<000D><0079> +<000E><53EF> +<000F><4EE5> +<0010><7406> +<0011><89E3> +<0012><4E3A> +<0013><542B> +<0014><6709> +<0015><0062> +<0016><96C6> +<0017><5408> +<0018><7684> +<0019><5DE5> +<001A><5382> +<001B><7C7B> +<001C><3002> +<001D><5305> +<001E><4E86> +<001F><79CD> +<0020><5B9A> +<0021><4E49> +<0022> +<0023><4FBF> +<0024><5728> +<0025><63A5> +<0026><6536> +<0027><5230> +<0028><5BA2> +<0029><6237> +<002A><7AEF> +<002B><8BF7> +<002C><6C42> +<002D><65F6> +<002E><5C06> +<002F><5BF9> +<0030><5E94> +<0031><5B9E> +<0032><4F8B> +<0033><5316> +<0034><8FD8> +<0035><80FD> +<0036><8C61> +<0037><751F> +<0038><6210> +<0039><534F> +<003A><4F5C> +<003B><4E4B> +<003C><95F4> +<003D><5173> +<003E><7CFB> +<003F><6B64> +<0040><4E3E> +<0041><81EA> +<0042><8EAB> +<0043><4E0E> +<0044><914D> +<0045><7F6E> +<0046><4E2D> +<0047><653E> +<0048><51FA> +<0049><6765> +<004A><547D> +<004B><5468> +<004C><671F> +<004D><63A7> +<004E><5236> +<004F><8C03> +<0050><7528> +<0051><521D> +<0052><59CB> +<0053><65B9> +<0054><6CD5> +<0055> +<0056><0069> +<0057><006C> +<0058><007A> +<0059><006D> +<005A><0068> +<005B><0064> +<005C><0073> +<005D> +<005E><548C> +<005F><9500> +<0060><6BC1> +<0061><0075> +<0062><4ECE> +<0063><8868> +<0064><9762> +<0065><4E0A> +<0066><770B> +<0067><0070> +<0068><0078> +<0069><5982> +<006A><540C> +<006B><0066> +<006C><4E00> +<006D><6837> +<006E><5177> +<006F><3001> +<0070><8054> +<0071><8BBE> +<0072><6839> +<0073><636E> +<0074><5206> +<0075><53D1> +<0076><529F> +<0077><4F46> +<0078><57FA> +<0079><7840> +<007A><63D0> +<007B><4F9B> +<007C><5176> +<007D><4ED6> +<007E><652F> +<007F><6301> +<0080><56FD> +<0081><9645> +<0082><6587> +<0083><672C> +<0084><6D88> +<0085><606F> +<0086><7EDF> +<0087><8D44> +<0088><6E90> +<0089><4EF6> +<008A><8BFB> +<008B><53D6> +<008C><5F0F> +<008D><5DF2> +<008E><76D1> +<008F><542C> +<0090><5668> +<0091><6CE8> +<0092><518C> +<0093><4E8B> +<0094><0053> +<0095><0067> +<0096><7B80> +<0097><5355> +<0098><6613> +<0099><61C2> +<009A><4E2A> +<009B><88AB> +<009C><9700> +<009D><8981> +<009E><6267> +<009F><884C> +<00A0><5217> +<00A1><64CD> +<00A2><8FBE> +<00A3><72B6> +<00A4><6001> +<00A5><5F53> +<00A6><4E0D> +<00A7><8FDB> +<00A8><76F8> +<00A9><6790> +<00AA><6784> +<00AB><5E76> +<00AC><5BB9> +<00AD><79FB> +<00AE><9664> +<00AF><8D1F> +<00B0><8D23> +<00B1><7BA1> +<00B2><521B> +<00B3><5EFA> +<00B4><7531> +<00B5><4E24> +<00B6><7EC4> +<00B7><56DE> +<00B8><006B> +<00B9><540E> +<00BA><524D> +<00BB><6846> +<00BC><67B6> +<00BD><4E0B> +<00BE><56DB> +<00BF> +<00C0><0049> +<00C1><0044> +<00C2><53E3> +<00C3><9488> +<00C4><7279> +<00C5><6B8A> +<00C6><0077> +<00C7><0043> +<00C8><0028> +<00C9><0029> +<00CA><0040> +<00CB><0050> +<00CC><002E> +<00CD><5148> +<00CE><673A> +<00CF><4F7F> +<00D0><5F97> +<00D1><4EFB> +<00D2><4F55> +<00D3><578B> +<00D4><662F> +<00D5><5B50> +<00D6><6269> +<00D7><5C55> +<00D8><6DFB> +<00D9><52A0> +<00DA><6BD4> +<00DB><004F> +<00DC><66F4> +<00DD><4E5F> +<00DE><5904> +<00DF><4E8E> +<00E0><4F20> +<00E1><64AD> +<00E2><53CA> +<00E3><5C42> +<00E4><522B> +<00E5><0057> +<00E6><4F53> +<00E7><73B0> +<00E8><88C5> +<00E9><5404> +<00EA><6838> +<00EB><5FC3> +<00EC><5411> +<00ED><5207> +<00EE><7F16> +<00EF><7A0B> +<00F0><6211> +<00F1><4EEC> +<00F2><7ECF> +<00F3><5E38> +<00F4><505A> +<00F5><4E9B> +<00F6><60C5> +<00F7><8FD9> +<00F8><4E1A> +<00F9><52A1> +<00FA><65E0> +<00FB><8BB0> +<00FC><5F55> +<00FD><6240> +<00FE><002A> +<00FF><4EBA> +<0100><7B49> +<0101><4FE1> +<0102><65E5> +<0103><5FD7> +<0104><901A> +<0105><8FC7> +<0106><6280> +<0107><672F> +<0108><5C31> +<0109><4FEE> +<010A><6539> +<010B><4EE3> +<010C><7801> +<010D><51B5> +<010E><5B8C> +<010F><8BE5> +<0110><52A8> +<0111><4E3B> +<0112><004A> +<0113><004B> +<0114><0047> +<0115><004C> +<0116><53CD> +<0117><5C04> +<0118><4E14> +<0119><5FC5> +<011A><987B> +<011B><0076> +<011C><0048> +<011D><679C> +<011E><76EE> +<011F><6807> +<0120><6CA1> +<0121><90A3> +<0122><4E48> +<0123><4F1A> +<0124><9009> +<0125><62E9> +<0126><5E93> +<0127><8FD0> +<0128><67D0> +<0129><610F> +<012A><7EE7> +<012B><627F> +<012C><56E0> +<012D><5B83> +<012E><59D4> +<012F><6258> +<0130><90FD> +<0131><8BF4> +<0132><53EA> +<0133><9047> +<0134><7ED9> +<0135><4F60> +<0136><800C> +<0137><5219> +<0138><0031> +<0139><8C13> +<013A><6307> +<013B><5373> +<013C><4F3C> +<013D><0032> +<013E><58F0> +<013F><660E> +<0140><53C8> +<0141> +<0142><53E6> +<0143><0054> +<0144><89C4> +<0145><903B> +<0146><8F91> +<0147><5212> +<0148><5143> +<0149><2014> +<014A><51B3> +<014B><95EE> +<014C><9898> +<014D><6570> +<014E><5C40> +<014F><90E8> +<0150><9996> +<0151><6027> +<0152><9694> +<0153><79BB> +<0154><62E6> +<0155><622A> +<0156><6A21> +<0157><5757> +<0158><62BD> +<0159><7EC7> +<015A><5C5E> +<015B><8F6C> +<015C><5185> +<015D><7ED3> +<015E><793A> +<015F><7269> +<0160><4EA4> +<0161><6EDA> +<0162><6302> +<0163><8D77> +<0164><9002> +<0165><8BA1> +<0166><004D> +<0167><8BA9> +<0168><5F62> +<0169><952E> +<016A><5B57> +<016B><7B26> +<016C><53F7> +<016D><5F00> +<016E><5934> +<016F><5E26> +<0170><53C2> +<0171><8FD4> +<0172><503C> +<0173><9650> +<0174><0045> +<0175><6216> +<0176><8005> +<0177><9ED8> +<0178><8BA4> +<0179><591F> +<017A><002C> +<017B><771F> +<017C><6B63> +<017D><67E5> +<017E><8BE2> +<017F><591A> +<0180><627E> +<0181><0033> +<0182><0034> +<0183><0056> +<0184><0035> +<0185><0052> +<0186><89C6> +<0187><56FE> +<0188><0036> +<0189><6E32> +<018A><67D3> +<018B><002D> +<018C><5E8F> +<018D><542F> +<018E><5019> +<018F><7136> +<0190><603B> +<0191><91C7> +<0192><7F13> +<0193><5B58> +<0194><8F83> +<0195><677F> +<0196><91CD> +<0197><590D> +<0198><5E2E> +<0199><52A9> +<019A><7B7E> +<019B><9AD8> +<019C><6548> +<019D><5B8F> +<019E><8F85> +<019F><6563> +<01A0><6574> +<01A1><91CC> +<01A2><4F9D> +<01A3><8D56> +<01A4><5165> +<01A5><8D2F> +<01A6><7A7F> +<01A7><002F> +<01A8><5FF5> +<01A9><95E8> +<01AA><69DB> +<01AB><4F4E> +<01AC><5F3A> +<01AD><5927> +<01AE><9884> +<01AF><6D41> +<01B0><8BAE> +<01B1><529B> +<01B2><7075> +<01B3><6D3B> +<01B4><754C> +<01B5><004E> +<01B6><7EFC> +<01B7><6700> +<01B8><4F18> +<01B9><719F> +<01BA><7A33> +<01BB><0055> +<01BC><5458> +<01BD><518D> +<01BE><70E6> +<01BF><607C> +<01C0><793E> +<01C1><533A> +<01C2><8DC3> +<01C3><7248> +<01C4><8FED> +<01C5><77ED> +<01C6><65B0> +<01C7><0037> +<01C8><5386> +<01C9><5546> +<01CA><8003> +<01CB><9A8C> +<01CC><8D28> +<01CD><91CF> +<01CE><8BC1> +<01CF><4E92> +<01D0><7F51> +<01D1><7EDC> +<01D2><6E38> +<01D3><620F> +<01D4><4F01> +<01D5><7535> +<01D6><8F6F> +<01D7><4F17> +<01D8><5168> +<01D9><6EE1> +<01DA><8DB3> +<01DB><70B9> +<01DC><9010> +<01DD><6E10> +<01DE><5EF6> +<01DF><0051> +<01E0><5E03> +<01E1><670D> +<01E2><7EBF> +<01E3><516C> +<01E4><79C1> +<01E5><6808> +<01E6><5F02> +<01E7><6B65> +<01E8><9886> +<01E9><57DF> +<01EA><8F93> +<01EB><6C47> +<01EC><5BFC> +<01ED><81F4> +<01EE><7A7A> +<01EF><8F6E> +<01F0><7EC8> +<01F1><0030> +<01F2><0025> +<01F3><5B98> +<01F4><79F0> +<01F5><0038> +<01F6><76F4> +<01F7><4ECD> +<01F8><65E7> +<01F9><6982> +<01FA><7387> +<01FB><964D> +<01FC><9001> +<01FD><51B2> +<01FE><5269> +<01FF><4F59> +<0200><5C0F> +<0201><62C6> +<0202><5F85> +<0203><62A5> +<0204><957F> +<0205><5EA6> +<0206><6B21> +<0207><5199> +<0208><53BB> +<0209><7C98> +<020A><6BCF> +<020B><81F3> +<020C><5C11> +<020D><6BB5> +<020E><77E5> +<020F><9053> +<0210><5C01> +<0211><56FA> +<0212><8865> +<0213><586B> +<0214><5145> +<0215><628A> +<0216><8FB9> +<0217><8FDE> +<0218><4FDD> +<0219><201C> +<021A><96F6> +<021B><62F7> +<021C><8D1D> +<021D><201D> +<021E><7B97> +<021F><8017> +<0220><5806> +<0221><5916> +<0222><8282> +<0223><4E8C> +<0224><4EFD> +<0225><624D> +<0226><805A> +<0227><50CF> +<0228><907F> +<0229><514D> +<022A><51E0> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end + +endstream +endobj +24 0 obj +<> +endobj +25 0 obj +<> +endobj +26 0 obj +<> +endobj +27 0 obj +<> +endobj +28 0 obj +<> +endobj +29 0 obj +<> +endobj +30 0 obj +<> +endobj +31 0 obj +<> +endobj +32 0 obj +<> +endobj +33 0 obj +<> +endobj +34 0 obj +<> +endobj +35 0 obj +<> +endobj +36 0 obj +<> +endobj +37 0 obj +<> +endobj +38 0 obj +<> +endobj +39 0 obj +<> +endobj +40 0 obj +<> +endobj +41 0 obj +<> +endobj +42 0 obj +<> +endobj +43 0 obj +<> +endobj +44 0 obj +<> +endobj +45 0 obj +<> +endobj +46 0 obj +<> +endobj +47 0 obj +<> +endobj +48 0 obj +<> +endobj +49 0 obj +<> +endobj +50 0 obj +<> +endobj +51 0 obj +<> +endobj +52 0 obj +<> +endobj +53 0 obj +<> +endobj +54 0 obj +<> +endobj +55 0 obj +<> +endobj +56 0 obj +<> +endobj +57 0 obj +<> +endobj +58 0 obj +<> +endobj +59 0 obj +<> +endobj +60 0 obj +<> +endobj +61 0 obj +<> +endobj +62 0 obj +<> +endobj +63 0 obj +<> +endobj +64 0 obj +<> +endobj +65 0 obj +<> +endobj +66 0 obj +<> +endobj +67 0 obj +<> +endobj +68 0 obj +<> +endobj +69 0 obj +<> +endobj +70 0 obj +<> +endobj +71 0 obj +<> +endobj +72 0 obj +<> +endobj +73 0 obj +<> +endobj +74 0 obj +<> +endobj +75 0 obj +<> +endobj +76 0 obj +<> +endobj +77 0 obj +<> +endobj +78 0 obj +<> +endobj +79 0 obj +<> +endobj +80 0 obj +<> +endobj +81 0 obj +<> +endobj +82 0 obj +<> +endobj +83 0 obj +<> +endobj +84 0 obj +<> +endobj +85 0 obj +<> +endobj +86 0 obj +<> +endobj +87 0 obj +<> +endobj +88 0 obj +<> +endobj +89 0 obj +<> +endobj +90 0 obj +<> +endobj +91 0 obj +<> +endobj +92 0 obj +<> +endobj +93 0 obj +<> +endobj +94 0 obj +<> +endobj +95 0 obj +<> +endobj +96 0 obj +<> +endobj +97 0 obj +<> +endobj +98 0 obj +<> +endobj +99 0 obj +<> +endobj +100 0 obj +<>stream + POS/2!`cmap<Tcvt NWWfpgm,,x +glyf<,headHw6hhea^$hmtx2loca +$ maxp W hD name2gd RpostQ prepD33Ef (=<;:9876543210/.-,+*)('&%$#"!  + ,CXEjC` #D# NM/!# 3/Y-,CX+KPX@8Y+!# 3/Y-,CXN%!M E%%#Jad(RX!#%!YY-,CX!!%%I%%Ja dPX!!!%%IPXPX8!8!YRX8!8!YYYY-,CX+KPX8Y+!# 3/Y-,N CD 8<(+%<-,/M-,CX+8+!# 3/Y-,CXEdj#EdiCd`` #D# /!! RX3!!YY-,KQX +C#Ce +Y-,KQX + C#C Y-, #p > #p E: -,+%E%Ej@`%#D!!!-,+%E%Ej`%#D!!!-,+!!!-,+!!!-,KQXCCe +Y-, i@a ,b`+ d#da\XaY-,%EhTKPZX%E%E`h %#D%#D% Eh #D%Eh`%#DY-,% Eh #D%Edhe`%`#D-, CX!CXE+ #D zEi #D QX+ #D z! zYYY-, E#Eh`D-,EjB-,/-,CX%%Id#Edi@a bj%%aC` #D! !!!!!Y-,CX%E%Ed`j%Eja %Ej e%#D%#D!! EjD EjDY-, EUCZXEh#Ei@a bj #a %e%#D%#D!!!!+Y-,Ed#EdadB-,%%+CX%%%+%C@T%CTZX% E@aDY%CT%C@TZX% E@`DYY!!!!-,% %.# %%+!!-,-,KRXED!!Y-,CX=Y-,KPXED!!Y-,KRX/!!!Y-,KS#KQZX%Eh%Eh%`TX!!!%Eh`%#D!!Y!!!Y-,CX=Y-,F#F`F# F`ab# # pE` PXaFY`h:-, E%FRKQ[X%F ha%%?#!8!Y-, E%FPX%F ha%%?#!8!Y-,KQXCC Y-,-, CX! FRX88YY-, UXc%Ed%EdaSX@aY%EiSXED!!Y!%E%Ead(QXED!!YY-,!! d#d@b-,!QX d#d b@/+Y`-,!QX d#dUb/+Y`-, d#d@b`#!-,KSX%%Id#Edi@a bj%%a #D! !!# 9/Y-,%%IdTX88!!Y-,CXY-,CXY-, ++# <+-,%8(+# #+CXm^% 3RO@(   @  Y Y?+?9/8+?93/3/3/93901#"'5327733673 +I495BUN!.RP[:A8Rs _< << +(J w + +(^e.< RN,)S/\ 5   , < 6 T .b 6    *L  +J FX 8  R\ +          $ - &R 4 T  * *L  + +J FX 8  +   +   Normaloby ejnStandard 2016 Microsoft Corporation. All Rights Reserved. Portions 2016 Beijing Founder Electronics Co. Ltd. All Rights Reserved.Microsoft YaHeiRegularMicrosoft YaHei RegularVersion 6.22MicrosoftYaHeiMicrosoft YaHei is a trademark of the Microsoft group of companies.The font glyphs are certified compliant with China standard GB18030-2000 with the font name Founder Lan Ting Hei. Microsoft Licensed the font glyph from Beijing Founder Electronics Co. Ltd. +g,[W^[W_bNSNSY'ekcu5[Pg PQlScgC0g,[W^[W_b N[W^T ekcQpNѐN-VhQ{&T`'hmK {&TN-V GB18030-2000hQ0 +http://www.microsoft.com/typographyhttp://www.founder.com.cn/cnMicrosoft supplied font. You may use this font to create, display and print content as permitted by the license terms, or terms of use, of the Microsoft product, service or content in which this font was included. You may only (i) embed this font in content as permitted by the embedding restrictions included in this font; and (ii) temporarily download this font to a printer or other output device to help print content. Any other use is prohibited.http://www.microsoft.com/typography/fontsNormaaliNormlNormaleStandaardNormalny1KG=K9NormlneNavadnoArrunta 2016 _oQlSrHgCb@g 2016 SNSY'ekcu5[Pg PQlSRrHgCb@g _oŞ_oŞ RegularMicrosoftYaHeiRegularN@Q{|{|vwmploknknrtugjfiehehqszC!yC!A6F<+E<+D<+C<+B<+A<+@<+?<+><+=<+;<+:<+9<+34+<@++++A.gf+fe+ed+dc+cb+ba+a`+_`+^`+]`+\`+[`@++++}++++++76543 2 10/.&'('*+,+"#$#  +        /,<*<(<&<$<"< <<<<<<< <<<> +endobj +102 0 obj +<> +endobj +103 0 obj +<> +endobj +104 0 obj +31542 +endobj +105 0 obj +<>/ExtGState<>>>/Group<>/StructParents 1/Tabs/S>> +endobj +106 0 obj +<>stream +1 0 0 -1 0 841.90002441 cm q 1 0 0 1 90 72 cm q 0.97254902 0.98039216 0.98823529 rg -1.45000005 0 m 416.75 0 l 416.75 31.20000076 l -1.45000005 31.20000076 l h f* Q /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm 0.10980392 0.12156863 0.12941177 rg [<00250025>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 21 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 26.25 20.17499924 Tm [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 60.89799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 64.02500153 20.17499924 Tm [(AOP)] TJ ET EMC /P <> BDC BT 1 0 0 -1 87.41400146 20.17499924 Tm /GS80 gs 0 g [( )] TJ ET EMC q /GS81 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 31.20000076 m 416.75 31.20000076 l 416.75 46.80000305 l -1.45000005 46.80000305 l h f* Q q /GS82 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 46.79999924 m 416.75 46.79999924 l 416.75 62.40000153 l -1.45000005 62.40000153 l h f* Q q 1 0 0 1 0 31.20000076 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS83 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<006400EC00ED006400EE00EF0022002400F000F10018003000500046002200F200F3009C009D00F4006C00F5009300F60022007700D400F700F5009300F6004300EA00EB00F800F900FA>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<003D002200DA00690022009D00FB00FC00FD0014>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 107.625 27.25500107 Tm [(update*)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 144.375 27.25500107 Tm [<005300540018009E009F002D003C002D003C002200A1003A00FF0100010001010085002200FB00FC0027010201030022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 396.375 27.25500107 Tm /GS84 gs 0 g [( )] TJ ET EMC Q q /GS85 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 62.40000153 m 416.75 62.40000153 l 416.75 78 l -1.45000005 78 l h f* Q q 1 0 0 1 0 62.40000153 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS86 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<01040105>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 34.125 11.65499973 Tm [(spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 68.25 11.65499973 Tm [<0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 81.375 11.65499973 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 99.75 11.65499973 Tm [<0106010700220108000E000F002400A60109010A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 207.375 11.65499973 Tm [(update*)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 244.125 11.65499973 Tm [<0018010B010C001800F6010D00BD010E0038010F009C002C001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 380.625 11.65499973 Tm /GS87 gs 0 g [( )] TJ ET EMC Q q /GS88 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 78 m 416.75 78 l 416.75 109.19999695 l -1.45000005 109.19999695 l h f* Q q 1 0 0 1 0 78 cm /P <> BDC BT /FAABAB 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q q /GS89 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 109.19999695 m 416.75 109.19999695 l 416.75 140.3999939 l -1.45000005 140.3999939 l h f* Q q 1 0 0 1 0 109.19999695 cm /P <> BDC BT 1 0 0 -1 0 20.17499924 Tm /GS90 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 37.77500153 20.17499924 Tm [(AOP)] TJ ET EMC /P <> BDC BT 1 0 0 -1 61.16400146 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 66.41400146 20.17499924 Tm [<0023002400270028>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 108.41400146 20.17499924 Tm /GS91 gs 0 g [( )] TJ ET EMC Q q /GS92 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 140.3999939 m 416.75 140.3999939 l 416.75 156 l -1.45000005 156 l h f* Q q /GS93 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 156 m 416.75 156 l 416.75 171.6000061 l -1.45000005 171.6000061 l h f* Q q /GS94 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 171.6000061 m 416.75 171.6000061 l 416.75 187.20001221 l -1.45000005 187.20001221 l h f* Q q 1 0 0 1 0 140.3999939 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS95 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 9.4630003 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 40.96300125 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 45.17599869 11.65499973 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 63.55099869 11.65499973 Tm [<00460018011000A4010B00100111009D001400B5001F0053008C0022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 210.55099487 11.65499973 Tm [(JDK)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 228.92599487 11.65499973 Tm [<011000A4010B0010005E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 284.05099487 11.65499973 Tm [(CGLIB)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 312.92599487 11.65499973 Tm [<011000A4010B0010001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 365.42599487 11.65499973 Tm [(JDK)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 383.80099487 11.65499973 Tm [<011000A4010B>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<00100104010501160117004900250026009B010B00100018001B002200AB0118009D002C009B010B00100018001B0119011A003100E7006C009A002500C2001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 336 27.25500107 Tm [(JDK)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 354.375 27.25500107 Tm [<011000A4010B00100018>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<00EA00EB00D4>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 34.125 42.85499954 Tm [(InvocationHandler)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 126 42.85499954 Tm [<002500C2005E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 160.125 42.85499954 Tm [(Proxy)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 189 42.85499954 Tm [<001B001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 210 42.85499954 Tm /GS96 gs 0 g [( )] TJ ET EMC Q q /GS97 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 187.19999695 m 416.75 187.19999695 l 416.75 202.80000305 l -1.45000005 202.80000305 l h f* Q q /GS98 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 202.80000305 m 416.75 202.80000305 l 416.75 218.40000916 l -1.45000005 218.40000916 l h f* Q q /GS99 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 218.3999939 m 416.75 218.3999939 l 416.75 234 l -1.45000005 234 l h f* Q q /GS100 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 234 m 416.75 234 l 416.75 249.6000061 l -1.45000005 249.6000061 l h f* Q q 1 0 0 1 0 187.19999695 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS101 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 8.14999962 11.65499973 Tm [<0069011D011E011F001B01200014003100E7002500C2002201210122>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 157.7749939 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 189.2749939 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 192.17500305 11.65499973 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 210.55000305 11.65499973 Tm [<01230124012500CF0050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 265.67498779 11.65499973 Tm [(CGLIB)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 294.54998779 11.65499973 Tm [<0049011000A4010B0010011E011F001B001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 389.04998779 11.65499973 Tm [(CGLIB)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [<0055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 10.5 27.25500107 Tm [(Code)] TJ ET EMC /P <> BDC BT 1 0 0 -1 31.5 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 36.75 27.25500107 Tm [(Generation)] TJ ET EMC /P <> BDC BT 1 0 0 -1 89.25 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 94.5 27.25500107 Tm [(Library)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 131.25 27.25500107 Tm [<005D002200D4006C009A010B010C003700380018001B01260022000E000F00240127009F002D011000A40018003700380128009A001B>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<001800D5001B0022009101290022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 73.5 42.85499954 Tm [(CGLIB)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 102.375 42.85499954 Tm [<00D401040105012A012B00180053008C00F40018011000A4010B00100022012C003F0069011D0128009A001B009B011F00FB0012>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 378 42.85499954 Tm [(final)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 404.25 42.85499954 Tm [<0022>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 58.45499802 Tm [<01210122012D00D400FA005400CF0050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 86.625 58.45499802 Tm [(CGLIB)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 115.5 58.45499802 Tm [<00F4011000A4010B00100018001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 189 58.45499802 Tm /GS102 gs 0 g [( )] TJ ET EMC Q q /GS103 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 249.6000061 m 416.75 249.6000061 l 416.75 280.80001831 l -1.45000005 280.80001831 l h f* Q q 1 0 0 1 0 249.6000061 cm /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS104 gs 0.10980392 0.12156863 0.12941177 rg [<0029002A002B0028002C>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 52.5 20.17499924 Tm [(cg)1(lib)] TJ ET EMC /P <> BDC BT 1 0 0 -1 78.10900116 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 83.35900116 20.17499924 Tm [<002E>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 93.85900116 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 99.10900116 20.17499924 Tm [(JDK)] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 119.63200378 20.17499924 Tm [<0032>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 130.13200378 20.17499924 Tm /GS105 gs 0 g [( )] TJ ET EMC Q q /GS106 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 280.79998779 m 416.75 280.79998779 l 416.75 296.3999939 l -1.45000005 296.3999939 l h f* Q q /GS107 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 296.3999939 m 416.75 296.3999939 l 416.75 312 l -1.45000005 312 l h f* Q q /GS108 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 312 m 416.75 312 l 416.75 327.6000061 l -1.45000005 327.6000061 l h f* Q q /GS109 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 327.6000061 m 416.75 327.6000061 l 416.75 343.20001221 l -1.45000005 343.20001221 l h f* Q q 1 0 0 1 0 280.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS110 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.14999962 11.65499973 Tm [(JDK)] TJ ET EMC /P <> BDC BT 1 0 0 -1 23.89999962 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.79999924 11.65499973 Tm [<011000A4010B0010001B005E012E012F001B009C009D0130003100E7006A006C009A002500C2001C00DD010800D4013101320014003100E7001E0128009A002500C20018001B000E000F>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<00CF0050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 23.625 27.25500107 Tm [(Java)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 47.25 27.25500107 Tm [<011000A4010B001000CE004E001C007700D4002200930031006500CF0050004600AB00A600D401330027001800FD0014001B0130012301340135003100E7006C009A0025>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<00C2001C012C003F0022002F00DF01200014003100E7002500C20018001B0022010800A6003500CF0050010F00CE004E001C0136>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 275.625 42.85499954 Tm [(CGLIB)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 304.5 42.85499954 Tm [<0137000E000F003100E7002F001B0018011000A4>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 58.45499802 Tm [<010B0010001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 31.5 58.45499802 Tm /GS111 gs 0 g [( )] TJ ET EMC Q q /GS112 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 343.20001221 m 416.75 343.20001221 l 416.75 358.80001831 l -1.45000005 358.80001831 l h f* Q q 1 0 0 1 0 343.20001221 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS113 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 358.79998779 m 416.75 358.79998779 l 416.75 390 l -1.45000005 390 l h f* Q q 1 0 0 1 0 358.79998779 cm /P <> BDC BT 1 0 0 -1 0 20.17499924 Tm /GS114 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 39.89799881 20.17499924 Tm [<003300340023002400350036>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 102.89800262 20.17499924 Tm /GS115 gs 0 g [( )] TJ ET EMC Q q /GS116 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 390 m 416.75 390 l 416.75 405.6000061 l -1.45000005 405.6000061 l h f* Q q 1 0 0 1 0 390 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS117 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(1)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F00EE010C0053008C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 68.25 11.65499973 Tm /GS118 gs 0 g [( )] TJ ET EMC Q q /GS119 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 405.6000061 m 416.75 405.6000061 l 416.75 421.20001221 l -1.45000005 421.20001221 l h f* Q q 1 0 0 1 0 405.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS120 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<00FD013900EE00EF008C009300F9013A001800D40104010500EE010C0053008C003100E7009300F90022013B001B013C00DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 275.625 11.65499973 Tm [(JDBC)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 299.25 11.65499973 Tm [<00EE00EF003100E7009300F900B10010001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 393.75 11.65499973 Tm /GS121 gs 0 g [( )] TJ ET EMC Q q /GS122 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 421.20001221 m 416.75 421.20001221 l 416.75 436.80001831 l -1.45000005 436.80001831 l h f* Q q 1 0 0 1 0 421.20001221 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS123 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(2)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F013E013F008C009300F900B100100053008C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 120.75 11.65499973 Tm /GS124 gs 0 g [( )] TJ ET EMC Q q /GS125 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 436.79998779 m 416.75 436.79998779 l 416.75 452.3999939 l -1.45000005 452.3999939 l h f* Q q /GS126 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 452.3999939 m 416.75 452.3999939 l 416.75 468 l -1.45000005 468 l h f* Q q 1 0 0 1 0 436.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS127 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<013E013F008C009300F900B100100140001400B5001F003100E70053008C00BF007800DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 202.125 11.65499973 Tm [(xml)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 220.5 11.65499973 Tm [<004400450082008900180053008C01410142006C009A0031002400F800F9005300540065>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<00A7009F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 21 27.25500107 Tm [(@Transaction)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 86.625 27.25500107 Tm [<009100110022002E009300F90144013700300050002700F800F9014501460046>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 254.625 27.25500107 Tm /GS128 gs 0 g [( )] TJ ET EMC Q q /GS129 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 468 m 416.75 468 l 416.75 499.20001221 l -1.45000005 499.20001221 l h f* Q q 1 0 0 1 0 468 cm /P <> BDC BT /FAABAB 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q q /GS130 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 499.20001221 m 416.75 499.20001221 l 416.75 530.40002441 l -1.45000005 530.40002441 l h f* Q q 1 0 0 1 0 499.20001221 cm /P <> BDC BT 1 0 0 -1 0 20.17499924 Tm /GS131 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 39.89799881 20.17499924 Tm [<003300340037003800270028>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 102.89800262 20.17499924 Tm /GS132 gs 0 g [( )] TJ ET EMC Q q /GS133 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 530.40002441 m 416.75 530.40002441 l 416.75 546 l -1.45000005 546 l h f* Q q 1 0 0 1 0 530.40002441 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS134 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(a)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F0147007400DE001000970148>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 89.25 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT 1 0 0 -1 99.75 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT 1 0 0 -1 110.25 11.65499973 Tm [(IOC)] TJ ET EMC /P <> BDC BT 1 0 0 -1 126 11.65499973 Tm /GS135 gs 0 g [( )] TJ ET EMC Q q /GS136 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 546 m 416.75 546 l 416.75 561.59997559 l -1.45000005 561.59997559 l h f* Q q /GS137 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 561.59997559 m 416.75 561.59997559 l 416.75 577.19995117 l -1.45000005 577.19995117 l h f* Q q /GS138 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 577.20001221 m 416.75 577.20001221 l 416.75 592.79998779 l -1.45000005 592.79998779 l h f* Q q 1 0 0 1 0 546 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS139 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 5.80000019 11.65499973 Tm [<00B400DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 29.42499924 11.65499973 Tm [(spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 63.54999924 11.65499973 Tm [<0011014A0018014B014C00D4002F0097009A014D0073012600A7009F014E014F009300F900DE001000180022006E00E60018003100E7015000A80050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 381.17498779 11.65499973 Tm [(spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [<00460018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 23.625 27.25500107 Tm [(IOC)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 42 27.25500107 Tm [<01470074001E009300F900DE001000970148001C00AB0118002E002F009300F9001800E9001F0044004500470027001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 296.625 27.25500107 Tm [(ioc)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 315 27.25500107 Tm [<00AC00900046005500710045009300F900B1>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<00100090002200710045009300F9001800E000E100C4015100E20152015300CE004E005D001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 199.5 42.85499954 Tm /GS140 gs 0 g [( )] TJ ET EMC Q q /GS141 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 592.79998779 m 416.75 592.79998779 l 416.75 608.39996338 l -1.45000005 608.39996338 l h f* Q q 1 0 0 1 0 592.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS142 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(b)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 26.25 11.65499973 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 44.625 11.65499973 Tm [<01540155009C009D00A7009F009300F900DE00100018001B>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 170.625 11.65499973 Tm /GS143 gs 0 g [( )] TJ ET EMC Q q /GS144 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 608.40002441 m 416.75 608.40002441 l 416.75 624 l -1.45000005 624 l h f* Q q /GS145 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 624 m 416.75 624 l 416.75 639.59997559 l -1.45000005 639.59997559 l h f* Q q /GS146 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 639.59997559 m 416.75 639.59997559 l 416.75 655.19995117 l -1.45000005 655.19995117 l h f* Q q /GS147 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 655.20001221 m 416.75 655.20001221 l 416.75 670.79998779 l -1.45000005 670.79998779 l h f* Q q 1 0 0 1 0 608.40002441 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS148 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 44.625 11.65499973 Tm [<009300F900DE00100156015700D401040105>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 141.75 11.65499973 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 160.125 11.65499973 Tm [<007600350049003100E7013E013F008C009300F900DE001000180022006E00E600A1003A005500DA0069009300F90031>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<009F001800440045005E008A008B0022009300F9002F0036001801580036005D00220050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 191.625 27.25500107 Tm [(TransactionProxyFactoryBean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 336 27.25500107 Tm [<002500C2004900CF0050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 391.125 27.25500107 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 0 42.85499954 Tm [<00760035002200370038>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 55.125 42.85499954 Tm [(proxy)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 84 42.85499954 Tm [<010B0010002F0036002201040105>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 160.125 42.85499954 Tm [(TransactionInterceptor)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 278.25 42.85499954 Tm [<010E0038002F010B0010005300540018015401550022002E0093>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 58.45499802 Tm [<00F900DE001000180076003500EE01590027015401550018005300540046001C008A008B>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 191.625 58.45499802 Tm [(ioc)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 210 58.45499802 Tm [<00AC0090009300F900440045015A01510022015B00330012>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 338.625 58.45499802 Tm [(spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 372.75 58.45499802 Tm [<009300F900DE0010>] TJ ET EMC Q Q 1 0 0 -1 0 841.90002441 cm +endstream +endobj +107 0 obj +<> +endobj +108 0 obj +<> +endobj +109 0 obj +<> +endobj +110 0 obj +<> +endobj +111 0 obj +<> +endobj +112 0 obj +<> +endobj +113 0 obj +<> +endobj +114 0 obj +<> +endobj +115 0 obj +<> +endobj +116 0 obj +<> +endobj +117 0 obj +<> +endobj +118 0 obj +<> +endobj +119 0 obj +<> +endobj +120 0 obj +<> +endobj +121 0 obj +<> +endobj +122 0 obj +<> +endobj +123 0 obj +<> +endobj +124 0 obj +<> +endobj +125 0 obj +<> +endobj +126 0 obj +<> +endobj +127 0 obj +<> +endobj +128 0 obj +<> +endobj +129 0 obj +<> +endobj +130 0 obj +<> +endobj +131 0 obj +<> +endobj +132 0 obj +<> +endobj +133 0 obj +<> +endobj +134 0 obj +<> +endobj +135 0 obj +<> +endobj +136 0 obj +<> +endobj +137 0 obj +<> +endobj +138 0 obj +<> +endobj +139 0 obj +<> +endobj +140 0 obj +<> +endobj +141 0 obj +<> +endobj +142 0 obj +<> +endobj +143 0 obj +<> +endobj +144 0 obj +<> +endobj +145 0 obj +<> +endobj +146 0 obj +<> +endobj +147 0 obj +<> +endobj +148 0 obj +<> +endobj +149 0 obj +<> +endobj +150 0 obj +<> +endobj +151 0 obj +<> +endobj +152 0 obj +<> +endobj +153 0 obj +<> +endobj +154 0 obj +<> +endobj +155 0 obj +<> +endobj +156 0 obj +<> +endobj +157 0 obj +<> +endobj +158 0 obj +<> +endobj +159 0 obj +<> +endobj +160 0 obj +<> +endobj +161 0 obj +<> +endobj +162 0 obj +<> +endobj +163 0 obj +<> +endobj +164 0 obj +<> +endobj +165 0 obj +<> +endobj +166 0 obj +<> +endobj +167 0 obj +<> +endobj +168 0 obj +<> +endobj +169 0 obj +<> +endobj +170 0 obj +<> +endobj +171 0 obj +<> +endobj +172 0 obj +<> +endobj +173 0 obj +<> +endobj +174 0 obj +<> +endobj +175 0 obj +<> +endobj +176 0 obj +25713 +endobj +177 0 obj +<>/ExtGState<>>>/Group<>/StructParents 2/Tabs/S>> +endobj +178 0 obj +<>stream +1 0 0 -1 0 841.90002441 cm q 1 0 0 1 90 72 cm q 0.97254902 0.98039216 0.98823529 rg -1.45000005 0 m 416.75 0 l 416.75 15.60000038 l -1.45000005 15.60000038 l h f* Q q 0.97254902 0.98039216 0.98823529 rg -1.45000005 15.60000038 m 416.75 15.60000038 l 416.75 31.20000076 l -1.45000005 31.20000076 l h f* Q /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 0 11.65499973 Tm 0.10980392 0.12156863 0.12941177 rg [<009C009D0018015C014F014D0073015D00AA0055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 105 11.65499973 Tm [(TransactionAttributeSourceAdvisor)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 278.25 11.65499973 Tm [<005D0022015B00330012>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(TransactionAttribute)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 107.625 27.25500107 Tm [<0063015E0018014D0073002F0036001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 191.625 27.25500107 Tm /GS149 gs 0 g [( )] TJ ET EMC q /GS150 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 31.20000076 m 416.75 31.20000076 l 416.75 46.80000305 l -1.45000005 46.80000305 l h f* Q q 1 0 0 1 0 31.20000076 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS151 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(c)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F002F0093015F00DE0010003100E70055009300F9001800370038006F007A0160006F00B70161006F01620163005D>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 267.75 11.65499973 Tm /GS152 gs 0 g [( )] TJ ET EMC Q q /GS153 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 46.79999924 m 416.75 46.79999924 l 416.75 62.40000153 l -1.45000005 62.40000153 l h f* Q q /GS154 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 62.40000153 m 416.75 62.40000153 l 416.75 78 l -1.45000005 78 l h f* Q q /GS155 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 78 m 416.75 78 l 416.75 93.59999847 l -1.45000005 93.59999847 l h f* Q q /GS156 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 93.59999847 m 416.75 93.59999847 l 416.75 109.19999695 l -1.45000005 109.19999695 l h f* Q q /GS157 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 109.19999695 m 416.75 109.19999695 l 416.75 124.79999542 l -1.45000005 124.79999542 l h f* Q q 1 0 0 1 0 46.79999924 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS158 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 44.625 11.65499973 Tm [<012E012F0134006E00E60018009300F900DE00100090003100E7001C003100E7001E006C009A01580036005E01640044001C016400440018006E00E6009300F900DE0010>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<009000BF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 21 27.25500107 Tm [(DataSource)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 76.125 27.25500107 Tm [<014D00730088007E007F006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 139.125 27.25500107 Tm [(hibernate)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 189 27.25500107 Tm [<014D00730088009300F900DE0010007E007F006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 294 27.25500107 Tm [(JDO)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 312.375 27.25500107 Tm [<014D00730088009300F900DE0010007E>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<007F0022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 21 42.85499954 Tm [(JPA)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 36.75 42.85499954 Tm [<006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 47.25 42.85499954 Tm [(JTA)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 65.625 42.85499954 Tm [<014D00730088009300F900DE0010007E007F001C00F700F5007E007F013000D40104010500710165>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 58.45499802 Tm [(PlatformTransactionManager)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 136.5 58.45499802 Tm [<006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 147 58.45499802 Tm [(AbstractPlatforTransaction)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 286.125 58.45499802 Tm [<006C003E00A0009300F900DE00100018007E007F001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 401.625 58.45499802 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 404.79998779 58.45499802 Tm [<0012>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 74.05500031 Tm [<00F30050014D00730088007E007F007A007B001E006C003E00A00018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 149.625 74.05500031 Tm [(TransactionManager)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 244.125 74.05500031 Tm [<001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 254.625 74.05500031 Tm /GS159 gs 0 g [( )] TJ ET EMC Q q /GS160 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 124.80000305 m 416.75 124.80000305 l 416.75 140.40000916 l -1.45000005 140.40000916 l h f* Q q 1 0 0 1 0 124.80000305 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS161 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(d)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F015D0017>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 47.25 11.65499973 Tm /GS162 gs 0 g [( )] TJ ET EMC Q q /GS163 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 140.3999939 m 416.75 140.3999939 l 416.75 156 l -1.45000005 156 l h f* Q q /GS164 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 156 m 416.75 156 l 416.75 171.6000061 l -1.45000005 171.6000061 l h f* Q q 1 0 0 1 0 140.3999939 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS165 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(PlatformTransactionManager)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 149.625 11.65499973 Tm [<003100E7001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 183.75 11.65499973 Tm [(TransactionInterception)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 307.125 11.65499973 Tm [<002500C200220167007C0043>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(TransactionProxyFactoryBean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 144.375 27.25500107 Tm [<015D001701630049002201680038006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 241.5 27.25500107 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 275.625 27.25500107 Tm [<013E013F008C009300F900DE001000180071016500E6003E001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 412.125 27.25500107 Tm /GS166 gs 0 g [( )] TJ ET EMC Q q /GS167 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 171.6000061 m 416.75 171.6000061 l 416.75 202.80000305 l -1.45000005 202.80000305 l h f* Q q 1 0 0 1 0 171.6000061 cm /P <> BDC BT /FAABAB 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q q /GS168 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 202.80000305 m 416.75 202.80000305 l 416.75 234 l -1.45000005 234 l h f* Q q 1 0 0 1 0 202.80000305 cm /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS169 gs 0.10980392 0.12156863 0.12941177 rg [<002100220039003A003B003C003D00230024003E003F>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 115.5 20.17499924 Tm /GS170 gs 0 g [( )] TJ ET EMC Q q /GS171 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 234 m 416.75 234 l 416.75 249.6000061 l -1.45000005 249.6000061 l h f* Q q 1 0 0 1 0 234 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS172 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<00B200B300410020002100910011005E00B200B3006C009A002500C200A8013C0022007700D4009100110018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 244.125 11.65499973 Tm [(interface)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 294 11.65499973 Tm [<003D0169016A009C009D000F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 357 11.65499973 Tm [(@)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 362.25 11.65499973 Tm [<016B016C016D016E001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 414.75 11.65499973 Tm /GS173 gs 0 g [( )] TJ ET EMC Q q /GS174 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 249.6000061 m 416.75 249.6000061 l 416.75 265.20001221 l -1.45000005 265.20001221 l h f* Q q 1 0 0 1 0 249.6000061 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS175 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<009100110053005400A60035016F00140170014D0141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 126 11.65499973 Tm /GS176 gs 0 g [( )] TJ ET EMC Q q /GS177 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 265.20001221 m 416.75 265.20001221 l 416.75 280.80001831 l -1.45000005 280.80001831 l h f* Q q /GS178 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 280.79998779 m 416.75 280.79998779 l 416.75 296.3999939 l -1.45000005 296.3999939 l h f* Q q 1 0 0 1 0 265.20001221 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS179 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 8.42500019 11.65499973 Tm [<0091001100530054017100B70172001B00D301730020001200BF00780083001B00D3006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 197.42500305 11.65499973 Tm [(String)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 228.92500305 11.65499973 Tm [<006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 239.42500305 11.65499973 Tm [(Enums)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 265.67498779 11.65499973 Tm [<006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 276.17498779 11.65499973 Tm [(Annotation)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 331.29998779 11.65499973 Tm [<0175017600D400F700F5001B00D30018>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<014D00B60141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 31.5 27.25500107 Tm /GS180 gs 0 g [( )] TJ ET EMC Q q /GS181 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 296.3999939 m 416.75 296.3999939 l 416.75 312 l -1.45000005 312 l h f* Q q 1 0 0 1 0 296.3999939 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS182 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<0091001100530054000E000F00140177017801720141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 126 11.65499973 Tm /GS183 gs 0 g [( )] TJ ET EMC Q q /GS184 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 312 m 416.75 312 l 416.75 327.6000061 l -1.45000005 327.6000061 l h f* Q q 1 0 0 1 0 312 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS185 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<009100110083004200350179001D00130148009100110022014800910011009B0050004900910011007C012D00910011001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 273 11.65499973 Tm /GS186 gs 0 g [( )] TJ ET EMC Q q /GS187 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 327.6000061 m 416.75 327.6000061 l 416.75 343.20001221 l -1.45000005 343.20001221 l h f* Q q 1 0 0 1 0 327.6000061 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS188 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 343.20001221 m 416.75 343.20001221 l 416.75 374.40002441 l -1.45000005 374.40002441 l h f* Q q 1 0 0 1 0 343.20001221 cm /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS189 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 37.77500153 20.17499924 Tm [(MVC)] TJ ET EMC /P <> BDC BT 1 0 0 -1 63.14799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 68.39800262 20.17499924 Tm [<0042004300440045>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 110.39800262 20.17499924 Tm /GS190 gs 0 g [( )] TJ ET EMC Q q /GS191 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 374.3999939 m 416.75 374.3999939 l 416.75 390 l -1.45000005 390 l h f* Q q /GS192 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 390 m 416.75 390 l 416.75 405.6000061 l -1.45000005 405.6000061 l h f* Q q 1 0 0 1 0 374.3999939 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS193 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(1.spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 52.5 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 57.75 11.65499973 Tm [(mvc)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 76.125 11.65499973 Tm [<002E00FD00140018002B002C0130007A01600134>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 183.75 11.65499973 Tm [(DispatcherServlet,)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 278.25 11.65499973 Tm [<012D0123012E012F00300050003E00860018007C007D01560157>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<00AF00B0002F002B002C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.5 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 57.75 27.25500107 Tm [<00A7009F017B017C001800DE00100019003A001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 162.75 27.25500107 Tm /GS194 gs 0 g [( )] TJ ET EMC Q q /GS195 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 405.6000061 m 416.75 405.6000061 l 416.75 421.20001221 l -1.45000005 421.20001221 l h f* Q q 1 0 0 1 0 405.6000061 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS196 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(2.DispatcherServlet)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 112.875 11.65499973 Tm [<017D017E006C009A0175017F009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 189 11.65499973 Tm [(HandlerMapping,)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 267.75 11.65499973 Tm [<0180002700DE0010002B002C0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 343.875 11.65499973 Tm [(Controller.)] TJ ET EMC /P <> BDC BT 1 0 0 -1 401.625 11.65499973 Tm /GS197 gs 0 g [( )] TJ ET EMC Q q /GS198 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 421.20001221 m 416.75 421.20001221 l 416.75 436.80001831 l -1.45000005 436.80001831 l h f* Q q 1 0 0 1 0 421.20001221 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS199 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(3.DispatcherServlet)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 112.875 11.65499973 Tm [<002B002B002C007A01600027011E011F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 199.5 11.65499973 Tm [(Controller)] TJ ET EMC /P <> BDC BT 1 0 0 -1 252 11.65499973 Tm /GS200 gs 0 g [( )] TJ ET EMC Q q /GS201 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 436.79998779 m 416.75 436.79998779 l 416.75 452.3999939 l -1.45000005 452.3999939 l h f* Q q 1 0 0 1 0 436.79998779 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS202 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(4.Controller)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 76.125 11.65499973 Tm [<00A7009F00F800F90145014600DE001000B900220123017100B7006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 236.25 11.65499973 Tm [(ModelAndView)] TJ ET EMC /P <> BDC BT 1 0 0 -1 299.25 11.65499973 Tm /GS203 gs 0 g [( )] TJ ET EMC Q q /GS204 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 452.3999939 m 416.75 452.3999939 l 416.75 468 l -1.45000005 468 l h f* Q q /GS205 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 468 m 416.75 468 l 416.75 483.6000061 l -1.45000005 483.6000061 l h f* Q q 1 0 0 1 0 452.3999939 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS206 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(5.Dispathcher)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 81.375 11.65499973 Tm [<017D017E006C009A0175017F009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 157.5 11.65499973 Tm [(ViewResolver)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 223.125 11.65499973 Tm [<01860187001100A90090>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 275.625 11.65499973 Tm [(,)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 280.875 11.65499973 Tm [<01800027>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 304.5 11.65499973 Tm [(ModelAndView)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 370.125 11.65499973 Tm [<002F0036013A0020>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<001801860187002F0036>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.5 27.25500107 Tm /GS207 gs 0 g [( )] TJ ET EMC Q q /GS208 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 483.6000061 m 416.75 483.6000061 l 416.75 499.20001221 l -1.45000005 499.20001221 l h f* Q q 1 0 0 1 0 483.6000061 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS209 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(6.)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 21 11.65499973 Tm [<01860187002F003600AF00B00189018A017100B7013400280029002A001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 178.5 11.65499973 Tm /GS210 gs 0 g [( )] TJ ET EMC Q q /GS211 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 499.20001221 m 416.75 499.20001221 l 416.75 530.40002441 l -1.45000005 530.40002441 l h f* Q q 1 0 0 1 0 499.20001221 cm /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q q /GS212 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 530.40002441 m 416.75 530.40002441 l 416.75 561.60003662 l -1.45000005 561.60003662 l h f* Q q 1 0 0 1 0 530.40002441 cm /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS213 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 37.77500153 20.17499924 Tm [(MVC)] TJ ET EMC /P <> BDC BT 1 0 0 -1 63.14799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 68.39800262 20.17499924 Tm [<0046002900440045>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 110.39800262 20.17499924 Tm /GS214 gs 0 g [( )] TJ ET EMC Q q /GS215 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 561.59997559 m 416.75 561.59997559 l 416.75 577.19995117 l -1.45000005 577.19995117 l h f* Q q 1 0 0 1 0 561.59997559 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS216 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 9.39500046 11.65499973 Tm [<0024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 19.89500046 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 24.04000092 11.65499973 Tm [(web.xml)] TJ ET EMC /P <> BDC BT 1 0 0 -1 60.79000092 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 64.93499756 11.65499973 Tm [<0082008900460134>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 106.93499756 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 111.08000183 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 142.58000183 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 146.7250061 11.65499973 Tm [(MVC)] TJ ET EMC /P <> BDC BT 1 0 0 -1 162.4750061 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 166.61999512 11.65499973 Tm [<0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 177.11999512 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 181.26499939 11.65499973 Tm [(Servlet)] TJ ET EMC /P <> BDC BT 1 0 0 -1 218.01499939 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 222.16000366 11.65499973 Tm [<00440045001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 253.66000366 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 257.80499268 11.65499973 Tm [(load-on-startup,)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 341.80499268 11.65499973 Tm [<00FD000F00EF018C018D01100018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 415.30499268 11.65499973 Tm /GS217 gs 0 g [( )] TJ ET EMC Q q /GS218 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 577.20001221 m 416.75 577.20001221 l 416.75 592.79998779 l -1.45000005 592.79998779 l h f* Q q 1 0 0 1 0 577.20001221 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS219 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<002D018E0123005100520033>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 73.5 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 78.75 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 110.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 115.5 11.65499973 Tm [(MVC)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 131.25 11.65499973 Tm [<00220024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 152.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 157.5 11.65499973 Tm [(HttpServletBean)] TJ ET EMC /P <> BDC BT 1 0 0 -1 236.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 241.5 11.65499973 Tm [<0046002E004400450018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 294 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 299.25 11.65499973 Tm [(contextConfigLocation)] TJ ET EMC /P <> BDC BT 1 0 0 -1 409.5 11.65499973 Tm /GS220 gs 0 g [( )] TJ ET EMC Q q /GS221 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 592.79998779 m 416.75 592.79998779 l 416.75 608.39996338 l -1.45000005 608.39996338 l h f* Q q 1 0 0 1 0 592.79998779 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS222 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 9.71700001 11.65499973 Tm [<015A0151007100450027>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 62.21699905 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 66.68399811 11.65499973 Tm [(Servlet)] TJ ET EMC /P <> BDC BT 1 0 0 -1 103.43399811 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 107.90100098 11.65499973 Tm [<00460022018F00B90024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 160.40100098 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 164.86799622 11.65499973 Tm [(FrameworkServlet)] TJ ET EMC /P <> BDC BT 1 0 0 -1 248.86799622 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 253.33500671 11.65499973 Tm [<004600B200B3001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 295.33499146 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 299.80200195 11.65499973 Tm [(WebApplicationContext,)] TJ ET EMC /P <> BDC BT 1 0 0 -1 415.30200195 11.65499973 Tm /GS223 gs 0 g [( )] TJ ET EMC Q q /GS224 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 608.40002441 m 416.75 608.40002441 l 416.75 624 l -1.45000005 624 l h f* Q q /GS225 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 624 m 416.75 624 l 416.75 639.59997559 l -1.45000005 639.59997559 l h f* Q q 1 0 0 1 0 608.40002441 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS226 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 7.94399977 11.65499973 Tm [(DispatcherServlet)] TJ ET EMC /P <> BDC BT 1 0 0 -1 97.19400024 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 99.88800049 11.65499973 Tm [<00720073>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 120.88800049 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 123.58200073 11.65499973 Tm [(contextConfigLocation)] TJ ET EMC /P <> BDC BT 1 0 0 -1 233.83200073 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 236.52600098 11.65499973 Tm [<004400450018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 268.02600098 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 270.72000122 11.65499973 Tm [(classpath)] TJ ET EMC /P <> BDC BT 1 0 0 -1 317.97000122 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 320.66400146 11.65499973 Tm [<00BD0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 341.66400146 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 344.35800171 11.65499973 Tm [(xml)] TJ ET EMC /P <> BDC BT 1 0 0 -1 360.10800171 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 362.80200195 11.65499973 Tm [<00820089005100520033>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 10.5 27.25500107 Tm /GS227 gs 0 g [( )] TJ ET EMC Q q /GS228 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 639.59997559 m 416.75 639.59997559 l 416.75 655.19995117 l -1.45000005 655.19995117 l h f* Q q 1 0 0 1 0 639.59997559 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS229 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 42 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 47.25 11.65499973 Tm [(MVC)] TJ ET EMC /P <> BDC BT 1 0 0 -1 63 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 68.25 11.65499973 Tm [<0190001800B60089001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 120.75 11.65499973 Tm /GS230 gs 0 g [( )] TJ ET EMC Q q /GS231 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 655.20001221 m 416.75 655.20001221 l 416.75 670.79998779 l -1.45000005 670.79998779 l h f* Q q 1 0 0 1 0 655.20001221 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS232 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 670.79998779 m 416.75 670.79998779 l 416.75 702 l -1.45000005 702 l h f* Q q 1 0 0 1 0 670.79998779 cm /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q Q 1 0 0 -1 0 841.90002441 cm +endstream +endobj +179 0 obj +<> +endobj +180 0 obj +<> +endobj +181 0 obj +<> +endobj +182 0 obj +<> +endobj +183 0 obj +<> +endobj +184 0 obj +<> +endobj +185 0 obj +<> +endobj +186 0 obj +<> +endobj +187 0 obj +<> +endobj +188 0 obj +<> +endobj +189 0 obj +<> +endobj +190 0 obj +<> +endobj +191 0 obj +<> +endobj +192 0 obj +<> +endobj +193 0 obj +<> +endobj +194 0 obj +<> +endobj +195 0 obj +<> +endobj +196 0 obj +<> +endobj +197 0 obj +<> +endobj +198 0 obj +<> +endobj +199 0 obj +<> +endobj +200 0 obj +<> +endobj +201 0 obj +<> +endobj +202 0 obj +<> +endobj +203 0 obj +<> +endobj +204 0 obj +<> +endobj +205 0 obj +<> +endobj +206 0 obj +<> +endobj +207 0 obj +<> +endobj +208 0 obj +<> +endobj +209 0 obj +<> +endobj +210 0 obj +<> +endobj +211 0 obj +<> +endobj +212 0 obj +<> +endobj +213 0 obj +<> +endobj +214 0 obj +<> +endobj +215 0 obj +<> +endobj +216 0 obj +<> +endobj +217 0 obj +<> +endobj +218 0 obj +<> +endobj +219 0 obj +<> +endobj +220 0 obj +<> +endobj +221 0 obj +<> +endobj +222 0 obj +<> +endobj +223 0 obj +<> +endobj +224 0 obj +<> +endobj +225 0 obj +<> +endobj +226 0 obj +<> +endobj +227 0 obj +<> +endobj +228 0 obj +<> +endobj +229 0 obj +<> +endobj +230 0 obj +<> +endobj +231 0 obj +<> +endobj +232 0 obj +<> +endobj +233 0 obj +<> +endobj +234 0 obj +<> +endobj +235 0 obj +<> +endobj +236 0 obj +<> +endobj +237 0 obj +<> +endobj +238 0 obj +<> +endobj +239 0 obj +<> +endobj +240 0 obj +<> +endobj +241 0 obj +<> +endobj +242 0 obj +<> +endobj +243 0 obj +<> +endobj +244 0 obj +<> +endobj +245 0 obj +<> +endobj +246 0 obj +<> +endobj +247 0 obj +<> +endobj +248 0 obj +<> +endobj +249 0 obj +<> +endobj +250 0 obj +<> +endobj +251 0 obj +<> +endobj +252 0 obj +<> +endobj +253 0 obj +<> +endobj +254 0 obj +<> +endobj +255 0 obj +<> +endobj +256 0 obj +<> +endobj +257 0 obj +<> +endobj +258 0 obj +<> +endobj +259 0 obj +<> +endobj +260 0 obj +<> +endobj +261 0 obj +<> +endobj +262 0 obj +<> +endobj +263 0 obj +29765 +endobj +264 0 obj +<>/ExtGState<>>>/Group<>/StructParents 3/Tabs/S>> +endobj +265 0 obj +<>stream +1 0 0 -1 0 841.90002441 cm q 1 0 0 1 90 72 cm q 0.97254902 0.98039216 0.98823529 rg -1.45000005 0 m 416.75 0 l 416.75 31.20000076 l -1.45000005 31.20000076 l h f* Q /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 39.89799881 20.17499924 Tm [<001A004700480023002400270028>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 113.39800262 20.17499924 Tm /GS233 gs 0 g [( )] TJ ET EMC q /GS234 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 31.20000076 m 416.75 31.20000076 l 416.75 46.80000305 l -1.45000005 46.80000305 l h f* Q q /GS235 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 46.79999924 m 416.75 46.79999924 l 416.75 62.40000153 l -1.45000005 62.40000153 l h f* Q q 1 0 0 1 0 31.20000076 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS236 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.01299953 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT 1 0 0 -1 39.51300049 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 42.27600098 11.65499973 Tm [<002F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.77600098 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 55.53900146 11.65499973 Tm [(Bean)] TJ ET EMC /P <> BDC BT 1 0 0 -1 76.53900146 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 79.30200195 11.65499973 Tm [<00310032001800B200B300D4019100500097003200910092006300180053008C00A7009F003100E700180022013600F7009A00910092006300180192019300D4>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 415.30200195 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [(ConcurrentHashMap)] TJ ET EMC /P <> BDC BT 1 0 0 -1 89.25 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 94.5 27.25500107 Tm [<002F0036001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 126 27.25500107 Tm /GS237 gs 0 g [( )] TJ ET EMC Q q /GS238 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 62.40000153 m 416.75 62.40000153 l 416.75 78 l -1.45000005 78 l h f* Q q 1 0 0 1 0 62.40000153 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS239 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 78 m 416.75 78 l 416.75 109.19999695 l -1.45000005 109.19999695 l h f* Q q 1 0 0 1 0 78 cm /P <> BDC BT 1 0 0 -1 0 20.17499924 Tm /GS240 gs 0.10980392 0.12156863 0.12941177 rg [(Spr)1(ing)] TJ ET EMC /P <> BDC BT 1 0 0 -1 34.64799881 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 39.89799881 20.17499924 Tm [<0049004A004B004C004D004E004F00500051005200530036>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 165.897995 20.17499924 Tm /GS241 gs 0 g [( )] TJ ET EMC Q q /GS242 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 109.19999695 m 416.75 109.19999695 l 416.75 124.79999542 l -1.45000005 124.79999542 l h f* Q q 1 0 0 1 0 109.19999695 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS243 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<010B00100156008C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.5 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 63 11.65499973 Tm [<0024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 76.125 11.65499973 Tm [(AOP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 94.5 11.65499973 Tm [<005E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 107.625 11.65499973 Tm [(remoting)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 152.25 11.65499973 Tm [<0046009B0050001800DA0194017F001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 236.25 11.65499973 Tm /GS244 gs 0 g [( )] TJ ET EMC Q q /GS245 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 124.80000305 m 416.75 124.80000305 l 416.75 140.40000916 l -1.45000005 140.40000916 l h f* Q q 1 0 0 1 0 124.80000305 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS246 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<009700320156008C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.5 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 63 11.65499973 Tm [<0024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 76.125 11.65499973 Tm [(spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 110.25 11.65499973 Tm [<00440045008200890046002000210018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 196.875 11.65499973 Tm [(bean)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 220.5 11.65499973 Tm [<017701780012009700320156008C001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 304.5 11.65499973 Tm /GS247 gs 0 g [( )] TJ ET EMC Q q /GS248 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 140.3999939 m 416.75 140.3999939 l 416.75 156 l -1.45000005 156 l h f* Q q /GS249 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 156 m 416.75 156 l 416.75 171.6000061 l -1.45000005 171.6000061 l h f* Q q 1 0 0 1 0 140.3999939 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS250 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<0156019500530054>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.5 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 63 11.65499973 Tm [<005000490011014A010B010C019601970018014B014C001C00DA0069>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 210 11.65499973 Tm [(.)] TJ ET EMC /P <> BDC BT 1 0 0 -1 215.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 220.5 11.65499973 Tm [(RestTemplate,)] TJ ET EMC /P <> BDC BT 1 0 0 -1 288.75 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 294 11.65499973 Tm [(JmsTemplate,)] TJ ET EMC /P <> BDC BT 1 0 0 -1 357 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [(JpaTemplate)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 57.75 27.25500107 Tm [<001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 68.25 27.25500107 Tm /GS251 gs 0 g [( )] TJ ET EMC Q q /GS252 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 171.6000061 m 416.75 171.6000061 l 416.75 187.20001221 l -1.45000005 187.20001221 l h f* Q q 1 0 0 1 0 171.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS253 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<00BA002A004D004E0090>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 63 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT 1 0 0 -1 73.5 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 107.625 11.65499973 Tm [<007A007B001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 141.75 11.65499973 Tm [(DispatcherServlet)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 233.625 11.65499973 Tm [<0049002F002B002C00A7009F00740075001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 328.125 11.65499973 Tm /GS254 gs 0 g [( )] TJ ET EMC Q q /GS255 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 187.19999695 m 416.75 187.19999695 l 416.75 202.80000305 l -1.45000005 202.80000305 l h f* Q q /GS256 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 202.80000305 m 416.75 202.80000305 l 416.75 218.40000916 l -1.45000005 218.40000916 l h f* Q q 1 0 0 1 0 187.19999695 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS257 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 8.05900002 11.65499973 Tm [<0186018701980199>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 50.05899811 11.65499973 Tm [(\(View)] TJ ET EMC /P <> BDC BT 1 0 0 -1 76.30899811 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 79.11799622 11.65499973 Tm [(Helper)] TJ ET EMC /P <> BDC BT 1 0 0 -1 110.61799622 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 113.42700195 11.65499973 Tm [(\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 118.67700195 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT 1 0 0 -1 129.17700195 11.65499973 Tm [(Spring)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 163.30200195 11.65499973 Tm [<007A007B001E006C003E00A00018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 239.42700195 11.65499973 Tm [(JSP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 257.80200195 11.65499973 Tm [<011F019A0022019B019C019D0049019E0199002E0074019F0018010B010C>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<01A0001700240186018701A1001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 73.5 27.25500107 Tm /GS258 gs 0 g [( )] TJ ET EMC Q q /GS259 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 218.3999939 m 416.75 218.3999939 l 416.75 234 l -1.45000005 234 l h f* Q q 1 0 0 1 0 218.3999939 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS260 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<01A201A3009101A4>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.5 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 63 11.65499973 Tm [<01A501A600DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 97.125 11.65499973 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT 1 0 0 -1 154.875 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 160.125 11.65499973 Tm [(/)] TJ ET EMC /P <> BDC BT 1 0 0 -1 165.375 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 170.625 11.65499973 Tm [(ApplicationContext)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 267.75 11.65499973 Tm [<002500C2001800EA00EB001001A8001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 351.75 11.65499973 Tm /GS261 gs 0 g [( )] TJ ET EMC Q q /GS262 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 234 m 416.75 234 l 416.75 249.6000061 l -1.45000005 249.6000061 l h f* Q q 1 0 0 1 0 234 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS263 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<0019001A0156008C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.5 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT 1 0 0 -1 63 11.65499973 Tm [(BeanFactory)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 123.375 11.65499973 Tm [<0050004900B200B3002F0036001800310032001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 228.375 11.65499973 Tm /GS264 gs 0 g [( )] TJ ET EMC Q q 1 0 0 1 0 249.6000061 cm /P <> BDC BT /FAABAB 10.5 Tf 1 0 0 -1 0 20.17499924 Tm [( )] TJ ET EMC Q q 1 0 0 1 0 280.79998779 cm /P <> BDC BT /FAABAB 16.5 Tf 1 0 0 -1 0 22.79000092 Tm /GS265 gs 0.10980392 0.12156863 0.12941177 rg [(Nett)1(y)] TJ ET EMC /P <> BDC BT /FAAABH 12 Tf 1 0 0 -1 43.80400085 22.79000092 Tm /GS266 gs 0 g [( )] TJ ET EMC Q q /GS267 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 312 m 416.75 312 l 416.75 343.20001221 l -1.45000005 343.20001221 l h f* Q q 1 0 0 1 0 312 cm /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS268 gs 0.10980392 0.12156863 0.12941177 rg [<00540014001500550056>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 52.5 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 57.75 20.17499924 Tm [(Netty)] TJ ET EMC /P <> BDC BT 1 0 0 -1 87.49099731 20.17499924 Tm /GS269 gs 0 g [( )] TJ ET EMC Q q /GS270 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 343.20001221 m 416.75 343.20001221 l 416.75 358.80001831 l -1.45000005 358.80001831 l h f* Q q 1 0 0 1 0 343.20001221 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS271 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(1\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 26.25 11.65499973 Tm [(API)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 44.625 11.65499973 Tm [<00CF0050009600970022016D007501A901AA01AB0141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 160.125 11.65499973 Tm /GS272 gs 0 g [( )] TJ ET EMC Q q /GS273 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 358.79998779 m 416.75 358.79998779 l 416.75 374.3999939 l -1.45000005 374.3999939 l h f* Q q 1 0 0 1 0 358.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS274 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(2\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.25 11.65499973 Tm [<0076003501AC01AD002201AE0045001E017F001F00EE0011010C007600350022007E007F017F001F011101AF003901B00141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 288.75 11.65499973 Tm /GS275 gs 0 g [( )] TJ ET EMC Q q /GS276 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 374.3999939 m 416.75 374.3999939 l 416.75 390 l -1.45000005 390 l h f* Q q 1 0 0 1 0 374.3999939 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS277 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(3\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.25 11.65499973 Tm [<0020004E003501B101AC0022000E000F01040105>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 131.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 136.5 11.65499973 Tm [(ChannelHandler)] TJ ET EMC /P <> BDC BT 1 0 0 -1 210 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 215.25 11.65499973 Tm [<002F0104010100BB00BC00A7009F01B201B3001800D600D70141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 351.75 11.65499973 Tm /GS278 gs 0 g [( )] TJ ET EMC Q q /GS279 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 390 m 416.75 390 l 416.75 405.6000061 l -1.45000005 405.6000061 l h f* Q q 1 0 0 1 0 390 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS280 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(4\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.25 11.65499973 Tm [<01510035019B0022010401050043007C012D00F801B4011101AF0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 175.875 11.65499973 Tm [(NIO)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 194.25 11.65499973 Tm [<00BB00BC002F00DA0022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 246.75 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 275.625 11.65499973 Tm [<001801B600170151003501B701B80141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 359.625 11.65499973 Tm /GS281 gs 0 g [( )] TJ ET EMC Q q /GS282 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 405.6000061 m 416.75 405.6000061 l 416.75 421.20001221 l -1.45000005 421.20001221 l h f* Q q /GS283 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 421.20001221 m 416.75 421.20001221 l 416.75 436.80001831 l -1.45000005 436.80001831 l h f* Q q 1 0 0 1 0 405.6000061 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS284 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(5\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.25 11.65499973 Tm [<003801B9006F01BA00200022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 89.25 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 118.125 11.65499973 Tm [<01090197001E008D00F2007500E7001800FD0014>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 225.75 11.65499973 Tm [(JDK)] TJ ET EMC /P <> BDC BT 1 0 0 -1 241.5 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 246.75 11.65499973 Tm [(NIO)] TJ ET EMC /P <> BDC BT 1 0 0 -1 262.5 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 267.75 11.65499973 Tm [(BUG)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 283.5 11.65499973 Tm [<002200F800F9016D007500FF01BC00A6009C009D01BD0012>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(NIO)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 18.375 27.25500107 Tm [<0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 31.5 27.25500107 Tm [(BUG)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 49.875 27.25500107 Tm [<013601BE01BF0141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 91.875 27.25500107 Tm /GS285 gs 0 g [( )] TJ ET EMC Q q /GS286 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 436.79998779 m 416.75 436.79998779 l 416.75 452.3999939 l -1.45000005 452.3999939 l h f* Q q /GS287 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 452.3999939 m 416.75 452.3999939 l 416.75 468 l -1.45000005 468 l h f* Q q 1 0 0 1 0 436.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS288 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(6\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.25 11.65499973 Tm [<01C001C101B301C2002201C3008301C4010B004B004C01C50022007500E70018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 196.875 11.65499973 Tm [(BUG)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 215.25 11.65499973 Tm [<000E000F009B00E2002D010901970022006A002D002200DC017F001801C6007600350123009B>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<00D901A40141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 31.5 27.25500107 Tm /GS289 gs 0 g [( )] TJ ET EMC Q q /GS290 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 468 m 416.75 468 l 416.75 483.6000061 l -1.45000005 483.6000061 l h f* Q q /GS291 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 483.6000061 m 416.75 483.6000061 l 416.75 499.20001221 l -1.45000005 499.20001221 l h f* Q q /GS292 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 499.20001221 m 416.75 499.20001221 l 416.75 514.79998779 l -1.45000005 514.79998779 l h f* Q q 1 0 0 1 0 468 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS293 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(7\))] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.25 11.65499973 Tm [<00F201C8001E01AD01440156001801C900F80030005001CA01CB002201CC01CD008D00F200D0002701CB01CE001C002401CF007001D0006F01AD014D0073006F01D001D101D201D3006F>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<01D400F800300050006F01D5010101D60089010001D7017F009F00F800D000270038007601C90050002201CE013F001E012D000E000F010E01D801D901DA00A6006A009F00F8001801C900F80030>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<0050001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 21 42.85499954 Tm /GS294 gs 0 g [( )] TJ ET EMC Q q /GS295 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 514.79998779 m 416.75 514.79998779 l 416.75 530.39996338 l -1.45000005 530.39996338 l h f* Q q 1 0 0 1 0 514.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS296 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<017C00D4012C001200F700F501B801DB0022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 105 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 133.875 11.65499973 Tm [<01DC01DD00380012>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 178.5 11.65499973 Tm [(Java)] TJ ET EMC /P <> BDC BT 1 0 0 -1 199.5 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 204.75 11.65499973 Tm [(NIO)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 223.125 11.65499973 Tm [<00EE00EF00180150012400BB00BC001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 307.125 11.65499973 Tm /GS297 gs 0 g [( )] TJ ET EMC Q q /GS298 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 530.40002441 m 416.75 530.40002441 l 416.75 546 l -1.45000005 546 l h f* Q q 1 0 0 1 0 530.40002441 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS299 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 546 m 416.75 546 l 416.75 577.20001221 l -1.45000005 577.20001221 l h f* Q q 1 0 0 1 0 546 cm /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS300 gs 0.10980392 0.12156863 0.12941177 rg [<0025002500580034004B0059>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 63 20.17499924 Tm [(Netty)] TJ ET EMC /P <> BDC BT 1 0 0 -1 92.74099731 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 97.99099731 20.17499924 Tm [<001A005A004C005B005C>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 150.49099731 20.17499924 Tm /GS301 gs 0 g [( )] TJ ET EMC Q q /GS302 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 577.20001221 m 416.75 577.20001221 l 416.75 592.79998779 l -1.45000005 592.79998779 l h f* Q q /GS303 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 592.79998779 m 416.75 592.79998779 l 416.75 608.39996338 l -1.45000005 608.39996338 l h f* Q q 1 0 0 1 0 577.20001221 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS304 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<00AA00B3019B01510035006F01AB002D01DE001800E9001F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 139.125 11.65499973 Tm [(Java)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 162.75 11.65499973 Tm [<0046003C0089002200320069>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 228.375 11.65499973 Tm [(MQ)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 238.875 11.65499973 Tm [<006F007401E0008C01E100F900BB00BC006F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 333.375 11.65499973 Tm [(ESB)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 351.75 11.65499973 Tm [<00840085019001E201000022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 28.875 27.25500107 Tm [<0111009D003A0012007800790104010100BB00BC007A007B019B01510035006F01AB002D01DE00180104010101E100F90141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 291.375 27.25500107 Tm /GS305 gs 0 g [( )] TJ ET EMC Q q /GS306 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 608.40002441 m 416.75 608.40002441 l 416.75 624 l -1.45000005 624 l h f* Q q /GS307 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 624 m 416.75 624 l 416.75 639.59997559 l -1.45000005 639.59997559 l h f* Q q 1 0 0 1 0 608.40002441 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS308 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 10.5 11.65499973 Tm [<01E300140175017601E40014003901B001E50018007800790104010100BB00BC002200320069000E000F007800DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 254.625 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 283.5 11.65499973 Tm [<00AA00B301E601E7006F019B015100350018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(WebSocket)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 49.875 27.25500107 Tm [<003901B001E50141>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 91.875 27.25500107 Tm /GS309 gs 0 g [( )] TJ ET EMC Q q /GS310 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 639.59997559 m 416.75 639.59997559 l 416.75 655.19995117 l -1.45000005 655.19995117 l h f* Q q /GS311 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 655.20001221 m 416.75 655.20001221 l 416.75 670.79998779 l -1.45000005 670.79998779 l h f* Q q 1 0 0 1 0 639.59997559 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS312 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 8.42500019 11.65499973 Tm [<00E901E801E90030005000220032006901AD014D0073006F01D201D301000022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 176.42500305 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 205.30000305 11.65499973 Tm [<003A0012019B0151003500180104010100BB00BC005000DF015C014F00E9015601570018014D0073>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<00740075006F00E001EA005E01EB019001000022003100E701560157003B003C019B0151003501040101001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 231 27.25500107 Tm /GS313 gs 0 g [( )] TJ ET EMC Q q /GS314 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 670.79998779 m 416.75 670.79998779 l 416.75 686.39996338 l -1.45000005 686.39996338 l h f* Q q 1 0 0 1 0 670.79998779 cm /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q Q 1 0 0 -1 0 841.90002441 cm +endstream +endobj +266 0 obj +<> +endobj +267 0 obj +<> +endobj +268 0 obj +<> +endobj +269 0 obj +<> +endobj +270 0 obj +<> +endobj +271 0 obj +<> +endobj +272 0 obj +<> +endobj +273 0 obj +<> +endobj +274 0 obj +<> +endobj +275 0 obj +<> +endobj +276 0 obj +<> +endobj +277 0 obj +<> +endobj +278 0 obj +<> +endobj +279 0 obj +<> +endobj +280 0 obj +<> +endobj +281 0 obj +<> +endobj +282 0 obj +<> +endobj +283 0 obj +<> +endobj +284 0 obj +<> +endobj +285 0 obj +<> +endobj +286 0 obj +<> +endobj +287 0 obj +<> +endobj +288 0 obj +<> +endobj +289 0 obj +<> +endobj +290 0 obj +<> +endobj +291 0 obj +<> +endobj +292 0 obj +<> +endobj +293 0 obj +<> +endobj +294 0 obj +<> +endobj +295 0 obj +<> +endobj +296 0 obj +<> +endobj +297 0 obj +<> +endobj +298 0 obj +<> +endobj +299 0 obj +<> +endobj +300 0 obj +<> +endobj +301 0 obj +<> +endobj +302 0 obj +<> +endobj +303 0 obj +<> +endobj +304 0 obj +<> +endobj +305 0 obj +<> +endobj +306 0 obj +<> +endobj +307 0 obj +<> +endobj +308 0 obj +<> +endobj +309 0 obj +<> +endobj +310 0 obj +<> +endobj +311 0 obj +<> +endobj +312 0 obj +<> +endobj +313 0 obj +<> +endobj +314 0 obj +<> +endobj +315 0 obj +<> +endobj +316 0 obj +<> +endobj +317 0 obj +<> +endobj +318 0 obj +<> +endobj +319 0 obj +<> +endobj +320 0 obj +<> +endobj +321 0 obj +<> +endobj +322 0 obj +<> +endobj +323 0 obj +<> +endobj +324 0 obj +<> +endobj +325 0 obj +<> +endobj +326 0 obj +<> +endobj +327 0 obj +<> +endobj +328 0 obj +<> +endobj +329 0 obj +<> +endobj +330 0 obj +<> +endobj +331 0 obj +<> +endobj +332 0 obj +<> +endobj +333 0 obj +<> +endobj +334 0 obj +<> +endobj +335 0 obj +<> +endobj +336 0 obj +<> +endobj +337 0 obj +<> +endobj +338 0 obj +<> +endobj +339 0 obj +<> +endobj +340 0 obj +<> +endobj +341 0 obj +<> +endobj +342 0 obj +<> +endobj +343 0 obj +<> +endobj +344 0 obj +<> +endobj +345 0 obj +<> +endobj +346 0 obj +<> +endobj +347 0 obj +<> +endobj +348 0 obj +28690 +endobj +349 0 obj +<>/ExtGState<>>>/Group<>/StructParents 4/Tabs/S>> +endobj +350 0 obj +<>stream +1 0 0 -1 0 841.90002441 cm q 1 0 0 1 90 72 cm q 0.97254902 0.98039216 0.98823529 rg -1.45000005 0 m 416.75 0 l 416.75 15.60000038 l -1.45000005 15.60000038 l h f* Q /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm /GS315 gs 0 g [( )] TJ ET EMC q /GS316 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 15.60000038 m 416.75 15.60000038 l 416.75 31.20000076 l -1.45000005 31.20000076 l h f* Q q 1 0 0 1 0 15.60000038 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS317 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 31.20000076 m 416.75 31.20000076 l 416.75 62.40000153 l -1.45000005 62.40000153 l h f* Q q 1 0 0 1 0 31.20000076 cm /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS318 gs 0.10980392 0.12156863 0.12941177 rg [<0027001B001A>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 31.5 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 36.75 20.17499924 Tm [(NI)-1(O)] TJ ET EMC /P <> BDC BT 1 0 0 -1 57.77099991 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 63.02099991 20.17499924 Tm [<005D>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 73.52100372 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 78.77100372 20.17499924 Tm [(JDK)] TJ ET EMC /P <> BDC BT 1 0 0 -1 99.29399872 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 102.42099762 20.17499924 Tm [(1.)1(7)] TJ ET EMC /P <> BDC BT 1 0 0 -1 118.3710022 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 123.6210022 20.17499924 Tm [<006100620063005D>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 165.6210022 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 170.8710022 20.17499924 Tm [(epoll)] TJ ET EMC /P <> BDC BT 1 0 0 -1 197.08999634 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 200.21699524 20.17499924 Tm [(bug)] TJ ET EMC /P <> BDC BT 1 0 0 -1 220.99099731 20.17499924 Tm /GS319 gs 0 g [( )] TJ ET EMC Q q /GS320 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 62.40000153 m 416.75 62.40000153 l 416.75 78 l -1.45000005 78 l h f* Q q /GS321 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 78 m 416.75 78 l 416.75 93.59999847 l -1.45000005 93.59999847 l h f* Q q /GS322 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 93.59999847 m 416.75 93.59999847 l 416.75 109.19999695 l -1.45000005 109.19999695 l h f* Q q 1 0 0 1 0 62.40000153 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS323 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 8.05900002 11.65499973 Tm [<012D012301EC01ED>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 52.68399811 11.65499973 Tm [(Selector)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 97.30899811 11.65499973 Tm [<01EE01EF017E002201B701F001EC01ED>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 183.93400574 11.65499973 Tm [(CPU)] TJ ET EMC /P <> BDC BT 1 0 0 -1 199.68400574 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 202.49299622 11.65499973 Tm [(100%)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 223.49299622 11.65499973 Tm [<001C01F30053013E01F40024>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 289.11801147 11.65499973 Tm [(JDK)] TJ ET EMC /P <> BDC BT 1 0 0 -1 304.86801147 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 307.67700195 11.65499973 Tm [(1.6)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 326.05200195 11.65499973 Tm [<01C300830018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 360.17700195 11.65499973 Tm [(update18)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 404.80200195 11.65499973 Tm [<0109>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<0197001E010F014B014C0022007700D401F60027>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 107.625 27.25500107 Tm [(JDK)] TJ ET EMC /P <> BDC BT 1 0 0 -1 123.375 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 128.625 27.25500107 Tm [(1.7)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 147 27.25500107 Tm [<01C30083010F014B014C01F701F8019300240022013200A60105010F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 296.625 27.25500107 Tm [(BUG)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 315 27.25500107 Tm [<0075003701F901FA01FB01AB001E006C00F5>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<0136008D0022012D00AB0120001400D000270072008301510011014A001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 157.5 42.85499954 Tm /GS324 gs 0 g [( )] TJ ET EMC Q q /GS325 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 109.19999695 m 416.75 109.19999695 l 416.75 124.79999542 l -1.45000005 124.79999542 l h f* Q q 1 0 0 1 0 109.19999695 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS326 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 124.80000305 m 416.75 124.80000305 l 416.75 156 l -1.45000005 156 l h f* Q q 1 0 0 1 0 124.80000305 cm /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS327 gs 0.10980392 0.12156863 0.12941177 rg [<001400150065>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 34.125 20.17499924 Tm [(TC)-1(P)] TJ ET EMC /P <> BDC BT 1 0 0 -1 54.66400146 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 59.91400146 20.17499924 Tm [<00670068>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 80.91400146 20.17499924 Tm [(/)] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 85.8769989 20.17499924 Tm [<006A0068>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 106.8769989 20.17499924 Tm /GS328 gs 0 g [( )] TJ ET EMC Q q /GS329 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 156 m 416.75 156 l 416.75 171.6000061 l -1.45000005 171.6000061 l h f* Q q 1 0 0 1 0 156 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS330 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(1)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F009D007501FC0018014D007301AD00DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 112.875 11.65499973 Tm [(TCP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 131.25 11.65499973 Tm [<007501FC019201FD01C101FE01FF01EE003C01AD02000022002E0123007500370201001D001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 330.75 11.65499973 Tm /GS331 gs 0 g [( )] TJ ET EMC Q q /GS332 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 171.6000061 m 416.75 171.6000061 l 416.75 187.20001221 l -1.45000005 187.20001221 l h f* Q q 1 0 0 1 0 171.6000061 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS333 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(2)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F0202007501FC014D007301AD00DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 102.375 11.65499973 Tm [(MSS)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 118.125 11.65499973 Tm [<005501B701AD0203008202040205005D0022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 212.625 11.65499973 Tm [(TCP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 231 11.65499973 Tm [<002400E001EA00BA002E00A7009F0201001D001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 336 11.65499973 Tm /GS334 gs 0 g [( )] TJ ET EMC Q q /GS335 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 187.19999695 m 416.75 187.19999695 l 416.75 202.80000305 l -1.45000005 202.80000305 l h f* Q q /GS336 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 202.80000305 m 416.75 202.80000305 l 416.75 218.40000916 l -1.45000005 218.40000916 l h f* Q q 1 0 0 1 0 187.19999695 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS337 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(3)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F009D007501FC0018014D0073020000DF>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 112.875 11.65499973 Tm [(TCP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 131.25 11.65499973 Tm [<007501FC019201FD01C1001801AD02000022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 225.75 11.65499973 Tm [(TCP)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 244.125 11.65499973 Tm [<002E017F0206020701A4019201FD01C10018014D0073006C0206007501FC0048>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<02080022002E0123007500370209001D001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 94.5 27.25500107 Tm /GS338 gs 0 g [( )] TJ ET EMC Q q /GS339 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 218.3999939 m 416.75 218.3999939 l 416.75 234 l -1.45000005 234 l h f* Q q 1 0 0 1 0 218.3999939 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS340 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(4)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F00250026014D0073002A00180030005000E30120001400E2002D008A008B00250026019201FD01C100460018014D00730022002E007500370209001D001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 351.75 11.65499973 Tm /GS341 gs 0 g [( )] TJ ET EMC Q q /GS342 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 234 m 416.75 234 l 416.75 249.6000061 l -1.45000005 249.6000061 l h f* Q q 1 0 0 1 0 234 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS343 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 249.6000061 m 416.75 249.6000061 l 416.75 280.80001831 l -1.45000005 280.80001831 l h f* Q q 1 0 0 1 0 249.6000061 cm /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS344 gs 0.10980392 0.12156863 0.12941177 rg [(TC)-1(P)] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 23.16399956 20.17499924 Tm [<00670068>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 44.16400146 20.17499924 Tm [(/)] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 49.1269989 20.17499924 Tm [<006A0068001A003D006B006C006D>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 122.6269989 20.17499924 Tm /GS345 gs 0 g [( )] TJ ET EMC Q q /GS346 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 280.79998779 m 416.75 280.79998779 l 416.75 296.3999939 l -1.45000005 296.3999939 l h f* Q q /GS347 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 296.3999939 m 416.75 296.3999939 l 416.75 312 l -1.45000005 312 l h f* Q q 1 0 0 1 0 280.79998779 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS348 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(1)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F007501FC002A0134020A009A014D0073001D00D800D9001D0150014F00220150014F00460030010F020B020C001D0013014D0073001D001802040205002200F7006D00250026002A0024>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<002500260027014D007300B9002201040105008A008B001D0150014F001802040205016A020D00220023020E020F020A006C009A014D0073001D00180031008102040205001E001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 378 27.25500107 Tm /GS349 gs 0 g [( )] TJ ET EMC Q q /GS350 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 312 m 416.75 312 l 416.75 327.6000061 l -1.45000005 327.6000061 l h f* Q q /GS351 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 327.6000061 m 416.75 327.6000061 l 416.75 343.20001221 l -1.45000005 343.20001221 l h f* Q q 1 0 0 1 0 312 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS352 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(2)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F007501FC002A002E020A009A014D0073001D021000E800120211002002040205005500A601790018000E000F010401050212>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 291.375 11.65499973 Tm [(0)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 299.25 11.65499973 Tm [<02130214005D002200F7006D00250026002A020A0206>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<006200250026019201FD01C10046008A008B02110020020402050018014D007301080041018F0136018F00180215020A009A014D0073001D02010074016D0049001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 346.5 27.25500107 Tm /GS353 gs 0 g [( )] TJ ET EMC Q q /GS354 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 343.20001221 m 416.75 343.20001221 l 416.75 358.80001831 l -1.45000005 358.80001831 l h f* Q q /GS355 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 358.79998779 m 416.75 358.79998779 l 416.75 374.3999939 l -1.45000005 374.3999939 l h f* Q q 1 0 0 1 0 343.20001221 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS356 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(3)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 15.75 11.65499973 Tm [<006F000E000F0024014D0073001D003B003C00710045021601B40022006900D800D900C400C5016B016C002200F7006D002200250026002A0104010500F7009A021601B40108000E000F002E>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<00A6006A0018014D0073001D02010074016D001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 105 27.25500107 Tm /GS357 gs 0 g [( )] TJ ET EMC Q q /GS358 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 374.3999939 m 416.75 374.3999939 l 416.75 390 l -1.45000005 390 l h f* Q q 1 0 0 1 0 374.3999939 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS359 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 390 m 416.75 390 l 416.75 421.20001221 l -1.45000005 421.20001221 l h f* Q q 1 0 0 1 0 390 cm /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS360 gs 0.10980392 0.12156863 0.12941177 rg [(Netty)] TJ ET EMC /P <> BDC BT 1 0 0 -1 29.74099922 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 34.99100113 20.17499924 Tm [<006E00450053006F>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 76.99099731 20.17499924 Tm /GS361 gs 0 g [( )] TJ ET EMC Q q /GS362 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 421.20001221 m 416.75 421.20001221 l 416.75 436.80001831 l -1.45000005 436.80001831 l h f* Q q /GS363 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 436.79998779 m 416.75 436.79998779 l 416.75 452.3999939 l -1.45000005 452.3999939 l h f* Q q /GS364 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 452.3999939 m 416.75 452.3999939 l 416.75 468 l -1.45000005 468 l h f* Q q /GS365 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 468 m 416.75 468 l 416.75 483.6000061 l -1.45000005 483.6000061 l h f* Q q /GS366 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 483.6000061 m 416.75 483.6000061 l 416.75 499.20001221 l -1.45000005 499.20001221 l h f* Q q 1 0 0 1 0 421.20001221 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS367 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 8.42500019 11.65499973 Tm [<015000CD0022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 39.92499924 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 68.80000305 11.65499973 Tm [<00CF0050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 92.42500305 11.65499973 Tm [(EventLoop)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 142.30000305 11.65499973 Tm [<004900DE00100217002500650018008A02070093008900220136006C009A021700250065001800FD0014002B002C0130021801CE>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<0024006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 34.125 27.25500107 Tm [(EventLoop)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 84 27.25500107 Tm [<0046009B00DE00100022006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 160.125 27.25500107 Tm [(EventLoop)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 210 27.25500107 Tm [<004601320014006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 265.125 27.25500107 Tm [(Thread)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 296.625 27.25500107 Tm [<002200FD000F00DD0108003100E7001E006C009A0217>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [<00250065001800FD001400930089013201230024006C009A01E200EF0046009B009E009F001C006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 223.125 42.85499954 Tm [(EventLoopGroup)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 299.25 42.85499954 Tm [<001D0013017F009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 343.875 42.85499954 Tm [(EventLoop)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 391.125 42.85499954 Tm [<0022000E>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 58.45499802 Tm [<000F0215006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 44.625 58.45499802 Tm [(EventLoop)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 94.5 58.45499802 Tm [<00A500F400D4>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 128.625 58.45499802 Tm [(Reactor)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 168 58.45499802 Tm [<01E200EF015600D300460018006C009A01E200EF00220136006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 317.625 58.45499802 Tm [(EventLoopGroup)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 393.75 58.45499802 Tm [<001B013C>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 74.05500031 Tm [<00DF006C009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 34.125 74.05500031 Tm [(ExecutorService)] TJ ET EMC /P <> BDC BT 1 0 0 -1 112.875 74.05500031 Tm /GS368 gs 0 g [( )] TJ ET EMC Q q /GS369 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 499.20001221 m 416.75 499.20001221 l 416.75 514.79998779 l -1.45000005 514.79998779 l h f* Q q 1 0 0 1 0 499.20001221 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm [( )] TJ ET EMC Q q /GS370 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 514.79998779 m 416.75 514.79998779 l 416.75 546 l -1.45000005 546 l h f* Q q 1 0 0 1 0 514.79998779 cm /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS371 gs 0.10980392 0.12156863 0.12941177 rg [<00250025>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 21 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 26.25 20.17499924 Tm [(Netty)] TJ ET EMC /P <> BDC BT 1 0 0 -1 55.99100113 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 61.24100113 20.17499924 Tm [<001A007000710072>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 103.24099731 20.17499924 Tm /GS372 gs 0 g [( )] TJ ET EMC Q q /GS373 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 546 m 416.75 546 l 416.75 561.59997559 l -1.45000005 561.59997559 l h f* Q q /GS374 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 561.59997559 m 416.75 561.59997559 l 416.75 577.19995117 l -1.45000005 577.19995117 l h f* Q q /GS375 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 577.20001221 m 416.75 577.20001221 l 416.75 592.79998779 l -1.45000005 592.79998779 l h f* Q q 1 0 0 1 0 546 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS376 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.42500019 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 18.92499924 11.65499973 Tm [<021A021B021C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 50.42499924 11.65499973 Tm [()] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 60.92499924 11.65499973 Tm [<00D4013A0165021E00CE00A1003A0018010500EF00460022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 186.92500305 11.65499973 Tm [(CPU)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 205.30000305 11.65499973 Tm [<00A6009C009D0012014D00730024015C0193003B003C0018021B021C0084021F00870088001C0136>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<012D010400F300D4013A0165021E00CE002401D001D10065007501FC00820089002D002200A6009C009D002E00820089015C00AC021B021C00270050002901EE003C0055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 357 27.25500107 Tm [(User)] TJ ET EMC /P <> BDC BT 1 0 0 -1 378 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [(Space)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 26.25 42.85499954 Tm [<005D013601F600250024015C00EA01EE003C0055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 131.25 42.85499954 Tm [(Kernel)] TJ ET EMC /P <> BDC BT 1 0 0 -1 162.75 42.85499954 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 168 42.85499954 Tm [(Space)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 194.25 42.85499954 Tm [<005D004600E001EA002701D001D100180053008C001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 309.75 42.85499954 Tm /GS377 gs 0 g [( )] TJ ET EMC Q q /GS378 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 592.79998779 m 416.75 592.79998779 l 416.75 624 l -1.45000005 624 l h f* Q q 1 0 0 1 0 592.79998779 cm /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 0 20.17499924 Tm /GS379 gs 0.10980392 0.12156863 0.12941177 rg [(Netty)] TJ ET EMC /P <> BDC BT 1 0 0 -1 29.74099922 20.17499924 Tm [( )] TJ ET EMC /P <> BDC BT /FAAAAJ 10.5 Tf 1 0 0 -1 34.99100113 20.17499924 Tm [<007300740075004300440045>] TJ ET EMC /P <> BDC BT /FAAAAH 10.5 Tf 1 0 0 -1 97.99099731 20.17499924 Tm /GS380 gs 0 g [( )] TJ ET EMC Q q /GS381 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 624 m 416.75 624 l 416.75 639.59997559 l -1.45000005 639.59997559 l h f* Q q /GS382 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 639.59997559 m 416.75 639.59997559 l 416.75 655.19995117 l -1.45000005 655.19995117 l h f* Q q /GS383 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 655.20001221 m 416.75 655.20001221 l 416.75 670.79998779 l -1.45000005 670.79998779 l h f* Q q /GS384 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 670.79998779 m 416.75 670.79998779 l 416.75 686.39996338 l -1.45000005 686.39996338 l h f* Q q 1 0 0 1 0 624 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS385 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(1.)] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 31.5 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 60.375 11.65499973 Tm [<001800250026005E007501FC>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 126 11.65499973 Tm [(ByteBuffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 181.125 11.65499973 Tm [<01910050>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 204.75 11.65499973 Tm [(DIRECT)] TJ ET EMC /P <> BDC BT 1 0 0 -1 236.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 241.5 11.65499973 Tm [(BUFFERS)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 278.25 11.65499973 Tm [<002200CF00500220022101F60025015C019300A7009F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 27.25500107 Tm [(Socket)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 34.125 27.25500107 Tm [<008A0207002200A6009C009D00A7009F016A0222019201FD01C1001802230206021B021C001C0069011D00CF005000E0008600180220015C01930055>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 349.125 27.25500107 Tm [(HEAP)] TJ ET EMC /P <> BDC BT 1 0 0 -1 370.125 27.25500107 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 42.85499954 Tm [(BUFFERS)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 36.75 42.85499954 Tm [<005D00A7009F>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 70.875 42.85499954 Tm [(Socket)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 105 42.85499954 Tm [<008A02070022>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 136.5 42.85499954 Tm [(JVM)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 154.875 42.85499954 Tm [<0123002E0220015C0193>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 210 42.85499954 Tm [(Buffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 244.125 42.85499954 Tm [<021B021C006C0224002701F60025015C019300460022018F00B90225020701A4>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 58.45499802 Tm [(Socket)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 34.125 58.45499802 Tm [<0046001C00A800DA00DF0220022101F60025015C01930022008400850024007501FC010500EF0046017F001E006C0206019201FD01C10018015C0193021B021C001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 380.625 58.45499802 Tm /GS386 gs 0 g [( )] TJ ET EMC Q Q 1 0 0 -1 0 841.90002441 cm +endstream +endobj +351 0 obj +<> +endobj +352 0 obj +<> +endobj +353 0 obj +<> +endobj +354 0 obj +<> +endobj +355 0 obj +<> +endobj +356 0 obj +<> +endobj +357 0 obj +<> +endobj +358 0 obj +<> +endobj +359 0 obj +<> +endobj +360 0 obj +<> +endobj +361 0 obj +<> +endobj +362 0 obj +<> +endobj +363 0 obj +<> +endobj +364 0 obj +<> +endobj +365 0 obj +<> +endobj +366 0 obj +<> +endobj +367 0 obj +<> +endobj +368 0 obj +<> +endobj +369 0 obj +<> +endobj +370 0 obj +<> +endobj +371 0 obj +<> +endobj +372 0 obj +<> +endobj +373 0 obj +<> +endobj +374 0 obj +<> +endobj +375 0 obj +<> +endobj +376 0 obj +<> +endobj +377 0 obj +<> +endobj +378 0 obj +<> +endobj +379 0 obj +<> +endobj +380 0 obj +<> +endobj +381 0 obj +<> +endobj +382 0 obj +<> +endobj +383 0 obj +<> +endobj +384 0 obj +<> +endobj +385 0 obj +<> +endobj +386 0 obj +<> +endobj +387 0 obj +<> +endobj +388 0 obj +<> +endobj +389 0 obj +<> +endobj +390 0 obj +<> +endobj +391 0 obj +<> +endobj +392 0 obj +<> +endobj +393 0 obj +<> +endobj +394 0 obj +<> +endobj +395 0 obj +<> +endobj +396 0 obj +<> +endobj +397 0 obj +<> +endobj +398 0 obj +<> +endobj +399 0 obj +<> +endobj +400 0 obj +<> +endobj +401 0 obj +<> +endobj +402 0 obj +<> +endobj +403 0 obj +<> +endobj +404 0 obj +<> +endobj +405 0 obj +<> +endobj +406 0 obj +<> +endobj +407 0 obj +<> +endobj +408 0 obj +<> +endobj +409 0 obj +<> +endobj +410 0 obj +<> +endobj +411 0 obj +<> +endobj +412 0 obj +<> +endobj +413 0 obj +<> +endobj +414 0 obj +<> +endobj +415 0 obj +<> +endobj +416 0 obj +<> +endobj +417 0 obj +<> +endobj +418 0 obj +<> +endobj +419 0 obj +<> +endobj +420 0 obj +<> +endobj +421 0 obj +<> +endobj +422 0 obj +<> +endobj +423 0 obj +27223 +endobj +424 0 obj +<>/ExtGState<>>>/Group<>/StructParents 5/Tabs/S>> +endobj +425 0 obj +<>stream +1 0 0 -1 0 841.90002441 cm q 1 0 0 1 90 72 cm q 0.97254902 0.98039216 0.98823529 rg -1.45000005 0 m 416.75 0 l 416.75 15.60000038 l -1.45000005 15.60000038 l h f* Q q 0.97254902 0.98039216 0.98823529 rg -1.45000005 15.60000038 m 416.75 15.60000038 l 416.75 31.20000076 l -1.45000005 31.20000076 l h f* Q q 0.97254902 0.98039216 0.98823529 rg -1.45000005 31.20000076 m 416.75 31.20000076 l 416.75 46.80000305 l -1.45000005 46.80000305 l h f* Q /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 11.65499973 Tm 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 8.42500019 11.65499973 Tm [(2.)] TJ ET EMC /P <> BDC BT 1 0 0 -1 18.92499924 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 29.42499924 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 58.29999924 11.65499973 Tm [<007A007B001E00B60017>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 113.42500305 11.65499973 Tm [(Buffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 147.55000305 11.65499973 Tm [<002F00360022000E000F02260017017F009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 244.67500305 11.65499973 Tm [(ByteBuffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 299.79998779 11.65499973 Tm [<002F0036002200500029000E000F022700A1003A006C>] TJ ET EMC /P <> BDC BT 1 0 0 -1 0 27.25500107 Tm [<009A>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 13.125 27.25500107 Tm [(Buffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 47.25 27.25500107 Tm [<0121006D005300230018002F00B60017>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 133.875 27.25500107 Tm [(Buffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 168 27.25500107 Tm [<00A7009F00A1003A002202280229001E00E0008601040105015C0193021B021C00180053008C002E022A009A0200>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 0 42.85499954 Tm [(Buffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 34.125 42.85499954 Tm [<001700AB0038006C009A01AD0018>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 110.25 42.85499954 Tm [(Buffer)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 141.75 42.85499954 Tm [<001C>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 152.25 42.85499954 Tm /GS387 gs 0 g [( )] TJ ET EMC q /GS388 gs 0.97254902 0.98039216 0.98823529 rg -1.45000005 46.79999924 m 416.75 46.79999924 l 416.75 62.40000153 l -1.45000005 62.40000153 l h f* Q q 1 0 0 1 0 46.79999924 cm /P <> BDC BT 1 0 0 -1 0 11.65499973 Tm /GS389 gs 0.10980392 0.12156863 0.12941177 rg [(>)] TJ ET EMC /P <> BDC BT 1 0 0 -1 5.25 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 10.5 11.65499973 Tm [(3.)] TJ ET EMC /P <> BDC BT 1 0 0 -1 21 11.65499973 Tm [( )] TJ ET EMC /P <> BDC BT 1 0 0 -1 31.5 11.65499973 Tm [(Netty)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 60.375 11.65499973 Tm [<00180082008900E001EA01910050001E>] TJ ET EMC /P <> BDC BT /FAAABH 10.5 Tf 1 0 0 -1 147 11.65499973 Tm [(transferTo)] TJ ET EMC /P <> BDC BT /FAAACA 10.5 Tf 1 0 0 -1 202.125 11.65499973 Tm [<005300540022012D000E000F01F60025002E00820089019201FD01C10018014D0073007501FC0027>] TJ ET EMC /P <> BDC BT /FAAEDA 10.5 Tf 1 0 0 -1 412.125 11.65499973 Tm /GS390 gs 0 g [( )] TJ ET EMC Q q 1 0 0 1 0 62.40000153 cm Q Q 1 0 0 -1 0 841.90002441 cm +endstream +endobj +426 0 obj +<> +endobj +427 0 obj +<> +endobj +428 0 obj +<> +endobj +429 0 obj +<>stream + POS/26`cmapu;<4cvt p5pfpgm\W, 0glyfBm\head'N~46hhea Dl$hmtx +~# loca.maxp*_ nameY!1*postH prepg"I$+33*${ MS @&   ( A APjsbym    + ? 6PQZ[\]`abdhijklmnhin`gnfh_acdfhjklmnoportuvvprstuvopqrsuwwxyz{|}{|}wyz|xz|}x}~~~hicjopqopqrflmpy|tuvwz{|}~x{vyz|}~stuwz} A^^wHfTn +\(h@Ztsrqponmlkjihgfedb_^]\[ZYXUTSRQPONMLKJIHGFEDCBA@?>=<;:98765/.-,(&%$#" + ,E#F` &`&#HH-,E#F#a &a&#HH-,E#F` a F`&#HH-,E#F#a ` &a a&#HH-,E#F`@a f`&#HH-,E#F#a@` &a@a&#HH-, <<-, E# D# ZQX# D#Y QX# MD#Y &QX# D#Y!!-, EhD ` EFvhE`D-, +C#Ce +-, + C#C -,(#p(>(#p(E: -, E%EadPQXED!!Y-, EC`D-,CCe +-, i@a ,b`+ d#da\XaY-,E+)#D)z-,Ee,#DE+#D-,KRXED!!Y-,%# `#-,%# a#-,%-, ` <<-, a <<-,CC -,!! d#d@b-,!QX d#d b@/+Y`-,!QX d#dUb/+Y`-, d#d@b`#!-,E#E`#E`#E`#vhb -,&&%%E#E &`bch &ae#DD-, ETX@D E@aD!!Y-,E0/E#Ea``iD-,KQX/#p#B!!Y-,KQX %EiSXD!!Y!!Y-,EC`c`iD-,/ED-,E# E`D-,E#E`D-,K#QX34 34YDD-,CX&EXdf`d `f X!@YaY#XeY)#D#)!!!!!Y-,CX%Ed `f X!@Ya#XeY)#D%% XY%% F%#B<%% F%`#B< XY%%)%%)%% XY%%CH%%`CH!Y!!!!!!!-,CX%Ed `f X!@Ya#XeY)#D%% XY%% F%#B<%%%% F%`#B< XY%%)) EeD%%)%% XY%%CH%%%%`CH!Y!!!!!!!-,% F%#B%%EH!!!!-,% %%CH!!!-,E# E P X#e#Y#h @PX!@Y#XeY`D-,KS#KQZX E`D!!Y-,KTX E`D!!Y-,KS#KQZX8!!Y-,!KTX8!!Y-,CTXF+!!!!Y-,CTXG+!!!Y-,CTXH+!!!!Y-,CTXI+!!!Y-,# Pd%TX@%TXCYO+Y#b+#!#XeY-, !T`C-,F#F`#Fa#  Fab@@pE`h:-, #Id#SX<!Y-,KRX}zY-,KKTB-,B#Q@SZX TXC`BY$QX @TXC`B$TX C`BKKRXC`BY@TXC`BY@cTXC`BY@cTXC`BY&QX@cTX@C`BY@cTXC`BY(QX@cTXC`BYYYYYYYCTX@ +@@ @  CTX@   CRX@ @CRX@ @CRX@ @@ YYY@U@cUZX  YYYBBBBB-,Eh#KQX# E d@PX|Yh`YD-,%%#>#> +#eB #B#?#? #eB#B-, b`#b-,%XY%%% TX!Y!%\%ZX +Y %J%G%G`%Gca%UX%%IcY%XY%%I %\ %ZX +Y%Fca% UXc!Ya# UXc!YY+%\XiY% H#:&XY&X%/Y#2!!-,% +%% %JSX% +% %%Y%% %c#%c` @cSX!&& +@ceQX&e&e +&&%% + .%% + .%%YY UX%%%% % % & TX!Y%%% %I#%% +% %Y QR#xa%%% +% %Iab%% +%#8%%%% +% %İ%% % %I%T#y!!!!!!!!!!!!-,#TX@@YTX@@Y[+-,TX@@Y [+-, TX@@Y[+-,&& && [+-,%c `f% b`#b-, EiD-,#JN+-,#JN+-,#J#Ed%d%adCRX! dYN+#PXeY-,#J#Ed%d%adCRX! dYN+#PXeY-, %JN+;-, %JN+;-,%%g+;-,%%h+;-,%F%F`%.%%& PX!jlY+%F%F`ab #:# #:-,%G%G`%Gca%%Ic#%Jc Xb!Y&F`FF` ca-,&%%&n+ #:# #:-,# TX!%N+P `Y `` QX!! QX! fa@#a%P%%PZX %aSX!Y!YTX fae#!!!YYYN+-,%%JSX#Y%F fa &&I&&p+#ae ` fa ae-,%F PX!N+E#!Yae%;-,& b c#a ]`+% 9X]&cV`+#!  F N+#a#! IN+Y;-,] %cV`+%%&m+]%`+%%%%o+]&cV`+ RXP+%%%%%q+8R%RZX%%I%%I` @RX!RX TX%%%%I8%%%%I8YYYYY!!!!!-,%PX@cT\KR[Y-,(QX@cT\Y-s9MN+X R:DD-C TC@ ?#5I-??/9//9/310@ l?5#l5l?I-@ l?@l?++/++9/+01Y!!#".5'&6332>54&#"#".5467>32#".54>32ZO~#?V3 -<%S[%<.(7B"KlE"Cl;\?$ +*;!IV  (D\M#~"&ܰ+X$ L# L& L L +@ L% L  L  L@(%@, M$#&% "# +   #### # RUU???99//]]99932310+]++++++++@$#& %l "# +  # # RUU???99//9993+2301Y%#".'!#"&&67>32#!u%% oj +#% ' *{= ;   {.2C_<|( 6  + #~:/6$-"$,Pvh*  + V * l$ ;  +P +e  6    $,  P  vh *  + V *   l$ 2016 Microsoft Corporation. All Rights Reserved. Hebrew OpenType Layout logic copyright 2003 & 2007, Ralph Hancock & John Hudson. This layout logic for Biblical Hebrew is open source software under the MIT License; see embedded license description for details.CalibriRegularMicrosoft: CalibriVersion 6.18Calibri is a trademark of the Microsoft group of companies.Luc(as) de GrootCalibri is a modern sans serif family with subtle roundings on stems and corners. It features real italics, small caps, and multiple numeral sets. Its proportions allow high impact in tightly set lines of big and small text alike. Calibri's many curves and the new rasteriser team up in bigger sizes to reveal a warm and soft character.http://www.microsoft.com/typography/ctfontshttp://lucasfonts.comMicrosoft supplied font. You may use this font to create, display, and print content as permitted by the license terms or terms of use, of the Microsoft product, service, or content in which this font was included. You may only (i) embed this font in content as permitted by the embedding restrictions included in this font; and (ii) temporarily download this font to a printer or other output device to help print content. Any other use is prohibited. The following license, based on the MIT license (http://en.wikipedia.org/wiki/MIT_License), applies to the OpenType Layout logic for Biblical Hebrew Layout Logic  as jointly developed by Ralph Hancock and John Hudson. Permission is hereby granted, free of charge, to any person obtaining a copy of the OpenType Layout logic for Biblical Hebrew and associated documentation files (the Layout Logic Software ), to deal in the Layout Logic Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Layout Logic Software, and to permit persons to whom the Layout Logic Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Layout Logic Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. http://www.microsoft.com/typography/fonts/default.aspx 2016 Microsoft Corporation. All Rights Reserved. Hebrew OpenType Layout logic copyright 2003 & 2007, Ralph Hancock & John Hudson. This layout logic for Biblical Hebrew is open source software under the MIT License; see embedded license description for details.CalibriRegularMicrosoft: Calibri: 2005Version 6.18Calibri is a trademark of the Microsoft group of companies.Luc(as) de GrootCalibri is a modern sans serif family with subtle roundings on stems and corners. It features real italics, small caps, and multiple numeral sets. Its proportions allow high impact in tightly set lines of big and small text alike. Calibri's many curves and the new rasteriser team up in bigger sizes to reveal a warm and soft character.http://www.microsoft.com/typography/ctfontshttp://lucasfonts.comMicrosoft supplied font. You may use this font to create, display, and print content as permitted by the license terms or terms of use, of the Microsoft product, service, or content in which this font was included. You may only (i) embed this font in content as permitted by the embedding restrictions included in this font; and (ii) temporarily download this font to a printer or other output device to help print content. Any other use is prohibited. The following license, based on the MIT license (http://en.wikipedia.org/wiki/MIT_License), applies to the OpenType Layout logic for Biblical Hebrew Layout Logic as jointly developed by Ralph Hancock and John Hudson. Permission is hereby granted, free of charge, to any person obtaining a copy of the OpenType Layout logic for Biblical Hebrew and associated documentation files (the Layout Logic Software), to deal in the Layout Logic Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Layout Logic Software, and to permit persons to whom the Layout Logic Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Layout Logic Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. http://www.microsoft.com/typography/fonts/default.aspx 2016 Microsoft Corporation. All Rights Reserved. +Hebrew OpenType Layout logic copyright 2003 & 2007, Ralph Hancock & John Hudson. This layout logic for Biblical Hebrew is open source software under the MIT License; see embedded license description for details.Microsoft supplied font. You may use this font to create, display, and print content as permitted by the license terms or terms of use, of the Microsoft product, service, or content in which this font was included. You may only (i) embed this font in content as permitted by the embedding restrictions included in this font; and (ii) temporarily download this font to a printer or other output device to help print content. Any other use is prohibited. + +The following license, based on the MIT license (http://en.wikipedia.org/wiki/MIT_License), applies to the OpenType Layout logic for Biblical Hebrew Layout Logic  as jointly developed by Ralph Hancock and John Hudson. + +Permission is hereby granted, free of charge, to any person obtaining a copy of the OpenType Layout logic for Biblical Hebrew and associated documentation files (the Layout Logic Software ), to deal in the Layout Logic Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Layout Logic Software, and to permit persons to whom the Layout Logic Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Layout Logic Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + AS888U8U8U8U8U8U8U8U4T4Tdk Ddt  J  J  J  J  J  J ~ J } J | J { J z J y J x J w J v J u J t J s J q J p J o J n J m J l J k J j J i J h J g J f J e J d J c J b J a J ` J _ J ^ J ] J \ J [ J Z J Y J X J W J V J U J T J S J R J Q J P J O J N J M J L J K J J J I J H J G J F J E J D J C J B J A J @ J ? J > J = J < J ; J : J 9 J 8 J 7 J 6 J 5 J 4 J 3 J 2 J 1 J 0 J / J . J - J , J + J * J ) J ( J ' J & J % J $ J # J " J ! J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  + J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J ߴ J ޴ J ݴ J ܴ J ۴ J ڴ J ٴ J ش J ״ J ִ J մ J Դ J Ӵ J Ҵ J Ѵ J д J ϴ J δ J ʹ J ̴ J ˴ J ʴ J ɴ J ȴ J Ǵ J ƴ J Ŵ J Ĵ J ô J ´ J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J ~ J } J | J { J z J y J x J w J v J u J t J s J r J q J p J o J n J m J l J k J j J i J h J g J f J e J d J c J b J a J ` J _ J ^ J ] J \ J [ J Z J Y J X J W J V J U J T J S J R J P J O J N J L J K J J J I J H J G J F J E J D J C J>>:>>~ }>|>{>z>yAxCwCvCuAtCsCrAqBpBoBnCmClCkEjEiEhEgEfDeEdEcEbEaE`E_E^D]E\E[EZEYEXEWEVEUETESEREQEPEOENEMELEKEJIIIHJGJFKELDLCLBKAI@I?J>J=J<K;K:L9L8L7L6L5I4I3J2J1J0K/K.L-L,L+L*L)L(L'I&I%J$J#J"K!K LLLLLLNNOONNOOONNOO O N N +N OOOPQQPQQQQPQQQPQQQQTSTTTSTTTSSTTTTSTSTTTS߲S޲TݲTܲT۲TڲSٲTزTײWֲVղVԲWӲWҲWѲWвVϲVβWͲW̲W˲WʲVɲVȲWDzWƲWŲWIJWòV²WWWVVWWWWWVWWWW?[[[[[[[[>??[[[[[[[[>??[[[[>[[[>??[[[[[?[[[[[abbffUE6~6}a|b{bzdyfxfwfvfuftfsErbqbpcodnfmflfkfjfibhbgafdeddfcfbfaf`f_f^U]E\E[6ZaYbXbWcVdUfTfSfRfQ@PUOVNM-L@K@JAI@H@GAF~EDCBFAF@F?F>D=F<Y;Y:[9[8G7X6Z5[4[3,2G1U0W/W.X-Y,Y+Z*Z)[(['[&[%V$V#W"X!Y ZZ[[[[[]^_____]^___ _ ] ^ +_ ___]^____@bbcdbbbcddddbbcddddbbcddddghhhhghhhghhhh k 1 k l & & l + + + k l m k l m j i h g & 1 1 1@ 1 1 1 q r s t t t q q r s t t t t y z | } ~ ~ ~ ~ ~ ~ - ~ ~ y ~ k y ~ ~ y z | } ~ ~ ~ ~ ~ ~ k - +N +O +g + +%88UUUU}U~}U } }}K}{}}}@ +|UzU{zUyUwUxwUf@d=d<d;d:d9d8d7d6d5d4d3d2d1d0d/d.d-d,d+d*d)d(d'd&d%d$d#d"d!d ddddddddddddddddddd d d d +d dddddAddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddAdddddd~d}d|d{dzdydxdwdvdudtdsdrdqdpdodndmdldkdjdidhdgdfdedddcdbdad`d_d^d]d\d[dZdYdXdWdVdUdTdSdRdPdOdNdLdKdJdIdHdGdFdEdDdCd+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Y+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++sssssst++++++++++_^ +endstream +endobj +430 0 obj +<> +endobj +431 0 obj +<> +endobj +432 0 obj +<> +endobj +433 0 obj +3706 +endobj +434 0 obj +<>/K[435 0 R]>> +endobj +435 0 obj +<> +endobj +436 0 obj +<><><><><><><><>]>> +endobj +437 0 obj +<><><><><><><><><><><><><><><><>]>> +endobj +438 0 obj +<><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +439 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +440 0 obj +<><><><>]>> +endobj +441 0 obj +<><><><>]>> +endobj +442 0 obj +<><><><><><>]>> +endobj +443 0 obj +<>]>> +endobj +444 0 obj +<><><><><><>]>> +endobj +445 0 obj +<><><><><><><><><><><><><><><>]>> +endobj +446 0 obj +<><><><><><><><><><><><><><><><><><><><><>]>> +endobj +447 0 obj +<><><><>]>> +endobj +448 0 obj +<><><><>]>> +endobj +449 0 obj +<><><><><><><>]>> +endobj +450 0 obj +<><><><><><><>]>> +endobj +451 0 obj +<><><><><><>]>> +endobj +452 0 obj +<><><><><><><><><><><>]>> +endobj +453 0 obj +<><><><><><><>]>> +endobj +454 0 obj +<>]>> +endobj +455 0 obj +<><><><><><>]>> +endobj +456 0 obj +<><><><><><><><><><><><><><><><>]>> +endobj +457 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +458 0 obj +<><><><><><><><><><><><><><><><><><><><>]>> +endobj +459 0 obj +<>]>> +endobj +460 0 obj +<>]>> +endobj +461 0 obj +<><><><><><>]>> +endobj +462 0 obj +<><><><><><><>]>> +endobj +463 0 obj +<><><><><><><><><><>]>> +endobj +464 0 obj +<>]>> +endobj +465 0 obj +<><><><><><>]>> +endobj +466 0 obj +<><><><><><><><><><><><><><><><><><><><><>]>> +endobj +467 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +468 0 obj +<><><><><><><><>]>> +endobj +469 0 obj +<><><><><><><><><><><><><>]>> +endobj +470 0 obj +<>]>> +endobj +471 0 obj +<><><><>]>> +endobj +472 0 obj +<><><><><>]>> +endobj +473 0 obj +<><><><><><>]>> +endobj +474 0 obj +<><><><><>]>> +endobj +475 0 obj +<><><><><><><><><>]>> +endobj +476 0 obj +<>]>> +endobj +477 0 obj +<><><><>]>> +endobj +478 0 obj +<><><><><><><><>]>> +endobj +479 0 obj +<><><><><><><><><><><><><>]>> +endobj +480 0 obj +<><><><><><><>]>> +endobj +481 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +482 0 obj +<><><><><>]>> +endobj +483 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +484 0 obj +<><><><><>]>> +endobj +485 0 obj +<><><><><><><><><><><>]>> +endobj +486 0 obj +<>]>> +endobj +487 0 obj +<><>]>> +endobj +488 0 obj +<><><><><><><><>]>> +endobj +489 0 obj +<><><><>]>> +endobj +490 0 obj +<><><><><><><><><><><>]>> +endobj +491 0 obj +<><><><>]>> +endobj +492 0 obj +<><><><>]>> +endobj +493 0 obj +<>]>> +endobj +494 0 obj +<><><><><><>]>> +endobj +495 0 obj +<><><><><><><><><><><><>]>> +endobj +496 0 obj +<><><><><><><><>]>> +endobj +497 0 obj +<><><><><><>]>> +endobj +498 0 obj +<><><><><><>]>> +endobj +499 0 obj +<><><><><><><><><><><><>]>> +endobj +500 0 obj +<><><><><>]>> +endobj +501 0 obj +<>]>> +endobj +502 0 obj +<><><><><><>]>> +endobj +503 0 obj +<><><><><><><><><><><><><><><><><><><><><>]>> +endobj +504 0 obj +<><><><><><><><><><><><><><><>]>> +endobj +505 0 obj +<><><><><><><><><><><><><><>]>> +endobj +506 0 obj +<><><><><><><><><><><><><><><><><><><>]>> +endobj +507 0 obj +<><><><><><><><>]>> +endobj +508 0 obj +<>]>> +endobj +509 0 obj +<>]>> +endobj +510 0 obj +<><><><>]>> +endobj +511 0 obj +<><><><><><><><><><><><><><>]>> +endobj +512 0 obj +<>]>> +endobj +513 0 obj +<><><><>]>> +endobj +514 0 obj +<><><><><><><><><><>]>> +endobj +515 0 obj +<><><><><><><><><><>]>> +endobj +516 0 obj +<><><><><><><><><><><><><><>]>> +endobj +517 0 obj +<><><><><><><><><>]>> +endobj +518 0 obj +<><><><><><><><><><><><><><><>]>> +endobj +519 0 obj +<><><><><><><><><><><><>]>> +endobj +520 0 obj +<><><><><><><>]>> +endobj +521 0 obj +<>]>> +endobj +522 0 obj +<><>]>> +endobj +523 0 obj +<><><><>]>> +endobj +524 0 obj +<><><><><><><>]>> +endobj +525 0 obj +<><><><><><>]>> +endobj +526 0 obj +<><><><><><><><><><>]>> +endobj +527 0 obj +<><><><><><><><><><>]>> +endobj +528 0 obj +<><><><><><><><><><><><><><><><><><>]>> +endobj +529 0 obj +<><><><><><><><><>]>> +endobj +530 0 obj +<><><><><><><><>]>> +endobj +531 0 obj +<><><><><><><><><><>]>> +endobj +532 0 obj +<>]>> +endobj +533 0 obj +<><><><><>]>> +endobj +534 0 obj +<><><><><><><><><><><><>]>> +endobj +535 0 obj +<><><><><><><><>]>> +endobj +536 0 obj +<><><><><><><>]>> +endobj +537 0 obj +<>]>> +endobj +538 0 obj +<>]>> +endobj +539 0 obj +<>]>> +endobj +540 0 obj +<><><><><><><><><><><><><><><><>]>> +endobj +541 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +542 0 obj +<>]>> +endobj +543 0 obj +<><><><><><><>]>> +endobj +544 0 obj +<><><><><><><>]>> +endobj +545 0 obj +<><><><><><><><><>]>> +endobj +546 0 obj +<><><><><><><><><><>]>> +endobj +547 0 obj +<><><><><>]>> +endobj +548 0 obj +<>]>> +endobj +549 0 obj +<><><><><>]>> +endobj +550 0 obj +<><><><><><>]>> +endobj +551 0 obj +<><><><><><><><>]>> +endobj +552 0 obj +<><><><><><>]>> +endobj +553 0 obj +<>]>> +endobj +554 0 obj +<><><><>]>> +endobj +555 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +556 0 obj +<>]>> +endobj +557 0 obj +<><><><><><>]>> +endobj +558 0 obj +<><><><><><><><><><><><><><><><><><>]>> +endobj +559 0 obj +<><><><>]>> +endobj +560 0 obj +<><><><><><><><><><><><><><><><><><><><><><><><><><><>]>> +endobj +561 0 obj +<><><><><><><><><><><><><><><><><><><><>]>> +endobj +562 0 obj +<><><><><><><><><>]>> +endobj +563 0 obj +<> +endobj +564 0 obj +<> +endobj +565 0 obj +1996 +endobj +566 0 obj +8114 +endobj +567 0 obj +28164 +endobj +568 0 obj +28164 +endobj +569 0 obj +54484 +endobj +570 0 obj +54484 +endobj +571 0 obj +8652 +endobj +572 0 obj +8652 +endobj +573 0 obj +168216 +endobj +574 0 obj +168216 +endobj +575 0 obj +<>stream + + + + + + + +endstream +endobj +xref +0 576 +0000000000 65535 f +0000000018 00000 n +0000000192 00000 n +0000000315 00000 n +0000000407 00000 n +0000001638 00000 n +0000033233 00000 n +0000087786 00000 n +0000088201 00000 n +0000088399 00000 n +0000088541 00000 n +0000088997 00000 n +0000089196 00000 n +0000091245 00000 n +0000091292 00000 n +0000091339 00000 n +0000091386 00000 n +0000259673 00000 n +0000260209 00000 n +0000260388 00000 n +0000260435 00000 n +0000260565 00000 n +0000261267 00000 n +0000261446 00000 n +0000269613 00000 n +0000269660 00000 n +0000269707 00000 n +0000269754 00000 n +0000269801 00000 n +0000269848 00000 n +0000269895 00000 n +0000269942 00000 n +0000269989 00000 n +0000270036 00000 n +0000270083 00000 n +0000270130 00000 n +0000270177 00000 n +0000270224 00000 n +0000270271 00000 n +0000270318 00000 n +0000270365 00000 n +0000270412 00000 n +0000270459 00000 n +0000270506 00000 n +0000270553 00000 n +0000270600 00000 n +0000270647 00000 n +0000270694 00000 n +0000270741 00000 n +0000270788 00000 n +0000270835 00000 n +0000270882 00000 n +0000270929 00000 n +0000270976 00000 n +0000271023 00000 n +0000271070 00000 n +0000271117 00000 n +0000271164 00000 n +0000271211 00000 n +0000271258 00000 n +0000271305 00000 n +0000271352 00000 n +0000271399 00000 n +0000271446 00000 n +0000271493 00000 n +0000271540 00000 n +0000271587 00000 n +0000271634 00000 n +0000271681 00000 n +0000271728 00000 n +0000271775 00000 n +0000271822 00000 n +0000271869 00000 n +0000271916 00000 n +0000271963 00000 n +0000272010 00000 n +0000272057 00000 n +0000272104 00000 n +0000272151 00000 n +0000272198 00000 n +0000272245 00000 n +0000272292 00000 n +0000272833 00000 n +0000273017 00000 n +0000273064 00000 n +0000273111 00000 n +0000273158 00000 n +0000273205 00000 n +0000273252 00000 n +0000273299 00000 n +0000273346 00000 n +0000273393 00000 n +0000273440 00000 n +0000273487 00000 n +0000273534 00000 n +0000273581 00000 n +0000273628 00000 n +0000273675 00000 n +0000273722 00000 n +0000273769 00000 n +0000273816 00000 n +0000282538 00000 n +0000282893 00000 n +0000283086 00000 n +0000283134 00000 n +0000283158 00000 n +0000284385 00000 n +0000310153 00000 n +0000310201 00000 n +0000310249 00000 n +0000310297 00000 n +0000310345 00000 n +0000310393 00000 n +0000310441 00000 n +0000310489 00000 n +0000310537 00000 n +0000310585 00000 n +0000310633 00000 n +0000310681 00000 n +0000310729 00000 n +0000310777 00000 n +0000310825 00000 n +0000310873 00000 n +0000310921 00000 n +0000310969 00000 n +0000311017 00000 n +0000311065 00000 n +0000311113 00000 n +0000311161 00000 n +0000311209 00000 n +0000311257 00000 n +0000311305 00000 n +0000311353 00000 n +0000311401 00000 n +0000311449 00000 n +0000311497 00000 n +0000311545 00000 n +0000311593 00000 n +0000311641 00000 n +0000311689 00000 n +0000311737 00000 n +0000311785 00000 n +0000311833 00000 n +0000311881 00000 n +0000311929 00000 n +0000311977 00000 n +0000312025 00000 n +0000312073 00000 n +0000312121 00000 n +0000312169 00000 n +0000312217 00000 n +0000312265 00000 n +0000312313 00000 n +0000312361 00000 n +0000312409 00000 n +0000312457 00000 n +0000312505 00000 n +0000312553 00000 n +0000312601 00000 n +0000312649 00000 n +0000312697 00000 n +0000312745 00000 n +0000312793 00000 n +0000312841 00000 n +0000312889 00000 n +0000312937 00000 n +0000312985 00000 n +0000313033 00000 n +0000313081 00000 n +0000313129 00000 n +0000313177 00000 n +0000313225 00000 n +0000313273 00000 n +0000313321 00000 n +0000313369 00000 n +0000313417 00000 n +0000313465 00000 n +0000313489 00000 n +0000314946 00000 n +0000344766 00000 n +0000344814 00000 n +0000344862 00000 n +0000344910 00000 n +0000344958 00000 n +0000345006 00000 n +0000345054 00000 n +0000345102 00000 n +0000345150 00000 n +0000345198 00000 n +0000345246 00000 n +0000345294 00000 n +0000345342 00000 n +0000345390 00000 n +0000345438 00000 n +0000345486 00000 n +0000345534 00000 n +0000345582 00000 n +0000345630 00000 n +0000345678 00000 n +0000345726 00000 n +0000345774 00000 n +0000345822 00000 n +0000345870 00000 n +0000345918 00000 n +0000345966 00000 n +0000346014 00000 n +0000346062 00000 n +0000346110 00000 n +0000346158 00000 n +0000346206 00000 n +0000346254 00000 n +0000346302 00000 n +0000346350 00000 n +0000346398 00000 n +0000346446 00000 n +0000346494 00000 n +0000346542 00000 n +0000346590 00000 n +0000346638 00000 n +0000346686 00000 n +0000346734 00000 n +0000346782 00000 n +0000346830 00000 n +0000346878 00000 n +0000346926 00000 n +0000346974 00000 n +0000347022 00000 n +0000347070 00000 n +0000347118 00000 n +0000347166 00000 n +0000347214 00000 n +0000347262 00000 n +0000347310 00000 n +0000347358 00000 n +0000347406 00000 n +0000347454 00000 n +0000347502 00000 n +0000347550 00000 n +0000347598 00000 n +0000347646 00000 n +0000347694 00000 n +0000347742 00000 n +0000347790 00000 n +0000347838 00000 n +0000347886 00000 n +0000347934 00000 n +0000347982 00000 n +0000348030 00000 n +0000348078 00000 n +0000348126 00000 n +0000348174 00000 n +0000348222 00000 n +0000348270 00000 n +0000348318 00000 n +0000348366 00000 n +0000348414 00000 n +0000348462 00000 n +0000348510 00000 n +0000348558 00000 n +0000348606 00000 n +0000348654 00000 n +0000348702 00000 n +0000348750 00000 n +0000348798 00000 n +0000348822 00000 n +0000350251 00000 n +0000378996 00000 n +0000379044 00000 n +0000379092 00000 n +0000379140 00000 n +0000379188 00000 n +0000379236 00000 n +0000379284 00000 n +0000379332 00000 n +0000379380 00000 n +0000379428 00000 n +0000379476 00000 n +0000379524 00000 n +0000379572 00000 n +0000379620 00000 n +0000379668 00000 n +0000379716 00000 n +0000379764 00000 n +0000379812 00000 n +0000379860 00000 n +0000379908 00000 n +0000379956 00000 n +0000380004 00000 n +0000380052 00000 n +0000380100 00000 n +0000380148 00000 n +0000380196 00000 n +0000380244 00000 n +0000380292 00000 n +0000380340 00000 n +0000380388 00000 n +0000380436 00000 n +0000380484 00000 n +0000380532 00000 n +0000380580 00000 n +0000380628 00000 n +0000380676 00000 n +0000380724 00000 n +0000380772 00000 n +0000380820 00000 n +0000380868 00000 n +0000380916 00000 n +0000380964 00000 n +0000381012 00000 n +0000381060 00000 n +0000381108 00000 n +0000381156 00000 n +0000381204 00000 n +0000381252 00000 n +0000381300 00000 n +0000381348 00000 n +0000381396 00000 n +0000381444 00000 n +0000381492 00000 n +0000381540 00000 n +0000381588 00000 n +0000381636 00000 n +0000381684 00000 n +0000381732 00000 n +0000381780 00000 n +0000381828 00000 n +0000381876 00000 n +0000381924 00000 n +0000381972 00000 n +0000382020 00000 n +0000382068 00000 n +0000382116 00000 n +0000382164 00000 n +0000382212 00000 n +0000382260 00000 n +0000382308 00000 n +0000382356 00000 n +0000382404 00000 n +0000382452 00000 n +0000382500 00000 n +0000382548 00000 n +0000382596 00000 n +0000382644 00000 n +0000382692 00000 n +0000382740 00000 n +0000382788 00000 n +0000382836 00000 n +0000382884 00000 n +0000382932 00000 n +0000382956 00000 n +0000384230 00000 n +0000411508 00000 n +0000411556 00000 n +0000411604 00000 n +0000411652 00000 n +0000411700 00000 n +0000411748 00000 n +0000411796 00000 n +0000411844 00000 n +0000411892 00000 n +0000411940 00000 n +0000411988 00000 n +0000412036 00000 n +0000412084 00000 n +0000412132 00000 n +0000412180 00000 n +0000412228 00000 n +0000412276 00000 n +0000412324 00000 n +0000412372 00000 n +0000412420 00000 n +0000412468 00000 n +0000412516 00000 n +0000412564 00000 n +0000412612 00000 n +0000412660 00000 n +0000412708 00000 n +0000412756 00000 n +0000412804 00000 n +0000412852 00000 n +0000412900 00000 n +0000412948 00000 n +0000412996 00000 n +0000413044 00000 n +0000413092 00000 n +0000413140 00000 n +0000413188 00000 n +0000413236 00000 n +0000413284 00000 n +0000413332 00000 n +0000413380 00000 n +0000413428 00000 n +0000413476 00000 n +0000413524 00000 n +0000413572 00000 n +0000413620 00000 n +0000413668 00000 n +0000413716 00000 n +0000413764 00000 n +0000413812 00000 n +0000413860 00000 n +0000413908 00000 n +0000413956 00000 n +0000414004 00000 n +0000414052 00000 n +0000414100 00000 n +0000414148 00000 n +0000414196 00000 n +0000414244 00000 n +0000414292 00000 n +0000414340 00000 n +0000414388 00000 n +0000414436 00000 n +0000414484 00000 n +0000414532 00000 n +0000414580 00000 n +0000414628 00000 n +0000414676 00000 n +0000414724 00000 n +0000414772 00000 n +0000414820 00000 n +0000414868 00000 n +0000414916 00000 n +0000414964 00000 n +0000414988 00000 n +0000415299 00000 n +0000419059 00000 n +0000419107 00000 n +0000419155 00000 n +0000419203 00000 n +0000447438 00000 n +0000447665 00000 n +0000447850 00000 n +0000447898 00000 n +0000447921 00000 n +0000448069 00000 n +0000449152 00000 n +0000449442 00000 n +0000449977 00000 n +0000450724 00000 n +0000451501 00000 n +0000451678 00000 n +0000451855 00000 n +0000452092 00000 n +0000452179 00000 n +0000452417 00000 n +0000452931 00000 n +0000453639 00000 n +0000453820 00000 n +0000454001 00000 n +0000454275 00000 n +0000454549 00000 n +0000454792 00000 n +0000455190 00000 n +0000455464 00000 n +0000455552 00000 n +0000455795 00000 n +0000456348 00000 n +0000457180 00000 n +0000457857 00000 n +0000457946 00000 n +0000458035 00000 n +0000458279 00000 n +0000458556 00000 n +0000458933 00000 n +0000459023 00000 n +0000459273 00000 n +0000460002 00000 n +0000460891 00000 n +0000461205 00000 n +0000461678 00000 n +0000461768 00000 n +0000461957 00000 n +0000462179 00000 n +0000462434 00000 n +0000462656 00000 n +0000463010 00000 n +0000463101 00000 n +0000463291 00000 n +0000463612 00000 n +0000464098 00000 n +0000464386 00000 n +0000465289 00000 n +0000465502 00000 n +0000466391 00000 n +0000466608 00000 n +0000467017 00000 n +0000467107 00000 n +0000467229 00000 n +0000467542 00000 n +0000467727 00000 n +0000468136 00000 n +0000468321 00000 n +0000468506 00000 n +0000468596 00000 n +0000468846 00000 n +0000469293 00000 n +0000469614 00000 n +0000469869 00000 n +0000470124 00000 n +0000470577 00000 n +0000470799 00000 n +0000470890 00000 n +0000471146 00000 n +0000471896 00000 n +0000472448 00000 n +0000472967 00000 n +0000473651 00000 n +0000473972 00000 n +0000474063 00000 n +0000474154 00000 n +0000474336 00000 n +0000474835 00000 n +0000474925 00000 n +0000475111 00000 n +0000475488 00000 n +0000475865 00000 n +0000476370 00000 n +0000476715 00000 n +0000477252 00000 n +0000477693 00000 n +0000477974 00000 n +0000478064 00000 n +0000478187 00000 n +0000478377 00000 n +0000478665 00000 n +0000478920 00000 n +0000479307 00000 n +0000479694 00000 n +0000480345 00000 n +0000480699 00000 n +0000481020 00000 n +0000481407 00000 n +0000481497 00000 n +0000481720 00000 n +0000482173 00000 n +0000482494 00000 n +0000482782 00000 n +0000482873 00000 n +0000482962 00000 n +0000483051 00000 n +0000483613 00000 n +0000484438 00000 n +0000484528 00000 n +0000484810 00000 n +0000485091 00000 n +0000485436 00000 n +0000485813 00000 n +0000486030 00000 n +0000486120 00000 n +0000486338 00000 n +0000486587 00000 n +0000486901 00000 n +0000487156 00000 n +0000487247 00000 n +0000487437 00000 n +0000488451 00000 n +0000488541 00000 n +0000488797 00000 n +0000489448 00000 n +0000489638 00000 n +0000490586 00000 n +0000491273 00000 n +0000491618 00000 n +0000491671 00000 n +0000500505 00000 n +0000500528 00000 n +0000500551 00000 n +0000500575 00000 n +0000500599 00000 n +0000500623 00000 n +0000500647 00000 n +0000500670 00000 n +0000500693 00000 n +0000500718 00000 n +0000500743 00000 n +trailer +<<42302D44392D41412D31322D39442D43>]/Size 576>> +startxref +501059 +%%EOF diff --git a/logseq-java/assets/南京-软通动力-Java中级_1650621173980_4.pdf b/logseq-java/assets/南京-软通动力-Java中级_1650621173980_4.pdf new file mode 100644 index 0000000..35d21e1 Binary files /dev/null and b/logseq-java/assets/南京-软通动力-Java中级_1650621173980_4.pdf differ diff --git a/logseq-java/assets/南京-软通动力-Java中级_1650621249683_0.pdf b/logseq-java/assets/南京-软通动力-Java中级_1650621249683_0.pdf new file mode 100644 index 0000000..35d21e1 Binary files /dev/null and b/logseq-java/assets/南京-软通动力-Java中级_1650621249683_0.pdf differ diff --git a/logseq-java/assets/厦门-中软国际-Java中级_1650621173981_5.pdf b/logseq-java/assets/厦门-中软国际-Java中级_1650621173981_5.pdf new file mode 100644 index 0000000..0728083 Binary files /dev/null and b/logseq-java/assets/厦门-中软国际-Java中级_1650621173981_5.pdf differ diff --git a/logseq-java/assets/厦门-中软国际-Java中级_1650621252613_0.edn b/logseq-java/assets/厦门-中软国际-Java中级_1650621252613_0.edn new file mode 100644 index 0000000..11baae5 --- /dev/null +++ b/logseq-java/assets/厦门-中软国际-Java中级_1650621252613_0.edn @@ -0,0 +1 @@ +{:highlights []} \ No newline at end of file diff --git a/logseq-java/assets/厦门-中软国际-Java中级_1650621252613_0.pdf b/logseq-java/assets/厦门-中软国际-Java中级_1650621252613_0.pdf new file mode 100644 index 0000000..0728083 Binary files /dev/null and b/logseq-java/assets/厦门-中软国际-Java中级_1650621252613_0.pdf differ diff --git a/logseq-java/assets/广州-唯品会-Java大数据开发工程师_1650621173957_0.pdf b/logseq-java/assets/广州-唯品会-Java大数据开发工程师_1650621173957_0.pdf new file mode 100644 index 0000000..eac49f6 Binary files /dev/null and b/logseq-java/assets/广州-唯品会-Java大数据开发工程师_1650621173957_0.pdf differ diff --git a/logseq-java/assets/广州-唯品会-Java大数据开发工程师_1650621223110_0.pdf b/logseq-java/assets/广州-唯品会-Java大数据开发工程师_1650621223110_0.pdf new file mode 100644 index 0000000..eac49f6 Binary files /dev/null and b/logseq-java/assets/广州-唯品会-Java大数据开发工程师_1650621223110_0.pdf differ diff --git a/logseq-java/assets/杭州-蚂蚁金服-Java高级_1650621173978_2.pdf b/logseq-java/assets/杭州-蚂蚁金服-Java高级_1650621173978_2.pdf new file mode 100644 index 0000000..dbff351 Binary files /dev/null and b/logseq-java/assets/杭州-蚂蚁金服-Java高级_1650621173978_2.pdf differ diff --git a/logseq-java/assets/杭州-蚂蚁金服-Java高级_1650621243356_0.pdf b/logseq-java/assets/杭州-蚂蚁金服-Java高级_1650621243356_0.pdf new file mode 100644 index 0000000..dbff351 Binary files /dev/null and b/logseq-java/assets/杭州-蚂蚁金服-Java高级_1650621243356_0.pdf differ diff --git a/logseq-java/assets/杭州-蚂蚁金服-资深工程师_1650621173979_3.pdf b/logseq-java/assets/杭州-蚂蚁金服-资深工程师_1650621173979_3.pdf new file mode 100644 index 0000000..dbb3e2c Binary files /dev/null and b/logseq-java/assets/杭州-蚂蚁金服-资深工程师_1650621173979_3.pdf differ diff --git a/logseq-java/assets/杭州-蚂蚁金服-资深工程师_1650621246822_0.pdf b/logseq-java/assets/杭州-蚂蚁金服-资深工程师_1650621246822_0.pdf new file mode 100644 index 0000000..dbb3e2c Binary files /dev/null and b/logseq-java/assets/杭州-蚂蚁金服-资深工程师_1650621246822_0.pdf differ diff --git a/logseq-java/assets/杭州-阿里云-实习_1650621173976_1.pdf b/logseq-java/assets/杭州-阿里云-实习_1650621173976_1.pdf new file mode 100644 index 0000000..80c8ee2 Binary files /dev/null and b/logseq-java/assets/杭州-阿里云-实习_1650621173976_1.pdf differ diff --git a/logseq-java/assets/杭州-阿里云-实习_1650621239443_0.pdf b/logseq-java/assets/杭州-阿里云-实习_1650621239443_0.pdf new file mode 100644 index 0000000..80c8ee2 Binary files /dev/null and b/logseq-java/assets/杭州-阿里云-实习_1650621239443_0.pdf differ diff --git a/logseq-java/assets/深圳-OPPO-Java高级_1650621173984_8.pdf b/logseq-java/assets/深圳-OPPO-Java高级_1650621173984_8.pdf new file mode 100644 index 0000000..0084465 Binary files /dev/null and b/logseq-java/assets/深圳-OPPO-Java高级_1650621173984_8.pdf differ diff --git a/logseq-java/assets/深圳-OPPO-Java高级_1650621261753_0.pdf b/logseq-java/assets/深圳-OPPO-Java高级_1650621261753_0.pdf new file mode 100644 index 0000000..0084465 Binary files /dev/null and b/logseq-java/assets/深圳-OPPO-Java高级_1650621261753_0.pdf differ diff --git a/logseq-java/assets/深圳-中国平安-Java中级_1650621174001_15.pdf b/logseq-java/assets/深圳-中国平安-Java中级_1650621174001_15.pdf new file mode 100644 index 0000000..a93d64d Binary files /dev/null and b/logseq-java/assets/深圳-中国平安-Java中级_1650621174001_15.pdf differ diff --git a/logseq-java/assets/深圳-中国平安-Java中级_1650621281524_0.edn b/logseq-java/assets/深圳-中国平安-Java中级_1650621281524_0.edn new file mode 100644 index 0000000..11baae5 --- /dev/null +++ b/logseq-java/assets/深圳-中国平安-Java中级_1650621281524_0.edn @@ -0,0 +1 @@ +{:highlights []} \ No newline at end of file diff --git a/logseq-java/assets/深圳-中国平安-Java中级_1650621281524_0.pdf b/logseq-java/assets/深圳-中国平安-Java中级_1650621281524_0.pdf new file mode 100644 index 0000000..a93d64d Binary files /dev/null and b/logseq-java/assets/深圳-中国平安-Java中级_1650621281524_0.pdf differ diff --git a/logseq-java/assets/深圳-丰巢科技-Java高级_1650621173985_9.pdf b/logseq-java/assets/深圳-丰巢科技-Java高级_1650621173985_9.pdf new file mode 100644 index 0000000..ff92a92 Binary files /dev/null and b/logseq-java/assets/深圳-丰巢科技-Java高级_1650621173985_9.pdf differ diff --git a/logseq-java/assets/深圳-丰巢科技-Java高级_1650621264445_0.pdf b/logseq-java/assets/深圳-丰巢科技-Java高级_1650621264445_0.pdf new file mode 100644 index 0000000..ff92a92 Binary files /dev/null and b/logseq-java/assets/深圳-丰巢科技-Java高级_1650621264445_0.pdf differ diff --git a/logseq-java/assets/深圳-乐信-Java高级_1650621173986_10.pdf b/logseq-java/assets/深圳-乐信-Java高级_1650621173986_10.pdf new file mode 100644 index 0000000..eaedaa4 Binary files /dev/null and b/logseq-java/assets/深圳-乐信-Java高级_1650621173986_10.pdf differ diff --git a/logseq-java/assets/深圳-乐信-Java高级_1650621267215_0.pdf b/logseq-java/assets/深圳-乐信-Java高级_1650621267215_0.pdf new file mode 100644 index 0000000..eaedaa4 Binary files /dev/null and b/logseq-java/assets/深圳-乐信-Java高级_1650621267215_0.pdf differ diff --git a/logseq-java/assets/深圳-商汤科技-Java高级_1650621173995_12.pdf b/logseq-java/assets/深圳-商汤科技-Java高级_1650621173995_12.pdf new file mode 100644 index 0000000..68877c5 Binary files /dev/null and b/logseq-java/assets/深圳-商汤科技-Java高级_1650621173995_12.pdf differ diff --git a/logseq-java/assets/深圳-商汤科技-Java高级_1650621273205_0.pdf b/logseq-java/assets/深圳-商汤科技-Java高级_1650621273205_0.pdf new file mode 100644 index 0000000..68877c5 Binary files /dev/null and b/logseq-java/assets/深圳-商汤科技-Java高级_1650621273205_0.pdf differ diff --git a/logseq-java/assets/深圳-腾讯-Java高级_1650621174000_13.pdf b/logseq-java/assets/深圳-腾讯-Java高级_1650621174000_13.pdf new file mode 100644 index 0000000..fb72f0a Binary files /dev/null and b/logseq-java/assets/深圳-腾讯-Java高级_1650621174000_13.pdf differ diff --git a/logseq-java/assets/深圳-腾讯-Java高级_1650621276076_0.pdf b/logseq-java/assets/深圳-腾讯-Java高级_1650621276076_0.pdf new file mode 100644 index 0000000..fb72f0a Binary files /dev/null and b/logseq-java/assets/深圳-腾讯-Java高级_1650621276076_0.pdf differ diff --git a/logseq-java/assets/深圳-蚂蚁金服-Java高级_1650621173987_11.pdf b/logseq-java/assets/深圳-蚂蚁金服-Java高级_1650621173987_11.pdf new file mode 100644 index 0000000..4e4f579 Binary files /dev/null and b/logseq-java/assets/深圳-蚂蚁金服-Java高级_1650621173987_11.pdf differ diff --git a/logseq-java/assets/深圳-蚂蚁金服-Java高级_1650621270016_0.pdf b/logseq-java/assets/深圳-蚂蚁金服-Java高级_1650621270016_0.pdf new file mode 100644 index 0000000..4e4f579 Binary files /dev/null and b/logseq-java/assets/深圳-蚂蚁金服-Java高级_1650621270016_0.pdf differ diff --git a/logseq-java/assets/深圳-银盛支付-Java中级_1650621174001_14.pdf b/logseq-java/assets/深圳-银盛支付-Java中级_1650621174001_14.pdf new file mode 100644 index 0000000..df2050c Binary files /dev/null and b/logseq-java/assets/深圳-银盛支付-Java中级_1650621174001_14.pdf differ diff --git a/logseq-java/assets/深圳-银盛支付-Java中级_1650621278654_0.pdf b/logseq-java/assets/深圳-银盛支付-Java中级_1650621278654_0.pdf new file mode 100644 index 0000000..df2050c Binary files /dev/null and b/logseq-java/assets/深圳-银盛支付-Java中级_1650621278654_0.pdf differ diff --git a/logseq-java/assets/第1周周考题_1648879465967_0.doc b/logseq-java/assets/第1周周考题_1648879465967_0.doc new file mode 100644 index 0000000..616ad8c Binary files /dev/null and b/logseq-java/assets/第1周周考题_1648879465967_0.doc differ diff --git a/logseq-java/assets/第2周周考题_(1)_1650101190627_0.doc b/logseq-java/assets/第2周周考题_(1)_1650101190627_0.doc new file mode 100644 index 0000000..22fdf82 Binary files /dev/null and b/logseq-java/assets/第2周周考题_(1)_1650101190627_0.doc differ diff --git a/logseq-java/assets/第2周周考题_1650089024252_0.doc b/logseq-java/assets/第2周周考题_1650089024252_0.doc new file mode 100644 index 0000000..ffde211 Binary files /dev/null and b/logseq-java/assets/第2周周考题_1650089024252_0.doc differ diff --git a/logseq-java/assets/通用唯一识别码_1649925769559_0.edn b/logseq-java/assets/通用唯一识别码_1649925769559_0.edn new file mode 100644 index 0000000..11baae5 --- /dev/null +++ b/logseq-java/assets/通用唯一识别码_1649925769559_0.edn @@ -0,0 +1 @@ +{:highlights []} \ No newline at end of file diff --git a/logseq-java/assets/通用唯一识别码_1649925769559_0.pdf b/logseq-java/assets/通用唯一识别码_1649925769559_0.pdf new file mode 100644 index 0000000..4a58358 Binary files /dev/null and b/logseq-java/assets/通用唯一识别码_1649925769559_0.pdf differ diff --git a/logseq-java/assets/阿里巴巴_Java_开发手册_1648535351339_0.edn b/logseq-java/assets/阿里巴巴_Java_开发手册_1648535351339_0.edn new file mode 100644 index 0000000..11baae5 --- /dev/null +++ b/logseq-java/assets/阿里巴巴_Java_开发手册_1648535351339_0.edn @@ -0,0 +1 @@ +{:highlights []} \ No newline at end of file diff --git a/logseq-java/assets/阿里巴巴_Java_开发手册_1648535351339_0.pdf b/logseq-java/assets/阿里巴巴_Java_开发手册_1648535351339_0.pdf new file mode 100644 index 0000000..2f016a9 Binary files /dev/null and b/logseq-java/assets/阿里巴巴_Java_开发手册_1648535351339_0.pdf differ diff --git a/logseq-java/draws/2022-04-15-14-18-19.excalidraw b/logseq-java/draws/2022-04-15-14-18-19.excalidraw new file mode 100644 index 0000000..8b0c0c6 --- /dev/null +++ b/logseq-java/draws/2022-04-15-14-18-19.excalidraw @@ -0,0 +1,10 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "file://", + "elements": [], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + } +} \ No newline at end of file diff --git a/logseq-java/journals/2022_03_28.md b/logseq-java/journals/2022_03_28.md new file mode 100644 index 0000000..1eab4c9 --- /dev/null +++ b/logseq-java/journals/2022_03_28.md @@ -0,0 +1,47 @@ +- [[计算机基础理论]] +- [[DOS命令]] +- [[windows快捷键]] +- [[Java发展历程]] +- [[JDK环境搭建]] +- [[HelloWorld详解]] +- +- +- +- collapsed:: true + #+BEGIN_CAUTION + 学习模式 + #+END_CAUTION + - 学习阶段 + collapsed:: true + - 第一阶段 + - 重点:JavaSE 集合 数据库 Mybatis + - 个人项目 + - 第二阶段 + - 重点 SSM SpringBoot + - 个人项目 + - 第三阶段 + - 重点 Linux Redis ES全文检索引擎 前后端分离开发 + - 团队项目简历项目 + - 第四阶段 + - 重点 SpringCloud Alibaba RabbitMQ服务器 分布式事务 + - 团队项目简历项目 + - 上课模式 + collapsed:: true + - 不用PPT 笔记代码纯手打,画图现画 + - 上课时间 45min 休息10min + - 整理笔记 + collapsed:: true + - 一个知识点一个笔记 + - 每个笔记包含 + - 笔记名称(重要程度:低中高) + - 课程目标 + - 课程内容 + - 课程小结 + - 课程资料 + collapsed:: true + - 视频15min范围内 + - 20220328-01-知识点名称(一) + - 20220328-01-知识点名称(二) + - 20220328-01-知识点名称(三) + - [课程视频](https://www.woniuxy.com/book/) + - [预习资料](https://www.woniuxy.com/book/) \ No newline at end of file diff --git a/logseq-java/journals/2022_03_29.md b/logseq-java/journals/2022_03_29.md new file mode 100644 index 0000000..b80a2c6 --- /dev/null +++ b/logseq-java/journals/2022_03_29.md @@ -0,0 +1,85 @@ +- [[Java跨平台原理]] +- [[IDE集成开发环境]] +- [[基本数据类型]] +- [[标识符]] +- [[变量]] +- [[隐式转换]] +- +- +- +- +- +- +- ## 总结 + collapsed:: true + - 1. Java跨平台原理 + - Java程序运行在JVM虚拟机上,通过不同平台上的不同的JVM做到跨平台 + - 2. IDE集成开发工具 + - 常见工具 + - Eclipse,IDEA + - IDEA的下载安装 + - IDEA新建项目 + - Create-->Java--> Create project from template + Project name + Project location + - ((6243a9f6-b334-4daf-b1ec-b51335bba244)) + - com 公司 + gov 政府 + edu 教育 + org 开源 + - 公司组织名称 + - 项目名称 + - IDEA设置调整 + - 字体大小 + - 背景修改 + - 设置Eclipse快捷键 + - Eclipse快捷键 + - 3.标识符 + - 系统默认标识符,称为关键字 + - 共50个 + - goto const不常用 + true false null为保留关键字 + - 自定义标识符 + - 组成:数字,字母,_,$ + 不以数字开头,区分大小写 + 不能为关键字 + - 命名原则: + 类名使用大驼峰 + 方法名,变量名,参数名使用小驼峰 + 常量名单词大写,用_分割 + - 4. 变量 + - 3种注释 + - 单行 + ```java + //单行注释 + ``` + - 多行 + ```java + /* + *多行 + *注释 + */ + ```\ + - 文档 + ```java + /** + *文档 + *注释 + */ + ``` + - 变量是在一定范围内可以变化的量 + - 两种变量声明 + - 分类: + - 全局变量 + - 局部变量 + - 注意: + - 定义后必须赋初值 + - 同一方法内不能重复 + - 常量 + - 恒久不变的量 + - 5. 基本数据类型 + - |byte|short|int(默认整数)|long|float|double(默认浮点)|char|boolean| + - 6. 隐式转换 + - 小容量数据向大容量数据自动向上转换 + - 字符集 + - ASCII码 \ No newline at end of file diff --git a/logseq-java/journals/2022_03_30.md b/logseq-java/journals/2022_03_30.md new file mode 100644 index 0000000..989b7b0 --- /dev/null +++ b/logseq-java/journals/2022_03_30.md @@ -0,0 +1,58 @@ +- [[强制转换]] +- [[算术运算符]] +- [[关系运算符]] +- [[自增运算符]] +- [[复合赋值运算符]] +- [[进制转换]] +- +- +- +- +- +- 总结 + collapsed:: true + - 隐式转换 + - 小于int类型变量在计算式会自动提升为int类型 + - Java在计算数字时会自动检测值是否超出范围 + - 强制转换 + - 小容量类型装超出范围的变量时要用到强制转换 + - ```java + int a=200; + byte b = (byte) a; + ``` + - 强制转换讯在丢失精度,数据不准确的风险 + - double强制转换int可去掉小数点 + - 算数运算符 + - 共5个 + - * / % + - 参与运算表达式表示字符串拼接 + - 关系运算符 + - ((6243f2ea-e08c-4ec2-850d-3ecf6e67889a)) + - 关系运算符结果为布尔值 + - 键盘录入 + ```java + Scanner scanner = new Scanner(System.in); + System.out.println("请输入字符串:"); + String str = scanner.nextLine(); + + System.out.println("请输入整数:"); + int num = scanner.nextInt(); + ``` + - 自增运算符 + - i++和++i单独使用时效果一样 + - 嵌入至其它表达式中时: + i++ 要先用i的值计算,然后自己再+1 + ++i 要i自己先加1,然后在进行其它计算 + - i--和--i为自减运算符 + - 运算符优先级 + - 复合赋值运算符 + - 赋值运算符 = + 将 = 右边的值赋给左边的变量 + - 复合赋值运算符 + += -= *= /= %= <<= >>= >>>= + - num += 1 相当于num = num +1 + - 进制转换 + - 2进制,8进制,10进制,16进制 + - 10进制转2进制 + - 1byte有8个二进制位,从右到左位数变高,最左为符号位,0为正,1为负 + - 原码,反码,补码 + - 2进制转10进制 \ No newline at end of file diff --git a/logseq-java/journals/2022_03_31.md b/logseq-java/journals/2022_03_31.md new file mode 100644 index 0000000..7a3a447 --- /dev/null +++ b/logseq-java/journals/2022_03_31.md @@ -0,0 +1,98 @@ +- [[位运算符]] +- [[逻辑运算符]] +- [[IF判断]] +- [[嵌套判断]] +- [[switch]] +- [[while循环]] +- [[for循环]] +- [[do while 循环]] +- +- +- +- +- ## 总结 + collapsed:: true + - 位运算符 + - & | ^的两侧可以放置数值,也可以放布尔表达式 + - 按位与 & + - 按照二进制比较,同为1则为1,否则为0 + - 按位或 | + - 按照二进制比较,有1就是1,否则为0 + - 异或 ^ + - 按照二进制比较,01的结果为1,11和00都是0 + - 取反 ~ + - 将二进制0变成1,1变成0 + - 移位运算 + - << 表示将数字的二进制整体向左移动 + - \>> 表示将数字的二进制整体向右移动,原本符号不变 + - \>>> 表示将数字的二进制整体向右移动,不考虑符号 + - 逻辑运算符 + - 两侧只能放布尔表达式 + - 逻辑与 && + - 两个都为true式整个结果才是true + - 短路与,前面表达式为false时,后面表达式不会执行 + - 逻辑或 || + - 两个只要有true,整个结果就是true + - 短路与,前面表达式为true时,后面表达式不会执行 + - 逻辑非 ! + - 假变真,真变假 + - IF逻辑判断 + - Java代码执行顺序 + - 从上至下,从左至右 + - IF流程控制 + - 单分支 + - ```java + if(布尔表达式){ + //代码 + } + ``` + - 双分支 + - ```java + if(布尔表达式){ + //代码1 + }else{ + //代码2 + } + ``` + - 三目运算符 + - if双分支的简写 + - ```java + 数据类型 变量 = (布尔表达式)? 值1 : 值2; + ``` + - 多分支和嵌套 + - 当要判断的条件很多时,嵌套判断阅读维护性差 + - 多分支 + - ```java + if(布尔表达式1){ + //代码1 + }else if(布尔表达式2){ + //代码2 + }else if(布尔表达式3){ + //代码3 + }……{ + }else{ + //代码n + } + ``` + - switch + - switch与if区别在于switch判断的是几个固定的值 + - ```java + int num = 值; + switch(num){ + case 值1: + //代码1 + break; + case 值2: + //代码2 + break; + case 值3: + //代码3 + break; + …… + default: + //默认语句代码 + break; + } + ``` + - + - \ No newline at end of file diff --git a/logseq-java/journals/2022_04_01.md b/logseq-java/journals/2022_04_01.md new file mode 100644 index 0000000..e69de29 diff --git a/logseq-java/journals/2022_04_02.md b/logseq-java/journals/2022_04_02.md new file mode 100644 index 0000000..977ceb2 --- /dev/null +++ b/logseq-java/journals/2022_04_02.md @@ -0,0 +1 @@ +- [[周考1]] \ No newline at end of file diff --git a/logseq-java/journals/2022_04_04.md b/logseq-java/journals/2022_04_04.md new file mode 100644 index 0000000..0b52a7e --- /dev/null +++ b/logseq-java/journals/2022_04_04.md @@ -0,0 +1,15 @@ +- [[格式化输出]] +- [[数组排序]] +- [[多维数组]] +- [[方法]] +- [[继承]] +- +- +- +- +- +- +- +- +- +- \ No newline at end of file diff --git a/logseq-java/journals/2022_04_05.md b/logseq-java/journals/2022_04_05.md new file mode 100644 index 0000000..76763a5 --- /dev/null +++ b/logseq-java/journals/2022_04_05.md @@ -0,0 +1,6 @@ +- [[命令行参数]] +- [[方法]] +- [[继承]] +- [[静态方法]] +- [[jar]] +- [[模块]] \ No newline at end of file diff --git a/logseq-java/journals/2022_04_06.md b/logseq-java/journals/2022_04_06.md new file mode 100644 index 0000000..4c92a02 --- /dev/null +++ b/logseq-java/journals/2022_04_06.md @@ -0,0 +1,29 @@ +- [[面向对象]] +- [[类和对象的创建]] +- [[数组排序]] +- [[数组内存分析]] +- +- +- +- +- +- +- 总结 + collapsed:: true + - 数组的排序 + - 获取数组的最值 + - 定义最值为数组第一个,for循环遍历比较,使用中间变量交换最值 + - 查询数组中的元素 + - 数组反转 + - 交换元素中从头开始和从尾开始对应的元素 + - 冒泡排序 + - 两两比较,并交换位置 + - 选择排序 + - 通过比较确定最值的下标,并在比较结束后交换最值的位置 + - 数组内存分析 + - 数组内存 + - 数组为自定义变量,在栈中存储的是内存中的地址 + - 当给一个数组重新定义时,会改变栈中指向堆中的地址,原来的数据失去引用会被回收 + - 常见错误 + - 下标越界:下标超出程序中数组的下标范围 + - 空指针:数组没有具体存储空间 \ No newline at end of file diff --git a/logseq-java/journals/2022_04_07.md b/logseq-java/journals/2022_04_07.md new file mode 100644 index 0000000..e4a3e52 --- /dev/null +++ b/logseq-java/journals/2022_04_07.md @@ -0,0 +1,78 @@ +- [[传参]] +- [[调试]] +- [[方法重载]] +- [[面向对象的定义]] +- +- +- +- +- +- +- 总结 + collapsed:: true + - 参数的传参 + - 方法的定义 + - 主函数 + ```java + public static void main(String[] args){ + //主函数的代码 + } + ``` + - 定义方法 + ```java + 访问修饰符 static 返回类型 方法的方法名(参数列表){ + //方法的代码块 + } + ``` + - 参数列表:数据类型 参数名, 数据类型 参数名,数据类型 参数名…… + - 分类 + - 有参有返回 + - 有参无返回 + - 无参有返回 + - 无参无返回 + - 如果知道一个方法,需要传递什么参数? + - 方法在完成业务时,需要外部提供什么,就定义什么 + - 调试Debug + - F5 + - 进入断点方法内部 + - F6 + - 逐行执行代码,不进入方法内部 + - F7 + - 推出当前断电方法的内部 + - F8 + - 到达下一个断点 + - 方法的重载 + - 在同一个类中,相同的方法,不同的参数列表(参数的类型,参数的个数,参数的顺序)的方法 + - 面向对象 + - 面向过程 + - 强调完成事务的过程,注重的是步骤 + - 面向对象 + - 在合适的时间找合适的人或物干对应的事情 + - 万物皆对象 + - 万物皆对象,但对象因我的关注而存在 + - 类和对象 + - 类是对大量对象的一种抽象,归纳 + - 对象是类的一种具体实例 + - 需要抽象对象的东西 + - 属性 + - 一大帮对象拥有的共同值,强调Has,是对对象的一种静态描述 + - 行为 + - 一大帮对象能干什么事,强调Do,是对对象的一种动态描述 + - 创建类 + - ```java + 访问修饰符 class 类的类名{ + //属性 + 访问修饰符 数据类型 属性的名称; + //行为 + 访问修饰符 返回类型 方法的方法名称(参数列表){ + // 方法中的代码 + return 返回值; + } + } + ``` + - 创建对象 + - new + - ```java + 类名 对象名 = new 类() + ``` +- \ No newline at end of file diff --git a/logseq-java/journals/2022_04_08.md b/logseq-java/journals/2022_04_08.md new file mode 100644 index 0000000..bbf4cc0 --- /dev/null +++ b/logseq-java/journals/2022_04_08.md @@ -0,0 +1,90 @@ +- [[属性和行为]] +- [[对象的内存模型分析]] +- [[static]] +- [[访问修饰符]] +- [[this]] +- [[getter与setter]] +- +- +- +- +- 总结 + id:: 624faffe-39f4-4020-9f12-39a039a8a618 + collapsed:: true + - 属性和行为 + id:: 624fb005-9338-408d-9042-057369983bc9 + - 属性的使用 + id:: 624fb021-f3cc-4cc9-b8e9-7041e05ef903 + - 对象.属性 + id:: 624fb035-d5f0-45db-b52f-bab47d78d7aa + - 行为的使用 + id:: 624fb024-208d-48c5-8cfe-3032cee5f1d9 + - 对象.行为 + id:: 624fb041-6174-4622-9a10-498d2d7fd57d + - 对象的内存模型 + id:: 62512765-08f0-4106-a64a-b64e16d1f202 + - JVM内存分配 + id:: 62512770-0853-4244-ae3d-793aa9f81512 + - 栈 + id:: 6251277a-226a-44a2-85ee-bf9bb5db25e5 + - 用来存储方法的调用关系,以及方法内部的变量 + id:: 62512783-8b92-4702-8208-57139384662b + - 堆 + id:: 6251279d-e3c1-4454-805d-478eceaeecb7 + - 放置使用new关键字创建出来的对象,全局动态字符串常量池 + id:: 625127a9-c892-492e-afaf-2ca61f481311 + - 本地方法栈 + id:: 625127d6-fdcb-4f58-8b11-b43a0136d3a3 + - 放置跟操作系统进行交互的本地方法 + id:: 625127df-acc1-4ab2-a351-d78fe5ae4296 + - 程序计数器 + id:: 625127f3-4b2d-4351-ae12-9fcf6ae3db04 + - 放置代码的执行顺序 + id:: 625127fd-6e4c-4c95-bc1d-d009ecc27e2f + - 元空间 + id:: 62512807-ee93-4f57-88e6-43b03c7cca0b + - 放置类的类对象 + id:: 62512813-5158-4785-ae45-d7ecb4c0b13e + - 对象的内存模型 + id:: 62512820-ddbf-427c-bbbb-5df3124a61cc + - static关键字 + id:: 62512837-668a-423e-9a0c-5a8844cb1c27 + - 如果某个方法有写static,表示这个方法是一个静态方法,没有则是动态方法 + id:: 62512841-f8a7-4dfa-85ed-c314f65c66ba + - 如果一个方法不能和任何一个对象挂靠,那么这个方法就应该是个静态方法 + id:: 62512872-e7c9-491f-819e-61352e3ea925 + - 静态方法的使用 + id:: 6251289b-4037-4a04-b61c-335032ae043c + - 通过类名.静态方法调用,也称类方法 + id:: 625128a4-904e-4e79-8be4-6df24b009c7d + - 静态方法和非静态方法的调用 + id:: 625128b6-23e5-405c-8f00-8d4630226c2e + - 静态方法不能直接调用非静态方法,可以直接调用静态方法 + id:: 625128eb-7774-4247-9d74-3a9f117d2803 + - 非静态方法可以直接调用静态方法 + id:: 6251291d-2634-4cc7-880e-da2c02576d3f + - 访问修饰符 + id:: 6251293b-dde1-4786-9e7d-461977662314 + - ((624ff0b4-39b0-4eef-9c71-0990589ca29a)) + id:: 6251296b-d185-4cc4-938d-63955c0d0237 + - 封装 + id:: 62512971-334b-45d7-b0f9-735d5d0d2d6a + - 隐藏 private + id:: 62512993-3596-47c6-b503-b4e17f70d632 + - 包装 使用方法针对属性控制 + id:: 62512980-86af-43dc-983f-50a9a380b536 + - 变量的二义性 + id:: 625129b8-349c-4fef-bdfe-14e8a70e488b + - this + id:: 625129d9-78fa-47e5-880d-47eaa0c19b59 + - 谁在调用this 所在方法,这个this 就是谁 + id:: 625129dd-b45d-4a50-9bae-5ef2fb5bbdde + - getter和setter + id:: 625129e5-e317-48d6-b7f3-0acf62c247c1 + - Setter方法 : 专门用来修改对象的私有属性的值 + id:: 625129f1-475d-4d1b-b950-1392bd7c988a + - Getter 方法: 专门用来获得对象的私有属性的值 + id:: 625129fe-6918-4d7e-9211-d5620c7b7361 + - + - id:: 62512953-95f2-44c4-aef3-8feebcb9e676 + - id:: 62512943-6cf5-4c98-8c16-702d6edfb023 \ No newline at end of file diff --git a/logseq-java/journals/2022_04_11.md b/logseq-java/journals/2022_04_11.md new file mode 100644 index 0000000..2ffb924 --- /dev/null +++ b/logseq-java/journals/2022_04_11.md @@ -0,0 +1,69 @@ +- [[构造器]] +- [[JavaBean规范]] +- [[this()]] +- [[继承]] +- [[重写]] +- [[super关键字]] +- +- +- +- 总结 + collapsed:: true + - 构造器(构造方法) + - > 配合new关键字,创建类的实例 + - 编译器会自动在类中给每个类构造一个无参的方法 + - 该方法的方法名与类名一致 + - 该方法没有任何返回值,连void都没有 + - 构造器的作用 + - 配合new,创建类的实例 + - 无参构造器 + - 在堆空间中为对象申请空间,对象多大申请多大 + - 针对对象属性,在次划分空间 + - 针对对象属性进行初始化赋值,基本数据类型为0,引用数据类型为null + - 分类 + - 无参构造器:构造方法中没有参数 + - 有参构造器:构造方法中有参数 + - 作用:让对象在创建时候就初始化某些值 + - 执行步骤 + - 给对象在堆空间中,申请内存空间 + - 给对象的属性,分配对应的空间 + - 给对象的属性初始化赋值:基本数据类型为0,引用数据类型为null + - 执行构造器中剩余的代码,完成对象的属性赋初值 + - IDEA快捷生成构造器 + - Alt + Insert --> Constructor + - 写有参构造器之前一定要先写一个无参构造器 + - JavaBean规范 + - 业务对象:用来完成业务逻辑的对象 + - 实体对象(JavaBean):用来传输数据使用的对象,通常这种对象只有属性,没有行为 + - 规范 + - 类必须public公开 + - 所有属性必须私有,提供对应getter和setter方法 + - 如果提供有参构造器,必须先提供无参构造器 + - this() + - 代表本类的其它构造器 + - 继承 + - > 作用:抽取公共代码 + - 当一个子类继承另一个父类后,可以使用父类中的行为和属性 + - 使用extends完成父子之间的继承 + - 继承一定要满足is-a的关系 + - 不要为了继承而继承 + - 在继承中,使用new关键字产生一个子类对象时只创建了一个对象 + - 不能被继承 + - 父类私有的东西 + - 父类的构造器 + - 重写Override + - 父子之间,由子类去重新编写父类的方法 + - 注意 + - 子类不能重写父类的私有方法 + - 重写方法的返回值类型可以不一样,但是父类的返回类型范围要大于子类,且这两种类型存在继承关系 + - 注解 + - 作用 + - 解释代码 + - 与第三方达成一定的约定,完成一定的业务 + - 重写toString + id:: 62541250-f1f9-47b5-a565-b10caede7af5 + - super + - super. 父类的 + - super() 父类的构造器 + - this的范围大于super的范围 + - \ No newline at end of file diff --git a/logseq-java/journals/2022_04_12.md b/logseq-java/journals/2022_04_12.md new file mode 100644 index 0000000..3ed80dc --- /dev/null +++ b/logseq-java/journals/2022_04_12.md @@ -0,0 +1,83 @@ +- [[final]] +- [[抽象类]] +- [[接口]] +- [[多态]] +- +- +- +- 总结 + collapsed:: true + - final + - 最终的,最后的 + - 修饰类 + - 表示该类为最终类,不能被继承 + - 修饰方法 + - 表示该方法不能被子类重写 + - 修饰变量 + - 表示该量为一个常量 + - 抽象类 + - 具有抽象方法的类 + - 当某一方法没有具体的实现案例时,此方法为一个抽象方法 + - 不能被实例化,因为有方法不确定 + - 抽象类中的抽象方法在子类中重写去实现 + - 特点 + - 具有抽象方法的类,一定是个抽象类 + - 抽象类不一定具有抽象方法 + - 抽象类通过abstract定义,并且抽象方法一定要在子类中实现 + - 假如子类也实现不了这个方法,将子类也定义为抽象类 + - 抽象类无法实例化 + - 可放置的元素 + - 抽象方法 + - 非抽象方法 + - 成员属性 + - 构造器 + - 面试题 + - 抽象方法,可以定义成私有的不? + - 答:私有代表无法被重写,抽象方法是一定要子类重写! + - 抽象方法,可以定义为static的么? + - 答:static方法的调用方式:类名.方法名 意味着:这个方法一定有过实现;但是抽象方法实现了么? + - 抽象方法,可以定义为final的么? + - 答:final 定义在方法上,表示这个方法不能被重写;但是抽象方法一定需要子类重写! + - 接口 + - 也是一种抽象,比抽象类还要抽象 + - 作用:帮系统拓展新的功能 + - 使用 + - ```java + public interface 接口的接口名{ + //需要拓展的功能 + } + ``` + - ```java + 访问修饰符 class 类的类名 extends 父类 implements 接口{ + //原有及接口拓展的功能 + } + ``` + - 特点 + - 接口不能被实例化 + - 接口中抽象方法,默认为publlic abstract + - 接口中抽象方法,必须要通过类给与实现 + - 接口中的抽象方法,实现类可以变成抽象类,及可以实现接口中的方法 + - 类只能单继承,但是接口可以多实现 + - 类只能单继承,但是接口可以多继承 + - 多态 + - 多种形态 + - > 相同的行为,不同的实现 + - 静态多态 + - 重载 + - 动态多态 + - 根据传入的对象不一样,调用相同的行为,拥有不同的实现 + - 动态多态先决条件 + - 必须要继承,必须要有方法的重写 + - 父类的引用,可以指向子类的实现 + - 父类的引用,看不到子类独有的东西 + - 子类的引用,可以看到父类的东西,也可以看到自己独有的 + - 动态绑定技术 + - 父类的引用,指向不同子类的是实现,会自动调用对应子类的行为 + - 用处 + - 多态集合 + - ```java + Object[] objts = new Object[10]; + ``` + - 多态参数 + - 在一个方法中,将父类定为参数,调用的时候,传入对应子类的实现 + - 由于多态的特点,做到:传入不同的子类,调用相同的行为,可以做到不同的实现 \ No newline at end of file diff --git a/logseq-java/journals/2022_04_13.md b/logseq-java/journals/2022_04_13.md new file mode 100644 index 0000000..ed95ff1 --- /dev/null +++ b/logseq-java/journals/2022_04_13.md @@ -0,0 +1,84 @@ +- [[向上转型与向下转型]] +- [[面向对象的特征]] +- [[静态代码块]] +- [[实例代码块]] +- [[Object类常用API]] +- [[字符串概述]] +- +- +- 总结 + collapsed:: true + - 向上转型 + - 基本数据类型的向上转型 + - 隐式转换 + - 引用数据类型的向上转型 + - 只能发生在父子之间 + - 向下转型 + - 基本数据类型的向下转型 + - 显式转换 + - 引用数据类型的向上转型 + - instanceof关键字 + - 判断某一个对象是否是某一种类型的对象 + - 面向对象的特征 + - 封装 + - 继承 + - 抽象 + - 多态 + - 静态代码块 + - 执行在类加载期间,先加载父类,后加载子类 + - ```java + static{ + //执行的代码 + } + ``` + - 实例代码块 + - ```java + { + //执行的代码 + } + ``` + - Object类常用API + - API + - Application Programming Interface 应用编程接口 + - 目的: + - 简化程序员的开发 + - Object类 + - 是所有Java类的超类,基类,父类。所以所有的类,都拥有它的方法 + - toString + - 打印对象的内存地址 + - toString的重写 + - equals + - 比较2个对象,是否是同一个对象! + - == 在比较基本数据类型时,直接比较变量的值! + - == 在比较引用数据类型时,比较的是 地址值! + - equals的重写 + - finalize + - IDEA生成API文档 + - 字符串概述 + - 字符串 + - 将多个字符串到一起 + - String + - String类型的字符串:长度固定,内容固定 + - 字面量写法 + - 通过new关键创建对象 + - String常见方法 + - indexOf + - charAt + - concat + - contains + - equals + - equalsIgnoreCase + - startWith + - endWith + - getBytes + - toCharArry + - isEmpty + - trim + - split + - substring + - replace + - lastIndexOf + - toUpperCase + - toLowerCase + - valueOf + - intern \ No newline at end of file diff --git a/logseq-java/journals/2022_04_14.md b/logseq-java/journals/2022_04_14.md new file mode 100644 index 0000000..9579242 --- /dev/null +++ b/logseq-java/journals/2022_04_14.md @@ -0,0 +1,74 @@ +- [[StringBuilder]] +- [[StringBuffer]] +- [[Arrays]] +- [[System]] +- [[Runtime]] +- [[Math]] +- [[Random]] +- [[UUID]] +- [[BigDecimal]] +- +- +- 总结 + collapsed:: true + - StringBuilder + - 长度,内容可变的字符串 + - 常用API + - append + - insert + - capacity + - length + - setCharAt + - deleteCharAt + - delete + - reverse + - substring + - indexOf + - lastIndexOf + - StringBuffer + - 所有API及操作与StringBuilder一致 + - Arrays + - toString + - sort + - binarySearch + - copyOf + - equals + - System + - exit + - gc + - currentTimeMillis + - nanoTime + - arraycopy + - getProperties + - Runtime + - Math + - random + - abs + - pow + - max + - min + - round + - Random + - ```java + Random a = new Random(); + ``` + - 回溯历史 + - Random(long seed) + - {{embed [[UUID]]}} + - BigDecimal + - 解决浮点数精度丢失的问题 + - 使用字符串作为参数最精准 + - 加减乘除 + - add + - subtract + - multiply + - divide + - 除法除不尽 + - 收尾 + - ROUND_DOWN 去尾 + - 只保留小数点后指定位数 + - ROUND_UP 收尾 + - 保留小数点后指定位数,如果保留位的后一位不为零,保留位的值加1 + - ROUND_HALF_UP 四舍五入 + - 保留小数点后指定位数,如果保留位的后一位<5,保留位数的值不加1,保留位的后一位>=5,保留位数的值加1 + - \ No newline at end of file diff --git a/logseq-java/journals/2022_04_15.md b/logseq-java/journals/2022_04_15.md new file mode 100644 index 0000000..339d7d6 --- /dev/null +++ b/logseq-java/journals/2022_04_15.md @@ -0,0 +1,3 @@ +- [[包装类]] +- [[Date]] +- [[Calendar]] \ No newline at end of file diff --git a/logseq-java/journals/2022_04_16.md b/logseq-java/journals/2022_04_16.md new file mode 100644 index 0000000..ff169f7 --- /dev/null +++ b/logseq-java/journals/2022_04_16.md @@ -0,0 +1 @@ +- [[周考2]] \ No newline at end of file diff --git a/logseq-java/journals/2022_04_17.md b/logseq-java/journals/2022_04_17.md new file mode 100644 index 0000000..c03a48b --- /dev/null +++ b/logseq-java/journals/2022_04_17.md @@ -0,0 +1 @@ +- [[正则表达式]] \ No newline at end of file diff --git a/logseq-java/journals/2022_04_18.md b/logseq-java/journals/2022_04_18.md new file mode 100644 index 0000000..42b3f9e --- /dev/null +++ b/logseq-java/journals/2022_04_18.md @@ -0,0 +1,24 @@ +- [[JDK1.8日期API]] +- [[异常]] +- [[编译异常]] +- [[异常捕获]] +- [[异常抛出]] +- [[运行异常]] +- [[自定义异常]] +- [[集合]] +- [[ArrayList]] +- +- 总结 + collapsed:: true + - JDK1.8日期API + - LocalDate + - LocalTime + - LocalDateTime + - 异常概述 + - 编译时异常 + - 异常的捕获 + - 异常的抛出 + - 运行时异常 + - 自定义异常 + - 集合的概念 + - ArrayList \ No newline at end of file diff --git a/logseq-java/journals/2022_04_19.md b/logseq-java/journals/2022_04_19.md new file mode 100644 index 0000000..e0b8d58 --- /dev/null +++ b/logseq-java/journals/2022_04_19.md @@ -0,0 +1,76 @@ +- [[ArrayList]] +- [[迭代器]] +- [[泛型]] +- [[匿名内部类]] +- [[LinkedList]] +- [[Vector]] +- [[HashSet]] +- +- +- 总结 + collapsed:: true + - ArrayList + - API + - add() + - set() + - remove() + - contains() + - indexOf() + - isEmpty() + - clear() + - 遍历 + - for循环 + - 增强for循环 + - 迭代器遍历 + - 排序 + - Collections + - addAll + - sort + - 自然排序 + - 要求元素身上必须实现Comparable接口 + - 自定义排序 + - 自己定义比较器,完成排序规则 + - 底层结构 + - 迭代器 + - 源自于 “迭代器模式”,为了统一集合的遍历方式 + - Iterable接口的目的:为了让集合具备一定的遍历能力 + - Iterator接口的目的:为了让集合进行具体的遍历 + - 泛型 + - 问题:集合在遍历时,向下转型中抛出 类型转换错误的问题 + - 泛型:用来规范集合中元素类型 + - 格式:<数据类型> + - 泛型接口 + - 泛型类 + - 泛型擦除 + - 匿名内部类 + - 定义在某一个方法的内部 + - 类没有名字 + - 实例化和类的定义一起放置 + - 生命周期和方法同步 + - LinkedList + - 底层为链表结构 + - API与ArrayList一致 + - 区别 + - 底层结构ArrayList为数组,LinkedList为链表 + - ArrayList适用于查询,新增和删除节点时效率低 + - LinkedList适用于新增和删除节点,查询效率低 + - Vector + - 向量,List中一种非常古老的集合 + - API和底层结构与ArrayList一致 + - Vector的方法都加了synchronized关键字 + - HashSet + - 特点 + - 元素存储时可以有序和无序 + - 不允许重复元素 + - 没有下标 + - API + - add + - remove + - size + - 遍历 + - 增强for循环 + - 迭代器模式 + - forEach方法 + id:: 625f6ab3-c8c2-4a00-b127-284ce2e9c373 + - 排序 + - 借助ArrayList的功能排序 \ No newline at end of file diff --git a/logseq-java/journals/2022_04_20.md b/logseq-java/journals/2022_04_20.md new file mode 100644 index 0000000..8eebcbc --- /dev/null +++ b/logseq-java/journals/2022_04_20.md @@ -0,0 +1,102 @@ +- [[TreeSet]] +- [[HashMap]] +- [[TreeMap]] +- [[LinkedHashMap]] +- [[HashTable]] +- [[集合的交并差]] +- [[IO流]] +- [[字节流]] +- +- +- +- 总结 + collapsed:: true + - TreeSet + - 红黑二叉树 + - 所有节点要么红,要么黑 + - 根节点一定为黑 + - 红色节点的子节点,一定要为黑 + - 从任何一种末梢子节点开始到根节点的过程中一定要有相同个数的黑色节点树 + - {{embed ((625fe239-5548-4c66-ba66-f6fb1629b682))}} + - API方法与HashSet一致 + - 排序借助ArrayList实现 + - 去重 + - 不依靠hashcode 以及equals + - 依靠比较器Comparable + - 元素一定要实现Comparable接口 + - HashMap + - Map + - 基于Key-Vaalue的结构 + - 特点 + - Key不能重复 + - Value可以重复 + - 底层结构 + - JDK1.7之前:数组 + 链表 + - JDK1.7之后:数组 + 链表 + 红黑二叉树 + - API方法 + - put + - get + - replace + - delete + - deleteAll + - keySet + - values + - 去重 + - 依靠hashcode和equals + - Key一定要重写 hashcode ,equals 方法 + - 遍历 + - forEach + - 获得Key的集合 + - 通过Set集合获得每个元素 + - TreeMap + - 特点 + - Key去重,Value不去重 + - Key有序存储 + - 不能放null键,可以放null值 + - API与HashMap一致 + - 去重 + - 借助比较器Comparable + - Key元素身上一定要实现Comparable + - LinkedHashMap + - HashMap为单向的,LinkedHashMap为双向的,底层原理一致 + - API与HashMap一致 + - HashTable + - 方法上有添加synchronized关键字 + - 集合的交并差 + - 交集 + - retainAll + - 并集 + - removeAll-->addAll + - 差集 + - 利用第三个集合去除相加的部分后相加 + - IO流 + - Input + - 从程序外部将资源使用流的方式读取到程序内部 + - Out + - 从程序内部将资源使用流的方式输出到程序外部 + - 分类 + - 走向 + - 输入流 + - 输出流 + - 单位 + - 字节流 + - 字符流 + - 功能 + - 节点流 + - 功能流 + - 使用场景 + - 上传下载文件 + - 操作步骤 + - 创建流 + - 操作流 + - 关闭流 + - 字节流 + - 流操作的最小单位 + - 方向 + - 输入字节流InputStream + - 输出字节流OutputStream + - File类 + - mkdir + - exist + - isDirectory + - listFiles \ No newline at end of file diff --git a/logseq-java/journals/2022_04_21.md b/logseq-java/journals/2022_04_21.md new file mode 100644 index 0000000..f9191a6 --- /dev/null +++ b/logseq-java/journals/2022_04_21.md @@ -0,0 +1,43 @@ +- [[File]] +- [[字符流]] +- [[缓冲流]] +- [[Properties]] +- [[序列化]] +- +- +- 总结 + collapsed:: true + - 字节流 + - 特点 + - 可操作文本文件和二进制文件 + - File类 + - 代表文件或目录 + - 字节输入流FileInputStream + - 读取文件内容到程序内部 + - 字节输出流FileOutputStream + - 文件复制 + - 先读取,再写入 + - 文件输入流,文件输出流 + - 字符流 + - FileReader + - FileWrite + - 缓冲流 + - 功能流的一种 + - 特点 + - 不直接面对数据源,是节点流的一种功能封装 + - 字节缓冲流 + - BufferedInputStream + - BufferedOutputStream + - 字符缓冲流 + - BufferedReader + - BufferedWriter + - 流太多如何选择? + - 遇事不决,选字节流+缓冲流 + - Properties + - 属性,也是一种Map体系的集合 + - 使用 + - setProperties + - getProperties + - 项目的应用 + - 获取.properties文件中的属性 + - PropertierUtil \ No newline at end of file diff --git a/logseq-java/journals/2022_04_22.md b/logseq-java/journals/2022_04_22.md new file mode 100644 index 0000000..52b5d4b --- /dev/null +++ b/logseq-java/journals/2022_04_22.md @@ -0,0 +1,54 @@ +- [[其它功能流]] +- [[网络编程]] +- [[InetAddress]] +- [[URL]] +- [[TCP/IP]] +- [[Socket]] +- [[互联网企业面试题]] +- +- 总结 + collapsed:: true + - 其它功能流 + - PrintWriter + - PrintStream + - 网络编程 + - 程序和程序之间,电脑和电脑之后,可能需要网络进行通讯 + - 又被称为Socket套接字编程 + - 网络编程的3要素 + - IP地址 + - 网络端口 + - 通讯协议 + - 端口 + - 独立的进程,必须要开独立的端口 + - 而且相互之间,互不干扰 + - 端口取值范围:0 - 65535 + - OSI七层模型 + - InetAddress + - 代表 计算机的IP地址 + - getHostName + - getHostAddress + - URL + - Uniform Resource Location 统一资源定位符 + - URI : + - Uniform Resource Identifier 统一资源标识符 + - URL类 + - TCP/IP + - 计算机用于网络通讯的一种底层协议 + - 特点: + - 依赖连接 + - 数据在通讯的过程中,采用1问1答的模式 + - 3次握手的步骤 + - 客户端发起一个请求,申请建立连接 + - 服务端接收到请求,并返回数据包,告诉客户端: 我同意建立连接 + - 客户端再次发起请求,真实建立连接 + - 断开连接 + - 客户端发起 断开连接的请求 + - 服务端确认收到请求,并响应数据包,告诉客户端:我收到了,稍等我一下 + - 服务端清空客户端的所有消息,并再次响应数据包,告诉客户端:咱们真正断开吧 + - 客户端发送数据包,真正的断开连接 + - UDP协议 + - 相当于发短信,相当于邮寄信件,不需要建立连接 + - Socket + - 套接字,用于连接 上三层 和下三层 之间的一种传输技术 + - 给服务端传输信息 + - 服务端给客户端传输消息 \ No newline at end of file diff --git a/logseq-java/journals/2022_04_24.md b/logseq-java/journals/2022_04_24.md new file mode 100644 index 0000000..0878a4e --- /dev/null +++ b/logseq-java/journals/2022_04_24.md @@ -0,0 +1 @@ +- [[汽车租车系统]] \ No newline at end of file diff --git a/logseq-java/journals/2022_04_26.md b/logseq-java/journals/2022_04_26.md new file mode 100644 index 0000000..3c0ad3c --- /dev/null +++ b/logseq-java/journals/2022_04_26.md @@ -0,0 +1,5 @@ +- [[数据库]] +- [[MySQL]] +- [[数据库管理系统]] +- [[SQL]] +- \ No newline at end of file diff --git a/logseq-java/journals/2022_04_29.md b/logseq-java/journals/2022_04_29.md new file mode 100644 index 0000000..49769a9 --- /dev/null +++ b/logseq-java/journals/2022_04_29.md @@ -0,0 +1 @@ +- [[JDBC]] \ No newline at end of file diff --git a/logseq-java/journals/2022_05_10.md b/logseq-java/journals/2022_05_10.md new file mode 100644 index 0000000..c710ec9 --- /dev/null +++ b/logseq-java/journals/2022_05_10.md @@ -0,0 +1,11 @@ +- [[反射]] +- [[Class]] +- [[泛型]]的上下限 + collapsed:: true + - List类型为 Number及其父类 + - List类型为 Number及其子类 +- MySQL索引的数据结构? +- 聚集索引与非聚集索引的区别? +- MySQL索引的类型? +- 索引失效的场景? +- 解释一下回表、索引覆盖、最左匹配、索引下推。 \ No newline at end of file diff --git a/logseq-java/journals/2022_05_11.md b/logseq-java/journals/2022_05_11.md new file mode 100644 index 0000000..743f218 --- /dev/null +++ b/logseq-java/journals/2022_05_11.md @@ -0,0 +1,3 @@ +- [[XML]] +- [[MySQL]] + id:: 6512a7e5-fe06-4402-bc78-92dc913bf98b \ No newline at end of file diff --git a/logseq-java/journals/2022_05_12.md b/logseq-java/journals/2022_05_12.md new file mode 100644 index 0000000..8a4d622 --- /dev/null +++ b/logseq-java/journals/2022_05_12.md @@ -0,0 +1 @@ +- [[Mybatis]] \ No newline at end of file diff --git a/logseq-java/journals/2022_05_21.md b/logseq-java/journals/2022_05_21.md new file mode 100644 index 0000000..2db0703 --- /dev/null +++ b/logseq-java/journals/2022_05_21.md @@ -0,0 +1,3 @@ +- [[HTML]] +- [[元素]] +- [[属性]] \ No newline at end of file diff --git a/logseq-java/journals/2022_05_22.md b/logseq-java/journals/2022_05_22.md new file mode 100644 index 0000000..2828c98 --- /dev/null +++ b/logseq-java/journals/2022_05_22.md @@ -0,0 +1 @@ +- [[JavaScript]] \ No newline at end of file diff --git a/logseq-java/journals/2022_05_23.md b/logseq-java/journals/2022_05_23.md new file mode 100644 index 0000000..ca60680 --- /dev/null +++ b/logseq-java/journals/2022_05_23.md @@ -0,0 +1 @@ +- [[jQuery]] \ No newline at end of file diff --git a/logseq-java/journals/2022_06_18.md b/logseq-java/journals/2022_06_18.md new file mode 100644 index 0000000..1610eba --- /dev/null +++ b/logseq-java/journals/2022_06_18.md @@ -0,0 +1,2 @@ +- [[Spring]] +- [[Feishu+Logseq]] \ No newline at end of file diff --git a/logseq-java/journals/2022_07_05.md b/logseq-java/journals/2022_07_05.md new file mode 100644 index 0000000..f7189de --- /dev/null +++ b/logseq-java/journals/2022_07_05.md @@ -0,0 +1,2 @@ +- [[深圳蜗牛Java面试题]] +- [[Nginx服务器]] \ No newline at end of file diff --git a/logseq-java/journals/2022_07_06.md b/logseq-java/journals/2022_07_06.md new file mode 100644 index 0000000..aa0b295 --- /dev/null +++ b/logseq-java/journals/2022_07_06.md @@ -0,0 +1,2 @@ +- [[Redis]] +- [[Linux]] \ No newline at end of file diff --git a/logseq-java/journals/2022_07_07.md b/logseq-java/journals/2022_07_07.md new file mode 100644 index 0000000..aed827e --- /dev/null +++ b/logseq-java/journals/2022_07_07.md @@ -0,0 +1,10 @@ +- [[乐观锁]] +- [[事务在什么情况下会失效]] #DOING +- Mysql四种常见的[[数据库引擎]] + - [[InnoDB]] + - [[MyISAM]] + - [[MEMORY]] + - [[Archive]] +- [[@Resource和@Autowired的区别]] +- [[Collection 和 Collections 有什么区别]] +- \ No newline at end of file diff --git a/logseq-java/journals/2022_07_08.md b/logseq-java/journals/2022_07_08.md new file mode 100644 index 0000000..2932775 --- /dev/null +++ b/logseq-java/journals/2022_07_08.md @@ -0,0 +1,2 @@ +- [[Redis主从复制]] +- [[Redis哨兵模式]] \ No newline at end of file diff --git a/logseq-java/journals/2022_07_09.md b/logseq-java/journals/2022_07_09.md new file mode 100644 index 0000000..0f87f41 --- /dev/null +++ b/logseq-java/journals/2022_07_09.md @@ -0,0 +1,10 @@ +- [[多线程]] +- [[多线程的创建]] +- [[线程状态]] +- [[线程安全]] +- [[synchronized]] +- [[线程同步]] +- [[生产者消费模式]] +- [[定时器]] +- [[死锁]] +- [[守护线程]] \ No newline at end of file diff --git a/logseq-java/journals/2022_07_11.md b/logseq-java/journals/2022_07_11.md new file mode 100644 index 0000000..ae457c7 --- /dev/null +++ b/logseq-java/journals/2022_07_11.md @@ -0,0 +1,7 @@ +- [[全文检索引擎]] +- [[ElasticSearch]] +- [[Kibana]] +- [[Spring Data JPA]] +- [[七大设计原则]] +- [[设计模式]] +- [[GOF32]] \ No newline at end of file diff --git a/logseq-java/journals/2022_07_12.md b/logseq-java/journals/2022_07_12.md new file mode 100644 index 0000000..be70727 --- /dev/null +++ b/logseq-java/journals/2022_07_12.md @@ -0,0 +1,6 @@ +- [[ElasticSearch条件查询]] +- [[ElasticSearch分页]] +- [[反射]] +- [[重写和重载的区别在哪里]] +- [[GC]] +- [[同步函数]] \ No newline at end of file diff --git a/logseq-java/journals/2022_07_13.md b/logseq-java/journals/2022_07_13.md new file mode 100644 index 0000000..6b1397d --- /dev/null +++ b/logseq-java/journals/2022_07_13.md @@ -0,0 +1,2 @@ +- [[Spring调用外部接口]] +- [[Swagger]] \ No newline at end of file diff --git a/logseq-java/journals/2022_07_14.md b/logseq-java/journals/2022_07_14.md new file mode 100644 index 0000000..21f9f07 --- /dev/null +++ b/logseq-java/journals/2022_07_14.md @@ -0,0 +1,4 @@ +- [[组件化开发]] +- [[Vue]] +- [[Vue-Cli]] +- [[跨域]] \ No newline at end of file diff --git a/logseq-java/journals/2022_07_18.md b/logseq-java/journals/2022_07_18.md new file mode 100644 index 0000000..426b7c8 --- /dev/null +++ b/logseq-java/journals/2022_07_18.md @@ -0,0 +1,2 @@ +- [[Vue-Router]] +- [[JWT]] \ No newline at end of file diff --git a/logseq-java/journals/2022_07_19.md b/logseq-java/journals/2022_07_19.md new file mode 100644 index 0000000..a7b027a --- /dev/null +++ b/logseq-java/journals/2022_07_19.md @@ -0,0 +1,7 @@ +- [[Swagger]] +- [[PowerDesigner]] +- [[禅道]] +- [[迭代增量式开发]] +- [[瀑布模型]] +- [[计划驱动]] +- [[敏捷开发]] \ No newline at end of file diff --git a/logseq-java/journals/2022_07_20.md b/logseq-java/journals/2022_07_20.md new file mode 100644 index 0000000..b42fe6a --- /dev/null +++ b/logseq-java/journals/2022_07_20.md @@ -0,0 +1 @@ +- [[工业园区智慧管理系统]] \ No newline at end of file diff --git a/logseq-java/journals/2022_07_21.md b/logseq-java/journals/2022_07_21.md new file mode 100644 index 0000000..3511996 --- /dev/null +++ b/logseq-java/journals/2022_07_21.md @@ -0,0 +1,3 @@ +- [[SpringMVC框架的工作流程]] +- [[Servlet的生命周期]] +- [[重定向和请求转发的区别是什么]] \ No newline at end of file diff --git a/logseq-java/journals/2022_08_05.md b/logseq-java/journals/2022_08_05.md new file mode 100644 index 0000000..bd72482 --- /dev/null +++ b/logseq-java/journals/2022_08_05.md @@ -0,0 +1 @@ +- [[产品需求文档]] \ No newline at end of file diff --git a/logseq-java/journals/2022_08_08.md b/logseq-java/journals/2022_08_08.md new file mode 100644 index 0000000..132c525 --- /dev/null +++ b/logseq-java/journals/2022_08_08.md @@ -0,0 +1,2 @@ +- [[Spring Cloud]] +- [[Ribbon]] \ No newline at end of file diff --git a/logseq-java/journals/2022_08_23.md b/logseq-java/journals/2022_08_23.md new file mode 100644 index 0000000..eb32384 --- /dev/null +++ b/logseq-java/journals/2022_08_23.md @@ -0,0 +1 @@ +- [[RabbitMQ]] \ No newline at end of file diff --git a/logseq-java/journals/2022_09_13.md b/logseq-java/journals/2022_09_13.md new file mode 100644 index 0000000..5e9874c --- /dev/null +++ b/logseq-java/journals/2022_09_13.md @@ -0,0 +1,173 @@ +- 索引的概念 + - 用于提高查找速度的一种数据结构 +- 为什么要用B+树,B-树和B+树区别,为什么不用红黑树 + - Hash表结构存储数据 + - 通过key的hash计算得到存储下表 + - Hash只能进行等值查询,切换速度非常快,但是无法用于范围查询 + - 二叉查找树 + - 左边小,右边大,自身带排序 + - 二分查找 + - 极端情况 + - 根节点的选取,如果选取不好就会不平衡 + - 出现某一个方向子树过长 + - 平衡二叉树 + - 改善二叉树极端情况 + - 降低IO次数,每走一个节点进行一次IO + - 数的高度过高,IO性能下降 + - B树 + - 存放指针及数据,保存了排序功能 + - 指定阶数M,一个节点包含的子节点最大数量M越大,高度越低 + - 范围查询大的时候需要返回根节点再次便利 + - 存储了data信息,记录增多的时候树的高度会变高 + - B+树 + - 数据全部存在子节点中,非子节点只存储键值和指针 + - 子节点之间添加链表结构,解决范围查询时需要返回根节点 + - 范围查询效率提高很多,单个查询比B+树提高不大 +- 那些情况适合建立索引,那些不适合建立索引 + - 频繁使用where + - 分组字段,分组的前提为排序 + - 统计字段 + - 加了索引不需要产生中间表去重 + - 频繁更新字段 + - 数据单一固定 + - 数据量大(数据类型text) + - where条件不怎么用的 +- 索引分类,最左前缀,聚簇索引 + - 主键索引 + - 唯一索引(一级索引) + - 普通索引(二级索引) + - 联合索引(需要符合最左前缀原则) + - 最左前缀 + - 第一个值为从小到大排序,第二个不是 + - 第一个值确定的情况下,第二个值是有序的 + - 从最左边开始连续的索引都可以匹配上,直到遇到范围查询,> < between + - 已经排序好的字段是会生效的, + - a=1 and b>1 ab都会生效 + - a>1 and b=1 b索引会失效,a>1 时b为无序的 + - MyISAM和InnoDB数据结构 + - MYD数据 MYI索引 + - ibd数据和索引,读一个文件速度更快 + - 聚簇索引 + - 根据主键索引可以直接拿到数据,索引和数据放在一起 + - InnoDB + - 定义主键为聚簇索引 + - 未定义索引,选择第一个部位null唯一索引 + - 以上都没用,使用一个6字节长整型的隐式字段ROWID字段构建聚簇索引,该RPWID字段会在插入新行时自动递增 + - 非聚簇索引(辅助索引) + - 除聚簇索引外 + - 只存储主键ID + - 查询可能需要回表,通过辅助索引查询得到ID去主键索引中查找 + - MyISAM中通过主键查询得到数据在硬盘中的地址,再根据该地址去磁盘中寻找 + - 主键索引唯一,辅助索引可能等值也会查询出多个数据 + - 索引覆盖 + - 通过辅助索引可以获得全部数据,不需要回表 + - 索引失效 + - select * + - %左边 + - 未最左匹配 + - 数据库认为不要 + - 计算 + - or + - != > < + - 优化 + - 辅助索引覆盖 + - 自增主键ID + - 避免select * + - 少用子查询,能使用外连接就外连接,避免笛卡尔积 + - 使用短索引,非叶子节点存储更多索引降低树的高度 + - 为什么推荐使用自增主键作为索引 + - 页分裂 + - 降低复杂度 +- List集合 + - 结合源码,回答核心流程,夹带关键字 + - ArrayList + - 如何扩容,大小如何自动增加 + - 1. 初始化,未给定长度,默认调用午餐构造器 + - elementdata 常量数组为空 + - new之后数组长度为0 + - 2. 添加第一个元素 + - 计算容量,比较长度后返回初始化长度为10 + - 3. 数组扩容 + - grow方法增加长度 + - 新容量为老容量加上老容量右移以为,即1.5倍 + - 掉用复制数组的方法 + - 复制某个ArrayList到另一个里面去 + - clong,addAll,copy,stream流 + - 重写Clone方法 + - 浅复制 + - 返回一个一样的ArrayList,其中一个改变了元素,另一个也会改变 + - 两个集合中存储同一份元素引用 + - 深复制 + - 重写clone方法,使用迭代器便利,重新创建引用对象,逐个添加 + - 索引中ArrayList增加或删除某个元素的运行过程,效率很低吗 + - 效率很低,添加或删除某个元素都需要对数组中的元素进行移位,需要不断进行ArrayCopy很浪费时间 + - 添加,后面元素都后移一位,再添加 + - 删除,后面元素都前移一位覆盖 + - 很大的数组需要拷贝,如何快速拷贝 + - 创建时就指定数组的大小 + - 获得线程安全的ArrayList + - synchorizoned关键字 + - LinkedList和ArrayList如何选择 + - ArrayList底层为数组,查询效率高,增删效率低 + - LinkedList底层为链表,查询效率低,增删效率高 + - Vector + - 扩容为2倍,线程安全 +- Set + - HashSet + - 无序,去重,非线程安全 + - new新建HashMap + - 底层通过HashMap的key值实现的,值为常量PRESENT(一个空的Object对象) + - put调用setValue方法 + - 添加时为什么要给个value为PRESENT常量 + - PRESENT决定返回oldValue还是null判断是否已经存在 + - HashSet remove方法比较PRESENT + - HashMap的删除方法成功会返回value,失败返回null,通过返回判断是否删除 + - 去重原理 + - hashcode和equals方法 + - 先判断hash值,再通过==和wquals判断,返回true则为重复元素 + - HashSet和TreeSet + - 无序HashSet,有序TreeSet + - 如何得到一个线程安全的Set集合 + - Collections.synchorizeonedSet() +- HashMap的底层结构 + - jdk1.7 数组+单向链表 + - jdk1.8 数组+链表(单向/双向)+红黑树 + - 内部定义静态Node类 + - Node + - TreeNode有TreeNode left,TreeNode right继承LinkedHashMap.Entry继承HashMap.Node + - 如何解决Hash碰撞 + - 存放元素需要通过Hash计算来得到Hash值,Hash值为元素要存放的位置,当两个不同元素经过Hash计算得到的Hash值相同,两个元素要存放在同一个位置,产生冲突 + - HashMap的put方法 + - 初始化table数组长度为16,第一次添加table为null,通过resize()方法,给新容量16,阈值16*0.75 + - threadhold,扩容因子0.75 + - 何时从单链表转化为红黑树 + - 常量TREEIFY_THREADHOLD = 8 通过treeify()方法重组为红黑二叉树 + - 扩容方法 + - 通过resize方法扩容,判断是否达到阈值,达到就扩容为原来的两倍 + - 数组长度小于临界值MIN_TREEIFY_64或等于null时 + - 何时扩容 + - 转红黑树时要判断,转换时需要搬运元素,第一个元素要扩容 + - 添加一个元素后 + - HashMap设置长度为11,那么数组容量为多少 + - tbaleSizeFor()方法重组 + - hash计算更加平均,与数组长度值有关 + - 设置为大于我们自定义的值的第一个2的幂次方的值,设置为11长度为16 + - HashMap何时从红黑树转化为单链表模式 + - 扩容时需要搬运数据,如果红黑二叉树不需要转化条件就会转化为链表 + - resize()方法转移红黑二叉树时会调用splite()方法 + - lohead,hihead,分割时会产生高位树和低位树,小于等于6时调用untreeify方法退回链表结构 + - 多线程并发使用时,容易造成死循环/死锁 + - 非线程安全 + - jdk1.7头插法,jdk1.8尾插法 + - ConcurrentHashMap + - 线程安全的集合 + - ConcurrentHashMap在jdk1.7和1.8的区别 + - jdk1.7 Segment段数组+Entry数组+单链表 + - Segment继承ReenTrantLock类,每一个segment相当于一个锁,这就是分段锁 + - 当其它线程进行put操作时,发现锁资源被占用时回去进行节点创建避免线程空闲,这种思想也叫**预创建** + - segment长度固定为16,HashEntry可以扩容 + - jdk1.8 和HashMap结构一样 + - CAS + setCtl + - 如何保证线程安全 + - key和value不支持null的原因 + - 二义性 \ No newline at end of file diff --git a/logseq-java/journals/2022_09_14(1).md b/logseq-java/journals/2022_09_14(1).md new file mode 100644 index 0000000..f8df42b --- /dev/null +++ b/logseq-java/journals/2022_09_14(1).md @@ -0,0 +1,7 @@ +- 简历 + - 所做的部分 + - 技术方案 + - 业务亮点 + - 描述5行左右 + - 项目职责,5-6条,不写登录,注册,crud,不写业务逻辑,写负责完成那些业务 + - 在 \ No newline at end of file diff --git a/logseq-java/journals/2022_09_14.md b/logseq-java/journals/2022_09_14.md new file mode 100644 index 0000000..30d9665 --- /dev/null +++ b/logseq-java/journals/2022_09_14.md @@ -0,0 +1,7 @@ +- 简历 + - 所做的部分 + - 技术方案 + - 业务亮点 + - 描述5行左右 + - 项目职责,5-6条,不写登录,注册,crud,不写业务逻辑,写负责完成那些业务 + - 人技能,写一行 \ No newline at end of file diff --git a/logseq-java/journals/2022_09_17(1).md b/logseq-java/journals/2022_09_17(1).md new file mode 100644 index 0000000..c73e775 --- /dev/null +++ b/logseq-java/journals/2022_09_17(1).md @@ -0,0 +1,2 @@ +- 面试 + - \ No newline at end of file diff --git a/logseq-java/journals/2022_09_17.md b/logseq-java/journals/2022_09_17.md new file mode 100644 index 0000000..a3728a4 --- /dev/null +++ b/logseq-java/journals/2022_09_17.md @@ -0,0 +1,2 @@ +- 面试 + - 面试准备 \ No newline at end of file diff --git a/logseq-java/journals/2022_09_18.md b/logseq-java/journals/2022_09_18.md new file mode 100644 index 0000000..92dcda4 --- /dev/null +++ b/logseq-java/journals/2022_09_18.md @@ -0,0 +1 @@ +- [两年Java的面试经验 - Yrion - 博客园 (cnblogs.com)](https://www.cnblogs.com/wyq178/p/8840944.html) \ No newline at end of file diff --git a/logseq-java/journals/2023_09_15.md b/logseq-java/journals/2023_09_15.md new file mode 100644 index 0000000..e8236be --- /dev/null +++ b/logseq-java/journals/2023_09_15.md @@ -0,0 +1,14 @@ +- [[Java并发编程基础面试题]] +- [[JVM面试题]] +- [[Java 基础面试题]] +- [[Mysql数据库面试题]] +- [[Spring Cloud面试题]] +- [[Spring Boot面试题]] +- [[Spring 面试题]] +- [[Mybatis 面试题]] +- [[网络相关面试题]] +- [[Redis面试题]] +- [[Zookeeper面试题]] +- [[分布式消息队列面试题]] +- [[一线大厂场景问题详解]] +- [[常见算法面试题]] \ No newline at end of file diff --git a/logseq-java/journals/2023_09_26.md b/logseq-java/journals/2023_09_26.md new file mode 100644 index 0000000..f65f1a1 --- /dev/null +++ b/logseq-java/journals/2023_09_26.md @@ -0,0 +1,68 @@ +- DONE Spring + :LOGBOOK: + CLOCK: [2023-10-07 Sat 13:05:14]--[2023-10-08 Sun 18:00:35] => 28:55:21 + :END: + - https://www.bilibili.com/video/BV1rb4y147F2 + - [[Spring是如何创建一个bean对象的]] + - [[Spring源码]] + - 微服务SpringCloud + - 什么是单例池,作用是什么 + - Bean和普通对象之间的区别是什么 + - @PostConstruct注解是如何工作的 + - Bean的初始化是如何工作的 + - Bean的初始化和实例化的区别是什么 + - 什么是初始化后 + - 推断构造方法是什么意思 + - 什么是先bytype再byname + - Spring Aop底层是怎么工作的 + - Spring事务底层是怎么工作的 + - [[@Configuration注解的作用是什么]] + - [[Spring为什么要用三级缓存来解决循环依赖]] + - [[@Async为什么会导致循环依赖解决不了]] + - [[构造方法和多例导致的循环依赖]] + - [[SpringMVC处理请求底层原理流程]] + - SpringMVC容器创建源码分析 + - [[SpringMVC父子容器原理分析]] + - [[SpringMVC父子容器源码分析]] + - SpringMVC的零配置 + - [[手写代码模拟SpringBoot]] + - [[Springboot如何选择TomCAT还是Jett底层]] + - [[@ConditionOnClass注解底层原理]] + - [[SpringBoot零配置底层原理实现]] + - Spring是什么 + - [[Spring的事务传播机制]] + - [[Spring框架中Bean的创建过程]] + - [[Spring中的Bean是线程安全的吗]] + - Spring中的单例Bean是线程安全的吗 + - [[Spring框架中使用了哪些设计模式及应用场景]] + - [[Spring容器启动流程是怎样的]] + - [[Spring如何处理事务]] + - Spring如何处理循环依赖问题 + - Spring事务的实现原理及隔离级别 + - [[Spring事务什么时候会失效]] + - Spring用到了哪些设计模式 + - Spring支持的Bane的作用域 + - Spring中Bean是线程安全的吗 + - Spring中的Bean创建的声明周期有哪些步骤 + - [[Spring中的事务是如何实现的]] + - Spring中什么时候@Transactional会失效 + - Spring中后置处理器的作用 + - [[如何实现AOP,项目哪些地方用到了AOP]] + - [[说说常用的SpringBoot注解,及其实现]] + - [[还读过哪些框架源码,介绍一下你还熟悉的]] + - 介绍一下Spring,读过源码介绍一下大致流程 + - 什么时候@Transactional失效 + - 说一下Spring的事务机制 + - [[对AOP的理解]] + - [[对IOC的理解]] + - 简述Spring bean的生命周期 + - Spring用到了哪些设计模式 + - Spring中Bean是线程安全的吗 + - [[如何理解SpringBoot的starter]] + - [[如何实现一个IOC容器]] + - [[什么是bean的自动装配,有哪些方式]] + - DOING Spring待解决问题 + :LOGBOOK: + CLOCK: [2023-10-08 Sun 18:00:28] + :END: + - [[如何实现一个自定义的starter]] \ No newline at end of file diff --git a/logseq-java/journals/2023_09_28.md b/logseq-java/journals/2023_09_28.md new file mode 100644 index 0000000..8061b80 --- /dev/null +++ b/logseq-java/journals/2023_09_28.md @@ -0,0 +1,12 @@ +- 统计字符出现字数 + - 使用split方法然后获得所有片段的长度 + - 使用replace方法替换为空 +- [[树]] #数据结构 +- 二叉树的遍历 + - 先序遍历 + - ![image.png](../assets/image_1695911709943_0.png) + - private void preOrder(BTnode t) + - 中序遍历 + - ![image.png](../assets/image_1695911700708_0.png) + - 后序遍历 + - ![image.png](../assets/image_1695911682910_0.png) \ No newline at end of file diff --git a/logseq-java/journals/2023_10_07.md b/logseq-java/journals/2023_10_07.md new file mode 100644 index 0000000..c85bff8 --- /dev/null +++ b/logseq-java/journals/2023_10_07.md @@ -0,0 +1,125 @@ +- [[MySQL]] + :LOGBOOK: + CLOCK: [2023-10-07 Sat 13:05:28] + :END: +- DONE 多线程 + :LOGBOOK: + CLOCK: [2023-10-07 Sat 13:11:17]--[2023-10-19 Thu 17:21:38] => 292:10:21 + :END: + - [[Java创建线程的方式有哪些]] + - [[线程生命周期状态]] + - [[什么是线程安全,线程安全的本质]] + - [[ThreadLocal使用场景]] + - [[ThreadLocal内存泄漏]] + - [[Java中21种锁]] + - [[为什么阿里禁用Executors创建线程]] + - [[如何根据实际需要,定制自己的线程池]] + - [[CAS缺点]] + - [[线程池线程复用原理]] + - [[阻塞和非阻塞队列的并发安全原理]] + - [[公平锁和非公平锁]] + - [[自旋锁优缺点]] + - [[合适的线程数量,CPU核心数和线程数的关系]] + - [[CAS是一种什么样的同步机制]] + - [[线程加锁有哪些方式,Synchronized和lock的区别]] + - [[进程和线程的区别,使用线程真的能节省时间]] + - [[线程有几种状态]] + - [[ThreadLocal是什么,工作中有用到过吗]] + - [[ThreadLocal如何实现]] + - [[ThreadLocal父子线程怎么共享数据]] + - [[ThreadLocalMap的结构及扩容机制]] + - [[解决hash冲突方法]] + - [[你知道哪几种锁,分别有什么特点]] + - [[什么是阻塞队列,Java中有哪些阻塞队列]] + - [[ConcurrentHashMap为什么放弃了分段锁]] + - [[HashMap内部如何工作]] + - [[什么是指令重排序,为什么要重排序]] + - [[什么是内存可见性]] + - [[主内存和工作内存的关系]] + - [[什么是happen-before原则]] + - [[为什么需要AQS,AQS的作用和重要性]] + - [[一个线程调用两次start()方法会出现什么情况]] + - [[为什么多线程会带来性能问题]] + - [[线程池有几种拒绝策略]] + - [[哪些解决死锁的策略]] + - [[你知道哪些线程安全问题]] + - [[线程池中提交一个任务是怎么样的]] +- DONE JVM + :LOGBOOK: + CLOCK: [2023-10-07 Sat 13:11:28]--[2023-10-17 Tue 20:44:40] => 247:33:12 + :END: + - https://www.bilibili.com/video/BV1dA411U7or + - [[JVM主要组成部分]] + - [[JVM内存结构]] + - [[垃圾回收算法]] + - [[垃圾回收器]] + - [[JVM调优]] + - [[JDK自带调优工具]] + - [[生产环境OOM问题]] + - [[生产环境CPU飙高问题]] + - [[类加载机制]] + - [[对象完整创建流程]] + - [[对象分配内存时的指针碰撞和空闲列表机制]] + - [[对象头]] + - [[对象分配内存时的并发问题解决CAS与TLAB机制]] + - [[如何计算对象占用内存大小]] + - [[对象指针压缩]] + - [[栈上分配,逃逸分析,标量替换]] + - [[引用计数法有什么问题]] + - [[GC Root可达性分析法]] + - [[什么样的类能被回收]] + - [[JVM内部各种垃圾收集算法]] + - [[CMS垃圾回收过程]] + - [[CMS比较严重的问题并发收集阶段再次触发Full GC]] + - [[垃圾收集底层三色标记算法]] + - [[G1垃圾收集过程]] + - [[G1收集器最大停顿时间时如何实现的]] + - [[内存泄漏如何排查和解决]] + - [[GC什么时候都能做吗,GC安全点和安全区域]] + - [[字符串常量池]] + - [[基本类型包装类常量池如何实现的]] + - 堆的分代 + - 年轻代minor gc + - Eden + - S0 + - S1 + - 老年代full gc + - 可达性分析法 + - GCRoots,以root为节点分析引用的对象 + - jvisualvm + - 双击进去查看内部的运行情况 + - arthas + - java -jar运行jar包 + - dashboard + - thread 线程号 + - 定位代码运行位置 + - thread -b + - 查看死锁 + - jad + - 反编译代码 + - ognl + - 修改线上系统变量的值 + - STW机制 + - 用户线程会被暂停 + - 电商网站 + - 有压力频繁full gc + - 亿级流量电商 + - 每个用户平均点击20,30次 + - 日活用户500万 + - 付费转换率10% + - 日均50万单 + - 大促在抢购前几分钟产生 + - 每秒1000多单 + - 4核8G部署 300单/秒 + - 一个订单对象1KB + - 每秒300KB订单 + - 其他对象放大20倍 + - eden800M,s0,s1,100M,old2G + - 一秒产生60M对象,运行14秒占满eden + - 因为动态对象年龄,每秒60M对象直接移动到老年代 + - 能够对JVM调优,让其不发生Full GC + - 可以,调大新生代的区域大小,让清理的时间延长 + - 长期存活对象移动到老年代 + - 动态对象年龄 + - 一批对象的总大小大于这块susrvivor区域内存大小的50%,大于等于这批对象年龄最大值的对象可以直接进入老年代 + - \ No newline at end of file diff --git a/logseq-java/journals/2023_10_08.md b/logseq-java/journals/2023_10_08.md new file mode 100644 index 0000000..a534fa0 --- /dev/null +++ b/logseq-java/journals/2023_10_08.md @@ -0,0 +1,47 @@ +- DOING Spring Cloud + :LOGBOOK: + CLOCK: [2023-10-08 Sun 16:30:20] + :END: + - Sentinel + - Nacos + - Zookeeper +- Spring面试题 + - TODO 看视频学习 + - https://www.bilibili.com/video/BV1z94y1W7G9 + - [[BeanDefination]] + - [[BeanFactory]] + - [[Bean生命周期]] + - [[@Autowired]] +- Redis + - TODO 看视频学习 + - https://www.bilibili.com/video/BV1it4y1W7D1 + - [[Redis是单线程还是多线程]] + - [[Redis单线程为什么还能这么快]] + - [[跳表]] + - [[key过期了为什么内存没有释放]] + - [[内存淘汰策略]] + - [[删除key的命令会阻塞redis吗]] + - [[主从哨兵集群优缺点]] + - [[hash分片算法]] + - [[redis执行命令有死循环阻塞bug]] + - [[线上事故,主从切换导致缓存雪崩]] + - [[持久化机制]] + - [[线上事故,redis主节点宕机数据全部丢失]] + - [[Redis线上数据如何备份]] + - [[主从复制风暴]] + - [[网络抖动导致频繁主从切换]] + - [[Redis集群为什么至少需要三个主节点]] + - [[Redis集群支持批量操作命令吗]] + - [[Lua脚本能在Redis集群里面执行吗]] + - [[Redis主从切换导致分布式锁丢失]] + - [[缓存问题]] + - [[缓存数据库双写不一致问题]] + - [[多级缓存架构解决Redis线上集群缓存雪崩]] + - [[Redis分布式锁底层如何实现]] + - [[Redis和Mysql保证数据一致性]] + - [[设置key的过期时间]] + - [[Redis数据结构]] + - [[主从复制的核心原理]] + - [[布隆过滤器,优缺点]] + - [[分布式缓存方案]] + - [[Redis事务实现]] \ No newline at end of file diff --git a/logseq-java/journals/2023_10_09.md b/logseq-java/journals/2023_10_09.md new file mode 100644 index 0000000..10ee2f6 --- /dev/null +++ b/logseq-java/journals/2023_10_09.md @@ -0,0 +1,82 @@ +- 消息队列 + - https://www.bilibili.com/video/BV1yT411H7YK + - RabbitMQ + - 使用场景 + - 异步发送 验证码,短信,邮件 + - MySQL与Redis,ES之间数据的同步 + - 分布式事务 + - 削峰填谷 + - [[消息不丢失]] + - [[消息重复消费]] + - [[死信交换机/延迟队列]] + - [[消息堆积]] + - [[高可用机制]] + - DOING 消息顺序消费 + :LOGBOOK: + CLOCK: [2023-10-09 Mon 21:25:36] + :END: + - Kafka + - 消息不丢失 + - ![image.png](../assets/image_1696857129269_0.png) + - 生产者发送消息到Brocker丢失 + - 异步发送消息 + - 回调机制接受异常记录日志补偿 + - 消息重试机制 + - ![image.png](../assets/image_1696857225846_0.png) + - 消息在Brocker中存储丢失 + - 发送确认机制acks + - 0,写入消息不等待服务器响应 + - 1,leader节点收到消息 + - all,所有节点收到消息 + - Kafka Cluster + - 先保存到leader,再同步到follower + - 消费者从Brocker接收消息丢失 + - 多个Brocker + - ![image.png](../assets/image_1696857536672_0.png) + - 分区机制 + - 每个主题划分为多个分区(Partition) + - topic分区中消息只能由消费者中唯一一个消费者处理,不同分区分配给不同消费者 + - 分区中的消息都有偏移量,消费者默认自动按期提交已经消费的偏移量,默认5s,如果出现重平衡情况可能会重复消费或丢失数据 + - 禁用自动提交偏移量,改为手动 + - 同步提交 + - 异步提交 + - 同步+异步组合提交 + - 消费的顺序性 + - 即时消息单对单聊天和群聊,保证发送方和接收方消费顺序一致性 + - 充值和消费的消息要顺序发送 + - 只提供一个分区,从而避免跨分区消费消息 + - 设置同一个分区存储号 + - 设置同一个key,保证哈希值相同 + - 高可用机制 + - 集群 + - 分区备份机制 + - topic分为p0,p1,p2三个分区 + - ![image.png](../assets/image_1696858281407_0.png) + - 一个leader,多个follower存储副本 + - leader发生故障,follower提升为leader + - follower副本分类 + - ISR(in-sync replica)需要同步复制保存的follower + - 普通,异步复制保存 + - leader宕机,优先从ISR中选择 + - ISR都宕机,从普通follower选取 + - 数据存储和清理 + - 存储机制 + - topic名称,分区号,对应文件夹名称 + - 文件分段存储,多个segment + - .index + - .log + - .timeindex + - 删除无用文件更加方便,提高磁盘利用率 + - 查找数据更加便捷 + - 清理机制 + - 清理策略 + - 根据消息的保留时间,如果超过指定时间,就会触发清理过程,默认168h + - 根据topic存储数据大小,所占日志文件超过一定阈值,开始删除最早的消息 + - 高性能设计 + - 消息分区:不受单台服务器限制 + - 顺序读写:磁盘顺序读写,提高读写效率 + - 页缓存:把磁盘中的数据缓存到内存,将对磁盘的访问变为对内存的访问 + - 零拷贝:减少上下文切换及数据拷贝 + - 通过系统直接将页缓存中的数据拷贝到网卡中,减少内核态和用户态的切换 + - 消息压缩:减少磁盘IO和网络IO + - 分批发送:消息打包分批发送,减少网络开销 \ No newline at end of file diff --git a/logseq-java/journals/2023_10_19.md b/logseq-java/journals/2023_10_19.md new file mode 100644 index 0000000..484e298 --- /dev/null +++ b/logseq-java/journals/2023_10_19.md @@ -0,0 +1,2 @@ +- [[SpringBoot自动装配]] +- \ No newline at end of file diff --git a/logseq-java/journals/2023_10_20.md b/logseq-java/journals/2023_10_20.md new file mode 100644 index 0000000..5afc811 --- /dev/null +++ b/logseq-java/journals/2023_10_20.md @@ -0,0 +1,33 @@ +- MySQL版本类问题 + - 工作中使用的是什么版本的MySQL,为什么选择这个版本 + - percon版本,拥有防火墙,审计功能,对原版本有一定优化 + - 知识点 + - MySQL常见发行版本 + - 官方版本,社区,企业 + - percona MySQL,对MySQL社区版本进行一定优化 + - MariaDB,5.5版本代码发展起来的,不一定完全兼容 + - 各个发行版本之间的区别 + - ||MySQL|Percona MySQL|MariaDB| + |服务器特性|开源|开源|开源| + ||支持分区表|支持分区表|支持分区表| + ||InnoDB|XtraDB|XtraDB| + ||企业版监控工具,社区版不提供|Percon Monitor工具|Monyog| + |高可用特性|基于日志点复制|基于日志点复制|基于日志点复制| + ||基于Gtid复制(5.6版本起)|基于Gtid复制|基于Gtid复制,但Gtid同MySQL不兼容| + ||MGR|MGR&PXC|Galera Cluster| + ||MySQL Router|Proxy SQL|MaxScale| + |安全特性|企业版防火墙|ProxySQL FireWall|MaxScale FireWall| + ||企业版用户审计|审计日志|审计日志| + ||用户密码生命周期|用户密码生命周期|-| + ||sha256,caching_sha2|sha256,caching_sha2|ed25519,sha256| + |开发及管理|窗口函数(8.0)|窗口函数(8.0)|窗口函数(10.2)| + ||-|-|支持基于日志回滚| + ||-|-|支持记在表中记录修改| + ||Super read_only|Super read_only|-| + - 如何决定是否要对MySQL进行升级,如何进行升级 + - 高版本可以作为低版本的从机 + - 可以给业务带来的益处 + - 升级可能对业务带来的影响 + - 数据库升级方案的定制,DBA操作 + - 升级失败的回滚方案 + - 最新MySQL版本,有什么新特性 \ No newline at end of file diff --git a/logseq-java/journals/2023_10_22.md b/logseq-java/journals/2023_10_22.md new file mode 100644 index 0000000..b1c77f3 --- /dev/null +++ b/logseq-java/journals/2023_10_22.md @@ -0,0 +1,27 @@ +- DOING SSM框架 + :LOGBOOK: + CLOCK: [2023-10-22 Sun 19:56:32] + :END: + - [【冒死上传】比啃书强十倍!23年最牛SSM框架面试教程(SpringBoot+SpringMvc+Mybatis)高质量夺命连环47问|完整版-允许白嫖!!_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1hh4y1q7je/) + - Spring中定义Bean的方式 #card + - 使用@Bean + - 使用@Component + - 使用@Controller,@Service,@Repository + - 使用@Configuration + - 使用@Import(.class)导入 + - 使用@ControllerAdevice、@RestControllerAdvice + - 底层不是用的Spring AOP那套,Spring MVC自己实现了 + - 使用BeanDefination + - xml配置\标签 + - @ImportResource(classpath:spring.xml) + - Spring的自动配置 #card + - 使用SpringBoot时会引入一个starter包,间接引用spring-boot-autoconfigure的包,里面有各种各样的配置类,里面配置了各种Bean + - @SpringBootApplication注解,内部有三个注解 + - @SpringBootConfiguration + - @EnableAutoConfiguration,自动配置的开关,正常情况下我们的应用程序不会扫描SpringBootConfigure这个包的路径文件,开启了这个注解才会 + - @ComponentScan + - 自动将第三方组件的Bean加载到IOC容器中,不需要手动去写相关Bean的配置,在启动类上有一个@SpringBootApplication注解,这个是一个复合注解,内部有一个@EnbaleAutoConfiguration注解,第三方jar包内部的配置类就是有@Configuration注解以及@Bean注解,同时在resources/META-INFO/spring.factories文件中有这些需要加载的配置类的路径 + - {{embed [[#{} 与 ${} 的区别]]}} + - ApplicationContext和BeanFactory有什么区别 + - 都是接口,分别代表应用容器和Bean工厂 + - Application继承了BeanFactory,有BeanFactory的全部功能,也是一个Bean工厂,还继承了其它接口并增加了国际化,事件发布,加载资源文件,获取系统环境变量等功能 \ No newline at end of file diff --git a/logseq-java/journals/2023_10_24.md b/logseq-java/journals/2023_10_24.md new file mode 100644 index 0000000..6b5f0fa --- /dev/null +++ b/logseq-java/journals/2023_10_24.md @@ -0,0 +1,3 @@ +- Ribbon负载均衡如何配置 +- SpringCloud是什么 +- 两个表有大量重复数据取出不一样的 \ No newline at end of file diff --git a/logseq-java/journals/2023_10_25.md b/logseq-java/journals/2023_10_25.md new file mode 100644 index 0000000..ed37103 --- /dev/null +++ b/logseq-java/journals/2023_10_25.md @@ -0,0 +1,7 @@ +- TODO 多线程案例 + - 线程池 + - completablefuture +- 分布式事务案例 + - zookeeper + - seata +- spring事务 \ No newline at end of file diff --git a/logseq-java/journals/2023_10_26.md b/logseq-java/journals/2023_10_26.md new file mode 100644 index 0000000..d6c5c68 --- /dev/null +++ b/logseq-java/journals/2023_10_26.md @@ -0,0 +1,10 @@ +- [[雪花算法]] +- [[MySQL为什么使用B+树索引]] +- [[MySQL适合创建索引的情况]] +- [[MySQL索引失效]] +- [[MVCC]] +- [[MySQL中锁机制]] +- [[Spring事务]] +- [[微服务架构优缺点]] +- [[Ribbon负载均衡策略]] +- [[限流,降级,如何配置]] \ No newline at end of file diff --git a/logseq-java/journals/2023_12_18.md b/logseq-java/journals/2023_12_18.md new file mode 100644 index 0000000..5afa6e3 --- /dev/null +++ b/logseq-java/journals/2023_12_18.md @@ -0,0 +1,506 @@ +- mysql如何解决幻读 + - 幻读,一个事务前后两次读取到的事务条数不一致 + - MVCC + - 类似乐观锁,通过事务版本,通过undo的版本链进行管理,高版本可以看到事务的变更,低版本看不到高版本事务的变更,实现了不同事物之间的事物隔离 + - 一个事务只能看到第一次查询之前已经提交的事务的修改以及当前事务的修改 + - 一个事务不能看到当前事务第一次查询之后创建的事务,以及未提交的事务修改 + - 如果存在当前读的情况下还是会出现幻读,当前读不是读的快照,而是内存 + - 对于当前读LBCC基于锁的机制 + - 行锁,表锁,间隙锁 + - 在RR下,InnoDB采用一个MVCC的机制解决幻读的问题,如果存在当前读还是会幻读,尽量避免当前读或加锁来解决 +- ![thumbnailwebp](https://static.flomoapp.com/file/2023-09-11/30463/1694258207_qFYxjC0q.jpg?OSSAccessKeyId=LTAI4G9PcaGksWVKCPrE1TVL&Expires=1703169857&Signature=s7w6CtfPnTidfhMkgHj10GvjuzM%3D) +- MySQL锁 +- **全局锁** +- 针对整个数据库是锁,分为读锁和写锁 +- 使用FLUSH TABLE WITH READ LOCK (FTWRL)添加全局读锁 +- 使用UNLOCK TABLES释放锁定 +- 在全库备份和全库导出时需要加全局锁 +- 使用mysqldump --single-transaction -uroot -p example >example.sql导出备份文件添加single-transaction可以不用加全局锁 +- **表锁** +- MyISAM表的读操作会自动加上读锁,写操作加上写锁 +- InnoDB在必要情况下使用表锁,主要使用行锁实现MVCC,提供更好的并发性能和更少的锁冲突 +- lock table example read; +- unlock tables; +- 使用场景 +- - +- 读密集型应用 +- - +- 写操作不频繁 +- - +- 数据量不大 +- - +- 全表更新或删除 +- 风险 +- - +- 性能下降 +- - +- 并发性能差 +- - +- 锁等待和超时 +- - +- 写操作影响大 +- - +- 死锁的可能性 +- **行锁** +- 锁定单行数据,粒度更细,但是需要更多系统资源 +- 主要由InnoDB提供 +- select for update +- select lock in share mode +- insert update delete都会添加排他锁 +- 使用场景 +- - +- 高并发读写操作 +- - +- 单行操作 +- - +- 短期锁 +- - +- 实现并发控制 +- - +- 复杂的事物处理 +- 风险 +- - +- 死锁 +- - +- 锁升级,升级为表锁,导致更多锁冲突 +- - +- 锁等待 +- - +- 资源消耗 +- - +- 难以排查和调试 +- - +- 事物隔离级别 +- **乐观锁** +- 使用版本号来实现乐观锁 +- **悲观锁** +- **意向共享锁和意向排他锁** +- **临键锁和记录锁** +- MySQL事物ACID特性 +- 事物四大隔离级别 +- 事务的底层锁机制 +- MVCC并发优化机制 +- volatile关键字 +- - +- 可以保证在多线程环境下共享变量的可见性 +- - +- 通过增加内存屏障防止多个指令之间的重排序 +- 可见性是指当一个线程对于共享变量的修改,其他线程可以立刻看到修改后的一个值,可见性是由几个方面造成的,一个是CPU层面的高速缓存,CPU内部有三级缓存就会导致缓存一致性问题,而在多线程环境下缓存一致性就会导致可见性问题,对于增加了volatile关键字的一个共享变量,JVM虚拟机会自动添加一个#lock的汇编指令。而这个指令会根据不同的CPU型号添加总线锁或缓存锁 +- 总线锁锁定cpu的前端总线,导致同一时刻只能有一个线程和内存通信,避免了多线程并发造成的可见性问题, 缓存锁是对总线锁的一个优化,总线锁导致cpu的使用效率大幅下降,缓存锁只针对cpu三级缓存中的目标数据加锁,缓存锁使用mesi一致性协议实现的 +- 指令在编写的顺序和执行的顺序不一致导致内存可见性问题,指令重排序本质上是一种性能优化的手段,来自于几个方面,第一个方法是CPU层面针对于mesi协议的更进一步优化去提升cpu的利用率,引入一个叫storebuffer的一个机制,这种优化机制会导致cpu的乱序执行,为了避免这样的问题cpu提供了内存屏障指令,上层应用可以在合适的地方插入内存屏障避免cpu指令重排序 +- 编译器在编译过程中在不改变单线程语义和程序正确性的前提下,对指令进行合理的重排序从而去优化整体的一个性能,添加了volatile关键字就不会触发编译器的优化,在jvm里面会插入内存屏障指令去避免重排序 +- 除了volatile关键字从1.5开始jmm使用了一种Happens-Before的模型去描述多线程之间一个可见性的关系,如果两个操作具备happens-before关系那么这两个操作就具备可见性的一个关系 ,不需要通过volaitle增加可见性的保障 +- mq中间件消息堆积 +- 消费慢场景, +- **jvm处理慢** +- 加密解密,大数据量处理耗时,增加机器 +- **数据入库慢** +- 新增不会是瓶颈,新增不锁行,可能是因为索引太多导致新增的性能下降 +- 更多是对同一行记录的更新操作,更新会锁行导致执行排队 +- 采用分而治之,将资源分散在几条记录里面 +- 确实达到了瓶颈,使用分布式数据库中间间mycat,或使用分布式数据库mongodb,es +- **依赖外部慢** +- 对外部提要求,增加性能 +- 一些非实时场景数据先入库持久化 +- 要求外部也提供异步能力,给他们提供回调入口来操作数据 +- 如何分析一条sql的性能 +- explain,执行计划 +- mysql内置了一个优化器,优化器的任务就是优化sql,尽可能以更低的成本去执行 +- type表示mysql访问数据的方式,常见的有全表扫描(all)、遍历索引(index)、区间查询(range)、常量或等值查询(ref、eq_ref)、主键等值查询(const)、表中只有一条记录(system) +- system>const>eq_ref>ref>range>index>all +- key表示查询过程中实际会用到的索引名称 +- rows表示查询过程中可能需要扫描的行数,不一定准确,是mysql抽样统计的数据 +- Extra表示一些额外信息,通常会显示是否使用了索引,是否需要排序,是否会有用到临时表等 +- select * 需要回到主键索引上查找对应的字段,需要回表,如果筛选出来的数据大部分都回表,mysql会选择全表扫描,如果认为索引回表的效率高才会走索引 +- 有时候利用复合索引可以利用索引覆盖在来避免回表的过程 +- MySQL性能分析 +- **查** +- **看执行频次** +- 使用show global status like ‘Com_______’查看增删改各种操作执行频次 +- **慢查询日志** +- 默认情况下超过10s就是慢查询,这个一般设置为1s long_query_time = 1 +- 通过show VARIABLES LIKE 'slow_query_log' +- **show profile** +- 通过SELECT @@have_profiling 查看当前是否支持show profiles功能,返回yes就是支持 +- 通过SELECT @@profiling 常看当前是否开启了show profiles性能分析功能,返回0不支持,返回1 支持 +- 使用show PROFILES 查看执行的SQL列表,获取SQL的执行时间 +- 使用show profile for query query_id 可以查看SQL执行各个阶段的用时 +- 执行show profile cpu for query query_id可以查询指定query_id的SQL语句的CPU的使用情况 +- **explain执行计划** +- 在select语句前增加explain关键字,执行完成之后就会返回执行计划的信息,如果from中包含子查询,MySQL会执行子查询并将结果放入临时表中 +- id:id列的编号时select的序列号,有几个select就有几个id,id按照select出现的顺序增长,id列值越大优先级越高,id相同按照执行计划从上往下执行,id为空最后执行 +- select_type:表示对应行是简单还是复杂查询,有simple,primary,subquery,union +- type:表示连接类型、性能由好到差为NULL、system、const、eq_ref、ref、range、index、all,需要避免all全表扫描的出现 +- possible_keys:表示在当前语句中可能用到的索引 +- key:表示当前语句中用到的索引 +- key_len:表示索引中使用的字节数,该值为索引字段最大可能长度,并非实际使用长度,在不损失精度的情况下,长度越短越好 +- rows:MySQL认为必须执行查询的行数,在InnoDB中是一个估计值 +- filtered:表示返回结果的函数占需要读取函数的百分比,越高越好 +- 负载均衡算法 +- **静态** +- - +- 轮询 +- - +- 随机 +- - +- 权重 +- - +- IP +- - +- URL哈希 +- - +- 一致性哈希,IP+URL +- **动态** +- - +- 最少连接数 +- - +- 最快响应 +- - +- 观察:以连接数和响应时间为平衡依据 +- - +- 预测:收集当前服务器性能指标,预测下个时间段性能最佳服务器 +- - +- 动态性能分配:收集服务器各项性能指标,动态调整流量分配 +- - +- 服务质量:根据服务质量选择 +- - +- 服务类型:根据服务类型选择 +- **自定义** +- - +- 灰度发布:平滑过渡的发布方式,降低发布风险,减少影响范围,出现故障快速回滚,不影响用户 +- - +- 版本隔离:为了兼容或过渡,某些应用有多个版本,保证1.0版本不会调到1.1版本服务 +- - +- 故障隔离: 生产出故障之后将故障的实例隔离,不影响其他用户,同时保留故障信息便于分析 +- - +- 定制策略:根据业务情况定制跟业务场景最为匹配的策略 +- 轮询+权重=加权轮询 +- 最快响应+权重,可以根据响应时间动态调整服务器权重 +- **中间件使用的算法** +- - +- Nginx +- - +- RonundRobin:轮询 +- - +- WeightedRoundRobin:加权轮询 +- - +- IPHash:按照IP的Hash选择 +- - +- URLHash:按请求URL的Hah选择 +- - +- Fair:根据后端服务器响应时间判断选择复制最轻服务器分流 +- - +- Dubbo +- - +- RandomLoadBalance:加权随机 +- - +- RoundRobinLoadBanlance:加权轮询 +- - +- LeastActionLoadBalance:最少连接数 +- - +- ShortestResponseLoadBalance:最短响应时间 +- - +- ConsistentHashLoadBalance:一致性Hash +- - +- Ribbon +- - +- RoundRobinRule:轮询 +- - +- RandomRule:随机 +- - +- WeightedResponseTimeRule:根据响应时间来分配权重 +- - +- BestAvailableRule:先过滤掉由于多次访问故障处于断路器跳闸状态的服务,然后选择一个并发量最小的服务 +- - +- RetryRule:先按照轮询策略获取服务,如果获取服务失败在指定时间内进行重试,获取可用的服务 +- - +- ZoneAvoidanceRule:根据性能和可用性选择服务 +- - +- AvailableFilteringRule:会先过滤掉由于多次访问故障处于断路器状态的服务,还有并发量超过阈值的服务,然后对剩余的服务列表按照轮询策略进行访问 +- 什么是缓存穿透?如何避免? +- 被攻击,缓存key不存在,去数据库查询 +- 布隆过滤器,bitmap +- 一种概率的判断算法,判断一个数据是否存在,通过一个二进制数据和一个Hash算法实现 +- 误判问题 +- 哈希冲突,计算出来不一定存在 +- 通过增大数组和增加哈希函数 +- 如何解决重复消费 +- 如果使用了消息中间件,没有办法避免MQ中消息重复的 +- 消费是做幂等性处理 +- - +- MVCC多版本并发控制(生产的时候带上数据的版本号),该方法有很多不便 +- - +- 去重表方案,利用数据库特性建立 +- 为什么kafka不支持读写分离? +- 读写分离,主从架构,主写从读 +- - +- 数据一致性问题 +- - +- 延时问题,数据同步为异步操作,kafka保证数据可靠性需要保存到硬盘,延时比较高 +- - +- 实现了主写从读,负载均衡无法实现 +- - +- 不实现读写分离架构简单,出错可能性小 +- - +- 多副本机制简单很多 +- 有几百万消息持续积压几小时,如何解决? +- 消息挤压,——线上故障(消费者)几百万消息MQ中挤压 +- - +- 修复消费者,可能消耗几个小时。 +- 临时扩容,一个消费者1秒消费1000,3个消费者3000,一分钟18万,800万需要40-50分钟 +- 临时借调机器,队列和消费者10倍 +- 需要建立一个消费者同时也是一个生产者,将原来的消息消费然后重新生产传送到其他queue里面,同时将原来三个queue里面的消息扩散到30个queue中 +- 1. 积压消息的类型,那些消息重要,那些不重要(快速消费)确定哪些业务的消息处理是优先级最高的,优先处理这些消息; + 2. 考虑将部分业务逻辑转移到备用系统上,以减轻主系统的压力; + 3. 查看具体业务是否有查询,插入,修改操作,评估 DB 处理能力(优化索引); + 4. 评估是否可以批量操作或者多线程处理 + 5. 水平扩展服务器资源,包括数据库,服务器,消息队列服务器,来提升性能; +- AQS唤醒节点时,为什么从后往前找? +- Node节点插入到整个AQS队列时是先把当前节点的上一个指针指向前面的节点,再把tail指向尾,这个时候会有一个CPU调度的问题,如果卡在这个位置就会出现前一个节点的指针还是指向null,会总成一个节点丢失的问题 +- 当某一个节点取消之后,会执行一个cancelAcquire方法,这个方法也是先去调整上一个指针的指向,next指针是后续才动的 +- 插入和取消都是先动前面prev的节点,所有prev才是指向的优先级较高或时效性较好的指向 +- 从前往后找会错过某个节点,造成某个null然后挂起,之前线程已经释放资源并没有释放锁 +- hashmap方法体内线程安全 +- 可能会存在逃逸现象,不能保证方法体内都是线程安全的,只要hashmap出现被多个线程引用的情况就会出行线程不安全问题 +- 前后端自增数据ID容易被人猜到,长度大于16位给前端会有精度丢失问题 +- 自增id,水平越权,不可能不考虑,属于重大隐私安全问题。用uuid会损失插入性能,再不济使用雪花算法 +- 16位千万亿数据量级别 +- long类型数据返回给前端会精度丢失,通过一个转换器转换为字符串解决 +- mysql一主二从 +- 解决高并发主从同步延迟数据不一致问题 +- 提高效率降低延迟 +- 增加从服务器配置,增加带宽,参数优化,修改并发复制的参数,避免长事务的sql,或者在主从服务器的负载均衡主服务器权重大一些,强一致性的方案,直接读取主库 +- 分布式ID +- mysql使用自增ID +- 分布式ID的解决方案和算法没有太大关系,雪花算法顶多是一个主键解决方案(唯一主键解决方案), +- 假如让你设计一个订单表,订单号会用主键吗 +- 主键代表的含义是这张表唯一的标识或流水号,不应该具备任何业务含义,可不可以用单表主键做业务ID?当然可以,很多小的后端系统就这么用的,但是大型的分布式式系统里面往往会有一个分布式ID的生成服务,这个服务用雪花算法用什么都和我们没有关系,但是需要保证给我们的业务ID在我们这个业务领域里面是唯一的,这个订单号不管在支付系统,物流系统还是财务系统,都应该是能够唯一标识订单的,有些ID还会用各种业务字符串来让这个业务ID更加清楚的表达业务含义,不如在订单号前加order前缀,或者加部门这些信息,所以你看现在这些快递单号为什么纯数字不行,邮政公司还要牵头加一个什么物流公司的拼音前缀,都是有原因的,小系统自增和雪花算法都没有区别,但是在大系统里面系统ID和业务ID是不一致的,最好分开,做关联查询的时候呢,最佳方案是用业务id +- 分库分表重复的问题 +- 为什么要分库分表,数量的增长单表无法容纳了,这个时候单纯用分库分表解决可能以后还要在分库分表,数据还要再重新散列一遍,需要分库分表时需要慎重考虑是否能够更引入一个可以横向扩展的分布式数据库来解决 +- **基于stata的xa做分布式事务** +- xa性能最差,但是强一致性, +- 协调事务2pc,3pc +- 最终一致性,本地消息表,事务消息 +- 默认at是两阶段提交,两点对于sql进行分析,sql执行前后的数据镜像进行保存,生成一些回滚日志,优点代码无侵入,缺点是必须要基于关系型数据库 +- tcc,try confirm and cancer,需要侵入代码,手动编写预留,确认,回滚的方法,本来是一个操作逻辑需要分散在三个方法里去做,因为设计到预留资源的问题,数据库也要一起跟着变化,特别不适合已经有完善数据库设计的项目,saga是基于最终一致性的方案,通过状态机去执行一个已经定义好控制流程的json文件来控制整个流程的提交,回滚的方式,但是和TCC一样也需要侵入代码去实现补偿逻辑,前面三种都有一个共同问题,都是补偿型事务,就是弱一致性,如果需要强一致性,只有xa模式。这个模式是只要实现了xa协议的数据库都可以很好支持,我们用的库是mysql5.7当然支持了,而且代码编写上和at模式一样没有侵入,还能和at模式进行简单切换,性能差该一个配置文件即可,实际业务和钱有关需要强一致性,并发量并不大,xa模式没有问题 +- **分表之后按照时间查询** +- 按照某一个字段进行水平拆分 +- 决定按照某个字段去分表,就不可能不带着这个字段去查询 +- 倒序查询,表少可以查询出来到内存中进行聚合,ES,MongoDB这种分布式数据库都是这么做的,但是mysql不是分布式的,单机会成为性能瓶颈,表太多这么做性能直线下降,分表的本意就是为了提高性能,做评论审核页面就是按照时间倒序去排序的,技术往往是结合来做的,我们有三张表,是按照用户维度,文章维度分表,还有一个全量表,因为有分页限制查询不会慢,审核完成后再同步到另外两套表中 ,完美解决了业务问题 +- spring解决循环依赖 +- 温柔方案 +- 开启支持循环依赖的配置,spring就会在初始化bean的时候启用三级缓存来解决,a、b两个互相依赖的bean,spring在初始化a的时候先去一二三级缓存中拿a,如果没有就会去实例化a并把啊的对象工厂放到三级缓存中,然后初始化a的时候给a set了各种属性,发现依赖b,然后去创建b,创建b的过程也是一样的,b可以在三级缓存中拿到a的对象工厂,并且这个工厂对象会把a的对象放到二级缓存中,b可以顺利完成初始化,同时把b放入一级缓存中,b初始化完成之后, a顺利注入b完成初始化,这样就解决了循环依赖的问题 +- 粗鲁方案 +- Spring默认不启用支持循环依赖 +- 循环依赖是代码不规范导致的,正确的情况是不应该出现循环依赖,写一个c去分别应用a和b +- 为什么都使用hashmap +- 使用时都是在方法体里面声明 +- 每一个方法调用时都是单独线程 +- 用static修饰变为静态全局变量,多线程调用put方法才会出问题,用currenthashmap才有意义,声明一个static的hashmap大部分情况下是当作一个jvm的缓存来使用的,有分布式缓存redis,jvm缓存caffeine不太用hashmap +- **幂等性** +- 新增收入利润的情况, +- 提交两次编辑和新增同一个接口,编辑不会有问题,但是新增时会有问题,新增两个数据 +- 底层逻辑是**串行查询** +- 通过分布式锁解决 +- 解决的核心是做重复性判断,高并发场景下两个线程同时查到没有然后分别插入,分布式锁锁的是查询的过程,保证查询是串行操作,查到的一定是数据库里面最新的数据,然后去做相应 的业务逻辑,先去通过唯一性的标识查询该条数据有没有,然后插入或更新数据 +- **解决分布式事务** +- 协调事务和最终一致性方案 +- 协调事务:2PC,3PC,协调者高可用,协调不一致,一方提交或回滚成功了,第二方提交或回滚失败,只能降低这种情况发生概率,无法完全避免,存在一定的阻塞,性能相对来说差一些。XA +- 最终一致性方案:本地消息表,TCC,Saga,无阻塞,可以提供较好的性能,但是无法保证强一致性,本地消息表存在写入失败或更新失败的问题,TCC需要先预留资源,涉及到幂等的问题 +- 分布式事务一定遵循分布式理论的,当分区条件满足时,一致性和可用性就无法同时满足。 +- 怎么同时解决一致性和可用性的问题?无法解决 +- 用会员积分来兑换商品,会员积分和订单是两个服务,采用dubbo来交互,采用阿里云seata,seata最大核心功能就是事务协调器,支持dubbo,而且seata还支持4种模式at,tcc,saga,xa模式,积分来兑换商品的业务场景相对简单,不涉及到优惠券这种复杂的业务逻辑,综合考虑用at模式来实现。at模式基于 数据源代理对sql进行解析,把操作过的数据记录在undo'log表种,简单来说,就是参与事务的ab双方会注册到事务协调器,并且获取到一个全局事务ID注册到本地,a先开启本地事务拿到本地锁,事务提交前拿到全局锁释放本地锁,a的事务准备好之后b拿到本地锁,开始本地事务操作,b操作完成之后释放本地锁,开始争抢全局锁,此时ab双方都处于prepare状态,事务协调器向双发发起commit命令,a执行commit命令后会释放全局锁,b获取全局锁执行commit,a失败后b获取不到全局锁会回滚,a成功b失败,全局事务失败,事务协调器向a发送回滚命令。a根据全局事务的ID在本地表中查询回滚的数据回滚,由此来保证数据的强一致性 +- 还有一个注册送积分的,这里面对一致性要求没有那么高,采用的方式是注册完成之后下发一条kafaka消息,如果要做分布式事务呢,在本地建一个本地消息表,在注册这个事务的时候往本地消息表里写一条赠送积分的消息,并把状态置于待确认,后期赠送完成之后可以把消息更新为已确认或者删除这条消息,但是真正工作里没有这样做,原因是我们发现赠送失败的场景几乎没有,并且这个数据就算是出错了,在业务层面也是可以接受的,采用无事务的思想,通过日日记录异常监控报警来保证赠送积分的成功,如果真的因为各种原因赠送失败了,通过人工介入来处理 +- **hashmap的结构,put和get操作** +- **hashmap为什么 @使用红黑树** +- **concurrentHashMap,1.7segment,1.8synchronized和CAS,** +- concurrenthashmap使用reentrantLock +- **synchronized,jdk版本升级有优化**,reentrantlock是java代码实现的,优化比较少 +- **synchronized对锁的优化** +- 两个线程竞争锁,升级成为重量级锁 +- 看是XX部门,部门的日常工作主要有哪些 +- InnoDB和myISAM的区别 +- InnoDB为什么能支持事务 +- redolog和undolog的区别 +- binglog作用 +- 同步binlog主一个时间,从一个事件,底层怎么解决,或者说同一个sql主和从是不一致的,binlog是怎么让他们同步的?主生成的sql和从生成的sql不一定一致,他有没有做过什么处理 +- volatile有什么作用 +- synchronized底层怎么实现的 +- synchronized锁升级 +- 偏向锁的批量重偏向是多少次,为什么是这么多次(跟字节有关) +- reentrantlock怎么实现公平,怎么实现可重入 +- redis分布式锁的原理 +- 看门狗还有多少时间会续期 +- redis设置锁怎么保证原子性 +- lua一定是原子性的吗 +- cas的aba问题怎么解决 +- 分布式id有了解吗,雪花算法怎么实现的,头几个代表的是什么,分布式id遇到时钟回拨怎么解决 +- hashmap为什么升级为红黑树 +- arraylist和linkedlist查询时间复杂度和空间复杂度 +- 有没有可能redis因为主从哨兵,两个线程拿到同一个锁的情况,怎么办(红锁,有一半以上节点拿到锁才成功) +- redis中的锁是ca还是ap(说ap,问有没有可能两个线程拿到同样锁的情况) +- cp锁和ap锁有什么区别 +- 主从同步 出了一些问题,怎么保证最终一致性 +- DDD了解吗 +- 生产环境上3主3从的数据库,现在有个机器要去连,你会连6个Datasource还是怎么连,yaml文件你怎么配置,或者说你会用什么样的中间件去做一些代理还是怎么样 +- nginx有了解吗,nginx挂了怎么办,可不可以做集群 +- 伪IP有了解过吗 +- keep alive有了解过吗 +- safe-hdfs这种分布式存储有了解过吗 +- redis的rdb和aof有啥区别 +- rdb突然断电怎么办 +- 哨兵模式原理 +- 双亲委派机制 +- 垃圾回收机制原理 +- 让你JVM调优,你会怎么调 +- 聊了很多锁,IO密集型和CPU密集型分别适合哪些锁 +- countdownlatch和信号量都知道吗 +- rabbitMQ的死信队列和延迟队列有了解吗 +- 消息丢失怎么办 +- rabbitMQ能不能业务逻辑上最终一致性 +- TCP和HTTP协议 +- 为什么是三次握手 +- 为什么挥手是四次 +- Object的equals和hashcode是干什么用的 +- hashmap怎么解决哈希碰撞 +- 多线程线程越多越好吗 +- Spring中一个类2个方法,a和b都加了事务注解,a方法调用b方法,b的事务会生效吗 +- 直接声明string=a和new一个string构造传a有什么区别 +- new一个字符串想要加入常量池里面应该怎么做 +- 哈希数组,哈希桶原理,通过哈希取余计算得到下标 +- synchorinzed锁升级 +- 查询sql执行性能 +- 可重复读,读取未提交的数据 +- bean的生命周期 +- spring加载时缓存预热 +- 线程池核心参数 +- 1. 离职原因:被裁员 面试时:原本的工作没有办法满足我的成长,期望找一个更大的平台发挥。 +- 2. 离职原因:原单位钱太少 面试时:我觉得自己己经具备了一定的积累,希望可以迈向一个新的台阶。 +- 3. 离职原因:跟同事处不来。 面试时:我很重视平台的发展,我认业个人才 只有放在合适的平台才能够最大程度的发挥出 自己的才干。 +- 4. 离职原因:有个大领导。 面试时:虽然我已经有相当的经验和技能,但仍希望能够拓宽自己的知识面,进行更深入的学习和实践。 +- 5. 离职原因:原单位扯皮甩锅大战。 面试时:我认为一个良好的工作氛围能够提高 工作氛围,明确的分 工和相对完善的制度是提高生产力的基本保障。 +- 6. 离职原因:提拔无望。 面试时:我认为人不应该满足现状,而是应该积极进取,如果不能够适时挑战自己,逼自己 一把,怎么能够最大程度的挖掘自己的潜力呢? +- 7.离职原因:大*管理制度太多。 面试时:贵公司所推崇的人性化管理非常符合 我对工作环境的预期,我也相信在这样的环境中,我能够发挥出更大的主观能动性。 +- MySQL为什么使用B+树索引 +- B树是一种多路平衡树,存储大量数据时相对高度比二叉树矮很多,而数据存储在磁盘上,磁盘IO效率比较低,特别时随机磁盘IO,树的高度决定磁盘IO次数,IO次数越少,性能提升越大 +- B+树优化 +- - +- 所有数据都存储在叶子节点上,非叶子节点只存储索引,每一层存储索引数据增加,相同层数下数据量更多 +- - +- 叶子节点中的数据使用双向链表方式进行关联,查询时只需查两个节点进行遍历即可 +- - +- 由于所有数据都存储在叶子节点,B+树的IO次数更加稳定 +- - +- 叶子节点存储所有数据,全局扫描能力更强,只需要扫描叶子节点 +- - +- 采用自增主键,能更好避免增加数据时带来叶子节点分裂导致大量运算的问题 +- SpringIOC的工作流程 +- - +- IOC是什么 +- 控制反转 +- - +- Bean的声明方式 +- xml +- - +- IOC工作流程 +- - +- IOC容器初始化阶段 +- 根据程序内部的xml或注解等Bean的声明方式,通过解析和加载后生成BeanDefination,然后将BeanDefination注册到IOC容器内部,通过注解和xml声明的注解解析后都会得到一个BeanDefination实体,这个实体包含Bean的一些定义和基本属性,最后将BeanDefination保存到一个map集合里面,完成IOC的初始化 +- IOC容器的作用就是对这些注册的Bean 的定义信息进行处理和维护,它是IOC容器控制反转的一个核心 +- 2.完成Bean的初始化和依赖注入 +- - +- 通过反射区去针对没有设置lazy-init属性的单例Bean进行初始化 +- - +- 完成Bean的依赖注入 +- - +- Bean的使用 +- 通过@Autowired注解或BeanFactory.getBean()从IOC容器中获取一个指定的bean的实例,针对设置了lazy-init属性及非单例Bean的实例化,在每一次获取Bean对象时调用Bean的初始化方法完成实例化,并且SpringIOC容器不会去管理这些Bean +- Redis哨兵和集群的区别 +- 主从,读写分离,提升工作效率 +- 哨兵,监控机制,主节点故障 +- Cluster,Slot槽0-16383,分配区间,多个主从节点,主节点故障自动转移 +- - +- 客户端实现更加复杂 +- - +- Slave节点只是一个冷备节点,不分胆担读写压力 +- - +- 对于批量操作指令有限制 +- 为什么禁止@Transactions +- - +- 方法上添加后会导致长事务,一个方法存在较多耗时操作,带来锁的竞争影响性能导致数据库连接池消耗殆尽,影响程序正常执行 +- - +- 如果有事务嵌套,容易引起事务混乱,导致程序运行结果出现异常 +- - +- 将事务控制逻辑放在注解里面,项目复杂度增加,事务控制变复杂,导致代码可读性和可维护性下降 +- 使用编程式事务 +- - +- 灵活控制事务的范围 +- - +- 减少事务的锁定时间 +- - +- 提高系统的性能 +- ES数据和数据库数据不一致 +- SpringBoot优势 +- SpringBoot自动装配流程 +- Spring import注解 +- 注册Bean注入IOC容器(5种) +- 负载均衡算法 +- kakfa如何确定key的分区 +- HashMap 开放寻址法 +- 头插法和尾插法 +- redis使用头插 +- Rdis优势,数据丢失场景,解决脑裂 +- 分布式锁过期 +- Redis分布式锁数据类型 +- 时间轮实现 +- 接口非常慢如何解决(慢SQL,SQL语句分页,数据量过大,频繁更新,分库分表) +- 线程池在工作中如何使用,参数如何设置 +- 线程池如何线程复用 +- 关于招呼模版:您好,我对您的发布的岗位非常感兴趣,我有XX、XX、XX、等项目经验/工作经验,有XX\XX\XX项目成果/工作成果,熟练掌握XX\XX\XX软件应用,持有XX\XX等资格证书,对工作中XX\XX模块非常熟悉,具体您可以看看我的简历:(附上你的简历链接,简历链接推荐用腾讯文档,设置PDF,记住要生成永久链接) +- 如果你在第一步就通过话术引导对方对你产生兴趣,再附上简历的链接,这样一目了然,做事逻辑性这么强,HR肯定排着队要录用你!最后记得登陆你的腾讯表格,看看该文件被查阅的数据,了解你自己的市场竞争力,知己知彼才能打胜仗。 +- - +- 先做一个自我介绍(这是必须的) +- - +- 说一下你之前做项目的一个业务流程(详细业务流程) +- - +- 这个项目你使用了多线程吗?你是如何实现的? +- - +- 你说多线程这块你做了性能优化,你能说一下优化的方式和优化的结果吗? +- - +- 事务使用过吗?事务和锁一起使用会不会有什么问题?是先使用锁还是先使用事务? +- - +- springcloud 的注册服务使用的什么?除了这个还有其他的了解吗? +- - +- 消息队列用过吗?你大致讲一下。 +- - +- 先做一个 10 分钟左右的简短介绍,包括几个方面:你工作的经验,你在这些工作中你的优势是什么?你擅长什么? +- - +- mybatis 中的 #{} 和 ${} 有什么区别?默认使用哪个?为什么这么使用? +- - +- 介绍一下 Spring,说一下 Spring 常用注解的用途。 +- - +- 说一下 SpringAOP 的概念,实际运用场景。 +- - +- 现在有个对象 user,通过参数传递到其他方法中去,然后 user 的 name 改变了,那么传递的这个对象是值传递还是引用传递,为什么?顺便解释一下值传递和引用传递。 +- - +- 项目中是如何使用事务的? +- - +- 项目中用过多线程吗?如何保证多线程线程安全的?具体你做了哪些操作来实现的? +- - +- 你之前做过 PHP?你讲一下 PHP 和 Java 的区别呢? +- - +- 先做个自我介绍。 +- - +- 现有一多文件上传需求,要求在 5M 带宽的服务器上上传超过 100 张图片,并且保证用户可以尽快看到上传结果。 +- - +- springcloud 中 A 服务要调用 B 服务,同时需要将 token 传入 B 服务中,请问使用什么方式传递? +- - +- 讲一下你现在做的系统的业务逻辑,用到了什么技术? +- - +- mybatis 分页是怎么做的? +- - +- 事务你用过吗? +- - +- 用过哪些工具类?处理时间和 JSON 你是用的什么工具? +- - +- MongoDB 中针对于百万级别的数据,如何优化查询?如何分页?如何创建索引?做过数据统计那么统计的精度是每天还是每个月还是每年?如果去动态查询这些统计数据? \ No newline at end of file diff --git a/logseq-java/logseq/.recycle/assets_image_1695910590603_0.png b/logseq-java/logseq/.recycle/assets_image_1695910590603_0.png new file mode 100644 index 0000000..ef66c07 Binary files /dev/null and b/logseq-java/logseq/.recycle/assets_image_1695910590603_0.png differ diff --git a/logseq-java/logseq/.recycle/assets_image_1696817825617_0.png b/logseq-java/logseq/.recycle/assets_image_1696817825617_0.png new file mode 100644 index 0000000..81fee16 Binary files /dev/null and b/logseq-java/logseq/.recycle/assets_image_1696817825617_0.png differ diff --git a/logseq-java/logseq/.recycle/assets_image_1696854970581_0.png b/logseq-java/logseq/.recycle/assets_image_1696854970581_0.png new file mode 100644 index 0000000..b9d419c Binary files /dev/null and b/logseq-java/logseq/.recycle/assets_image_1696854970581_0.png differ diff --git a/logseq-java/logseq/.recycle/assets_image_1696855109787_0.png b/logseq-java/logseq/.recycle/assets_image_1696855109787_0.png new file mode 100644 index 0000000..b13657e Binary files /dev/null and b/logseq-java/logseq/.recycle/assets_image_1696855109787_0.png differ diff --git a/logseq-java/logseq/.recycle/journals_2023_09_29.md b/logseq-java/logseq/.recycle/journals_2023_09_29.md new file mode 100644 index 0000000..3cf20d5 --- /dev/null +++ b/logseq-java/logseq/.recycle/journals_2023_09_29.md @@ -0,0 +1 @@ +- \ No newline at end of file diff --git a/logseq-java/logseq/.recycle/journals_2023_10_21.md b/logseq-java/logseq/.recycle/journals_2023_10_21.md new file mode 100644 index 0000000..3cf20d5 --- /dev/null +++ b/logseq-java/logseq/.recycle/journals_2023_10_21.md @@ -0,0 +1 @@ +- \ No newline at end of file diff --git a/logseq-java/logseq/.recycle/logseq__recycle_pages_contents 2.md b/logseq-java/logseq/.recycle/logseq__recycle_pages_contents 2.md new file mode 100644 index 0000000..3cf20d5 --- /dev/null +++ b/logseq-java/logseq/.recycle/logseq__recycle_pages_contents 2.md @@ -0,0 +1 @@ +- \ No newline at end of file diff --git a/logseq-java/logseq/.recycle/pages_HTTP通讯协议分为几个部分 请求协议的组成(1).md b/logseq-java/logseq/.recycle/pages_HTTP通讯协议分为几个部分 请求协议的组成(1).md new file mode 100644 index 0000000..3cf20d5 --- /dev/null +++ b/logseq-java/logseq/.recycle/pages_HTTP通讯协议分为几个部分 请求协议的组成(1).md @@ -0,0 +1 @@ +- \ No newline at end of file diff --git a/logseq-java/logseq/.recycle/pages_contents 2.md b/logseq-java/logseq/.recycle/pages_contents 2.md new file mode 100644 index 0000000..3cf20d5 --- /dev/null +++ b/logseq-java/logseq/.recycle/pages_contents 2.md @@ -0,0 +1 @@ +- \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/journals_2022_03_28_1.md b/logseq-java/logseq/_recycle/journals_2022_03_28_1.md new file mode 100644 index 0000000..b003d90 --- /dev/null +++ b/logseq-java/logseq/_recycle/journals_2022_03_28_1.md @@ -0,0 +1,32 @@ +- # 蜗牛学院Java培训 #JAVA + - ### 课程时长21-22周,四个阶段 + 1. [[J2SE基础]] + 2. [[WEB单体项目]] + 3. [[前后端项目]] + 4. [[分布式项目]] + - ### 学习方法 + - 1. 预习,听课,课堂练习 + 2. 沟通 + 3. 作业,课堂总结 + 4. 当天不拖明天 + 5. [[Xmind]] review + - 课堂 + - 9:20-10:05背单词,晨考,review知识点,作业讲解 + - 10:15-12:20学内容,课堂45(上20后练习),休息10 + - 14:00-18:00同上 + - 18:30-20:30课后作业,总结当天知识点 + - 教学提供 + - 优质老师 + - 官网平台 + - 真实项目池 + - 简历支持,知识点回顾,模拟面试 + - 教学保障 + - 晨考,检查作业 + - 周考,不过关补习 + - 阶段考,不过关留级 + - 周一到五晚自习,周六自习,讲师值班 + - 找老师开小灶补习 + - 学员寄语 + - 你负责学好,其它的交给蜗牛 + - 校长hanling@womiuxy.com + - 总部chenhua@woniuxy.com \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/journals_2022_05_10(1).md b/logseq-java/logseq/_recycle/journals_2022_05_10(1).md new file mode 100644 index 0000000..a721a81 --- /dev/null +++ b/logseq-java/logseq/_recycle/journals_2022_05_10(1).md @@ -0,0 +1,4 @@ +- [[反射]] +- [[Class]] +- [[泛型]]的上下限 + - List \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_Class(2).md b/logseq-java/logseq/_recycle/pages_Class(2).md new file mode 100644 index 0000000..2291604 --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_Class(2).md @@ -0,0 +1,11 @@ +- Java中所有[[类]]都是Class类型的[[对象]] +- 类加载器负责加载所有的类,class字节码文载入到内存中,载入到内存的类[[JVM]]会创建一个Java.lang.Class对象 +- 通过该class对象可以访问该类的所有方法 +- 获取该类的class对象 + - 1. 访问类的class属性 + 2. 调用对象的getClass()方法 + 3. 通过类的全限定名字符串加载 +- java.lang.reflect包 +- 通过[[反射]]调用该类的构造方法 + - 通过getConstructor() + - 1. 获取该类的Classdu \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_Class(4).md b/logseq-java/logseq/_recycle/pages_Class(4).md new file mode 100644 index 0000000..cd3bf48 --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_Class(4).md @@ -0,0 +1,13 @@ +- Java中所有[[类]]都是Class类型的[[对象]] +- 类加载器负责加载所有的类,class字节码文载入到内存中,载入到内存的类[[JVM]]会创建一个Java.lang.Class对象 +- 通过该class对象可以访问该类的所有方法 +- 获取该类的class对象 + - 1. 访问类的class属性 + 2. 调用对象的getClass()方法 + 3. 通过类的全限定名字符串加载 +- java.lang.reflect包 +- 通过[[反射]]调用该类的构造方法 + - 通过getConstructor() + - 1. 获取该类的Class对象 + 2. getConstructor()获取构造器 + 3. 通过newInstance() \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_Class(6).md b/logseq-java/logseq/_recycle/pages_Class(6).md new file mode 100644 index 0000000..47a3032 --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_Class(6).md @@ -0,0 +1,14 @@ +- Java中所有[[类]]都是Class类型的[[对象]] +- 类加载器负责加载所有的类,class字节码文载入到内存中,载入到内存的类[[JVM]]会创建一个Java.lang.Class对象 +- 通过该class对象可以访问该类的所有方法 +- 获取该类的class对象 + - 1. 访问类的class属性 + 2. 调用对象的getClass()方法 + 先new一个对象 + 3. 通过类的全限定名字符串加载 +- java.lang.reflect包 +- 通过[[反射]]调用该类的构造方法 + - 通过getConstructor() + - 1. 获取该类的Class对象 + 2. getConstructor()获取构造器 + 3. 通过newInstance() 新建对象 \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_Class(9).md b/logseq-java/logseq/_recycle/pages_Class(9).md new file mode 100644 index 0000000..b75f08f --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_Class(9).md @@ -0,0 +1,23 @@ +- Java中所有[[类]]都是Class类型的[[对象]] +- 类加载器负责加载所有的类,class字节码文载入到内存中,载入到内存的类[[JVM]]会创建一个Java.lang.Class对象 +- 通过该class对象可以访问该类的所有方法 +- 获取该类的class对象 + - 1. 访问类的class属性 + 2. 调用对象的getClass()方法 + 先new一个对象再使用 + 3. 通过类的全限定名字符串加载 +- java.lang.reflect包 +- 通过[[反射]]调用该类的构造方法 + - 通过getConstructor() + - 1. 获取该类的Class对象 + 2. getConstructor()获取构造器 + 3. 通过newInstance() 新建对象 + - getConstructors() + - 获取所有构造器 +- 访问属性 + - getField() + - set() +- 访问方法 + - gerMethod() + - invoke() +- \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_Feishu+Logseq.md b/logseq-java/logseq/_recycle/pages_Feishu+Logseq.md new file mode 100644 index 0000000..f611e47 --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_Feishu+Logseq.md @@ -0,0 +1,5 @@ +- ## 实现功能 + - 通过[[飞书妙记]]导入视频解析生成文字,再导入到logseq中 +- ## 工具 + - Bilibili视频下载工具 +- [[嵌入Blibili视频]] \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_HTML(1).md b/logseq-java/logseq/_recycle/pages_HTML(1).md new file mode 100644 index 0000000..17ebf36 --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_HTML(1).md @@ -0,0 +1 @@ +- HyperText MarkLanguage \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_HTML(2).md b/logseq-java/logseq/_recycle/pages_HTML(2).md new file mode 100644 index 0000000..6f51df0 --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_HTML(2).md @@ -0,0 +1,2 @@ +- HyperText Markup Language +- jiegou \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_HTML(3).md b/logseq-java/logseq/_recycle/pages_HTML(3).md new file mode 100644 index 0000000..54529da --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_HTML(3).md @@ -0,0 +1,3 @@ +- HyperText Markup Language +- 结构 + - \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_HTML(4).md b/logseq-java/logseq/_recycle/pages_HTML(4).md new file mode 100644 index 0000000..1a43d9f --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_HTML(4).md @@ -0,0 +1,14 @@ +- HyperText Markup Language +- 结构 + - 声明`<!DOCTYPE html>` + - 完整HTML页面`` + - 头部`` + - 页面内容 +- 标题 + - 通过

-

定义 +- 段落 + - 通过

标签定义 +- 链接 + - 通过标签定义 +- 图像 + - 通过 \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_HTML(6).md b/logseq-java/logseq/_recycle/pages_HTML(6).md new file mode 100644 index 0000000..2929c42 --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_HTML(6).md @@ -0,0 +1,16 @@ +- HyperText Markup Language +- 结构 + - 声明`<!DOCTYPE html>` + - 完整HTML页面`` + - 头部`` + - 页面内容 +- 标题 + - 通过

-
定义 +- 段落 + - 通过

标签定义 +- 链接 + - 通过标签定义 +- 图像 + - 通过标签定义 +- 注释 + - 通过``来注释 \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_JDK1.8日期API.md b/logseq-java/logseq/_recycle/pages_JDK1.8日期API.md new file mode 100644 index 0000000..823eaa1 --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_JDK1.8日期API.md @@ -0,0 +1,4 @@ +- [[LocalDate]] +- [[LocalTime]] +- [[LocalDateTime]] +- \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_Java跨平台原理 _JVM.md b/logseq-java/logseq/_recycle/pages_Java跨平台原理 _JVM.md new file mode 100644 index 0000000..f38ea22 --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_Java跨平台原理 _JVM.md @@ -0,0 +1,12 @@ +- > Java程序不是运行在系统上,而是运行在了虚拟机上,Java开发团队针对每一种不同的系统开发了不同的虚拟机 +- 重要程度:高 +- 课程目标 + - 掌握Java如何跨平台 + - 理解JVM如何执行代码 +- ## Java的跨平台 + - 一次编写,处处运行 + - 一般在Windows上开发代码,而在Linux/Unix操作系统上运行 + - 如何做到 + - 通过JVM做到 + - JVM特点 + - 不同操作系统对应不同JVM \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_MainEnter.md b/logseq-java/logseq/_recycle/pages_MainEnter.md new file mode 100644 index 0000000..3e828d5 --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_MainEnter.md @@ -0,0 +1,17 @@ +- ```java + public class MainEnter { + public static void main(String[] args) { + String name = "袁晖"; + int age = 25; + double height = 177.5; + char gender = '男'; + boolean marry = false; + System.out.println(name); + System.out.println(age); + System.out.println(height); + System.out.println(gender); + System.out.println(marry); + } + } + + ``` \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_XX的个人介绍.md b/logseq-java/logseq/_recycle/pages_XX的个人介绍.md new file mode 100644 index 0000000..b7fdd71 --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_XX的个人介绍.md @@ -0,0 +1,20 @@ +- ```java + public class GirlFriendIntroduce { + public static void main(String[] args) { + System.out.println("我的女朋友眼睛又圆又亮"); + System.out.println("嘴巴笑的时候弯弯的") + System.out.println("特别爱看书"); + System.out.println("非常好学"); + } + } + ``` +- ```java + public class FamilyMemberIntroduction { + public static void main(String[] args) { + System.out.println("我的爸爸是个大高个"); + System.out.println("平时特别能干"); + System.out.println("做事情特别主动"); + System.out.println("而且乐于助人"); + } + } + ``` \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_多维数组 1.md b/logseq-java/logseq/_recycle/pages_多维数组 1.md new file mode 100644 index 0000000..b8afe3f --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_多维数组 1.md @@ -0,0 +1,6 @@ +- 二维数组 +- ```java + int[][] a = new int[3][]; + int[][] b = new int[4][5]; + int[][] c = new int{{1,2,3},{5,6},{7,8}}; + ``` \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_嵌入Blibili视频.md b/logseq-java/logseq/_recycle/pages_嵌入Blibili视频.md new file mode 100644 index 0000000..908b3ff --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_嵌入Blibili视频.md @@ -0,0 +1,2 @@ +- {{bilibili https://www.bilibili.com/video/BV1KY4y1r7J8}} +- \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_总结.md b/logseq-java/logseq/_recycle/pages_总结.md new file mode 100644 index 0000000..bb27b2c --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_总结.md @@ -0,0 +1,67 @@ +- 第一周第一天 + - [[计算机基础理论]] + - 软件 + - 操作系统 + - 应用软件 + - 硬件 + - 软件组成 + - 数据 + - 来源于用户 + - 代码指令 + - 程序员 + - 工程师 + - 新时代农民工 + - 编程语言 + - 机器语言 + - 0和1 + - 阅读性差 + - 维护性差 + - 拓展性差 + - 汇编语言 + - 符号语言 + - 阅读性差 + - 维护性差 + - 拓展性差 + - 高级编程语言 + - 结构化编程语言 + - 对象化语言 + - 计算机的发展 + - [[DOS命令]] + - cd 目录 + - cd x: + - dir + - ipconfig + - ping + - [[Java发展历程]] + - 91,SUN,star7 + - Oak-->Java + - 版本 + - Java2.0(JDK1.2) + - J2SE + - J2ME + - J2EE + - Java5.0(JDK1.5) + - 易用性 + - 特点 + - 2.0修正为5.0 + - 新东西 + - 枚举 + - 注解 + - 多线程 + - [[JDK环境搭建]] + - 环境变量 + - 目的 + - 将Java命令上升为系统命令 + - JAVA_HOME + - jdk路径 + - Path + - Java命令目录 + - \$JAVA_HOME\$\\bin + - CLASSPATH + - . + - [[HelloWorld详解]] + - 执行过程 + - 编译 + - 将源代码转化为字节码 + - 解释 + - 将字节码解释为二进制 \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_数组的遍历 1.md b/logseq-java/logseq/_recycle/pages_数组的遍历 1.md new file mode 100644 index 0000000..5713129 --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_数组的遍历 1.md @@ -0,0 +1,26 @@ +- for循环遍历 + - 从零开始 + - 不要超出范围 + - ```java + int[] numbers = {1,2,3} + int lnegth = numbers.length + for(int i = 0; i < length; i++){ + System.out.println(numbers[i]); + } + ``` +- 增强for循环 for each循环 + - ```java + int[] numbers = {1,2,3} + for(int ele : numbers){ + System.out.println(ele); + } + ``` +- 如果有针对下标的操作用第一种,否则第二种 +- 使用Arrays.toString() + - ```java + import java.util.Arrays; + + + int[] = {1,2,3,4,5,6,7}; + System.out.println(Arrays.toString(ns)) + ``` \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_方法的重载.md b/logseq-java/logseq/_recycle/pages_方法的重载.md new file mode 100644 index 0000000..d49090c --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_方法的重载.md @@ -0,0 +1,3 @@ +- 同一个方法中,参数名相同,参数类型不同 +- 返回类型和参数无关 +- \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_第一天 [[Mar 28th, 2022]].md b/logseq-java/logseq/_recycle/pages_第一天 [[Mar 28th, 2022]].md new file mode 100644 index 0000000..1db1c81 --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_第一天 [[Mar 28th, 2022]].md @@ -0,0 +1,34 @@ +- ((6243f2eb-c01a-4a1e-b0a0-3d5da4c01d3a)) +- [[计算机基础理论]] + - 课堂总结 + - 1. 硬件&软件 + 2. 软件 + 3. 编程语言 +- [[DOS命令]] +- [[windows快捷键]] + - 课堂总结 + - 1. 打开DOS + 2. DOS命令 + 3. 快捷键 +- [[Java发展历程]] + - 课堂总结 + - 1. JDK里程版本 + 2. Java三个开发方向:桌面,手机,企业/互联网 + 3. Java语言特点 + 简单... + 4. JDK>JRE>JVM +- [[JDK环境搭建]] + - 课堂小结 + - 变量配置 + - JAVA_HOME + - Path + - CLASSPATH + - 编译javac + - 运行java +- [[HelloWorld详解]] + - 课堂小结 + - Java编写执行:编译-->解释 + - 编译:源代码-->Class字节码 + - 解释:将Class字节码中信息解释为01二进制信息给JVM执行 + - 编译javac.exe执行 + 解释java.exe执行 \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_第三天.md b/logseq-java/logseq/_recycle/pages_第三天.md new file mode 100644 index 0000000..350d8e2 --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_第三天.md @@ -0,0 +1,9 @@ +- [[强制转换]] +- [[算术运算符]] +- [[关系运算符]] +- [[逻辑运算符]] +- [[自增运算符]] +- [[复合赋值运算符]] +- [[进制转换]] +- [[位运算符]] +- [[单分支和三元运算符]] \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_第三天[[Mar 30th, 2022]].md b/logseq-java/logseq/_recycle/pages_第三天[[Mar 30th, 2022]].md new file mode 100644 index 0000000..af0d954 --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_第三天[[Mar 30th, 2022]].md @@ -0,0 +1,56 @@ +- ((6243f2eb-c01a-4a1e-b0a0-3d5da4c01d3a)) + id:: 929a2886-339b-4489-b939-a4d79b31db2e +- ((62443d8f-0b57-4183-9c26-4d6c709a7e0d)) +- [[强制转换]] +- [[算术运算符]] +- [[关系运算符]] +- [[自增运算符]] +- [[复合赋值运算符]] +- [[进制转换]] +- +- 总结 + - 隐式转换 + - 小于int类型变量在计算式会自动提升为int类型 + - Java在计算数字时会自动检测值是否超出范围 + - 强制转换 + - 小容量类型装超出范围的变量时要用到强制转换 + - ```java + int a=200; + byte b = (byte) a; + ``` + - 强制转换讯在丢失精度,数据不准确的风险 + - double强制转换int可去掉小数点 + - 算数运算符 + - 共5个 + - * / % + - 参与运算表达式表示字符串拼接 + - 关系运算符 + - ((6243f2ea-e08c-4ec2-850d-3ecf6e67889a)) + - 关系运算符结果为布尔值 + - 键盘录入 + ```java + Scanner scanner = new Scanner(System.in); + System.out.println("请输入字符串:"); + String str = scanner.nextLine(); + + System.out.println("请输入整数:"); + int num = scanner.nextInt(); + ``` + - 自增运算符 + - i++和++i单独使用时效果一样 + - 嵌入至其它表达式中时: + i++ 要先用i的值计算,然后自己再+1 + ++i 要i自己先加1,然后在进行其它计算 + - i--和--i为自减运算符 + - 运算符优先级 + - 复合赋值运算符 + - 赋值运算符 = + 将 = 右边的值赋给左边的变量 + - 复合赋值运算符 + += -= *= /= %= <<= >>= >>>= + - num += 1 相当于num = num +1 + - 进制转换 + - 2进制,8进制,10进制,16进制 + - 10进制转2进制 + - 1byte有8个二进制位,从右到左位数变高,最左为符号位,0为正,1为负 + - 原码,反码,补码 + - 2进制转10进制 \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_第二天 [[Mar 29th, 2022]].md b/logseq-java/logseq/_recycle/pages_第二天 [[Mar 29th, 2022]].md new file mode 100644 index 0000000..7105ef6 --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_第二天 [[Mar 29th, 2022]].md @@ -0,0 +1,83 @@ +- ((6243f2eb-1936-487f-9b7e-f755bc19a26c)) +- ((6243f2eb-7784-4d21-85a9-0d5769977cd1)) +- [[Java跨平台原理]] +- [[IDE集成开发环境]] +- [[基本数据类型]] +- [[标识符]] +- [[变量]] +- [[隐式转换]] +- +- +- ## 总结 + - 1. Java跨平台原理 + - Java程序运行在JVM虚拟机上,通过不同平台上的不同的JVM做到跨平台 + - 2. IDE集成开发工具 + - 常见工具 + - Eclipse,IDEA + - IDEA的下载安装 + - IDEA新建项目 + - Create-->Java--> Create project from template + Project name + Project location + - ((6243a9f6-b334-4daf-b1ec-b51335bba244)) + - com 公司 + gov 政府 + edu 教育 + org 开源 + - 公司组织名称 + - 项目名称 + - IDEA设置调整 + - 字体大小 + - 背景修改 + - 设置Eclipse快捷键 + - Eclipse快捷键 + - 3.标识符 + - 系统默认标识符,称为关键字 + - 共50个 + - goto const不常用 + true false null为保留关键字 + - 自定义标识符 + - 组成:数字,字母,_,$ + 不以数字开头,区分大小写 + 不能为关键字 + - 命名原则: + 类名使用大驼峰 + 方法名,变量名,参数名使用小驼峰 + 常量名单词大写,用_分割 + - 4. 变量 + - 3种注释 + - 单行 + ```java + //单行注释 + ``` + - 多行 + ```java + /* + *多行 + *注释 + */ + ```\ + - 文档 + ```java + /** + *文档 + *注释 + */ + ``` + - 变量是在一定范围内可以变化的量 + - 两种变量声明 + - 分类: + - 全局变量 + - 局部变量 + - 注意: + - 定义后必须赋初值 + - 同一方法内不能重复 + - 常量 + - 恒久不变的量 + - 5. 基本数据类型 + - id:: 62430943-f5ed-4f66-bf98-aeadd8995932 + |byte|short|int(默认整数)|long|float|double(默认浮点)|char|boolean| + - 6. 隐式转换 + - 小容量数据向大容量数据自动向上转换 + - 字符集 + - ASCII码 \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_第五天.md b/logseq-java/logseq/_recycle/pages_第五天.md new file mode 100644 index 0000000..e429bb4 --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_第五天.md @@ -0,0 +1 @@ +- ((62443d8f-0b57-4183-9c26-4d6c709a7e0d)) \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_第五天[[Apr 1st, 2022]].md b/logseq-java/logseq/_recycle/pages_第五天[[Apr 1st, 2022]].md new file mode 100644 index 0000000..6414c3d --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_第五天[[Apr 1st, 2022]].md @@ -0,0 +1,79 @@ +- ((62443d8f-0b57-4183-9c26-4d6c709a7e0d)) +- [[for循环]] +- [[while循环]] +- [[do while 循环]] +- [[退出循环]] +- [[嵌套循环]] +- [[数组基础]] +- [[基本数据类型]] +- [[数组的遍历]] +- [[数组内存分析]] +- [[多维数组]] +- [[程序调试]] +- +- +- ## 总结 + - For循环 + - 不停的重复做相同的或相似的事 + - 一般用于循环次数已知的情况下 + - ```java + for(初始化一个变量;判断退出循环的条件;变量的更新){ + //需要被循环执行的代码 + } + ``` + - 1. 变量的初始化只执行一次 + 2. 判断及变量的更新都是执行多次 + 3. 变量的值不符合判断条件时结束 + - 变种 + - 初始值写在外面 + - 判断条件写在外面 + - 变量的更新写在外面 + - 先验循环:循环开始前前先验证循环条件 + - while循环 + - 可能不知道循环次数,但知道何时结束 + - ```java + while(判断条件){ + //需要循环的代码 + } + ``` + - do-while循环 + - 后验循环:先执行条件,后判断 + - 死循环 + - 程序在不断执行某段代码,停不下来 + - 退出循环 + - break + - 中止本层循环 + - continue + - 结束本次循环,进入下一次循环 + - return + - 中止循环,直接返回方法的结果 + - 嵌套循环 + - 循环中嵌套其它循环 + - 嵌套不超过3层 + - 数组基础 + - 数组 + - 数组中类型要一致 + - 数组的元素是有序的 + - 数组的长度是固定的 + - 使用 + - ```java + String[] names = new String[6]; + ``` + - 存取 + - 数组下标从0开始 + - 数组的遍历 + - 自定义数组 + - ```java + int[] nums = {12,23,34,12,25,23,78,65}; + ``` + - 遍历 + - for循环遍历 + - 增强for循环遍历 + - ```java + for(元素的数据类型 变量: 数组){ + System.out.println(变量); + } + ``` +- +- + - \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_第四天[[Mar 31th, 2022]].md b/logseq-java/logseq/_recycle/pages_第四天[[Mar 31th, 2022]].md new file mode 100644 index 0000000..922a729 --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_第四天[[Mar 31th, 2022]].md @@ -0,0 +1,11 @@ +- ((6243f2eb-7784-4d21-85a9-0d5769977cd1)) +- [[位运算符]] +- [[逻辑运算符]] +- [[单分支]] +- [[多分支]] +- [[嵌套判断]] +- [[switch]] +- [[while循环]] +- [[for循环]] +- [[do while 循环]] +- ((62443e30-53da-464a-a0f8-d6df37f2351a)) \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_练习.md b/logseq-java/logseq/_recycle/pages_练习.md new file mode 100644 index 0000000..f1d8263 --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_练习.md @@ -0,0 +1,3 @@ +- +- +- \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_蜗牛java培训笔记.md b/logseq-java/logseq/_recycle/pages_蜗牛java培训笔记.md new file mode 100644 index 0000000..ffd82e5 --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_蜗牛java培训笔记.md @@ -0,0 +1,14 @@ +- [[练习]] +- [[总结]] +- ## 第一周 + - ### [[第一天 [[Mar 28th, 2022]]]] + id:: 6243f2eb-1936-487f-9b7e-f755bc19a26c + - ### [[第二天 [[Mar 29th, 2022]]]] + id:: 6243f2eb-c01a-4a1e-b0a0-3d5da4c01d3a + - ### [[第三天[[Mar 30th, 2022]]]] + id:: 6243f2eb-7784-4d21-85a9-0d5769977cd1 + - ### [[第四天[[Mar 31th, 2022]]]] + id:: 62443d8f-0b57-4183-9c26-4d6c709a7e0d + - ### [[第五天]] + id:: 62443e30-53da-464a-a0f8-d6df37f2351a + - \ No newline at end of file diff --git a/logseq-java/logseq/_recycle/pages_预习.md b/logseq-java/logseq/_recycle/pages_预习.md new file mode 100644 index 0000000..d2f27b3 --- /dev/null +++ b/logseq-java/logseq/_recycle/pages_预习.md @@ -0,0 +1,10 @@ +- 20220328 + - [[java跨平台原理]] + [[IDE集成开发环境]] + [[基本数据类型]] + [[标识符]] + [[变量]] + [[隐式转换]] + [[强制转换]] + [[算术运算符]] + [[关系运算符]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_03_28/2022-04-01T01_14_49.508Z.md b/logseq-java/logseq/bak/journals/2022_03_28/2022-04-01T01_14_49.508Z.md new file mode 100644 index 0000000..a5ab1ff --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_03_28/2022-04-01T01_14_49.508Z.md @@ -0,0 +1,31 @@ +- ## [[蜗牛java培训笔记]] +- 学习阶段 + - 第一阶段 + - 重点:JavaSE 集合 数据库 Mybatis + - 个人项目 + - 第二阶段 + - 重点 SSM SpringBoot + - 个人项目 + - 第三阶段 + - 重点 Linux Redis ES全文检索引擎 前后端分离开发 + - 团队项目简历项目 + - 第四阶段 + - 重点 SpringCloud Alibaba RabbitMQ服务器 分布式事务 + - 团队项目简历项目 +- 上课模式 + - 不用PPT 笔记代码纯手打,画图现画 + - 上课时间 45min 休息10min +- 整理笔记 + - 一个知识点一个笔记 + - 每个笔记包含 + - 笔记名称(重要程度:低中高) + - 课程目标 + - 课程内容 + - 课程小结 +- 课程资料 + - 视频15min范围内 + - 20220328-01-知识点名称(一) + - 20220328-01-知识点名称(二) + - 20220328-01-知识点名称(三) + - [课程视频](https://www.woniuxy.com/book/) + - [预习资料](https://www.woniuxy.com/book/) \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_03_28/2022-04-07T14_01_46.249Z.md b/logseq-java/logseq/bak/journals/2022_03_28/2022-04-07T14_01_46.249Z.md new file mode 100644 index 0000000..cec1a2e --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_03_28/2022-04-07T14_01_46.249Z.md @@ -0,0 +1,32 @@ +### [[第一天 [[Mar 28th, 2022]]]] +id:: c32dfd00-a428-41f7-b330-7d06e289dc90 +- 学习阶段 + - 第一阶段 + - 重点:JavaSE 集合 数据库 Mybatis + - 个人项目 + - 第二阶段 + - 重点 SSM SpringBoot + - 个人项目 + - 第三阶段 + - 重点 Linux Redis ES全文检索引擎 前后端分离开发 + - 团队项目简历项目 + - 第四阶段 + - 重点 SpringCloud Alibaba RabbitMQ服务器 分布式事务 + - 团队项目简历项目 +- 上课模式 + - 不用PPT 笔记代码纯手打,画图现画 + - 上课时间 45min 休息10min +- 整理笔记 + - 一个知识点一个笔记 + - 每个笔记包含 + - 笔记名称(重要程度:低中高) + - 课程目标 + - 课程内容 + - 课程小结 +- 课程资料 + - 视频15min范围内 + - 20220328-01-知识点名称(一) + - 20220328-01-知识点名称(二) + - 20220328-01-知识点名称(三) + - [课程视频](https://www.woniuxy.com/book/) + - [预习资料](https://www.woniuxy.com/book/) \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_03_28/2022-04-19T01_19_35.129Z.md b/logseq-java/logseq/bak/journals/2022_03_28/2022-04-19T01_19_35.129Z.md new file mode 100644 index 0000000..3501b09 --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_03_28/2022-04-19T01_19_35.129Z.md @@ -0,0 +1,68 @@ +- [[计算机基础理论]] + collapsed:: true + - 课堂总结 + - 1. 硬件&软件 + 2. 软件 + 3. 编程语言 +- [[DOS命令]] +- [[windows快捷键]] + collapsed:: true + - 课堂总结 + - 1. 打开DOS + 2. DOS命令 + 3. 快捷键 +- [[Java发展历程]] + collapsed:: true + - 课堂总结 + - 1. JDK里程版本 + 2. Java三个开发方向:桌面,手机,企业/互联网 + 3. Java语言特点 + 简单... + 4. JDK>JRE>JVM +- [[JDK环境搭建]] + collapsed:: true + - 课堂小结 + - 变量配置 + - JAVA_HOME + - Path + - CLASSPATH + - 编译javac + - 运行java +- [[HelloWorld详解]] + collapsed:: true + - 课堂小结 + - Java编写执行:编译-->解释 + - 编译:源代码-->Class字节码 + - 解释:将Class字节码中信息解释为01二进制信息给JVM执行 + - 编译javac.exe执行 + 解释java.exe执行 +- 学习阶段 + - 第一阶段 + - 重点:JavaSE 集合 数据库 Mybatis + - 个人项目 + - 第二阶段 + - 重点 SSM SpringBoot + - 个人项目 + - 第三阶段 + - 重点 Linux Redis ES全文检索引擎 前后端分离开发 + - 团队项目简历项目 + - 第四阶段 + - 重点 SpringCloud Alibaba RabbitMQ服务器 分布式事务 + - 团队项目简历项目 +- 上课模式 + - 不用PPT 笔记代码纯手打,画图现画 + - 上课时间 45min 休息10min +- 整理笔记 + - 一个知识点一个笔记 + - 每个笔记包含 + - 笔记名称(重要程度:低中高) + - 课程目标 + - 课程内容 + - 课程小结 +- 课程资料 + - 视频15min范围内 + - 20220328-01-知识点名称(一) + - 20220328-01-知识点名称(二) + - 20220328-01-知识点名称(三) + - [课程视频](https://www.woniuxy.com/book/) + - [预习资料](https://www.woniuxy.com/book/) \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_03_29/2022-04-07T14_01_46.295Z.md b/logseq-java/logseq/bak/journals/2022_03_29/2022-04-07T14_01_46.295Z.md new file mode 100644 index 0000000..6a4d9f7 --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_03_29/2022-04-07T14_01_46.295Z.md @@ -0,0 +1 @@ +- ### [[第二天 [[Mar 29th, 2022]]]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_03_30/2022-04-07T14_01_46.315Z.md b/logseq-java/logseq/bak/journals/2022_03_30/2022-04-07T14_01_46.315Z.md new file mode 100644 index 0000000..f681a7b --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_03_30/2022-04-07T14_01_46.315Z.md @@ -0,0 +1 @@ +- ### [[第三天[[Mar 30th, 2022]]]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_03_31/2022-04-07T14_01_46.327Z.md b/logseq-java/logseq/bak/journals/2022_03_31/2022-04-07T14_01_46.327Z.md new file mode 100644 index 0000000..e429bb4 --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_03_31/2022-04-07T14_01_46.327Z.md @@ -0,0 +1 @@ +- ((62443d8f-0b57-4183-9c26-4d6c709a7e0d)) \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_03_31/2022-04-19T01_19_37.388Z.md b/logseq-java/logseq/bak/journals/2022_03_31/2022-04-19T01_19_37.388Z.md new file mode 100644 index 0000000..3be0f89 --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_03_31/2022-04-19T01_19_37.388Z.md @@ -0,0 +1,97 @@ +- [[位运算符]] +- [[逻辑运算符]] +- [[IF判断]] +- [[嵌套判断]] +- [[switch]] +- [[while循环]] +- [[for循环]] +- [[do while 循环]] +- +- ## 总结 + collapsed:: true + - 位运算符 + - & | ^的两侧可以放置数值,也可以放布尔表达式 + - 按位与 & + - 按照二进制比较,同为1则为1,否则为0 + - 按位或 | + - 按照二进制比较,有1就是1,否则为0 + - 异或 ^ + - 按照二进制比较,01的结果为1,11和00都是0 + - 取反 ~ + - 将二进制0变成1,1变成0 + - 移位运算 + - << 表示将数字的二进制整体向左移动 + - \>> 表示将数字的二进制整体向右移动,原本符号不变 + - \>>> 表示将数字的二进制整体向右移动,不考虑符号 + - 逻辑运算符 + - 两侧只能放布尔表达式 + - 逻辑与 && + - 两个都为true式整个结果才是true + - 短路与,前面表达式为false时,后面表达式不会执行 + - 逻辑或 || + - 两个只要有true,整个结果就是true + - 短路与,前面表达式为true时,后面表达式不会执行 + - 逻辑非 ! + - 假变真,真变假 + - IF逻辑判断 + - Java代码执行顺序 + - 从上至下,从左至右 + - IF流程控制 + - 单分支 + - ```java + if(布尔表达式){ + //代码 + } + ``` + - 双分支 + - ```java + if(布尔表达式){ + //代码1 + }else{ + //代码2 + } + ``` + - 三目运算符 + - if双分支的简写 + - ```java + 数据类型 变量 = (布尔表达式)? 值1 : 值2; + ``` + - 多分支和嵌套 + - 当要判断的条件很多时,嵌套判断阅读维护性差 + - 多分支 + - ```java + if(布尔表达式1){ + //代码1 + }else if(布尔表达式2){ + //代码2 + }else if(布尔表达式3){ + //代码3 + }……{ + }else{ + //代码n + } + ``` + - switch + - switch与if区别在于switch判断的是几个固定的值 + - ```java + int num = 值; + switch(num){ + case 值1: + //代码1 + break; + case 值2: + //代码2 + break; + case 值3: + //代码3 + break; + …… + default: + //默认语句代码 + break; + } + ``` + - + - +- + - \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_04_01/2022-04-07T14_01_46.329Z.md b/logseq-java/logseq/bak/journals/2022_04_01/2022-04-07T14_01_46.329Z.md new file mode 100644 index 0000000..ea8d64a --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_04_01/2022-04-07T14_01_46.329Z.md @@ -0,0 +1,2 @@ +- day4 +- Apr 1st, 2022 \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_04_04/2022-04-19T01_19_37.391Z.md b/logseq-java/logseq/bak/journals/2022_04_04/2022-04-19T01_19_37.391Z.md new file mode 100644 index 0000000..e7d903e --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_04_04/2022-04-19T01_19_37.391Z.md @@ -0,0 +1,19 @@ +- [[格式化输出]] +- [[数组排序]] +- [[多维数组]] +- [[命令行参数]] +- [[面向对象编程]] +- [[方法]] +- [[构造方法]] +- [[方法重载]] +- [[继承]] +- [[多态]] +- [[抽象类]] +- [[接口]] +- [[静态字段]] +- [[静态方法]] +- [[包]] +- [[作用域]] +- [[classpath]] +- [[jar]] +- [[模块]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_04_04/2022-07-07T01_32_54.205Z.md b/logseq-java/logseq/bak/journals/2022_04_04/2022-07-07T01_32_54.205Z.md new file mode 100644 index 0000000..babc93c --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_04_04/2022-07-07T01_32_54.205Z.md @@ -0,0 +1,17 @@ +- [[格式化输出]] +- [[数组排序]] +- [[多维数组]] +- +- [[方法]] +- +- [[继承]] +- +- +- +- +- +- +- +- +- +- \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_04_05/2022-04-19T01_19_37.394Z.md b/logseq-java/logseq/bak/journals/2022_04_05/2022-04-19T01_19_37.394Z.md new file mode 100644 index 0000000..196c74e --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_04_05/2022-04-19T01_19_37.394Z.md @@ -0,0 +1,16 @@ +- [[命令行参数]] +- [[面向对象编程]] +- [[方法]] +- [[构造方法]] +- [[方法重载]] +- [[继承]] +- [[多态]] +- [[抽象类]] +- [[接口]] +- [[静态字段]] +- [[静态方法]] +- [[包]] +- [[作用域]] +- [[classpath]] +- [[jar]] +- [[模块]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_04_05/2022-07-07T01_32_54.209Z.md b/logseq-java/logseq/bak/journals/2022_04_05/2022-07-07T01_32_54.209Z.md new file mode 100644 index 0000000..fa0c00b --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_04_05/2022-07-07T01_32_54.209Z.md @@ -0,0 +1,12 @@ +- [[命令行参数]] +- +- [[方法]] +- [[继承]] +- +- +- [[静态方法]] +- +- +- +- [[jar]] +- [[模块]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_04_06/2022-04-19T01_19_37.399Z.md b/logseq-java/logseq/bak/journals/2022_04_06/2022-04-19T01_19_37.399Z.md new file mode 100644 index 0000000..ac8c197 --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_04_06/2022-04-19T01_19_37.399Z.md @@ -0,0 +1,25 @@ +- [[面向对象编程]] +- [[面向对象的定义]] + id:: 624d850f-e491-432e-9d59-15f986d5ec41 +- [[类和对象的创建]] +- [[数组排序]] +- [[数组内存分析]] +- 总结 + collapsed:: true + - 数组的排序 + - 获取数组的最值 + - 定义最值为数组第一个,for循环遍历比较,使用中间变量交换最值 + - 查询数组中的元素 + - 数组反转 + - 交换元素中从头开始和从尾开始对应的元素 + - 冒泡排序 + - 两两比较,并交换位置 + - 选择排序 + - 通过比较确定最值的下标,并在比较结束后交换最值的位置 + - 数组内存分析 + - 数组内存 + - 数组为自定义变量,在栈中存储的是内存中的地址 + - 当给一个数组重新定义时,会改变栈中指向堆中的地址,原来的数据失去引用会被回收 + - 常见错误 + - 下标越界:下标超出程序中数组的下标范围 + - 空指针:数组没有具体存储空间 \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_04_06/2022-07-07T01_32_54.212Z.md b/logseq-java/logseq/bak/journals/2022_04_06/2022-07-07T01_32_54.212Z.md new file mode 100644 index 0000000..06fe1a5 --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_04_06/2022-07-07T01_32_54.212Z.md @@ -0,0 +1,30 @@ +- [[面向对象]] +- id:: 624d850f-e491-432e-9d59-15f986d5ec41 +- [[类和对象的创建]] +- [[数组排序]] +- [[数组内存分析]] +- +- +- +- +- +- +- 总结 + collapsed:: true + - 数组的排序 + - 获取数组的最值 + - 定义最值为数组第一个,for循环遍历比较,使用中间变量交换最值 + - 查询数组中的元素 + - 数组反转 + - 交换元素中从头开始和从尾开始对应的元素 + - 冒泡排序 + - 两两比较,并交换位置 + - 选择排序 + - 通过比较确定最值的下标,并在比较结束后交换最值的位置 + - 数组内存分析 + - 数组内存 + - 数组为自定义变量,在栈中存储的是内存中的地址 + - 当给一个数组重新定义时,会改变栈中指向堆中的地址,原来的数据失去引用会被回收 + - 常见错误 + - 下标越界:下标超出程序中数组的下标范围 + - 空指针:数组没有具体存储空间 \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_04_07/2022-04-19T01_19_37.401Z.md b/logseq-java/logseq/bak/journals/2022_04_07/2022-04-19T01_19_37.401Z.md new file mode 100644 index 0000000..8c9b12e --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_04_07/2022-04-19T01_19_37.401Z.md @@ -0,0 +1,72 @@ +- [[属性与方法]] +- [[传参]] +- [[调试]] +- [[方法的重载]] +- [[面向对象的定义]] +- 总结 + - 参数的传参 + - 方法的定义 + - 主函数 + ```java + public static void main(String[] args){ + //主函数的代码 + } + ``` + - 定义方法 + ```java + 访问修饰符 static 返回类型 方法的方法名(参数列表){ + //方法的代码块 + } + ``` + - 参数列表:数据类型 参数名, 数据类型 参数名,数据类型 参数名…… + - 分类 + - 有参有返回 + - 有参无返回 + - 无参有返回 + - 无参无返回 + - 如果知道一个方法,需要传递什么参数? + - 方法在完成业务时,需要外部提供什么,就定义什么 + - 调试Debug + - F5 + - 进入断点方法内部 + - F6 + - 逐行执行代码,不进入方法内部 + - F7 + - 推出当前断电方法的内部 + - F8 + - 到达下一个断点 + - 方法的重载 + - 在同一个类中,相同的方法,不同的参数列表(参数的类型,参数的个数,参数的顺序)的方法 + - 面向对象 + - 面向过程 + - 强调完成事务的过程,注重的是步骤 + - 面向对象 + - 在合适的时间找合适的人或物干对应的事情 + - 万物皆对象 + - 万物皆对象,但对象因我的关注而存在 + - 类和对象 + - 类是对大量对象的一种抽象,归纳 + - 对象是类的一种具体实例 + - 需要抽象对象的东西 + - 属性 + - 一大帮对象拥有的共同值,强调Has,是对对象的一种静态描述 + - 行为 + - 一大帮对象能干什么事,强调Do,是对对象的一种动态描述 + - 创建类 + - ```java + 访问修饰符 class 类的类名{ + //属性 + 访问修饰符 数据类型 属性的名称; + //行为 + 访问修饰符 返回类型 方法的方法名称(参数列表){ + // 方法中的代码 + return 返回值; + } + } + ``` + - 创建对象 + - new + - ```java + 类名 对象名 = new 类() + ``` +- \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_04_07/2022-07-07T01_32_54.215Z.md b/logseq-java/logseq/bak/journals/2022_04_07/2022-07-07T01_32_54.215Z.md new file mode 100644 index 0000000..eafbe84 --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_04_07/2022-07-07T01_32_54.215Z.md @@ -0,0 +1,79 @@ +- +- [[传参]] +- [[调试]] +- [[方法重载]] +- [[面向对象的定义]] +- +- +- +- +- +- +- 总结 + collapsed:: true + - 参数的传参 + - 方法的定义 + - 主函数 + ```java + public static void main(String[] args){ + //主函数的代码 + } + ``` + - 定义方法 + ```java + 访问修饰符 static 返回类型 方法的方法名(参数列表){ + //方法的代码块 + } + ``` + - 参数列表:数据类型 参数名, 数据类型 参数名,数据类型 参数名…… + - 分类 + - 有参有返回 + - 有参无返回 + - 无参有返回 + - 无参无返回 + - 如果知道一个方法,需要传递什么参数? + - 方法在完成业务时,需要外部提供什么,就定义什么 + - 调试Debug + - F5 + - 进入断点方法内部 + - F6 + - 逐行执行代码,不进入方法内部 + - F7 + - 推出当前断电方法的内部 + - F8 + - 到达下一个断点 + - 方法的重载 + - 在同一个类中,相同的方法,不同的参数列表(参数的类型,参数的个数,参数的顺序)的方法 + - 面向对象 + - 面向过程 + - 强调完成事务的过程,注重的是步骤 + - 面向对象 + - 在合适的时间找合适的人或物干对应的事情 + - 万物皆对象 + - 万物皆对象,但对象因我的关注而存在 + - 类和对象 + - 类是对大量对象的一种抽象,归纳 + - 对象是类的一种具体实例 + - 需要抽象对象的东西 + - 属性 + - 一大帮对象拥有的共同值,强调Has,是对对象的一种静态描述 + - 行为 + - 一大帮对象能干什么事,强调Do,是对对象的一种动态描述 + - 创建类 + - ```java + 访问修饰符 class 类的类名{ + //属性 + 访问修饰符 数据类型 属性的名称; + //行为 + 访问修饰符 返回类型 方法的方法名称(参数列表){ + // 方法中的代码 + return 返回值; + } + } + ``` + - 创建对象 + - new + - ```java + 类名 对象名 = new 类() + ``` +- \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_04_08/2022-07-07T01_32_54.218Z.md b/logseq-java/logseq/bak/journals/2022_04_08/2022-07-07T01_32_54.218Z.md new file mode 100644 index 0000000..8e7e1c7 --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_04_08/2022-07-07T01_32_54.218Z.md @@ -0,0 +1,91 @@ +- [[属性和行为]] +- [[对象的内存模型分析]] +- [[static]] +- [[访问修饰符]] +- [[this]] +- [[getter与setter]] +- [打字练习](https://github.com/Kaiyiwing/qwerty-learner) +- +- +- +- +- 总结 + id:: 624faffe-39f4-4020-9f12-39a039a8a618 + collapsed:: true + - 属性和行为 + id:: 624fb005-9338-408d-9042-057369983bc9 + - 属性的使用 + id:: 624fb021-f3cc-4cc9-b8e9-7041e05ef903 + - 对象.属性 + id:: 624fb035-d5f0-45db-b52f-bab47d78d7aa + - 行为的使用 + id:: 624fb024-208d-48c5-8cfe-3032cee5f1d9 + - 对象.行为 + id:: 624fb041-6174-4622-9a10-498d2d7fd57d + - 对象的内存模型 + id:: 62512765-08f0-4106-a64a-b64e16d1f202 + - JVM内存分配 + id:: 62512770-0853-4244-ae3d-793aa9f81512 + - 栈 + id:: 6251277a-226a-44a2-85ee-bf9bb5db25e5 + - 用来存储方法的调用关系,以及方法内部的变量 + id:: 62512783-8b92-4702-8208-57139384662b + - 堆 + id:: 6251279d-e3c1-4454-805d-478eceaeecb7 + - 放置使用new关键字创建出来的对象,全局动态字符串常量池 + id:: 625127a9-c892-492e-afaf-2ca61f481311 + - 本地方法栈 + id:: 625127d6-fdcb-4f58-8b11-b43a0136d3a3 + - 放置跟操作系统进行交互的本地方法 + id:: 625127df-acc1-4ab2-a351-d78fe5ae4296 + - 程序计数器 + id:: 625127f3-4b2d-4351-ae12-9fcf6ae3db04 + - 放置代码的执行顺序 + id:: 625127fd-6e4c-4c95-bc1d-d009ecc27e2f + - 元空间 + id:: 62512807-ee93-4f57-88e6-43b03c7cca0b + - 放置类的类对象 + id:: 62512813-5158-4785-ae45-d7ecb4c0b13e + - 对象的内存模型 + id:: 62512820-ddbf-427c-bbbb-5df3124a61cc + - static关键字 + id:: 62512837-668a-423e-9a0c-5a8844cb1c27 + - 如果某个方法有写static,表示这个方法是一个静态方法,没有则是动态方法 + id:: 62512841-f8a7-4dfa-85ed-c314f65c66ba + - 如果一个方法不能和任何一个对象挂靠,那么这个方法就应该是个静态方法 + id:: 62512872-e7c9-491f-819e-61352e3ea925 + - 静态方法的使用 + id:: 6251289b-4037-4a04-b61c-335032ae043c + - 通过类名.静态方法调用,也称类方法 + id:: 625128a4-904e-4e79-8be4-6df24b009c7d + - 静态方法和非静态方法的调用 + id:: 625128b6-23e5-405c-8f00-8d4630226c2e + - 静态方法不能直接调用非静态方法,可以直接调用静态方法 + id:: 625128eb-7774-4247-9d74-3a9f117d2803 + - 非静态方法可以直接调用静态方法 + id:: 6251291d-2634-4cc7-880e-da2c02576d3f + - 访问修饰符 + id:: 6251293b-dde1-4786-9e7d-461977662314 + - ((624ff0b4-39b0-4eef-9c71-0990589ca29a)) + id:: 6251296b-d185-4cc4-938d-63955c0d0237 + - 封装 + id:: 62512971-334b-45d7-b0f9-735d5d0d2d6a + - 隐藏 private + id:: 62512993-3596-47c6-b503-b4e17f70d632 + - 包装 使用方法针对属性控制 + id:: 62512980-86af-43dc-983f-50a9a380b536 + - 变量的二义性 + id:: 625129b8-349c-4fef-bdfe-14e8a70e488b + - this + id:: 625129d9-78fa-47e5-880d-47eaa0c19b59 + - 谁在调用this 所在方法,这个this 就是谁 + id:: 625129dd-b45d-4a50-9bae-5ef2fb5bbdde + - getter和setter + id:: 625129e5-e317-48d6-b7f3-0acf62c247c1 + - Setter方法 : 专门用来修改对象的私有属性的值 + id:: 625129f1-475d-4d1b-b950-1392bd7c988a + - Getter 方法: 专门用来获得对象的私有属性的值 + id:: 625129fe-6918-4d7e-9211-d5620c7b7361 + - + - id:: 62512953-95f2-44c4-aef3-8feebcb9e676 + - id:: 62512943-6cf5-4c98-8c16-702d6edfb023 \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_04_12/2022-04-19T01_19_37.413Z.md b/logseq-java/logseq/bak/journals/2022_04_12/2022-04-19T01_19_37.413Z.md new file mode 100644 index 0000000..1d14421 --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_04_12/2022-04-19T01_19_37.413Z.md @@ -0,0 +1,96 @@ +- [[final]] +- [[抽象类]] +- [[接口]] +- [[多态]] +- +- 预习 + - [[向上转型]] + - [[向下转型]] + - [[字符串]] + - [[String类]] + - [[StringBuilder]] + - [[StringBuffer]] + - [[Object类常用API]] + - [[Arrays]] + - [[System]] + - [[UUID]] + - [[Math]] + - [[random]] +- +- +- +- 总结 + - final + - 最终的,最后的 + - 修饰类 + - 表示该类为最终类,不能被继承 + - 修饰方法 + - 表示该方法不能被子类重写 + - 修饰变量 + - 表示该量为一个常量 + - 抽象类 + - 具有抽象方法的类 + - 当某一方法没有具体的实现案例时,此方法为一个抽象方法 + - 不能被实例化,因为有方法不确定 + - 抽象类中的抽象方法在子类中重写去实现 + - 特点 + - 具有抽象方法的类,一定是个抽象类 + - 抽象类不一定具有抽象方法 + - 抽象类通过abstract定义,并且抽象方法一定要在子类中实现 + - 假如子类也实现不了这个方法,将子类也定义为抽象类 + - 抽象类无法实例化 + - 可放置的元素 + - 抽象方法 + - 非抽象方法 + - 成员属性 + - 构造器 + - 面试题 + - 抽象方法,可以定义成私有的不? + - 答:私有代表无法被重写,抽象方法是一定要子类重写! + - 抽象方法,可以定义为static的么? + - 答:static方法的调用方式:类名.方法名 意味着:这个方法一定有过实现;但是抽象方法实现了么? + - 抽象方法,可以定义为final的么? + - 答:final 定义在方法上,表示这个方法不能被重写;但是抽象方法一定需要子类重写! + - 接口 + - 也是一种抽象,比抽象类还要抽象 + - 作用:帮系统拓展新的功能 + - 使用 + - ```java + public interface 接口的接口名{ + //需要拓展的功能 + } + ``` + - ```java + 访问修饰符 class 类的类名 extends 父类 implements 接口{ + //原有及接口拓展的功能 + } + ``` + - 特点 + - 接口不能被实例化 + - 接口中抽象方法,默认为publlic abstract + - 接口中抽象方法,必须要通过类给与实现 + - 接口中的抽象方法,实现类可以变成抽象类,及可以实现接口中的方法 + - 类只能单继承,但是接口可以多实现 + - 类只能单继承,但是接口可以多继承 + - 多态 + - 多种形态 + - > 相同的行为,不同的实现 + - 静态多态 + - 重载 + - 动态多态 + - 根据传入的对象不一样,调用相同的行为,拥有不同的实现 + - 动态多态先决条件 + - 必须要继承,必须要有方法的重写 + - 父类的引用,可以指向子类的实现 + - 父类的引用,看不到子类独有的东西 + - 子类的引用,可以看到父类的东西,也可以看到自己独有的 + - 动态绑定技术 + - 父类的引用,指向不同子类的是实现,会自动调用对应子类的行为 + - 用处 + - 多态集合 + - ```java + Object[] objts = new Object[10]; + ``` + - 多态参数 + - 在一个方法中,将父类定为参数,调用的时候,传入对应子类的实现 + - 由于多态的特点,做到:传入不同的子类,调用相同的行为,可以做到不同的实现 \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_04_13/2022-04-13T11_09_40.744Z.md b/logseq-java/logseq/bak/journals/2022_04_13/2022-04-13T11_09_40.744Z.md new file mode 100644 index 0000000..1f5beb3 --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_04_13/2022-04-13T11_09_40.744Z.md @@ -0,0 +1,84 @@ +- [[向上转型与向下转型]] +- [[面向对象的特征]] +- [[静态代码块]] +- [[实例代码块]] +- [[Object类常用API]] +- [[字符串概述]] +- +- +- 总结 + - 向上转型 + - 基本数据类型的向上转型 + - 隐式转换 + - 引用数据类型的向上转型 + - 只能发生在父子之间 + - 向下转型 + - 基本数据类型的向下转型 + - 显式转换 + - 引用数据类型的向上转型 + - instanceof关键字 + - 判断某一个对象是否是某一种类型的对象 + - 面向对象的特征 + - 封装 + - 继承 + - 抽象 + - 多态 + - 静态代码块 + - 执行在类加载期间,先加载父类,后加载子类 + - ```java + static{ + //执行的代码 + } + ``` + - 实例代码块 + - ```java + { + //执行的代码 + } + ``` + - Object类常用API + - API + - Application Programming Interface 应用编程接口 + - 目的: + - 简化程序员的开发 + - Object类 + - 是所有Java类的超类,基类,父类。所以所有的类,都拥有它的方法 + - toString + - 打印对象的内存地址 + - toString的重写 + - equals + - 比较2个对象,是否是同一个对象! + - == 在比较基本数据类型时,直接比较变量的值! + - == 在比较引用数据类型时,比较的是 地址值! + - equals的重写 + - finalize + - IDEA生成API文档 + - 字符串概述 + - 字符串 + - 将多个字符串到一起 + - String + - String类型的字符串:长度固定,内容固定 + - 字面量写法 + - 通过new关键创建对象 + - String常见方法 + - [[indexOf()]] + - [[charAt()]] + - [[concat()]] + - [[contains()]] + - [[equals()]] + - 判断两字符串内容是否相同 + - [[equalsIgnoreCase()]] + - [[startWith()]] + - [[endWith()]] + - [[getBytes()]] + - [[toCharArry()]] + - [[isEmpty()]] + - [[trim()]] + - [[split()]] + - [[substring()]] + - [[replace()]] + - [[lastIndexOf()]] + - [[toUpperCase()]] + - [[toLowerCase()]] + - [[valueOf()]] + - [[intern()]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_04_20/2022-04-20T12_36_29.950Z.md b/logseq-java/logseq/bak/journals/2022_04_20/2022-04-20T12_36_29.950Z.md new file mode 100644 index 0000000..1c18b04 --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_04_20/2022-04-20T12_36_29.950Z.md @@ -0,0 +1,64 @@ +- [[TreeSet]] +- [[HashMap]] +- [[TreeMap]] +- [[LinkedHashMap]] +- [[HashTable]] +- [[集合的交并差]] +- [[IO流]] +- [[字节流]] +- +- +- +- 总结 + - TreeSet + - 红黑二叉树 + - 所有节点要么红,要么黑 + - 根节点一定为黑 + - 红色节点的子节点,一定要为黑 + - 从任何一种末梢子节点开始到根节点的过程中一定要有相同个数的黑色节点树 + - {{embed ((625fe239-5548-4c66-ba66-f6fb1629b682))}} + - API方法与HashSet一致 + - 排序借助ArrayList实现 + - 去重 + - 不依靠hashcode 以及equals + - 依靠比较器Comparable + - 元素一定要实现Comparable接口 + - HashMap + - Map + - 基于Key-Vaalue的结构 + - 特点 + - Key不能重复 + - Value可以重复 + - 底层结构 + - JDK1.7之前:数组 + 链表 + - JDK1.7之后:数组 + 链表 + 红黑二叉树 + - API方法 + - put + - get + - replace + - delete + - deleteAll + - keySet + - values + - 去重 + - 依靠hashcode和equals + - Key一定要重写 hashcode ,equals 方法 + - 遍历 + - forEach + - 获得Key的集合 + - 通过Set集合获得每个元素 + - TreeMap + - 特点 + - Key去重,Value不去重 + - LinkedHashMap + - + - HashTable + - + - 集合的交并差 + - 交集 + - 并集 + - 差集 + - IO流 + - Input + - Out + - 字节流 \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_04_24/2022-07-07T01_32_54.221Z.md b/logseq-java/logseq/bak/journals/2022_04_24/2022-07-07T01_32_54.221Z.md new file mode 100644 index 0000000..337a10c --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_04_24/2022-07-07T01_32_54.221Z.md @@ -0,0 +1,2 @@ +- [[汽车租车系统]] +- \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_05_10/2022-05-10T07_01_57.796Z.md b/logseq-java/logseq/bak/journals/2022_05_10/2022-05-10T07_01_57.796Z.md new file mode 100644 index 0000000..7def56b --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_05_10/2022-05-10T07_01_57.796Z.md @@ -0,0 +1,4 @@ +- [[反射]] +- [[Class]] +- [[泛型]]的上下限 + - List \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_06_18/2022-07-07T01_32_54.224Z.md b/logseq-java/logseq/bak/journals/2022_06_18/2022-07-07T01_32_54.224Z.md new file mode 100644 index 0000000..50632d2 --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_06_18/2022-07-07T01_32_54.224Z.md @@ -0,0 +1,3 @@ +- [[Spring]] +- [[Feishu+Logseq]] +- \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_09_13/2022-09-13T01_41_26.647Z.Desktop.md b/logseq-java/logseq/bak/journals/2022_09_13/2022-09-13T01_41_26.647Z.Desktop.md new file mode 100644 index 0000000..f6b69ac --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_09_13/2022-09-13T01_41_26.647Z.Desktop.md @@ -0,0 +1,20 @@ +- 索引的概念 + - 用于提高查找速度的一种数据结构 + - +- 为什么要用B+树,B-树和B+树区别,为什么不用红黑树 + - Hash表结构存储数据 + - 通过key的hash计算得到存储下表 + - Hash只能进行等值查询,切换速度非常快,但是无法用于范围查询 + - 二叉查找树 + - 左边小,右边大,自身带排序 + - 二分查找 + - 极端情况 + - 根节点的选取,如果选取不好就会不平衡 + - 出现某一个方向子树过长 + - 平衡二叉树 + - 改善二叉树极端情况 + - 降低IO次数,每走一个节点进行一次IO + - 数的高度过高,IO性能下降 + - B树 + - 存放指针及数据,保存了排序功能 + - 指定阶数M,一个节点包含的子节点最大数量,M越大,高度越低 \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_09_13/2022-09-13T01_59_07.092Z.Desktop.md b/logseq-java/logseq/bak/journals/2022_09_13/2022-09-13T01_59_07.092Z.Desktop.md new file mode 100644 index 0000000..563fb7b --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_09_13/2022-09-13T01_59_07.092Z.Desktop.md @@ -0,0 +1,43 @@ +- 索引的概念 + - 用于提高查找速度的一种数据结构 + - +- 为什么要用B+树,B-树和B+树区别,为什么不用红黑树 + - Hash表结构存储数据 + - 通过key的hash计算得到存储下表 + - Hash只能进行等值查询,切换速度非常快,但是无法用于范围查询 + - 二叉查找树 + - 左边小,右边大,自身带排序 + - 二分查找 + - 极端情况 + - 根节点的选取,如果选取不好就会不平衡 + - 出现某一个方向子树过长 + - 平衡二叉树 + - 改善二叉树极端情况 + - 降低IO次数,每走一个节点进行一次IO + - 数的高度过高,IO性能下降 + - B树 + - 存放指针及数据,保存了排序功能 + - 指定阶数M,一个节点包含的子节点最大数量M越大,高度越低 + - 范围查询大的时候需要返回根节点再次便利 + - 存储了data信息,记录增多的时候树的高度会变高 + - B+树 + - 数据全部存在子节点中,非子节点只存储键值和指针 + - 子节点之间添加链表结构,解决范围查询时需要返回根节点 + - 范围查询效率提高很多,单个查询比B+树提高不大 +- 那些情况适合建立索引,那些不适合建立索引 + - 频繁使用where + - 分组字段,分组的前提为排序 + - 统计字段 + - 加了索引不需要产生中间表去重 + - 频繁更新字段 + - 数据单一固定 + - 数据量大(数据类型text) + - where条件不怎么用的 +- 索引分类,最左前缀,聚簇索引 + - 主键索引 + - 唯一 + - 唯一索引 + - 普通索引 + - 联合索引 + - 最左前缀 + - 第一个值为从小到大 \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_09_13/2022-09-13T02_35_30.202Z.Desktop.md b/logseq-java/logseq/bak/journals/2022_09_13/2022-09-13T02_35_30.202Z.Desktop.md new file mode 100644 index 0000000..9927d5d --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_09_13/2022-09-13T02_35_30.202Z.Desktop.md @@ -0,0 +1,60 @@ +- 索引的概念 + - 用于提高查找速度的一种数据结构 + - +- 为什么要用B+树,B-树和B+树区别,为什么不用红黑树 + - Hash表结构存储数据 + - 通过key的hash计算得到存储下表 + - Hash只能进行等值查询,切换速度非常快,但是无法用于范围查询 + - 二叉查找树 + - 左边小,右边大,自身带排序 + - 二分查找 + - 极端情况 + - 根节点的选取,如果选取不好就会不平衡 + - 出现某一个方向子树过长 + - 平衡二叉树 + - 改善二叉树极端情况 + - 降低IO次数,每走一个节点进行一次IO + - 数的高度过高,IO性能下降 + - B树 + - 存放指针及数据,保存了排序功能 + - 指定阶数M,一个节点包含的子节点最大数量M越大,高度越低 + - 范围查询大的时候需要返回根节点再次便利 + - 存储了data信息,记录增多的时候树的高度会变高 + - B+树 + - 数据全部存在子节点中,非子节点只存储键值和指针 + - 子节点之间添加链表结构,解决范围查询时需要返回根节点 + - 范围查询效率提高很多,单个查询比B+树提高不大 +- 那些情况适合建立索引,那些不适合建立索引 + - 频繁使用where + - 分组字段,分组的前提为排序 + - 统计字段 + - 加了索引不需要产生中间表去重 + - 频繁更新字段 + - 数据单一固定 + - 数据量大(数据类型text) + - where条件不怎么用的 +- 索引分类,最左前缀,聚簇索引 + - 主键索引 + - 唯一索引(一级索引) + - 普通索引(二级索引) + - 联合索引(需要符合最左前缀原则) + - 最左前缀 + - 第一个值为从小到大排序,第二个不是 + - 第一个值确定的情况下,第二个值是有序的 + - 从最左边开始连续的索引都可以匹配上,直到遇到范围查询,> < between + - 已经排序好的字段是会生效的, + - a=1 and b>1 ab都会生效 + - a>1 and b=1 b索引会失效,a>1 时b为无序的 + - MyISAM和InnoDB数据结构 + - MYD数据 MYI索引 + - ibd数据和索引,读一个文件速度更快 + - 聚簇索引 + - 根据主键索引可以直接拿到数据,索引和数据放在一起 + - InnoDB + - 定义主键为聚簇索引 + - 未定义索引,选择第一个部位null唯一索引 + - 以上都没用,使用一个6字节长整型的隐式字段ROWID字段构建聚簇索引,该RPWID字段会在插入新行时自动递增 + - 非聚簇索引(辅助索引) + - 除聚簇索引外 + - 只存储主键ID + - 查询可能需要回表,通过辅助索引查询得到ID去 \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_09_13/2022-09-13T02_47_04.702Z.Desktop.md b/logseq-java/logseq/bak/journals/2022_09_13/2022-09-13T02_47_04.702Z.Desktop.md new file mode 100644 index 0000000..2c0ea43 --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_09_13/2022-09-13T02_47_04.702Z.Desktop.md @@ -0,0 +1,73 @@ +- 索引的概念 + - 用于提高查找速度的一种数据结构 + - +- 为什么要用B+树,B-树和B+树区别,为什么不用红黑树 + - Hash表结构存储数据 + - 通过key的hash计算得到存储下表 + - Hash只能进行等值查询,切换速度非常快,但是无法用于范围查询 + - 二叉查找树 + - 左边小,右边大,自身带排序 + - 二分查找 + - 极端情况 + - 根节点的选取,如果选取不好就会不平衡 + - 出现某一个方向子树过长 + - 平衡二叉树 + - 改善二叉树极端情况 + - 降低IO次数,每走一个节点进行一次IO + - 数的高度过高,IO性能下降 + - B树 + - 存放指针及数据,保存了排序功能 + - 指定阶数M,一个节点包含的子节点最大数量M越大,高度越低 + - 范围查询大的时候需要返回根节点再次便利 + - 存储了data信息,记录增多的时候树的高度会变高 + - B+树 + - 数据全部存在子节点中,非子节点只存储键值和指针 + - 子节点之间添加链表结构,解决范围查询时需要返回根节点 + - 范围查询效率提高很多,单个查询比B+树提高不大 +- 那些情况适合建立索引,那些不适合建立索引 + - 频繁使用where + - 分组字段,分组的前提为排序 + - 统计字段 + - 加了索引不需要产生中间表去重 + - 频繁更新字段 + - 数据单一固定 + - 数据量大(数据类型text) + - where条件不怎么用的 +- 索引分类,最左前缀,聚簇索引 + - 主键索引 + - 唯一索引(一级索引) + - 普通索引(二级索引) + - 联合索引(需要符合最左前缀原则) + - 最左前缀 + - 第一个值为从小到大排序,第二个不是 + - 第一个值确定的情况下,第二个值是有序的 + - 从最左边开始连续的索引都可以匹配上,直到遇到范围查询,> < between + - 已经排序好的字段是会生效的, + - a=1 and b>1 ab都会生效 + - a>1 and b=1 b索引会失效,a>1 时b为无序的 + - MyISAM和InnoDB数据结构 + - MYD数据 MYI索引 + - ibd数据和索引,读一个文件速度更快 + - 聚簇索引 + - 根据主键索引可以直接拿到数据,索引和数据放在一起 + - InnoDB + - 定义主键为聚簇索引 + - 未定义索引,选择第一个部位null唯一索引 + - 以上都没用,使用一个6字节长整型的隐式字段ROWID字段构建聚簇索引,该RPWID字段会在插入新行时自动递增 + - 非聚簇索引(辅助索引) + - 除聚簇索引外 + - 只存储主键ID + - 查询可能需要回表,通过辅助索引查询得到ID去主键索引中查找 + - MyISAM中通过主键查询得到数据在硬盘中的地址,再根据该地址去磁盘中寻找 + - 主键索引唯一,辅助索引可能等值也会查询出多个数据 + - 索引覆盖 + - 通过辅助索引可以获得全部数据,不需要回表 + - 索引失效 + - select * + - %左边 + - 未最左匹配 + - 数据库认为不要 + - 计算 + - or + - != > < + - \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_09_13/2022-09-13T07_06_29.086Z.Desktop.md b/logseq-java/logseq/bak/journals/2022_09_13/2022-09-13T07_06_29.086Z.Desktop.md new file mode 100644 index 0000000..33bee82 --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_09_13/2022-09-13T07_06_29.086Z.Desktop.md @@ -0,0 +1,132 @@ +- 索引的概念 + - 用于提高查找速度的一种数据结构 + - +- 为什么要用B+树,B-树和B+树区别,为什么不用红黑树 + - Hash表结构存储数据 + - 通过key的hash计算得到存储下表 + - Hash只能进行等值查询,切换速度非常快,但是无法用于范围查询 + - 二叉查找树 + - 左边小,右边大,自身带排序 + - 二分查找 + - 极端情况 + - 根节点的选取,如果选取不好就会不平衡 + - 出现某一个方向子树过长 + - 平衡二叉树 + - 改善二叉树极端情况 + - 降低IO次数,每走一个节点进行一次IO + - 数的高度过高,IO性能下降 + - B树 + - 存放指针及数据,保存了排序功能 + - 指定阶数M,一个节点包含的子节点最大数量M越大,高度越低 + - 范围查询大的时候需要返回根节点再次便利 + - 存储了data信息,记录增多的时候树的高度会变高 + - B+树 + - 数据全部存在子节点中,非子节点只存储键值和指针 + - 子节点之间添加链表结构,解决范围查询时需要返回根节点 + - 范围查询效率提高很多,单个查询比B+树提高不大 +- 那些情况适合建立索引,那些不适合建立索引 + - 频繁使用where + - 分组字段,分组的前提为排序 + - 统计字段 + - 加了索引不需要产生中间表去重 + - 频繁更新字段 + - 数据单一固定 + - 数据量大(数据类型text) + - where条件不怎么用的 +- 索引分类,最左前缀,聚簇索引 + - 主键索引 + - 唯一索引(一级索引) + - 普通索引(二级索引) + - 联合索引(需要符合最左前缀原则) + - 最左前缀 + - 第一个值为从小到大排序,第二个不是 + - 第一个值确定的情况下,第二个值是有序的 + - 从最左边开始连续的索引都可以匹配上,直到遇到范围查询,> < between + - 已经排序好的字段是会生效的, + - a=1 and b>1 ab都会生效 + - a>1 and b=1 b索引会失效,a>1 时b为无序的 + - MyISAM和InnoDB数据结构 + - MYD数据 MYI索引 + - ibd数据和索引,读一个文件速度更快 + - 聚簇索引 + - 根据主键索引可以直接拿到数据,索引和数据放在一起 + - InnoDB + - 定义主键为聚簇索引 + - 未定义索引,选择第一个部位null唯一索引 + - 以上都没用,使用一个6字节长整型的隐式字段ROWID字段构建聚簇索引,该RPWID字段会在插入新行时自动递增 + - 非聚簇索引(辅助索引) + - 除聚簇索引外 + - 只存储主键ID + - 查询可能需要回表,通过辅助索引查询得到ID去主键索引中查找 + - MyISAM中通过主键查询得到数据在硬盘中的地址,再根据该地址去磁盘中寻找 + - 主键索引唯一,辅助索引可能等值也会查询出多个数据 + - 索引覆盖 + - 通过辅助索引可以获得全部数据,不需要回表 + - 索引失效 + - select * + - %左边 + - 未最左匹配 + - 数据库认为不要 + - 计算 + - or + - != > < + - 优化 + - 辅助索引覆盖 + - 自增主键ID + - 避免select * + - 少用子查询,能使用外连接就外连接,避免笛卡尔积 + - 使用短索引,非叶子节点存储更多索引降低树的高度 + - 为什么推荐使用自增主键作为索引 + - 页分裂 + - 降低复杂度 +- List集合 + - 结合源码,回答核心流程,夹带关键字 + - ArrayList + - 如何扩容,大小如何自动增加 + - 1. 初始化,未给定长度,默认调用午餐构造器 + - elementdata 常量数组为空 + - new之后数组长度为0 + - 2. 添加第一个元素 + - 计算容量,比较长度后返回初始化长度为10 + - 3. 数组扩容 + - grow方法增加长度 + - 新容量为老容量加上老容量右移以为,即1.5倍 + - 掉用复制数组的方法 + - 复制某个ArrayList到另一个里面去 + - clong,addAll,copy,stream流 + - 重写Clone方法 + - 浅复制 + - 返回一个一样的ArrayList,其中一个改变了元素,另一个也会改变 + - 两个集合中存储同一份元素引用 + - 深复制 + - 重写clone方法,使用迭代器便利,重新创建引用对象,逐个添加 + - 索引中ArrayList增加或删除某个元素的运行过程,效率很低吗 + - 效率很低,添加或删除某个元素都需要对数组中的元素进行移位,需要不断进行ArrayCopy很浪费时间 + - 添加,后面元素都后移一位,再添加 + - 删除,后面元素都前移一位覆盖 + - 很大的数组需要拷贝,如何快速拷贝 + - 创建时就指定数组的大小 + - 获得线程安全的ArrayList + - synchorizoned关键字 + - LinkedList和ArrayList如何选择 + - ArrayList底层为数组,查询效率高,增删效率低 + - LinkedList底层为链表,查询效率低,增删效率高 + - Vector + - 扩容为2倍,线程安全 +- Set + - HashSet + - 无序,去重,非线程安全 + - new新建HashMap + - 底层通过HashMap的key值实现的,值为常量PRESENT(一个空的Object对象) + - put调用setValue方法 + - 添加时为什么要给个value为PRESENT常量 + - PRESENT决定返回oldValue还是null判断是否已经存在 + - HashSet remove方法比较PRESENT + - HashMap的删除方法成功会返回value,失败返回null,通过返回判断是否删除 + - 去重原理 + - hashcode和equals方法 + - 先判断hash值,再通过==和wquals判断,返回true则为重复元素 + - HashSet和TreeSet + - 无序HashSet,有序TreeSet + - 如何得到一个线程安全的Set集合 + - Collections.synchorizeonedSet()~ \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2022_09_13/2022-09-13T07_33_43.993Z.Desktop.md b/logseq-java/logseq/bak/journals/2022_09_13/2022-09-13T07_33_43.993Z.Desktop.md new file mode 100644 index 0000000..344f3fb --- /dev/null +++ b/logseq-java/logseq/bak/journals/2022_09_13/2022-09-13T07_33_43.993Z.Desktop.md @@ -0,0 +1,143 @@ +- 索引的概念 + - 用于提高查找速度的一种数据结构 + - +- 为什么要用B+树,B-树和B+树区别,为什么不用红黑树 + - Hash表结构存储数据 + - 通过key的hash计算得到存储下表 + - Hash只能进行等值查询,切换速度非常快,但是无法用于范围查询 + - 二叉查找树 + - 左边小,右边大,自身带排序 + - 二分查找 + - 极端情况 + - 根节点的选取,如果选取不好就会不平衡 + - 出现某一个方向子树过长 + - 平衡二叉树 + - 改善二叉树极端情况 + - 降低IO次数,每走一个节点进行一次IO + - 数的高度过高,IO性能下降 + - B树 + - 存放指针及数据,保存了排序功能 + - 指定阶数M,一个节点包含的子节点最大数量M越大,高度越低 + - 范围查询大的时候需要返回根节点再次便利 + - 存储了data信息,记录增多的时候树的高度会变高 + - B+树 + - 数据全部存在子节点中,非子节点只存储键值和指针 + - 子节点之间添加链表结构,解决范围查询时需要返回根节点 + - 范围查询效率提高很多,单个查询比B+树提高不大 +- 那些情况适合建立索引,那些不适合建立索引 + - 频繁使用where + - 分组字段,分组的前提为排序 + - 统计字段 + - 加了索引不需要产生中间表去重 + - 频繁更新字段 + - 数据单一固定 + - 数据量大(数据类型text) + - where条件不怎么用的 +- 索引分类,最左前缀,聚簇索引 + - 主键索引 + - 唯一索引(一级索引) + - 普通索引(二级索引) + - 联合索引(需要符合最左前缀原则) + - 最左前缀 + - 第一个值为从小到大排序,第二个不是 + - 第一个值确定的情况下,第二个值是有序的 + - 从最左边开始连续的索引都可以匹配上,直到遇到范围查询,> < between + - 已经排序好的字段是会生效的, + - a=1 and b>1 ab都会生效 + - a>1 and b=1 b索引会失效,a>1 时b为无序的 + - MyISAM和InnoDB数据结构 + - MYD数据 MYI索引 + - ibd数据和索引,读一个文件速度更快 + - 聚簇索引 + - 根据主键索引可以直接拿到数据,索引和数据放在一起 + - InnoDB + - 定义主键为聚簇索引 + - 未定义索引,选择第一个部位null唯一索引 + - 以上都没用,使用一个6字节长整型的隐式字段ROWID字段构建聚簇索引,该RPWID字段会在插入新行时自动递增 + - 非聚簇索引(辅助索引) + - 除聚簇索引外 + - 只存储主键ID + - 查询可能需要回表,通过辅助索引查询得到ID去主键索引中查找 + - MyISAM中通过主键查询得到数据在硬盘中的地址,再根据该地址去磁盘中寻找 + - 主键索引唯一,辅助索引可能等值也会查询出多个数据 + - 索引覆盖 + - 通过辅助索引可以获得全部数据,不需要回表 + - 索引失效 + - select * + - %左边 + - 未最左匹配 + - 数据库认为不要 + - 计算 + - or + - != > < + - 优化 + - 辅助索引覆盖 + - 自增主键ID + - 避免select * + - 少用子查询,能使用外连接就外连接,避免笛卡尔积 + - 使用短索引,非叶子节点存储更多索引降低树的高度 + - 为什么推荐使用自增主键作为索引 + - 页分裂 + - 降低复杂度 +- List集合 + - 结合源码,回答核心流程,夹带关键字 + - ArrayList + - 如何扩容,大小如何自动增加 + - 1. 初始化,未给定长度,默认调用午餐构造器 + - elementdata 常量数组为空 + - new之后数组长度为0 + - 2. 添加第一个元素 + - 计算容量,比较长度后返回初始化长度为10 + - 3. 数组扩容 + - grow方法增加长度 + - 新容量为老容量加上老容量右移以为,即1.5倍 + - 掉用复制数组的方法 + - 复制某个ArrayList到另一个里面去 + - clong,addAll,copy,stream流 + - 重写Clone方法 + - 浅复制 + - 返回一个一样的ArrayList,其中一个改变了元素,另一个也会改变 + - 两个集合中存储同一份元素引用 + - 深复制 + - 重写clone方法,使用迭代器便利,重新创建引用对象,逐个添加 + - 索引中ArrayList增加或删除某个元素的运行过程,效率很低吗 + - 效率很低,添加或删除某个元素都需要对数组中的元素进行移位,需要不断进行ArrayCopy很浪费时间 + - 添加,后面元素都后移一位,再添加 + - 删除,后面元素都前移一位覆盖 + - 很大的数组需要拷贝,如何快速拷贝 + - 创建时就指定数组的大小 + - 获得线程安全的ArrayList + - synchorizoned关键字 + - LinkedList和ArrayList如何选择 + - ArrayList底层为数组,查询效率高,增删效率低 + - LinkedList底层为链表,查询效率低,增删效率高 + - Vector + - 扩容为2倍,线程安全 +- Set + - HashSet + - 无序,去重,非线程安全 + - new新建HashMap + - 底层通过HashMap的key值实现的,值为常量PRESENT(一个空的Object对象) + - put调用setValue方法 + - 添加时为什么要给个value为PRESENT常量 + - PRESENT决定返回oldValue还是null判断是否已经存在 + - HashSet remove方法比较PRESENT + - HashMap的删除方法成功会返回value,失败返回null,通过返回判断是否删除 + - 去重原理 + - hashcode和equals方法 + - 先判断hash值,再通过==和wquals判断,返回true则为重复元素 + - HashSet和TreeSet + - 无序HashSet,有序TreeSet + - 如何得到一个线程安全的Set集合 + - Collections.synchorizeonedSet() +- HashMap的底层结构 + - jdk1.7 数组+单向链表 + - jdk1.8 数组+链表(单向/双向)+红黑树 + - 内部定义静态Node类 + - Node + - TreeNode有TreeNode left,TreeNode right继承LinkedHashMap.Entry继承HashMap.Node + - 如何解决Hash碰撞,何时从单链表转化为红黑树 + - 存放元素需要通过Hash计算来得到Hash值,Hash值为元素要存放的位置,当两个不同元素经过Hash计算得到的Hash值相同,两个元素要存放在同一个位置,产生冲突 + - HashMap的put方法 + - 初始化table数组长度为16,第一次添加table为null,通过resize()方法,给新容量16,阈值16*0.75 + - threadhold,扩容因子0.75 \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2023_09_15/2023-09-15T02_17_01.178Z.Desktop.md b/logseq-java/logseq/bak/journals/2023_09_15/2023-09-15T02_17_01.178Z.Desktop.md new file mode 100644 index 0000000..6eaef18 --- /dev/null +++ b/logseq-java/logseq/bak/journals/2023_09_15/2023-09-15T02_17_01.178Z.Desktop.md @@ -0,0 +1,345 @@ +- Java并发编程基础 + - 1.谈谈你对AQS的理解 + - 2.lock和synchronized区别 + - 3.线程池如何知道一个线程的任务已经执行完成 + - 4.什么叫做阻塞队列的有界和无界 + - 5.ConcurrentHashMap 底层具体实现知道吗?实现原理是什么? + - 6.能谈一下CAS机制吗? + - 7.死锁的发生原因和怎么避免 + - 8.lock和Synchronized 区别 + - 9.讲一下wait和notify这个为什么要在synchronized代码块中? + - 10.你是怎么理解线程安全问题的? + - 11.什么是守护线程,它有什么特点 + - 12.谈谈你对AQS的理解 + - 13.AbstractQueuedSynchronized 为什么采用双向链表 + - 14.lock和synchronized 区别 + - 15.线程池如何知道一个线程的任务已经执行完成 + - 16.什么叫做阻塞队列的有界和无界 + - 17.ConcurrentHashMap 底层具体实现知道吗?实现原理是什么? + - 18.能谈一下CAS机制吗? + - 19.死锁的发生原因和怎么避免 + - 20.volatile 关键字有什么用?它的实现原理是什么? + - 21.讲一下wait和notify这个为什么要在synchronized代码块中? + - 22.ThreadLocal是什么?它的实现原理呢? + - 23.基于数组的阻塞队列 ArrayBlockingQueue 原理 + - 24.怎么理解线程安全? + - 25.请简述一下伪共享的概念以及如何避免 + - 26.什么是可重入,什么是可重入锁?它用来解决什么问题? + - 27.请说一下ReentrantLock的实现原理? + - 28.简述一下你对线程池的理解? + - 29.如何中断一个正在运行的线程? + - 30.为什么引入偏向锁、轻量级锁,介绍下升级流程 + - 31.什么是守护线程,它有什么特点 + - 32.请谈谈AQS是怎么回事儿? + - 33.ReentrantLock 是如何实现锁公平和非公平性的? + - 34.说一下你对 CompletableFuture的理解 + - 35.线程状态,BLOCKED和WAITING有什么区别 + - 36.Thread和Runnable的区别 + - 37.Thread和Runnable的区别 + - 38.AQS为什么要使用双向链表? + - 39.ConcurrentHashMap的size()方法是线程安全的吗?为什么 + - 40.wait和sleep是否会触发锁的释放以及CPU资源的释放? + - 41.DCL单例模式设计为什么需要 volatile 修饰实例对象 + - 42.讲下线程池的线程回收 + - 43.如果一个线程两次调用start(),会出现什么问题? + - 44.Java 官方提供了哪几种线程池,分别有什么特点? + - 45.请你说一下你对Happens-Before的理解。 + - 46.线程池是如何实现线程复用的? + - 47.可以说下阻塞队列被异步消费怎么保持顺序吗? + - 48.当任务数超过线程池的核心线程数时,如何让它不进入队列,而是直接启用最大线程数 + - 49.SimpleDateFormat 是线程安全的吗?为什么? + - 50.并行和并发有什么区别? + - 51.如何解决死锁问题? + - 52.为什么 ConcurrentHashMap中key不允许为null + - 53.ThreadLocal会出现内存泄漏吗? + - 54.什么是CompletableFuture? + - 55.什么条件下会产出死锁,如何避免死锁? + - 56.ConcurrentHashMap是如何保证线程安全的? + - 57.ThreadLocal真的会造成内存泄漏吗? + - 58.为什么 ConcurrentHashMap 不允许插入null值? + - 59.synchronized和Lock的区别 + - 60.如何安全地中断一个正在运行的线程? +- JVM面试题合集 + - 1.CPU飙高系统反应慢怎么排查? + - 2.关于什么是JVM?看看普通人和高手的回答。 + - 3.有没有排查过线上oom的问题,如何排查的 + - 4.说一下你对双亲委派的理解 + - 5.CPU飙高系统反应慢怎么排查? + - 6.什么是双亲委派? + - 7.JVM 如何判断一个对象可以被回收 + - 8.G1 垃圾收集的特点,为什么低延迟 + - 9.JVM分代年龄为什么是15次?可以25次吗? + - 10.一个空Object对象的占多大空间? + - 11.什么是Java虚拟机,为什么要使用? + - 12.JVM 为什么使用元空间替换了永久代? + - 13.Java 常见的垃圾收集器有哪些? + - 14.如何破坏双亲委派模型 + - 15.JVM 中一次完整的GC流程是怎样的,对象如何晋升到老年代 + - 16.如果发生内存泄漏怎么排查 + - 17.JVM中的三色标记法是什么? + - 18.说一些CMS垃圾回器的工作原理 + - 19.什么是内存溢出,什么是内存泄漏? + - 20.什么是双亲委派机制? +- Java 基础面试题 + - 1.fail-safe 机制与fail-fast 机制分别有什么作用 + - 2.HashMap 是怎么解决哈希冲突的? + - 3.面试官:你能说一下什么是受检异常和非受检异常吗? + - 4.为什么阿里巴巴的Java开发手册不建议使用Java自带的线程池 + - 5.fail-safe 机制与fail-fast机制分别有什么作用 + - 6.HashMap是怎么解决哈希冲突的? + - 7.JDK动态代理为什么只能代理有接口的类? + - 8.请说一下对象的创建过程(阿里) + - 9.new String("abc")到底创建了几个对象? + - 10.请简单说一下你对受检异常和非受检异常的理解 + - 11.HashMap 是如何解决 hash 冲突的? + - 12.String、StringBuffer、StringBuilder 区别 + - 13.Integer使用不当导致生产的事故 + - 14.可以讲一下ArrayList的自动扩容机制吗? + - 15.什么是深拷贝和浅拷贝? + - 16.HashMap中的hash方法为什么要右移16位异或? + - 17.HashMap 啥时候扩容,为什么扩容? + - 18.强引用、软引用、弱引用、虚引用有什么区别? + - 19.Java有几种文件拷贝方式,哪一种效率最高? + - 20.聊聊你知道的设计模式 + - 21.finally块一定会执行吗? + - 22.在Java 中实现单例模式有哪些方法 + - 23.Java SPI是什么?有什么用? + - 24.Integer和int的区别?Java为什么要设计封装类? + - 25.Integer a1=100 Integer a2=100, a1==a2?的运行结果? + - 26.HashMap 与HashTable 区别 + - 27.Java反射的优缺点? + - 28.为什么重写 equals()就一定要重写 hashCode()方法? + - 29.介绍下策略模式和观察者模式? + - 30.谈谈什么是零拷贝? + - 31.SortedSet和List异同点? + - 32.为什么阿里Java手册禁止使用存储过程? + - 33.为什么阿里巴巴强制要求使用包装类型定义属性? + - 34.刚折腾完Log4J,又爆Spring RCE核弹级漏洞 + - 35.3分钟轻松理解单线程下的HashMap工作原理 + - 36.两个Integer对象比较大小,为什么100等于100,1000不等于1000? + - 37.为什么 HashMap会产生死循环? + - 38.哪些情况下的单例对象可能会破坏? + - 39.责任链模式的实现原理 + - 40.new String("hello")之后,到底创建了几个对象? + - 41.什么是Java SPI,它有什么作用? +- Mysql数据库面试题 + - 1.innoDB 如何解决幻读 + - 2.b树和b+树的理解 + - 3.你是否在面试中也被过MySQL优化相关的问题呢? + - 4.关于“你对MVCC的理解,看看普通人和高手是如何回答这个问题的? + - 5.关于索引的底层实现,为什么选择B+Tree而不是红黑树? + - 6.请你说一下Mysql中的性能调优方法? + - 7.为什么一线互联网公司严禁使用存储过程? + - 8.Mysql 中的RR隔离级别,到底有没有解决幻读问题? + - 9.为什么索引要用B+树来实现呢,而不是B树? + - 10.Mysql是如何解决幻读问题的? + - 11.什么是聚集索引和非聚集索引 + - 12.请你简单说一下Mysql的事务隔离级别 + - 13.binlog 和 redolog有什么区别? + - 14.说一下你日常工作中是怎么优化SQL的 + - 15.Mysql 主从集群同步延迟问题怎么解决 + - 16.MySQL 数据库 cpu 飙升的话,要怎么处理呢? + - 17.innoDB 如何解决幻读 + - 18.Mysql的binlog 有几种格式?分别有什么区别 + - 19.索引有哪些缺点以及具体有哪些索引类型 + - 20.b树和b+树的理解 + - 21.什么是聚集索引和非聚集索引 + - 22.请你简单说一下Mysql的事务隔离级别 + - 23.Mysql为什么使用B+Tree作为索引结构 + - 24.数据库连接池有什么用?它有哪些关键参数? + - 25.请说一下Mysql索引的优点和缺点? + - 26.Mysql事务的实现原理 + - 27.请你说一下数据库优化 + - 28.说一下你对行锁、临键锁、间隙锁的理解 + - 29.索引什么时候失效? + - 30.Mysql 如何解决幻读问题 + - 31.请简要说明Mysql中MyISAM和InnoDB引擎的区别 + - 32.存储MD5的值应该用VARCHAR还是CHAR + - 33.Mysql 索引在什么情况下会失效 + - 34.MySql 存储引擎 InnoDB 与MyISAM 有什么区别 + - 35.MVCC过程中会加锁吗? + - 36.MySQL update 是锁行还是锁表? + - 37.为什么 SQL 语句不要过多的join? + - 38.什么情况下不建索引? + - 39.为什么MySQL索引结构采用B+树? + - 40.谈谈你对MySQL事务隔离级别的理解 + - 41.为什么SQL语句命中索引比不命中索引要快? + - 42.B 树和B+树的区别什么? + - 43.执行SQL响应比较慢,你有哪些排查思路? +- Spring Cloud生态必问面试题 + - 1.谈谈你对Seata的理解 + - 2.Dubbo的服务请求失败怎么处理? + - 3.Redis和Mysql 如何保证数据一致性能 + - 4.什么是Dubbo?它有哪些核心功能? + - 5.既然说到Dubbo的功能,请详细说说Dubbo负载均衡的几种策略 + - 6.最后在说说 Dubbo与Spring Cloud的区别吧! + - 7.Dubbo的工作原理是什么样的? + - 8.5分钟带你快速弄懂RPC + - 9.分布式事务的原理 + - 10.关于“你对Spring Cloud的理解” + - 11.关于“谈谈你对ES的理解,看看普通人和高手是如何回答这个问题的?” + - 12.5分钟带你快速了解什么是Kubernetes + - 13.还原面试现场,带大家理解何为Docker + - 14.什么是负载均衡 + - 15.RPC 和HTTP 协议有什么区别? + - 16.Dubbo的服务请求失败怎么处理? + - 17.说一下你对SPI机制的理解以及Dubbo中有哪些SPI机制的实现 + - 18.谈谈你对Seata的理解 + - 19.Dubbo的服务请求失败怎么处理? + - 20.什么是服务网格? + - 21.Dubbo 是如何动态感知服务下线的? + - 22.简单说一下你对序列化和反序列化的理解 + - 23.说一说你对Spring Cloud的理解 + - 24.什么是SPI,它有什么用? + - 25.Eureka server 数据同步原理能说下吗 + - 26.说说你对一致性Hash算法的理解 + - 27.请说一下你对分布式和微服务的理解 + - 28.Nacos配置更新的工作流程 + - 29.谈谈常用的分布式ID设计方案 + - 30.Http 协议和RPC协议有什么区别? + - 31.如何解决TCC中的悬挂问题 + - 32.请你说一下你对服务降级的理解 + - 33.服务注册中心应该是AP还是CP + - 34.说说你对CAP的理解 + - 35.请说一下分布式事务的理解和解决方案? + - 36.什么是微服务,说一下你对微服务的理解? + - 37.Dubbo和SpringCloud的优缺点对比 + - 38.谈谈分布式事务的3种解决方案 + - 39.谈谈你对NoSQL的理解 + - 40.谈谈你对 Spring Cloud的理解 + - 41.放弃FastDFS,拥抱MinlO的7大理由 +- Spring Boot面试题 + - 1.Spring Boot的约定优于配置,你的理解是什么? + - 2.Spring Boot中自动装配机制的原理 + - 3.Spring Boot的约定优于配置,你的理解是什么? + - 4.Spring Boot中自动装配机制的原理 + - 5.如何理解 Spring Boot中的Starter? + - 6.SpringBoot如何解决跨域问题? + - 7.Spring Boot自动装配原理 +- Spring 面试题 + - 1.能回答一下Spring Bean生命周期的执行流程吗 + - 2.请简述你对Spring MVC的理解,看看普通人和高手是如何回答的? + - 3.Spring 是如何解决循环依赖问题的? + - 4.Spring中事务的传播行为有哪些? + - 5.说说Spring MVC的执行流程? + - 6.为什么要使用Spring 框架? + - 7.Spring 中事务的传播行为有哪些? + - 8.Spring 中Bean的作用域有哪些? + - 9.Spring中有哪些方式可以把Bean注入到IOC容器? + - 10.Spring 中 BeanFactory和FactoryBean的区别 + - 11.说说你对Spring MVC的理解 + - 12.介绍下Spring loC的工作流程 + - 13.@Resource 和@Autowired 的区别 + - 14.Spring 中,有两个id 相同的bean,会报错吗,如果会报错,在哪个阶段报错 + - 15.Spring 里面的事务和分布式事务的使用如何区分,以及这两个事务之间有什么关联? + - 16.谈谈你对Spring IOC和DI的理解? + - 17.Spring 如何解决循依赖问题 + - 18.@Conditional 注解有什么用? + - 19.为什么有些公司禁止使用@Transactional 声明式事务? +- Mybatis 面试题 + - 1.说一说Mybatis里面的缓存机制 + - 2.说一说Mybatis里面的缓存机制 + - 3.Mybatis中#{和$0}的区别是什么? + - 4.Mybatis是如何进行分页的 + - 5.MyBatis 配置中的#0和$0有什么区别? + - 6.MyBatis 何时使用一级缓存,何时使用二级缓存? +- 网络10相关面试题 + - 1.请说一下网络四元组 + - 2.[连环问]介绍一下自己对Netty的认识吧 + - 3.什么是服务网格? + - 4.请说一下网络四元组 + - 5.10和NIO有什么区别? + - 6.TCP协议为什么要设计三次握手? + - 7.Cookie和Session的区别 + - 8.请说一下Netty中Reactor模式的理解 + - 9.什么是I0的多路复用机制? + - 10.select 和 epoll 的区别 + - 11.什么是拆包和粘包?怎么解决? + - 12.为什么Netty线程池默认大小为CPU核数的2倍 +- Redis面试题 + - 1.说一下你对Redis的理解 + - 2.字节一面,Redis为什么这么快? + - 3.Redis和Mysql 如何保证数据一致性 + - 4.Redis 存在线程安全问题吗?为什么? + - 5.RDB 和AOF的实现原理以及优缺点 + - 6.Redis和Mysql 如何保证数据一致性 + - 7.Redis的内存淘汰算法和原理是什么? + - 8.请说一下你对分布式锁的理解,以及分布式锁的实现 + - 9.说说缓存雪崩和缓存穿透的理解,以及如何避免? + - 10说说缓存雪崩和缓存穿透的理解,以及如何避免? + - 11.Redis存在线程安全问题吗?为什么? + - 12.请说一下你对分布式锁的理解,以及分布式锁的实现 + - 13.RDB和AOF的实现原理、优缺点 + - 14.请描述一下Redis中AOF 重写的过程 + - 15.Redis有哪些持久化策略,说一下他们的工作原理? + - 16.Redis多线程模型怎么理解,那它会有线程安全问题吗? + - 17.怎么防止缓存击穿的问题? + - 18.请描述Redis 的缓存淘汰策略 + - 19.Redis 哨兵机制和集群有什么区别? + - 20.Redis 主从复制的原理 + - 21.Redis 有哪些过期策略 + - 22.Redis 遇到Hash冲突怎么办? + - 23.什么是热 Key 问题,如何解决热 key 问题 + - 24.Redis中的哨兵选举算法是如何实现的? + - 25.为什么 Redis 集群的最大槽数是16384个? + - 26.谈谈你对Redis的理解 +- Zookeeper面试题 + - 1.实现分布式锁的解决方案中,你认为Zookeeper和Redis 哪种更好? + - 2.Zookeeper和Redis 哪种更好? + - 3.关于“你对Zookeeper的理解,看看普通人和高手是如何回答这个问题的? + - 4.Zookeeper中的Watch机制的原理? + - 5.Zookeeper 如何实现 Leader选举 + - 6.Zookeeper 如何实现分布式锁 + - 7.谈谈你对Zookeeper的理解 +- 分布式消息队列面试题 + - 1.什么是消息队列? + - 2.滴滴二面:kafka的零拷贝原理? + - 3.滴滴二面:kafka的零拷贝原理? + - 4.Kafka 如何保证消息不丢失? + - 5.Kafka 怎么避免重复消费 + - 6.什么是ISR,为什么需要引入ISR + - 7.Kafka 如何保证消息消费的顺序性? + - 8.RabbitMQ的消息如何实现路由? + - 9.如何保证 RabbitMQ的消息可靠传输 + - 10.RabbitMQ如何实现高可用 + - 11.如何处理消息队列的消息积压问题 + - 12.Kafka 消息队列怎么保证 exactlyOnce,怎么实现顺序消费 + - 13.说一下Kafka中Parttion 分区副本的Leader选举算法 + - 14.Kafka中一个Topic有三个Partition,同一个消费组中两个消费者如何消费的? + - 15.多线程异步和MQ有什么区别? + - 16.谈谈你对MQ(消息中间件)的理解 +- 一线大厂场景问题详解 + - 1.扫码登录到底是怎么实现的? + - 2.订单超时自动取消功能如何设计? + - 3.怎么理解接口幂等,项目中如何保证的接口幂等 + - 4.消息推送中的已读消息和未读消息设计难题 + - 5.布隆过滤器到底是什么东西?它有什么用 + - 6.从B站崩溃的故障排查和恢复过程中学到什么? + - 7.limit 1000000,10 加载很慢该怎么优化 + - 8.会员批量过期的方案怎么实现? + - 9.什么是幂等?如何解决幂等性问题? + - 10.常见的限流算法有哪些? + - 11.说说你对一致性Hash算法的理解 + - 12.如果让你设计一个秒杀系统,怎么设计? + - 13.如果问你项目的重点和难点,该如何回答呢? + - 14.如果让你设计一个秒杀系统,怎么设计? + - 15.来一个亿级数据存储问题讲解,每天新增6000万数据 + - 16.什么情况下会出现Full GC,怎么解决? + - 17.如果问你项目的重点和难点,该如何回答呢? + - 18.生产环境服务器变慢,如何诊断处理? + - 19.将user表进行了分库分表,那么手机号的唯一索引是不是就失效了 + - 20.在2G大小的文件中,找出高频top100的单词 + - 21.数据量达到多少的时候要开始分库分表 + - 22.表数据量大的时候,影响查询效率的主要原因有哪些 + - 23.应用程序中存在包冲突的情况下,怎么发现和解决 + - 24.Java之父直播面试被吊打? + - 25.字节跳动一面真题,如何提升接口的性能? + - 26.对接第三方接口要考虑什么? +- 常见算法面试题 + - 1.什么是时间轮,请你说一下你对时间轮的理解 + - 2.什么是令牌桶限流算法 + - 3.请你说一下你对滑动窗口算法的理解 + - 4.简述雪花算法的实现原理 + - 5.SkipList的索引过程,能否越两级搜索 + - 6.对称加密与非对称加密有什么区别 + - 7.敏感数据怎么加解密和传输? \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2023_09_26/2023-10-17T03_37_18.530Z.Desktop.md b/logseq-java/logseq/bak/journals/2023_09_26/2023-10-17T03_37_18.530Z.Desktop.md new file mode 100644 index 0000000..bc22336 --- /dev/null +++ b/logseq-java/logseq/bak/journals/2023_09_26/2023-10-17T03_37_18.530Z.Desktop.md @@ -0,0 +1,64 @@ +- DOING Spring + :LOGBOOK: + CLOCK: [2023-10-07 Sat 13:05:14] + :END: + - https://www.bilibili.com/video/BV1rb4y147F2 + - [[Spring是如何创建一个bean对象的]] + - [[Spring源码]] + - 微服务SpringCloud + - 什么是单例池,作用是什么 + - Bean和普通对象之间的区别是什么 + - @PostConstruct注解是如何工作的 + - Bean的初始化是如何工作的 + - Bean的初始化和实例化的区别是什么 + - 什么是初始化后 + - 推断构造方法是什么意思 + - 什么是先bytype再byname + - Spring Aop底层是怎么工作的 + - Spring事务底层是怎么工作的 + - @Configuration注解的作用是什么 + - Spring为什么要用三级缓存来解决循环依赖 + - @Async为什么回导致循环依赖解决不了 + - 构造方法和多例导致的循环依赖 + - SpringMVC处理请求底层原理流程 + - SpringMVC容器创建源码分析 + - SpringMVC父子容器原理分析 + - SpringMVC父子容器源码分析 + - SpringMVC的零配置 + - 手写代码模拟SpringBoot + - Springboot如何选择TomCAT还是Jett底层 + - @ConditionOnClass注解底层原理 + - SpringBoot零配置底层原理实现 + - Spring是什么 + - Spring的事务传播机制 + - Spring框架中Bean的创建过程 + - Spring中的Bean是线程安全的吗 + - Spring中的单例Bean是线程安全的吗 + - Spring框架中使用了哪些设计模式及应用场景 + - Spring容器启动流程是怎样的 + - Spring如何处理事务 + - Spring如何处理循环依赖问题 + - Spring事务的实现原理及隔离级别 + - Spring事务什么时候会失效 + - Spring用到了哪些设计模式 + - Spring支持的Bane的作用域 + - Spring中Bean是线程安全的吗 + - Spring中的Bean创建的声明周期有哪些步骤 + - Spring中的事务时如何实现的 + - Spring中说明时候@Transactional会失效 + - Spring中后置处理器的作用 + - 如何实现AOP,项目哪些地方用到了AOP + - 说说常用的SpringBoot注解,及其实现 + - 还读过哪些框架源码,介绍一下你还熟悉的 + - 介绍一下Spring,读过源码介绍一下大致流程 + - 什么时候@Transactional失效 + - 说一下Spring的事务机制 + - 对AOP的理解 + - 对IOC的理解 + - 简述Spring bean的生命周期 + - Spring用到了哪些设计模式 + - Spring中Bean是线程安全的吗 + - 如何理解SpringBoot的starter + - 如何实现一个IOC容器 + - 什么是bean的自动装配,有哪些方式 + - 如何实现一个自定义的starter \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2023_10_07/2023-10-19T14_02_50.922Z.Desktop.md b/logseq-java/logseq/bak/journals/2023_10_07/2023-10-19T14_02_50.922Z.Desktop.md new file mode 100644 index 0000000..0cf44f9 --- /dev/null +++ b/logseq-java/logseq/bak/journals/2023_10_07/2023-10-19T14_02_50.922Z.Desktop.md @@ -0,0 +1,171 @@ +- MySQL + :LOGBOOK: + CLOCK: [2023-10-07 Sat 13:05:28] + :END: + - DONE 看面试题 + :LOGBOOK: + CLOCK: [2023-10-10 Tue 11:46:55] + CLOCK: [2023-10-10 Tue 11:46:59]--[2023-10-10 Tue 21:24:01] => 09:37:02 + :END: + - https://www.bilibili.com/video/BV1N24y1y7a1 + - [[如何实现的索引机制]] + - [[表中没有索引,会创建B+树吗]] + - [[B+树]] + - [[为什么官方推荐自增主键]] + - [[使用int作为自增主键,最大id为10,删除10和9,添加一条记录,不重启和重启后添加记录id为多少]] + - [[索引优缺点]] + - [[回表操作]] + - [[索引类型]] + - [[创建索引的情况]] + - [[索引下推]] + - [[索引失效]] + - [[多个索引是否可以指定]] + - [[Order By是否走索引]] + - [[MySQL查询缓存]] + - [[MySQL组成]] + - [[MySQL执行SQL步骤]] + - [[存储引擎]] + - [[MySQL事务]] + - [[MySQL锁]] + - [[XA协议]] + - [[select for update会产生哪些操作]] + - [[死锁的产生原因和处理方法]] + - [[MySQL日志]] + - MySQL开发 + - [[可以用MySQL存储文件吗]] + - [[存储的时候有遇到过什么问题吗]] + - [[财务计算有没有出现过错乱]] + - [[预编译SQL]] + - [[子查询和join哪个效率高]] + - [[SQL调优]] + - [[MySQL数据库cpu飙升]] + - [[分库分表]] + - [[视图]] + - [[存储过程]] + - [[外键]] + - [[processlist]] + - [[千万数据查询优化]] + - [[count(列名)和count(*)区别]] + - [[如果有超大分页怎么处理]] + - [[mysql服务器毫无规律异常重启]] + - [[mysql线上修改表结构有哪些风险]] + - [[什么是mysql多实例部署]] +- DONE 多线程 + :LOGBOOK: + CLOCK: [2023-10-07 Sat 13:11:17]--[2023-10-19 Thu 17:21:38] => 292:10:21 + :END: + - [[Java创建线程的方式有哪些]] + - [[线程生命周期状态]] + - [[什么是线程安全,线程安全的本质]] + - [[ThreadLocal使用场景]] + - [[ThreadLocal内存泄漏]] + - [[Java中21种锁]] + - [[为什么阿里禁用Executors创建线程]] + - [[如何根据实际需要,定制自己的线程池]] + - [[CAS缺点]] + - [[线程池线程复用原理]] + - [[阻塞和非阻塞队列的并发安全原理]] + - [[公平锁和非公平锁]] + - [[自旋锁优缺点]] + - [[合适的线程数量,CPU核心数和线程树的关系]] + - [[CAS是一种什么样的同步机制]] + - [[线程加锁有哪些方式,Synchronized和lock的区别]] + - [[进程和线程的区别,使用线程真的能节省时间]] + - [[线程有几种状态]] + - [[ThreadLocal是什么,工作中有用到过吗]] + - [[ThreadLocal父子线程怎么共享数据]] + - [[ThreadLocalMap的结构及扩容机制]] + - [[解决hash冲突发方法]] + - [[你知道哪几种锁,分别有什么特点]] + - [[什么是阻塞队列,Java中有哪些阻塞队列]] + - [[ConcurrentHashMap为什么放弃了分段锁]] + - [[HashMap内部如何工作]] + - [[什么是指令重排序,为什么要重排序]] + - [[什么是内存可见性]] + - [[什么是happen-before原则]] + - [[为什么需要AQS,AQS的作用和重要性]] + - [[一个线程调用两次start()方法会出现什么情况]] + - [[为什么多线程会带来性能问题]] + - [[线程池有几种拒绝策略]] + - [[哪些解决死锁的策略]] + - [[你知道哪些线程安全问题]] + - [[线程池中提交一个任务是怎么样的]] +- DONE JVM + :LOGBOOK: + CLOCK: [2023-10-07 Sat 13:11:28]--[2023-10-17 Tue 20:44:40] => 247:33:12 + :END: + - https://www.bilibili.com/video/BV1dA411U7or + - [[JVM主要组成部分]] + - [[JVM内存结构]] + - [[垃圾回收算法]] + - [[垃圾回收器]] + - [[JVM调优]] + - [[JDK自带调优工具]] + - [[生产环境OOM问题]] + - [[生产环境CPU飙高问题]] + - [[类加载机制]] + - [[对象完整创建流程]] + - [[对象分配内存时的指针碰撞和空闲列表机制]] + - [[对象头]] + - [[对象分配内存时的并发问题解决CAS与TLAB机制]] + - [[如何计算对象占用内存大小]] + - [[对象指针压缩]] + - [[栈上分配,逃逸分析,标量替换]] + - [[引用计数法有什么问题]] + - [[GC Root可达性分析法]] + - [[什么样的类能被回收]] + - [[JVM内部各种垃圾收集算法]] + - [[CMS垃圾回收过程]] + - [[CMS比较严重的问题并发收集阶段再次触发Full GC]] + - [[垃圾收集底层三色标记算法]] + - [[G1垃圾收集过程]] + - [[G1收集器最大停顿时间时如何实现的]] + - [[内存泄漏如何排查和解决]] + - [[GC什么时候都能做吗,GC安全点和安全区域]] + - [[字符串常量池]] + - [[基本类型包装类常量池如何实现的]] + - 堆的分代 + - 年轻代minor gc + - Eden + - S0 + - S1 + - 老年代full gc + - 可达性分析法 + - GCRoots,以root为节点分析引用的对象 + - jvisualvm + - 双击进去查看内部的运行情况 + - arthas + - java -jar运行jar包 + - dashboard + - thread 线程号 + - 定位代码运行位置 + - thread -b + - 查看死锁 + - jad + - 反编译代码 + - ognl + - 修改线上系统变量的值 + - STW机制 + - 用户线程会被暂停 + - 电商网站 + - 有压力频繁full gc + - 亿级流量电商 + - 每个用户平均点击20,30次 + - 日活用户500万 + - 付费转换率10% + - 日均50万单 + - 大促在抢购前几分钟产生 + - 每秒1000多单 + - 4核8G部署 300单/秒 + - 一个订单对象1KB + - 每秒300KB订单 + - 其他对象放大20倍 + - eden800M,s0,s1,100M,old2G + - 一秒产生60M对象,运行14秒占满eden + - 因为动态对象年龄,每秒60M对象直接移动到老年代 + - 能够对JVM调优,让其不发生Full GC + - 可以,调大新生代的区域大小,让清理的时间延长 + - 长期存活对象移动到老年代 + - 动态对象年龄 + - 一批对象的总大小大于这块susrvivor区域内存大小的50%,大于等于这批对象年龄最大值的对象可以直接进入老年代 + - \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2023_10_07/2023-10-23T07_56_27.574Z.Desktop.md b/logseq-java/logseq/bak/journals/2023_10_07/2023-10-23T07_56_27.574Z.Desktop.md new file mode 100644 index 0000000..3af32ec --- /dev/null +++ b/logseq-java/logseq/bak/journals/2023_10_07/2023-10-23T07_56_27.574Z.Desktop.md @@ -0,0 +1,173 @@ +- MySQL + :LOGBOOK: + CLOCK: [2023-10-07 Sat 13:05:28] + :END: + - DONE 看面试题 + :LOGBOOK: + CLOCK: [2023-10-10 Tue 11:46:55] + CLOCK: [2023-10-10 Tue 11:46:59]--[2023-10-10 Tue 21:24:01] => 09:37:02 + :END: + - https://www.bilibili.com/video/BV1N24y1y7a1 + - [[如何实现的索引机制]] + - [[表中没有索引,会创建B+树吗]] + - [[B+树]] + - [[为什么官方推荐自增主键]] + - [[使用int作为自增主键,最大id为10,删除10和9,添加一条记录,不重启和重启后添加记录id为多少]] + - [[索引优缺点]] + - [[回表操作]] + - [[索引类型]] + - [[创建索引的情况]] + - [[索引下推]] + - [[索引失效]] + - [[多个索引是否可以指定]] + - [[Order By是否走索引]] + - [[MySQL查询缓存]] + - [[MySQL组成]] + - [[MySQL执行SQL步骤]] + - [[存储引擎]] + - [[MySQL事务]] + - [[MySQL锁]] + - [[XA协议]] + - [[select for update会产生哪些操作]] + - [[死锁的产生原因和处理方法]] + - [[MySQL日志]] + - MySQL开发 + - [[可以用MySQL存储文件吗]] + - [[存储的时候有遇到过什么问题吗]] + - [[财务计算有没有出现过错乱]] + - [[预编译SQL]] + - [[子查询和join哪个效率高]] + - [[SQL调优]] + - [[MySQL数据库cpu飙升]] + - [[分库分表]] + - [[视图]] + - [[存储过程]] + - [[外键]] + - [[processlist]] + - [[千万数据查询优化]] + - [[count(列名)和count(*)区别]] + - [[如果有超大分页怎么处理]] + - [[mysql服务器毫无规律异常重启]] + - [[mysql线上修改表结构有哪些风险]] + - [[什么是mysql多实例部署]] +- DOING 多线程 + :LOGBOOK: + CLOCK: [2023-10-07 Sat 13:11:17] + :END: + - [[Java创建线程的方式有哪些]] + - [[线程生命周期状态]] + - [[什么是线程安全,线程安全的本质]] + - [[ThreadLocal使用场景]] + - [[ThreadLocal内存泄漏]] + - [[Java中21种锁]] + - [[为什么阿里禁用Executors创建线程]] + - [[如何根据实际需要,定制自己的线程池]] + - [[CAS缺点]] + - [[线程池线程复用原理]] + - [[阻塞和非阻塞队列的并发安全原理]] + - [[公平锁和非公平锁]] + - [[自旋锁优缺点]] + - [[合适的线程数量,CPU核心数和线程数的关系]] + - [[CAS是一种什么样的同步机制]] + - [[线程加锁有哪些方式,Synchronized和lock的区别]] + - [[进程和线程的区别,使用线程真的能节省时间]] + - [[线程有几种状态]] + - [[ThreadLocal是什么,工作中有用到过吗]] + - [[ThreadLocal如何实现]] + - [[ThreadLocal父子线程怎么共享数据]] + - [[ThreadLocalMap的结构及扩容机制]] + - [[解决hash冲突方法]] + - [[你知道哪几种锁,分别有什么特点]] + - [[什么是阻塞队列,Java中有哪些阻塞队列]] + - [[ConcurrentHashMap为什么放弃了分段锁]] + - [[HashMap内部如何工作]] + - [[什么是指令重排序,为什么要重排序]] + - [[什么是内存可见性]] + - [[主内存和工作内存的关系]] + - [[什么是happen-before原则]] + - [[为什么需要AQS,AQS的作用和重要性]] + - [[一个线程调用两次start()方法会出现什么情况]] + - [[为什么多线程会带来性能问题]] + - [[线程池有几种拒绝策略]] + - [[哪些解决死锁的策略]] + - [[你知道哪些线程安全问题]] + - [[线程池中提交一个任务是怎么样的]] +- DONE JVM + :LOGBOOK: + CLOCK: [2023-10-07 Sat 13:11:28]--[2023-10-17 Tue 20:44:40] => 247:33:12 + :END: + - https://www.bilibili.com/video/BV1dA411U7or + - [[JVM主要组成部分]] + - [[JVM内存结构]] + - [[垃圾回收算法]] + - [[垃圾回收器]] + - [[JVM调优]] + - [[JDK自带调优工具]] + - [[生产环境OOM问题]] + - [[生产环境CPU飙高问题]] + - [[类加载机制]] + - [[对象完整创建流程]] + - [[对象分配内存时的指针碰撞和空闲列表机制]] + - [[对象头]] + - [[对象分配内存时的并发问题解决CAS与TLAB机制]] + - [[如何计算对象占用内存大小]] + - [[对象指针压缩]] + - [[栈上分配,逃逸分析,标量替换]] + - [[引用计数法有什么问题]] + - [[GC Root可达性分析法]] + - [[什么样的类能被回收]] + - [[JVM内部各种垃圾收集算法]] + - [[CMS垃圾回收过程]] + - [[CMS比较严重的问题并发收集阶段再次触发Full GC]] + - [[垃圾收集底层三色标记算法]] + - [[G1垃圾收集过程]] + - [[G1收集器最大停顿时间时如何实现的]] + - [[内存泄漏如何排查和解决]] + - [[GC什么时候都能做吗,GC安全点和安全区域]] + - [[字符串常量池]] + - [[基本类型包装类常量池如何实现的]] + - 堆的分代 + - 年轻代minor gc + - Eden + - S0 + - S1 + - 老年代full gc + - 可达性分析法 + - GCRoots,以root为节点分析引用的对象 + - jvisualvm + - 双击进去查看内部的运行情况 + - arthas + - java -jar运行jar包 + - dashboard + - thread 线程号 + - 定位代码运行位置 + - thread -b + - 查看死锁 + - jad + - 反编译代码 + - ognl + - 修改线上系统变量的值 + - STW机制 + - 用户线程会被暂停 + - 电商网站 + - 有压力频繁full gc + - 亿级流量电商 + - 每个用户平均点击20,30次 + - 日活用户500万 + - 付费转换率10% + - 日均50万单 + - 大促在抢购前几分钟产生 + - 每秒1000多单 + - 4核8G部署 300单/秒 + - 一个订单对象1KB + - 每秒300KB订单 + - 其他对象放大20倍 + - eden800M,s0,s1,100M,old2G + - 一秒产生60M对象,运行14秒占满eden + - 因为动态对象年龄,每秒60M对象直接移动到老年代 + - 能够对JVM调优,让其不发生Full GC + - 可以,调大新生代的区域大小,让清理的时间延长 + - 长期存活对象移动到老年代 + - 动态对象年龄 + - 一批对象的总大小大于这块susrvivor区域内存大小的50%,大于等于这批对象年龄最大值的对象可以直接进入老年代 + - \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2023_10_07/2023-10-25T00_44_14.618Z.Desktop.md b/logseq-java/logseq/bak/journals/2023_10_07/2023-10-25T00_44_14.618Z.Desktop.md new file mode 100644 index 0000000..0ff3009 --- /dev/null +++ b/logseq-java/logseq/bak/journals/2023_10_07/2023-10-25T00_44_14.618Z.Desktop.md @@ -0,0 +1,173 @@ +- MySQL + :LOGBOOK: + CLOCK: [2023-10-07 Sat 13:05:28] + :END: + - DONE 看面试题 + :LOGBOOK: + CLOCK: [2023-10-10 Tue 11:46:55] + CLOCK: [2023-10-10 Tue 11:46:59]--[2023-10-10 Tue 21:24:01] => 09:37:02 + :END: + - https://www.bilibili.com/video/BV1N24y1y7a1 + - [[如何实现的索引机制]] + - [[表中没有索引,会创建B+树吗]] + - [[B+树]] + - [[为什么官方推荐自增主键]] + - [[使用int作为自增主键,最大id为10,删除10和9,添加一条记录,不重启和重启后添加记录id为多少]] + - [[索引优缺点]] + - [[回表操作]] + - [[索引类型]] + - [[创建索引的情况]] + - [[索引下推]] + - [[索引失效]] + - [[多个索引是否可以指定]] + - [[Order By是否走索引]] + - [[MySQL查询缓存]] + - [[MySQL组成]] + - [[MySQL执行SQL步骤]] + - [[存储引擎]] + - [[MySQL事务]] + - [[MySQL锁]] + - [[XA协议]] + - [[select for update会产生哪些操作]] + - [[死锁的产生原因和处理方法]] + - [[MySQL日志]] + - MySQL开发 + - [[可以用MySQL存储文件吗]] + - [[存储的时候有遇到过什么问题吗]] + - [[财务计算有没有出现过错乱]] + - [[预编译SQL]] + - [[子查询和join哪个效率高]] + - [[SQL调优]] + - [[MySQL数据库cpu飙升]] + - [[分库分表]] + - [[视图]] + - [[存储过程]] + - [[外键]] + - [[processlist]] + - [[千万数据查询优化]] + - [[count(列名)和count(*)区别]] + - [[如果有超大分页怎么处理]] + - [[mysql服务器毫无规律异常重启]] + - [[mysql线上修改表结构有哪些风险]] + - [[什么是mysql多实例部署]] +- DONE 多线程 + :LOGBOOK: + CLOCK: [2023-10-07 Sat 13:11:17]--[2023-10-19 Thu 17:21:38] => 292:10:21 + :END: + - [[Java创建线程的方式有哪些]] + - [[线程生命周期状态]] + - [[什么是线程安全,线程安全的本质]] + - [[ThreadLocal使用场景]] + - [[ThreadLocal内存泄漏]] + - [[Java中21种锁]] + - [[为什么阿里禁用Executors创建线程]] + - [[如何根据实际需要,定制自己的线程池]] + - [[CAS缺点]] + - [[线程池线程复用原理]] + - [[阻塞和非阻塞队列的并发安全原理]] + - [[公平锁和非公平锁]] + - [[自旋锁优缺点]] + - [[合适的线程数量,CPU核心数和线程数的关系]] + - [[CAS是一种什么样的同步机制]] + - [[线程加锁有哪些方式,Synchronized和lock的区别]] + - [[进程和线程的区别,使用线程真的能节省时间]] + - [[线程有几种状态]] + - [[ThreadLocal是什么,工作中有用到过吗]] + - [[ThreadLocal如何实现]] + - [[ThreadLocal父子线程怎么共享数据]] + - [[ThreadLocalMap的结构及扩容机制]] + - [[解决hash冲突方法]] + - [[你知道哪几种锁,分别有什么特点]] + - [[什么是阻塞队列,Java中有哪些阻塞队列]] + - [[ConcurrentHashMap为什么放弃了分段锁]] + - [[HashMap内部如何工作]] + - [[什么是指令重排序,为什么要重排序]] + - [[什么是内存可见性]] + - [[主内存和工作内存的关系]] + - [[什么是happen-before原则]] + - [[为什么需要AQS,AQS的作用和重要性]] + - [[一个线程调用两次start()方法会出现什么情况]] + - [[为什么多线程会带来性能问题]] + - [[线程池有几种拒绝策略]] + - [[哪些解决死锁的策略]] + - [[你知道哪些线程安全问题]] + - [[线程池中提交一个任务是怎么样的]] +- DONE JVM + :LOGBOOK: + CLOCK: [2023-10-07 Sat 13:11:28]--[2023-10-17 Tue 20:44:40] => 247:33:12 + :END: + - https://www.bilibili.com/video/BV1dA411U7or + - [[JVM主要组成部分]] + - [[JVM内存结构]] + - [[垃圾回收算法]] + - [[垃圾回收器]] + - [[JVM调优]] + - [[JDK自带调优工具]] + - [[生产环境OOM问题]] + - [[生产环境CPU飙高问题]] + - [[类加载机制]] + - [[对象完整创建流程]] + - [[对象分配内存时的指针碰撞和空闲列表机制]] + - [[对象头]] + - [[对象分配内存时的并发问题解决CAS与TLAB机制]] + - [[如何计算对象占用内存大小]] + - [[对象指针压缩]] + - [[栈上分配,逃逸分析,标量替换]] + - [[引用计数法有什么问题]] + - [[GC Root可达性分析法]] + - [[什么样的类能被回收]] + - [[JVM内部各种垃圾收集算法]] + - [[CMS垃圾回收过程]] + - [[CMS比较严重的问题并发收集阶段再次触发Full GC]] + - [[垃圾收集底层三色标记算法]] + - [[G1垃圾收集过程]] + - [[G1收集器最大停顿时间时如何实现的]] + - [[内存泄漏如何排查和解决]] + - [[GC什么时候都能做吗,GC安全点和安全区域]] + - [[字符串常量池]] + - [[基本类型包装类常量池如何实现的]] + - 堆的分代 + - 年轻代minor gc + - Eden + - S0 + - S1 + - 老年代full gc + - 可达性分析法 + - GCRoots,以root为节点分析引用的对象 + - jvisualvm + - 双击进去查看内部的运行情况 + - arthas + - java -jar运行jar包 + - dashboard + - thread 线程号 + - 定位代码运行位置 + - thread -b + - 查看死锁 + - jad + - 反编译代码 + - ognl + - 修改线上系统变量的值 + - STW机制 + - 用户线程会被暂停 + - 电商网站 + - 有压力频繁full gc + - 亿级流量电商 + - 每个用户平均点击20,30次 + - 日活用户500万 + - 付费转换率10% + - 日均50万单 + - 大促在抢购前几分钟产生 + - 每秒1000多单 + - 4核8G部署 300单/秒 + - 一个订单对象1KB + - 每秒300KB订单 + - 其他对象放大20倍 + - eden800M,s0,s1,100M,old2G + - 一秒产生60M对象,运行14秒占满eden + - 因为动态对象年龄,每秒60M对象直接移动到老年代 + - 能够对JVM调优,让其不发生Full GC + - 可以,调大新生代的区域大小,让清理的时间延长 + - 长期存活对象移动到老年代 + - 动态对象年龄 + - 一批对象的总大小大于这块susrvivor区域内存大小的50%,大于等于这批对象年龄最大值的对象可以直接进入老年代 + - \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2023_10_07/2023-10-25T01_12_10.364Z.Desktop.md b/logseq-java/logseq/bak/journals/2023_10_07/2023-10-25T01_12_10.364Z.Desktop.md new file mode 100644 index 0000000..184387c --- /dev/null +++ b/logseq-java/logseq/bak/journals/2023_10_07/2023-10-25T01_12_10.364Z.Desktop.md @@ -0,0 +1,123 @@ +- MySQL + :LOGBOOK: + CLOCK: [2023-10-07 Sat 13:05:28] + :END: + - DONE 看面试题 + :LOGBOOK: + CLOCK: [2023-10-10 Tue 11:46:55] + CLOCK: [2023-10-10 Tue 11:46:59]--[2023-10-10 Tue 21:24:01] => 09:37:02 + :END: + - https://www.bilibili.com/video/BV1N24y1y7a1 + - [[如何实现的索引机制]] + - [[表中没有索引,会创建B+树吗]] + - [[B+树]] + - [[为什么官方推荐自增主键]] + - [[使用int作为自增主键,最大id为10,删除10和9,添加一条记录,不重启和重启后添加记录id为多少]] + - [[索引优缺点]] + - [[回表操作]] + - [[索引类型]] + - [[创建索引的情况]] + - [[索引下推]] + - [[索引失效]] + - [[多个索引是否可以指定]] + - [[Order By是否走索引]] + - [[MySQL查询缓存]] + - [[MySQL组成]] + - [[MySQL执行SQL步骤]] + - [[存储引擎]] + - [[MySQL事务]] + - [[MySQL锁]] + - [[XA协议]] + - [[select for update会产生哪些操作]] + - [[死锁的产生原因和处理方法]] + - [[MySQL日志]] + - MySQL开发 + - [[可以用MySQL存储文件吗]] + - [[存储的时候有遇到过什么问题吗]] + - [[财务计算有没有出现过错乱]] + - [[预编译SQL]] + - [[子查询和join哪个效率高]] + - [[SQL调优]] + - [[MySQL数据库cpu飙升]] + - [[分库分表]] + - [[视图]] + - [[存储过程]] + - [[外键]] + - [[processlist]] + - [[千万数据查询优化]] + - [[count(列名)和count(*)区别]] + - [[如果有超大分页怎么处理]] + - [[mysql服务器毫无规律异常重启]] + - [[mysql线上修改表结构有哪些风险]] + - [[什么是mysql多实例部署]] +- DOING 多线程 + :LOGBOOK: + CLOCK: [2023-10-07 Sat 13:11:17] + :END: + - [[线程池中提交一个任务是怎么样的]] +- DOING JVM + :LOGBOOK: + CLOCK: [2023-10-07 Sat 13:11:28] + :END: + - [[JVM主要组成部分]] + - [[JVM内存结构]] + - [[垃圾回收算法]] + - [[垃圾回收器]] + - [[JVM调优]] + - [[JDK自带调优工具]] + - [[生产环境OOM问题]] + - [[生产环境CPU飙高问题]] + - [[类加载机制]] + - [[对象完整创建流程]] + - [[对象分配内存时的指针碰撞和空闲列表机制]] + - [[对象头]] + - [[对象分配内存时的并发问题解决CAS与TLAB机制]] + - [[如何计算对象占用内存大小]] + - [[对象指针压缩]] + - [[栈上分配,逃逸分析,标量替换]] + - + - 堆的分代 + - 年轻代minor gc + - Eden + - S0 + - S1 + - 老年代full gc + - 可达性分析法 + - GCRoots,以root为节点分析引用的对象 + - jvisualvm + - 双击进去查看内部的运行情况 + - arthas + - java -jar运行jar包 + - dashboard + - thread 线程号 + - 定位代码运行位置 + - thread -b + - 查看死锁 + - jad + - 反编译代码 + - ognl + - 修改线上系统变量的值 + - STW机制 + - 用户线程会被暂停 + - 电商网站 + - 有压力频繁full gc + - 亿级流量电商 + - 每个用户平均点击20,30次 + - 日活用户500万 + - 付费转换率10% + - 日均50万单 + - 大促在抢购前几分钟产生 + - 每秒1000多单 + - 4核8G部署 300单/秒 + - 一个订单对象1KB + - 每秒300KB订单 + - 其他对象放大20倍 + - eden800M,s0,s1,100M,old2G + - 一秒产生60M对象,运行14秒占满eden + - 因为动态对象年龄,每秒60M对象直接移动到老年代 + - 能够对JVM调优,让其不发生Full GC + - 可以,调大新生代的区域大小,让清理的时间延长 + - 长期存活对象移动到老年代 + - 动态对象年龄 + - 一批对象的总大小大于这块susrvivor区域内存大小的50%,大于等于这批对象年龄最大值的对象可以直接进入老年代 + - \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2023_10_07/2023-10-27T07_18_31.958Z.Desktop.md b/logseq-java/logseq/bak/journals/2023_10_07/2023-10-27T07_18_31.958Z.Desktop.md new file mode 100644 index 0000000..184387c --- /dev/null +++ b/logseq-java/logseq/bak/journals/2023_10_07/2023-10-27T07_18_31.958Z.Desktop.md @@ -0,0 +1,123 @@ +- MySQL + :LOGBOOK: + CLOCK: [2023-10-07 Sat 13:05:28] + :END: + - DONE 看面试题 + :LOGBOOK: + CLOCK: [2023-10-10 Tue 11:46:55] + CLOCK: [2023-10-10 Tue 11:46:59]--[2023-10-10 Tue 21:24:01] => 09:37:02 + :END: + - https://www.bilibili.com/video/BV1N24y1y7a1 + - [[如何实现的索引机制]] + - [[表中没有索引,会创建B+树吗]] + - [[B+树]] + - [[为什么官方推荐自增主键]] + - [[使用int作为自增主键,最大id为10,删除10和9,添加一条记录,不重启和重启后添加记录id为多少]] + - [[索引优缺点]] + - [[回表操作]] + - [[索引类型]] + - [[创建索引的情况]] + - [[索引下推]] + - [[索引失效]] + - [[多个索引是否可以指定]] + - [[Order By是否走索引]] + - [[MySQL查询缓存]] + - [[MySQL组成]] + - [[MySQL执行SQL步骤]] + - [[存储引擎]] + - [[MySQL事务]] + - [[MySQL锁]] + - [[XA协议]] + - [[select for update会产生哪些操作]] + - [[死锁的产生原因和处理方法]] + - [[MySQL日志]] + - MySQL开发 + - [[可以用MySQL存储文件吗]] + - [[存储的时候有遇到过什么问题吗]] + - [[财务计算有没有出现过错乱]] + - [[预编译SQL]] + - [[子查询和join哪个效率高]] + - [[SQL调优]] + - [[MySQL数据库cpu飙升]] + - [[分库分表]] + - [[视图]] + - [[存储过程]] + - [[外键]] + - [[processlist]] + - [[千万数据查询优化]] + - [[count(列名)和count(*)区别]] + - [[如果有超大分页怎么处理]] + - [[mysql服务器毫无规律异常重启]] + - [[mysql线上修改表结构有哪些风险]] + - [[什么是mysql多实例部署]] +- DOING 多线程 + :LOGBOOK: + CLOCK: [2023-10-07 Sat 13:11:17] + :END: + - [[线程池中提交一个任务是怎么样的]] +- DOING JVM + :LOGBOOK: + CLOCK: [2023-10-07 Sat 13:11:28] + :END: + - [[JVM主要组成部分]] + - [[JVM内存结构]] + - [[垃圾回收算法]] + - [[垃圾回收器]] + - [[JVM调优]] + - [[JDK自带调优工具]] + - [[生产环境OOM问题]] + - [[生产环境CPU飙高问题]] + - [[类加载机制]] + - [[对象完整创建流程]] + - [[对象分配内存时的指针碰撞和空闲列表机制]] + - [[对象头]] + - [[对象分配内存时的并发问题解决CAS与TLAB机制]] + - [[如何计算对象占用内存大小]] + - [[对象指针压缩]] + - [[栈上分配,逃逸分析,标量替换]] + - + - 堆的分代 + - 年轻代minor gc + - Eden + - S0 + - S1 + - 老年代full gc + - 可达性分析法 + - GCRoots,以root为节点分析引用的对象 + - jvisualvm + - 双击进去查看内部的运行情况 + - arthas + - java -jar运行jar包 + - dashboard + - thread 线程号 + - 定位代码运行位置 + - thread -b + - 查看死锁 + - jad + - 反编译代码 + - ognl + - 修改线上系统变量的值 + - STW机制 + - 用户线程会被暂停 + - 电商网站 + - 有压力频繁full gc + - 亿级流量电商 + - 每个用户平均点击20,30次 + - 日活用户500万 + - 付费转换率10% + - 日均50万单 + - 大促在抢购前几分钟产生 + - 每秒1000多单 + - 4核8G部署 300单/秒 + - 一个订单对象1KB + - 每秒300KB订单 + - 其他对象放大20倍 + - eden800M,s0,s1,100M,old2G + - 一秒产生60M对象,运行14秒占满eden + - 因为动态对象年龄,每秒60M对象直接移动到老年代 + - 能够对JVM调优,让其不发生Full GC + - 可以,调大新生代的区域大小,让清理的时间延长 + - 长期存活对象移动到老年代 + - 动态对象年龄 + - 一批对象的总大小大于这块susrvivor区域内存大小的50%,大于等于这批对象年龄最大值的对象可以直接进入老年代 + - \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2023_10_07/2023-10-27T07_24_32.169Z.Desktop.md b/logseq-java/logseq/bak/journals/2023_10_07/2023-10-27T07_24_32.169Z.Desktop.md new file mode 100644 index 0000000..0ff3009 --- /dev/null +++ b/logseq-java/logseq/bak/journals/2023_10_07/2023-10-27T07_24_32.169Z.Desktop.md @@ -0,0 +1,173 @@ +- MySQL + :LOGBOOK: + CLOCK: [2023-10-07 Sat 13:05:28] + :END: + - DONE 看面试题 + :LOGBOOK: + CLOCK: [2023-10-10 Tue 11:46:55] + CLOCK: [2023-10-10 Tue 11:46:59]--[2023-10-10 Tue 21:24:01] => 09:37:02 + :END: + - https://www.bilibili.com/video/BV1N24y1y7a1 + - [[如何实现的索引机制]] + - [[表中没有索引,会创建B+树吗]] + - [[B+树]] + - [[为什么官方推荐自增主键]] + - [[使用int作为自增主键,最大id为10,删除10和9,添加一条记录,不重启和重启后添加记录id为多少]] + - [[索引优缺点]] + - [[回表操作]] + - [[索引类型]] + - [[创建索引的情况]] + - [[索引下推]] + - [[索引失效]] + - [[多个索引是否可以指定]] + - [[Order By是否走索引]] + - [[MySQL查询缓存]] + - [[MySQL组成]] + - [[MySQL执行SQL步骤]] + - [[存储引擎]] + - [[MySQL事务]] + - [[MySQL锁]] + - [[XA协议]] + - [[select for update会产生哪些操作]] + - [[死锁的产生原因和处理方法]] + - [[MySQL日志]] + - MySQL开发 + - [[可以用MySQL存储文件吗]] + - [[存储的时候有遇到过什么问题吗]] + - [[财务计算有没有出现过错乱]] + - [[预编译SQL]] + - [[子查询和join哪个效率高]] + - [[SQL调优]] + - [[MySQL数据库cpu飙升]] + - [[分库分表]] + - [[视图]] + - [[存储过程]] + - [[外键]] + - [[processlist]] + - [[千万数据查询优化]] + - [[count(列名)和count(*)区别]] + - [[如果有超大分页怎么处理]] + - [[mysql服务器毫无规律异常重启]] + - [[mysql线上修改表结构有哪些风险]] + - [[什么是mysql多实例部署]] +- DONE 多线程 + :LOGBOOK: + CLOCK: [2023-10-07 Sat 13:11:17]--[2023-10-19 Thu 17:21:38] => 292:10:21 + :END: + - [[Java创建线程的方式有哪些]] + - [[线程生命周期状态]] + - [[什么是线程安全,线程安全的本质]] + - [[ThreadLocal使用场景]] + - [[ThreadLocal内存泄漏]] + - [[Java中21种锁]] + - [[为什么阿里禁用Executors创建线程]] + - [[如何根据实际需要,定制自己的线程池]] + - [[CAS缺点]] + - [[线程池线程复用原理]] + - [[阻塞和非阻塞队列的并发安全原理]] + - [[公平锁和非公平锁]] + - [[自旋锁优缺点]] + - [[合适的线程数量,CPU核心数和线程数的关系]] + - [[CAS是一种什么样的同步机制]] + - [[线程加锁有哪些方式,Synchronized和lock的区别]] + - [[进程和线程的区别,使用线程真的能节省时间]] + - [[线程有几种状态]] + - [[ThreadLocal是什么,工作中有用到过吗]] + - [[ThreadLocal如何实现]] + - [[ThreadLocal父子线程怎么共享数据]] + - [[ThreadLocalMap的结构及扩容机制]] + - [[解决hash冲突方法]] + - [[你知道哪几种锁,分别有什么特点]] + - [[什么是阻塞队列,Java中有哪些阻塞队列]] + - [[ConcurrentHashMap为什么放弃了分段锁]] + - [[HashMap内部如何工作]] + - [[什么是指令重排序,为什么要重排序]] + - [[什么是内存可见性]] + - [[主内存和工作内存的关系]] + - [[什么是happen-before原则]] + - [[为什么需要AQS,AQS的作用和重要性]] + - [[一个线程调用两次start()方法会出现什么情况]] + - [[为什么多线程会带来性能问题]] + - [[线程池有几种拒绝策略]] + - [[哪些解决死锁的策略]] + - [[你知道哪些线程安全问题]] + - [[线程池中提交一个任务是怎么样的]] +- DONE JVM + :LOGBOOK: + CLOCK: [2023-10-07 Sat 13:11:28]--[2023-10-17 Tue 20:44:40] => 247:33:12 + :END: + - https://www.bilibili.com/video/BV1dA411U7or + - [[JVM主要组成部分]] + - [[JVM内存结构]] + - [[垃圾回收算法]] + - [[垃圾回收器]] + - [[JVM调优]] + - [[JDK自带调优工具]] + - [[生产环境OOM问题]] + - [[生产环境CPU飙高问题]] + - [[类加载机制]] + - [[对象完整创建流程]] + - [[对象分配内存时的指针碰撞和空闲列表机制]] + - [[对象头]] + - [[对象分配内存时的并发问题解决CAS与TLAB机制]] + - [[如何计算对象占用内存大小]] + - [[对象指针压缩]] + - [[栈上分配,逃逸分析,标量替换]] + - [[引用计数法有什么问题]] + - [[GC Root可达性分析法]] + - [[什么样的类能被回收]] + - [[JVM内部各种垃圾收集算法]] + - [[CMS垃圾回收过程]] + - [[CMS比较严重的问题并发收集阶段再次触发Full GC]] + - [[垃圾收集底层三色标记算法]] + - [[G1垃圾收集过程]] + - [[G1收集器最大停顿时间时如何实现的]] + - [[内存泄漏如何排查和解决]] + - [[GC什么时候都能做吗,GC安全点和安全区域]] + - [[字符串常量池]] + - [[基本类型包装类常量池如何实现的]] + - 堆的分代 + - 年轻代minor gc + - Eden + - S0 + - S1 + - 老年代full gc + - 可达性分析法 + - GCRoots,以root为节点分析引用的对象 + - jvisualvm + - 双击进去查看内部的运行情况 + - arthas + - java -jar运行jar包 + - dashboard + - thread 线程号 + - 定位代码运行位置 + - thread -b + - 查看死锁 + - jad + - 反编译代码 + - ognl + - 修改线上系统变量的值 + - STW机制 + - 用户线程会被暂停 + - 电商网站 + - 有压力频繁full gc + - 亿级流量电商 + - 每个用户平均点击20,30次 + - 日活用户500万 + - 付费转换率10% + - 日均50万单 + - 大促在抢购前几分钟产生 + - 每秒1000多单 + - 4核8G部署 300单/秒 + - 一个订单对象1KB + - 每秒300KB订单 + - 其他对象放大20倍 + - eden800M,s0,s1,100M,old2G + - 一秒产生60M对象,运行14秒占满eden + - 因为动态对象年龄,每秒60M对象直接移动到老年代 + - 能够对JVM调优,让其不发生Full GC + - 可以,调大新生代的区域大小,让清理的时间延长 + - 长期存活对象移动到老年代 + - 动态对象年龄 + - 一批对象的总大小大于这块susrvivor区域内存大小的50%,大于等于这批对象年龄最大值的对象可以直接进入老年代 + - \ No newline at end of file diff --git a/logseq-java/logseq/bak/journals/2023_10_22/2023-10-31T14_53_02.945Z.ios.md b/logseq-java/logseq/bak/journals/2023_10_22/2023-10-31T14_53_02.945Z.ios.md new file mode 100644 index 0000000..88bd16b --- /dev/null +++ b/logseq-java/logseq/bak/journals/2023_10_22/2023-10-31T14_53_02.945Z.ios.md @@ -0,0 +1,26 @@ +- DOING SSM框架 + :LOGBOOK: + CLOCK: [2023-10-22 Sun 19:56:32] + :END: + - [【冒死上传】比啃书强十倍!23年最牛SSM框架面试教程(SpringBoot+SpringMvc+Mybatis)高质量夺命连环47问|完整版-允许白嫖!!_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1hh4y1q7je/) + - Spring中定义Bean的方式 #card + - 使用@Bean + - 使用@Component + - 使用@Controller,@Service,@Repository + - 使用@Configuration + - 使用@Import(.class)导入 + - 使用@ControllerAdevice、@RestControllerAdvice + - 底层不是用的Spring AOP那套,Spring MVC自己实现了 + - 使用BeanDefination + - xml配置\标签 + - @ImportResource(classpath:spring.xml) + - Spring的自动配置 #card + - 使用SpringBoot时会引入一个starter包,间接引用spring-boot-autoconfigure的包,里面有各种各样的配置类,里面配置了各种Bean + - @SpringBootApplication注解,内部有三个注解 + - @SpringBootConfiguration + - @EnableAutoConfiguration,自动配置的开关,正常情况下我们的应用程序不会扫描SpringBootConfigure这个包的路径文件,开启了这个注解才会 + - @ComponentScan + - {{embed [[#{} 与 ${} 的区别]]}} + - ApplicationContext和BeanFactory有什么区别 + - 都是接口,分别代表应用容器和Bean工厂 + - Application继承了BeanFactory,有BeanFactory的全部功能,也是一个Bean工厂,还继承了其它接口并增加了国际化,事件发布,加载资源文件,获取系统环境变量等功能 \ No newline at end of file diff --git a/logseq-java/logseq/bak/logseq/config/2022-04-22T05_43_04.823Z.edn b/logseq-java/logseq/bak/logseq/config/2022-04-22T05_43_04.823Z.edn new file mode 100644 index 0000000..448882e --- /dev/null +++ b/logseq-java/logseq/bak/logseq/config/2022-04-22T05_43_04.823Z.edn @@ -0,0 +1,206 @@ +{:meta/version 1 + + ;; Currently, we support either "Markdown" or "Org". + ;; This can overwrite your global preference so that + ;; maybe your personal preferred format is Org but you'd + ;; need to use Markdown for some projects. + ;; :preferred-format "" + + ;; Preferred workflow style. + ;; Value is either ":now" for NOW/LATER style, + ;; or ":todo" for TODO/DOING style. + :preferred-workflow :now + + ;; The app will ignore those directories or files. + ;; E.g. "/archived" "/test.md" + :hidden [] + + ;; When creating the new journal page, the app will use your template if there is one. + ;; You only need to input your template name here. + :default-templates + {:journals ""} + + ;; Whether to enable hover on tooltip preview feature + ;; Default is true, you can also toggle this via setting page + :ui/enable-tooltip? true + + :feature/enable-block-timestamps? false + + ;; Specify a custom CSS import + ;; This option take precedence over your local `logseq/custom.css` file + ;; You may find a list of awesome logseq themes here: + ;; https://github.com/logseq/awesome-logseq#css-themes + ;; Example: + ;; :custom-css-url "@import url('https://cdn.jsdelivr.net/gh/dracula/logseq@master/custom.css');" + + ;; When :all-pages-public? true, export repo would export all pages within that repo. + ;; Regardless of whether you've set any page to public or not. + ;; Example: + ;; :publishing/all-pages-public? true + + ;; Specify default home page and sidebar status for Logseq + ;; If not specified, Logseq default opens journals page on startup + ;; value for `:page` is name of page + ;; Possible options for `:sidebar` are + ;; 1. `"Contents"` to open up `Contents` in sidebar by default + ;; 2. `page name` to open up some page in sidebar + ;; 3. Or multiple pages in an array ["Contents" "Page A" "Page B"] + ;; If `:sidebar` is not set, sidebar will be hidden + ;; Example: + ;; 1. Setup page "Changelog" as home page and "Contents" in sidebar + ;; :default-home {:page "Changelog", :sidebar "Contents"} + ;; 2. Setup page "Jun 3rd, 2021" as home page without sidebar + ;; :default-home {:page "Jun 3rd, 2021"} + ;; 3. Setup page "home" as home page with multiple pages in sidebar + ;; :default-home {:page "home" :sidebar ["page a" "page b"]} + + ;; Tell logseq to use a specific folder in the repo as a default location for notes + ;; if not specified, notes are stored in `pages` directory + ;; :pages-directory "your-directory" + + ;; Tell logseq to use a specific folder in the repo as a default location for journals + ;; if not specified, journals are stored in `journals` directory + ;; :journals-directory "your-directory" + + ;; Set this to true will convert + ;; `[[Grant Ideas]]` to `[[file:./grant_ideas.org][Grant Ideas]]` for org-mode + ;; For more, see https://github.com/logseq/logseq/issues/672 + ;; :org-mode/insert-file-link? true + + ;; If you prefer to use the file name as the page title + ;; instead of the first heading's title + ;; the only option for now is `file` + ;; :page-name-order "file" + + ;; Setup custom shortcuts under `:shortcuts` key + ;; Syntax: + ;; 1. `+` means keys pressing simultaneously. eg: `ctrl+shift+a` + ;; 2. ` ` empty space between keys represents key chords. eg: `t s` means press `s` follow by `t` + ;; 3. `mod` means `Ctrl` for Windows/Linux and `Command` for Mac + ;; 4. use `false` to disable particular shortcut + ;; 4. you can define multiple bindings for one action, eg `["ctrl+j" "down"]` + ;; full list of configurable shortcuts are available below: + ;; https://github.com/logseq/logseq/blob/master/src/main/frontend/modules/shortcut/config.cljs + ;; Example: + ;; :shortcuts + ;; {:editor/new-block "enter" + ;; :editor/new-line "shift+enter" + ;; :editor/insert-link "mod+shift+k" + ;; :editor/hightlight false + ;; :ui/toggle-settings "t s" + ;; :editor/up ["ctrl+k" "up"] + ;; :editor/down ["ctrl+j" "down"] + ;; :editor/left ["ctrl+h" "left"] + ;; :editor/right ["ctrl+l" "right"]} + :shortcuts {} + + ;; By default, pressing `Enter` in the document mode will create a new line. + ;; Set this to `true` so that it's the same behaviour as the usual outliner mode. + :shortcut/doc-mode-enter-for-new-block? false + + ;; Whether to show command doc on hover + :ui/show-command-doc? true + + ;; Whether to show empty bullets for non-document mode (the default mode) + :ui/show-empty-bullets? false + + ;; The app will show those queries in today's journal page, + ;; the "NOW" query asks the tasks which need to be finished "now", + ;; the "NEXT" query asks the future tasks. + :default-queries + {:journals + [{:title "🔨 NOW" + :query [:find (pull ?h [*]) + :in $ ?start ?today + :where + [?h :block/marker ?marker] + [(contains? #{"NOW" "DOING"} ?marker)] + [?h :block/page ?p] + [?p :block/journal? true] + [?p :block/journal-day ?d] + [(>= ?d ?start)] + [(<= ?d ?today)]] + :inputs [:14d :today] + :result-transform (fn [result] + (sort-by (fn [h] + (get h :block/priority "Z")) result)) + :collapsed? false} + {:title "📅 NEXT" + :query [:find (pull ?h [*]) + :in $ ?start ?next + :where + [?h :block/marker ?marker] + [(contains? #{"NOW" "LATER" "TODO"} ?marker)] + [?h :block/ref-pages ?p] + [?p :block/journal? true] + [?p :block/journal-day ?d] + [(> ?d ?start)] + [(< ?d ?next)]] + :inputs [:today :7d-after] + :collapsed? false}]} + + ;; Add your own commands to speedup. + ;; E.g. [["js" "Javascript"]] + :commands + [] + + ;; By default, a block can only be collapsed if it has some children. + ;; `:outliner/block-title-collapse-enabled? true` enables a block with a title + ;; (multiple lines) can be collapsed too. For example: + ;; - block title + ;; block content + :outliner/block-title-collapse-enabled? false + + ;; Macros replace texts and will make you more productive. + ;; For example: + ;; Add this to the macros below: + ;; {"poem" "Rose is $1, violet's $2. Life's ordered: Org assists you."} + ;; input "{{{poem red,blue}}}" + ;; becomes + ;; Rose is red, violet's blue. Life's ordered: Org assists you. + :macros {} + + ;; The default level to be opened for the linked references. + ;; For example, if we have some example blocks like this: + ;; - a [[page]] (level 1) + ;; - b (level 2) + ;; - c (level 3) + ;; - d (level 4) + ;; + ;; With the default value of level 2, `b` will be collapsed. + ;; If we set the level's value to 3, `b` will be opened and `c` will be collapsed. + :ref/default-open-blocks-level 2 + + :ref/linked-references-collapsed-threshold 50 + :favorites [] + :graph/settings {:orphan-pages? true, :builtin-pages? false} + :zotero/settings-v2 nil + :mobile/toolbar-stats {:bold {:counts 0}, :brand-youtube {:counts 0}, :checkbox {:counts 0}, :parentheses {:counts 2}, :command {:counts 0}, :paint {:counts 0}, :list {:counts 0}, :link {:counts 0}, :strikethrough {:counts 0}, :code {:counts 0}, :camera {:counts 0}, :rotate {:counts 0}, :tag {:counts 0}, :brackets {:counts 0}, :italic {:counts 0}, :a-b {:counts 0}, :rotate-clockwise {:counts 0}} + + ;; any number between 0 and 1 (the greater it is the faster the changes of the next-interval of card reviews) (default 0.5) + ;; :srs/learning-fraction 0.5 + + ;; the initial interval after the first successful review of a card (default 4) + ;; :srs/initial-interval 4 + + ;; hide specific properties for blocks + ;; E.g. #{:created-at :updated-at} + ;; :block-hidden-properties #{} + + ;; logbook setup + ;; :logbook/settings + ;; {:with-second-support? false ;limit logbook to minutes, seconds will be eliminated + ;; :enabled-in-all-blocks true ;display logbook in all blocks after timetracking + ;; :enabled-in-timestamped-blocks false ;don't display logbook at all + ;; } + + ;; Mobile photo uploading setup + ;; :mobile/photo + ;; {:allow-editing? true} + + ;; Extra CodeMirror options + ;; :editor/extra-codemirror-options {:keyMap "emacs" :lineWrapping true} + + ;; ignore #+keyword: for parsing page references in orgmode + ;; :ignored-page-references-keywords #{"author" "startup"} + } diff --git a/logseq-java/logseq/bak/logseq/config/2022-04-22T06_14_47.612Z.edn b/logseq-java/logseq/bak/logseq/config/2022-04-22T06_14_47.612Z.edn new file mode 100644 index 0000000..448882e --- /dev/null +++ b/logseq-java/logseq/bak/logseq/config/2022-04-22T06_14_47.612Z.edn @@ -0,0 +1,206 @@ +{:meta/version 1 + + ;; Currently, we support either "Markdown" or "Org". + ;; This can overwrite your global preference so that + ;; maybe your personal preferred format is Org but you'd + ;; need to use Markdown for some projects. + ;; :preferred-format "" + + ;; Preferred workflow style. + ;; Value is either ":now" for NOW/LATER style, + ;; or ":todo" for TODO/DOING style. + :preferred-workflow :now + + ;; The app will ignore those directories or files. + ;; E.g. "/archived" "/test.md" + :hidden [] + + ;; When creating the new journal page, the app will use your template if there is one. + ;; You only need to input your template name here. + :default-templates + {:journals ""} + + ;; Whether to enable hover on tooltip preview feature + ;; Default is true, you can also toggle this via setting page + :ui/enable-tooltip? true + + :feature/enable-block-timestamps? false + + ;; Specify a custom CSS import + ;; This option take precedence over your local `logseq/custom.css` file + ;; You may find a list of awesome logseq themes here: + ;; https://github.com/logseq/awesome-logseq#css-themes + ;; Example: + ;; :custom-css-url "@import url('https://cdn.jsdelivr.net/gh/dracula/logseq@master/custom.css');" + + ;; When :all-pages-public? true, export repo would export all pages within that repo. + ;; Regardless of whether you've set any page to public or not. + ;; Example: + ;; :publishing/all-pages-public? true + + ;; Specify default home page and sidebar status for Logseq + ;; If not specified, Logseq default opens journals page on startup + ;; value for `:page` is name of page + ;; Possible options for `:sidebar` are + ;; 1. `"Contents"` to open up `Contents` in sidebar by default + ;; 2. `page name` to open up some page in sidebar + ;; 3. Or multiple pages in an array ["Contents" "Page A" "Page B"] + ;; If `:sidebar` is not set, sidebar will be hidden + ;; Example: + ;; 1. Setup page "Changelog" as home page and "Contents" in sidebar + ;; :default-home {:page "Changelog", :sidebar "Contents"} + ;; 2. Setup page "Jun 3rd, 2021" as home page without sidebar + ;; :default-home {:page "Jun 3rd, 2021"} + ;; 3. Setup page "home" as home page with multiple pages in sidebar + ;; :default-home {:page "home" :sidebar ["page a" "page b"]} + + ;; Tell logseq to use a specific folder in the repo as a default location for notes + ;; if not specified, notes are stored in `pages` directory + ;; :pages-directory "your-directory" + + ;; Tell logseq to use a specific folder in the repo as a default location for journals + ;; if not specified, journals are stored in `journals` directory + ;; :journals-directory "your-directory" + + ;; Set this to true will convert + ;; `[[Grant Ideas]]` to `[[file:./grant_ideas.org][Grant Ideas]]` for org-mode + ;; For more, see https://github.com/logseq/logseq/issues/672 + ;; :org-mode/insert-file-link? true + + ;; If you prefer to use the file name as the page title + ;; instead of the first heading's title + ;; the only option for now is `file` + ;; :page-name-order "file" + + ;; Setup custom shortcuts under `:shortcuts` key + ;; Syntax: + ;; 1. `+` means keys pressing simultaneously. eg: `ctrl+shift+a` + ;; 2. ` ` empty space between keys represents key chords. eg: `t s` means press `s` follow by `t` + ;; 3. `mod` means `Ctrl` for Windows/Linux and `Command` for Mac + ;; 4. use `false` to disable particular shortcut + ;; 4. you can define multiple bindings for one action, eg `["ctrl+j" "down"]` + ;; full list of configurable shortcuts are available below: + ;; https://github.com/logseq/logseq/blob/master/src/main/frontend/modules/shortcut/config.cljs + ;; Example: + ;; :shortcuts + ;; {:editor/new-block "enter" + ;; :editor/new-line "shift+enter" + ;; :editor/insert-link "mod+shift+k" + ;; :editor/hightlight false + ;; :ui/toggle-settings "t s" + ;; :editor/up ["ctrl+k" "up"] + ;; :editor/down ["ctrl+j" "down"] + ;; :editor/left ["ctrl+h" "left"] + ;; :editor/right ["ctrl+l" "right"]} + :shortcuts {} + + ;; By default, pressing `Enter` in the document mode will create a new line. + ;; Set this to `true` so that it's the same behaviour as the usual outliner mode. + :shortcut/doc-mode-enter-for-new-block? false + + ;; Whether to show command doc on hover + :ui/show-command-doc? true + + ;; Whether to show empty bullets for non-document mode (the default mode) + :ui/show-empty-bullets? false + + ;; The app will show those queries in today's journal page, + ;; the "NOW" query asks the tasks which need to be finished "now", + ;; the "NEXT" query asks the future tasks. + :default-queries + {:journals + [{:title "🔨 NOW" + :query [:find (pull ?h [*]) + :in $ ?start ?today + :where + [?h :block/marker ?marker] + [(contains? #{"NOW" "DOING"} ?marker)] + [?h :block/page ?p] + [?p :block/journal? true] + [?p :block/journal-day ?d] + [(>= ?d ?start)] + [(<= ?d ?today)]] + :inputs [:14d :today] + :result-transform (fn [result] + (sort-by (fn [h] + (get h :block/priority "Z")) result)) + :collapsed? false} + {:title "📅 NEXT" + :query [:find (pull ?h [*]) + :in $ ?start ?next + :where + [?h :block/marker ?marker] + [(contains? #{"NOW" "LATER" "TODO"} ?marker)] + [?h :block/ref-pages ?p] + [?p :block/journal? true] + [?p :block/journal-day ?d] + [(> ?d ?start)] + [(< ?d ?next)]] + :inputs [:today :7d-after] + :collapsed? false}]} + + ;; Add your own commands to speedup. + ;; E.g. [["js" "Javascript"]] + :commands + [] + + ;; By default, a block can only be collapsed if it has some children. + ;; `:outliner/block-title-collapse-enabled? true` enables a block with a title + ;; (multiple lines) can be collapsed too. For example: + ;; - block title + ;; block content + :outliner/block-title-collapse-enabled? false + + ;; Macros replace texts and will make you more productive. + ;; For example: + ;; Add this to the macros below: + ;; {"poem" "Rose is $1, violet's $2. Life's ordered: Org assists you."} + ;; input "{{{poem red,blue}}}" + ;; becomes + ;; Rose is red, violet's blue. Life's ordered: Org assists you. + :macros {} + + ;; The default level to be opened for the linked references. + ;; For example, if we have some example blocks like this: + ;; - a [[page]] (level 1) + ;; - b (level 2) + ;; - c (level 3) + ;; - d (level 4) + ;; + ;; With the default value of level 2, `b` will be collapsed. + ;; If we set the level's value to 3, `b` will be opened and `c` will be collapsed. + :ref/default-open-blocks-level 2 + + :ref/linked-references-collapsed-threshold 50 + :favorites [] + :graph/settings {:orphan-pages? true, :builtin-pages? false} + :zotero/settings-v2 nil + :mobile/toolbar-stats {:bold {:counts 0}, :brand-youtube {:counts 0}, :checkbox {:counts 0}, :parentheses {:counts 2}, :command {:counts 0}, :paint {:counts 0}, :list {:counts 0}, :link {:counts 0}, :strikethrough {:counts 0}, :code {:counts 0}, :camera {:counts 0}, :rotate {:counts 0}, :tag {:counts 0}, :brackets {:counts 0}, :italic {:counts 0}, :a-b {:counts 0}, :rotate-clockwise {:counts 0}} + + ;; any number between 0 and 1 (the greater it is the faster the changes of the next-interval of card reviews) (default 0.5) + ;; :srs/learning-fraction 0.5 + + ;; the initial interval after the first successful review of a card (default 4) + ;; :srs/initial-interval 4 + + ;; hide specific properties for blocks + ;; E.g. #{:created-at :updated-at} + ;; :block-hidden-properties #{} + + ;; logbook setup + ;; :logbook/settings + ;; {:with-second-support? false ;limit logbook to minutes, seconds will be eliminated + ;; :enabled-in-all-blocks true ;display logbook in all blocks after timetracking + ;; :enabled-in-timestamped-blocks false ;don't display logbook at all + ;; } + + ;; Mobile photo uploading setup + ;; :mobile/photo + ;; {:allow-editing? true} + + ;; Extra CodeMirror options + ;; :editor/extra-codemirror-options {:keyMap "emacs" :lineWrapping true} + + ;; ignore #+keyword: for parsing page references in orgmode + ;; :ignored-page-references-keywords #{"author" "startup"} + } diff --git a/logseq-java/logseq/bak/logseq/config/2022-05-22T03_23_56.598Z.edn b/logseq-java/logseq/bak/logseq/config/2022-05-22T03_23_56.598Z.edn new file mode 100644 index 0000000..448882e --- /dev/null +++ b/logseq-java/logseq/bak/logseq/config/2022-05-22T03_23_56.598Z.edn @@ -0,0 +1,206 @@ +{:meta/version 1 + + ;; Currently, we support either "Markdown" or "Org". + ;; This can overwrite your global preference so that + ;; maybe your personal preferred format is Org but you'd + ;; need to use Markdown for some projects. + ;; :preferred-format "" + + ;; Preferred workflow style. + ;; Value is either ":now" for NOW/LATER style, + ;; or ":todo" for TODO/DOING style. + :preferred-workflow :now + + ;; The app will ignore those directories or files. + ;; E.g. "/archived" "/test.md" + :hidden [] + + ;; When creating the new journal page, the app will use your template if there is one. + ;; You only need to input your template name here. + :default-templates + {:journals ""} + + ;; Whether to enable hover on tooltip preview feature + ;; Default is true, you can also toggle this via setting page + :ui/enable-tooltip? true + + :feature/enable-block-timestamps? false + + ;; Specify a custom CSS import + ;; This option take precedence over your local `logseq/custom.css` file + ;; You may find a list of awesome logseq themes here: + ;; https://github.com/logseq/awesome-logseq#css-themes + ;; Example: + ;; :custom-css-url "@import url('https://cdn.jsdelivr.net/gh/dracula/logseq@master/custom.css');" + + ;; When :all-pages-public? true, export repo would export all pages within that repo. + ;; Regardless of whether you've set any page to public or not. + ;; Example: + ;; :publishing/all-pages-public? true + + ;; Specify default home page and sidebar status for Logseq + ;; If not specified, Logseq default opens journals page on startup + ;; value for `:page` is name of page + ;; Possible options for `:sidebar` are + ;; 1. `"Contents"` to open up `Contents` in sidebar by default + ;; 2. `page name` to open up some page in sidebar + ;; 3. Or multiple pages in an array ["Contents" "Page A" "Page B"] + ;; If `:sidebar` is not set, sidebar will be hidden + ;; Example: + ;; 1. Setup page "Changelog" as home page and "Contents" in sidebar + ;; :default-home {:page "Changelog", :sidebar "Contents"} + ;; 2. Setup page "Jun 3rd, 2021" as home page without sidebar + ;; :default-home {:page "Jun 3rd, 2021"} + ;; 3. Setup page "home" as home page with multiple pages in sidebar + ;; :default-home {:page "home" :sidebar ["page a" "page b"]} + + ;; Tell logseq to use a specific folder in the repo as a default location for notes + ;; if not specified, notes are stored in `pages` directory + ;; :pages-directory "your-directory" + + ;; Tell logseq to use a specific folder in the repo as a default location for journals + ;; if not specified, journals are stored in `journals` directory + ;; :journals-directory "your-directory" + + ;; Set this to true will convert + ;; `[[Grant Ideas]]` to `[[file:./grant_ideas.org][Grant Ideas]]` for org-mode + ;; For more, see https://github.com/logseq/logseq/issues/672 + ;; :org-mode/insert-file-link? true + + ;; If you prefer to use the file name as the page title + ;; instead of the first heading's title + ;; the only option for now is `file` + ;; :page-name-order "file" + + ;; Setup custom shortcuts under `:shortcuts` key + ;; Syntax: + ;; 1. `+` means keys pressing simultaneously. eg: `ctrl+shift+a` + ;; 2. ` ` empty space between keys represents key chords. eg: `t s` means press `s` follow by `t` + ;; 3. `mod` means `Ctrl` for Windows/Linux and `Command` for Mac + ;; 4. use `false` to disable particular shortcut + ;; 4. you can define multiple bindings for one action, eg `["ctrl+j" "down"]` + ;; full list of configurable shortcuts are available below: + ;; https://github.com/logseq/logseq/blob/master/src/main/frontend/modules/shortcut/config.cljs + ;; Example: + ;; :shortcuts + ;; {:editor/new-block "enter" + ;; :editor/new-line "shift+enter" + ;; :editor/insert-link "mod+shift+k" + ;; :editor/hightlight false + ;; :ui/toggle-settings "t s" + ;; :editor/up ["ctrl+k" "up"] + ;; :editor/down ["ctrl+j" "down"] + ;; :editor/left ["ctrl+h" "left"] + ;; :editor/right ["ctrl+l" "right"]} + :shortcuts {} + + ;; By default, pressing `Enter` in the document mode will create a new line. + ;; Set this to `true` so that it's the same behaviour as the usual outliner mode. + :shortcut/doc-mode-enter-for-new-block? false + + ;; Whether to show command doc on hover + :ui/show-command-doc? true + + ;; Whether to show empty bullets for non-document mode (the default mode) + :ui/show-empty-bullets? false + + ;; The app will show those queries in today's journal page, + ;; the "NOW" query asks the tasks which need to be finished "now", + ;; the "NEXT" query asks the future tasks. + :default-queries + {:journals + [{:title "🔨 NOW" + :query [:find (pull ?h [*]) + :in $ ?start ?today + :where + [?h :block/marker ?marker] + [(contains? #{"NOW" "DOING"} ?marker)] + [?h :block/page ?p] + [?p :block/journal? true] + [?p :block/journal-day ?d] + [(>= ?d ?start)] + [(<= ?d ?today)]] + :inputs [:14d :today] + :result-transform (fn [result] + (sort-by (fn [h] + (get h :block/priority "Z")) result)) + :collapsed? false} + {:title "📅 NEXT" + :query [:find (pull ?h [*]) + :in $ ?start ?next + :where + [?h :block/marker ?marker] + [(contains? #{"NOW" "LATER" "TODO"} ?marker)] + [?h :block/ref-pages ?p] + [?p :block/journal? true] + [?p :block/journal-day ?d] + [(> ?d ?start)] + [(< ?d ?next)]] + :inputs [:today :7d-after] + :collapsed? false}]} + + ;; Add your own commands to speedup. + ;; E.g. [["js" "Javascript"]] + :commands + [] + + ;; By default, a block can only be collapsed if it has some children. + ;; `:outliner/block-title-collapse-enabled? true` enables a block with a title + ;; (multiple lines) can be collapsed too. For example: + ;; - block title + ;; block content + :outliner/block-title-collapse-enabled? false + + ;; Macros replace texts and will make you more productive. + ;; For example: + ;; Add this to the macros below: + ;; {"poem" "Rose is $1, violet's $2. Life's ordered: Org assists you."} + ;; input "{{{poem red,blue}}}" + ;; becomes + ;; Rose is red, violet's blue. Life's ordered: Org assists you. + :macros {} + + ;; The default level to be opened for the linked references. + ;; For example, if we have some example blocks like this: + ;; - a [[page]] (level 1) + ;; - b (level 2) + ;; - c (level 3) + ;; - d (level 4) + ;; + ;; With the default value of level 2, `b` will be collapsed. + ;; If we set the level's value to 3, `b` will be opened and `c` will be collapsed. + :ref/default-open-blocks-level 2 + + :ref/linked-references-collapsed-threshold 50 + :favorites [] + :graph/settings {:orphan-pages? true, :builtin-pages? false} + :zotero/settings-v2 nil + :mobile/toolbar-stats {:bold {:counts 0}, :brand-youtube {:counts 0}, :checkbox {:counts 0}, :parentheses {:counts 2}, :command {:counts 0}, :paint {:counts 0}, :list {:counts 0}, :link {:counts 0}, :strikethrough {:counts 0}, :code {:counts 0}, :camera {:counts 0}, :rotate {:counts 0}, :tag {:counts 0}, :brackets {:counts 0}, :italic {:counts 0}, :a-b {:counts 0}, :rotate-clockwise {:counts 0}} + + ;; any number between 0 and 1 (the greater it is the faster the changes of the next-interval of card reviews) (default 0.5) + ;; :srs/learning-fraction 0.5 + + ;; the initial interval after the first successful review of a card (default 4) + ;; :srs/initial-interval 4 + + ;; hide specific properties for blocks + ;; E.g. #{:created-at :updated-at} + ;; :block-hidden-properties #{} + + ;; logbook setup + ;; :logbook/settings + ;; {:with-second-support? false ;limit logbook to minutes, seconds will be eliminated + ;; :enabled-in-all-blocks true ;display logbook in all blocks after timetracking + ;; :enabled-in-timestamped-blocks false ;don't display logbook at all + ;; } + + ;; Mobile photo uploading setup + ;; :mobile/photo + ;; {:allow-editing? true} + + ;; Extra CodeMirror options + ;; :editor/extra-codemirror-options {:keyMap "emacs" :lineWrapping true} + + ;; ignore #+keyword: for parsing page references in orgmode + ;; :ignored-page-references-keywords #{"author" "startup"} + } diff --git a/logseq-java/logseq/bak/logseq/pages-metadata/2022-07-14T04_45_46.022Z.edn b/logseq-java/logseq/bak/logseq/pages-metadata/2022-07-14T04_45_46.022Z.edn new file mode 100644 index 0000000..977132d --- /dev/null +++ b/logseq-java/logseq/bak/logseq/pages-metadata/2022-07-14T04_45_46.022Z.edn @@ -0,0 +1,2809 @@ +[{:block/name "#{} 与 ${} 的区别", + :block/created-at 1657157575521, + :block/updated-at 1657157575521} + {:block/name "625e1ecf-25a9-4b64-8eab-042fd889a062", + :block/created-at 1650356920421, + :block/updated-at 1650356920421} + {:block/name "625e5ddf-aa2d-4567-8531-3ccc94628ef7", + :block/created-at 1650356975462, + :block/updated-at 1650356975462} + {:block/name "625fa874-b218-4044-ac16-b9de892cd9d2", + :block/created-at 1650439517817, + :block/updated-at 1650439517817} + {:block/name "625fe239-5548-4c66-ba66-f6fb1629b682", + :block/created-at 1650538810183, + :block/updated-at 1650538810183} + {:block/name "7大设计原则有哪些", + :block/created-at 1657157575549, + :block/updated-at 1657157575549} + {:block/name "@resource和@autowired的区别", + :block/created-at 1657157575624, + :block/updated-at 1657174764912} + {:block/name "[jdk", + :block/created-at 1650331207229, + :block/updated-at 1650331207229} + {:block/name "a", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "aba问题", + :block/created-at 1657260301766, + :block/updated-at 1657260301766} + {:block/name "abs", + :block/created-at 1649921407910, + :block/updated-at 1649921421829} + {:block/name "abstract", + :block/created-at 1649820627685, + :block/updated-at 1649820627685} + {:block/name "acid", + :block/created-at 1657260301815, + :block/updated-at 1657260301815} + {:block/name "add", + :block/created-at 1650331180462, + :block/updated-at 1650331180462} + {:block/name "addall", + :block/created-at 1650331180460, + :block/updated-at 1650331180460} + {:block/name "ajax怎么实现同步", + :block/created-at 1657157575674, + :block/updated-at 1657157575674} + {:block/name "apache", + :block/created-at 1657506094791, + :block/updated-at 1657506094791} + {:block/name "api", + :block/created-at 1649215178513, + :block/updated-at 1649904711721} + {:block/name "apppend", + :block/created-at 1649903790777, + :block/updated-at 1649903825473} + {:block/name "apr 11th, 2022", + :block/created-at 1649640912448, + :block/updated-at 1649676970820} + {:block/name "apr 12th, 2022", + :block/created-at 1649820616181, + :block/updated-at 1650074270128} + {:block/name "apr 13th, 2022", + :block/created-at 1649820618963, + :block/updated-at 1649847675738} + {:block/name "apr 14th, 2022", + :block/created-at 1649902256566, + :block/updated-at 1649945987130} + {:block/name "apr 15th, 2022", + :block/created-at 1650002649668, + :block/updated-at 1650010949968} + {:block/name "apr 16th, 2022", + :block/created-at 1650072826346, + :block/updated-at 1650089014547} + {:block/name "apr 17th, 2022", + :block/created-at 1650168842041, + :block/updated-at 1650168860312} + {:block/name "apr 18th, 2022", + :block/created-at 1650223242651, + :block/updated-at 1650263084206} + {:block/name "apr 19th, 2022", + :block/created-at 1650331174909, + :block/updated-at 1650370926105} + {:block/name "apr 20th, 2022", + :block/created-at 1650436211045, + :block/updated-at 1650458792346} + {:block/name "apr 21st, 2022", + :block/created-at 1650538807758, + :block/updated-at 1650539384945} + {:block/name "apr 22nd, 2022", + :block/created-at 1650608103235, + :block/updated-at 1650621414443} + {:block/name "apr 24th, 2022", + :block/created-at 1653189834622, + :block/updated-at 1653189834622} + {:block/name "apr 26th, 2022", + :block/created-at 1653189835132, + :block/updated-at 1653189835132} + {:block/name "apr 29th, 2022", + :block/created-at 1653189834791, + :block/updated-at 1653189834791} + {:block/name "apr 2nd, 2022", + :block/created-at 1649215177137, + :block/updated-at 1649215177137} + {:block/name "apr 4th, 2022", + :block/created-at 1649215177614, + :block/updated-at 1650080300255} + {:block/name "apr 5th, 2022", + :block/created-at 1649136689683, + :block/updated-at 1650080302016} + {:block/name "apr 6th, 2022", + :block/created-at 1649208205737, + :block/updated-at 1650079131663} + {:block/name "apr 7th, 2022", + :block/created-at 1649381376440, + :block/updated-at 1650079747001} + {:block/name "apr 8th, 2022", + :block/created-at 1649381365539, + :block/updated-at 1649411467229} + {:block/name "archive", + :block/created-at 1657260300397, + :block/updated-at 1657260300397} + {:block/name "arraycopy", + :block/created-at 1649917837922, + :block/updated-at 1649918067851} + {:block/name "arraylist", + :block/created-at 1650331179432, + :block/updated-at 1650348827846} + {:block/name "arraylist和linkedlist的区别", + :block/created-at 1657157575244, + :block/updated-at 1657157575244} + {:block/name "arraylist哪些操作效率较高", + :block/created-at 1657157575251, + :block/updated-at 1657157575251} + {:block/name "arrays", + :block/created-at 1649820616096, + :block/updated-at 1649908840194} + {:block/name "ascii", + :block/created-at 1649215178851, + :block/updated-at 1649215178851} + {:block/name "asicc", + :block/created-at 1650331210235, + :block/updated-at 1650331210235} + {:block/name "assert", + :block/created-at 1650331207765, + :block/updated-at 1650331207765} + {:block/name "at模式在运行过程中,如何进行2阶段处理的", + :block/created-at 1657157575941, + :block/updated-at 1657157575941} + {:block/name "b", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "beanfactory 和 applicationcontext的区别", + :block/created-at 1657157575638, + :block/updated-at 1657157575638} + {:block/name "bigdecimal", + :block/created-at 1649820616115, + :block/updated-at 1650080799980} + {:block/name "binarysearch", + :block/created-at 1649907973557, + :block/updated-at 1649908366000} + {:block/name "boolean", + :block/created-at 1650331182912, + :block/updated-at 1650331182912} + {:block/name "break", + :block/created-at 1650331207782, + :block/updated-at 1650331207782} + {:block/name "byte", + :block/created-at 1650331182938, + :block/updated-at 1650331182938} + {:block/name "c", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "calendar", + :block/created-at 1650010949968, + :block/updated-at 1650010949968} + {:block/name "canceled", + :block/created-at 1657158746425, + :block/updated-at 1657158746425} + {:block/name "cancelled", + :block/created-at 1657158746424, + :block/updated-at 1657158746424} + {:block/name "capacity", + :block/created-at 1649903884620, + :block/updated-at 1649903908726} + {:block/name "card", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "cas", + :block/created-at 1657260301761, + :block/updated-at 1657260301761} + {:block/name "case", + :block/created-at 1650331207780, + :block/updated-at 1650331207780} + {:block/name "catch", + :block/created-at 1650331184555, + :block/updated-at 1650331184555} + {:block/name "cd", + :block/created-at 1650636328680, + :block/updated-at 1650636328680} + {:block/name "cd命令", + :block/created-at 1649215179586, + :block/updated-at 1649215179586} + {:block/name "char", + :block/created-at 1649833778899, + :block/updated-at 1649833778899} + {:block/name "character", + :block/created-at 1650331182914, + :block/updated-at 1650331182914} + {:block/name "charat", + :block/created-at 1649835616900, + :block/updated-at 1649835657620} + {:block/name "chmod 改用户组的权限", + :block/created-at 1657157575815, + :block/updated-at 1657157575815} + {:block/name "chmod如何改用户组的权限", + :block/created-at 1657157575825, + :block/updated-at 1657157575825} + {:block/name "class", + :block/created-at 1650331201916, + :block/updated-at 1650331201916} + {:block/name "classcastexception", + :block/created-at 1649820623100, + :block/updated-at 1649820623100} + {:block/name "classpath", + :block/created-at 1649046900886, + :block/updated-at 1649046900886} + {:block/name "clear", + :block/created-at 1650335084176, + :block/updated-at 1650335084176} + {:block/name "cls", + :block/created-at 1650636328684, + :block/updated-at 1650636328684} + {:block/name "cluster", + :block/created-at 1657506244977, + :block/updated-at 1657506244977} + {:block/name "cmd", + :block/created-at 1650636328679, + :block/updated-at 1650636328679} + {:block/name "collection", + :block/created-at 1650331180761, + :block/updated-at 1650331180761} + {:block/name "collection 和 collections 有什么区别", + :block/created-at 1657157575278, + :block/updated-at 1657175108979} + {:block/name "collection 和 collections 的区别是啥", + :block/created-at 1657157575232, + :block/updated-at 1657175126785} + {:block/name "collections", + :block/created-at 1650337483294, + :block/updated-at 1650337483294} + {:block/name "collection集合和map体系集合的区别", + :block/created-at 1657157575219, + :block/updated-at 1657175028091} + {:block/name "comparable", + :block/created-at 1650338110003, + :block/updated-at 1650338110003} + {:block/name "compareto", + :block/created-at 1650338276027, + :block/updated-at 1650338276027} + {:block/name "concat", + :block/created-at 1649835693143, + :block/updated-at 1649835712994} + {:block/name "concurrenthashmap为什么是线程安全的,如何做到的", + :block/created-at 1657157575214, + :block/updated-at 1657157575214} + {:block/name "const", + :block/created-at 1650331207742, + :block/updated-at 1650331207742} + {:block/name "contains", + :block/created-at 1649835911558, + :block/updated-at 1649835938222} + {:block/name "contents", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "continue", + :block/created-at 1650331207780, + :block/updated-at 1650331207780} + {:block/name "copyof", + :block/created-at 1649908412989, + :block/updated-at 1649908629426} + {:block/name "currenthashmap的在jdk1.7和1.8期间分别的特征", + :block/created-at 1657157575281, + :block/updated-at 1657157575281} + {:block/name "currenttimemillis", + :block/created-at 1649916949834, + :block/updated-at 1649917211744} + {:block/name "c语言", + :block/created-at 1650331202482, + :block/updated-at 1650331202482} + {:block/name "date", + :block/created-at 1650007668146, + :block/updated-at 1650011002661} + {:block/name "dcl", + :block/created-at 1653189837403, + :block/updated-at 1653189837403} + {:block/name "ddl", + :block/created-at 1653189837402, + :block/updated-at 1653189837402} + {:block/name "debug", + :block/created-at 1650331209846, + :block/updated-at 1650331209846} + {:block/name "default", + :block/created-at 1649820628349, + :block/updated-at 1649820628349} + {:block/name "delete", + :block/created-at 1649904577387, + :block/updated-at 1649904591211} + {:block/name "dir", + :block/created-at 1650636328682, + :block/updated-at 1650636328682} + {:block/name "dml", + :block/created-at 1653189837403, + :block/updated-at 1653189837403} + {:block/name "do", + :block/created-at 1650331207777, + :block/updated-at 1650331207777} + {:block/name "do while 循环", + :block/created-at 1649215179219, + :block/updated-at 1649663083940} + {:block/name "docker", + :block/created-at 1657157572523, + :block/updated-at 1657157572523} + {:block/name "doing", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "done", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "dos", + :block/created-at 1649215179619, + :block/updated-at 1649215179619} + {:block/name "dos命令", + :block/created-at 1649215189875, + :block/updated-at 1650076504661} + {:block/name "double", + :block/created-at 1650331182916, + :block/updated-at 1650331182916} + {:block/name "dql", + :block/created-at 1653189837405, + :block/updated-at 1653189837405} + {:block/name "eclipse", + :block/created-at 1649215180218, + :block/updated-at 1649215180218} + {:block/name "elasticsearch", + :block/created-at 1657505788966, + :block/updated-at 1657521231447} + {:block/name "elasticsearch分页", + :block/created-at 1657605831432, + :block/updated-at 1657605831432} + {:block/name "elasticsearch条件查询", + :block/created-at 1657605814458, + :block/updated-at 1657605814458} + {:block/name "else", + :block/created-at 1650331207775, + :block/updated-at 1650331207775} + {:block/name "endwith", + :block/created-at 1649836221975, + :block/updated-at 1649836247635} + {:block/name "entryset", + :block/created-at 1650436841283, + :block/updated-at 1650436841283} + {:block/name "equals", + :block/created-at 1649908827534, + :block/updated-at 1649908893803} + {:block/name "equalsignorecase", + :block/created-at 1649836127664, + :block/updated-at 1649836146217} + {:block/name "es实现全文检索的原理是什么", + :block/created-at 1657157575806, + :block/updated-at 1657157575806} + {:block/name "es怎么保持和数据库的一致性", + :block/created-at 1657157575801, + :block/updated-at 1657157575801} + {:block/name "es怎么配权重 可以做数据库吗", + :block/created-at 1657157575804, + :block/updated-at 1657157575804} + {:block/name "es查询一个张三,李四。张三名字可能会重复,要按照张三的生日去进行排序,这个es语句怎么写", + :block/created-at 1657157575809, + :block/updated-at 1657157575809} + {:block/name "eureka关闭之后,其他的微服务之间还能调用么", + :block/created-at 1657157575915, + :block/updated-at 1657157575915} + {:block/name "eureka如何搭建,如何才能规避因为网络原因导致客户端大面积下线的情况", + :block/created-at 1657157575905, + :block/updated-at 1657157575905} + {:block/name "eureka高可用怎么配置", + :block/created-at 1657157575908, + :block/updated-at 1657157575908} + {:block/name "exception", + :block/created-at 1650331184795, + :block/updated-at 1650331184795} + {:block/name "exit", + :block/created-at 1649215179615, + :block/updated-at 1649916724459} + {:block/name "extends", + :block/created-at 1650331207798, + :block/updated-at 1650331207798} + {:block/name "false", + :block/created-at 1650331207809, + :block/updated-at 1650331207809} + {:block/name "favorites", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "feign远程调用的时候,如何确保feign接口的参数和controller层方法参数一致", + :block/created-at 1657157575891, + :block/updated-at 1657157575891} + {:block/name "feishu+logseq", + :block/created-at 1657157736107, + :block/updated-at 1657157736107} + {:block/name "fifo", + :block/created-at 1657355454820, + :block/updated-at 1657355466851} + {:block/name "file", + :block/created-at 1650446851612, + :block/updated-at 1650446871486} + {:block/name "fileinputstream", + :block/created-at 1650636329173, + :block/updated-at 1650636329173} + {:block/name "fileoutputstream", + :block/created-at 1650636329176, + :block/updated-at 1650636329176} + {:block/name "filereader", + :block/created-at 1650636327436, + :block/updated-at 1650636327436} + {:block/name "filewriter", + :block/created-at 1650636327437, + :block/updated-at 1650636327437} + {:block/name "final", + :block/created-at 1649820616029, + :block/updated-at 1650080286912} + {:block/name "final 在 java 中有什么作用", + :block/created-at 1657157575580, + :block/updated-at 1657157575580} + {:block/name "finalize", + :block/created-at 1650331203492, + :block/updated-at 1650331203492} + {:block/name "finally", + :block/created-at 1650331184801, + :block/updated-at 1650331184801} + {:block/name "firewall", + :block/created-at 1657157571748, + :block/updated-at 1657157571748} + {:block/name "float", + :block/created-at 1650331182923, + :block/updated-at 1650331182923} + {:block/name "for", + :block/created-at 1650331207774, + :block/updated-at 1650331207774} + {:block/name "foreach", + :block/created-at 1650436600460, + :block/updated-at 1650436600460} + {:block/name "forward和redirect的区别", + :block/created-at 1657157575647, + :block/updated-at 1657157575647} + {:block/name "for循环", + :block/created-at 1649215180627, + :block/updated-at 1649215180627} + {:block/name "gc", + :block/created-at 1649916808383, + :block/updated-at 1649916884486} + {:block/name "get", + :block/created-at 1650331180485, + :block/updated-at 1650331180485} + {:block/name "getbytes", + :block/created-at 1649836292118, + :block/updated-at 1649836382319} + {:block/name "getordefault", + :block/created-at 1650436211926, + :block/updated-at 1650436211926} + {:block/name "getproperties", + :block/created-at 1649918250765, + :block/updated-at 1649918291655} + {:block/name "getproperty", + :block/created-at 1650636324585, + :block/updated-at 1650636324585} + {:block/name "getter", + :block/created-at 1649215195546, + :block/updated-at 1649215195546} + {:block/name "getter与setter", + :block/created-at 1649215195544, + :block/updated-at 1649410098646} + {:block/name "git回退上个版本,用什么命令 切换分支用哪个命令", + :block/created-at 1657157576002, + :block/updated-at 1657157576002} + {:block/name "gof32", + :block/created-at 1657519570576, + :block/updated-at 1657519570576} + {:block/name "goto", + :block/created-at 1650331207743, + :block/updated-at 1650331207743} + {:block/name "hash", + :block/created-at 1650360029789, + :block/updated-at 1650360029789} + {:block/name "hashcode", + :block/created-at 1650360468015, + :block/updated-at 1650360468015} + {:block/name "hashmap", + :block/created-at 1650331188284, + :block/updated-at 1650437500583} + {:block/name "hashmap 什么情况下会产生死锁的问题如何解决", + :block/created-at 1657157575238, + :block/updated-at 1657157575238} + {:block/name "hashmap 和 hashtable 有什么区别", + :block/created-at 1657157575258, + :block/updated-at 1657157575258} + {:block/name "hashmap为什么要重写hashcode", + :block/created-at 1657157575253, + :block/updated-at 1657157575253} + {:block/name "hashmap和concurrenthashmap的区别", + :block/created-at 1657157575205, + :block/updated-at 1657157575205} + {:block/name "hashmap在jdk1.7和jdk1.8的区别", + :block/created-at 1657157575221, + :block/updated-at 1657157575221} + {:block/name "hashmap在什么情况下单链表需要转为红黑树", + :block/created-at 1657157575213, + :block/updated-at 1657157575213} + {:block/name "hashmap的put方法的执行过程", + :block/created-at 1657157575263, + :block/updated-at 1657157575263} + {:block/name "hashmap的底层原理是什么,如何扩容,并解决hash碰撞的", + :block/created-at 1657157575211, + :block/updated-at 1657157575211} + {:block/name "hashmap的底层是如何解决hash碰撞的", + :block/created-at 1657157575275, + :block/updated-at 1657157575275} + {:block/name "hashset", + :block/created-at 1650331188266, + :block/updated-at 1650360468020} + {:block/name "hashset的去重原理", + :block/created-at 1657157575223, + :block/updated-at 1657157575223} + {:block/name "hashtable", + :block/created-at 1650331188289, + :block/updated-at 1650441150118} + {:block/name "helloworld", + :block/created-at 1649215184171, + :block/updated-at 1649215184171} + {:block/name "helloworld详解", + :block/created-at 1649215181043, + :block/updated-at 1650080658895} + {:block/name "html", + :block/created-at 1653533260514, + :block/updated-at 1653533260514} + {:block/name "http", + :block/created-at 1650636328185, + :block/updated-at 1650636328185} + {:block/name "https", + :block/created-at 1650636328187, + :block/updated-at 1650636328187} + {:block/name "https 通讯协议是如何实现的 它的加密方式是什么", + :block/created-at 1657157575671, + :block/updated-at 1657157575671} + {:block/name "http协议中get与post提交方法的区别在哪里", + :block/created-at 1657157575697, + :block/updated-at 1657157575697} + {:block/name "http通讯协议分为几个部分 请求协议的组成", + :block/created-at 1657157575677, + :block/updated-at 1657157575677} + {:block/name "id", + :block/created-at 1653533277502, + :block/updated-at 1653533277502} + {:block/name "ide", + :block/created-at 1649215181722, + :block/updated-at 1649215181722} + {:block/name "idea", + :block/created-at 1649215181400, + :block/updated-at 1649215181400} + {:block/name "ide集成开发环境", + :block/created-at 1649215181741, + :block/updated-at 1650077056039} + {:block/name "ieda", + :block/created-at 1649899367370, + :block/updated-at 1649899367370} + {:block/name "if", + :block/created-at 1650331207773, + :block/updated-at 1650331207773} + {:block/name "if判断", + :block/created-at 1649215182055, + :block/updated-at 1649215182055} + {:block/name "implements", + :block/created-at 1649820628343, + :block/updated-at 1649820628343} + {:block/name "import", + :block/created-at 1650331207758, + :block/updated-at 1650331207758} + {:block/name "in 与 exits 的区别是什么", + :block/created-at 1657157575513, + :block/updated-at 1657157575513} + {:block/name "in-progress", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "indexof", + :block/created-at 1649835497490, + :block/updated-at 1649835538531} + {:block/name "inetaddress", + :block/created-at 1650608103135, + :block/updated-at 1650608103135} + {:block/name "innodb", + :block/created-at 1657260300388, + :block/updated-at 1657260300388} + {:block/name "innodb的行级锁什么情况下会使用", + :block/created-at 1657157575444, + :block/updated-at 1657157575444} + {:block/name "input", + :block/created-at 1650445980901, + :block/updated-at 1650445980901} + {:block/name "inputstream", + :block/created-at 1650446813903, + :block/updated-at 1650446813903} + {:block/name "insert", + :block/created-at 1649903806330, + :block/updated-at 1649903868046} + {:block/name "instanceof", + :block/created-at 1649820619771, + :block/updated-at 1649820619771} + {:block/name "int", + :block/created-at 1650331180468, + :block/updated-at 1650331180468} + {:block/name "integer", + :block/created-at 1650331180465, + :block/updated-at 1650331180465} + {:block/name "interator", + :block/created-at 1650336046007, + :block/updated-at 1650336046007} + {:block/name "interface", + :block/created-at 1649820628334, + :block/updated-at 1649820628334} + {:block/name "intern", + :block/created-at 1649839118741, + :block/updated-at 1649839223715} + {:block/name "ioc", + :block/created-at 1655521624374, + :block/updated-at 1655521624374} + {:block/name "io流", + :block/created-at 1650445947413, + :block/updated-at 1650446894652} + {:block/name "io流的分类有哪些", + :block/created-at 1657157575597, + :block/updated-at 1657157575597} + {:block/name "ip", + :block/created-at 1650636323812, + :block/updated-at 1650636323812} + {:block/name "ipconfig", + :block/created-at 1649215179610, + :block/updated-at 1649215179610} + {:block/name "isempty", + :block/created-at 1649837951779, + :block/updated-at 1649838007283} + {:block/name "iterable", + :block/created-at 1650336032868, + :block/updated-at 1650336032868} + {:block/name "jar", + :block/created-at 1649046906538, + :block/updated-at 1649046906538} + {:block/name "java ee", + :block/created-at 1650331202476, + :block/updated-at 1650331202476} + {:block/name "java me", + :block/created-at 1650331202478, + :block/updated-at 1650331202478} + {:block/name "java se", + :block/created-at 1650331202479, + :block/updated-at 1650331202479} + {:block/name "java_home", + :block/created-at 1650331203282, + :block/updated-at 1650331203282} + {:block/name "javabean", + :block/created-at 1649647591986, + :block/updated-at 1649647591986} + {:block/name "javabean规范", + :block/created-at 1649215195533, + :block/updated-at 1649647838288} + {:block/name "javascript", + :block/created-at 1653196611287, + :block/updated-at 1653196611287} + {:block/name "java中异常的分类,分别说说都哪些具体的异常", + :block/created-at 1657157575603, + :block/updated-at 1657157575603} + {:block/name "java发展历程", + :block/created-at 1649215183072, + :block/updated-at 1650252383200} + {:block/name "java的反射,在哪些地方有过应用", + :block/created-at 1657157575586, + :block/updated-at 1657157575586} + {:block/name "java程序注释", + :block/created-at 1649215181735, + :block/updated-at 1650078753268} + {:block/name "java跨平台原理", + :block/created-at 1649215183676, + :block/updated-at 1649215183676} + {:block/name "java面试", + :block/created-at 1649215183909, + :block/updated-at 1650621154779} + {:block/name "jdbc", + :block/created-at 1653189834789, + :block/updated-at 1653189834789} + {:block/name "jdbc如何提升读取数据的性能", + :block/created-at 1657157575481, + :block/updated-at 1657157575481} + {:block/name "jdk", + :block/created-at 1650331202498, + :block/updated-at 1650331202498} + {:block/name "jdk1", + :block/created-at 1650420404818, + :block/updated-at 1650420404818} + {:block/name "jdk1.8 针对synchronized,都做过哪些优化", + :block/created-at 1657157575385, + :block/updated-at 1657157575385} + {:block/name "jdk1.8日期api", + :block/created-at 1650245515564, + :block/updated-at 1650252002875} + {:block/name "jdk1.8的新特性,你都用过哪些", + :block/created-at 1657157575570, + :block/updated-at 1657157575570} + {:block/name "jdk1/8日期api", + :block/created-at 1650420404816, + :block/updated-at 1650420404816} + {:block/name "jdk8", + :block/created-at 1650331203276, + :block/updated-at 1650331203276} + {:block/name "jdk中有哪些队列", + :block/created-at 1657157575254, + :block/updated-at 1657157575254} + {:block/name "jdk环境搭建", + :block/created-at 1649215184182, + :block/updated-at 1650076882949} + {:block/name "jdk,jre,jvm的区别", + :block/created-at 1657157575609, + :block/updated-at 1657157575609} + {:block/name "jit编译器", + :block/created-at 1649215183674, + :block/updated-at 1649215183674} + {:block/name "jquery", + :block/created-at 1653533260326, + :block/updated-at 1653533260326} + {:block/name "jre", + :block/created-at 1650331202501, + :block/updated-at 1650331202501} + {:block/name "json", + :block/created-at 1657711464511, + :block/updated-at 1657711538452} + {:block/name "json格式长什么样 那么jsonarray呢", + :block/created-at 1657157575684, + :block/updated-at 1657157575684} + {:block/name "json的解析框架,你用过什么", + :block/created-at 1657157575679, + :block/updated-at 1657157575679} + {:block/name "jul 11th, 2022", + :block/created-at 1657505750996, + :block/updated-at 1657527583379} + {:block/name "jul 12th, 2022", + :block/created-at 1657605770644, + :block/updated-at 1657606387138} + {:block/name "jul 13th, 2022", + :block/created-at 1657646385337, + :block/updated-at 1657711417730} + {:block/name "jul 14th, 2022", + :block/created-at 1657732408071, + :block/updated-at 1657733494939} + {:block/name "jul 5th, 2022", + :block/created-at 1657157570502, + :block/updated-at 1657157570502} + {:block/name "jul 6th, 2022", + :block/created-at 1657157571024, + :block/updated-at 1657157571024} + {:block/name "jul 7th, 2022", + :block/created-at 1657157756946, + :block/updated-at 1657175137574} + {:block/name "jul 8th, 2022", + :block/created-at 1657260300914, + :block/updated-at 1657260300914} + {:block/name "jul 9th, 2022", + :block/created-at 1657347478674, + :block/updated-at 1657355378817} + {:block/name "jun 18th, 2022", + :block/created-at 1655521479175, + :block/updated-at 1655521671791} + {:block/name "jvm", + :block/created-at 1649215183650, + :block/updated-at 1649215183650} + {:block/name "jvm参数调优的总结", + :block/created-at 1657157575424, + :block/updated-at 1657157575424} + {:block/name "jvm虚拟机的原理", + :block/created-at 1657157575393, + :block/updated-at 1657157575393} + {:block/name "key-value", + :block/created-at 1650436212227, + :block/updated-at 1650436212227} + {:block/name "keyset", + :block/created-at 1650436211939, + :block/updated-at 1650436211939} + {:block/name "kibana", + :block/created-at 1657520916137, + :block/updated-at 1657521121553} + {:block/name "lastindexof", + :block/created-at 1649838687566, + :block/updated-at 1649838774931} + {:block/name "later", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "length", + :block/created-at 1649903970896, + :block/updated-at 1649904234147} + {:block/name "like 后 加% 和 加_ 的区别在哪里", + :block/created-at 1657157575466, + :block/updated-at 1657157575466} + {:block/name "linkedhashmap", + :block/created-at 1650331188291, + :block/updated-at 1650441023708} + {:block/name "linkedhashset", + :block/created-at 1650331188275, + :block/updated-at 1650331188275} + {:block/name "linkedlist", + :block/created-at 1650331188258, + :block/updated-at 1650353801524} + {:block/name "linux", + :block/created-at 1650636328185, + :block/updated-at 1657077033275} + {:block/name "linux如何查看资源的使用情况", + :block/created-at 1657157575823, + :block/updated-at 1657157575823} + {:block/name "list", + :block/created-at 1650331180488, + :block/updated-at 1650331180488} + {:block/name "list、set、map区别", + :block/created-at 1657157575261, + :block/updated-at 1657157575261} + {:block/name "localdate", + :block/created-at 1650331181445, + :block/updated-at 1650331181445} + {:block/name "localdatetime", + :block/created-at 1650331181452, + :block/updated-at 1650331181452} + {:block/name "localtime", + :block/created-at 1650331181450, + :block/updated-at 1650331181450} + {:block/name "long", + :block/created-at 1650331182927, + :block/updated-at 1650331182927} + {:block/name "lucene", + :block/created-at 1657505769974, + :block/updated-at 1657505769974} + {:block/name "map", + :block/created-at 1650331188282, + :block/updated-at 1650331188282} + {:block/name "mar 28th, 2022", + :block/created-at 1649215173281, + :block/updated-at 1650073748268} + {:block/name "mar 29th, 2022", + :block/created-at 1649215175590, + :block/updated-at 1650073682635} + {:block/name "mar 30th, 2022", + :block/created-at 1649215176050, + :block/updated-at 1650073680281} + {:block/name "mar 31st, 2022", + :block/created-at 1649215176519, + :block/updated-at 1650073677109} + {:block/name "math", + :block/created-at 1649820616108, + :block/updated-at 1649922233529} + {:block/name "max", + :block/created-at 1649921590842, + :block/updated-at 1649921626166} + {:block/name "may 10th, 2022", + :block/created-at 1653189835750, + :block/updated-at 1653189835750} + {:block/name "may 11th, 2022", + :block/created-at 1653189836037, + :block/updated-at 1653189836037} + {:block/name "may 12th, 2022", + :block/created-at 1653189836189, + :block/updated-at 1653189836189} + {:block/name "may 21st, 2022", + :block/created-at 1653533260545, + :block/updated-at 1653533260545} + {:block/name "may 22nd, 2022", + :block/created-at 1653189833879, + :block/updated-at 1653196611289} + {:block/name "may 23rd, 2022", + :block/created-at 1653533260331, + :block/updated-at 1653533260331} + {:block/name "memory", + :block/created-at 1657260300394, + :block/updated-at 1657260300394} + {:block/name "min", + :block/created-at 1649921626164, + :block/updated-at 1649921675028} + {:block/name "mq是什么 你用过哪个 怎么配置的", + :block/created-at 1657157575742, + :block/updated-at 1657157575742} + {:block/name "mq是如何保证消息不丢失的", + :block/created-at 1657157575710, + :block/updated-at 1657157575710} + {:block/name "mq的工作原理", + :block/created-at 1657157575712, + :block/updated-at 1657157575712} + {:block/name "mybatis", + :block/created-at 1653189836188, + :block/updated-at 1653189836188} + {:block/name "mybatis和mybatisplus 你在项目中,哪个用的较多", + :block/created-at 1657157575925, + :block/updated-at 1657157575925} + {:block/name "mybatis如何防止sql注入", + :block/created-at 1657157575535, + :block/updated-at 1657157575535} + {:block/name "mybatis的一二级缓存是什么样的", + :block/created-at 1657157575529, + :block/updated-at 1657157575529} + {:block/name "mybatis的实现原理", + :block/created-at 1657157575523, + :block/updated-at 1657157575523} + {:block/name "mybatis级联的配置", + :block/created-at 1657157575526, + :block/updated-at 1657157575526} + {:block/name "mybits的缺点有哪些", + :block/created-at 1657157575533, + :block/updated-at 1657157575533} + {:block/name "myisam", + :block/created-at 1657260300391, + :block/updated-at 1657260300391} + {:block/name "mysql", + :block/created-at 1653189835123, + :block/updated-at 1653189835123} + {:block/name "mysql中存储引擎innodb,myisam的区别在哪里", + :block/created-at 1657157575514, + :block/updated-at 1657157575514} + {:block/name "mysql中锁机制", + :block/created-at 1657157575516, + :block/updated-at 1657157575516} + {:block/name "mysql数据库的my.ini文件中可以配置什么参数", + :block/created-at 1657157575518, + :block/updated-at 1657157575518} + {:block/name "mysql数据库索引是用什么数据结构存储的", + :block/created-at 1657157575455, + :block/updated-at 1657157575455} + {:block/name "mysql的ini文件,都有些参数可以配置", + :block/created-at 1657157575923, + :block/updated-at 1657157575923} + {:block/name "nacos 与 eureka的区别", + :block/created-at 1657157575847, + :block/updated-at 1657157575847} + {:block/name "nanatime", + :block/created-at 1649917202891, + :block/updated-at 1649917272720} + {:block/name "native", + :block/created-at 1650331207792, + :block/updated-at 1650331207792} + {:block/name "new", + :block/created-at 1649403626648, + :block/updated-at 1649403626648} + {:block/name "nextint", + :block/created-at 1649922298235, + :block/updated-at 1649922333932} + {:block/name "nginx反向代理原理", + :block/created-at 1657157575820, + :block/updated-at 1657157575820} + {:block/name "nginx服务器", + :block/created-at 1657157570492, + :block/updated-at 1657157570492} + {:block/name "nginx的负载均衡策略", + :block/created-at 1657157575822, + :block/updated-at 1657157575822} + {:block/name "nginx都配置过什么 如何做负载配置,都哪些负载算法", + :block/created-at 1657157575917, + :block/updated-at 1657157575917} + {:block/name "ngnix代理配置是在哪个文件", + :block/created-at 1657157575919, + :block/updated-at 1657157575919} + {:block/name "node", + :block/created-at 1650352942083, + :block/updated-at 1650352942083} + {:block/name "now", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "null", + :block/created-at 1649838007282, + :block/updated-at 1649838007282} + {:block/name "object", + :block/created-at 1649821953338, + :block/updated-at 1650080726649} + {:block/name "objectinputstream", + :block/created-at 1650636327636, + :block/updated-at 1650636327636} + {:block/name "objectoutputstream", + :block/created-at 1650636327631, + :block/updated-at 1650636327631} + {:block/name "object类常用api", + :block/created-at 1649820616092, + :block/updated-at 1649832104628} + {:block/name "object类的常见方法都有哪些", + :block/created-at 1657157575602, + :block/updated-at 1657157575602} + {:block/name "openfeign的工作原理,是如何调用服务的", + :block/created-at 1657157575885, + :block/updated-at 1657157575885} + {:block/name "osi", + :block/created-at 1650636324913, + :block/updated-at 1650636324913} + {:block/name "osi七层模型,大概了解么", + :block/created-at 1657157575547, + :block/updated-at 1657157575547} + {:block/name "output", + :block/created-at 1650446894651, + :block/updated-at 1650446894651} + {:block/name "outputstream", + :block/created-at 1650446827925, + :block/updated-at 1650446827925} + {:block/name "package", + :block/created-at 1650331207757, + :block/updated-at 1650331207757} + {:block/name "pascal命名法", + :block/created-at 1650339181951, + :block/updated-at 1650339181951} + {:block/name "path", + :block/created-at 1650331203283, + :block/updated-at 1650331203283} + {:block/name "ping", + :block/created-at 1650636328184, + :block/updated-at 1650636328184} + {:block/name "pow", + :block/created-at 1649921481890, + :block/updated-at 1649921494395} + {:block/name "printstream", + :block/created-at 1650636327005, + :block/updated-at 1650636327005} + {:block/name "printwrite", + :block/created-at 1650636327001, + :block/updated-at 1650636327001} + {:block/name "private", + :block/created-at 1649405605908, + :block/updated-at 1649405605908} + {:block/name "properties", + :block/created-at 1650538806180, + :block/updated-at 1650538806180} + {:block/name "protected", + :block/created-at 1649405676627, + :block/updated-at 1649405676627} + {:block/name "public", + :block/created-at 1649405555717, + :block/updated-at 1649405555717} + {:block/name "put", + :block/created-at 1650436211914, + :block/updated-at 1650436211914} + {:block/name "putall", + :block/created-at 1650436211920, + :block/updated-at 1650436211920} + {:block/name "quene", + :block/created-at 1650331188279, + :block/updated-at 1650331188279} + {:block/name "rabbitmq", + :block/created-at 1657355562900, + :block/updated-at 1657355562900} + {:block/name "rabbitmq怎么实现订单延迟支付", + :block/created-at 1657157575737, + :block/updated-at 1657157575737} + {:block/name "random", + :block/created-at 1649820616112, + :block/updated-at 1649924607589} + {:block/name "random(long seed)", + :block/created-at 1649924607584, + :block/updated-at 1649924851662} + {:block/name "reader", + :block/created-at 1650636327434, + :block/updated-at 1650636327434} + {:block/name "redis", + :block/created-at 1657157570992, + :block/updated-at 1657244216739} + {:block/name "redis 有哪些功能", + :block/created-at 1657157575762, + :block/updated-at 1657157575762} + {:block/name "redis 都有哪些使用场景", + :block/created-at 1657157575760, + :block/updated-at 1657157575760} + {:block/name "redis主从复制", + :block/created-at 1657260300907, + :block/updated-at 1657260300907} + {:block/name "redis哨兵模式", + :block/created-at 1657260300909, + :block/updated-at 1657260300909} + {:block/name "redis如何保证与数据库的数据一致性问题", + :block/created-at 1657157575786, + :block/updated-at 1657157575786} + {:block/name "redis如何配置rdb", + :block/created-at 1657157575798, + :block/updated-at 1657157575798} + {:block/name "redis持久化机制中aof与rdb区别在哪里", + :block/created-at 1657157575795, + :block/updated-at 1657157575795} + {:block/name "redis支持的数据类型", + :block/created-at 1657157575747, + :block/updated-at 1657157575747} + {:block/name "redis是原子性的吗 是线程安全的吗 多线程还是单线程", + :block/created-at 1657157575768, + :block/updated-at 1657157575768} + {:block/name "redis的5种数据类型,分别的使用场景", + :block/created-at 1657157575790, + :block/updated-at 1657157575790} + {:block/name "redis的分布式锁用过没 描述一下", + :block/created-at 1657157575781, + :block/updated-at 1657157575781} + {:block/name "redis的单线程原理是什么 如果有10个用户同时操作redis,那么redis是否按照先后顺序来处理情况", + :block/created-at 1657157575779, + :block/updated-at 1657157575779} + {:block/name "redis的持久化方式,以及各自的区别,项目中用的哪一种,怎么配置的", + :block/created-at 1657157575749, + :block/updated-at 1657157575749} + {:block/name "redis的特性是哪些,可以用来干嘛", + :block/created-at 1657157575770, + :block/updated-at 1657157575770} + {:block/name "redis设置永不过期也可以解决缓存击穿,为什么还要用分布式锁", + :block/created-at 1657157575784, + :block/updated-at 1657157575784} + {:block/name "redis集群知道么,如何实现", + :block/created-at 1657157575792, + :block/updated-at 1657157575792} + {:block/name "remove", + :block/created-at 1650333533358, + :block/updated-at 1650333533358} + {:block/name "replace", + :block/created-at 1649838588236, + :block/updated-at 1649838619697} + {:block/name "resttemplate", + :block/created-at 1657705465309, + :block/updated-at 1657706191732} + {:block/name "return", + :block/created-at 1650331184814, + :block/updated-at 1650331184814} + {:block/name "reverse", + :block/created-at 1649904667332, + :block/updated-at 1649904675927} + {:block/name "round", + :block/created-at 1649921704008, + :block/updated-at 1650080814216} + {:block/name "runtime", + :block/created-at 1649918504012, + :block/updated-at 1649918813803} + {:block/name "runtimeexception", + :block/created-at 1650331187320, + :block/updated-at 1650331187320} + {:block/name "seata是三大核心组件是哪些,他们分别的作用是什么", + :block/created-at 1657157575936, + :block/updated-at 1657157575936} + {:block/name "seata的at模式与tcc模式区别在哪里", + :block/created-at 1657157575938, + :block/updated-at 1657157575938} + {:block/name + "select count(*) ,select count(1),select count(字段) 说一下区别", + :block/created-at 1657157575483, + :block/updated-at 1657157575483} + {:block/name "serialization", + :block/created-at 1650636327633, + :block/updated-at 1650636327633} + {:block/name "servlet的生命周期", + :block/created-at 1657157575686, + :block/updated-at 1657157575686} + {:block/name "set", + :block/created-at 1650331188263, + :block/updated-at 1650356367381} + {:block/name "setcharat", + :block/created-at 1649904278600, + :block/updated-at 1649904278600} + {:block/name "setproperty", + :block/created-at 1650636324584, + :block/updated-at 1650636324584} + {:block/name "setter", + :block/created-at 1649409509939, + :block/updated-at 1649409509939} + {:block/name "shiro的执行流程", + :block/created-at 1657157575704, + :block/updated-at 1657157575704} + {:block/name "short", + :block/created-at 1650331182933, + :block/updated-at 1650331182933} + {:block/name "size", + :block/created-at 1650331180482, + :block/updated-at 1650331180482} + {:block/name "sleep()和wait() 的区别", + :block/created-at 1657157575358, + :block/updated-at 1657157575358} + {:block/name "socket", + :block/created-at 1650608105322, + :block/updated-at 1650617759892} + {:block/name "solr", + :block/created-at 1657505775782, + :block/updated-at 1657505775782} + {:block/name "sort", + :block/created-at 1649907777969, + :block/updated-at 1649908002154} + {:block/name "split", + :block/created-at 1649838172427, + :block/updated-at 1649838310658} + {:block/name "spring", + :block/created-at 1655521605637, + :block/updated-at 1655521624377} + {:block/name "spring data", + :block/created-at 1657157742489, + :block/updated-at 1657157742489} + {:block/name "spring data jpa", + :block/created-at 1657527583378, + :block/updated-at 1657527595831} + {:block/name "spring data redis", + :block/created-at 1657157742306, + :block/updated-at 1657157742306} + {:block/name "spring 事务实现方式有哪些", + :block/created-at 1657157575635, + :block/updated-at 1657157575635} + {:block/name "spring,springmvc,springboot的区别是啥", + :block/created-at 1657157575660, + :block/updated-at 1657157575660} + {:block/name "springboot", + :block/created-at 1657706655494, + :block/updated-at 1657706669435} + {:block/name "springboot主要的配置类有哪些", + :block/created-at 1657157575658, + :block/updated-at 1657157575658} + {:block/name + "springboot在yaml中配置了开发环境配置文件和测试配置文件,有几种方式在不同环境去使用不同的配置文件", + :block/created-at 1657157575664, + :block/updated-at 1657157575664} + {:block/name "springboot如何实现自动配置 原理是什么", + :block/created-at 1657157575653, + :block/updated-at 1657157575653} + {:block/name "springboot的web模块自动集成了tomcat,如何剔除", + :block/created-at 1657157575654, + :block/updated-at 1657157575654} + {:block/name "springboot的优点在哪里", + :block/created-at 1657157575665, + :block/updated-at 1657157575665} + {:block/name "springcloud体系的几大组件", + :block/created-at 1657157575860, + :block/updated-at 1657157575860} + {:block/name "springmvc", + :block/created-at 1657706438089, + :block/updated-at 1657706498138} + {:block/name "springmvc 过滤器 拦截器的使用场景和区别是什么", + :block/created-at 1657157575651, + :block/updated-at 1657157575651} + {:block/name "springmvc框架的工作流程", + :block/created-at 1657157575646, + :block/updated-at 1657157575646} + {:block/name + "spring中bean基本都是单例的,如果一个方法要对bean中的属性值进行修改,这个方法会被多次执行,怎么确保安全", + :block/created-at 1657157575640, + :block/updated-at 1657157575640} + {:block/name "spring中对事务的支持,有哪些方式 你项目中如何处理事务", + :block/created-at 1657157575620, + :block/updated-at 1657157575620} + {:block/name "spring依赖注入的方式有哪些 有区别么", + :block/created-at 1657157575630, + :block/updated-at 1657157575630} + {:block/name "spring实例化组件时,如何设置属性", + :block/created-at 1657157575643, + :block/updated-at 1657157575643} + {:block/name "spring的启动流程是怎么样的", + :block/created-at 1657157575668, + :block/updated-at 1657157575668} + {:block/name "spring的常用注解都有哪些", + :block/created-at 1657157575633, + :block/updated-at 1657157575633} + {:block/name "spring的循环依赖问题,如何解决", + :block/created-at 1657157575618, + :block/updated-at 1657157575618} + {:block/name "spring调用外部接口", + :block/created-at 1657705358915, + :block/updated-at 1657708217726} + {:block/name "sql", + :block/created-at 1653189835129, + :block/updated-at 1653189835129} + {:block/name "sql语句过慢怎么定位问题", + :block/created-at 1657157575462, + :block/updated-at 1657157575462} + {:block/name "startwith", + :block/created-at 1649836170156, + :block/updated-at 1649836257781} + {:block/name "static", + :block/created-at 1649215195551, + :block/updated-at 1649403727225} + {:block/name "strictfp", + :block/created-at 1650331207788, + :block/updated-at 1650331207788} + {:block/name "string", + :block/created-at 1649833808078, + :block/updated-at 1650080514099} + {:block/name "stringbuffer", + :block/created-at 1649820616088, + :block/updated-at 1649906109907} + {:block/name "stringbuilder", + :block/created-at 1649820616084, + :block/updated-at 1650080575528} + {:block/name "string,stringbuffer及stringbuilder的区别", + :block/created-at 1657157575575, + :block/updated-at 1657157575575} + {:block/name "style", + :block/created-at 1653533277503, + :block/updated-at 1653533277503} + {:block/name "substring", + :block/created-at 1649838366083, + :block/updated-at 1649904842698} + {:block/name "super", + :block/created-at 1650331207747, + :block/updated-at 1650331207747} + {:block/name "super()", + :block/created-at 1649679338677, + :block/updated-at 1649679338677} + {:block/name "super关键字", + :block/created-at 1649215195578, + :block/updated-at 1650080218102} + {:block/name "swagger在线接口文档", + :block/created-at 1657711417606, + :block/updated-at 1657713918815} + {:block/name "switch", + :block/created-at 1649215184722, + :block/updated-at 1649215184722} + {:block/name "synchornized", + :block/created-at 1657355656213, + :block/updated-at 1657355656213} + {:block/name "synchronized", + :block/created-at 1649905980486, + :block/updated-at 1657355002659} + {:block/name "synchronized与lock锁的区别", + :block/created-at 1657157575337, + :block/updated-at 1657157575337} + {:block/name "synchronized与乐观锁的区别", + :block/created-at 1657157575347, + :block/updated-at 1657157575347} + {:block/name "system", + :block/created-at 1649820616100, + :block/updated-at 1649918250766} + {:block/name "system.err", + :block/created-at 1649916577715, + :block/updated-at 1649916603046} + {:block/name "system.in", + :block/created-at 1649916547075, + :block/updated-at 1649916547075} + {:block/name "system.out", + :block/created-at 1649916559204, + :block/updated-at 1649916559204} + {:block/name "system/err", + :block/created-at 1649944978196, + :block/updated-at 1649944978196} + {:block/name "tar&gz&zip", + :block/created-at 1657157572047, + :block/updated-at 1657157572047} + {:block/name "tcl", + :block/created-at 1653189837404, + :block/updated-at 1653189837404} + {:block/name "tcp", + :block/created-at 1650608103225, + :block/updated-at 1650611788721} + {:block/name "tcp/ip", + :block/created-at 1650608103212, + :block/updated-at 1650612850629} + {:block/name "tcp与udp在概念上的区别", + :block/created-at 1657157575541, + :block/updated-at 1657157575541} + {:block/name "tcp协议的特点,你能说说吗 具体说说3次握手,4次挥手的过程", + :block/created-at 1657157575546, + :block/updated-at 1657157575546} + {:block/name "this", + :block/created-at 1649215195549, + :block/updated-at 1649408961504} + {:block/name "this()", + :block/created-at 1649408924150, + :block/updated-at 1649648989766} + {:block/name "threadlocal类是什么类", + :block/created-at 1657157575294, + :block/updated-at 1657157575294} + {:block/name "throw", + :block/created-at 1650331184553, + :block/updated-at 1650331184553} + {:block/name "throws", + :block/created-at 1650331184516, + :block/updated-at 1650331184516} + {:block/name "title", + :block/created-at 1653533277505, + :block/updated-at 1653533277505} + {:block/name "tochararry", + :block/created-at 1649836430324, + :block/updated-at 1649836464566} + {:block/name "todo", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "tolowercase", + :block/created-at 1649838914094, + :block/updated-at 1649917413093} + {:block/name "tomcat", + :block/created-at 1657157572485, + :block/updated-at 1657157572485} + {:block/name "tomcat内存溢出在catalina.sh 修改jvm堆内存大小", + :block/created-at 1657157575421, + :block/updated-at 1657157575421} + {:block/name "tomcat如何配置连接池 默认连接数是多少 == 生产环境,tomcat性能比较差,如何调优", + :block/created-at 1657157575687, + :block/updated-at 1657157575687} + {:block/name "tostring", + :block/created-at 1649822298875, + :block/updated-at 1649822298875} + {:block/name "touppercase", + :block/created-at 1649838867053, + :block/updated-at 1649838944147} + {:block/name "transient", + :block/created-at 1650331207786, + :block/updated-at 1650331207786} + {:block/name "treemap", + :block/created-at 1650438734387, + :block/updated-at 1650439533575} + {:block/name "treeset", + :block/created-at 1650331188269, + :block/updated-at 1650440492446} + {:block/name "trim", + :block/created-at 1649838075631, + :block/updated-at 1649838128674} + {:block/name "true", + :block/created-at 1650331207808, + :block/updated-at 1650331207808} + {:block/name "try", + :block/created-at 1650331184558, + :block/updated-at 1650331184558} + {:block/name "try-catch-finally", + :block/created-at 1650331182541, + :block/updated-at 1650331182541} + {:block/name "udp", + :block/created-at 1650636325479, + :block/updated-at 1650636325479} + {:block/name "union 和 union all 的区别是什么", + :block/created-at 1657157575491, + :block/updated-at 1657157575491} + {:block/name "uri", + :block/created-at 1650636326326, + :block/updated-at 1650636326326} + {:block/name "url", + :block/created-at 1650608103138, + :block/updated-at 1650609121270} + {:block/name "uuid", + :block/created-at 1649820616104, + :block/updated-at 1649925973946} + {:block/name "valueof", + :block/created-at 1649839023034, + :block/updated-at 1649839039649} + {:block/name "values", + :block/created-at 1650436211941, + :block/updated-at 1650436211941} + {:block/name "vector", + :block/created-at 1650331188261, + :block/updated-at 1650354490534} + {:block/name "void", + :block/created-at 1650331204976, + :block/updated-at 1650331204976} + {:block/name "volatile", + :block/created-at 1650331207783, + :block/updated-at 1650331207783} + {:block/name "vue的生命周期是什么,都有哪些钩子函数", + :block/created-at 1657157575829, + :block/updated-at 1657157575829} + {:block/name "vue都有哪些组件", + :block/created-at 1657157575835, + :block/updated-at 1657157575835} + {:block/name "wait", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "wait() 和notify() 方法的区别", + :block/created-at 1657157575317, + :block/updated-at 1657157575317} + {:block/name "waiting", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "while", + :block/created-at 1650331207767, + :block/updated-at 1650331207767} + {:block/name "while循环", + :block/created-at 1649215184898, + :block/updated-at 1649215184898} + {:block/name "windows快捷键", + :block/created-at 1649215185055, + :block/updated-at 1649215185055} + {:block/name "xml", + :block/created-at 1653189836034, + :block/updated-at 1653189836034} + {:block/name "xml与json之间的区别", + :block/created-at 1657157575680, + :block/updated-at 1657157575680} + {:block/name "yield() 与 join() 方法的区别", + :block/created-at 1657157575367, + :block/updated-at 1657157575367} + {:block/name "七大设计原则", + :block/created-at 1657519389489, + :block/updated-at 1657519502888} + {:block/name "三元运算符", + :block/created-at 1649215182040, + :block/updated-at 1649215182040} + {:block/name "三层架构是哪三层 具体说说,你知道它们分别对应的架构模式采用的是什么么", + :block/created-at 1657157575988, + :block/updated-at 1657157575988} + {:block/name "下标", + :block/created-at 1649835657619, + :block/updated-at 1649835657619} + {:block/name "业务对象", + :block/created-at 1649647567279, + :block/updated-at 1649647617004} + {:block/name "为什么使用同步或锁,就可以让多线程解决线程安全问题", + :block/created-at 1657157575302, + :block/updated-at 1657157575302} + {:block/name "为什么要使用微服务,它的优缺点", + :block/created-at 1657157575896, + :block/updated-at 1657157575896} + {:block/name "为什么要用redis不用map", + :block/created-at 1657157575766, + :block/updated-at 1657157575766} + {:block/name "为什么要用多线程", + :block/created-at 1657157575289, + :block/updated-at 1657157575289} + {:block/name "为什么选择mysql5.7,而不用5.5 5.6", + :block/created-at 1657157575437, + :block/updated-at 1657157575437} + {:block/name "为什么选择seata来处理分布式事务", + :block/created-at 1657157575852, + :block/updated-at 1657157575852} + {:block/name "乐观锁", + :block/created-at 1657260300380, + :block/updated-at 1657260300380} + {:block/name "了解网关么,网关的作用是什么,你都在网关中配置过什么内容", + :block/created-at 1657157575911, + :block/updated-at 1657157575911} + {:block/name "事务", + :block/created-at 1657260301817, + :block/updated-at 1657260301817} + {:block/name "事务在什么情况下会失效", + :block/created-at 1657157575457, + :block/updated-at 1657174921581} + {:block/name "二叉查找法", + :block/created-at 1649908349192, + :block/updated-at 1649908349192} + {:block/name "二叉树", + :block/created-at 1650436212532, + :block/updated-at 1650436212532} + {:block/name "二进制", + :block/created-at 1650331205815, + :block/updated-at 1650331205815} + {:block/name "互联网企业面试题", + :block/created-at 1650621154774, + :block/updated-at 1650621392359} + {:block/name "交集", + :block/created-at 1650442649580, + :block/updated-at 1650442649580} + {:block/name "京东万象", + :block/created-at 1657705608788, + :block/updated-at 1657705798343} + {:block/name "什么是2阶段提交,seata是如何做2阶段提交的", + :block/created-at 1657157575934, + :block/updated-at 1657157575934} + {:block/name "什么是atomicinteger", + :block/created-at 1657157575373, + :block/updated-at 1657157575373} + {:block/name "什么是java的反射", + :block/created-at 1657157575585, + :block/updated-at 1657157575585} + {:block/name "什么是socket编程", + :block/created-at 1657157575538, + :block/updated-at 1657157575538} + {:block/name "什么是sql注入,如何防止", + :block/created-at 1657157575501, + :block/updated-at 1657157575501} + {:block/name "什么是volatile,它的作用是什么", + :block/created-at 1657157575370, + :block/updated-at 1657157575370} + {:block/name "什么是分布式事务,项目中哪些地方遇到分布式事务", + :block/created-at 1657157575931, + :block/updated-at 1657157575931} + {:block/name "什么是反射", + :block/created-at 1657157575578, + :block/updated-at 1657157575578} + {:block/name "什么是同步代码块", + :block/created-at 1657157575308, + :block/updated-at 1657157575308} + {:block/name "什么是多线程死锁", + :block/created-at 1657157575316, + :block/updated-at 1657157575316} + {:block/name "什么是守护线程,如何做到", + :block/created-at 1657157575363, + :block/updated-at 1657157575363} + {:block/name "什么是接口幂等性,如何保证接口幂等性操作", + :block/created-at 1657157575744, + :block/updated-at 1657157575744} + {:block/name "什么是数据库回表,如何避免回表查询", + :block/created-at 1657157575439, + :block/updated-at 1657157575439} + {:block/name "什么是线程同步", + :block/created-at 1657157575305, + :block/updated-at 1657157575305} + {:block/name "什么是线程安全", + :block/created-at 1657157575299, + :block/updated-at 1657157575299} + {:block/name "什么是线程池它的作用是什么", + :block/created-at 1657157575343, + :block/updated-at 1657157575343} + {:block/name "什么是聚簇索引,什么是非聚簇索引", + :block/created-at 1657157575489, + :block/updated-at 1657157575489} + {:block/name "什么是虚拟机参数配置 你是否配置过 在哪里配置", + :block/created-at 1657157575395, + :block/updated-at 1657157575395} + {:block/name "什么是设计模式,有多少个", + :block/created-at 1657157575550, + :block/updated-at 1657157575550} + {:block/name "介绍一下spring,springboot,springcloud", + :block/created-at 1657157575882, + :block/updated-at 1657157575882} + {:block/name "介绍一下你的项目aop日志功能如何实现的", + :block/created-at 1657157575626, + :block/updated-at 1657157575626} + {:block/name "代理设计模式中,静态代理和动态代理的区别", + :block/created-at 1657157575555, + :block/updated-at 1657157575555} + {:block/name "会议层", + :block/created-at 1650636324905, + :block/updated-at 1650636324905} + {:block/name "传参", + :block/created-at 1649381373549, + :block/updated-at 1650079888314} + {:block/name "传输层", + :block/created-at 1650636324906, + :block/updated-at 1650636324906} + {:block/name "位运算符", + :block/created-at 1649215185978, + :block/updated-at 1649663069403} + {:block/name "低耦合", + :block/created-at 1649659961033, + :block/updated-at 1649660035488} + {:block/name "你上个项目用的springboot版本是那个版本的", + :block/created-at 1657157575657, + :block/updated-at 1657157575657} + {:block/name "你们开发规范是什么,具体开发流程是什么,需求分析谁做,原型设计怎么来的", + :block/created-at 1657157575971, + :block/updated-at 1657157575971} + {:block/name "你们通过哪些手段处理系统的高并发问题", + :block/created-at 1657157575842, + :block/updated-at 1657157575842} + {:block/name "你们项目上线前会在哪里测试 怎么部署的 多个环境你该怎么设置", + :block/created-at 1657157575983, + :block/updated-at 1657157575983} + {:block/name "你们项目中,使用的什么 数据交换格式", + :block/created-at 1657157575676, + :block/updated-at 1657157575676} + {:block/name "你在项目中遇到的最大问题是什么 如何解决的", + :block/created-at 1657157575952, + :block/updated-at 1657157575952} + {:block/name "你对restful架构风格是如何理解的 平时都是怎么样的", + :block/created-at 1657157575700, + :block/updated-at 1657157575700} + {:block/name "你是怎么创建线程池的", + :block/created-at 1657157575348, + :block/updated-at 1657157575348} + {:block/name "你熟悉秒杀流程 那么秒杀如何保证数据一致性", + :block/created-at 1657157575980, + :block/updated-at 1657157575980} + {:block/name "你觉得springcloud相比传统的springmvc有什么优势", + :block/created-at 1657157575868, + :block/updated-at 1657157575868} + {:block/name "你都知道哪些锁", + :block/created-at 1657157575376, + :block/updated-at 1657157575376} + {:block/name "你项目中的哪些地方使用到多线程", + :block/created-at 1657157575297, + :block/updated-at 1657157575297} + {:block/name "使用的redis是集群的嘛 有多少个节点,采用的是那种集群方案", + :block/created-at 1657157575754, + :block/updated-at 1657157575754} + {:block/name "假如1个接口的qps只有10,超过10会怎样 如何解决", + :block/created-at 1657157575960, + :block/updated-at 1657157575960} + {:block/name "假设你redis里面有9个商品,我现在有10人来买,怎么防止超卖问题", + :block/created-at 1657157575776, + :block/updated-at 1657157575776} + {:block/name "做集群的时候事务怎么处理", + :block/created-at 1657157575874, + :block/updated-at 1657157575874} + {:block/name "健壮性", + :block/created-at 1650331183908, + :block/updated-at 1650331183908} + {:block/name "元空间", + :block/created-at 1649399132284, + :block/updated-at 1649399257832} + {:block/name "元素", + :block/created-at 1653533260526, + :block/updated-at 1653533260526} + {:block/name "兄弟类", + :block/created-at 1650350376131, + :block/updated-at 1650350397930} + {:block/name "全局变量", + :block/created-at 1649215186150, + :block/updated-at 1649215186150} + {:block/name "全文检索引擎", + :block/created-at 1657505762190, + :block/updated-at 1657505788967} + {:block/name "关于多线程锁升级的理解", + :block/created-at 1657157575330, + :block/updated-at 1657157575330} + {:block/name "关系型数据库", + :block/created-at 1657157573091, + :block/updated-at 1657157573091} + {:block/name "关系运算符", + :block/created-at 1649215186335, + :block/updated-at 1650077043063} + {:block/name "关键字", + :block/created-at 1649820628344, + :block/updated-at 1649820628344} + {:block/name "关闭连接一定能成功吗 怎么保证一定成功关闭连接", + :block/created-at 1657157575504, + :block/updated-at 1657157575504} + {:block/name "其它功能流", + :block/created-at 1650608103075, + :block/updated-at 1650608103075} + {:block/name "内存模型", + :block/created-at 1649399463813, + :block/updated-at 1649399463813} + {:block/name "内存泄漏与内存溢出的区别", + :block/created-at 1657157575422, + :block/updated-at 1657157575422} + {:block/name "内存溢出你是咋解决的", + :block/created-at 1657157575417, + :block/updated-at 1657157575417} + {:block/name "内部类", + :block/created-at 1650350298123, + :block/updated-at 1650350493994} + {:block/name "冒泡排序", + :block/created-at 1649228634628, + :block/updated-at 1649228634628} + {:block/name "写个时间复杂度为o(n)的算法,找到一个数列第二大的数", + :block/created-at 1657157575229, + :block/updated-at 1657157575229} + {:block/name "分布式", + :block/created-at 1650331202485, + :block/updated-at 1650331202485} + {:block/name "分布式事务的两个理论特性 是什么", + :block/created-at 1657157575944, + :block/updated-at 1657157575944} + {:block/name "分布式事务的原理", + :block/created-at 1657157575850, + :block/updated-at 1657157575850} + {:block/name "分布式锁的目的", + :block/created-at 1657157575765, + :block/updated-at 1657157575765} + {:block/name "分布式高并发下的订单id是如何生成的", + :block/created-at 1657157575879, + :block/updated-at 1657157575879} + {:block/name "分析hashmap为什么线程不安全", + :block/created-at 1657157575265, + :block/updated-at 1657157575265} + {:block/name "前后端分离", + :block/created-at 1657711436599, + :block/updated-at 1657711475847} + {:block/name "动态代理中jdk代理和cglib代理区别 代理模式,在项目中哪些地方有应用", + :block/created-at 1657157575557, + :block/updated-at 1657157575557} + {:block/name "动态代理模式中jdk与cglib的区别", + :block/created-at 1657157575616, + :block/updated-at 1657157575616} + {:block/name "动态多态", + :block/created-at 1649820620314, + :block/updated-at 1649820620314} + {:block/name "动态方法", + :block/created-at 1649402650831, + :block/updated-at 1649402650831} + {:block/name "包装", + :block/created-at 1649406861138, + :block/updated-at 1649406861138} + {:block/name "包装类", + :block/created-at 1650002701247, + :block/updated-at 1650073601893} + {:block/name "匿名内部类", + :block/created-at 1650350273077, + :block/updated-at 1650352725395} + {:block/name "十六进制", + :block/created-at 1650331208081, + :block/updated-at 1650331208081} + {:block/name "协议", + :block/created-at 1650636326492, + :block/updated-at 1650636326492} + {:block/name "单例设计模式,你会手写么 在项目中哪些地方有应用", + :block/created-at 1657157575552, + :block/updated-at 1657157575552} + {:block/name "单分支", + :block/created-at 1649215182033, + :block/updated-at 1649215182033} + {:block/name "单点登录的实现原理", + :block/created-at 1657157575964, + :block/updated-at 1657157575964} + {:block/name "单精度浮点", + :block/created-at 1649215186658, + :block/updated-at 1649215186658} + {:block/name "原码", + :block/created-at 1649215186785, + :block/updated-at 1649215186785} + {:block/name "去重", + :block/created-at 1650436211942, + :block/updated-at 1650436211942} + {:block/name "参数", + :block/created-at 1650331185166, + :block/updated-at 1650331185166} + {:block/name "双精度浮点", + :block/created-at 1649215186923, + :block/updated-at 1649215186923} + {:block/name "反射", + :block/created-at 1653189835576, + :block/updated-at 1653189835576} + {:block/name "反射操作私有属性时,需要注意什么", + :block/created-at 1657157575589, + :block/updated-at 1657157575589} + {:block/name "反射获得class对象的3种方式", + :block/created-at 1657157575588, + :block/updated-at 1657157575588} + {:block/name "反序列化", + :block/created-at 1650636327634, + :block/updated-at 1650636327634} + {:block/name "反码", + :block/created-at 1649215186779, + :block/updated-at 1649215186779} + {:block/name "变量", + :block/created-at 1649215187261, + :block/updated-at 1650078772380} + {:block/name "可不可以配置两个数据源 比如一个mysql和一个oracle 在哪里配置,怎么配置", + :block/created-at 1657157575662, + :block/updated-at 1657157575662} + {:block/name "可维护性", + :block/created-at 1650331208608, + :block/updated-at 1650331208608} + {:block/name "同步与异步的区别", + :block/created-at 1657157575319, + :block/updated-at 1657157575319} + {:block/name "同步代码块和同步函数之间有什么区别", + :block/created-at 1657157575313, + :block/updated-at 1657157575313} + {:block/name "同步函数", + :block/created-at 1657606373094, + :block/updated-at 1657606373094} + {:block/name "同步函数和静态同步函数之间有什么区别", + :block/created-at 1657157575314, + :block/updated-at 1657157575314} + {:block/name "同步方法与同步块的区别", + :block/created-at 1657157575341, + :block/updated-at 1657157575341} + {:block/name "后台线程", + :block/created-at 1657357099481, + :block/updated-at 1657357099481} + {:block/name "向上转型", + :block/created-at 1649820616060, + :block/updated-at 1649820616060} + {:block/name "向上转型与向下转型", + :block/created-at 1649215195594, + :block/updated-at 1649215195594} + {:block/name "向下转型", + :block/created-at 1649820616065, + :block/updated-at 1649820616065} + {:block/name "周考1", + :block/created-at 1649215177134, + :block/updated-at 1649226998173} + {:block/name "周考2", + :block/created-at 1650089014547, + :block/updated-at 1650101191192} + {:block/name "命令行参数", + :block/created-at 1649046748645, + :block/updated-at 1649046748645} + {:block/name "四舍五入", + :block/created-at 1650331201450, + :block/updated-at 1650331201450} + {:block/name "在http请求中如何存储客户信息(分如何获取和如何存储)", + :block/created-at 1657157575673, + :block/updated-at 1657157575673} + {:block/name "在使用git的过程中,遇到冲突,你是如何处理的", + :block/created-at 1657157575962, + :block/updated-at 1657157575962} + {:block/name "在生成订单过程中,如果mysql崩了,怎么办", + :block/created-at 1657157575991, + :block/updated-at 1657157575991} + {:block/name "在请求中如何存储客户信息", + :block/created-at 1657157575689, + :block/updated-at 1657157575689} + {:block/name "地址值", + :block/created-at 1649666713370, + :block/updated-at 1649666713370} + {:block/name "域名", + :block/created-at 1650636326492, + :block/updated-at 1650636326492} + {:block/name "基本数据类型", + :block/created-at 1649215187877, + :block/updated-at 1650077326802} + {:block/name "堆", + :block/created-at 1649215189414, + :block/updated-at 1649399208650} + {:block/name "复合赋值运算符", + :block/created-at 1649215188132, + :block/updated-at 1649215188132} + {:block/name "复用性", + :block/created-at 1650331208607, + :block/updated-at 1650331208607} + {:block/name "多分支", + :block/created-at 1649215182052, + :block/updated-at 1649215182052} + {:block/name "多态", + :block/created-at 1649046830883, + :block/updated-at 1650079373950} + {:block/name "多态集合", + :block/created-at 1649820624999, + :block/updated-at 1649820624999} + {:block/name "多线程", + :block/created-at 1650331202489, + :block/updated-at 1657347648538} + {:block/name "多线程的创建", + :block/created-at 1657347689818, + :block/updated-at 1657355752231} + {:block/name "多线程的创建方式有哪些", + :block/created-at 1657157575291, + :block/updated-at 1657157575291} + {:block/name "多维数组", + :block/created-at 1648805231475, + :block/updated-at 1649137033746} + {:block/name "多维数组 1", + :block/created-at 1649215188358, + :block/updated-at 1649215188358} + {:block/name "大佬跟你讲的东西,你怎么判断正不正确", + :block/created-at 1657157575985, + :block/updated-at 1657157575985} + {:block/name "大驼峰", + :block/created-at 1650331206734, + :block/updated-at 1650339181952} + {:block/name "如何使用jdk1.8新特性从商品集合中单独把某一个字段(比如id)拿出来当做一个集合", + :block/created-at 1657157573879, + :block/updated-at 1657157573879} + {:block/name "如何保证与数据库的双写一致性", + :block/created-at 1657157575751, + :block/updated-at 1657157575751} + {:block/name "如何做到集合变遍历,边删除", + :block/created-at 1657157575209, + :block/updated-at 1657157575209} + {:block/name "如何停止一根线程", + :block/created-at 1657157575360, + :block/updated-at 1657157575360} + {:block/name "如何克隆一个对象 浅克隆与深克隆区别在哪里", + :block/created-at 1657157575562, + :block/updated-at 1657157575562} + {:block/name "如何获得map集合中的所有的key", + :block/created-at 1657157575235, + :block/updated-at 1657157575235} + {:block/name "如何解决多线程间线程安全问题", + :block/created-at 1657157575301, + :block/updated-at 1657157575301} + {:block/name "如何解决消息延时及过期失效的问题 如果有几百万条消息持续积压几小时,说说怎么解决", + :block/created-at 1657157575723, + :block/updated-at 1657157575723} + {:block/name "如何设置最大堆空间大小", + :block/created-at 1657157575406, + :block/updated-at 1657157575406} + {:block/name "如何跳出多重循环", + :block/created-at 1657157575576, + :block/updated-at 1657157575576} + {:block/name "如何防止后端接口被攻击", + :block/created-at 1657157575965, + :block/updated-at 1657157575965} + {:block/name "如何防止表单重复提交", + :block/created-at 1657157575690, + :block/updated-at 1657157575690} + {:block/name "如果你在linux部署的项目出现报错时,你需要定位报错信息在哪怎么做", + :block/created-at 1657157575817, + :block/updated-at 1657157575817} + {:block/name "如果保证用户一定能消费成功", + :block/created-at 1657157575714, + :block/updated-at 1657157575714} + {:block/name "如果给你一个功能,你觉得从数据库设计开始的思路是什么", + :block/created-at 1657157575473, + :block/updated-at 1657157575473} + {:block/name "如果让你自己写个mq服务器,你的思路是什么 需要使用到什么技术", + :block/created-at 1657157575721, + :block/updated-at 1657157575721} + {:block/name "如果运行结果跟预期不一样,但是代码没报错,怎么处理", + :block/created-at 1657157575606, + :block/updated-at 1657157575606} + {:block/name "字符串", + :block/created-at 1649820616075, + :block/updated-at 1649833834370} + {:block/name "字符串概述", + :block/created-at 1649833724519, + :block/updated-at 1649841818319} + {:block/name "字符流", + :block/created-at 1650446718713, + :block/updated-at 1650446718713} + {:block/name "字符类型", + :block/created-at 1649215187844, + :block/updated-at 1649215187844} + {:block/name "字节", + :block/created-at 1649215187866, + :block/updated-at 1649215187866} + {:block/name "字节流", + :block/created-at 1650446706402, + :block/updated-at 1650448816615} + {:block/name "字节码", + :block/created-at 1650331201914, + :block/updated-at 1650331201914} + {:block/name "字节类型", + :block/created-at 1649215187869, + :block/updated-at 1649215187869} + {:block/name "字面量常量", + :block/created-at 1649215187254, + :block/updated-at 1649215187254} + {:block/name "守护线程", + :block/created-at 1657355378263, + :block/updated-at 1657357234059} + {:block/name "守护线程是什么如何实现", + :block/created-at 1657157575383, + :block/updated-at 1657157575383} + {:block/name "定时器", + :block/created-at 1657355360682, + :block/updated-at 1657356817637} + {:block/name "实体对象", + :block/created-at 1649647584297, + :block/updated-at 1649647652117} + {:block/name "实体层", + :block/created-at 1650636324909, + :block/updated-at 1650636324909} + {:block/name "实例代码块", + :block/created-at 1649821030020, + :block/updated-at 1649821214883} + {:block/name "实参", + :block/created-at 1650331204968, + :block/updated-at 1650331204968} + {:block/name "对springioc的理解", + :block/created-at 1657157575613, + :block/updated-at 1657157575613} + {:block/name "对象", + :block/created-at 1649401757444, + :block/updated-at 1649401757444} + {:block/name "对象的内存模型分析", + :block/created-at 1649215195527, + :block/updated-at 1649399463815} + {:block/name "封装", + :block/created-at 1649406721749, + :block/updated-at 1649407188068} + {:block/name "小驼峰", + :block/created-at 1650331207818, + :block/updated-at 1650331207818} + {:block/name "局部变量", + :block/created-at 1649215186146, + :block/updated-at 1649215186146} + {:block/name "属性", + :block/created-at 1650331208414, + :block/updated-at 1650331208414} + {:block/name "属性和行为", + :block/created-at 1649385007333, + :block/updated-at 1649389551545} + {:block/name "嵌套判断", + :block/created-at 1649215182046, + :block/updated-at 1649215182046} + {:block/name "嵌套循环", + :block/created-at 1649215189166, + :block/updated-at 1649215189166} + {:block/name "工厂设计模式的作用 简单工厂会写不 在项目中哪些地方有应用", + :block/created-at 1657157575560, + :block/updated-at 1657157575560} + {:block/name "差集", + :block/created-at 1650442668953, + :block/updated-at 1650442668953} + {:block/name "布尔类型", + :block/created-at 1649215187847, + :block/updated-at 1649215187847} + {:block/name "常用操作字符串有哪些类 stringbuffer,stringbuilder", + :block/created-at 1657157575574, + :block/updated-at 1657157575574} + {:block/name "常量", + :block/created-at 1649820619444, + :block/updated-at 1649820619444} + {:block/name "幂等性问题会出现在哪些地方", + :block/created-at 1657157575746, + :block/updated-at 1657157575746} + {:block/name "并发与并行的区别", + :block/created-at 1657157575329, + :block/updated-at 1657157575329} + {:block/name "并集", + :block/created-at 1650442656240, + :block/updated-at 1650442656240} + {:block/name "序列化", + :block/created-at 1650538806196, + :block/updated-at 1650538806196} + {:block/name "应用层", + :block/created-at 1650636324903, + :block/updated-at 1650636324903} + {:block/name "延迟队列如何实现", + :block/created-at 1657157575719, + :block/updated-at 1657157575719} + {:block/name "延迟队列,死信队列的区别是什么", + :block/created-at 1657157575715, + :block/updated-at 1657157575715} + {:block/name "异常", + :block/created-at 1650252016634, + :block/updated-at 1650263426165} + {:block/name "异常抛出", + :block/created-at 1650331179423, + :block/updated-at 1650331179423} + {:block/name "异常捕获", + :block/created-at 1650263084206, + :block/updated-at 1650264380594} + {:block/name "异常的分类,如何自定义异常", + :block/created-at 1657157575565, + :block/updated-at 1657157575565} + {:block/name "引用数据类型", + :block/created-at 1649215187835, + :block/updated-at 1649215187835} + {:block/name "强制转换", + :block/created-at 1649215189580, + :block/updated-at 1649215189580} + {:block/name "强类型", + :block/created-at 1650331205809, + :block/updated-at 1650331205809} + {:block/name + "当application.properties,application.yaml,bootstrap.yaml文件同时存在的情况下,它们的执行顺序是怎样的", + :block/created-at 1657157575667, + :block/updated-at 1657157575667} + {:block/name "形参", + :block/created-at 1650331204966, + :block/updated-at 1650331204966} + {:block/name "微服务的搭建步骤", + :block/created-at 1657157575898, + :block/updated-at 1657157575898} + {:block/name "微服务组件都用过哪些,你们微服务的业务逻辑是什么样子的", + :block/created-at 1657157575901, + :block/updated-at 1657157575901} + {:block/name "怎么理解过程一致性和结果一致性", + :block/created-at 1657157575334, + :block/updated-at 1657157575334} + {:block/name "怎么用sql语句复制另一张表", + :block/created-at 1657157575458, + :block/updated-at 1657157575458} + {:block/name "总结", + :block/created-at 1649215189906, + :block/updated-at 1649215189906} + {:block/name "悲观锁", + :block/created-at 1657260301759, + :block/updated-at 1657260301759} + {:block/name "抽象", + :block/created-at 1649406808852, + :block/updated-at 1649406808852} + {:block/name "抽象方法", + :block/created-at 1649820626952, + :block/updated-at 1649820626952} + {:block/name "抽象类", + :block/created-at 1648863179646, + :block/updated-at 1650079417572} + {:block/name "抽象类可以继承实体类么", + :block/created-at 1657157575590, + :block/updated-at 1657157575590} + {:block/name "抽象类可以继承接口么", + :block/created-at 1657157575592, + :block/updated-at 1657157575592} + {:block/name "指针", + :block/created-at 1650331202481, + :block/updated-at 1650331202481} + {:block/name "排序", + :block/created-at 1650337048323, + :block/updated-at 1650337083335} + {:block/name "接口", + :block/created-at 1648863179646, + :block/updated-at 1650080392465} + {:block/name "接口可以继承抽象类么", + :block/created-at 1657157575594, + :block/updated-at 1657157575594} + {:block/name "数据库", + :block/created-at 1653189835121, + :block/updated-at 1657071903389} + {:block/name "数据库中btree 与hash索引的区别", + :block/created-at 1657157575438, + :block/updated-at 1657157575438} + {:block/name "数据库中两张表如何要联合查询,要如何实现", + :block/created-at 1657157575454, + :block/updated-at 1657157575454} + {:block/name "数据库中哪些字段适合加索引 ,哪些不适合加索引", + :block/created-at 1657157575487, + :block/updated-at 1657157575487} + {:block/name "数据库中复合索引的字段中可以有null值吗", + :block/created-at 1657157575517, + :block/updated-at 1657157575517} + {:block/name "数据库中如何快速插入100w级数据", + :block/created-at 1657157575446, + :block/updated-at 1657157575446} + {:block/name "数据库引擎", + :block/created-at 1657260300387, + :block/updated-at 1657260300387} + {:block/name "数据库用户id主键策略", + :block/created-at 1657157575478, + :block/updated-at 1657157575478} + {:block/name "数据库的sql语句如何加锁", + :block/created-at 1657157575486, + :block/updated-at 1657157575486} + {:block/name "数据库的执行计划", + :block/created-at 1657157575480, + :block/updated-at 1657157575480} + {:block/name "数据库管理系统", + :block/created-at 1653189835126, + :block/updated-at 1653189835126} + {:block/name "数据库连表查询,左外联,右外联,内联查的区别", + :block/created-at 1657157575460, + :block/updated-at 1657157575460} + {:block/name "数据链路层", + :block/created-at 1650636324908, + :block/updated-at 1650636324908} + {:block/name "数组", + :block/created-at 1649833963908, + :block/updated-at 1649833963908} + {:block/name "数组内存分析", + :block/created-at 1649215190196, + :block/updated-at 1650079736256} + {:block/name "数组基础", + :block/created-at 1649215190330, + :block/updated-at 1649215190330} + {:block/name "数组排序", + :block/created-at 1649215177500, + :block/updated-at 1650079080188} + {:block/name "数组的排序算法,你都知道哪些请列举并手写一个出来", + :block/created-at 1657157575286, + :block/updated-at 1657157575286} + {:block/name "数组的遍历", + :block/created-at 1648804037791, + :block/updated-at 1649151333734} + {:block/name "数组的遍历 1", + :block/created-at 1649215190634, + :block/updated-at 1649215190634} + {:block/name "数组,链表,哪个查询效率高,为什么高", + :block/created-at 1657157575280, + :block/updated-at 1657157575280} + {:block/name "整型", + :block/created-at 1649215187860, + :block/updated-at 1649215187860} + {:block/name "方法", + :block/created-at 1649046776216, + :block/updated-at 1649046776216} + {:block/name "方法重载", + :block/created-at 1649046797138, + :block/updated-at 1650079956655} + {:block/name "无参构造器", + :block/created-at 1649644942915, + :block/updated-at 1649645765443} + {:block/name "是否写过hashmap的底层,了解过什么", + :block/created-at 1657157575218, + :block/updated-at 1657157575218} + {:block/name "是继承thread类好,还是实现runnable接口好", + :block/created-at 1657157575293, + :block/updated-at 1657157575293} + {:block/name "普通类和抽象类有哪些区别", + :block/created-at 1657157575567, + :block/updated-at 1657157575567} + {:block/name "普通类和抽象类的区别 接口和抽象的区别", + :block/created-at 1657157575572, + :block/updated-at 1657157575572} + {:block/name "最多有过几张表的连表处理", + :block/created-at 1657157575435, + :block/updated-at 1657157575435} + {:block/name "有个数组,如何颠倒所有的元素", + :block/created-at 1657157575270, + :block/updated-at 1657157575270} + {:block/name "有几种方法可以遍历java集合", + :block/created-at 1657157575250, + :block/updated-at 1657157575250} + {:block/name "有参构造器", + :block/created-at 1649644948619, + :block/updated-at 1649645790788} + {:block/name "有哪些地方必须关闭资源", + :block/created-at 1657157575508, + :block/updated-at 1657157575508} + {:block/name "有哪些方法可以防止微服务接口被攻击", + :block/created-at 1657157575929, + :block/updated-at 1657157575929} + {:block/name "有张100w级的表中存在大量的重复数据,如何快速去重", + :block/created-at 1657157575449, + :block/updated-at 1657157575449} + {:block/name "有没有用过断点调试 怎么用的", + :block/created-at 1657157575607, + :block/updated-at 1657157575607} + {:block/name "有没有设计过数据库 数据库三范式讲一下", + :block/created-at 1657157575510, + :block/updated-at 1657157575510} + {:block/name "服务熔断和服务降级,项目是如何运用的", + :block/created-at 1657157575839, + :block/updated-at 1657157575839} + {:block/name "本地方法栈", + :block/created-at 1649399108838, + :block/updated-at 1649399241002} + {:block/name "构造器", + :block/created-at 1649408959734, + :block/updated-at 1650080096401} + {:block/name "标识符", + :block/created-at 1649215191017, + :block/updated-at 1650078659637} + {:block/name "栈", + :block/created-at 1649215189416, + :block/updated-at 1649399161599} + {:block/name "栈溢出你是咋解决的", + :block/created-at 1657157575419, + :block/updated-at 1657157575419} + {:block/name "核心库", + :block/created-at 1650331202511, + :block/updated-at 1650331202511} + {:block/name "格式化输出", + :block/created-at 1649215177497, + :block/updated-at 1650078960342} + {:block/name "模块", + :block/created-at 1649046919359, + :block/updated-at 1649046919359} + {:block/name "正则表达式", + :block/created-at 1650168860290, + :block/updated-at 1650170125153} + {:block/name "死锁", + :block/created-at 1657355365860, + :block/updated-at 1657357066876} + {:block/name "每天1万人访问主页并发量有多少", + :block/created-at 1657157575967, + :block/updated-at 1657157575967} + {:block/name "比较器", + :block/created-at 1650436212562, + :block/updated-at 1650436212562} + {:block/name "汇编语言", + :block/created-at 1650331208980, + :block/updated-at 1650331208980} + {:block/name "汽车租车系统", + :block/created-at 1653189834619, + :block/updated-at 1653189834619} + {:block/name "泛型", + :block/created-at 1650348579392, + :block/updated-at 1650349771720} + {:block/name "泛型接口", + :block/created-at 1650349323498, + :block/updated-at 1650349323498} + {:block/name "泛型擦除", + :block/created-at 1650349480317, + :block/updated-at 1650349480317} + {:block/name "泛型方法", + :block/created-at 1650349227744, + :block/updated-at 1650349227744} + {:block/name "泛型类", + :block/created-at 1650349103584, + :block/updated-at 1650349103584} + {:block/name "注解", + :block/created-at 1649665829804, + :block/updated-at 1649822521079} + {:block/name "测试怎么做的", + :block/created-at 1657157575974, + :block/updated-at 1657157575974} + {:block/name "深圳蜗牛java面试题", + :block/created-at 1657157570485, + :block/updated-at 1657157570485} + {:block/name "生产环境中应用有问题如何分析问题", + :block/created-at 1657157576000, + :block/updated-at 1657157576000} + {:block/name "生产者消费模式", + :block/created-at 1657355350193, + :block/updated-at 1657355612481} + {:block/name "用过哪些经典的设计模式,谈谈你对它们的理解", + :block/created-at 1657157575957, + :block/updated-at 1657157575957} + {:block/name "用过的linux系统都有哪些 什么版本", + :block/created-at 1657157575812, + :block/updated-at 1657157575812} + {:block/name "知道redis的看门狗机制么,为什么要用到看门狗", + :block/created-at 1657157575789, + :block/updated-at 1657157575789} + {:block/name "知道拦截器么,你项目中哪里使用过拦截器", + :block/created-at 1657157575650, + :block/updated-at 1657157575650} + {:block/name "短整数类型", + :block/created-at 1649215187863, + :block/updated-at 1649215187863} + {:block/name "科学计数法", + :block/created-at 1650331208078, + :block/updated-at 1650331208078} + {:block/name "程序", + :block/created-at 1649215181739, + :block/updated-at 1649215181739} + {:block/name "程序/注释", + :block/created-at 1649215181732, + :block/updated-at 1649215181732} + {:block/name "程序计数器", + :block/created-at 1649399120357, + :block/updated-at 1649399120357} + {:block/name "空指针", + :block/created-at 1650331206994, + :block/updated-at 1650331206994} + {:block/name "端口", + :block/created-at 1650636326491, + :block/updated-at 1650636326491} + {:block/name "简明知意", + :block/created-at 1650331207819, + :block/updated-at 1650331207819} + {:block/name "算术运算符", + :block/created-at 1649215191819, + :block/updated-at 1649215191819} + {:block/name "类", + :block/created-at 1649659990421, + :block/updated-at 1650080668268} + {:block/name "类和对象的创建", + :block/created-at 1649215195512, + :block/updated-at 1650079672125} + {:block/name "类属性", + :block/created-at 1649403547313, + :block/updated-at 1649403547313} + {:block/name "类方法", + :block/created-at 1649402739095, + :block/updated-at 1649402739095} + {:block/name "索引失效的场景有哪些", + :block/created-at 1657157575484, + :block/updated-at 1657157575484} + {:block/name "红锁是怎么实现的 原理是什么", + :block/created-at 1657157575787, + :block/updated-at 1657157575787} + {:block/name "红黑二叉树", + :block/created-at 1650436211902, + :block/updated-at 1650436211902} + {:block/name "线程同步", + :block/created-at 1657355041266, + :block/updated-at 1657355763088} + {:block/name "线程同步的几个方法", + :block/created-at 1657157575326, + :block/updated-at 1657157575326} + {:block/name "线程安全", + :block/created-at 1657352850687, + :block/updated-at 1657352985845} + {:block/name "线程安全的集合有哪些", + :block/created-at 1657157575207, + :block/updated-at 1657157575207} + {:block/name "线程是如何开始的", + :block/created-at 1657157575380, + :block/updated-at 1657157575380} + {:block/name "线程池", + :block/created-at 1657355740623, + :block/updated-at 1657356696193} + {:block/name "线程池有哪些核心参数", + :block/created-at 1657157575346, + :block/updated-at 1657157575346} + {:block/name "线程状态", + :block/created-at 1657349830643, + :block/updated-at 1657350352498} + {:block/name "线程的原子性是什么", + :block/created-at 1657157575350, + :block/updated-at 1657157575350} + {:block/name "线程的生命周期", + :block/created-at 1657157575323, + :block/updated-at 1657157575323} + {:block/name "给你一个数值类型数组,如何以最快的方式,查找到某一个元素", + :block/created-at 1657157575268, + :block/updated-at 1657157575268} + {:block/name "继承", + :block/created-at 1649046819566, + :block/updated-at 1650079351095} + {:block/name "继承器", + :block/created-at 1650331204697, + :block/updated-at 1650331204697} + {:block/name "继承方式", + :block/created-at 1649215195564, + :block/updated-at 1649662951261} + {:block/name "继承的定义", + :block/created-at 1649215195558, + :block/updated-at 1649659088709} + {:block/name "缓冲流", + :block/created-at 1650538806171, + :block/updated-at 1650538806171} + {:block/name "缓存穿透,击穿,雪崩对应的解决方案是什么", + :block/created-at 1657157575752, + :block/updated-at 1657157575752} + {:block/name "编程语言", + :block/created-at 1649215194715, + :block/updated-at 1650076410315} + {:block/name "编程题,给你一个整数数组,进行排序,输入一个k,从小到大输出k个数", + :block/created-at 1657157575269, + :block/updated-at 1657157575269} + {:block/name "编译", + :block/created-at 1650331201910, + :block/updated-at 1650331201910} + {:block/name "编译器", + :block/created-at 1650331183930, + :block/updated-at 1650331183930} + {:block/name "编译异常", + :block/created-at 1650263198292, + :block/updated-at 1650263198292} + {:block/name "网关是如何找到其他微服务的", + :block/created-at 1657157575914, + :block/updated-at 1657157575914} + {:block/name "网关限流如何配置 限流算法都用过哪些", + :block/created-at 1657157575912, + :block/updated-at 1657157575912} + {:block/name "网关限流时,采用什么技术,使用什么限流算法 咋配置", + :block/created-at 1657157575876, + :block/updated-at 1657157575876} + {:block/name "网络层", + :block/created-at 1650636324906, + :block/updated-at 1650636324906} + {:block/name "网络编程", + :block/created-at 1650608103126, + :block/updated-at 1650608103126} + {:block/name "网络通讯中tcp协议,udp协议的区别", + :block/created-at 1657157575571, + :block/updated-at 1657157575571} + {:block/name "耦合性", + :block/created-at 1649660116366, + :block/updated-at 1649660124613} + {:block/name "联合索引与普通索引的区别在哪里", + :block/created-at 1657157575448, + :block/updated-at 1657157575448} + {:block/name "能详细说下非对称加密的流程吗", + :block/created-at 1657157575996, + :block/updated-at 1657157575996} + {:block/name "自增运算符", + :block/created-at 1649215191827, + :block/updated-at 1649215191827} + {:block/name "自定义常量", + :block/created-at 1649215187256, + :block/updated-at 1649215187256} + {:block/name "自定义异常", + :block/created-at 1650331179429, + :block/updated-at 1650331179429} + {:block/name "自定义排序", + :block/created-at 1650340413624, + :block/updated-at 1650340413624} + {:block/name "自定义标识符", + :block/created-at 1650331207812, + :block/updated-at 1650331207812} + {:block/name "自定义注解", + :block/created-at 1649666262228, + :block/updated-at 1649666262228} + {:block/name "自旋锁的特征", + :block/created-at 1657157575283, + :block/updated-at 1657157575283} + {:block/name "自然排序", + :block/created-at 1650337946967, + :block/updated-at 1650337946967} + {:block/name "行为", + :block/created-at 1650331206123, + :block/updated-at 1650331206123} + {:block/name "补码", + :block/created-at 1649215186781, + :block/updated-at 1649215186781} + {:block/name "表示层", + :block/created-at 1650636324904, + :block/updated-at 1650636324904} + {:block/name "解码", + :block/created-at 1649215178848, + :block/updated-at 1649215178848} + {:block/name "解释", + :block/created-at 1650331201911, + :block/updated-at 1650331201911} + {:block/name "计算机发展历程", + :block/created-at 1649215196670, + :block/updated-at 1650076258486} + {:block/name "计算机基础理论", + :block/created-at 1649215189861, + :block/updated-at 1650076218431} + {:block/name "计算机组成", + :block/created-at 1649215196941, + :block/updated-at 1649215196941} + {:block/name "讲一下mq服务器的推拉模式,你在项目中是如何运用的", + :block/created-at 1657157575730, + :block/updated-at 1657157575730} + {:block/name "讲一下spring cloud 中的服务注册的机制和配置方法", + :block/created-at 1657157575862, + :block/updated-at 1657157575862} + {:block/name "讲一下浅克隆与深克隆", + :block/created-at 1657157575623, + :block/updated-at 1657157575623} + {:block/name "讲下springaop,项目中你是如何应用的", + :block/created-at 1657157575615, + :block/updated-at 1657157575615} + {:block/name "讲讲类的加载过程以及双亲委派机制", + :block/created-at 1657157575569, + :block/updated-at 1657157575569} + {:block/name "设置新生与老年代代参数", + :block/created-at 1657157575414, + :block/updated-at 1657157575414} + {:block/name "设置新生代与老年代优化参数", + :block/created-at 1657157575409, + :block/updated-at 1657157575409} + {:block/name "设计模式", + :block/created-at 1657519565742, + :block/updated-at 1657519706598} + {:block/name "设计模式中,工厂设计模式有啥用 项目中在哪些地方用过", + :block/created-at 1657157575563, + :block/updated-at 1657157575563} + {:block/name "访问修饰符", + :block/created-at 1649385046422, + :block/updated-at 1649407901827} + {:block/name "说一下 acid 是什么", + :block/created-at 1657157575476, + :block/updated-at 1657157575476} + {:block/name "说一下@requestmapping的作用", + :block/created-at 1657157575648, + :block/updated-at 1657157575648} + {:block/name "说一下jdbc在连接数据库的操作上几个步骤", + :block/created-at 1657157575464, + :block/updated-at 1657157575464} + {:block/name "说一下reddis怎么做集群的", + :block/created-at 1657157575757, + :block/updated-at 1657157575757} + {:block/name "说一下事务的隔离级别和事务的传播性质", + :block/created-at 1657157575469, + :block/updated-at 1657157575469} + {:block/name "说一下你熟悉的设计模式", + :block/created-at 1657157575581, + :block/updated-at 1657157575581} + {:block/name "说一下怎么用rabbitmq实现取消订单的用户积分减少的", + :block/created-at 1657157575739, + :block/updated-at 1657157575739} + {:block/name "说一下怎么防止超卖,sql怎么写", + :block/created-at 1657157575471, + :block/updated-at 1657157575471} + {:block/name "说一下熔断器,你怎么用的,代码怎么写的", + :block/created-at 1657157575871, + :block/updated-at 1657157575871} + {:block/name "说说nacos吧", + :block/created-at 1657157575949, + :block/updated-at 1657157575949} + {:block/name "说说你对java的gc回收机制的理解", + :block/created-at 1657157575431, + :block/updated-at 1657157575431} + {:block/name "说说你对线程的3个特性(原子,可见,有序)的理解", + :block/created-at 1657157575352, + :block/updated-at 1657157575352} + {:block/name "说说你常用的几个springboot注解", + :block/created-at 1657157575655, + :block/updated-at 1657157575655} + {:block/name "说说项目开发流程", + :block/created-at 1657157575855, + :block/updated-at 1657157575855} + {:block/name "请说一下seata的执行流程", + :block/created-at 1657157575946, + :block/updated-at 1657157575946} + {:block/name "请说下java的内存模型,也就是jmm", + :block/created-at 1657157575387, + :block/updated-at 1657157575387} + {:block/name "请说下jvm的运行时的内存结构", + :block/created-at 1657157575390, + :block/updated-at 1657157575390} + {:block/name "请说说rabbitmq的优缺点", + :block/created-at 1657157575718, + :block/updated-at 1657157575718} + {:block/name "请说说消息队列的工作模式有哪些", + :block/created-at 1657157575707, + :block/updated-at 1657157575707} + {:block/name "调试", + :block/created-at 1649381375280, + :block/updated-at 1650079906511} + {:block/name "谈谈bio,nio,aio的区别是什么,你都用过哪些io框架", + :block/created-at 1657157575600, + :block/updated-at 1657157575600} + {:block/name "谈谈mvc架构与mvvm架构的区别在哪里", + :block/created-at 1657157575832, + :block/updated-at 1657157575832} + {:block/name "谈谈你对spring bean的生命周期的理解", + :block/created-at 1657157575619, + :block/updated-at 1657157575619} + {:block/name "谈谈多线程并发", + :block/created-at 1657157575584, + :block/updated-at 1657157575584} + {:block/name "谈谈面向对象", + :block/created-at 1657157575583, + :block/updated-at 1657157575583} + {:block/name "负载均衡怎么实现", + :block/created-at 1657157575968, + :block/updated-at 1657157575968} + {:block/name "跨平台", + :block/created-at 1650331201913, + :block/updated-at 1650331201913} + {:block/name "转码", + :block/created-at 1649215178845, + :block/updated-at 1649215178845} + {:block/name "软硬件", + :block/created-at 1649215196948, + :block/updated-at 1649215196948} + {:block/name "运行异常", + :block/created-at 1650263211135, + :block/updated-at 1650263211135} + {:block/name "进制转换", + :block/created-at 1649215191832, + :block/updated-at 1649215191832} + {:block/name "进程与线程的区别", + :block/created-at 1657157575288, + :block/updated-at 1657157575288} + {:block/name "迭代器", + :block/created-at 1650335851717, + :block/updated-at 1650336047461} + {:block/name "迭代器模式", + :block/created-at 1650335879108, + :block/updated-at 1650335879108} + {:block/name "退出循环", + :block/created-at 1649215192561, + :block/updated-at 1649215192561} + {:block/name "选择排序", + :block/created-at 1649231003510, + :block/updated-at 1649231003510} + {:block/name "通讯协议", + :block/created-at 1650636328186, + :block/updated-at 1650636328186} + {:block/name "逻辑运算符", + :block/created-at 1649215192945, + :block/updated-at 1649215192945} + {:block/name "遇到bug,你是如何调试的", + :block/created-at 1657157575605, + :block/updated-at 1657157575605} + {:block/name "遍历set和list的通用方法", + :block/created-at 1657157575284, + :block/updated-at 1657157575284} + {:block/name "都有哪些堆的参数,可以配置", + :block/created-at 1657157575400, + :block/updated-at 1657157575400} + {:block/name "重写", + :block/created-at 1649215195567, + :block/updated-at 1650080176431} + {:block/name "重写和重载的区别在哪里", + :block/created-at 1657157575610, + :block/updated-at 1657157575610} + {:block/name "重定向和请求转发的区别是什么", + :block/created-at 1657157575683, + :block/updated-at 1657157575683} + {:block/name "银行系统,我给你168的数字,你应该给我多少张不同面额的人民币(口述如何实现)", + :block/created-at 1657157575272, + :block/updated-at 1657157575272} + {:block/name "链表", + :block/created-at 1650352878089, + :block/updated-at 1650352878089} + {:block/name "错误", + :block/created-at 1650331183914, + :block/updated-at 1650331183914} + {:block/name "长整型", + :block/created-at 1649215187857, + :block/updated-at 1649215187857} + {:block/name "队列", + :block/created-at 1657355430719, + :block/updated-at 1657355454822} + {:block/name "隐式转换", + :block/created-at 1649215192209, + :block/updated-at 1650078806887} + {:block/name "隐藏", + :block/created-at 1649406872653, + :block/updated-at 1649407122716} + {:block/name "集合", + :block/created-at 1650331179430, + :block/updated-at 1650331179430} + {:block/name "集合排序", + :block/created-at 1650337166202, + :block/updated-at 1650337166202} + {:block/name "集合的交并差", + :block/created-at 1650442624431, + :block/updated-at 1650444123272} + {:block/name "集合的分类,分别的特性是哪些", + :block/created-at 1657157575266, + :block/updated-at 1657157575266} + {:block/name "集群", + :block/created-at 1657157572489, + :block/updated-at 1657157572489} + {:block/name "静态代码块", + :block/created-at 1649820662225, + :block/updated-at 1649821000234} + {:block/name "静态多态", + :block/created-at 1649820624809, + :block/updated-at 1649820624809} + {:block/name "静态方法", + :block/created-at 1649046874845, + :block/updated-at 1649402739096} + {:block/name "非关系型数据库", + :block/created-at 1657157573088, + :block/updated-at 1657157573088} + {:block/name "面向对象", + :block/created-at 1650331188488, + :block/updated-at 1650331188488} + {:block/name "面向对象的定义", + :block/created-at 1649215195502, + :block/updated-at 1650079200182} + {:block/name "面向对象的特征", + :block/created-at 1649215195601, + :block/updated-at 1650080470333} + {:block/name "面向过程", + :block/created-at 1650331208988, + :block/updated-at 1650331208988} + {:block/name "页面加载很慢,有什么优化方案", + :block/created-at 1657157575682, + :block/updated-at 1657157575682} + {:block/name "项目中sql调优的场景有哪些,数据库调优如何做", + :block/created-at 1657157575434, + :block/updated-at 1657157575434} + {:block/name "项目中你们部署了多少台redis服务器,一般配置多少台,熟悉哨兵机制么", + :block/created-at 1657157575773, + :block/updated-at 1657157575773} + {:block/name "项目中有哪些设计是存在缺陷或者不合理的", + :block/created-at 1657157575977, + :block/updated-at 1657157575977} + {:block/name "项目中,关于鉴权你们是咋做的", + :block/created-at 1657157575844, + :block/updated-at 1657157575844} + {:block/name "项目部署没有 有没有经过压力测试 有没有经过渗透测试", + :block/created-at 1657157575954, + :block/updated-at 1657157575954} + {:block/name "驼峰命名法", + :block/created-at 1650331207814, + :block/updated-at 1650331207814} + {:block/name "高内聚", + :block/created-at 1649659951153, + :block/updated-at 1649660007868} + {:block/name "高级编程语言", + :block/created-at 1650331208985, + :block/updated-at 1650331208985} + {:block/name "魔法值", + :block/created-at 1650331201718, + :block/updated-at 1650331201718}] diff --git a/logseq-java/logseq/bak/logseq/pages-metadata/2022-07-18T02_55_17.968Z.edn b/logseq-java/logseq/bak/logseq/pages-metadata/2022-07-18T02_55_17.968Z.edn new file mode 100644 index 0000000..e09809a --- /dev/null +++ b/logseq-java/logseq/bak/logseq/pages-metadata/2022-07-18T02_55_17.968Z.edn @@ -0,0 +1,2824 @@ +[{:block/name "#{} 与 ${} 的区别", + :block/created-at 1657157575521, + :block/updated-at 1657157575521} + {:block/name "625e1ecf-25a9-4b64-8eab-042fd889a062", + :block/created-at 1650356920421, + :block/updated-at 1650356920421} + {:block/name "625e5ddf-aa2d-4567-8531-3ccc94628ef7", + :block/created-at 1650356975462, + :block/updated-at 1650356975462} + {:block/name "625fa874-b218-4044-ac16-b9de892cd9d2", + :block/created-at 1650439517817, + :block/updated-at 1650439517817} + {:block/name "625fe239-5548-4c66-ba66-f6fb1629b682", + :block/created-at 1650538810183, + :block/updated-at 1650538810183} + {:block/name "7大设计原则有哪些", + :block/created-at 1657157575549, + :block/updated-at 1657157575549} + {:block/name "@resource和@autowired的区别", + :block/created-at 1657157575624, + :block/updated-at 1657174764912} + {:block/name "[jdk", + :block/created-at 1650331207229, + :block/updated-at 1650331207229} + {:block/name "a", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "aba问题", + :block/created-at 1657260301766, + :block/updated-at 1657260301766} + {:block/name "abs", + :block/created-at 1649921407910, + :block/updated-at 1649921421829} + {:block/name "abstract", + :block/created-at 1649820627685, + :block/updated-at 1649820627685} + {:block/name "acid", + :block/created-at 1657260301815, + :block/updated-at 1657260301815} + {:block/name "add", + :block/created-at 1650331180462, + :block/updated-at 1650331180462} + {:block/name "addall", + :block/created-at 1650331180460, + :block/updated-at 1650331180460} + {:block/name "ajax怎么实现同步", + :block/created-at 1657157575674, + :block/updated-at 1657157575674} + {:block/name "apache", + :block/created-at 1657506094791, + :block/updated-at 1657506094791} + {:block/name "api", + :block/created-at 1649215178513, + :block/updated-at 1649904711721} + {:block/name "apppend", + :block/created-at 1649903790777, + :block/updated-at 1649903825473} + {:block/name "apr 11th, 2022", + :block/created-at 1649640912448, + :block/updated-at 1649676970820} + {:block/name "apr 12th, 2022", + :block/created-at 1649820616181, + :block/updated-at 1650074270128} + {:block/name "apr 13th, 2022", + :block/created-at 1649820618963, + :block/updated-at 1649847675738} + {:block/name "apr 14th, 2022", + :block/created-at 1649902256566, + :block/updated-at 1649945987130} + {:block/name "apr 15th, 2022", + :block/created-at 1650002649668, + :block/updated-at 1650010949968} + {:block/name "apr 16th, 2022", + :block/created-at 1650072826346, + :block/updated-at 1650089014547} + {:block/name "apr 17th, 2022", + :block/created-at 1650168842041, + :block/updated-at 1650168860312} + {:block/name "apr 18th, 2022", + :block/created-at 1650223242651, + :block/updated-at 1650263084206} + {:block/name "apr 19th, 2022", + :block/created-at 1650331174909, + :block/updated-at 1650370926105} + {:block/name "apr 20th, 2022", + :block/created-at 1650436211045, + :block/updated-at 1650458792346} + {:block/name "apr 21st, 2022", + :block/created-at 1650538807758, + :block/updated-at 1650539384945} + {:block/name "apr 22nd, 2022", + :block/created-at 1650608103235, + :block/updated-at 1650621414443} + {:block/name "apr 24th, 2022", + :block/created-at 1653189834622, + :block/updated-at 1653189834622} + {:block/name "apr 26th, 2022", + :block/created-at 1653189835132, + :block/updated-at 1653189835132} + {:block/name "apr 29th, 2022", + :block/created-at 1653189834791, + :block/updated-at 1653189834791} + {:block/name "apr 2nd, 2022", + :block/created-at 1649215177137, + :block/updated-at 1649215177137} + {:block/name "apr 4th, 2022", + :block/created-at 1649215177614, + :block/updated-at 1650080300255} + {:block/name "apr 5th, 2022", + :block/created-at 1649136689683, + :block/updated-at 1650080302016} + {:block/name "apr 6th, 2022", + :block/created-at 1649208205737, + :block/updated-at 1650079131663} + {:block/name "apr 7th, 2022", + :block/created-at 1649381376440, + :block/updated-at 1650079747001} + {:block/name "apr 8th, 2022", + :block/created-at 1649381365539, + :block/updated-at 1649411467229} + {:block/name "archive", + :block/created-at 1657260300397, + :block/updated-at 1657260300397} + {:block/name "arraycopy", + :block/created-at 1649917837922, + :block/updated-at 1649918067851} + {:block/name "arraylist", + :block/created-at 1650331179432, + :block/updated-at 1650348827846} + {:block/name "arraylist和linkedlist的区别", + :block/created-at 1657157575244, + :block/updated-at 1657157575244} + {:block/name "arraylist哪些操作效率较高", + :block/created-at 1657157575251, + :block/updated-at 1657157575251} + {:block/name "arrays", + :block/created-at 1649820616096, + :block/updated-at 1649908840194} + {:block/name "ascii", + :block/created-at 1649215178851, + :block/updated-at 1649215178851} + {:block/name "asicc", + :block/created-at 1650331210235, + :block/updated-at 1650331210235} + {:block/name "assert", + :block/created-at 1650331207765, + :block/updated-at 1650331207765} + {:block/name "at模式在运行过程中,如何进行2阶段处理的", + :block/created-at 1657157575941, + :block/updated-at 1657157575941} + {:block/name "b", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "beanfactory 和 applicationcontext的区别", + :block/created-at 1657157575638, + :block/updated-at 1657157575638} + {:block/name "bigdecimal", + :block/created-at 1649820616115, + :block/updated-at 1650080799980} + {:block/name "binarysearch", + :block/created-at 1649907973557, + :block/updated-at 1649908366000} + {:block/name "boolean", + :block/created-at 1650331182912, + :block/updated-at 1650331182912} + {:block/name "break", + :block/created-at 1650331207782, + :block/updated-at 1650331207782} + {:block/name "byte", + :block/created-at 1650331182938, + :block/updated-at 1650331182938} + {:block/name "c", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "calendar", + :block/created-at 1650010949968, + :block/updated-at 1650010949968} + {:block/name "canceled", + :block/created-at 1657158746425, + :block/updated-at 1657158746425} + {:block/name "cancelled", + :block/created-at 1657158746424, + :block/updated-at 1657158746424} + {:block/name "capacity", + :block/created-at 1649903884620, + :block/updated-at 1649903908726} + {:block/name "card", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "cas", + :block/created-at 1657260301761, + :block/updated-at 1657260301761} + {:block/name "case", + :block/created-at 1650331207780, + :block/updated-at 1650331207780} + {:block/name "catch", + :block/created-at 1650331184555, + :block/updated-at 1650331184555} + {:block/name "cd", + :block/created-at 1650636328680, + :block/updated-at 1650636328680} + {:block/name "cd命令", + :block/created-at 1649215179586, + :block/updated-at 1649215179586} + {:block/name "char", + :block/created-at 1649833778899, + :block/updated-at 1649833778899} + {:block/name "character", + :block/created-at 1650331182914, + :block/updated-at 1650331182914} + {:block/name "charat", + :block/created-at 1649835616900, + :block/updated-at 1649835657620} + {:block/name "chmod 改用户组的权限", + :block/created-at 1657157575815, + :block/updated-at 1657157575815} + {:block/name "chmod如何改用户组的权限", + :block/created-at 1657157575825, + :block/updated-at 1657157575825} + {:block/name "class", + :block/created-at 1650331201916, + :block/updated-at 1650331201916} + {:block/name "classcastexception", + :block/created-at 1649820623100, + :block/updated-at 1649820623100} + {:block/name "classpath", + :block/created-at 1649046900886, + :block/updated-at 1649046900886} + {:block/name "clear", + :block/created-at 1650335084176, + :block/updated-at 1650335084176} + {:block/name "cls", + :block/created-at 1650636328684, + :block/updated-at 1650636328684} + {:block/name "cluster", + :block/created-at 1657506244977, + :block/updated-at 1657506244977} + {:block/name "cmd", + :block/created-at 1650636328679, + :block/updated-at 1650636328679} + {:block/name "collection", + :block/created-at 1650331180761, + :block/updated-at 1650331180761} + {:block/name "collection 和 collections 有什么区别", + :block/created-at 1657157575278, + :block/updated-at 1657175108979} + {:block/name "collection 和 collections 的区别是啥", + :block/created-at 1657157575232, + :block/updated-at 1657175126785} + {:block/name "collections", + :block/created-at 1650337483294, + :block/updated-at 1650337483294} + {:block/name "collection集合和map体系集合的区别", + :block/created-at 1657157575219, + :block/updated-at 1657175028091} + {:block/name "comparable", + :block/created-at 1650338110003, + :block/updated-at 1650338110003} + {:block/name "compareto", + :block/created-at 1650338276027, + :block/updated-at 1650338276027} + {:block/name "concat", + :block/created-at 1649835693143, + :block/updated-at 1649835712994} + {:block/name "concurrenthashmap为什么是线程安全的,如何做到的", + :block/created-at 1657157575214, + :block/updated-at 1657157575214} + {:block/name "const", + :block/created-at 1650331207742, + :block/updated-at 1650331207742} + {:block/name "contains", + :block/created-at 1649835911558, + :block/updated-at 1649835938222} + {:block/name "contents", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "continue", + :block/created-at 1650331207780, + :block/updated-at 1650331207780} + {:block/name "copyof", + :block/created-at 1649908412989, + :block/updated-at 1649908629426} + {:block/name "currenthashmap的在jdk1.7和1.8期间分别的特征", + :block/created-at 1657157575281, + :block/updated-at 1657157575281} + {:block/name "currenttimemillis", + :block/created-at 1649916949834, + :block/updated-at 1649917211744} + {:block/name "c语言", + :block/created-at 1650331202482, + :block/updated-at 1650331202482} + {:block/name "date", + :block/created-at 1650007668146, + :block/updated-at 1650011002661} + {:block/name "dcl", + :block/created-at 1653189837403, + :block/updated-at 1653189837403} + {:block/name "ddl", + :block/created-at 1653189837402, + :block/updated-at 1653189837402} + {:block/name "debug", + :block/created-at 1650331209846, + :block/updated-at 1650331209846} + {:block/name "default", + :block/created-at 1649820628349, + :block/updated-at 1649820628349} + {:block/name "delete", + :block/created-at 1649904577387, + :block/updated-at 1649904591211} + {:block/name "dir", + :block/created-at 1650636328682, + :block/updated-at 1650636328682} + {:block/name "dml", + :block/created-at 1653189837403, + :block/updated-at 1653189837403} + {:block/name "do", + :block/created-at 1650331207777, + :block/updated-at 1650331207777} + {:block/name "do while 循环", + :block/created-at 1649215179219, + :block/updated-at 1649663083940} + {:block/name "docker", + :block/created-at 1657157572523, + :block/updated-at 1657157572523} + {:block/name "doing", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "done", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "dos", + :block/created-at 1649215179619, + :block/updated-at 1649215179619} + {:block/name "dos命令", + :block/created-at 1649215189875, + :block/updated-at 1650076504661} + {:block/name "double", + :block/created-at 1650331182916, + :block/updated-at 1650331182916} + {:block/name "dql", + :block/created-at 1653189837405, + :block/updated-at 1653189837405} + {:block/name "eclipse", + :block/created-at 1649215180218, + :block/updated-at 1649215180218} + {:block/name "elasticsearch", + :block/created-at 1657505788966, + :block/updated-at 1657521231447} + {:block/name "elasticsearch分页", + :block/created-at 1657605831432, + :block/updated-at 1657605831432} + {:block/name "elasticsearch条件查询", + :block/created-at 1657605814458, + :block/updated-at 1657605814458} + {:block/name "else", + :block/created-at 1650331207775, + :block/updated-at 1650331207775} + {:block/name "endwith", + :block/created-at 1649836221975, + :block/updated-at 1649836247635} + {:block/name "entryset", + :block/created-at 1650436841283, + :block/updated-at 1650436841283} + {:block/name "equals", + :block/created-at 1649908827534, + :block/updated-at 1649908893803} + {:block/name "equalsignorecase", + :block/created-at 1649836127664, + :block/updated-at 1649836146217} + {:block/name "es实现全文检索的原理是什么", + :block/created-at 1657157575806, + :block/updated-at 1657157575806} + {:block/name "es怎么保持和数据库的一致性", + :block/created-at 1657157575801, + :block/updated-at 1657157575801} + {:block/name "es怎么配权重 可以做数据库吗", + :block/created-at 1657157575804, + :block/updated-at 1657157575804} + {:block/name "es查询一个张三,李四。张三名字可能会重复,要按照张三的生日去进行排序,这个es语句怎么写", + :block/created-at 1657157575809, + :block/updated-at 1657157575809} + {:block/name "eureka关闭之后,其他的微服务之间还能调用么", + :block/created-at 1657157575915, + :block/updated-at 1657157575915} + {:block/name "eureka如何搭建,如何才能规避因为网络原因导致客户端大面积下线的情况", + :block/created-at 1657157575905, + :block/updated-at 1657157575905} + {:block/name "eureka高可用怎么配置", + :block/created-at 1657157575908, + :block/updated-at 1657157575908} + {:block/name "exception", + :block/created-at 1650331184795, + :block/updated-at 1650331184795} + {:block/name "exit", + :block/created-at 1649215179615, + :block/updated-at 1649916724459} + {:block/name "extends", + :block/created-at 1650331207798, + :block/updated-at 1650331207798} + {:block/name "false", + :block/created-at 1650331207809, + :block/updated-at 1650331207809} + {:block/name "favorites", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "feign远程调用的时候,如何确保feign接口的参数和controller层方法参数一致", + :block/created-at 1657157575891, + :block/updated-at 1657157575891} + {:block/name "feishu+logseq", + :block/created-at 1657157736107, + :block/updated-at 1657157736107} + {:block/name "fifo", + :block/created-at 1657355454820, + :block/updated-at 1657355466851} + {:block/name "file", + :block/created-at 1650446851612, + :block/updated-at 1650446871486} + {:block/name "fileinputstream", + :block/created-at 1650636329173, + :block/updated-at 1650636329173} + {:block/name "fileoutputstream", + :block/created-at 1650636329176, + :block/updated-at 1650636329176} + {:block/name "filereader", + :block/created-at 1650636327436, + :block/updated-at 1650636327436} + {:block/name "filewriter", + :block/created-at 1650636327437, + :block/updated-at 1650636327437} + {:block/name "final", + :block/created-at 1649820616029, + :block/updated-at 1650080286912} + {:block/name "final 在 java 中有什么作用", + :block/created-at 1657157575580, + :block/updated-at 1657157575580} + {:block/name "finalize", + :block/created-at 1650331203492, + :block/updated-at 1650331203492} + {:block/name "finally", + :block/created-at 1650331184801, + :block/updated-at 1650331184801} + {:block/name "firewall", + :block/created-at 1657157571748, + :block/updated-at 1657157571748} + {:block/name "float", + :block/created-at 1650331182923, + :block/updated-at 1650331182923} + {:block/name "for", + :block/created-at 1650331207774, + :block/updated-at 1650331207774} + {:block/name "foreach", + :block/created-at 1650436600460, + :block/updated-at 1650436600460} + {:block/name "forward和redirect的区别", + :block/created-at 1657157575647, + :block/updated-at 1657157575647} + {:block/name "for循环", + :block/created-at 1649215180627, + :block/updated-at 1649215180627} + {:block/name "gc", + :block/created-at 1649916808383, + :block/updated-at 1649916884486} + {:block/name "get", + :block/created-at 1650331180485, + :block/updated-at 1650331180485} + {:block/name "getbytes", + :block/created-at 1649836292118, + :block/updated-at 1649836382319} + {:block/name "getordefault", + :block/created-at 1650436211926, + :block/updated-at 1650436211926} + {:block/name "getproperties", + :block/created-at 1649918250765, + :block/updated-at 1649918291655} + {:block/name "getproperty", + :block/created-at 1650636324585, + :block/updated-at 1650636324585} + {:block/name "getter", + :block/created-at 1649215195546, + :block/updated-at 1649215195546} + {:block/name "getter与setter", + :block/created-at 1649215195544, + :block/updated-at 1649410098646} + {:block/name "git回退上个版本,用什么命令 切换分支用哪个命令", + :block/created-at 1657157576002, + :block/updated-at 1657157576002} + {:block/name "gof32", + :block/created-at 1657519570576, + :block/updated-at 1657519570576} + {:block/name "goto", + :block/created-at 1650331207743, + :block/updated-at 1650331207743} + {:block/name "hash", + :block/created-at 1650360029789, + :block/updated-at 1650360029789} + {:block/name "hashcode", + :block/created-at 1650360468015, + :block/updated-at 1650360468015} + {:block/name "hashmap", + :block/created-at 1650331188284, + :block/updated-at 1650437500583} + {:block/name "hashmap 什么情况下会产生死锁的问题如何解决", + :block/created-at 1657157575238, + :block/updated-at 1657157575238} + {:block/name "hashmap 和 hashtable 有什么区别", + :block/created-at 1657157575258, + :block/updated-at 1657157575258} + {:block/name "hashmap为什么要重写hashcode", + :block/created-at 1657157575253, + :block/updated-at 1657157575253} + {:block/name "hashmap和concurrenthashmap的区别", + :block/created-at 1657157575205, + :block/updated-at 1657157575205} + {:block/name "hashmap在jdk1.7和jdk1.8的区别", + :block/created-at 1657157575221, + :block/updated-at 1657157575221} + {:block/name "hashmap在什么情况下单链表需要转为红黑树", + :block/created-at 1657157575213, + :block/updated-at 1657157575213} + {:block/name "hashmap的put方法的执行过程", + :block/created-at 1657157575263, + :block/updated-at 1657157575263} + {:block/name "hashmap的底层原理是什么,如何扩容,并解决hash碰撞的", + :block/created-at 1657157575211, + :block/updated-at 1657157575211} + {:block/name "hashmap的底层是如何解决hash碰撞的", + :block/created-at 1657157575275, + :block/updated-at 1657157575275} + {:block/name "hashset", + :block/created-at 1650331188266, + :block/updated-at 1650360468020} + {:block/name "hashset的去重原理", + :block/created-at 1657157575223, + :block/updated-at 1657157575223} + {:block/name "hashtable", + :block/created-at 1650331188289, + :block/updated-at 1650441150118} + {:block/name "helloworld", + :block/created-at 1649215184171, + :block/updated-at 1649215184171} + {:block/name "helloworld详解", + :block/created-at 1649215181043, + :block/updated-at 1650080658895} + {:block/name "html", + :block/created-at 1653533260514, + :block/updated-at 1653533260514} + {:block/name "http", + :block/created-at 1650636328185, + :block/updated-at 1650636328185} + {:block/name "https", + :block/created-at 1650636328187, + :block/updated-at 1650636328187} + {:block/name "https 通讯协议是如何实现的 它的加密方式是什么", + :block/created-at 1657157575671, + :block/updated-at 1657157575671} + {:block/name "http协议中get与post提交方法的区别在哪里", + :block/created-at 1657157575697, + :block/updated-at 1657157575697} + {:block/name "http通讯协议分为几个部分 请求协议的组成", + :block/created-at 1657157575677, + :block/updated-at 1657157575677} + {:block/name "id", + :block/created-at 1653533277502, + :block/updated-at 1653533277502} + {:block/name "ide", + :block/created-at 1649215181722, + :block/updated-at 1649215181722} + {:block/name "idea", + :block/created-at 1649215181400, + :block/updated-at 1649215181400} + {:block/name "ide集成开发环境", + :block/created-at 1649215181741, + :block/updated-at 1650077056039} + {:block/name "ieda", + :block/created-at 1649899367370, + :block/updated-at 1649899367370} + {:block/name "if", + :block/created-at 1650331207773, + :block/updated-at 1650331207773} + {:block/name "if判断", + :block/created-at 1649215182055, + :block/updated-at 1649215182055} + {:block/name "implements", + :block/created-at 1649820628343, + :block/updated-at 1649820628343} + {:block/name "import", + :block/created-at 1650331207758, + :block/updated-at 1650331207758} + {:block/name "in 与 exits 的区别是什么", + :block/created-at 1657157575513, + :block/updated-at 1657157575513} + {:block/name "in-progress", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "indexof", + :block/created-at 1649835497490, + :block/updated-at 1649835538531} + {:block/name "inetaddress", + :block/created-at 1650608103135, + :block/updated-at 1650608103135} + {:block/name "innodb", + :block/created-at 1657260300388, + :block/updated-at 1657260300388} + {:block/name "innodb的行级锁什么情况下会使用", + :block/created-at 1657157575444, + :block/updated-at 1657157575444} + {:block/name "input", + :block/created-at 1650445980901, + :block/updated-at 1650445980901} + {:block/name "inputstream", + :block/created-at 1650446813903, + :block/updated-at 1650446813903} + {:block/name "insert", + :block/created-at 1649903806330, + :block/updated-at 1649903868046} + {:block/name "instanceof", + :block/created-at 1649820619771, + :block/updated-at 1649820619771} + {:block/name "int", + :block/created-at 1650331180468, + :block/updated-at 1650331180468} + {:block/name "integer", + :block/created-at 1650331180465, + :block/updated-at 1650331180465} + {:block/name "interator", + :block/created-at 1650336046007, + :block/updated-at 1650336046007} + {:block/name "interface", + :block/created-at 1649820628334, + :block/updated-at 1649820628334} + {:block/name "intern", + :block/created-at 1649839118741, + :block/updated-at 1649839223715} + {:block/name "ioc", + :block/created-at 1655521624374, + :block/updated-at 1655521624374} + {:block/name "io流", + :block/created-at 1650445947413, + :block/updated-at 1650446894652} + {:block/name "io流的分类有哪些", + :block/created-at 1657157575597, + :block/updated-at 1657157575597} + {:block/name "ip", + :block/created-at 1650636323812, + :block/updated-at 1650636323812} + {:block/name "ipconfig", + :block/created-at 1649215179610, + :block/updated-at 1649215179610} + {:block/name "isempty", + :block/created-at 1649837951779, + :block/updated-at 1649838007283} + {:block/name "iterable", + :block/created-at 1650336032868, + :block/updated-at 1650336032868} + {:block/name "jar", + :block/created-at 1649046906538, + :block/updated-at 1649046906538} + {:block/name "java ee", + :block/created-at 1650331202476, + :block/updated-at 1650331202476} + {:block/name "java me", + :block/created-at 1650331202478, + :block/updated-at 1650331202478} + {:block/name "java se", + :block/created-at 1650331202479, + :block/updated-at 1650331202479} + {:block/name "java_home", + :block/created-at 1650331203282, + :block/updated-at 1650331203282} + {:block/name "javabean", + :block/created-at 1649647591986, + :block/updated-at 1649647591986} + {:block/name "javabean规范", + :block/created-at 1649215195533, + :block/updated-at 1649647838288} + {:block/name "javascript", + :block/created-at 1653196611287, + :block/updated-at 1653196611287} + {:block/name "java中异常的分类,分别说说都哪些具体的异常", + :block/created-at 1657157575603, + :block/updated-at 1657157575603} + {:block/name "java发展历程", + :block/created-at 1649215183072, + :block/updated-at 1650252383200} + {:block/name "java的反射,在哪些地方有过应用", + :block/created-at 1657157575586, + :block/updated-at 1657157575586} + {:block/name "java程序注释", + :block/created-at 1649215181735, + :block/updated-at 1650078753268} + {:block/name "java跨平台原理", + :block/created-at 1649215183676, + :block/updated-at 1649215183676} + {:block/name "java面试", + :block/created-at 1649215183909, + :block/updated-at 1650621154779} + {:block/name "jdbc", + :block/created-at 1653189834789, + :block/updated-at 1653189834789} + {:block/name "jdbc如何提升读取数据的性能", + :block/created-at 1657157575481, + :block/updated-at 1657157575481} + {:block/name "jdk", + :block/created-at 1650331202498, + :block/updated-at 1650331202498} + {:block/name "jdk1", + :block/created-at 1650420404818, + :block/updated-at 1650420404818} + {:block/name "jdk1.8 针对synchronized,都做过哪些优化", + :block/created-at 1657157575385, + :block/updated-at 1657157575385} + {:block/name "jdk1.8日期api", + :block/created-at 1650245515564, + :block/updated-at 1650252002875} + {:block/name "jdk1.8的新特性,你都用过哪些", + :block/created-at 1657157575570, + :block/updated-at 1657157575570} + {:block/name "jdk1/8日期api", + :block/created-at 1650420404816, + :block/updated-at 1650420404816} + {:block/name "jdk8", + :block/created-at 1650331203276, + :block/updated-at 1650331203276} + {:block/name "jdk中有哪些队列", + :block/created-at 1657157575254, + :block/updated-at 1657157575254} + {:block/name "jdk环境搭建", + :block/created-at 1649215184182, + :block/updated-at 1650076882949} + {:block/name "jdk,jre,jvm的区别", + :block/created-at 1657157575609, + :block/updated-at 1657157575609} + {:block/name "jit编译器", + :block/created-at 1649215183674, + :block/updated-at 1649215183674} + {:block/name "jquery", + :block/created-at 1653533260326, + :block/updated-at 1653533260326} + {:block/name "jre", + :block/created-at 1650331202501, + :block/updated-at 1650331202501} + {:block/name "json", + :block/created-at 1657765252670, + :block/updated-at 1657765252670} + {:block/name "json格式长什么样 那么jsonarray呢", + :block/created-at 1657157575684, + :block/updated-at 1657157575684} + {:block/name "json的解析框架,你用过什么", + :block/created-at 1657157575679, + :block/updated-at 1657157575679} + {:block/name "jul 11th, 2022", + :block/created-at 1657505750996, + :block/updated-at 1657527583379} + {:block/name "jul 12th, 2022", + :block/created-at 1657605770644, + :block/updated-at 1657606387138} + {:block/name "jul 13th, 2022", + :block/created-at 1657765252229, + :block/updated-at 1657765252229} + {:block/name "jul 14th, 2022", + :block/created-at 1657765252003, + :block/updated-at 1657783558132} + {:block/name "jul 5th, 2022", + :block/created-at 1657157570502, + :block/updated-at 1657157570502} + {:block/name "jul 6th, 2022", + :block/created-at 1657157571024, + :block/updated-at 1657157571024} + {:block/name "jul 7th, 2022", + :block/created-at 1657157756946, + :block/updated-at 1657175137574} + {:block/name "jul 8th, 2022", + :block/created-at 1657260300914, + :block/updated-at 1657260300914} + {:block/name "jul 9th, 2022", + :block/created-at 1657347478674, + :block/updated-at 1657355378817} + {:block/name "jun 18th, 2022", + :block/created-at 1655521479175, + :block/updated-at 1655521671791} + {:block/name "jvm", + :block/created-at 1649215183650, + :block/updated-at 1649215183650} + {:block/name "jvm参数调优的总结", + :block/created-at 1657157575424, + :block/updated-at 1657157575424} + {:block/name "jvm虚拟机的原理", + :block/created-at 1657157575393, + :block/updated-at 1657157575393} + {:block/name "key-value", + :block/created-at 1650436212227, + :block/updated-at 1650436212227} + {:block/name "keyset", + :block/created-at 1650436211939, + :block/updated-at 1650436211939} + {:block/name "kibana", + :block/created-at 1657520916137, + :block/updated-at 1657521121553} + {:block/name "lastindexof", + :block/created-at 1649838687566, + :block/updated-at 1649838774931} + {:block/name "later", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "length", + :block/created-at 1649903970896, + :block/updated-at 1649904234147} + {:block/name "like 后 加% 和 加_ 的区别在哪里", + :block/created-at 1657157575466, + :block/updated-at 1657157575466} + {:block/name "linkedhashmap", + :block/created-at 1650331188291, + :block/updated-at 1650441023708} + {:block/name "linkedhashset", + :block/created-at 1650331188275, + :block/updated-at 1650331188275} + {:block/name "linkedlist", + :block/created-at 1650331188258, + :block/updated-at 1650353801524} + {:block/name "linux", + :block/created-at 1650636328185, + :block/updated-at 1657077033275} + {:block/name "linux如何查看资源的使用情况", + :block/created-at 1657157575823, + :block/updated-at 1657157575823} + {:block/name "list", + :block/created-at 1650331180488, + :block/updated-at 1650331180488} + {:block/name "list、set、map区别", + :block/created-at 1657157575261, + :block/updated-at 1657157575261} + {:block/name "localdate", + :block/created-at 1650331181445, + :block/updated-at 1650331181445} + {:block/name "localdatetime", + :block/created-at 1650331181452, + :block/updated-at 1650331181452} + {:block/name "localtime", + :block/created-at 1650331181450, + :block/updated-at 1650331181450} + {:block/name "long", + :block/created-at 1650331182927, + :block/updated-at 1650331182927} + {:block/name "lucene", + :block/created-at 1657505769974, + :block/updated-at 1657505769974} + {:block/name "map", + :block/created-at 1650331188282, + :block/updated-at 1650331188282} + {:block/name "mar 28th, 2022", + :block/created-at 1649215173281, + :block/updated-at 1650073748268} + {:block/name "mar 29th, 2022", + :block/created-at 1649215175590, + :block/updated-at 1650073682635} + {:block/name "mar 30th, 2022", + :block/created-at 1649215176050, + :block/updated-at 1650073680281} + {:block/name "mar 31st, 2022", + :block/created-at 1649215176519, + :block/updated-at 1650073677109} + {:block/name "math", + :block/created-at 1649820616108, + :block/updated-at 1649922233529} + {:block/name "max", + :block/created-at 1649921590842, + :block/updated-at 1649921626166} + {:block/name "may 10th, 2022", + :block/created-at 1653189835750, + :block/updated-at 1653189835750} + {:block/name "may 11th, 2022", + :block/created-at 1653189836037, + :block/updated-at 1653189836037} + {:block/name "may 12th, 2022", + :block/created-at 1653189836189, + :block/updated-at 1653189836189} + {:block/name "may 21st, 2022", + :block/created-at 1653533260545, + :block/updated-at 1653533260545} + {:block/name "may 22nd, 2022", + :block/created-at 1653189833879, + :block/updated-at 1653196611289} + {:block/name "may 23rd, 2022", + :block/created-at 1653533260331, + :block/updated-at 1653533260331} + {:block/name "memory", + :block/created-at 1657260300394, + :block/updated-at 1657260300394} + {:block/name "min", + :block/created-at 1649921626164, + :block/updated-at 1649921675028} + {:block/name "mq是什么 你用过哪个 怎么配置的", + :block/created-at 1657157575742, + :block/updated-at 1657157575742} + {:block/name "mq是如何保证消息不丢失的", + :block/created-at 1657157575710, + :block/updated-at 1657157575710} + {:block/name "mq的工作原理", + :block/created-at 1657157575712, + :block/updated-at 1657157575712} + {:block/name "mybatis", + :block/created-at 1653189836188, + :block/updated-at 1653189836188} + {:block/name "mybatis和mybatisplus 你在项目中,哪个用的较多", + :block/created-at 1657157575925, + :block/updated-at 1657157575925} + {:block/name "mybatis如何防止sql注入", + :block/created-at 1657157575535, + :block/updated-at 1657157575535} + {:block/name "mybatis的一二级缓存是什么样的", + :block/created-at 1657157575529, + :block/updated-at 1657157575529} + {:block/name "mybatis的实现原理", + :block/created-at 1657157575523, + :block/updated-at 1657157575523} + {:block/name "mybatis级联的配置", + :block/created-at 1657157575526, + :block/updated-at 1657157575526} + {:block/name "mybits的缺点有哪些", + :block/created-at 1657157575533, + :block/updated-at 1657157575533} + {:block/name "myisam", + :block/created-at 1657260300391, + :block/updated-at 1657260300391} + {:block/name "mysql", + :block/created-at 1653189835123, + :block/updated-at 1653189835123} + {:block/name "mysql中存储引擎innodb,myisam的区别在哪里", + :block/created-at 1657157575514, + :block/updated-at 1657157575514} + {:block/name "mysql中锁机制", + :block/created-at 1657157575516, + :block/updated-at 1657157575516} + {:block/name "mysql数据库的my.ini文件中可以配置什么参数", + :block/created-at 1657157575518, + :block/updated-at 1657157575518} + {:block/name "mysql数据库索引是用什么数据结构存储的", + :block/created-at 1657157575455, + :block/updated-at 1657157575455} + {:block/name "mysql的ini文件,都有些参数可以配置", + :block/created-at 1657157575923, + :block/updated-at 1657157575923} + {:block/name "nacos 与 eureka的区别", + :block/created-at 1657157575847, + :block/updated-at 1657157575847} + {:block/name "nanatime", + :block/created-at 1649917202891, + :block/updated-at 1649917272720} + {:block/name "native", + :block/created-at 1650331207792, + :block/updated-at 1650331207792} + {:block/name "new", + :block/created-at 1649403626648, + :block/updated-at 1649403626648} + {:block/name "nextint", + :block/created-at 1649922298235, + :block/updated-at 1649922333932} + {:block/name "nginx反向代理原理", + :block/created-at 1657157575820, + :block/updated-at 1657157575820} + {:block/name "nginx服务器", + :block/created-at 1657157570492, + :block/updated-at 1657157570492} + {:block/name "nginx的负载均衡策略", + :block/created-at 1657157575822, + :block/updated-at 1657157575822} + {:block/name "nginx都配置过什么 如何做负载配置,都哪些负载算法", + :block/created-at 1657157575917, + :block/updated-at 1657157575917} + {:block/name "ngnix代理配置是在哪个文件", + :block/created-at 1657157575919, + :block/updated-at 1657157575919} + {:block/name "node", + :block/created-at 1650352942083, + :block/updated-at 1650352942083} + {:block/name "node.js", + :block/created-at 1657783793653, + :block/updated-at 1657784132571} + {:block/name "now", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "npm", + :block/created-at 1657784132448, + :block/updated-at 1657784379890} + {:block/name "null", + :block/created-at 1649838007282, + :block/updated-at 1649838007282} + {:block/name "object", + :block/created-at 1649821953338, + :block/updated-at 1650080726649} + {:block/name "objectinputstream", + :block/created-at 1650636327636, + :block/updated-at 1650636327636} + {:block/name "objectoutputstream", + :block/created-at 1650636327631, + :block/updated-at 1650636327631} + {:block/name "object类常用api", + :block/created-at 1649820616092, + :block/updated-at 1649832104628} + {:block/name "object类的常见方法都有哪些", + :block/created-at 1657157575602, + :block/updated-at 1657157575602} + {:block/name "openfeign的工作原理,是如何调用服务的", + :block/created-at 1657157575885, + :block/updated-at 1657157575885} + {:block/name "osi", + :block/created-at 1650636324913, + :block/updated-at 1650636324913} + {:block/name "osi七层模型,大概了解么", + :block/created-at 1657157575547, + :block/updated-at 1657157575547} + {:block/name "output", + :block/created-at 1650446894651, + :block/updated-at 1650446894651} + {:block/name "outputstream", + :block/created-at 1650446827925, + :block/updated-at 1650446827925} + {:block/name "package", + :block/created-at 1650331207757, + :block/updated-at 1650331207757} + {:block/name "pascal命名法", + :block/created-at 1650339181951, + :block/updated-at 1650339181951} + {:block/name "path", + :block/created-at 1650331203283, + :block/updated-at 1650331203283} + {:block/name "ping", + :block/created-at 1650636328184, + :block/updated-at 1650636328184} + {:block/name "pow", + :block/created-at 1649921481890, + :block/updated-at 1649921494395} + {:block/name "printstream", + :block/created-at 1650636327005, + :block/updated-at 1650636327005} + {:block/name "printwrite", + :block/created-at 1650636327001, + :block/updated-at 1650636327001} + {:block/name "private", + :block/created-at 1649405605908, + :block/updated-at 1649405605908} + {:block/name "properties", + :block/created-at 1650538806180, + :block/updated-at 1650538806180} + {:block/name "protected", + :block/created-at 1649405676627, + :block/updated-at 1649405676627} + {:block/name "public", + :block/created-at 1649405555717, + :block/updated-at 1649405555717} + {:block/name "put", + :block/created-at 1650436211914, + :block/updated-at 1650436211914} + {:block/name "putall", + :block/created-at 1650436211920, + :block/updated-at 1650436211920} + {:block/name "quene", + :block/created-at 1650331188279, + :block/updated-at 1650331188279} + {:block/name "rabbitmq", + :block/created-at 1657355562900, + :block/updated-at 1657355562900} + {:block/name "rabbitmq怎么实现订单延迟支付", + :block/created-at 1657157575737, + :block/updated-at 1657157575737} + {:block/name "random", + :block/created-at 1649820616112, + :block/updated-at 1649924607589} + {:block/name "random(long seed)", + :block/created-at 1649924607584, + :block/updated-at 1649924851662} + {:block/name "reader", + :block/created-at 1650636327434, + :block/updated-at 1650636327434} + {:block/name "redis", + :block/created-at 1657157570992, + :block/updated-at 1657244216739} + {:block/name "redis 有哪些功能", + :block/created-at 1657157575762, + :block/updated-at 1657157575762} + {:block/name "redis 都有哪些使用场景", + :block/created-at 1657157575760, + :block/updated-at 1657157575760} + {:block/name "redis主从复制", + :block/created-at 1657260300907, + :block/updated-at 1657260300907} + {:block/name "redis哨兵模式", + :block/created-at 1657260300909, + :block/updated-at 1657260300909} + {:block/name "redis如何保证与数据库的数据一致性问题", + :block/created-at 1657157575786, + :block/updated-at 1657157575786} + {:block/name "redis如何配置rdb", + :block/created-at 1657157575798, + :block/updated-at 1657157575798} + {:block/name "redis持久化机制中aof与rdb区别在哪里", + :block/created-at 1657157575795, + :block/updated-at 1657157575795} + {:block/name "redis支持的数据类型", + :block/created-at 1657157575747, + :block/updated-at 1657157575747} + {:block/name "redis是原子性的吗 是线程安全的吗 多线程还是单线程", + :block/created-at 1657157575768, + :block/updated-at 1657157575768} + {:block/name "redis的5种数据类型,分别的使用场景", + :block/created-at 1657157575790, + :block/updated-at 1657157575790} + {:block/name "redis的分布式锁用过没 描述一下", + :block/created-at 1657157575781, + :block/updated-at 1657157575781} + {:block/name "redis的单线程原理是什么 如果有10个用户同时操作redis,那么redis是否按照先后顺序来处理情况", + :block/created-at 1657157575779, + :block/updated-at 1657157575779} + {:block/name "redis的持久化方式,以及各自的区别,项目中用的哪一种,怎么配置的", + :block/created-at 1657157575749, + :block/updated-at 1657157575749} + {:block/name "redis的特性是哪些,可以用来干嘛", + :block/created-at 1657157575770, + :block/updated-at 1657157575770} + {:block/name "redis设置永不过期也可以解决缓存击穿,为什么还要用分布式锁", + :block/created-at 1657157575784, + :block/updated-at 1657157575784} + {:block/name "redis集群知道么,如何实现", + :block/created-at 1657157575792, + :block/updated-at 1657157575792} + {:block/name "remove", + :block/created-at 1650333533358, + :block/updated-at 1650333533358} + {:block/name "replace", + :block/created-at 1649838588236, + :block/updated-at 1649838619697} + {:block/name "resttemplate", + :block/created-at 1657765252874, + :block/updated-at 1657765252874} + {:block/name "return", + :block/created-at 1650331184814, + :block/updated-at 1650331184814} + {:block/name "reverse", + :block/created-at 1649904667332, + :block/updated-at 1649904675927} + {:block/name "round", + :block/created-at 1649921704008, + :block/updated-at 1650080814216} + {:block/name "runtime", + :block/created-at 1649918504012, + :block/updated-at 1649918813803} + {:block/name "runtimeexception", + :block/created-at 1650331187320, + :block/updated-at 1650331187320} + {:block/name "seata是三大核心组件是哪些,他们分别的作用是什么", + :block/created-at 1657157575936, + :block/updated-at 1657157575936} + {:block/name "seata的at模式与tcc模式区别在哪里", + :block/created-at 1657157575938, + :block/updated-at 1657157575938} + {:block/name + "select count(*) ,select count(1),select count(字段) 说一下区别", + :block/created-at 1657157575483, + :block/updated-at 1657157575483} + {:block/name "serialization", + :block/created-at 1650636327633, + :block/updated-at 1650636327633} + {:block/name "servlet的生命周期", + :block/created-at 1657157575686, + :block/updated-at 1657157575686} + {:block/name "set", + :block/created-at 1650331188263, + :block/updated-at 1650356367381} + {:block/name "setcharat", + :block/created-at 1649904278600, + :block/updated-at 1649904278600} + {:block/name "setproperty", + :block/created-at 1650636324584, + :block/updated-at 1650636324584} + {:block/name "setter", + :block/created-at 1649409509939, + :block/updated-at 1649409509939} + {:block/name "shiro的执行流程", + :block/created-at 1657157575704, + :block/updated-at 1657157575704} + {:block/name "short", + :block/created-at 1650331182933, + :block/updated-at 1650331182933} + {:block/name "size", + :block/created-at 1650331180482, + :block/updated-at 1650331180482} + {:block/name "sleep()和wait() 的区别", + :block/created-at 1657157575358, + :block/updated-at 1657157575358} + {:block/name "socket", + :block/created-at 1650608105322, + :block/updated-at 1650617759892} + {:block/name "solr", + :block/created-at 1657505775782, + :block/updated-at 1657505775782} + {:block/name "sort", + :block/created-at 1649907777969, + :block/updated-at 1649908002154} + {:block/name "split", + :block/created-at 1649838172427, + :block/updated-at 1649838310658} + {:block/name "spring", + :block/created-at 1655521605637, + :block/updated-at 1655521624377} + {:block/name "spring data", + :block/created-at 1657157742489, + :block/updated-at 1657157742489} + {:block/name "spring data jpa", + :block/created-at 1657527583378, + :block/updated-at 1657527595831} + {:block/name "spring data redis", + :block/created-at 1657157742306, + :block/updated-at 1657157742306} + {:block/name "spring 事务实现方式有哪些", + :block/created-at 1657157575635, + :block/updated-at 1657157575635} + {:block/name "spring,springmvc,springboot的区别是啥", + :block/created-at 1657157575660, + :block/updated-at 1657157575660} + {:block/name "springboot", + :block/created-at 1657765253053, + :block/updated-at 1657765253053} + {:block/name "springboot主要的配置类有哪些", + :block/created-at 1657157575658, + :block/updated-at 1657157575658} + {:block/name + "springboot在yaml中配置了开发环境配置文件和测试配置文件,有几种方式在不同环境去使用不同的配置文件", + :block/created-at 1657157575664, + :block/updated-at 1657157575664} + {:block/name "springboot如何实现自动配置 原理是什么", + :block/created-at 1657157575653, + :block/updated-at 1657157575653} + {:block/name "springboot的web模块自动集成了tomcat,如何剔除", + :block/created-at 1657157575654, + :block/updated-at 1657157575654} + {:block/name "springboot的优点在哪里", + :block/created-at 1657157575665, + :block/updated-at 1657157575665} + {:block/name "springcloud体系的几大组件", + :block/created-at 1657157575860, + :block/updated-at 1657157575860} + {:block/name "springmvc", + :block/created-at 1657765253081, + :block/updated-at 1657765253081} + {:block/name "springmvc 过滤器 拦截器的使用场景和区别是什么", + :block/created-at 1657157575651, + :block/updated-at 1657157575651} + {:block/name "springmvc框架的工作流程", + :block/created-at 1657157575646, + :block/updated-at 1657157575646} + {:block/name + "spring中bean基本都是单例的,如果一个方法要对bean中的属性值进行修改,这个方法会被多次执行,怎么确保安全", + :block/created-at 1657157575640, + :block/updated-at 1657157575640} + {:block/name "spring中对事务的支持,有哪些方式 你项目中如何处理事务", + :block/created-at 1657157575620, + :block/updated-at 1657157575620} + {:block/name "spring依赖注入的方式有哪些 有区别么", + :block/created-at 1657157575630, + :block/updated-at 1657157575630} + {:block/name "spring实例化组件时,如何设置属性", + :block/created-at 1657157575643, + :block/updated-at 1657157575643} + {:block/name "spring的启动流程是怎么样的", + :block/created-at 1657157575668, + :block/updated-at 1657157575668} + {:block/name "spring的常用注解都有哪些", + :block/created-at 1657157575633, + :block/updated-at 1657157575633} + {:block/name "spring的循环依赖问题,如何解决", + :block/created-at 1657157575618, + :block/updated-at 1657157575618} + {:block/name "spring调用外部接口", + :block/created-at 1657765252221, + :block/updated-at 1657765252221} + {:block/name "sql", + :block/created-at 1653189835129, + :block/updated-at 1653189835129} + {:block/name "sql语句过慢怎么定位问题", + :block/created-at 1657157575462, + :block/updated-at 1657157575462} + {:block/name "startwith", + :block/created-at 1649836170156, + :block/updated-at 1649836257781} + {:block/name "static", + :block/created-at 1649215195551, + :block/updated-at 1649403727225} + {:block/name "strictfp", + :block/created-at 1650331207788, + :block/updated-at 1650331207788} + {:block/name "string", + :block/created-at 1649833808078, + :block/updated-at 1650080514099} + {:block/name "stringbuffer", + :block/created-at 1649820616088, + :block/updated-at 1649906109907} + {:block/name "stringbuilder", + :block/created-at 1649820616084, + :block/updated-at 1650080575528} + {:block/name "string,stringbuffer及stringbuilder的区别", + :block/created-at 1657157575575, + :block/updated-at 1657157575575} + {:block/name "style", + :block/created-at 1653533277503, + :block/updated-at 1653533277503} + {:block/name "substring", + :block/created-at 1649838366083, + :block/updated-at 1649904842698} + {:block/name "super", + :block/created-at 1650331207747, + :block/updated-at 1650331207747} + {:block/name "super()", + :block/created-at 1649679338677, + :block/updated-at 1649679338677} + {:block/name "super关键字", + :block/created-at 1649215195578, + :block/updated-at 1650080218102} + {:block/name "swagger在线接口文档", + :block/created-at 1657765252225, + :block/updated-at 1657765252225} + {:block/name "switch", + :block/created-at 1649215184722, + :block/updated-at 1649215184722} + {:block/name "synchornized", + :block/created-at 1657355656213, + :block/updated-at 1657355656213} + {:block/name "synchronized", + :block/created-at 1649905980486, + :block/updated-at 1657355002659} + {:block/name "synchronized与lock锁的区别", + :block/created-at 1657157575337, + :block/updated-at 1657157575337} + {:block/name "synchronized与乐观锁的区别", + :block/created-at 1657157575347, + :block/updated-at 1657157575347} + {:block/name "system", + :block/created-at 1649820616100, + :block/updated-at 1649918250766} + {:block/name "system.err", + :block/created-at 1649916577715, + :block/updated-at 1649916603046} + {:block/name "system.in", + :block/created-at 1649916547075, + :block/updated-at 1649916547075} + {:block/name "system.out", + :block/created-at 1649916559204, + :block/updated-at 1649916559204} + {:block/name "system/err", + :block/created-at 1649944978196, + :block/updated-at 1649944978196} + {:block/name "tar&gz&zip", + :block/created-at 1657157572047, + :block/updated-at 1657157572047} + {:block/name "tcl", + :block/created-at 1653189837404, + :block/updated-at 1653189837404} + {:block/name "tcp", + :block/created-at 1650608103225, + :block/updated-at 1650611788721} + {:block/name "tcp/ip", + :block/created-at 1650608103212, + :block/updated-at 1650612850629} + {:block/name "tcp与udp在概念上的区别", + :block/created-at 1657157575541, + :block/updated-at 1657157575541} + {:block/name "tcp协议的特点,你能说说吗 具体说说3次握手,4次挥手的过程", + :block/created-at 1657157575546, + :block/updated-at 1657157575546} + {:block/name "this", + :block/created-at 1649215195549, + :block/updated-at 1649408961504} + {:block/name "this()", + :block/created-at 1649408924150, + :block/updated-at 1649648989766} + {:block/name "threadlocal类是什么类", + :block/created-at 1657157575294, + :block/updated-at 1657157575294} + {:block/name "throw", + :block/created-at 1650331184553, + :block/updated-at 1650331184553} + {:block/name "throws", + :block/created-at 1650331184516, + :block/updated-at 1650331184516} + {:block/name "title", + :block/created-at 1653533277505, + :block/updated-at 1653533277505} + {:block/name "tochararry", + :block/created-at 1649836430324, + :block/updated-at 1649836464566} + {:block/name "todo", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "tolowercase", + :block/created-at 1649838914094, + :block/updated-at 1649917413093} + {:block/name "tomcat", + :block/created-at 1657157572485, + :block/updated-at 1657157572485} + {:block/name "tomcat内存溢出在catalina.sh 修改jvm堆内存大小", + :block/created-at 1657157575421, + :block/updated-at 1657157575421} + {:block/name "tomcat如何配置连接池 默认连接数是多少 == 生产环境,tomcat性能比较差,如何调优", + :block/created-at 1657157575687, + :block/updated-at 1657157575687} + {:block/name "tostring", + :block/created-at 1649822298875, + :block/updated-at 1649822298875} + {:block/name "touppercase", + :block/created-at 1649838867053, + :block/updated-at 1649838944147} + {:block/name "transient", + :block/created-at 1650331207786, + :block/updated-at 1650331207786} + {:block/name "treemap", + :block/created-at 1650438734387, + :block/updated-at 1650439533575} + {:block/name "treeset", + :block/created-at 1650331188269, + :block/updated-at 1650440492446} + {:block/name "trim", + :block/created-at 1649838075631, + :block/updated-at 1649838128674} + {:block/name "true", + :block/created-at 1650331207808, + :block/updated-at 1650331207808} + {:block/name "try", + :block/created-at 1650331184558, + :block/updated-at 1650331184558} + {:block/name "try-catch-finally", + :block/created-at 1650331182541, + :block/updated-at 1650331182541} + {:block/name "udp", + :block/created-at 1650636325479, + :block/updated-at 1650636325479} + {:block/name "union 和 union all 的区别是什么", + :block/created-at 1657157575491, + :block/updated-at 1657157575491} + {:block/name "uri", + :block/created-at 1650636326326, + :block/updated-at 1650636326326} + {:block/name "url", + :block/created-at 1650608103138, + :block/updated-at 1650609121270} + {:block/name "uuid", + :block/created-at 1649820616104, + :block/updated-at 1649925973946} + {:block/name "valueof", + :block/created-at 1649839023034, + :block/updated-at 1649839039649} + {:block/name "values", + :block/created-at 1650436211941, + :block/updated-at 1650436211941} + {:block/name "vector", + :block/created-at 1650331188261, + :block/updated-at 1650354490534} + {:block/name "void", + :block/created-at 1650331204976, + :block/updated-at 1650331204976} + {:block/name "volatile", + :block/created-at 1650331207783, + :block/updated-at 1650331207783} + {:block/name "vue", + :block/created-at 1657783536260, + :block/updated-at 1657783543351} + {:block/name "vue的生命周期是什么,都有哪些钩子函数", + :block/created-at 1657157575829, + :block/updated-at 1657157575829} + {:block/name "vue脚手架", + :block/created-at 1657783558113, + :block/updated-at 1657783808404} + {:block/name "vue都有哪些组件", + :block/created-at 1657157575835, + :block/updated-at 1657157575835} + {:block/name "wait", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "wait() 和notify() 方法的区别", + :block/created-at 1657157575317, + :block/updated-at 1657157575317} + {:block/name "waiting", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "while", + :block/created-at 1650331207767, + :block/updated-at 1650331207767} + {:block/name "while循环", + :block/created-at 1649215184898, + :block/updated-at 1649215184898} + {:block/name "windows快捷键", + :block/created-at 1649215185055, + :block/updated-at 1649215185055} + {:block/name "xml", + :block/created-at 1653189836034, + :block/updated-at 1653189836034} + {:block/name "xml与json之间的区别", + :block/created-at 1657157575680, + :block/updated-at 1657157575680} + {:block/name "yield() 与 join() 方法的区别", + :block/created-at 1657157575367, + :block/updated-at 1657157575367} + {:block/name "七大设计原则", + :block/created-at 1657519389489, + :block/updated-at 1657519502888} + {:block/name "三元运算符", + :block/created-at 1649215182040, + :block/updated-at 1649215182040} + {:block/name "三层架构是哪三层 具体说说,你知道它们分别对应的架构模式采用的是什么么", + :block/created-at 1657157575988, + :block/updated-at 1657157575988} + {:block/name "下标", + :block/created-at 1649835657619, + :block/updated-at 1649835657619} + {:block/name "业务对象", + :block/created-at 1649647567279, + :block/updated-at 1649647617004} + {:block/name "为什么使用同步或锁,就可以让多线程解决线程安全问题", + :block/created-at 1657157575302, + :block/updated-at 1657157575302} + {:block/name "为什么要使用微服务,它的优缺点", + :block/created-at 1657157575896, + :block/updated-at 1657157575896} + {:block/name "为什么要用redis不用map", + :block/created-at 1657157575766, + :block/updated-at 1657157575766} + {:block/name "为什么要用多线程", + :block/created-at 1657157575289, + :block/updated-at 1657157575289} + {:block/name "为什么选择mysql5.7,而不用5.5 5.6", + :block/created-at 1657157575437, + :block/updated-at 1657157575437} + {:block/name "为什么选择seata来处理分布式事务", + :block/created-at 1657157575852, + :block/updated-at 1657157575852} + {:block/name "乐观锁", + :block/created-at 1657260300380, + :block/updated-at 1657260300380} + {:block/name "了解网关么,网关的作用是什么,你都在网关中配置过什么内容", + :block/created-at 1657157575911, + :block/updated-at 1657157575911} + {:block/name "事务", + :block/created-at 1657260301817, + :block/updated-at 1657260301817} + {:block/name "事务在什么情况下会失效", + :block/created-at 1657157575457, + :block/updated-at 1657174921581} + {:block/name "二叉查找法", + :block/created-at 1649908349192, + :block/updated-at 1649908349192} + {:block/name "二叉树", + :block/created-at 1650436212532, + :block/updated-at 1650436212532} + {:block/name "二进制", + :block/created-at 1650331205815, + :block/updated-at 1650331205815} + {:block/name "互联网企业面试题", + :block/created-at 1650621154774, + :block/updated-at 1650621392359} + {:block/name "交集", + :block/created-at 1650442649580, + :block/updated-at 1650442649580} + {:block/name "京东万象", + :block/created-at 1657765252872, + :block/updated-at 1657765252872} + {:block/name "什么是2阶段提交,seata是如何做2阶段提交的", + :block/created-at 1657157575934, + :block/updated-at 1657157575934} + {:block/name "什么是atomicinteger", + :block/created-at 1657157575373, + :block/updated-at 1657157575373} + {:block/name "什么是java的反射", + :block/created-at 1657157575585, + :block/updated-at 1657157575585} + {:block/name "什么是socket编程", + :block/created-at 1657157575538, + :block/updated-at 1657157575538} + {:block/name "什么是sql注入,如何防止", + :block/created-at 1657157575501, + :block/updated-at 1657157575501} + {:block/name "什么是volatile,它的作用是什么", + :block/created-at 1657157575370, + :block/updated-at 1657157575370} + {:block/name "什么是分布式事务,项目中哪些地方遇到分布式事务", + :block/created-at 1657157575931, + :block/updated-at 1657157575931} + {:block/name "什么是反射", + :block/created-at 1657157575578, + :block/updated-at 1657157575578} + {:block/name "什么是同步代码块", + :block/created-at 1657157575308, + :block/updated-at 1657157575308} + {:block/name "什么是多线程死锁", + :block/created-at 1657157575316, + :block/updated-at 1657157575316} + {:block/name "什么是守护线程,如何做到", + :block/created-at 1657157575363, + :block/updated-at 1657157575363} + {:block/name "什么是接口幂等性,如何保证接口幂等性操作", + :block/created-at 1657157575744, + :block/updated-at 1657157575744} + {:block/name "什么是数据库回表,如何避免回表查询", + :block/created-at 1657157575439, + :block/updated-at 1657157575439} + {:block/name "什么是线程同步", + :block/created-at 1657157575305, + :block/updated-at 1657157575305} + {:block/name "什么是线程安全", + :block/created-at 1657157575299, + :block/updated-at 1657157575299} + {:block/name "什么是线程池它的作用是什么", + :block/created-at 1657157575343, + :block/updated-at 1657157575343} + {:block/name "什么是聚簇索引,什么是非聚簇索引", + :block/created-at 1657157575489, + :block/updated-at 1657157575489} + {:block/name "什么是虚拟机参数配置 你是否配置过 在哪里配置", + :block/created-at 1657157575395, + :block/updated-at 1657157575395} + {:block/name "什么是设计模式,有多少个", + :block/created-at 1657157575550, + :block/updated-at 1657157575550} + {:block/name "介绍一下spring,springboot,springcloud", + :block/created-at 1657157575882, + :block/updated-at 1657157575882} + {:block/name "介绍一下你的项目aop日志功能如何实现的", + :block/created-at 1657157575626, + :block/updated-at 1657157575626} + {:block/name "代理设计模式中,静态代理和动态代理的区别", + :block/created-at 1657157575555, + :block/updated-at 1657157575555} + {:block/name "会议层", + :block/created-at 1650636324905, + :block/updated-at 1650636324905} + {:block/name "传参", + :block/created-at 1649381373549, + :block/updated-at 1650079888314} + {:block/name "传输层", + :block/created-at 1650636324906, + :block/updated-at 1650636324906} + {:block/name "位运算符", + :block/created-at 1649215185978, + :block/updated-at 1649663069403} + {:block/name "低耦合", + :block/created-at 1649659961033, + :block/updated-at 1649660035488} + {:block/name "你上个项目用的springboot版本是那个版本的", + :block/created-at 1657157575657, + :block/updated-at 1657157575657} + {:block/name "你们开发规范是什么,具体开发流程是什么,需求分析谁做,原型设计怎么来的", + :block/created-at 1657157575971, + :block/updated-at 1657157575971} + {:block/name "你们通过哪些手段处理系统的高并发问题", + :block/created-at 1657157575842, + :block/updated-at 1657157575842} + {:block/name "你们项目上线前会在哪里测试 怎么部署的 多个环境你该怎么设置", + :block/created-at 1657157575983, + :block/updated-at 1657157575983} + {:block/name "你们项目中,使用的什么 数据交换格式", + :block/created-at 1657157575676, + :block/updated-at 1657157575676} + {:block/name "你在项目中遇到的最大问题是什么 如何解决的", + :block/created-at 1657157575952, + :block/updated-at 1657157575952} + {:block/name "你对restful架构风格是如何理解的 平时都是怎么样的", + :block/created-at 1657157575700, + :block/updated-at 1657157575700} + {:block/name "你是怎么创建线程池的", + :block/created-at 1657157575348, + :block/updated-at 1657157575348} + {:block/name "你熟悉秒杀流程 那么秒杀如何保证数据一致性", + :block/created-at 1657157575980, + :block/updated-at 1657157575980} + {:block/name "你觉得springcloud相比传统的springmvc有什么优势", + :block/created-at 1657157575868, + :block/updated-at 1657157575868} + {:block/name "你都知道哪些锁", + :block/created-at 1657157575376, + :block/updated-at 1657157575376} + {:block/name "你项目中的哪些地方使用到多线程", + :block/created-at 1657157575297, + :block/updated-at 1657157575297} + {:block/name "使用的redis是集群的嘛 有多少个节点,采用的是那种集群方案", + :block/created-at 1657157575754, + :block/updated-at 1657157575754} + {:block/name "假如1个接口的qps只有10,超过10会怎样 如何解决", + :block/created-at 1657157575960, + :block/updated-at 1657157575960} + {:block/name "假设你redis里面有9个商品,我现在有10人来买,怎么防止超卖问题", + :block/created-at 1657157575776, + :block/updated-at 1657157575776} + {:block/name "做集群的时候事务怎么处理", + :block/created-at 1657157575874, + :block/updated-at 1657157575874} + {:block/name "健壮性", + :block/created-at 1650331183908, + :block/updated-at 1650331183908} + {:block/name "元空间", + :block/created-at 1649399132284, + :block/updated-at 1649399257832} + {:block/name "元素", + :block/created-at 1653533260526, + :block/updated-at 1653533260526} + {:block/name "兄弟类", + :block/created-at 1650350376131, + :block/updated-at 1650350397930} + {:block/name "全局变量", + :block/created-at 1649215186150, + :block/updated-at 1649215186150} + {:block/name "全文检索引擎", + :block/created-at 1657505762190, + :block/updated-at 1657505788967} + {:block/name "关于多线程锁升级的理解", + :block/created-at 1657157575330, + :block/updated-at 1657157575330} + {:block/name "关系型数据库", + :block/created-at 1657157573091, + :block/updated-at 1657157573091} + {:block/name "关系运算符", + :block/created-at 1649215186335, + :block/updated-at 1650077043063} + {:block/name "关键字", + :block/created-at 1649820628344, + :block/updated-at 1649820628344} + {:block/name "关闭连接一定能成功吗 怎么保证一定成功关闭连接", + :block/created-at 1657157575504, + :block/updated-at 1657157575504} + {:block/name "其它功能流", + :block/created-at 1650608103075, + :block/updated-at 1650608103075} + {:block/name "内存模型", + :block/created-at 1649399463813, + :block/updated-at 1649399463813} + {:block/name "内存泄漏与内存溢出的区别", + :block/created-at 1657157575422, + :block/updated-at 1657157575422} + {:block/name "内存溢出你是咋解决的", + :block/created-at 1657157575417, + :block/updated-at 1657157575417} + {:block/name "内部类", + :block/created-at 1650350298123, + :block/updated-at 1650350493994} + {:block/name "冒泡排序", + :block/created-at 1649228634628, + :block/updated-at 1649228634628} + {:block/name "写个时间复杂度为o(n)的算法,找到一个数列第二大的数", + :block/created-at 1657157575229, + :block/updated-at 1657157575229} + {:block/name "分布式", + :block/created-at 1650331202485, + :block/updated-at 1650331202485} + {:block/name "分布式事务的两个理论特性 是什么", + :block/created-at 1657157575944, + :block/updated-at 1657157575944} + {:block/name "分布式事务的原理", + :block/created-at 1657157575850, + :block/updated-at 1657157575850} + {:block/name "分布式锁的目的", + :block/created-at 1657157575765, + :block/updated-at 1657157575765} + {:block/name "分布式高并发下的订单id是如何生成的", + :block/created-at 1657157575879, + :block/updated-at 1657157575879} + {:block/name "分析hashmap为什么线程不安全", + :block/created-at 1657157575265, + :block/updated-at 1657157575265} + {:block/name "前后端分离", + :block/created-at 1657765253330, + :block/updated-at 1657783793654} + {:block/name "动态代理中jdk代理和cglib代理区别 代理模式,在项目中哪些地方有应用", + :block/created-at 1657157575557, + :block/updated-at 1657157575557} + {:block/name "动态代理模式中jdk与cglib的区别", + :block/created-at 1657157575616, + :block/updated-at 1657157575616} + {:block/name "动态多态", + :block/created-at 1649820620314, + :block/updated-at 1649820620314} + {:block/name "动态方法", + :block/created-at 1649402650831, + :block/updated-at 1649402650831} + {:block/name "包装", + :block/created-at 1649406861138, + :block/updated-at 1649406861138} + {:block/name "包装类", + :block/created-at 1650002701247, + :block/updated-at 1650073601893} + {:block/name "匿名内部类", + :block/created-at 1650350273077, + :block/updated-at 1650352725395} + {:block/name "十六进制", + :block/created-at 1650331208081, + :block/updated-at 1650331208081} + {:block/name "协议", + :block/created-at 1650636326492, + :block/updated-at 1650636326492} + {:block/name "单例设计模式,你会手写么 在项目中哪些地方有应用", + :block/created-at 1657157575552, + :block/updated-at 1657157575552} + {:block/name "单分支", + :block/created-at 1649215182033, + :block/updated-at 1649215182033} + {:block/name "单点登录的实现原理", + :block/created-at 1657157575964, + :block/updated-at 1657157575964} + {:block/name "单精度浮点", + :block/created-at 1649215186658, + :block/updated-at 1649215186658} + {:block/name "原码", + :block/created-at 1649215186785, + :block/updated-at 1649215186785} + {:block/name "去重", + :block/created-at 1650436211942, + :block/updated-at 1650436211942} + {:block/name "参数", + :block/created-at 1650331185166, + :block/updated-at 1650331185166} + {:block/name "双精度浮点", + :block/created-at 1649215186923, + :block/updated-at 1649215186923} + {:block/name "反射", + :block/created-at 1653189835576, + :block/updated-at 1653189835576} + {:block/name "反射操作私有属性时,需要注意什么", + :block/created-at 1657157575589, + :block/updated-at 1657157575589} + {:block/name "反射获得class对象的3种方式", + :block/created-at 1657157575588, + :block/updated-at 1657157575588} + {:block/name "反序列化", + :block/created-at 1650636327634, + :block/updated-at 1650636327634} + {:block/name "反码", + :block/created-at 1649215186779, + :block/updated-at 1649215186779} + {:block/name "变量", + :block/created-at 1649215187261, + :block/updated-at 1650078772380} + {:block/name "可不可以配置两个数据源 比如一个mysql和一个oracle 在哪里配置,怎么配置", + :block/created-at 1657157575662, + :block/updated-at 1657157575662} + {:block/name "可维护性", + :block/created-at 1650331208608, + :block/updated-at 1650331208608} + {:block/name "同步与异步的区别", + :block/created-at 1657157575319, + :block/updated-at 1657157575319} + {:block/name "同步代码块和同步函数之间有什么区别", + :block/created-at 1657157575313, + :block/updated-at 1657157575313} + {:block/name "同步函数", + :block/created-at 1657606373094, + :block/updated-at 1657606373094} + {:block/name "同步函数和静态同步函数之间有什么区别", + :block/created-at 1657157575314, + :block/updated-at 1657157575314} + {:block/name "同步方法与同步块的区别", + :block/created-at 1657157575341, + :block/updated-at 1657157575341} + {:block/name "后台线程", + :block/created-at 1657357099481, + :block/updated-at 1657357099481} + {:block/name "向上转型", + :block/created-at 1649820616060, + :block/updated-at 1649820616060} + {:block/name "向上转型与向下转型", + :block/created-at 1649215195594, + :block/updated-at 1649215195594} + {:block/name "向下转型", + :block/created-at 1649820616065, + :block/updated-at 1649820616065} + {:block/name "周考1", + :block/created-at 1649215177134, + :block/updated-at 1649226998173} + {:block/name "周考2", + :block/created-at 1650089014547, + :block/updated-at 1650101191192} + {:block/name "命令行参数", + :block/created-at 1649046748645, + :block/updated-at 1649046748645} + {:block/name "四舍五入", + :block/created-at 1650331201450, + :block/updated-at 1650331201450} + {:block/name "在http请求中如何存储客户信息(分如何获取和如何存储)", + :block/created-at 1657157575673, + :block/updated-at 1657157575673} + {:block/name "在使用git的过程中,遇到冲突,你是如何处理的", + :block/created-at 1657157575962, + :block/updated-at 1657157575962} + {:block/name "在生成订单过程中,如果mysql崩了,怎么办", + :block/created-at 1657157575991, + :block/updated-at 1657157575991} + {:block/name "在请求中如何存储客户信息", + :block/created-at 1657157575689, + :block/updated-at 1657157575689} + {:block/name "地址值", + :block/created-at 1649666713370, + :block/updated-at 1649666713370} + {:block/name "域名", + :block/created-at 1650636326492, + :block/updated-at 1650636326492} + {:block/name "基本数据类型", + :block/created-at 1649215187877, + :block/updated-at 1650077326802} + {:block/name "堆", + :block/created-at 1649215189414, + :block/updated-at 1649399208650} + {:block/name "复合赋值运算符", + :block/created-at 1649215188132, + :block/updated-at 1649215188132} + {:block/name "复用性", + :block/created-at 1650331208607, + :block/updated-at 1650331208607} + {:block/name "多分支", + :block/created-at 1649215182052, + :block/updated-at 1649215182052} + {:block/name "多态", + :block/created-at 1649046830883, + :block/updated-at 1650079373950} + {:block/name "多态集合", + :block/created-at 1649820624999, + :block/updated-at 1649820624999} + {:block/name "多线程", + :block/created-at 1650331202489, + :block/updated-at 1657347648538} + {:block/name "多线程的创建", + :block/created-at 1657347689818, + :block/updated-at 1657355752231} + {:block/name "多线程的创建方式有哪些", + :block/created-at 1657157575291, + :block/updated-at 1657157575291} + {:block/name "多维数组", + :block/created-at 1648805231475, + :block/updated-at 1649137033746} + {:block/name "多维数组 1", + :block/created-at 1649215188358, + :block/updated-at 1649215188358} + {:block/name "大佬跟你讲的东西,你怎么判断正不正确", + :block/created-at 1657157575985, + :block/updated-at 1657157575985} + {:block/name "大驼峰", + :block/created-at 1650331206734, + :block/updated-at 1650339181952} + {:block/name "如何使用jdk1.8新特性从商品集合中单独把某一个字段(比如id)拿出来当做一个集合", + :block/created-at 1657157573879, + :block/updated-at 1657157573879} + {:block/name "如何保证与数据库的双写一致性", + :block/created-at 1657157575751, + :block/updated-at 1657157575751} + {:block/name "如何做到集合变遍历,边删除", + :block/created-at 1657157575209, + :block/updated-at 1657157575209} + {:block/name "如何停止一根线程", + :block/created-at 1657157575360, + :block/updated-at 1657157575360} + {:block/name "如何克隆一个对象 浅克隆与深克隆区别在哪里", + :block/created-at 1657157575562, + :block/updated-at 1657157575562} + {:block/name "如何获得map集合中的所有的key", + :block/created-at 1657157575235, + :block/updated-at 1657157575235} + {:block/name "如何解决多线程间线程安全问题", + :block/created-at 1657157575301, + :block/updated-at 1657157575301} + {:block/name "如何解决消息延时及过期失效的问题 如果有几百万条消息持续积压几小时,说说怎么解决", + :block/created-at 1657157575723, + :block/updated-at 1657157575723} + {:block/name "如何设置最大堆空间大小", + :block/created-at 1657157575406, + :block/updated-at 1657157575406} + {:block/name "如何跳出多重循环", + :block/created-at 1657157575576, + :block/updated-at 1657157575576} + {:block/name "如何防止后端接口被攻击", + :block/created-at 1657157575965, + :block/updated-at 1657157575965} + {:block/name "如何防止表单重复提交", + :block/created-at 1657157575690, + :block/updated-at 1657157575690} + {:block/name "如果你在linux部署的项目出现报错时,你需要定位报错信息在哪怎么做", + :block/created-at 1657157575817, + :block/updated-at 1657157575817} + {:block/name "如果保证用户一定能消费成功", + :block/created-at 1657157575714, + :block/updated-at 1657157575714} + {:block/name "如果给你一个功能,你觉得从数据库设计开始的思路是什么", + :block/created-at 1657157575473, + :block/updated-at 1657157575473} + {:block/name "如果让你自己写个mq服务器,你的思路是什么 需要使用到什么技术", + :block/created-at 1657157575721, + :block/updated-at 1657157575721} + {:block/name "如果运行结果跟预期不一样,但是代码没报错,怎么处理", + :block/created-at 1657157575606, + :block/updated-at 1657157575606} + {:block/name "字符串", + :block/created-at 1649820616075, + :block/updated-at 1649833834370} + {:block/name "字符串概述", + :block/created-at 1649833724519, + :block/updated-at 1649841818319} + {:block/name "字符流", + :block/created-at 1650446718713, + :block/updated-at 1650446718713} + {:block/name "字符类型", + :block/created-at 1649215187844, + :block/updated-at 1649215187844} + {:block/name "字节", + :block/created-at 1649215187866, + :block/updated-at 1649215187866} + {:block/name "字节流", + :block/created-at 1650446706402, + :block/updated-at 1650448816615} + {:block/name "字节码", + :block/created-at 1650331201914, + :block/updated-at 1650331201914} + {:block/name "字节类型", + :block/created-at 1649215187869, + :block/updated-at 1649215187869} + {:block/name "字面量常量", + :block/created-at 1649215187254, + :block/updated-at 1649215187254} + {:block/name "守护线程", + :block/created-at 1657355378263, + :block/updated-at 1657357234059} + {:block/name "守护线程是什么如何实现", + :block/created-at 1657157575383, + :block/updated-at 1657157575383} + {:block/name "定时器", + :block/created-at 1657355360682, + :block/updated-at 1657356817637} + {:block/name "实体对象", + :block/created-at 1649647584297, + :block/updated-at 1649647652117} + {:block/name "实体层", + :block/created-at 1650636324909, + :block/updated-at 1650636324909} + {:block/name "实例代码块", + :block/created-at 1649821030020, + :block/updated-at 1649821214883} + {:block/name "实参", + :block/created-at 1650331204968, + :block/updated-at 1650331204968} + {:block/name "对springioc的理解", + :block/created-at 1657157575613, + :block/updated-at 1657157575613} + {:block/name "对象", + :block/created-at 1649401757444, + :block/updated-at 1649401757444} + {:block/name "对象的内存模型分析", + :block/created-at 1649215195527, + :block/updated-at 1649399463815} + {:block/name "封装", + :block/created-at 1649406721749, + :block/updated-at 1649407188068} + {:block/name "小驼峰", + :block/created-at 1650331207818, + :block/updated-at 1650331207818} + {:block/name "局部变量", + :block/created-at 1649215186146, + :block/updated-at 1649215186146} + {:block/name "属性", + :block/created-at 1650331208414, + :block/updated-at 1650331208414} + {:block/name "属性和行为", + :block/created-at 1649385007333, + :block/updated-at 1649389551545} + {:block/name "嵌套判断", + :block/created-at 1649215182046, + :block/updated-at 1649215182046} + {:block/name "嵌套循环", + :block/created-at 1649215189166, + :block/updated-at 1649215189166} + {:block/name "工厂设计模式的作用 简单工厂会写不 在项目中哪些地方有应用", + :block/created-at 1657157575560, + :block/updated-at 1657157575560} + {:block/name "差集", + :block/created-at 1650442668953, + :block/updated-at 1650442668953} + {:block/name "布尔类型", + :block/created-at 1649215187847, + :block/updated-at 1649215187847} + {:block/name "常用操作字符串有哪些类 stringbuffer,stringbuilder", + :block/created-at 1657157575574, + :block/updated-at 1657157575574} + {:block/name "常量", + :block/created-at 1649820619444, + :block/updated-at 1649820619444} + {:block/name "幂等性问题会出现在哪些地方", + :block/created-at 1657157575746, + :block/updated-at 1657157575746} + {:block/name "并发与并行的区别", + :block/created-at 1657157575329, + :block/updated-at 1657157575329} + {:block/name "并集", + :block/created-at 1650442656240, + :block/updated-at 1650442656240} + {:block/name "序列化", + :block/created-at 1650538806196, + :block/updated-at 1650538806196} + {:block/name "应用层", + :block/created-at 1650636324903, + :block/updated-at 1650636324903} + {:block/name "延迟队列如何实现", + :block/created-at 1657157575719, + :block/updated-at 1657157575719} + {:block/name "延迟队列,死信队列的区别是什么", + :block/created-at 1657157575715, + :block/updated-at 1657157575715} + {:block/name "异常", + :block/created-at 1650252016634, + :block/updated-at 1650263426165} + {:block/name "异常抛出", + :block/created-at 1650331179423, + :block/updated-at 1650331179423} + {:block/name "异常捕获", + :block/created-at 1650263084206, + :block/updated-at 1650264380594} + {:block/name "异常的分类,如何自定义异常", + :block/created-at 1657157575565, + :block/updated-at 1657157575565} + {:block/name "引用数据类型", + :block/created-at 1649215187835, + :block/updated-at 1649215187835} + {:block/name "强制转换", + :block/created-at 1649215189580, + :block/updated-at 1649215189580} + {:block/name "强类型", + :block/created-at 1650331205809, + :block/updated-at 1650331205809} + {:block/name + "当application.properties,application.yaml,bootstrap.yaml文件同时存在的情况下,它们的执行顺序是怎样的", + :block/created-at 1657157575667, + :block/updated-at 1657157575667} + {:block/name "形参", + :block/created-at 1650331204966, + :block/updated-at 1650331204966} + {:block/name "微服务的搭建步骤", + :block/created-at 1657157575898, + :block/updated-at 1657157575898} + {:block/name "微服务组件都用过哪些,你们微服务的业务逻辑是什么样子的", + :block/created-at 1657157575901, + :block/updated-at 1657157575901} + {:block/name "怎么理解过程一致性和结果一致性", + :block/created-at 1657157575334, + :block/updated-at 1657157575334} + {:block/name "怎么用sql语句复制另一张表", + :block/created-at 1657157575458, + :block/updated-at 1657157575458} + {:block/name "总结", + :block/created-at 1649215189906, + :block/updated-at 1649215189906} + {:block/name "悲观锁", + :block/created-at 1657260301759, + :block/updated-at 1657260301759} + {:block/name "抽象", + :block/created-at 1649406808852, + :block/updated-at 1649406808852} + {:block/name "抽象方法", + :block/created-at 1649820626952, + :block/updated-at 1649820626952} + {:block/name "抽象类", + :block/created-at 1648863179646, + :block/updated-at 1650079417572} + {:block/name "抽象类可以继承实体类么", + :block/created-at 1657157575590, + :block/updated-at 1657157575590} + {:block/name "抽象类可以继承接口么", + :block/created-at 1657157575592, + :block/updated-at 1657157575592} + {:block/name "指针", + :block/created-at 1650331202481, + :block/updated-at 1650331202481} + {:block/name "排序", + :block/created-at 1650337048323, + :block/updated-at 1650337083335} + {:block/name "接口", + :block/created-at 1648863179646, + :block/updated-at 1650080392465} + {:block/name "接口可以继承抽象类么", + :block/created-at 1657157575594, + :block/updated-at 1657157575594} + {:block/name "数据库", + :block/created-at 1653189835121, + :block/updated-at 1657071903389} + {:block/name "数据库中btree 与hash索引的区别", + :block/created-at 1657157575438, + :block/updated-at 1657157575438} + {:block/name "数据库中两张表如何要联合查询,要如何实现", + :block/created-at 1657157575454, + :block/updated-at 1657157575454} + {:block/name "数据库中哪些字段适合加索引 ,哪些不适合加索引", + :block/created-at 1657157575487, + :block/updated-at 1657157575487} + {:block/name "数据库中复合索引的字段中可以有null值吗", + :block/created-at 1657157575517, + :block/updated-at 1657157575517} + {:block/name "数据库中如何快速插入100w级数据", + :block/created-at 1657157575446, + :block/updated-at 1657157575446} + {:block/name "数据库引擎", + :block/created-at 1657260300387, + :block/updated-at 1657260300387} + {:block/name "数据库用户id主键策略", + :block/created-at 1657157575478, + :block/updated-at 1657157575478} + {:block/name "数据库的sql语句如何加锁", + :block/created-at 1657157575486, + :block/updated-at 1657157575486} + {:block/name "数据库的执行计划", + :block/created-at 1657157575480, + :block/updated-at 1657157575480} + {:block/name "数据库管理系统", + :block/created-at 1653189835126, + :block/updated-at 1653189835126} + {:block/name "数据库连表查询,左外联,右外联,内联查的区别", + :block/created-at 1657157575460, + :block/updated-at 1657157575460} + {:block/name "数据链路层", + :block/created-at 1650636324908, + :block/updated-at 1650636324908} + {:block/name "数组", + :block/created-at 1649833963908, + :block/updated-at 1649833963908} + {:block/name "数组内存分析", + :block/created-at 1649215190196, + :block/updated-at 1650079736256} + {:block/name "数组基础", + :block/created-at 1649215190330, + :block/updated-at 1649215190330} + {:block/name "数组排序", + :block/created-at 1649215177500, + :block/updated-at 1650079080188} + {:block/name "数组的排序算法,你都知道哪些请列举并手写一个出来", + :block/created-at 1657157575286, + :block/updated-at 1657157575286} + {:block/name "数组的遍历", + :block/created-at 1648804037791, + :block/updated-at 1649151333734} + {:block/name "数组的遍历 1", + :block/created-at 1649215190634, + :block/updated-at 1649215190634} + {:block/name "数组,链表,哪个查询效率高,为什么高", + :block/created-at 1657157575280, + :block/updated-at 1657157575280} + {:block/name "整型", + :block/created-at 1649215187860, + :block/updated-at 1649215187860} + {:block/name "方法", + :block/created-at 1649046776216, + :block/updated-at 1649046776216} + {:block/name "方法重载", + :block/created-at 1649046797138, + :block/updated-at 1650079956655} + {:block/name "无参构造器", + :block/created-at 1649644942915, + :block/updated-at 1649645765443} + {:block/name "是否写过hashmap的底层,了解过什么", + :block/created-at 1657157575218, + :block/updated-at 1657157575218} + {:block/name "是继承thread类好,还是实现runnable接口好", + :block/created-at 1657157575293, + :block/updated-at 1657157575293} + {:block/name "普通类和抽象类有哪些区别", + :block/created-at 1657157575567, + :block/updated-at 1657157575567} + {:block/name "普通类和抽象类的区别 接口和抽象的区别", + :block/created-at 1657157575572, + :block/updated-at 1657157575572} + {:block/name "最多有过几张表的连表处理", + :block/created-at 1657157575435, + :block/updated-at 1657157575435} + {:block/name "有个数组,如何颠倒所有的元素", + :block/created-at 1657157575270, + :block/updated-at 1657157575270} + {:block/name "有几种方法可以遍历java集合", + :block/created-at 1657157575250, + :block/updated-at 1657157575250} + {:block/name "有参构造器", + :block/created-at 1649644948619, + :block/updated-at 1649645790788} + {:block/name "有哪些地方必须关闭资源", + :block/created-at 1657157575508, + :block/updated-at 1657157575508} + {:block/name "有哪些方法可以防止微服务接口被攻击", + :block/created-at 1657157575929, + :block/updated-at 1657157575929} + {:block/name "有张100w级的表中存在大量的重复数据,如何快速去重", + :block/created-at 1657157575449, + :block/updated-at 1657157575449} + {:block/name "有没有用过断点调试 怎么用的", + :block/created-at 1657157575607, + :block/updated-at 1657157575607} + {:block/name "有没有设计过数据库 数据库三范式讲一下", + :block/created-at 1657157575510, + :block/updated-at 1657157575510} + {:block/name "服务熔断和服务降级,项目是如何运用的", + :block/created-at 1657157575839, + :block/updated-at 1657157575839} + {:block/name "本地方法栈", + :block/created-at 1649399108838, + :block/updated-at 1649399241002} + {:block/name "构造器", + :block/created-at 1649408959734, + :block/updated-at 1650080096401} + {:block/name "标识符", + :block/created-at 1649215191017, + :block/updated-at 1650078659637} + {:block/name "栈", + :block/created-at 1649215189416, + :block/updated-at 1649399161599} + {:block/name "栈溢出你是咋解决的", + :block/created-at 1657157575419, + :block/updated-at 1657157575419} + {:block/name "核心库", + :block/created-at 1650331202511, + :block/updated-at 1650331202511} + {:block/name "格式化输出", + :block/created-at 1649215177497, + :block/updated-at 1650078960342} + {:block/name "模块", + :block/created-at 1649046919359, + :block/updated-at 1649046919359} + {:block/name "正则表达式", + :block/created-at 1650168860290, + :block/updated-at 1650170125153} + {:block/name "死锁", + :block/created-at 1657355365860, + :block/updated-at 1657357066876} + {:block/name "每天1万人访问主页并发量有多少", + :block/created-at 1657157575967, + :block/updated-at 1657157575967} + {:block/name "比较器", + :block/created-at 1650436212562, + :block/updated-at 1650436212562} + {:block/name "汇编语言", + :block/created-at 1650331208980, + :block/updated-at 1650331208980} + {:block/name "汽车租车系统", + :block/created-at 1653189834619, + :block/updated-at 1653189834619} + {:block/name "泛型", + :block/created-at 1650348579392, + :block/updated-at 1650349771720} + {:block/name "泛型接口", + :block/created-at 1650349323498, + :block/updated-at 1650349323498} + {:block/name "泛型擦除", + :block/created-at 1650349480317, + :block/updated-at 1650349480317} + {:block/name "泛型方法", + :block/created-at 1650349227744, + :block/updated-at 1650349227744} + {:block/name "泛型类", + :block/created-at 1650349103584, + :block/updated-at 1650349103584} + {:block/name "注解", + :block/created-at 1649665829804, + :block/updated-at 1649822521079} + {:block/name "测试怎么做的", + :block/created-at 1657157575974, + :block/updated-at 1657157575974} + {:block/name "深圳蜗牛java面试题", + :block/created-at 1657157570485, + :block/updated-at 1657157570485} + {:block/name "生产环境中应用有问题如何分析问题", + :block/created-at 1657157576000, + :block/updated-at 1657157576000} + {:block/name "生产者消费模式", + :block/created-at 1657355350193, + :block/updated-at 1657355612481} + {:block/name "用过哪些经典的设计模式,谈谈你对它们的理解", + :block/created-at 1657157575957, + :block/updated-at 1657157575957} + {:block/name "用过的linux系统都有哪些 什么版本", + :block/created-at 1657157575812, + :block/updated-at 1657157575812} + {:block/name "知道redis的看门狗机制么,为什么要用到看门狗", + :block/created-at 1657157575789, + :block/updated-at 1657157575789} + {:block/name "知道拦截器么,你项目中哪里使用过拦截器", + :block/created-at 1657157575650, + :block/updated-at 1657157575650} + {:block/name "短整数类型", + :block/created-at 1649215187863, + :block/updated-at 1649215187863} + {:block/name "科学计数法", + :block/created-at 1650331208078, + :block/updated-at 1650331208078} + {:block/name "程序", + :block/created-at 1649215181739, + :block/updated-at 1649215181739} + {:block/name "程序/注释", + :block/created-at 1649215181732, + :block/updated-at 1649215181732} + {:block/name "程序计数器", + :block/created-at 1649399120357, + :block/updated-at 1649399120357} + {:block/name "空指针", + :block/created-at 1650331206994, + :block/updated-at 1650331206994} + {:block/name "端口", + :block/created-at 1650636326491, + :block/updated-at 1650636326491} + {:block/name "简明知意", + :block/created-at 1650331207819, + :block/updated-at 1650331207819} + {:block/name "算术运算符", + :block/created-at 1649215191819, + :block/updated-at 1649215191819} + {:block/name "类", + :block/created-at 1649659990421, + :block/updated-at 1650080668268} + {:block/name "类和对象的创建", + :block/created-at 1649215195512, + :block/updated-at 1650079672125} + {:block/name "类属性", + :block/created-at 1649403547313, + :block/updated-at 1649403547313} + {:block/name "类方法", + :block/created-at 1649402739095, + :block/updated-at 1649402739095} + {:block/name "索引失效的场景有哪些", + :block/created-at 1657157575484, + :block/updated-at 1657157575484} + {:block/name "红锁是怎么实现的 原理是什么", + :block/created-at 1657157575787, + :block/updated-at 1657157575787} + {:block/name "红黑二叉树", + :block/created-at 1650436211902, + :block/updated-at 1650436211902} + {:block/name "线程同步", + :block/created-at 1657355041266, + :block/updated-at 1657355763088} + {:block/name "线程同步的几个方法", + :block/created-at 1657157575326, + :block/updated-at 1657157575326} + {:block/name "线程安全", + :block/created-at 1657352850687, + :block/updated-at 1657352985845} + {:block/name "线程安全的集合有哪些", + :block/created-at 1657157575207, + :block/updated-at 1657157575207} + {:block/name "线程是如何开始的", + :block/created-at 1657157575380, + :block/updated-at 1657157575380} + {:block/name "线程池", + :block/created-at 1657355740623, + :block/updated-at 1657356696193} + {:block/name "线程池有哪些核心参数", + :block/created-at 1657157575346, + :block/updated-at 1657157575346} + {:block/name "线程状态", + :block/created-at 1657349830643, + :block/updated-at 1657350352498} + {:block/name "线程的原子性是什么", + :block/created-at 1657157575350, + :block/updated-at 1657157575350} + {:block/name "线程的生命周期", + :block/created-at 1657157575323, + :block/updated-at 1657157575323} + {:block/name "组件化开发", + :block/created-at 1657765275462, + :block/updated-at 1657783429270} + {:block/name "给你一个数值类型数组,如何以最快的方式,查找到某一个元素", + :block/created-at 1657157575268, + :block/updated-at 1657157575268} + {:block/name "继承", + :block/created-at 1649046819566, + :block/updated-at 1650079351095} + {:block/name "继承器", + :block/created-at 1650331204697, + :block/updated-at 1650331204697} + {:block/name "继承方式", + :block/created-at 1649215195564, + :block/updated-at 1649662951261} + {:block/name "继承的定义", + :block/created-at 1649215195558, + :block/updated-at 1649659088709} + {:block/name "缓冲流", + :block/created-at 1650538806171, + :block/updated-at 1650538806171} + {:block/name "缓存穿透,击穿,雪崩对应的解决方案是什么", + :block/created-at 1657157575752, + :block/updated-at 1657157575752} + {:block/name "编程语言", + :block/created-at 1649215194715, + :block/updated-at 1650076410315} + {:block/name "编程题,给你一个整数数组,进行排序,输入一个k,从小到大输出k个数", + :block/created-at 1657157575269, + :block/updated-at 1657157575269} + {:block/name "编译", + :block/created-at 1650331201910, + :block/updated-at 1650331201910} + {:block/name "编译器", + :block/created-at 1650331183930, + :block/updated-at 1650331183930} + {:block/name "编译异常", + :block/created-at 1650263198292, + :block/updated-at 1650263198292} + {:block/name "网关是如何找到其他微服务的", + :block/created-at 1657157575914, + :block/updated-at 1657157575914} + {:block/name "网关限流如何配置 限流算法都用过哪些", + :block/created-at 1657157575912, + :block/updated-at 1657157575912} + {:block/name "网关限流时,采用什么技术,使用什么限流算法 咋配置", + :block/created-at 1657157575876, + :block/updated-at 1657157575876} + {:block/name "网络层", + :block/created-at 1650636324906, + :block/updated-at 1650636324906} + {:block/name "网络编程", + :block/created-at 1650608103126, + :block/updated-at 1650608103126} + {:block/name "网络通讯中tcp协议,udp协议的区别", + :block/created-at 1657157575571, + :block/updated-at 1657157575571} + {:block/name "耦合性", + :block/created-at 1649660116366, + :block/updated-at 1649660124613} + {:block/name "联合索引与普通索引的区别在哪里", + :block/created-at 1657157575448, + :block/updated-at 1657157575448} + {:block/name "能详细说下非对称加密的流程吗", + :block/created-at 1657157575996, + :block/updated-at 1657157575996} + {:block/name "自增运算符", + :block/created-at 1649215191827, + :block/updated-at 1649215191827} + {:block/name "自定义常量", + :block/created-at 1649215187256, + :block/updated-at 1649215187256} + {:block/name "自定义异常", + :block/created-at 1650331179429, + :block/updated-at 1650331179429} + {:block/name "自定义排序", + :block/created-at 1650340413624, + :block/updated-at 1650340413624} + {:block/name "自定义标识符", + :block/created-at 1650331207812, + :block/updated-at 1650331207812} + {:block/name "自定义注解", + :block/created-at 1649666262228, + :block/updated-at 1649666262228} + {:block/name "自旋锁的特征", + :block/created-at 1657157575283, + :block/updated-at 1657157575283} + {:block/name "自然排序", + :block/created-at 1650337946967, + :block/updated-at 1650337946967} + {:block/name "行为", + :block/created-at 1650331206123, + :block/updated-at 1650331206123} + {:block/name "补码", + :block/created-at 1649215186781, + :block/updated-at 1649215186781} + {:block/name "表示层", + :block/created-at 1650636324904, + :block/updated-at 1650636324904} + {:block/name "解码", + :block/created-at 1649215178848, + :block/updated-at 1649215178848} + {:block/name "解释", + :block/created-at 1650331201911, + :block/updated-at 1650331201911} + {:block/name "计算机发展历程", + :block/created-at 1649215196670, + :block/updated-at 1650076258486} + {:block/name "计算机基础理论", + :block/created-at 1649215189861, + :block/updated-at 1650076218431} + {:block/name "计算机组成", + :block/created-at 1649215196941, + :block/updated-at 1649215196941} + {:block/name "讲一下mq服务器的推拉模式,你在项目中是如何运用的", + :block/created-at 1657157575730, + :block/updated-at 1657157575730} + {:block/name "讲一下spring cloud 中的服务注册的机制和配置方法", + :block/created-at 1657157575862, + :block/updated-at 1657157575862} + {:block/name "讲一下浅克隆与深克隆", + :block/created-at 1657157575623, + :block/updated-at 1657157575623} + {:block/name "讲下springaop,项目中你是如何应用的", + :block/created-at 1657157575615, + :block/updated-at 1657157575615} + {:block/name "讲讲类的加载过程以及双亲委派机制", + :block/created-at 1657157575569, + :block/updated-at 1657157575569} + {:block/name "设置新生与老年代代参数", + :block/created-at 1657157575414, + :block/updated-at 1657157575414} + {:block/name "设置新生代与老年代优化参数", + :block/created-at 1657157575409, + :block/updated-at 1657157575409} + {:block/name "设计模式", + :block/created-at 1657519565742, + :block/updated-at 1657519706598} + {:block/name "设计模式中,工厂设计模式有啥用 项目中在哪些地方用过", + :block/created-at 1657157575563, + :block/updated-at 1657157575563} + {:block/name "访问修饰符", + :block/created-at 1649385046422, + :block/updated-at 1649407901827} + {:block/name "说一下 acid 是什么", + :block/created-at 1657157575476, + :block/updated-at 1657157575476} + {:block/name "说一下@requestmapping的作用", + :block/created-at 1657157575648, + :block/updated-at 1657157575648} + {:block/name "说一下jdbc在连接数据库的操作上几个步骤", + :block/created-at 1657157575464, + :block/updated-at 1657157575464} + {:block/name "说一下reddis怎么做集群的", + :block/created-at 1657157575757, + :block/updated-at 1657157575757} + {:block/name "说一下事务的隔离级别和事务的传播性质", + :block/created-at 1657157575469, + :block/updated-at 1657157575469} + {:block/name "说一下你熟悉的设计模式", + :block/created-at 1657157575581, + :block/updated-at 1657157575581} + {:block/name "说一下怎么用rabbitmq实现取消订单的用户积分减少的", + :block/created-at 1657157575739, + :block/updated-at 1657157575739} + {:block/name "说一下怎么防止超卖,sql怎么写", + :block/created-at 1657157575471, + :block/updated-at 1657157575471} + {:block/name "说一下熔断器,你怎么用的,代码怎么写的", + :block/created-at 1657157575871, + :block/updated-at 1657157575871} + {:block/name "说说nacos吧", + :block/created-at 1657157575949, + :block/updated-at 1657157575949} + {:block/name "说说你对java的gc回收机制的理解", + :block/created-at 1657157575431, + :block/updated-at 1657157575431} + {:block/name "说说你对线程的3个特性(原子,可见,有序)的理解", + :block/created-at 1657157575352, + :block/updated-at 1657157575352} + {:block/name "说说你常用的几个springboot注解", + :block/created-at 1657157575655, + :block/updated-at 1657157575655} + {:block/name "说说项目开发流程", + :block/created-at 1657157575855, + :block/updated-at 1657157575855} + {:block/name "请说一下seata的执行流程", + :block/created-at 1657157575946, + :block/updated-at 1657157575946} + {:block/name "请说下java的内存模型,也就是jmm", + :block/created-at 1657157575387, + :block/updated-at 1657157575387} + {:block/name "请说下jvm的运行时的内存结构", + :block/created-at 1657157575390, + :block/updated-at 1657157575390} + {:block/name "请说说rabbitmq的优缺点", + :block/created-at 1657157575718, + :block/updated-at 1657157575718} + {:block/name "请说说消息队列的工作模式有哪些", + :block/created-at 1657157575707, + :block/updated-at 1657157575707} + {:block/name "调试", + :block/created-at 1649381375280, + :block/updated-at 1650079906511} + {:block/name "谈谈bio,nio,aio的区别是什么,你都用过哪些io框架", + :block/created-at 1657157575600, + :block/updated-at 1657157575600} + {:block/name "谈谈mvc架构与mvvm架构的区别在哪里", + :block/created-at 1657157575832, + :block/updated-at 1657157575832} + {:block/name "谈谈你对spring bean的生命周期的理解", + :block/created-at 1657157575619, + :block/updated-at 1657157575619} + {:block/name "谈谈多线程并发", + :block/created-at 1657157575584, + :block/updated-at 1657157575584} + {:block/name "谈谈面向对象", + :block/created-at 1657157575583, + :block/updated-at 1657157575583} + {:block/name "负载均衡怎么实现", + :block/created-at 1657157575968, + :block/updated-at 1657157575968} + {:block/name "跨平台", + :block/created-at 1650331201913, + :block/updated-at 1650331201913} + {:block/name "转码", + :block/created-at 1649215178845, + :block/updated-at 1649215178845} + {:block/name "软硬件", + :block/created-at 1649215196948, + :block/updated-at 1649215196948} + {:block/name "运行异常", + :block/created-at 1650263211135, + :block/updated-at 1650263211135} + {:block/name "进制转换", + :block/created-at 1649215191832, + :block/updated-at 1649215191832} + {:block/name "进程与线程的区别", + :block/created-at 1657157575288, + :block/updated-at 1657157575288} + {:block/name "迭代器", + :block/created-at 1650335851717, + :block/updated-at 1650336047461} + {:block/name "迭代器模式", + :block/created-at 1650335879108, + :block/updated-at 1650335879108} + {:block/name "退出循环", + :block/created-at 1649215192561, + :block/updated-at 1649215192561} + {:block/name "选择排序", + :block/created-at 1649231003510, + :block/updated-at 1649231003510} + {:block/name "通讯协议", + :block/created-at 1650636328186, + :block/updated-at 1650636328186} + {:block/name "逻辑运算符", + :block/created-at 1649215192945, + :block/updated-at 1649215192945} + {:block/name "遇到bug,你是如何调试的", + :block/created-at 1657157575605, + :block/updated-at 1657157575605} + {:block/name "遍历set和list的通用方法", + :block/created-at 1657157575284, + :block/updated-at 1657157575284} + {:block/name "都有哪些堆的参数,可以配置", + :block/created-at 1657157575400, + :block/updated-at 1657157575400} + {:block/name "重写", + :block/created-at 1649215195567, + :block/updated-at 1650080176431} + {:block/name "重写和重载的区别在哪里", + :block/created-at 1657157575610, + :block/updated-at 1657157575610} + {:block/name "重定向和请求转发的区别是什么", + :block/created-at 1657157575683, + :block/updated-at 1657157575683} + {:block/name "银行系统,我给你168的数字,你应该给我多少张不同面额的人民币(口述如何实现)", + :block/created-at 1657157575272, + :block/updated-at 1657157575272} + {:block/name "链表", + :block/created-at 1650352878089, + :block/updated-at 1650352878089} + {:block/name "错误", + :block/created-at 1650331183914, + :block/updated-at 1650331183914} + {:block/name "长整型", + :block/created-at 1649215187857, + :block/updated-at 1649215187857} + {:block/name "队列", + :block/created-at 1657355430719, + :block/updated-at 1657355454822} + {:block/name "隐式转换", + :block/created-at 1649215192209, + :block/updated-at 1650078806887} + {:block/name "隐藏", + :block/created-at 1649406872653, + :block/updated-at 1649407122716} + {:block/name "集合", + :block/created-at 1650331179430, + :block/updated-at 1650331179430} + {:block/name "集合排序", + :block/created-at 1650337166202, + :block/updated-at 1650337166202} + {:block/name "集合的交并差", + :block/created-at 1650442624431, + :block/updated-at 1650444123272} + {:block/name "集合的分类,分别的特性是哪些", + :block/created-at 1657157575266, + :block/updated-at 1657157575266} + {:block/name "集群", + :block/created-at 1657157572489, + :block/updated-at 1657157572489} + {:block/name "静态代码块", + :block/created-at 1649820662225, + :block/updated-at 1649821000234} + {:block/name "静态多态", + :block/created-at 1649820624809, + :block/updated-at 1649820624809} + {:block/name "静态方法", + :block/created-at 1649046874845, + :block/updated-at 1649402739096} + {:block/name "非关系型数据库", + :block/created-at 1657157573088, + :block/updated-at 1657157573088} + {:block/name "面向对象", + :block/created-at 1650331188488, + :block/updated-at 1650331188488} + {:block/name "面向对象的定义", + :block/created-at 1649215195502, + :block/updated-at 1650079200182} + {:block/name "面向对象的特征", + :block/created-at 1649215195601, + :block/updated-at 1650080470333} + {:block/name "面向过程", + :block/created-at 1650331208988, + :block/updated-at 1650331208988} + {:block/name "页面加载很慢,有什么优化方案", + :block/created-at 1657157575682, + :block/updated-at 1657157575682} + {:block/name "项目中sql调优的场景有哪些,数据库调优如何做", + :block/created-at 1657157575434, + :block/updated-at 1657157575434} + {:block/name "项目中你们部署了多少台redis服务器,一般配置多少台,熟悉哨兵机制么", + :block/created-at 1657157575773, + :block/updated-at 1657157575773} + {:block/name "项目中有哪些设计是存在缺陷或者不合理的", + :block/created-at 1657157575977, + :block/updated-at 1657157575977} + {:block/name "项目中,关于鉴权你们是咋做的", + :block/created-at 1657157575844, + :block/updated-at 1657157575844} + {:block/name "项目部署没有 有没有经过压力测试 有没有经过渗透测试", + :block/created-at 1657157575954, + :block/updated-at 1657157575954} + {:block/name "驼峰命名法", + :block/created-at 1650331207814, + :block/updated-at 1650331207814} + {:block/name "高内聚", + :block/created-at 1649659951153, + :block/updated-at 1649660007868} + {:block/name "高级编程语言", + :block/created-at 1650331208985, + :block/updated-at 1650331208985} + {:block/name "魔法值", + :block/created-at 1650331201718, + :block/updated-at 1650331201718}] diff --git a/logseq-java/logseq/bak/logseq/pages-metadata/2022-08-10T14_03_53.042Z.edn b/logseq-java/logseq/bak/logseq/pages-metadata/2022-08-10T14_03_53.042Z.edn new file mode 100644 index 0000000..d9cc15d --- /dev/null +++ b/logseq-java/logseq/bak/logseq/pages-metadata/2022-08-10T14_03_53.042Z.edn @@ -0,0 +1,2932 @@ +[{:block/name "#{} 与 ${} 的区别", + :block/created-at 1657157575521, + :block/updated-at 1657157575521} + {:block/name "625e1ecf-25a9-4b64-8eab-042fd889a062", + :block/created-at 1650356920421, + :block/updated-at 1650356920421} + {:block/name "625e5ddf-aa2d-4567-8531-3ccc94628ef7", + :block/created-at 1650356975462, + :block/updated-at 1650356975462} + {:block/name "625fa874-b218-4044-ac16-b9de892cd9d2", + :block/created-at 1650439517817, + :block/updated-at 1650439517817} + {:block/name "625fe239-5548-4c66-ba66-f6fb1629b682", + :block/created-at 1650538810183, + :block/updated-at 1650538810183} + {:block/name "7大设计原则有哪些", + :block/created-at 1657157575549, + :block/updated-at 1657157575549} + {:block/name "@resource和@autowired的区别", + :block/created-at 1657157575624, + :block/updated-at 1657174764912} + {:block/name "[jdk", + :block/created-at 1650331207229, + :block/updated-at 1650331207229} + {:block/name "a", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "aba问题", + :block/created-at 1657260301766, + :block/updated-at 1657260301766} + {:block/name "abs", + :block/created-at 1649921407910, + :block/updated-at 1649921421829} + {:block/name "abstract", + :block/created-at 1649820627685, + :block/updated-at 1649820627685} + {:block/name "acid", + :block/created-at 1657260301815, + :block/updated-at 1657260301815} + {:block/name "add", + :block/created-at 1650331180462, + :block/updated-at 1650331180462} + {:block/name "addall", + :block/created-at 1650331180460, + :block/updated-at 1650331180460} + {:block/name "ajax怎么实现同步", + :block/created-at 1657157575674, + :block/updated-at 1657157575674} + {:block/name "apache", + :block/created-at 1657506094791, + :block/updated-at 1657506094791} + {:block/name "api", + :block/created-at 1649215178513, + :block/updated-at 1649904711721} + {:block/name "apifox", + :block/created-at 1658285395791, + :block/updated-at 1658285395791} + {:block/name "apppend", + :block/created-at 1649903790777, + :block/updated-at 1649903825473} + {:block/name "apr 11th, 2022", + :block/created-at 1649640912448, + :block/updated-at 1649676970820} + {:block/name "apr 12th, 2022", + :block/created-at 1649820616181, + :block/updated-at 1650074270128} + {:block/name "apr 13th, 2022", + :block/created-at 1649820618963, + :block/updated-at 1649847675738} + {:block/name "apr 14th, 2022", + :block/created-at 1649902256566, + :block/updated-at 1649945987130} + {:block/name "apr 15th, 2022", + :block/created-at 1650002649668, + :block/updated-at 1650010949968} + {:block/name "apr 16th, 2022", + :block/created-at 1650072826346, + :block/updated-at 1650089014547} + {:block/name "apr 17th, 2022", + :block/created-at 1650168842041, + :block/updated-at 1650168860312} + {:block/name "apr 18th, 2022", + :block/created-at 1650223242651, + :block/updated-at 1650263084206} + {:block/name "apr 19th, 2022", + :block/created-at 1650331174909, + :block/updated-at 1650370926105} + {:block/name "apr 20th, 2022", + :block/created-at 1650436211045, + :block/updated-at 1650458792346} + {:block/name "apr 21st, 2022", + :block/created-at 1650538807758, + :block/updated-at 1650539384945} + {:block/name "apr 22nd, 2022", + :block/created-at 1650608103235, + :block/updated-at 1650621414443} + {:block/name "apr 24th, 2022", + :block/created-at 1653189834622, + :block/updated-at 1653189834622} + {:block/name "apr 26th, 2022", + :block/created-at 1653189835132, + :block/updated-at 1653189835132} + {:block/name "apr 29th, 2022", + :block/created-at 1653189834791, + :block/updated-at 1653189834791} + {:block/name "apr 2nd, 2022", + :block/created-at 1649215177137, + :block/updated-at 1649215177137} + {:block/name "apr 4th, 2022", + :block/created-at 1649215177614, + :block/updated-at 1650080300255} + {:block/name "apr 5th, 2022", + :block/created-at 1649136689683, + :block/updated-at 1650080302016} + {:block/name "apr 6th, 2022", + :block/created-at 1649208205737, + :block/updated-at 1650079131663} + {:block/name "apr 7th, 2022", + :block/created-at 1649381376440, + :block/updated-at 1650079747001} + {:block/name "apr 8th, 2022", + :block/created-at 1649381365539, + :block/updated-at 1649411467229} + {:block/name "archive", + :block/created-at 1657260300397, + :block/updated-at 1657260300397} + {:block/name "arraycopy", + :block/created-at 1649917837922, + :block/updated-at 1649918067851} + {:block/name "arraylist", + :block/created-at 1650331179432, + :block/updated-at 1650348827846} + {:block/name "arraylist和linkedlist的区别", + :block/created-at 1657157575244, + :block/updated-at 1657157575244} + {:block/name "arraylist哪些操作效率较高", + :block/created-at 1657157575251, + :block/updated-at 1657157575251} + {:block/name "arrays", + :block/created-at 1649820616096, + :block/updated-at 1649908840194} + {:block/name "ascii", + :block/created-at 1649215178851, + :block/updated-at 1649215178851} + {:block/name "asicc", + :block/created-at 1650331210235, + :block/updated-at 1650331210235} + {:block/name "assert", + :block/created-at 1650331207765, + :block/updated-at 1650331207765} + {:block/name "at模式在运行过程中,如何进行2阶段处理的", + :block/created-at 1657157575941, + :block/updated-at 1657157575941} + {:block/name "aug 5th, 2022", + :block/created-at 1659689855270, + :block/updated-at 1659689882411} + {:block/name "aug 6th, 2022", + :block/created-at 1659753074238, + :block/updated-at 1659753074238} + {:block/name "aug 7th, 2022", + :block/created-at 1659871449525, + :block/updated-at 1659871449525} + {:block/name "aug 8th, 2022", + :block/created-at 1659924427005, + :block/updated-at 1659946242380} + {:block/name "axios", + :block/created-at 1658136594835, + :block/updated-at 1658136594835} + {:block/name "b", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "beanfactory 和 applicationcontext的区别", + :block/created-at 1657157575638, + :block/updated-at 1657157575638} + {:block/name "bigdecimal", + :block/created-at 1649820616115, + :block/updated-at 1650080799980} + {:block/name "binarysearch", + :block/created-at 1649907973557, + :block/updated-at 1649908366000} + {:block/name "boolean", + :block/created-at 1650331182912, + :block/updated-at 1650331182912} + {:block/name "break", + :block/created-at 1650331207782, + :block/updated-at 1650331207782} + {:block/name "bug", + :block/created-at 1658285718426, + :block/updated-at 1658285718426} + {:block/name "byte", + :block/created-at 1650331182938, + :block/updated-at 1650331182938} + {:block/name "c", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "calendar", + :block/created-at 1650010949968, + :block/updated-at 1650010949968} + {:block/name "canceled", + :block/created-at 1657158746425, + :block/updated-at 1657158746425} + {:block/name "cancelled", + :block/created-at 1657158746424, + :block/updated-at 1657158746424} + {:block/name "capacity", + :block/created-at 1649903884620, + :block/updated-at 1649903908726} + {:block/name "card", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "cas", + :block/created-at 1657260301761, + :block/updated-at 1657260301761} + {:block/name "case", + :block/created-at 1650331207780, + :block/updated-at 1650331207780} + {:block/name "catch", + :block/created-at 1650331184555, + :block/updated-at 1650331184555} + {:block/name "cd", + :block/created-at 1650636328680, + :block/updated-at 1650636328680} + {:block/name "cd命令", + :block/created-at 1649215179586, + :block/updated-at 1649215179586} + {:block/name "char", + :block/created-at 1649833778899, + :block/updated-at 1649833778899} + {:block/name "character", + :block/created-at 1650331182914, + :block/updated-at 1650331182914} + {:block/name "charat", + :block/created-at 1649835616900, + :block/updated-at 1649835657620} + {:block/name "chmod 改用户组的权限", + :block/created-at 1657157575815, + :block/updated-at 1657157575815} + {:block/name "chmod如何改用户组的权限", + :block/created-at 1657157575825, + :block/updated-at 1657157575825} + {:block/name "class", + :block/created-at 1650331201916, + :block/updated-at 1650331201916} + {:block/name "classcastexception", + :block/created-at 1649820623100, + :block/updated-at 1649820623100} + {:block/name "classpath", + :block/created-at 1649046900886, + :block/updated-at 1649046900886} + {:block/name "clear", + :block/created-at 1650335084176, + :block/updated-at 1650335084176} + {:block/name "cls", + :block/created-at 1650636328684, + :block/updated-at 1650636328684} + {:block/name "cluster", + :block/created-at 1657506244977, + :block/updated-at 1657506244977} + {:block/name "cmd", + :block/created-at 1650636328679, + :block/updated-at 1650636328679} + {:block/name "collection", + :block/created-at 1650331180761, + :block/updated-at 1650331180761} + {:block/name "collection 和 collections 有什么区别", + :block/created-at 1657157575278, + :block/updated-at 1657175108979} + {:block/name "collection 和 collections 的区别是啥", + :block/created-at 1657157575232, + :block/updated-at 1657175126785} + {:block/name "collections", + :block/created-at 1650337483294, + :block/updated-at 1650337483294} + {:block/name "collection集合和map体系集合的区别", + :block/created-at 1657157575219, + :block/updated-at 1657175028091} + {:block/name "comparable", + :block/created-at 1650338110003, + :block/updated-at 1650338110003} + {:block/name "compareto", + :block/created-at 1650338276027, + :block/updated-at 1650338276027} + {:block/name "concat", + :block/created-at 1649835693143, + :block/updated-at 1649835712994} + {:block/name "concurrenthashmap为什么是线程安全的,如何做到的", + :block/created-at 1657157575214, + :block/updated-at 1657157575214} + {:block/name "const", + :block/created-at 1650331207742, + :block/updated-at 1650331207742} + {:block/name "contains", + :block/created-at 1649835911558, + :block/updated-at 1649835938222} + {:block/name "contents", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "continue", + :block/created-at 1650331207780, + :block/updated-at 1650331207780} + {:block/name "cookie", + :block/created-at 1658131515763, + :block/updated-at 1658131515763} + {:block/name "copyof", + :block/created-at 1649908412989, + :block/updated-at 1649908629426} + {:block/name "currenthashmap的在jdk1.7和1.8期间分别的特征", + :block/created-at 1657157575281, + :block/updated-at 1657157575281} + {:block/name "currenttimemillis", + :block/created-at 1649916949834, + :block/updated-at 1649917211744} + {:block/name "c语言", + :block/created-at 1650331202482, + :block/updated-at 1650331202482} + {:block/name "date", + :block/created-at 1650007668146, + :block/updated-at 1650011002661} + {:block/name "dcl", + :block/created-at 1653189837403, + :block/updated-at 1653189837403} + {:block/name "ddl", + :block/created-at 1653189837402, + :block/updated-at 1653189837402} + {:block/name "debug", + :block/created-at 1650331209846, + :block/updated-at 1650331209846} + {:block/name "default", + :block/created-at 1649820628349, + :block/updated-at 1649820628349} + {:block/name "delete", + :block/created-at 1649904577387, + :block/updated-at 1649904591211} + {:block/name "dir", + :block/created-at 1650636328682, + :block/updated-at 1650636328682} + {:block/name "dml", + :block/created-at 1653189837403, + :block/updated-at 1653189837403} + {:block/name "do", + :block/created-at 1650331207777, + :block/updated-at 1650331207777} + {:block/name "do while 循环", + :block/created-at 1649215179219, + :block/updated-at 1649663083940} + {:block/name "docker", + :block/created-at 1657157572523, + :block/updated-at 1657157572523} + {:block/name "doing", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "done", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "dos", + :block/created-at 1649215179619, + :block/updated-at 1649215179619} + {:block/name "dos命令", + :block/created-at 1649215189875, + :block/updated-at 1650076504661} + {:block/name "double", + :block/created-at 1650331182916, + :block/updated-at 1650331182916} + {:block/name "dql", + :block/created-at 1653189837405, + :block/updated-at 1653189837405} + {:block/name "eclipse", + :block/created-at 1649215180218, + :block/updated-at 1649215180218} + {:block/name "elasticsearch", + :block/created-at 1657505788966, + :block/updated-at 1657521231447} + {:block/name "elasticsearch分页", + :block/created-at 1657605831432, + :block/updated-at 1657605831432} + {:block/name "elasticsearch条件查询", + :block/created-at 1657605814458, + :block/updated-at 1657605814458} + {:block/name "elementui", + :block/created-at 1658285388756, + :block/updated-at 1658285388756} + {:block/name "else", + :block/created-at 1650331207775, + :block/updated-at 1650331207775} + {:block/name "endwith", + :block/created-at 1649836221975, + :block/updated-at 1649836247635} + {:block/name "entryset", + :block/created-at 1650436841283, + :block/updated-at 1650436841283} + {:block/name "equals", + :block/created-at 1649908827534, + :block/updated-at 1649908893803} + {:block/name "equalsignorecase", + :block/created-at 1649836127664, + :block/updated-at 1649836146217} + {:block/name "es实现全文检索的原理是什么", + :block/created-at 1657157575806, + :block/updated-at 1657157575806} + {:block/name "es怎么保持和数据库的一致性", + :block/created-at 1657157575801, + :block/updated-at 1657157575801} + {:block/name "es怎么配权重 可以做数据库吗", + :block/created-at 1657157575804, + :block/updated-at 1657157575804} + {:block/name "es查询一个张三,李四。张三名字可能会重复,要按照张三的生日去进行排序,这个es语句怎么写", + :block/created-at 1657157575809, + :block/updated-at 1657157575809} + {:block/name "eureka", + :block/created-at 1659924483846, + :block/updated-at 1659940224755} + {:block/name "eureka关闭之后,其他的微服务之间还能调用么", + :block/created-at 1657157575915, + :block/updated-at 1657157575915} + {:block/name "eureka如何搭建,如何才能规避因为网络原因导致客户端大面积下线的情况", + :block/created-at 1657157575905, + :block/updated-at 1657157575905} + {:block/name "eureka高可用怎么配置", + :block/created-at 1657157575908, + :block/updated-at 1657157575908} + {:block/name "exception", + :block/created-at 1650331184795, + :block/updated-at 1650331184795} + {:block/name "exit", + :block/created-at 1649215179615, + :block/updated-at 1649916724459} + {:block/name "extends", + :block/created-at 1650331207798, + :block/updated-at 1650331207798} + {:block/name "false", + :block/created-at 1650331207809, + :block/updated-at 1650331207809} + {:block/name "favorites", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "feign远程调用的时候,如何确保feign接口的参数和controller层方法参数一致", + :block/created-at 1657157575891, + :block/updated-at 1657157575891} + {:block/name "feishu+logseq", + :block/created-at 1657157736107, + :block/updated-at 1657157736107} + {:block/name "fifo", + :block/created-at 1657355454820, + :block/updated-at 1657355466851} + {:block/name "file", + :block/created-at 1650446851612, + :block/updated-at 1650446871486} + {:block/name "fileinputstream", + :block/created-at 1650636329173, + :block/updated-at 1650636329173} + {:block/name "fileoutputstream", + :block/created-at 1650636329176, + :block/updated-at 1650636329176} + {:block/name "filereader", + :block/created-at 1650636327436, + :block/updated-at 1650636327436} + {:block/name "filewriter", + :block/created-at 1650636327437, + :block/updated-at 1650636327437} + {:block/name "final", + :block/created-at 1649820616029, + :block/updated-at 1650080286912} + {:block/name "final 在 java 中有什么作用", + :block/created-at 1657157575580, + :block/updated-at 1657157575580} + {:block/name "finalize", + :block/created-at 1650331203492, + :block/updated-at 1650331203492} + {:block/name "finally", + :block/created-at 1650331184801, + :block/updated-at 1650331184801} + {:block/name "firewall", + :block/created-at 1657157571748, + :block/updated-at 1657157571748} + {:block/name "float", + :block/created-at 1650331182923, + :block/updated-at 1650331182923} + {:block/name "for", + :block/created-at 1650331207774, + :block/updated-at 1650331207774} + {:block/name "foreach", + :block/created-at 1650436600460, + :block/updated-at 1650436600460} + {:block/name "forward和redirect的区别", + :block/created-at 1657157575647, + :block/updated-at 1657157575647} + {:block/name "for循环", + :block/created-at 1649215180627, + :block/updated-at 1649215180627} + {:block/name "gc", + :block/created-at 1649916808383, + :block/updated-at 1649916884486} + {:block/name "get", + :block/created-at 1650331180485, + :block/updated-at 1650331180485} + {:block/name "getbytes", + :block/created-at 1649836292118, + :block/updated-at 1649836382319} + {:block/name "getordefault", + :block/created-at 1650436211926, + :block/updated-at 1650436211926} + {:block/name "getproperties", + :block/created-at 1649918250765, + :block/updated-at 1649918291655} + {:block/name "getproperty", + :block/created-at 1650636324585, + :block/updated-at 1650636324585} + {:block/name "getter", + :block/created-at 1649215195546, + :block/updated-at 1649215195546} + {:block/name "getter与setter", + :block/created-at 1649215195544, + :block/updated-at 1649410098646} + {:block/name "git", + :block/created-at 1658285405665, + :block/updated-at 1658285405665} + {:block/name "git回退上个版本,用什么命令 切换分支用哪个命令", + :block/created-at 1657157576002, + :block/updated-at 1657157576002} + {:block/name "gof32", + :block/created-at 1657519570576, + :block/updated-at 1657519570576} + {:block/name "goto", + :block/created-at 1650331207743, + :block/updated-at 1650331207743} + {:block/name "hash", + :block/created-at 1650360029789, + :block/updated-at 1650360029789} + {:block/name "hashcode", + :block/created-at 1650360468015, + :block/updated-at 1650360468015} + {:block/name "hashmap", + :block/created-at 1650331188284, + :block/updated-at 1650437500583} + {:block/name "hashmap 什么情况下会产生死锁的问题如何解决", + :block/created-at 1657157575238, + :block/updated-at 1657157575238} + {:block/name "hashmap 和 hashtable 有什么区别", + :block/created-at 1657157575258, + :block/updated-at 1657157575258} + {:block/name "hashmap为什么要重写hashcode", + :block/created-at 1657157575253, + :block/updated-at 1657157575253} + {:block/name "hashmap和concurrenthashmap的区别", + :block/created-at 1657157575205, + :block/updated-at 1657157575205} + {:block/name "hashmap在jdk1.7和jdk1.8的区别", + :block/created-at 1657157575221, + :block/updated-at 1657157575221} + {:block/name "hashmap在什么情况下单链表需要转为红黑树", + :block/created-at 1657157575213, + :block/updated-at 1657157575213} + {:block/name "hashmap的put方法的执行过程", + :block/created-at 1657157575263, + :block/updated-at 1657157575263} + {:block/name "hashmap的底层原理是什么,如何扩容,并解决hash碰撞的", + :block/created-at 1657157575211, + :block/updated-at 1657157575211} + {:block/name "hashmap的底层是如何解决hash碰撞的", + :block/created-at 1657157575275, + :block/updated-at 1657157575275} + {:block/name "hashset", + :block/created-at 1650331188266, + :block/updated-at 1650360468020} + {:block/name "hashset的去重原理", + :block/created-at 1657157575223, + :block/updated-at 1657157575223} + {:block/name "hashtable", + :block/created-at 1650331188289, + :block/updated-at 1650441150118} + {:block/name "helloworld", + :block/created-at 1649215184171, + :block/updated-at 1649215184171} + {:block/name "helloworld详解", + :block/created-at 1649215181043, + :block/updated-at 1650080658895} + {:block/name "html", + :block/created-at 1653533260514, + :block/updated-at 1653533260514} + {:block/name "http", + :block/created-at 1650636328185, + :block/updated-at 1650636328185} + {:block/name "https", + :block/created-at 1650636328187, + :block/updated-at 1650636328187} + {:block/name "https 通讯协议是如何实现的 它的加密方式是什么", + :block/created-at 1657157575671, + :block/updated-at 1657157575671} + {:block/name "http协议中get与post提交方法的区别在哪里", + :block/created-at 1657157575697, + :block/updated-at 1657157575697} + {:block/name "http通讯协议分为几个部分 请求协议的组成", + :block/created-at 1657157575677, + :block/updated-at 1657157575677} + {:block/name "hutool", + :block/created-at 1658286392644, + :block/updated-at 1658286392644} + {:block/name "id", + :block/created-at 1653533277502, + :block/updated-at 1653533277502} + {:block/name "ide", + :block/created-at 1649215181722, + :block/updated-at 1649215181722} + {:block/name "idea", + :block/created-at 1649215181400, + :block/updated-at 1649215181400} + {:block/name "ide集成开发环境", + :block/created-at 1649215181741, + :block/updated-at 1650077056039} + {:block/name "ieda", + :block/created-at 1649899367370, + :block/updated-at 1649899367370} + {:block/name "if", + :block/created-at 1650331207773, + :block/updated-at 1650331207773} + {:block/name "if判断", + :block/created-at 1649215182055, + :block/updated-at 1649215182055} + {:block/name "implements", + :block/created-at 1649820628343, + :block/updated-at 1649820628343} + {:block/name "import", + :block/created-at 1650331207758, + :block/updated-at 1650331207758} + {:block/name "in 与 exits 的区别是什么", + :block/created-at 1657157575513, + :block/updated-at 1657157575513} + {:block/name "in-progress", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "indexof", + :block/created-at 1649835497490, + :block/updated-at 1649835538531} + {:block/name "inetaddress", + :block/created-at 1650608103135, + :block/updated-at 1650608103135} + {:block/name "innodb", + :block/created-at 1657260300388, + :block/updated-at 1657260300388} + {:block/name "innodb的行级锁什么情况下会使用", + :block/created-at 1657157575444, + :block/updated-at 1657157575444} + {:block/name "input", + :block/created-at 1650445980901, + :block/updated-at 1650445980901} + {:block/name "inputstream", + :block/created-at 1650446813903, + :block/updated-at 1650446813903} + {:block/name "insert", + :block/created-at 1649903806330, + :block/updated-at 1649903868046} + {:block/name "instanceof", + :block/created-at 1649820619771, + :block/updated-at 1649820619771} + {:block/name "int", + :block/created-at 1650331180468, + :block/updated-at 1650331180468} + {:block/name "integer", + :block/created-at 1650331180465, + :block/updated-at 1650331180465} + {:block/name "interator", + :block/created-at 1650336046007, + :block/updated-at 1650336046007} + {:block/name "interface", + :block/created-at 1649820628334, + :block/updated-at 1649820628334} + {:block/name "intern", + :block/created-at 1649839118741, + :block/updated-at 1649839223715} + {:block/name "ioc", + :block/created-at 1655521624374, + :block/updated-at 1655521624374} + {:block/name "io流", + :block/created-at 1650445947413, + :block/updated-at 1650446894652} + {:block/name "io流的分类有哪些", + :block/created-at 1657157575597, + :block/updated-at 1657157575597} + {:block/name "ip", + :block/created-at 1650636323812, + :block/updated-at 1650636323812} + {:block/name "ipconfig", + :block/created-at 1649215179610, + :block/updated-at 1649215179610} + {:block/name "isempty", + :block/created-at 1649837951779, + :block/updated-at 1649838007283} + {:block/name "iterable", + :block/created-at 1650336032868, + :block/updated-at 1650336032868} + {:block/name "jar", + :block/created-at 1649046906538, + :block/updated-at 1649046906538} + {:block/name "java ee", + :block/created-at 1650331202476, + :block/updated-at 1650331202476} + {:block/name "java me", + :block/created-at 1650331202478, + :block/updated-at 1650331202478} + {:block/name "java se", + :block/created-at 1650331202479, + :block/updated-at 1650331202479} + {:block/name "java_home", + :block/created-at 1650331203282, + :block/updated-at 1650331203282} + {:block/name "javabean", + :block/created-at 1649647591986, + :block/updated-at 1649647591986} + {:block/name "javabean规范", + :block/created-at 1649215195533, + :block/updated-at 1649647838288} + {:block/name "javascript", + :block/created-at 1653196611287, + :block/updated-at 1653196611287} + {:block/name "java中异常的分类,分别说说都哪些具体的异常", + :block/created-at 1657157575603, + :block/updated-at 1657157575603} + {:block/name "java发展历程", + :block/created-at 1649215183072, + :block/updated-at 1650252383200} + {:block/name "java的反射,在哪些地方有过应用", + :block/created-at 1657157575586, + :block/updated-at 1657157575586} + {:block/name "java程序注释", + :block/created-at 1649215181735, + :block/updated-at 1650078753268} + {:block/name "java跨平台原理", + :block/created-at 1649215183676, + :block/updated-at 1649215183676} + {:block/name "java面试", + :block/created-at 1649215183909, + :block/updated-at 1650621154779} + {:block/name "jdbc", + :block/created-at 1653189834789, + :block/updated-at 1653189834789} + {:block/name "jdbc如何提升读取数据的性能", + :block/created-at 1657157575481, + :block/updated-at 1657157575481} + {:block/name "jdk", + :block/created-at 1650331202498, + :block/updated-at 1650331202498} + {:block/name "jdk1", + :block/created-at 1650420404818, + :block/updated-at 1650420404818} + {:block/name "jdk1.8 针对synchronized,都做过哪些优化", + :block/created-at 1657157575385, + :block/updated-at 1657157575385} + {:block/name "jdk1.8日期api", + :block/created-at 1650245515564, + :block/updated-at 1650252002875} + {:block/name "jdk1.8的新特性,你都用过哪些", + :block/created-at 1657157575570, + :block/updated-at 1657157575570} + {:block/name "jdk1/8日期api", + :block/created-at 1650420404816, + :block/updated-at 1650420404816} + {:block/name "jdk8", + :block/created-at 1650331203276, + :block/updated-at 1650331203276} + {:block/name "jdk中有哪些队列", + :block/created-at 1657157575254, + :block/updated-at 1657157575254} + {:block/name "jdk环境搭建", + :block/created-at 1649215184182, + :block/updated-at 1650076882949} + {:block/name "jdk,jre,jvm的区别", + :block/created-at 1657157575609, + :block/updated-at 1657157575609} + {:block/name "jit编译器", + :block/created-at 1649215183674, + :block/updated-at 1649215183674} + {:block/name "jquery", + :block/created-at 1653533260326, + :block/updated-at 1653533260326} + {:block/name "jre", + :block/created-at 1650331202501, + :block/updated-at 1650331202501} + {:block/name "json", + :block/created-at 1657765252670, + :block/updated-at 1657765252670} + {:block/name "json格式长什么样 那么jsonarray呢", + :block/created-at 1657157575684, + :block/updated-at 1657157575684} + {:block/name "json的解析框架,你用过什么", + :block/created-at 1657157575679, + :block/updated-at 1657157575679} + {:block/name "jul 11th, 2022", + :block/created-at 1657505750996, + :block/updated-at 1657527583379} + {:block/name "jul 12th, 2022", + :block/created-at 1657605770644, + :block/updated-at 1657606387138} + {:block/name "jul 13th, 2022", + :block/created-at 1657765252229, + :block/updated-at 1657765252229} + {:block/name "jul 14th, 2022", + :block/created-at 1657765252003, + :block/updated-at 1658107900019} + {:block/name "jul 18th, 2022", + :block/created-at 1658107861830, + :block/updated-at 1658131485084} + {:block/name "jul 19th, 2022", + :block/created-at 1658196365763, + :block/updated-at 1658221260883} + {:block/name "jul 20th, 2022", + :block/created-at 1658246455182, + :block/updated-at 1658285015264} + {:block/name "jul 21st, 2022", + :block/created-at 1658285015264, + :block/updated-at 1658285015264} + {:block/name "jul 22nd, 2022", + :block/created-at 1658285464891, + :block/updated-at 1658285464891} + {:block/name "jul 26th, 2022", + :block/created-at 1658285464890, + :block/updated-at 1658285464890} + {:block/name "jul 27th, 2022", + :block/created-at 1658285501001, + :block/updated-at 1658285501001} + {:block/name "jul 28th, 2022", + :block/created-at 1658285534476, + :block/updated-at 1658285534476} + {:block/name "jul 5th, 2022", + :block/created-at 1657157570502, + :block/updated-at 1657157570502} + {:block/name "jul 6th, 2022", + :block/created-at 1657157571024, + :block/updated-at 1657157571024} + {:block/name "jul 7th, 2022", + :block/created-at 1657157756946, + :block/updated-at 1657175137574} + {:block/name "jul 8th, 2022", + :block/created-at 1657260300914, + :block/updated-at 1657260300914} + {:block/name "jul 9th, 2022", + :block/created-at 1657347478674, + :block/updated-at 1657355378817} + {:block/name "jun 18th, 2022", + :block/created-at 1655521479175, + :block/updated-at 1655521671791} + {:block/name "jvm", + :block/created-at 1649215183650, + :block/updated-at 1649215183650} + {:block/name "jvm参数调优的总结", + :block/created-at 1657157575424, + :block/updated-at 1657157575424} + {:block/name "jvm虚拟机的原理", + :block/created-at 1657157575393, + :block/updated-at 1657157575393} + {:block/name "jwt", + :block/created-at 1658131485079, + :block/updated-at 1658278897838} + {:block/name "key-value", + :block/created-at 1650436212227, + :block/updated-at 1650436212227} + {:block/name "keyset", + :block/created-at 1650436211939, + :block/updated-at 1650436211939} + {:block/name "kibana", + :block/created-at 1657520916137, + :block/updated-at 1657521121553} + {:block/name "lastindexof", + :block/created-at 1649838687566, + :block/updated-at 1649838774931} + {:block/name "later", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "length", + :block/created-at 1649903970896, + :block/updated-at 1649904234147} + {:block/name "like 后 加% 和 加_ 的区别在哪里", + :block/created-at 1657157575466, + :block/updated-at 1657157575466} + {:block/name "linkedhashmap", + :block/created-at 1650331188291, + :block/updated-at 1650441023708} + {:block/name "linkedhashset", + :block/created-at 1650331188275, + :block/updated-at 1650331188275} + {:block/name "linkedlist", + :block/created-at 1650331188258, + :block/updated-at 1650353801524} + {:block/name "linux", + :block/created-at 1650636328185, + :block/updated-at 1657077033275} + {:block/name "linux如何查看资源的使用情况", + :block/created-at 1657157575823, + :block/updated-at 1657157575823} + {:block/name "list", + :block/created-at 1650331180488, + :block/updated-at 1650331180488} + {:block/name "list、set、map区别", + :block/created-at 1657157575261, + :block/updated-at 1657157575261} + {:block/name "localdate", + :block/created-at 1650331181445, + :block/updated-at 1650331181445} + {:block/name "localdatetime", + :block/created-at 1650331181452, + :block/updated-at 1650331181452} + {:block/name "localtime", + :block/created-at 1650331181450, + :block/updated-at 1650331181450} + {:block/name "long", + :block/created-at 1650331182927, + :block/updated-at 1650331182927} + {:block/name "lucene", + :block/created-at 1657505769974, + :block/updated-at 1657505769974} + {:block/name "map", + :block/created-at 1650331188282, + :block/updated-at 1650331188282} + {:block/name "mar 28th, 2022", + :block/created-at 1649215173281, + :block/updated-at 1650073748268} + {:block/name "mar 29th, 2022", + :block/created-at 1649215175590, + :block/updated-at 1650073682635} + {:block/name "mar 30th, 2022", + :block/created-at 1649215176050, + :block/updated-at 1650073680281} + {:block/name "mar 31st, 2022", + :block/created-at 1649215176519, + :block/updated-at 1650073677109} + {:block/name "math", + :block/created-at 1649820616108, + :block/updated-at 1649922233529} + {:block/name "max", + :block/created-at 1649921590842, + :block/updated-at 1649921626166} + {:block/name "may 10th, 2022", + :block/created-at 1653189835750, + :block/updated-at 1653189835750} + {:block/name "may 11th, 2022", + :block/created-at 1653189836037, + :block/updated-at 1653189836037} + {:block/name "may 12th, 2022", + :block/created-at 1653189836189, + :block/updated-at 1653189836189} + {:block/name "may 21st, 2022", + :block/created-at 1653533260545, + :block/updated-at 1653533260545} + {:block/name "may 22nd, 2022", + :block/created-at 1653189833879, + :block/updated-at 1653196611289} + {:block/name "may 23rd, 2022", + :block/created-at 1653533260331, + :block/updated-at 1653533260331} + {:block/name "memory", + :block/created-at 1657260300394, + :block/updated-at 1657260300394} + {:block/name "min", + :block/created-at 1649921626164, + :block/updated-at 1649921675028} + {:block/name "mq是什么 你用过哪个 怎么配置的", + :block/created-at 1657157575742, + :block/updated-at 1657157575742} + {:block/name "mq是如何保证消息不丢失的", + :block/created-at 1657157575710, + :block/updated-at 1657157575710} + {:block/name "mq的工作原理", + :block/created-at 1657157575712, + :block/updated-at 1657157575712} + {:block/name "mybatis", + :block/created-at 1653189836188, + :block/updated-at 1653189836188} + {:block/name "mybatisplus", + :block/created-at 1658285370864, + :block/updated-at 1658285370864} + {:block/name "mybatis和mybatisplus 你在项目中,哪个用的较多", + :block/created-at 1657157575925, + :block/updated-at 1657157575925} + {:block/name "mybatis如何防止sql注入", + :block/created-at 1657157575535, + :block/updated-at 1657157575535} + {:block/name "mybatis的一二级缓存是什么样的", + :block/created-at 1657157575529, + :block/updated-at 1657157575529} + {:block/name "mybatis的实现原理", + :block/created-at 1657157575523, + :block/updated-at 1657157575523} + {:block/name "mybatis级联的配置", + :block/created-at 1657157575526, + :block/updated-at 1657157575526} + {:block/name "mybits的缺点有哪些", + :block/created-at 1657157575533, + :block/updated-at 1657157575533} + {:block/name "myisam", + :block/created-at 1657260300391, + :block/updated-at 1657260300391} + {:block/name "mysql", + :block/created-at 1653189835123, + :block/updated-at 1653189835123} + {:block/name "mysql中存储引擎innodb,myisam的区别在哪里", + :block/created-at 1657157575514, + :block/updated-at 1657157575514} + {:block/name "mysql中锁机制", + :block/created-at 1657157575516, + :block/updated-at 1657157575516} + {:block/name "mysql数据库的my.ini文件中可以配置什么参数", + :block/created-at 1657157575518, + :block/updated-at 1657157575518} + {:block/name "mysql数据库索引是用什么数据结构存储的", + :block/created-at 1657157575455, + :block/updated-at 1657157575455} + {:block/name "mysql的ini文件,都有些参数可以配置", + :block/created-at 1657157575923, + :block/updated-at 1657157575923} + {:block/name "nacos 与 eureka的区别", + :block/created-at 1657157575847, + :block/updated-at 1657157575847} + {:block/name "nanatime", + :block/created-at 1649917202891, + :block/updated-at 1649917272720} + {:block/name "native", + :block/created-at 1650331207792, + :block/updated-at 1650331207792} + {:block/name "new", + :block/created-at 1649403626648, + :block/updated-at 1649403626648} + {:block/name "nextint", + :block/created-at 1649922298235, + :block/updated-at 1649922333932} + {:block/name "nginx反向代理原理", + :block/created-at 1657157575820, + :block/updated-at 1657157575820} + {:block/name "nginx服务器", + :block/created-at 1657157570492, + :block/updated-at 1657157570492} + {:block/name "nginx的负载均衡策略", + :block/created-at 1657157575822, + :block/updated-at 1657157575822} + {:block/name "nginx都配置过什么 如何做负载配置,都哪些负载算法", + :block/created-at 1657157575917, + :block/updated-at 1657157575917} + {:block/name "ngnix代理配置是在哪个文件", + :block/created-at 1657157575919, + :block/updated-at 1657157575919} + {:block/name "node", + :block/created-at 1650352942083, + :block/updated-at 1650352942083} + {:block/name "node.js", + :block/created-at 1658107863813, + :block/updated-at 1658107863813} + {:block/name "now", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "npm", + :block/created-at 1658107863809, + :block/updated-at 1658107863809} + {:block/name "null", + :block/created-at 1649838007282, + :block/updated-at 1649838007282} + {:block/name "object", + :block/created-at 1649821953338, + :block/updated-at 1650080726649} + {:block/name "objectinputstream", + :block/created-at 1650636327636, + :block/updated-at 1650636327636} + {:block/name "objectoutputstream", + :block/created-at 1650636327631, + :block/updated-at 1650636327631} + {:block/name "object类常用api", + :block/created-at 1649820616092, + :block/updated-at 1649832104628} + {:block/name "object类的常见方法都有哪些", + :block/created-at 1657157575602, + :block/updated-at 1657157575602} + {:block/name "openfeign的工作原理,是如何调用服务的", + :block/created-at 1657157575885, + :block/updated-at 1657157575885} + {:block/name "osi", + :block/created-at 1650636324913, + :block/updated-at 1650636324913} + {:block/name "osi七层模型,大概了解么", + :block/created-at 1657157575547, + :block/updated-at 1657157575547} + {:block/name "output", + :block/created-at 1650446894651, + :block/updated-at 1650446894651} + {:block/name "outputstream", + :block/created-at 1650446827925, + :block/updated-at 1650446827925} + {:block/name "package", + :block/created-at 1650331207757, + :block/updated-at 1650331207757} + {:block/name "pascal命名法", + :block/created-at 1650339181951, + :block/updated-at 1650339181951} + {:block/name "path", + :block/created-at 1650331203283, + :block/updated-at 1650331203283} + {:block/name "ping", + :block/created-at 1650636328184, + :block/updated-at 1650636328184} + {:block/name "pow", + :block/created-at 1649921481890, + :block/updated-at 1649921494395} + {:block/name "powerdesigner", + :block/created-at 1658201426767, + :block/updated-at 1658201485625} + {:block/name "printstream", + :block/created-at 1650636327005, + :block/updated-at 1650636327005} + {:block/name "printwrite", + :block/created-at 1650636327001, + :block/updated-at 1650636327001} + {:block/name "private", + :block/created-at 1649405605908, + :block/updated-at 1649405605908} + {:block/name "properties", + :block/created-at 1650538806180, + :block/updated-at 1650538806180} + {:block/name "protected", + :block/created-at 1649405676627, + :block/updated-at 1649405676627} + {:block/name "public", + :block/created-at 1649405555717, + :block/updated-at 1649405555717} + {:block/name "put", + :block/created-at 1650436211914, + :block/updated-at 1650436211914} + {:block/name "putall", + :block/created-at 1650436211920, + :block/updated-at 1650436211920} + {:block/name "quene", + :block/created-at 1650331188279, + :block/updated-at 1650331188279} + {:block/name "rabbitmq", + :block/created-at 1657355562900, + :block/updated-at 1657355562900} + {:block/name "rabbitmq怎么实现订单延迟支付", + :block/created-at 1657157575737, + :block/updated-at 1657157575737} + {:block/name "random", + :block/created-at 1649820616112, + :block/updated-at 1649924607589} + {:block/name "random(long seed)", + :block/created-at 1649924607584, + :block/updated-at 1649924851662} + {:block/name "reader", + :block/created-at 1650636327434, + :block/updated-at 1650636327434} + {:block/name "redis", + :block/created-at 1657157570992, + :block/updated-at 1657244216739} + {:block/name "redis 有哪些功能", + :block/created-at 1657157575762, + :block/updated-at 1657157575762} + {:block/name "redis 都有哪些使用场景", + :block/created-at 1657157575760, + :block/updated-at 1657157575760} + {:block/name "redis主从复制", + :block/created-at 1657260300907, + :block/updated-at 1657260300907} + {:block/name "redis哨兵模式", + :block/created-at 1657260300909, + :block/updated-at 1657260300909} + {:block/name "redis如何保证与数据库的数据一致性问题", + :block/created-at 1657157575786, + :block/updated-at 1657157575786} + {:block/name "redis如何配置rdb", + :block/created-at 1657157575798, + :block/updated-at 1657157575798} + {:block/name "redis持久化机制中aof与rdb区别在哪里", + :block/created-at 1657157575795, + :block/updated-at 1657157575795} + {:block/name "redis支持的数据类型", + :block/created-at 1657157575747, + :block/updated-at 1657157575747} + {:block/name "redis是原子性的吗 是线程安全的吗 多线程还是单线程", + :block/created-at 1657157575768, + :block/updated-at 1657157575768} + {:block/name "redis的5种数据类型,分别的使用场景", + :block/created-at 1657157575790, + :block/updated-at 1657157575790} + {:block/name "redis的分布式锁用过没 描述一下", + :block/created-at 1657157575781, + :block/updated-at 1657157575781} + {:block/name "redis的单线程原理是什么 如果有10个用户同时操作redis,那么redis是否按照先后顺序来处理情况", + :block/created-at 1657157575779, + :block/updated-at 1657157575779} + {:block/name "redis的持久化方式,以及各自的区别,项目中用的哪一种,怎么配置的", + :block/created-at 1657157575749, + :block/updated-at 1657157575749} + {:block/name "redis的特性是哪些,可以用来干嘛", + :block/created-at 1657157575770, + :block/updated-at 1657157575770} + {:block/name "redis设置永不过期也可以解决缓存击穿,为什么还要用分布式锁", + :block/created-at 1657157575784, + :block/updated-at 1657157575784} + {:block/name "redis集群知道么,如何实现", + :block/created-at 1657157575792, + :block/updated-at 1657157575792} + {:block/name "remove", + :block/created-at 1650333533358, + :block/updated-at 1650333533358} + {:block/name "replace", + :block/created-at 1649838588236, + :block/updated-at 1649838619697} + {:block/name "resttemplate", + :block/created-at 1657765252874, + :block/updated-at 1657765252874} + {:block/name "return", + :block/created-at 1650331184814, + :block/updated-at 1650331184814} + {:block/name "reverse", + :block/created-at 1649904667332, + :block/updated-at 1649904675927} + {:block/name "ribbon", + :block/created-at 1659946242378, + :block/updated-at 1659946302052} + {:block/name "round", + :block/created-at 1649921704008, + :block/updated-at 1650080814216} + {:block/name "runtime", + :block/created-at 1649918504012, + :block/updated-at 1649918813803} + {:block/name "runtimeexception", + :block/created-at 1650331187320, + :block/updated-at 1650331187320} + {:block/name "seata是三大核心组件是哪些,他们分别的作用是什么", + :block/created-at 1657157575936, + :block/updated-at 1657157575936} + {:block/name "seata的at模式与tcc模式区别在哪里", + :block/created-at 1657157575938, + :block/updated-at 1657157575938} + {:block/name + "select count(*) ,select count(1),select count(字段) 说一下区别", + :block/created-at 1657157575483, + :block/updated-at 1657157575483} + {:block/name "serialization", + :block/created-at 1650636327633, + :block/updated-at 1650636327633} + {:block/name "servlet的生命周期", + :block/created-at 1657157575686, + :block/updated-at 1657157575686} + {:block/name "session", + :block/created-at 1658131520703, + :block/updated-at 1658131520703} + {:block/name "set", + :block/created-at 1650331188263, + :block/updated-at 1650356367381} + {:block/name "setcharat", + :block/created-at 1649904278600, + :block/updated-at 1649904278600} + {:block/name "setproperty", + :block/created-at 1650636324584, + :block/updated-at 1650636324584} + {:block/name "setter", + :block/created-at 1649409509939, + :block/updated-at 1649409509939} + {:block/name "shiro的执行流程", + :block/created-at 1657157575704, + :block/updated-at 1657157575704} + {:block/name "short", + :block/created-at 1650331182933, + :block/updated-at 1650331182933} + {:block/name "size", + :block/created-at 1650331180482, + :block/updated-at 1650331180482} + {:block/name "sleep()和wait() 的区别", + :block/created-at 1657157575358, + :block/updated-at 1657157575358} + {:block/name "socket", + :block/created-at 1650608105322, + :block/updated-at 1650617759892} + {:block/name "solr", + :block/created-at 1657505775782, + :block/updated-at 1657505775782} + {:block/name "sort", + :block/created-at 1649907777969, + :block/updated-at 1649908002154} + {:block/name "split", + :block/created-at 1649838172427, + :block/updated-at 1649838310658} + {:block/name "spring", + :block/created-at 1655521605637, + :block/updated-at 1655521624377} + {:block/name "spring cloud", + :block/created-at 1659924448125, + :block/updated-at 1659924483890} + {:block/name "spring data", + :block/created-at 1657157742489, + :block/updated-at 1657157742489} + {:block/name "spring data jpa", + :block/created-at 1657527583378, + :block/updated-at 1657527595831} + {:block/name "spring data redis", + :block/created-at 1657157742306, + :block/updated-at 1657157742306} + {:block/name "spring 事务实现方式有哪些", + :block/created-at 1657157575635, + :block/updated-at 1657157575635} + {:block/name "spring,springmvc,springboot的区别是啥", + :block/created-at 1657157575660, + :block/updated-at 1657157575660} + {:block/name "springboot", + :block/created-at 1657765253053, + :block/updated-at 1657765253053} + {:block/name "springboot主要的配置类有哪些", + :block/created-at 1657157575658, + :block/updated-at 1657157575658} + {:block/name + "springboot在yaml中配置了开发环境配置文件和测试配置文件,有几种方式在不同环境去使用不同的配置文件", + :block/created-at 1657157575664, + :block/updated-at 1657157575664} + {:block/name "springboot如何实现自动配置 原理是什么", + :block/created-at 1657157575653, + :block/updated-at 1657157575653} + {:block/name "springboot的web模块自动集成了tomcat,如何剔除", + :block/created-at 1657157575654, + :block/updated-at 1657157575654} + {:block/name "springboot的优点在哪里", + :block/created-at 1657157575665, + :block/updated-at 1657157575665} + {:block/name "springcloud体系的几大组件", + :block/created-at 1657157575860, + :block/updated-at 1657157575860} + {:block/name "springmvc", + :block/created-at 1657765253081, + :block/updated-at 1657765253081} + {:block/name "springmvc 过滤器 拦截器的使用场景和区别是什么", + :block/created-at 1657157575651, + :block/updated-at 1657157575651} + {:block/name "springmvc框架的工作流程", + :block/created-at 1657157575646, + :block/updated-at 1657157575646} + {:block/name + "spring中bean基本都是单例的,如果一个方法要对bean中的属性值进行修改,这个方法会被多次执行,怎么确保安全", + :block/created-at 1657157575640, + :block/updated-at 1657157575640} + {:block/name "spring中对事务的支持,有哪些方式 你项目中如何处理事务", + :block/created-at 1657157575620, + :block/updated-at 1657157575620} + {:block/name "spring依赖注入的方式有哪些 有区别么", + :block/created-at 1657157575630, + :block/updated-at 1657157575630} + {:block/name "spring实例化组件时,如何设置属性", + :block/created-at 1657157575643, + :block/updated-at 1657157575643} + {:block/name "spring的启动流程是怎么样的", + :block/created-at 1657157575668, + :block/updated-at 1657157575668} + {:block/name "spring的常用注解都有哪些", + :block/created-at 1657157575633, + :block/updated-at 1657157575633} + {:block/name "spring的循环依赖问题,如何解决", + :block/created-at 1657157575618, + :block/updated-at 1657157575618} + {:block/name "spring调用外部接口", + :block/created-at 1657765252221, + :block/updated-at 1657765252221} + {:block/name "sql", + :block/created-at 1653189835129, + :block/updated-at 1653189835129} + {:block/name "sql语句过慢怎么定位问题", + :block/created-at 1657157575462, + :block/updated-at 1657157575462} + {:block/name "startwith", + :block/created-at 1649836170156, + :block/updated-at 1649836257781} + {:block/name "static", + :block/created-at 1649215195551, + :block/updated-at 1649403727225} + {:block/name "strictfp", + :block/created-at 1650331207788, + :block/updated-at 1650331207788} + {:block/name "string", + :block/created-at 1649833808078, + :block/updated-at 1650080514099} + {:block/name "stringbuffer", + :block/created-at 1649820616088, + :block/updated-at 1649906109907} + {:block/name "stringbuilder", + :block/created-at 1649820616084, + :block/updated-at 1650080575528} + {:block/name "string,stringbuffer及stringbuilder的区别", + :block/created-at 1657157575575, + :block/updated-at 1657157575575} + {:block/name "style", + :block/created-at 1653533277503, + :block/updated-at 1653533277503} + {:block/name "substring", + :block/created-at 1649838366083, + :block/updated-at 1649904842698} + {:block/name "super", + :block/created-at 1650331207747, + :block/updated-at 1650331207747} + {:block/name "super()", + :block/created-at 1649679338677, + :block/updated-at 1649679338677} + {:block/name "super关键字", + :block/created-at 1649215195578, + :block/updated-at 1650080218102} + {:block/name "swagger", + :block/created-at 1657765252225, + :block/updated-at 1658196514920} + {:block/name "switch", + :block/created-at 1649215184722, + :block/updated-at 1649215184722} + {:block/name "synchornized", + :block/created-at 1657355656213, + :block/updated-at 1657355656213} + {:block/name "synchronized", + :block/created-at 1649905980486, + :block/updated-at 1657355002659} + {:block/name "synchronized与lock锁的区别", + :block/created-at 1657157575337, + :block/updated-at 1657157575337} + {:block/name "synchronized与乐观锁的区别", + :block/created-at 1657157575347, + :block/updated-at 1657157575347} + {:block/name "system", + :block/created-at 1649820616100, + :block/updated-at 1649918250766} + {:block/name "system.err", + :block/created-at 1649916577715, + :block/updated-at 1649916603046} + {:block/name "system.in", + :block/created-at 1649916547075, + :block/updated-at 1649916547075} + {:block/name "system.out", + :block/created-at 1649916559204, + :block/updated-at 1649916559204} + {:block/name "system/err", + :block/created-at 1649944978196, + :block/updated-at 1649944978196} + {:block/name "tar&gz&zip", + :block/created-at 1657157572047, + :block/updated-at 1657157572047} + {:block/name "tcl", + :block/created-at 1653189837404, + :block/updated-at 1653189837404} + {:block/name "tcp", + :block/created-at 1650608103225, + :block/updated-at 1650611788721} + {:block/name "tcp/ip", + :block/created-at 1650608103212, + :block/updated-at 1650612850629} + {:block/name "tcp与udp在概念上的区别", + :block/created-at 1657157575541, + :block/updated-at 1657157575541} + {:block/name "tcp协议的特点,你能说说吗 具体说说3次握手,4次挥手的过程", + :block/created-at 1657157575546, + :block/updated-at 1657157575546} + {:block/name "this", + :block/created-at 1649215195549, + :block/updated-at 1649408961504} + {:block/name "this()", + :block/created-at 1649408924150, + :block/updated-at 1649648989766} + {:block/name "threadlocal类是什么类", + :block/created-at 1657157575294, + :block/updated-at 1657157575294} + {:block/name "throw", + :block/created-at 1650331184553, + :block/updated-at 1650331184553} + {:block/name "throws", + :block/created-at 1650331184516, + :block/updated-at 1650331184516} + {:block/name "title", + :block/created-at 1653533277505, + :block/updated-at 1653533277505} + {:block/name "tochararry", + :block/created-at 1649836430324, + :block/updated-at 1649836464566} + {:block/name "todo", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "tolowercase", + :block/created-at 1649838914094, + :block/updated-at 1649917413093} + {:block/name "tomcat", + :block/created-at 1657157572485, + :block/updated-at 1657157572485} + {:block/name "tomcat内存溢出在catalina.sh 修改jvm堆内存大小", + :block/created-at 1657157575421, + :block/updated-at 1657157575421} + {:block/name "tomcat如何配置连接池 默认连接数是多少 == 生产环境,tomcat性能比较差,如何调优", + :block/created-at 1657157575687, + :block/updated-at 1657157575687} + {:block/name "tostring", + :block/created-at 1649822298875, + :block/updated-at 1649822298875} + {:block/name "touppercase", + :block/created-at 1649838867053, + :block/updated-at 1649838944147} + {:block/name "transient", + :block/created-at 1650331207786, + :block/updated-at 1650331207786} + {:block/name "treemap", + :block/created-at 1650438734387, + :block/updated-at 1650439533575} + {:block/name "treeset", + :block/created-at 1650331188269, + :block/updated-at 1650440492446} + {:block/name "trim", + :block/created-at 1649838075631, + :block/updated-at 1649838128674} + {:block/name "true", + :block/created-at 1650331207808, + :block/updated-at 1650331207808} + {:block/name "try", + :block/created-at 1650331184558, + :block/updated-at 1650331184558} + {:block/name "try-catch-finally", + :block/created-at 1650331182541, + :block/updated-at 1650331182541} + {:block/name "udp", + :block/created-at 1650636325479, + :block/updated-at 1650636325479} + {:block/name "uml", + :block/created-at 1658201485607, + :block/updated-at 1658201539757} + {:block/name "union 和 union all 的区别是什么", + :block/created-at 1657157575491, + :block/updated-at 1657157575491} + {:block/name "uri", + :block/created-at 1650636326326, + :block/updated-at 1650636326326} + {:block/name "url", + :block/created-at 1650608103138, + :block/updated-at 1650609121270} + {:block/name "uuid", + :block/created-at 1649820616104, + :block/updated-at 1649925973946} + {:block/name "valueof", + :block/created-at 1649839023034, + :block/updated-at 1649839039649} + {:block/name "values", + :block/created-at 1650436211941, + :block/updated-at 1650436211941} + {:block/name "vector", + :block/created-at 1650331188261, + :block/updated-at 1650354490534} + {:block/name "void", + :block/created-at 1650331204976, + :block/updated-at 1650331204976} + {:block/name "volatile", + :block/created-at 1650331207783, + :block/updated-at 1650331207783} + {:block/name "vue", + :block/created-at 1658107864651, + :block/updated-at 1658107864651} + {:block/name "vue-cli", + :block/created-at 1658107864720, + :block/updated-at 1658107864720} + {:block/name "vue-router", + :block/created-at 1658107969191, + :block/updated-at 1658108137401} + {:block/name "vue的生命周期是什么,都有哪些钩子函数", + :block/created-at 1657157575829, + :block/updated-at 1657157575829} + {:block/name "vue都有哪些组件", + :block/created-at 1657157575835, + :block/updated-at 1657157575835} + {:block/name "wait", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "wait() 和notify() 方法的区别", + :block/created-at 1657157575317, + :block/updated-at 1657157575317} + {:block/name "waiting", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "while", + :block/created-at 1650331207767, + :block/updated-at 1650331207767} + {:block/name "while循环", + :block/created-at 1649215184898, + :block/updated-at 1649215184898} + {:block/name "windows快捷键", + :block/created-at 1649215185055, + :block/updated-at 1649215185055} + {:block/name "xml", + :block/created-at 1653189836034, + :block/updated-at 1653189836034} + {:block/name "xml与json之间的区别", + :block/created-at 1657157575680, + :block/updated-at 1657157575680} + {:block/name "yield() 与 join() 方法的区别", + :block/created-at 1657157575367, + :block/updated-at 1657157575367} + {:block/name "七大设计原则", + :block/created-at 1657519389489, + :block/updated-at 1657519502888} + {:block/name "三元运算符", + :block/created-at 1649215182040, + :block/updated-at 1649215182040} + {:block/name "三层架构是哪三层 具体说说,你知道它们分别对应的架构模式采用的是什么么", + :block/created-at 1657157575988, + :block/updated-at 1657157575988} + {:block/name "下标", + :block/created-at 1649835657619, + :block/updated-at 1649835657619} + {:block/name "业务对象", + :block/created-at 1649647567279, + :block/updated-at 1649647617004} + {:block/name "为什么使用同步或锁,就可以让多线程解决线程安全问题", + :block/created-at 1657157575302, + :block/updated-at 1657157575302} + {:block/name "为什么要使用微服务,它的优缺点", + :block/created-at 1657157575896, + :block/updated-at 1657157575896} + {:block/name "为什么要用redis不用map", + :block/created-at 1657157575766, + :block/updated-at 1657157575766} + {:block/name "为什么要用多线程", + :block/created-at 1657157575289, + :block/updated-at 1657157575289} + {:block/name "为什么选择mysql5.7,而不用5.5 5.6", + :block/created-at 1657157575437, + :block/updated-at 1657157575437} + {:block/name "为什么选择seata来处理分布式事务", + :block/created-at 1657157575852, + :block/updated-at 1657157575852} + {:block/name "乐观锁", + :block/created-at 1657260300380, + :block/updated-at 1657260300380} + {:block/name "了解网关么,网关的作用是什么,你都在网关中配置过什么内容", + :block/created-at 1657157575911, + :block/updated-at 1657157575911} + {:block/name "事务", + :block/created-at 1657260301817, + :block/updated-at 1657260301817} + {:block/name "事务在什么情况下会失效", + :block/created-at 1657157575457, + :block/updated-at 1657174921581} + {:block/name "二叉查找法", + :block/created-at 1649908349192, + :block/updated-at 1649908349192} + {:block/name "二叉树", + :block/created-at 1650436212532, + :block/updated-at 1650436212532} + {:block/name "二进制", + :block/created-at 1650331205815, + :block/updated-at 1650331205815} + {:block/name "互联网企业面试题", + :block/created-at 1650621154774, + :block/updated-at 1650621392359} + {:block/name "交集", + :block/created-at 1650442649580, + :block/updated-at 1650442649580} + {:block/name "产品需求文档", + :block/created-at 1659689882388, + :block/updated-at 1659689930351} + {:block/name "京东万象", + :block/created-at 1657765252872, + :block/updated-at 1657765252872} + {:block/name "什么是2阶段提交,seata是如何做2阶段提交的", + :block/created-at 1657157575934, + :block/updated-at 1657157575934} + {:block/name "什么是atomicinteger", + :block/created-at 1657157575373, + :block/updated-at 1657157575373} + {:block/name "什么是java的反射", + :block/created-at 1657157575585, + :block/updated-at 1657157575585} + {:block/name "什么是socket编程", + :block/created-at 1657157575538, + :block/updated-at 1657157575538} + {:block/name "什么是sql注入,如何防止", + :block/created-at 1657157575501, + :block/updated-at 1657157575501} + {:block/name "什么是volatile,它的作用是什么", + :block/created-at 1657157575370, + :block/updated-at 1657157575370} + {:block/name "什么是分布式事务,项目中哪些地方遇到分布式事务", + :block/created-at 1657157575931, + :block/updated-at 1657157575931} + {:block/name "什么是反射", + :block/created-at 1657157575578, + :block/updated-at 1657157575578} + {:block/name "什么是同步代码块", + :block/created-at 1657157575308, + :block/updated-at 1657157575308} + {:block/name "什么是多线程死锁", + :block/created-at 1657157575316, + :block/updated-at 1657157575316} + {:block/name "什么是守护线程,如何做到", + :block/created-at 1657157575363, + :block/updated-at 1657157575363} + {:block/name "什么是接口幂等性,如何保证接口幂等性操作", + :block/created-at 1657157575744, + :block/updated-at 1657157575744} + {:block/name "什么是数据库回表,如何避免回表查询", + :block/created-at 1657157575439, + :block/updated-at 1657157575439} + {:block/name "什么是线程同步", + :block/created-at 1657157575305, + :block/updated-at 1657157575305} + {:block/name "什么是线程安全", + :block/created-at 1657157575299, + :block/updated-at 1657157575299} + {:block/name "什么是线程池它的作用是什么", + :block/created-at 1657157575343, + :block/updated-at 1657157575343} + {:block/name "什么是聚簇索引,什么是非聚簇索引", + :block/created-at 1657157575489, + :block/updated-at 1657157575489} + {:block/name "什么是虚拟机参数配置 你是否配置过 在哪里配置", + :block/created-at 1657157575395, + :block/updated-at 1657157575395} + {:block/name "什么是设计模式,有多少个", + :block/created-at 1657157575550, + :block/updated-at 1657157575550} + {:block/name "介绍一下spring,springboot,springcloud", + :block/created-at 1657157575882, + :block/updated-at 1657157575882} + {:block/name "介绍一下你的项目aop日志功能如何实现的", + :block/created-at 1657157575626, + :block/updated-at 1657157575626} + {:block/name "代理设计模式中,静态代理和动态代理的区别", + :block/created-at 1657157575555, + :block/updated-at 1657157575555} + {:block/name "会议层", + :block/created-at 1650636324905, + :block/updated-at 1650636324905} + {:block/name "传参", + :block/created-at 1649381373549, + :block/updated-at 1650079888314} + {:block/name "传输层", + :block/created-at 1650636324906, + :block/updated-at 1650636324906} + {:block/name "位运算符", + :block/created-at 1649215185978, + :block/updated-at 1649663069403} + {:block/name "低耦合", + :block/created-at 1649659961033, + :block/updated-at 1649660035488} + {:block/name "你上个项目用的springboot版本是那个版本的", + :block/created-at 1657157575657, + :block/updated-at 1657157575657} + {:block/name "你们开发规范是什么,具体开发流程是什么,需求分析谁做,原型设计怎么来的", + :block/created-at 1657157575971, + :block/updated-at 1657157575971} + {:block/name "你们通过哪些手段处理系统的高并发问题", + :block/created-at 1657157575842, + :block/updated-at 1657157575842} + {:block/name "你们项目上线前会在哪里测试 怎么部署的 多个环境你该怎么设置", + :block/created-at 1657157575983, + :block/updated-at 1657157575983} + {:block/name "你们项目中,使用的什么 数据交换格式", + :block/created-at 1657157575676, + :block/updated-at 1657157575676} + {:block/name "你在项目中遇到的最大问题是什么 如何解决的", + :block/created-at 1657157575952, + :block/updated-at 1657157575952} + {:block/name "你对restful架构风格是如何理解的 平时都是怎么样的", + :block/created-at 1657157575700, + :block/updated-at 1657157575700} + {:block/name "你是怎么创建线程池的", + :block/created-at 1657157575348, + :block/updated-at 1657157575348} + {:block/name "你熟悉秒杀流程 那么秒杀如何保证数据一致性", + :block/created-at 1657157575980, + :block/updated-at 1657157575980} + {:block/name "你觉得springcloud相比传统的springmvc有什么优势", + :block/created-at 1657157575868, + :block/updated-at 1657157575868} + {:block/name "你都知道哪些锁", + :block/created-at 1657157575376, + :block/updated-at 1657157575376} + {:block/name "你项目中的哪些地方使用到多线程", + :block/created-at 1657157575297, + :block/updated-at 1657157575297} + {:block/name "使用的redis是集群的嘛 有多少个节点,采用的是那种集群方案", + :block/created-at 1657157575754, + :block/updated-at 1657157575754} + {:block/name "假如1个接口的qps只有10,超过10会怎样 如何解决", + :block/created-at 1657157575960, + :block/updated-at 1657157575960} + {:block/name "假设你redis里面有9个商品,我现在有10人来买,怎么防止超卖问题", + :block/created-at 1657157575776, + :block/updated-at 1657157575776} + {:block/name "做集群的时候事务怎么处理", + :block/created-at 1657157575874, + :block/updated-at 1657157575874} + {:block/name "健壮性", + :block/created-at 1650331183908, + :block/updated-at 1650331183908} + {:block/name "元空间", + :block/created-at 1649399132284, + :block/updated-at 1649399257832} + {:block/name "元素", + :block/created-at 1653533260526, + :block/updated-at 1653533260526} + {:block/name "兄弟类", + :block/created-at 1650350376131, + :block/updated-at 1650350397930} + {:block/name "全局变量", + :block/created-at 1649215186150, + :block/updated-at 1649215186150} + {:block/name "全文检索引擎", + :block/created-at 1657505762190, + :block/updated-at 1657505788967} + {:block/name "关于多线程锁升级的理解", + :block/created-at 1657157575330, + :block/updated-at 1657157575330} + {:block/name "关系型数据库", + :block/created-at 1657157573091, + :block/updated-at 1657157573091} + {:block/name "关系运算符", + :block/created-at 1649215186335, + :block/updated-at 1650077043063} + {:block/name "关键字", + :block/created-at 1649820628344, + :block/updated-at 1649820628344} + {:block/name "关闭连接一定能成功吗 怎么保证一定成功关闭连接", + :block/created-at 1657157575504, + :block/updated-at 1657157575504} + {:block/name "其它功能流", + :block/created-at 1650608103075, + :block/updated-at 1650608103075} + {:block/name "内存模型", + :block/created-at 1649399463813, + :block/updated-at 1649399463813} + {:block/name "内存泄漏与内存溢出的区别", + :block/created-at 1657157575422, + :block/updated-at 1657157575422} + {:block/name "内存溢出你是咋解决的", + :block/created-at 1657157575417, + :block/updated-at 1657157575417} + {:block/name "内部类", + :block/created-at 1650350298123, + :block/updated-at 1650350493994} + {:block/name "冒泡排序", + :block/created-at 1649228634628, + :block/updated-at 1649228634628} + {:block/name "写个时间复杂度为o(n)的算法,找到一个数列第二大的数", + :block/created-at 1657157575229, + :block/updated-at 1657157575229} + {:block/name "分布式", + :block/created-at 1650331202485, + :block/updated-at 1650331202485} + {:block/name "分布式事务的两个理论特性 是什么", + :block/created-at 1657157575944, + :block/updated-at 1657157575944} + {:block/name "分布式事务的原理", + :block/created-at 1657157575850, + :block/updated-at 1657157575850} + {:block/name "分布式锁的目的", + :block/created-at 1657157575765, + :block/updated-at 1657157575765} + {:block/name "分布式高并发下的订单id是如何生成的", + :block/created-at 1657157575879, + :block/updated-at 1657157575879} + {:block/name "分析hashmap为什么线程不安全", + :block/created-at 1657157575265, + :block/updated-at 1657157575265} + {:block/name "前后端分离", + :block/created-at 1657765253330, + :block/updated-at 1657783793654} + {:block/name "动态代理中jdk代理和cglib代理区别 代理模式,在项目中哪些地方有应用", + :block/created-at 1657157575557, + :block/updated-at 1657157575557} + {:block/name "动态代理模式中jdk与cglib的区别", + :block/created-at 1657157575616, + :block/updated-at 1657157575616} + {:block/name "动态多态", + :block/created-at 1649820620314, + :block/updated-at 1649820620314} + {:block/name "动态方法", + :block/created-at 1649402650831, + :block/updated-at 1649402650831} + {:block/name "包装", + :block/created-at 1649406861138, + :block/updated-at 1649406861138} + {:block/name "包装类", + :block/created-at 1650002701247, + :block/updated-at 1650073601893} + {:block/name "匿名内部类", + :block/created-at 1650350273077, + :block/updated-at 1650352725395} + {:block/name "十六进制", + :block/created-at 1650331208081, + :block/updated-at 1650331208081} + {:block/name "协议", + :block/created-at 1650636326492, + :block/updated-at 1650636326492} + {:block/name "单例设计模式,你会手写么 在项目中哪些地方有应用", + :block/created-at 1657157575552, + :block/updated-at 1657157575552} + {:block/name "单分支", + :block/created-at 1649215182033, + :block/updated-at 1649215182033} + {:block/name "单点登录的实现原理", + :block/created-at 1657157575964, + :block/updated-at 1657157575964} + {:block/name "单精度浮点", + :block/created-at 1649215186658, + :block/updated-at 1649215186658} + {:block/name "原码", + :block/created-at 1649215186785, + :block/updated-at 1649215186785} + {:block/name "去重", + :block/created-at 1650436211942, + :block/updated-at 1650436211942} + {:block/name "参数", + :block/created-at 1650331185166, + :block/updated-at 1650331185166} + {:block/name "双精度浮点", + :block/created-at 1649215186923, + :block/updated-at 1649215186923} + {:block/name "反射", + :block/created-at 1653189835576, + :block/updated-at 1653189835576} + {:block/name "反射操作私有属性时,需要注意什么", + :block/created-at 1657157575589, + :block/updated-at 1657157575589} + {:block/name "反射获得class对象的3种方式", + :block/created-at 1657157575588, + :block/updated-at 1657157575588} + {:block/name "反序列化", + :block/created-at 1650636327634, + :block/updated-at 1650636327634} + {:block/name "反码", + :block/created-at 1649215186779, + :block/updated-at 1649215186779} + {:block/name "变量", + :block/created-at 1649215187261, + :block/updated-at 1650078772380} + {:block/name "可不可以配置两个数据源 比如一个mysql和一个oracle 在哪里配置,怎么配置", + :block/created-at 1657157575662, + :block/updated-at 1657157575662} + {:block/name "可维护性", + :block/created-at 1650331208608, + :block/updated-at 1650331208608} + {:block/name "同步与异步的区别", + :block/created-at 1657157575319, + :block/updated-at 1657157575319} + {:block/name "同步代码块和同步函数之间有什么区别", + :block/created-at 1657157575313, + :block/updated-at 1657157575313} + {:block/name "同步函数", + :block/created-at 1657606373094, + :block/updated-at 1657606373094} + {:block/name "同步函数和静态同步函数之间有什么区别", + :block/created-at 1657157575314, + :block/updated-at 1657157575314} + {:block/name "同步方法与同步块的区别", + :block/created-at 1657157575341, + :block/updated-at 1657157575341} + {:block/name "后台线程", + :block/created-at 1657357099481, + :block/updated-at 1657357099481} + {:block/name "向上转型", + :block/created-at 1649820616060, + :block/updated-at 1649820616060} + {:block/name "向上转型与向下转型", + :block/created-at 1649215195594, + :block/updated-at 1649215195594} + {:block/name "向下转型", + :block/created-at 1649820616065, + :block/updated-at 1649820616065} + {:block/name "周考1", + :block/created-at 1649215177134, + :block/updated-at 1649226998173} + {:block/name "周考2", + :block/created-at 1650089014547, + :block/updated-at 1650101191192} + {:block/name "命令行参数", + :block/created-at 1649046748645, + :block/updated-at 1649046748645} + {:block/name "四舍五入", + :block/created-at 1650331201450, + :block/updated-at 1650331201450} + {:block/name "在http请求中如何存储客户信息(分如何获取和如何存储)", + :block/created-at 1657157575673, + :block/updated-at 1657157575673} + {:block/name "在使用git的过程中,遇到冲突,你是如何处理的", + :block/created-at 1657157575962, + :block/updated-at 1657157575962} + {:block/name "在生成订单过程中,如果mysql崩了,怎么办", + :block/created-at 1657157575991, + :block/updated-at 1657157575991} + {:block/name "在请求中如何存储客户信息", + :block/created-at 1657157575689, + :block/updated-at 1657157575689} + {:block/name "地址值", + :block/created-at 1649666713370, + :block/updated-at 1649666713370} + {:block/name "域名", + :block/created-at 1650636326492, + :block/updated-at 1650636326492} + {:block/name "基本数据类型", + :block/created-at 1649215187877, + :block/updated-at 1650077326802} + {:block/name "堆", + :block/created-at 1649215189414, + :block/updated-at 1649399208650} + {:block/name "复合赋值运算符", + :block/created-at 1649215188132, + :block/updated-at 1649215188132} + {:block/name "复用性", + :block/created-at 1650331208607, + :block/updated-at 1650331208607} + {:block/name "多分支", + :block/created-at 1649215182052, + :block/updated-at 1649215182052} + {:block/name "多态", + :block/created-at 1649046830883, + :block/updated-at 1650079373950} + {:block/name "多态集合", + :block/created-at 1649820624999, + :block/updated-at 1649820624999} + {:block/name "多线程", + :block/created-at 1650331202489, + :block/updated-at 1657347648538} + {:block/name "多线程的创建", + :block/created-at 1657347689818, + :block/updated-at 1657355752231} + {:block/name "多线程的创建方式有哪些", + :block/created-at 1657157575291, + :block/updated-at 1657157575291} + {:block/name "多维数组", + :block/created-at 1648805231475, + :block/updated-at 1649137033746} + {:block/name "多维数组 1", + :block/created-at 1649215188358, + :block/updated-at 1649215188358} + {:block/name "大佬跟你讲的东西,你怎么判断正不正确", + :block/created-at 1657157575985, + :block/updated-at 1657157575985} + {:block/name "大驼峰", + :block/created-at 1650331206734, + :block/updated-at 1650339181952} + {:block/name "如何使用jdk1.8新特性从商品集合中单独把某一个字段(比如id)拿出来当做一个集合", + :block/created-at 1657157573879, + :block/updated-at 1657157573879} + {:block/name "如何保证与数据库的双写一致性", + :block/created-at 1657157575751, + :block/updated-at 1657157575751} + {:block/name "如何做到集合变遍历,边删除", + :block/created-at 1657157575209, + :block/updated-at 1657157575209} + {:block/name "如何停止一根线程", + :block/created-at 1657157575360, + :block/updated-at 1657157575360} + {:block/name "如何克隆一个对象 浅克隆与深克隆区别在哪里", + :block/created-at 1657157575562, + :block/updated-at 1657157575562} + {:block/name "如何获得map集合中的所有的key", + :block/created-at 1657157575235, + :block/updated-at 1657157575235} + {:block/name "如何解决多线程间线程安全问题", + :block/created-at 1657157575301, + :block/updated-at 1657157575301} + {:block/name "如何解决消息延时及过期失效的问题 如果有几百万条消息持续积压几小时,说说怎么解决", + :block/created-at 1657157575723, + :block/updated-at 1657157575723} + {:block/name "如何设置最大堆空间大小", + :block/created-at 1657157575406, + :block/updated-at 1657157575406} + {:block/name "如何跳出多重循环", + :block/created-at 1657157575576, + :block/updated-at 1657157575576} + {:block/name "如何防止后端接口被攻击", + :block/created-at 1657157575965, + :block/updated-at 1657157575965} + {:block/name "如何防止表单重复提交", + :block/created-at 1657157575690, + :block/updated-at 1657157575690} + {:block/name "如果你在linux部署的项目出现报错时,你需要定位报错信息在哪怎么做", + :block/created-at 1657157575817, + :block/updated-at 1657157575817} + {:block/name "如果保证用户一定能消费成功", + :block/created-at 1657157575714, + :block/updated-at 1657157575714} + {:block/name "如果给你一个功能,你觉得从数据库设计开始的思路是什么", + :block/created-at 1657157575473, + :block/updated-at 1657157575473} + {:block/name "如果让你自己写个mq服务器,你的思路是什么 需要使用到什么技术", + :block/created-at 1657157575721, + :block/updated-at 1657157575721} + {:block/name "如果运行结果跟预期不一样,但是代码没报错,怎么处理", + :block/created-at 1657157575606, + :block/updated-at 1657157575606} + {:block/name "字符串", + :block/created-at 1649820616075, + :block/updated-at 1649833834370} + {:block/name "字符串概述", + :block/created-at 1649833724519, + :block/updated-at 1649841818319} + {:block/name "字符流", + :block/created-at 1650446718713, + :block/updated-at 1650446718713} + {:block/name "字符类型", + :block/created-at 1649215187844, + :block/updated-at 1649215187844} + {:block/name "字节", + :block/created-at 1649215187866, + :block/updated-at 1649215187866} + {:block/name "字节流", + :block/created-at 1650446706402, + :block/updated-at 1650448816615} + {:block/name "字节码", + :block/created-at 1650331201914, + :block/updated-at 1650331201914} + {:block/name "字节类型", + :block/created-at 1649215187869, + :block/updated-at 1649215187869} + {:block/name "字面量常量", + :block/created-at 1649215187254, + :block/updated-at 1649215187254} + {:block/name "守护线程", + :block/created-at 1657355378263, + :block/updated-at 1657357234059} + {:block/name "守护线程是什么如何实现", + :block/created-at 1657157575383, + :block/updated-at 1657157575383} + {:block/name "定时器", + :block/created-at 1657355360682, + :block/updated-at 1657356817637} + {:block/name "实体对象", + :block/created-at 1649647584297, + :block/updated-at 1649647652117} + {:block/name "实体层", + :block/created-at 1650636324909, + :block/updated-at 1650636324909} + {:block/name "实例代码块", + :block/created-at 1649821030020, + :block/updated-at 1649821214883} + {:block/name "实参", + :block/created-at 1650331204968, + :block/updated-at 1650331204968} + {:block/name "对springioc的理解", + :block/created-at 1657157575613, + :block/updated-at 1657157575613} + {:block/name "对象", + :block/created-at 1649401757444, + :block/updated-at 1649401757444} + {:block/name "对象的内存模型分析", + :block/created-at 1649215195527, + :block/updated-at 1649399463815} + {:block/name "封装", + :block/created-at 1649406721749, + :block/updated-at 1649407188068} + {:block/name "小驼峰", + :block/created-at 1650331207818, + :block/updated-at 1650331207818} + {:block/name "局部变量", + :block/created-at 1649215186146, + :block/updated-at 1649215186146} + {:block/name "属性", + :block/created-at 1650331208414, + :block/updated-at 1650331208414} + {:block/name "属性和行为", + :block/created-at 1649385007333, + :block/updated-at 1649389551545} + {:block/name "嵌套判断", + :block/created-at 1649215182046, + :block/updated-at 1649215182046} + {:block/name "嵌套循环", + :block/created-at 1649215189166, + :block/updated-at 1649215189166} + {:block/name "工业园区智慧管理系统", + :block/created-at 1658284629205, + :block/updated-at 1658286392652} + {:block/name "工厂设计模式的作用 简单工厂会写不 在项目中哪些地方有应用", + :block/created-at 1657157575560, + :block/updated-at 1657157575560} + {:block/name "差集", + :block/created-at 1650442668953, + :block/updated-at 1650442668953} + {:block/name "布尔类型", + :block/created-at 1649215187847, + :block/updated-at 1649215187847} + {:block/name "常用操作字符串有哪些类 stringbuffer,stringbuilder", + :block/created-at 1657157575574, + :block/updated-at 1657157575574} + {:block/name "常量", + :block/created-at 1649820619444, + :block/updated-at 1649820619444} + {:block/name "幂等性问题会出现在哪些地方", + :block/created-at 1657157575746, + :block/updated-at 1657157575746} + {:block/name "并发与并行的区别", + :block/created-at 1657157575329, + :block/updated-at 1657157575329} + {:block/name "并集", + :block/created-at 1650442656240, + :block/updated-at 1650442656240} + {:block/name "序列化", + :block/created-at 1650538806196, + :block/updated-at 1650538806196} + {:block/name "应用层", + :block/created-at 1650636324903, + :block/updated-at 1650636324903} + {:block/name "延迟队列如何实现", + :block/created-at 1657157575719, + :block/updated-at 1657157575719} + {:block/name "延迟队列,死信队列的区别是什么", + :block/created-at 1657157575715, + :block/updated-at 1657157575715} + {:block/name "异常", + :block/created-at 1650252016634, + :block/updated-at 1650263426165} + {:block/name "异常抛出", + :block/created-at 1650331179423, + :block/updated-at 1650331179423} + {:block/name "异常捕获", + :block/created-at 1650263084206, + :block/updated-at 1650264380594} + {:block/name "异常的分类,如何自定义异常", + :block/created-at 1657157575565, + :block/updated-at 1657157575565} + {:block/name "引用数据类型", + :block/created-at 1649215187835, + :block/updated-at 1649215187835} + {:block/name "强制转换", + :block/created-at 1649215189580, + :block/updated-at 1649215189580} + {:block/name "强类型", + :block/created-at 1650331205809, + :block/updated-at 1650331205809} + {:block/name + "当application.properties,application.yaml,bootstrap.yaml文件同时存在的情况下,它们的执行顺序是怎样的", + :block/created-at 1657157575667, + :block/updated-at 1657157575667} + {:block/name "形参", + :block/created-at 1650331204966, + :block/updated-at 1650331204966} + {:block/name "微服务的搭建步骤", + :block/created-at 1657157575898, + :block/updated-at 1657157575898} + {:block/name "微服务组件都用过哪些,你们微服务的业务逻辑是什么样子的", + :block/created-at 1657157575901, + :block/updated-at 1657157575901} + {:block/name "怎么理解过程一致性和结果一致性", + :block/created-at 1657157575334, + :block/updated-at 1657157575334} + {:block/name "怎么用sql语句复制另一张表", + :block/created-at 1657157575458, + :block/updated-at 1657157575458} + {:block/name "总结", + :block/created-at 1649215189906, + :block/updated-at 1649215189906} + {:block/name "悲观锁", + :block/created-at 1657260301759, + :block/updated-at 1657260301759} + {:block/name "抽象", + :block/created-at 1649406808852, + :block/updated-at 1649406808852} + {:block/name "抽象方法", + :block/created-at 1649820626952, + :block/updated-at 1649820626952} + {:block/name "抽象类", + :block/created-at 1648863179646, + :block/updated-at 1650079417572} + {:block/name "抽象类可以继承实体类么", + :block/created-at 1657157575590, + :block/updated-at 1657157575590} + {:block/name "抽象类可以继承接口么", + :block/created-at 1657157575592, + :block/updated-at 1657157575592} + {:block/name "指针", + :block/created-at 1650331202481, + :block/updated-at 1650331202481} + {:block/name "排序", + :block/created-at 1650337048323, + :block/updated-at 1650337083335} + {:block/name "接口", + :block/created-at 1648863179646, + :block/updated-at 1650080392465} + {:block/name "接口可以继承抽象类么", + :block/created-at 1657157575594, + :block/updated-at 1657157575594} + {:block/name "敏捷开发", + :block/created-at 1658221213673, + :block/updated-at 1658222237989} + {:block/name "数据库", + :block/created-at 1653189835121, + :block/updated-at 1657071903389} + {:block/name "数据库中btree 与hash索引的区别", + :block/created-at 1657157575438, + :block/updated-at 1657157575438} + {:block/name "数据库中两张表如何要联合查询,要如何实现", + :block/created-at 1657157575454, + :block/updated-at 1657157575454} + {:block/name "数据库中哪些字段适合加索引 ,哪些不适合加索引", + :block/created-at 1657157575487, + :block/updated-at 1657157575487} + {:block/name "数据库中复合索引的字段中可以有null值吗", + :block/created-at 1657157575517, + :block/updated-at 1657157575517} + {:block/name "数据库中如何快速插入100w级数据", + :block/created-at 1657157575446, + :block/updated-at 1657157575446} + {:block/name "数据库引擎", + :block/created-at 1657260300387, + :block/updated-at 1657260300387} + {:block/name "数据库用户id主键策略", + :block/created-at 1657157575478, + :block/updated-at 1657157575478} + {:block/name "数据库的sql语句如何加锁", + :block/created-at 1657157575486, + :block/updated-at 1657157575486} + {:block/name "数据库的执行计划", + :block/created-at 1657157575480, + :block/updated-at 1657157575480} + {:block/name "数据库管理系统", + :block/created-at 1653189835126, + :block/updated-at 1653189835126} + {:block/name "数据库连表查询,左外联,右外联,内联查的区别", + :block/created-at 1657157575460, + :block/updated-at 1657157575460} + {:block/name "数据链路层", + :block/created-at 1650636324908, + :block/updated-at 1650636324908} + {:block/name "数组", + :block/created-at 1649833963908, + :block/updated-at 1649833963908} + {:block/name "数组内存分析", + :block/created-at 1649215190196, + :block/updated-at 1650079736256} + {:block/name "数组基础", + :block/created-at 1649215190330, + :block/updated-at 1649215190330} + {:block/name "数组排序", + :block/created-at 1649215177500, + :block/updated-at 1650079080188} + {:block/name "数组的排序算法,你都知道哪些请列举并手写一个出来", + :block/created-at 1657157575286, + :block/updated-at 1657157575286} + {:block/name "数组的遍历", + :block/created-at 1648804037791, + :block/updated-at 1649151333734} + {:block/name "数组的遍历 1", + :block/created-at 1649215190634, + :block/updated-at 1649215190634} + {:block/name "数组,链表,哪个查询效率高,为什么高", + :block/created-at 1657157575280, + :block/updated-at 1657157575280} + {:block/name "整型", + :block/created-at 1649215187860, + :block/updated-at 1649215187860} + {:block/name "方法", + :block/created-at 1649046776216, + :block/updated-at 1649046776216} + {:block/name "方法重载", + :block/created-at 1649046797138, + :block/updated-at 1650079956655} + {:block/name "无参构造器", + :block/created-at 1649644942915, + :block/updated-at 1649645765443} + {:block/name "是否写过hashmap的底层,了解过什么", + :block/created-at 1657157575218, + :block/updated-at 1657157575218} + {:block/name "是继承thread类好,还是实现runnable接口好", + :block/created-at 1657157575293, + :block/updated-at 1657157575293} + {:block/name "普通类和抽象类有哪些区别", + :block/created-at 1657157575567, + :block/updated-at 1657157575567} + {:block/name "普通类和抽象类的区别 接口和抽象的区别", + :block/created-at 1657157575572, + :block/updated-at 1657157575572} + {:block/name "最多有过几张表的连表处理", + :block/created-at 1657157575435, + :block/updated-at 1657157575435} + {:block/name "有个数组,如何颠倒所有的元素", + :block/created-at 1657157575270, + :block/updated-at 1657157575270} + {:block/name "有几种方法可以遍历java集合", + :block/created-at 1657157575250, + :block/updated-at 1657157575250} + {:block/name "有参构造器", + :block/created-at 1649644948619, + :block/updated-at 1649645790788} + {:block/name "有哪些地方必须关闭资源", + :block/created-at 1657157575508, + :block/updated-at 1657157575508} + {:block/name "有哪些方法可以防止微服务接口被攻击", + :block/created-at 1657157575929, + :block/updated-at 1657157575929} + {:block/name "有张100w级的表中存在大量的重复数据,如何快速去重", + :block/created-at 1657157575449, + :block/updated-at 1657157575449} + {:block/name "有没有用过断点调试 怎么用的", + :block/created-at 1657157575607, + :block/updated-at 1657157575607} + {:block/name "有没有设计过数据库 数据库三范式讲一下", + :block/created-at 1657157575510, + :block/updated-at 1657157575510} + {:block/name "服务熔断和服务降级,项目是如何运用的", + :block/created-at 1657157575839, + :block/updated-at 1657157575839} + {:block/name "本地方法栈", + :block/created-at 1649399108838, + :block/updated-at 1649399241002} + {:block/name "构造器", + :block/created-at 1649408959734, + :block/updated-at 1650080096401} + {:block/name "标识符", + :block/created-at 1649215191017, + :block/updated-at 1650078659637} + {:block/name "栈", + :block/created-at 1649215189416, + :block/updated-at 1649399161599} + {:block/name "栈溢出你是咋解决的", + :block/created-at 1657157575419, + :block/updated-at 1657157575419} + {:block/name "核心库", + :block/created-at 1650331202511, + :block/updated-at 1650331202511} + {:block/name "格式化输出", + :block/created-at 1649215177497, + :block/updated-at 1650078960342} + {:block/name "模块", + :block/created-at 1649046919359, + :block/updated-at 1649046919359} + {:block/name "正则表达式", + :block/created-at 1650168860290, + :block/updated-at 1650170125153} + {:block/name "死锁", + :block/created-at 1657355365860, + :block/updated-at 1657357066876} + {:block/name "每天1万人访问主页并发量有多少", + :block/created-at 1657157575967, + :block/updated-at 1657157575967} + {:block/name "比较器", + :block/created-at 1650436212562, + :block/updated-at 1650436212562} + {:block/name "汇编语言", + :block/created-at 1650331208980, + :block/updated-at 1650331208980} + {:block/name "汽车租车系统", + :block/created-at 1653189834619, + :block/updated-at 1653189834619} + {:block/name "泛型", + :block/created-at 1650348579392, + :block/updated-at 1650349771720} + {:block/name "泛型接口", + :block/created-at 1650349323498, + :block/updated-at 1650349323498} + {:block/name "泛型擦除", + :block/created-at 1650349480317, + :block/updated-at 1650349480317} + {:block/name "泛型方法", + :block/created-at 1650349227744, + :block/updated-at 1650349227744} + {:block/name "泛型类", + :block/created-at 1650349103584, + :block/updated-at 1650349103584} + {:block/name "注解", + :block/created-at 1649665829804, + :block/updated-at 1649822521079} + {:block/name "测试怎么做的", + :block/created-at 1657157575974, + :block/updated-at 1657157575974} + {:block/name "深圳蜗牛java面试题", + :block/created-at 1657157570485, + :block/updated-at 1657157570485} + {:block/name "瀑布模型", + :block/created-at 1658219533032, + :block/updated-at 1658221101198} + {:block/name "生产环境中应用有问题如何分析问题", + :block/created-at 1657157576000, + :block/updated-at 1657157576000} + {:block/name "生产者消费模式", + :block/created-at 1657355350193, + :block/updated-at 1657355612481} + {:block/name "用过哪些经典的设计模式,谈谈你对它们的理解", + :block/created-at 1657157575957, + :block/updated-at 1657157575957} + {:block/name "用过的linux系统都有哪些 什么版本", + :block/created-at 1657157575812, + :block/updated-at 1657157575812} + {:block/name "知道redis的看门狗机制么,为什么要用到看门狗", + :block/created-at 1657157575789, + :block/updated-at 1657157575789} + {:block/name "知道拦截器么,你项目中哪里使用过拦截器", + :block/created-at 1657157575650, + :block/updated-at 1657157575650} + {:block/name "短整数类型", + :block/created-at 1649215187863, + :block/updated-at 1649215187863} + {:block/name "禅道", + :block/created-at 1658213954707, + :block/updated-at 1658219520580} + {:block/name "科学计数法", + :block/created-at 1650331208078, + :block/updated-at 1650331208078} + {:block/name "程序", + :block/created-at 1649215181739, + :block/updated-at 1649215181739} + {:block/name "程序/注释", + :block/created-at 1649215181732, + :block/updated-at 1649215181732} + {:block/name "程序计数器", + :block/created-at 1649399120357, + :block/updated-at 1649399120357} + {:block/name "空指针", + :block/created-at 1650331206994, + :block/updated-at 1650331206994} + {:block/name "端口", + :block/created-at 1650636326491, + :block/updated-at 1650636326491} + {:block/name "简明知意", + :block/created-at 1650331207819, + :block/updated-at 1650331207819} + {:block/name "算术运算符", + :block/created-at 1649215191819, + :block/updated-at 1649215191819} + {:block/name "类", + :block/created-at 1649659990421, + :block/updated-at 1650080668268} + {:block/name "类和对象的创建", + :block/created-at 1649215195512, + :block/updated-at 1650079672125} + {:block/name "类属性", + :block/created-at 1649403547313, + :block/updated-at 1649403547313} + {:block/name "类方法", + :block/created-at 1649402739095, + :block/updated-at 1649402739095} + {:block/name "索引失效的场景有哪些", + :block/created-at 1657157575484, + :block/updated-at 1657157575484} + {:block/name "红锁是怎么实现的 原理是什么", + :block/created-at 1657157575787, + :block/updated-at 1657157575787} + {:block/name "红黑二叉树", + :block/created-at 1650436211902, + :block/updated-at 1650436211902} + {:block/name "线程同步", + :block/created-at 1657355041266, + :block/updated-at 1657355763088} + {:block/name "线程同步的几个方法", + :block/created-at 1657157575326, + :block/updated-at 1657157575326} + {:block/name "线程安全", + :block/created-at 1657352850687, + :block/updated-at 1657352985845} + {:block/name "线程安全的集合有哪些", + :block/created-at 1657157575207, + :block/updated-at 1657157575207} + {:block/name "线程是如何开始的", + :block/created-at 1657157575380, + :block/updated-at 1657157575380} + {:block/name "线程池", + :block/created-at 1657355740623, + :block/updated-at 1657356696193} + {:block/name "线程池有哪些核心参数", + :block/created-at 1657157575346, + :block/updated-at 1657157575346} + {:block/name "线程状态", + :block/created-at 1657349830643, + :block/updated-at 1657350352498} + {:block/name "线程的原子性是什么", + :block/created-at 1657157575350, + :block/updated-at 1657157575350} + {:block/name "线程的生命周期", + :block/created-at 1657157575323, + :block/updated-at 1657157575323} + {:block/name "组件化开发", + :block/created-at 1657765275462, + :block/updated-at 1657783429270} + {:block/name "给你一个数值类型数组,如何以最快的方式,查找到某一个元素", + :block/created-at 1657157575268, + :block/updated-at 1657157575268} + {:block/name "继承", + :block/created-at 1649046819566, + :block/updated-at 1650079351095} + {:block/name "继承器", + :block/created-at 1650331204697, + :block/updated-at 1650331204697} + {:block/name "继承方式", + :block/created-at 1649215195564, + :block/updated-at 1649662951261} + {:block/name "继承的定义", + :block/created-at 1649215195558, + :block/updated-at 1649659088709} + {:block/name "缓冲流", + :block/created-at 1650538806171, + :block/updated-at 1650538806171} + {:block/name "缓存穿透,击穿,雪崩对应的解决方案是什么", + :block/created-at 1657157575752, + :block/updated-at 1657157575752} + {:block/name "编程语言", + :block/created-at 1649215194715, + :block/updated-at 1650076410315} + {:block/name "编程题,给你一个整数数组,进行排序,输入一个k,从小到大输出k个数", + :block/created-at 1657157575269, + :block/updated-at 1657157575269} + {:block/name "编译", + :block/created-at 1650331201910, + :block/updated-at 1650331201910} + {:block/name "编译器", + :block/created-at 1650331183930, + :block/updated-at 1650331183930} + {:block/name "编译异常", + :block/created-at 1650263198292, + :block/updated-at 1650263198292} + {:block/name "网关是如何找到其他微服务的", + :block/created-at 1657157575914, + :block/updated-at 1657157575914} + {:block/name "网关限流如何配置 限流算法都用过哪些", + :block/created-at 1657157575912, + :block/updated-at 1657157575912} + {:block/name "网关限流时,采用什么技术,使用什么限流算法 咋配置", + :block/created-at 1657157575876, + :block/updated-at 1657157575876} + {:block/name "网络层", + :block/created-at 1650636324906, + :block/updated-at 1650636324906} + {:block/name "网络编程", + :block/created-at 1650608103126, + :block/updated-at 1650608103126} + {:block/name "网络通讯中tcp协议,udp协议的区别", + :block/created-at 1657157575571, + :block/updated-at 1657157575571} + {:block/name "耦合性", + :block/created-at 1649660116366, + :block/updated-at 1649660124613} + {:block/name "联合索引与普通索引的区别在哪里", + :block/created-at 1657157575448, + :block/updated-at 1657157575448} + {:block/name "能详细说下非对称加密的流程吗", + :block/created-at 1657157575996, + :block/updated-at 1657157575996} + {:block/name "自增运算符", + :block/created-at 1649215191827, + :block/updated-at 1649215191827} + {:block/name "自定义常量", + :block/created-at 1649215187256, + :block/updated-at 1649215187256} + {:block/name "自定义异常", + :block/created-at 1650331179429, + :block/updated-at 1650331179429} + {:block/name "自定义排序", + :block/created-at 1650340413624, + :block/updated-at 1650340413624} + {:block/name "自定义标识符", + :block/created-at 1650331207812, + :block/updated-at 1650331207812} + {:block/name "自定义注解", + :block/created-at 1649666262228, + :block/updated-at 1649666262228} + {:block/name "自旋锁的特征", + :block/created-at 1657157575283, + :block/updated-at 1657157575283} + {:block/name "自然排序", + :block/created-at 1650337946967, + :block/updated-at 1650337946967} + {:block/name "行为", + :block/created-at 1650331206123, + :block/updated-at 1650331206123} + {:block/name "补码", + :block/created-at 1649215186781, + :block/updated-at 1649215186781} + {:block/name "表示层", + :block/created-at 1650636324904, + :block/updated-at 1650636324904} + {:block/name "解码", + :block/created-at 1649215178848, + :block/updated-at 1649215178848} + {:block/name "解释", + :block/created-at 1650331201911, + :block/updated-at 1650331201911} + {:block/name "计划驱动", + :block/created-at 1658221207502, + :block/updated-at 1658222160270} + {:block/name "计算机发展历程", + :block/created-at 1649215196670, + :block/updated-at 1650076258486} + {:block/name "计算机基础理论", + :block/created-at 1649215189861, + :block/updated-at 1650076218431} + {:block/name "计算机组成", + :block/created-at 1649215196941, + :block/updated-at 1649215196941} + {:block/name "讲一下mq服务器的推拉模式,你在项目中是如何运用的", + :block/created-at 1657157575730, + :block/updated-at 1657157575730} + {:block/name "讲一下spring cloud 中的服务注册的机制和配置方法", + :block/created-at 1657157575862, + :block/updated-at 1657157575862} + {:block/name "讲一下浅克隆与深克隆", + :block/created-at 1657157575623, + :block/updated-at 1657157575623} + {:block/name "讲下springaop,项目中你是如何应用的", + :block/created-at 1657157575615, + :block/updated-at 1657157575615} + {:block/name "讲讲类的加载过程以及双亲委派机制", + :block/created-at 1657157575569, + :block/updated-at 1657157575569} + {:block/name "设置新生与老年代代参数", + :block/created-at 1657157575414, + :block/updated-at 1657157575414} + {:block/name "设置新生代与老年代优化参数", + :block/created-at 1657157575409, + :block/updated-at 1657157575409} + {:block/name "设计模式", + :block/created-at 1657519565742, + :block/updated-at 1657519706598} + {:block/name "设计模式中,工厂设计模式有啥用 项目中在哪些地方用过", + :block/created-at 1657157575563, + :block/updated-at 1657157575563} + {:block/name "访问修饰符", + :block/created-at 1649385046422, + :block/updated-at 1649407901827} + {:block/name "说一下 acid 是什么", + :block/created-at 1657157575476, + :block/updated-at 1657157575476} + {:block/name "说一下@requestmapping的作用", + :block/created-at 1657157575648, + :block/updated-at 1657157575648} + {:block/name "说一下jdbc在连接数据库的操作上几个步骤", + :block/created-at 1657157575464, + :block/updated-at 1657157575464} + {:block/name "说一下reddis怎么做集群的", + :block/created-at 1657157575757, + :block/updated-at 1657157575757} + {:block/name "说一下事务的隔离级别和事务的传播性质", + :block/created-at 1657157575469, + :block/updated-at 1657157575469} + {:block/name "说一下你熟悉的设计模式", + :block/created-at 1657157575581, + :block/updated-at 1657157575581} + {:block/name "说一下怎么用rabbitmq实现取消订单的用户积分减少的", + :block/created-at 1657157575739, + :block/updated-at 1657157575739} + {:block/name "说一下怎么防止超卖,sql怎么写", + :block/created-at 1657157575471, + :block/updated-at 1657157575471} + {:block/name "说一下熔断器,你怎么用的,代码怎么写的", + :block/created-at 1657157575871, + :block/updated-at 1657157575871} + {:block/name "说说nacos吧", + :block/created-at 1657157575949, + :block/updated-at 1657157575949} + {:block/name "说说你对java的gc回收机制的理解", + :block/created-at 1657157575431, + :block/updated-at 1657157575431} + {:block/name "说说你对线程的3个特性(原子,可见,有序)的理解", + :block/created-at 1657157575352, + :block/updated-at 1657157575352} + {:block/name "说说你常用的几个springboot注解", + :block/created-at 1657157575655, + :block/updated-at 1657157575655} + {:block/name "说说项目开发流程", + :block/created-at 1657157575855, + :block/updated-at 1657157575855} + {:block/name "请说一下seata的执行流程", + :block/created-at 1657157575946, + :block/updated-at 1657157575946} + {:block/name "请说下java的内存模型,也就是jmm", + :block/created-at 1657157575387, + :block/updated-at 1657157575387} + {:block/name "请说下jvm的运行时的内存结构", + :block/created-at 1657157575390, + :block/updated-at 1657157575390} + {:block/name "请说说rabbitmq的优缺点", + :block/created-at 1657157575718, + :block/updated-at 1657157575718} + {:block/name "请说说消息队列的工作模式有哪些", + :block/created-at 1657157575707, + :block/updated-at 1657157575707} + {:block/name "调试", + :block/created-at 1649381375280, + :block/updated-at 1650079906511} + {:block/name "谈谈bio,nio,aio的区别是什么,你都用过哪些io框架", + :block/created-at 1657157575600, + :block/updated-at 1657157575600} + {:block/name "谈谈mvc架构与mvvm架构的区别在哪里", + :block/created-at 1657157575832, + :block/updated-at 1657157575832} + {:block/name "谈谈你对spring bean的生命周期的理解", + :block/created-at 1657157575619, + :block/updated-at 1657157575619} + {:block/name "谈谈多线程并发", + :block/created-at 1657157575584, + :block/updated-at 1657157575584} + {:block/name "谈谈面向对象", + :block/created-at 1657157575583, + :block/updated-at 1657157575583} + {:block/name "负载均衡怎么实现", + :block/created-at 1657157575968, + :block/updated-at 1657157575968} + {:block/name "跨域", + :block/created-at 1658107900017, + :block/updated-at 1658108267180} + {:block/name "跨平台", + :block/created-at 1650331201913, + :block/updated-at 1650331201913} + {:block/name "转码", + :block/created-at 1649215178845, + :block/updated-at 1649215178845} + {:block/name "软硬件", + :block/created-at 1649215196948, + :block/updated-at 1649215196948} + {:block/name "运行异常", + :block/created-at 1650263211135, + :block/updated-at 1650263211135} + {:block/name "进制转换", + :block/created-at 1649215191832, + :block/updated-at 1649215191832} + {:block/name "进程与线程的区别", + :block/created-at 1657157575288, + :block/updated-at 1657157575288} + {:block/name "迭代器", + :block/created-at 1650335851717, + :block/updated-at 1650336047461} + {:block/name "迭代器模式", + :block/created-at 1650335879108, + :block/updated-at 1650335879108} + {:block/name "迭代增量式开发", + :block/created-at 1658221260882, + :block/updated-at 1658221265632} + {:block/name "退出循环", + :block/created-at 1649215192561, + :block/updated-at 1649215192561} + {:block/name "选择排序", + :block/created-at 1649231003510, + :block/updated-at 1649231003510} + {:block/name "通讯协议", + :block/created-at 1650636328186, + :block/updated-at 1650636328186} + {:block/name "逻辑运算符", + :block/created-at 1649215192945, + :block/updated-at 1649215192945} + {:block/name "遇到bug,你是如何调试的", + :block/created-at 1657157575605, + :block/updated-at 1657157575605} + {:block/name "遍历set和list的通用方法", + :block/created-at 1657157575284, + :block/updated-at 1657157575284} + {:block/name "都有哪些堆的参数,可以配置", + :block/created-at 1657157575400, + :block/updated-at 1657157575400} + {:block/name "重写", + :block/created-at 1649215195567, + :block/updated-at 1650080176431} + {:block/name "重写和重载的区别在哪里", + :block/created-at 1657157575610, + :block/updated-at 1657157575610} + {:block/name "重定向和请求转发的区别是什么", + :block/created-at 1657157575683, + :block/updated-at 1657157575683} + {:block/name "银行系统,我给你168的数字,你应该给我多少张不同面额的人民币(口述如何实现)", + :block/created-at 1657157575272, + :block/updated-at 1657157575272} + {:block/name "链表", + :block/created-at 1650352878089, + :block/updated-at 1650352878089} + {:block/name "错误", + :block/created-at 1650331183914, + :block/updated-at 1650331183914} + {:block/name "长整型", + :block/created-at 1649215187857, + :block/updated-at 1649215187857} + {:block/name "队列", + :block/created-at 1657355430719, + :block/updated-at 1657355454822} + {:block/name "隐式转换", + :block/created-at 1649215192209, + :block/updated-at 1650078806887} + {:block/name "隐藏", + :block/created-at 1649406872653, + :block/updated-at 1649407122716} + {:block/name "集合", + :block/created-at 1650331179430, + :block/updated-at 1650331179430} + {:block/name "集合排序", + :block/created-at 1650337166202, + :block/updated-at 1650337166202} + {:block/name "集合的交并差", + :block/created-at 1650442624431, + :block/updated-at 1650444123272} + {:block/name "集合的分类,分别的特性是哪些", + :block/created-at 1657157575266, + :block/updated-at 1657157575266} + {:block/name "集群", + :block/created-at 1657157572489, + :block/updated-at 1657157572489} + {:block/name "静态代码块", + :block/created-at 1649820662225, + :block/updated-at 1649821000234} + {:block/name "静态多态", + :block/created-at 1649820624809, + :block/updated-at 1649820624809} + {:block/name "静态方法", + :block/created-at 1649046874845, + :block/updated-at 1649402739096} + {:block/name "非关系型数据库", + :block/created-at 1657157573088, + :block/updated-at 1657157573088} + {:block/name "面向对象", + :block/created-at 1650331188488, + :block/updated-at 1650331188488} + {:block/name "面向对象的定义", + :block/created-at 1649215195502, + :block/updated-at 1650079200182} + {:block/name "面向对象的特征", + :block/created-at 1649215195601, + :block/updated-at 1650080470333} + {:block/name "面向过程", + :block/created-at 1650331208988, + :block/updated-at 1650331208988} + {:block/name "页面加载很慢,有什么优化方案", + :block/created-at 1657157575682, + :block/updated-at 1657157575682} + {:block/name "项目中sql调优的场景有哪些,数据库调优如何做", + :block/created-at 1657157575434, + :block/updated-at 1657157575434} + {:block/name "项目中你们部署了多少台redis服务器,一般配置多少台,熟悉哨兵机制么", + :block/created-at 1657157575773, + :block/updated-at 1657157575773} + {:block/name "项目中有哪些设计是存在缺陷或者不合理的", + :block/created-at 1657157575977, + :block/updated-at 1657157575977} + {:block/name "项目中,关于鉴权你们是咋做的", + :block/created-at 1657157575844, + :block/updated-at 1657157575844} + {:block/name "项目部署没有 有没有经过压力测试 有没有经过渗透测试", + :block/created-at 1657157575954, + :block/updated-at 1657157575954} + {:block/name "驼峰命名法", + :block/created-at 1650331207814, + :block/updated-at 1650331207814} + {:block/name "高内聚", + :block/created-at 1649659951153, + :block/updated-at 1649660007868} + {:block/name "高级编程语言", + :block/created-at 1650331208985, + :block/updated-at 1650331208985} + {:block/name "魔法值", + :block/created-at 1650331201718, + :block/updated-at 1650331201718}] diff --git a/logseq-java/logseq/bak/logseq/pages-metadata/2022-09-01T09_47_17.888Z.Desktop.edn b/logseq-java/logseq/bak/logseq/pages-metadata/2022-09-01T09_47_17.888Z.Desktop.edn new file mode 100644 index 0000000..c2b023d --- /dev/null +++ b/logseq-java/logseq/bak/logseq/pages-metadata/2022-09-01T09_47_17.888Z.Desktop.edn @@ -0,0 +1,2923 @@ +[{:block/name "#{} 与 ${} 的区别", + :block/created-at 1657157575521, + :block/updated-at 1657157575521} + {:block/name "625e1ecf-25a9-4b64-8eab-042fd889a062", + :block/created-at 1650356920421, + :block/updated-at 1650356920421} + {:block/name "625e5ddf-aa2d-4567-8531-3ccc94628ef7", + :block/created-at 1650356975462, + :block/updated-at 1650356975462} + {:block/name "625fa874-b218-4044-ac16-b9de892cd9d2", + :block/created-at 1650439517817, + :block/updated-at 1650439517817} + {:block/name "625fe239-5548-4c66-ba66-f6fb1629b682", + :block/created-at 1650538810183, + :block/updated-at 1650538810183} + {:block/name "7大设计原则有哪些", + :block/created-at 1657157575549, + :block/updated-at 1657157575549} + {:block/name "@resource和@autowired的区别", + :block/created-at 1657157575624, + :block/updated-at 1657174764912} + {:block/name "[jdk", + :block/created-at 1650331207229, + :block/updated-at 1650331207229} + {:block/name "a", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "aba问题", + :block/created-at 1657260301766, + :block/updated-at 1657260301766} + {:block/name "abs", + :block/created-at 1649921407910, + :block/updated-at 1649921421829} + {:block/name "abstract", + :block/created-at 1649820627685, + :block/updated-at 1649820627685} + {:block/name "acid", + :block/created-at 1657260301815, + :block/updated-at 1657260301815} + {:block/name "add", + :block/created-at 1650331180462, + :block/updated-at 1650331180462} + {:block/name "addall", + :block/created-at 1650331180460, + :block/updated-at 1650331180460} + {:block/name "ajax怎么实现同步", + :block/created-at 1657157575674, + :block/updated-at 1657157575674} + {:block/name "apache", + :block/created-at 1657506094791, + :block/updated-at 1657506094791} + {:block/name "api", + :block/created-at 1649215178513, + :block/updated-at 1649904711721} + {:block/name "apifox", + :block/created-at 1658285395791, + :block/updated-at 1658285395791} + {:block/name "apppend", + :block/created-at 1649903790777, + :block/updated-at 1649903825473} + {:block/name "apr 11th, 2022", + :block/created-at 1649640912448, + :block/updated-at 1649676970820} + {:block/name "apr 12th, 2022", + :block/created-at 1649820616181, + :block/updated-at 1650074270128} + {:block/name "apr 13th, 2022", + :block/created-at 1649820618963, + :block/updated-at 1649847675738} + {:block/name "apr 14th, 2022", + :block/created-at 1649902256566, + :block/updated-at 1649945987130} + {:block/name "apr 15th, 2022", + :block/created-at 1650002649668, + :block/updated-at 1650010949968} + {:block/name "apr 16th, 2022", + :block/created-at 1650072826346, + :block/updated-at 1650089014547} + {:block/name "apr 17th, 2022", + :block/created-at 1650168842041, + :block/updated-at 1650168860312} + {:block/name "apr 18th, 2022", + :block/created-at 1650223242651, + :block/updated-at 1650263084206} + {:block/name "apr 19th, 2022", + :block/created-at 1650331174909, + :block/updated-at 1650370926105} + {:block/name "apr 20th, 2022", + :block/created-at 1650436211045, + :block/updated-at 1650458792346} + {:block/name "apr 21st, 2022", + :block/created-at 1650538807758, + :block/updated-at 1650539384945} + {:block/name "apr 22nd, 2022", + :block/created-at 1650608103235, + :block/updated-at 1650621414443} + {:block/name "apr 24th, 2022", + :block/created-at 1653189834622, + :block/updated-at 1653189834622} + {:block/name "apr 26th, 2022", + :block/created-at 1653189835132, + :block/updated-at 1653189835132} + {:block/name "apr 29th, 2022", + :block/created-at 1653189834791, + :block/updated-at 1653189834791} + {:block/name "apr 2nd, 2022", + :block/created-at 1649215177137, + :block/updated-at 1649215177137} + {:block/name "apr 4th, 2022", + :block/created-at 1649215177614, + :block/updated-at 1650080300255} + {:block/name "apr 5th, 2022", + :block/created-at 1649136689683, + :block/updated-at 1650080302016} + {:block/name "apr 6th, 2022", + :block/created-at 1649208205737, + :block/updated-at 1650079131663} + {:block/name "apr 7th, 2022", + :block/created-at 1649381376440, + :block/updated-at 1650079747001} + {:block/name "apr 8th, 2022", + :block/created-at 1649381365539, + :block/updated-at 1649411467229} + {:block/name "archive", + :block/created-at 1657260300397, + :block/updated-at 1657260300397} + {:block/name "arraycopy", + :block/created-at 1649917837922, + :block/updated-at 1649918067851} + {:block/name "arraylist", + :block/created-at 1650331179432, + :block/updated-at 1650348827846} + {:block/name "arraylist和linkedlist的区别", + :block/created-at 1657157575244, + :block/updated-at 1657157575244} + {:block/name "arraylist哪些操作效率较高", + :block/created-at 1657157575251, + :block/updated-at 1657157575251} + {:block/name "arrays", + :block/created-at 1649820616096, + :block/updated-at 1649908840194} + {:block/name "ascii", + :block/created-at 1649215178851, + :block/updated-at 1649215178851} + {:block/name "asicc", + :block/created-at 1650331210235, + :block/updated-at 1650331210235} + {:block/name "assert", + :block/created-at 1650331207765, + :block/updated-at 1650331207765} + {:block/name "at模式在运行过程中,如何进行2阶段处理的", + :block/created-at 1657157575941, + :block/updated-at 1657157575941} + {:block/name "aug 23rd, 2022", + :block/created-at 1661691105131, + :block/updated-at 1661691105131} + {:block/name "aug 28th, 2022", + :block/created-at 1661691476103, + :block/updated-at 1661691476103} + {:block/name "aug 5th, 2022", + :block/created-at 1659689855270, + :block/updated-at 1659689882411} + {:block/name "aug 8th, 2022", + :block/created-at 1659924427005, + :block/updated-at 1659946242380} + {:block/name "axios", + :block/created-at 1658136594835, + :block/updated-at 1658136594835} + {:block/name "b", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "beanfactory 和 applicationcontext的区别", + :block/created-at 1657157575638, + :block/updated-at 1657157575638} + {:block/name "bigdecimal", + :block/created-at 1649820616115, + :block/updated-at 1650080799980} + {:block/name "binarysearch", + :block/created-at 1649907973557, + :block/updated-at 1649908366000} + {:block/name "boolean", + :block/created-at 1650331182912, + :block/updated-at 1650331182912} + {:block/name "break", + :block/created-at 1650331207782, + :block/updated-at 1650331207782} + {:block/name "bug", + :block/created-at 1658285718426, + :block/updated-at 1658285718426} + {:block/name "byte", + :block/created-at 1650331182938, + :block/updated-at 1650331182938} + {:block/name "c", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "calendar", + :block/created-at 1650010949968, + :block/updated-at 1650010949968} + {:block/name "canceled", + :block/created-at 1657158746425, + :block/updated-at 1657158746425} + {:block/name "cancelled", + :block/created-at 1657158746424, + :block/updated-at 1657158746424} + {:block/name "capacity", + :block/created-at 1649903884620, + :block/updated-at 1649903908726} + {:block/name "card", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "cas", + :block/created-at 1657260301761, + :block/updated-at 1657260301761} + {:block/name "case", + :block/created-at 1650331207780, + :block/updated-at 1650331207780} + {:block/name "catch", + :block/created-at 1650331184555, + :block/updated-at 1650331184555} + {:block/name "cd", + :block/created-at 1650636328680, + :block/updated-at 1650636328680} + {:block/name "cd命令", + :block/created-at 1649215179586, + :block/updated-at 1649215179586} + {:block/name "char", + :block/created-at 1649833778899, + :block/updated-at 1649833778899} + {:block/name "character", + :block/created-at 1650331182914, + :block/updated-at 1650331182914} + {:block/name "charat", + :block/created-at 1649835616900, + :block/updated-at 1649835657620} + {:block/name "chmod 改用户组的权限", + :block/created-at 1657157575815, + :block/updated-at 1657157575815} + {:block/name "chmod如何改用户组的权限", + :block/created-at 1657157575825, + :block/updated-at 1657157575825} + {:block/name "class", + :block/created-at 1650331201916, + :block/updated-at 1650331201916} + {:block/name "classcastexception", + :block/created-at 1649820623100, + :block/updated-at 1649820623100} + {:block/name "classpath", + :block/created-at 1649046900886, + :block/updated-at 1649046900886} + {:block/name "clear", + :block/created-at 1650335084176, + :block/updated-at 1650335084176} + {:block/name "cls", + :block/created-at 1650636328684, + :block/updated-at 1650636328684} + {:block/name "cluster", + :block/created-at 1657506244977, + :block/updated-at 1657506244977} + {:block/name "cmd", + :block/created-at 1650636328679, + :block/updated-at 1650636328679} + {:block/name "collection", + :block/created-at 1650331180761, + :block/updated-at 1650331180761} + {:block/name "collection 和 collections 有什么区别", + :block/created-at 1657157575278, + :block/updated-at 1657175108979} + {:block/name "collection 和 collections 的区别是啥", + :block/created-at 1657157575232, + :block/updated-at 1657175126785} + {:block/name "collections", + :block/created-at 1650337483294, + :block/updated-at 1650337483294} + {:block/name "collection集合和map体系集合的区别", + :block/created-at 1657157575219, + :block/updated-at 1657175028091} + {:block/name "comparable", + :block/created-at 1650338110003, + :block/updated-at 1650338110003} + {:block/name "compareto", + :block/created-at 1650338276027, + :block/updated-at 1650338276027} + {:block/name "concat", + :block/created-at 1649835693143, + :block/updated-at 1649835712994} + {:block/name "concurrenthashmap为什么是线程安全的,如何做到的", + :block/created-at 1657157575214, + :block/updated-at 1657157575214} + {:block/name "const", + :block/created-at 1650331207742, + :block/updated-at 1650331207742} + {:block/name "contains", + :block/created-at 1649835911558, + :block/updated-at 1649835938222} + {:block/name "contents", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "continue", + :block/created-at 1650331207780, + :block/updated-at 1650331207780} + {:block/name "cookie", + :block/created-at 1658131515763, + :block/updated-at 1658131515763} + {:block/name "copyof", + :block/created-at 1649908412989, + :block/updated-at 1649908629426} + {:block/name "currenthashmap的在jdk1.7和1.8期间分别的特征", + :block/created-at 1657157575281, + :block/updated-at 1657157575281} + {:block/name "currenttimemillis", + :block/created-at 1649916949834, + :block/updated-at 1649917211744} + {:block/name "c语言", + :block/created-at 1650331202482, + :block/updated-at 1650331202482} + {:block/name "date", + :block/created-at 1650007668146, + :block/updated-at 1650011002661} + {:block/name "dcl", + :block/created-at 1653189837403, + :block/updated-at 1653189837403} + {:block/name "ddl", + :block/created-at 1653189837402, + :block/updated-at 1653189837402} + {:block/name "debug", + :block/created-at 1650331209846, + :block/updated-at 1650331209846} + {:block/name "default", + :block/created-at 1649820628349, + :block/updated-at 1649820628349} + {:block/name "delete", + :block/created-at 1649904577387, + :block/updated-at 1649904591211} + {:block/name "dir", + :block/created-at 1650636328682, + :block/updated-at 1650636328682} + {:block/name "dml", + :block/created-at 1653189837403, + :block/updated-at 1653189837403} + {:block/name "do", + :block/created-at 1650331207777, + :block/updated-at 1650331207777} + {:block/name "do while 循环", + :block/created-at 1649215179219, + :block/updated-at 1649663083940} + {:block/name "docker", + :block/created-at 1657157572523, + :block/updated-at 1657157572523} + {:block/name "doing", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "done", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "dos", + :block/created-at 1649215179619, + :block/updated-at 1649215179619} + {:block/name "dos命令", + :block/created-at 1649215189875, + :block/updated-at 1650076504661} + {:block/name "double", + :block/created-at 1650331182916, + :block/updated-at 1650331182916} + {:block/name "dql", + :block/created-at 1653189837405, + :block/updated-at 1653189837405} + {:block/name "eclipse", + :block/created-at 1649215180218, + :block/updated-at 1649215180218} + {:block/name "elasticsearch", + :block/created-at 1657505788966, + :block/updated-at 1657521231447} + {:block/name "elasticsearch分页", + :block/created-at 1657605831432, + :block/updated-at 1657605831432} + {:block/name "elasticsearch条件查询", + :block/created-at 1657605814458, + :block/updated-at 1657605814458} + {:block/name "elementui", + :block/created-at 1658285388756, + :block/updated-at 1658285388756} + {:block/name "else", + :block/created-at 1650331207775, + :block/updated-at 1650331207775} + {:block/name "endwith", + :block/created-at 1649836221975, + :block/updated-at 1649836247635} + {:block/name "entryset", + :block/created-at 1650436841283, + :block/updated-at 1650436841283} + {:block/name "equals", + :block/created-at 1649908827534, + :block/updated-at 1649908893803} + {:block/name "equalsignorecase", + :block/created-at 1649836127664, + :block/updated-at 1649836146217} + {:block/name "es实现全文检索的原理是什么", + :block/created-at 1657157575806, + :block/updated-at 1657157575806} + {:block/name "es怎么保持和数据库的一致性", + :block/created-at 1657157575801, + :block/updated-at 1657157575801} + {:block/name "es怎么配权重 可以做数据库吗", + :block/created-at 1657157575804, + :block/updated-at 1657157575804} + {:block/name "es查询一个张三,李四。张三名字可能会重复,要按照张三的生日去进行排序,这个es语句怎么写", + :block/created-at 1657157575809, + :block/updated-at 1657157575809} + {:block/name "eureka", + :block/created-at 1660140196501, + :block/updated-at 1660140196501} + {:block/name "eureka关闭之后,其他的微服务之间还能调用么", + :block/created-at 1657157575915, + :block/updated-at 1657157575915} + {:block/name "eureka如何搭建,如何才能规避因为网络原因导致客户端大面积下线的情况", + :block/created-at 1657157575905, + :block/updated-at 1657157575905} + {:block/name "eureka高可用怎么配置", + :block/created-at 1657157575908, + :block/updated-at 1657157575908} + {:block/name "exception", + :block/created-at 1650331184795, + :block/updated-at 1650331184795} + {:block/name "exit", + :block/created-at 1649215179615, + :block/updated-at 1649916724459} + {:block/name "extends", + :block/created-at 1650331207798, + :block/updated-at 1650331207798} + {:block/name "false", + :block/created-at 1650331207809, + :block/updated-at 1650331207809} + {:block/name "favorites", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "feign远程调用的时候,如何确保feign接口的参数和controller层方法参数一致", + :block/created-at 1657157575891, + :block/updated-at 1657157575891} + {:block/name "feishu+logseq", + :block/created-at 1657157736107, + :block/updated-at 1657157736107} + {:block/name "fifo", + :block/created-at 1657355454820, + :block/updated-at 1657355466851} + {:block/name "file", + :block/created-at 1650446851612, + :block/updated-at 1650446871486} + {:block/name "fileinputstream", + :block/created-at 1650636329173, + :block/updated-at 1650636329173} + {:block/name "fileoutputstream", + :block/created-at 1650636329176, + :block/updated-at 1650636329176} + {:block/name "filereader", + :block/created-at 1650636327436, + :block/updated-at 1650636327436} + {:block/name "filewriter", + :block/created-at 1650636327437, + :block/updated-at 1650636327437} + {:block/name "final", + :block/created-at 1649820616029, + :block/updated-at 1650080286912} + {:block/name "final 在 java 中有什么作用", + :block/created-at 1657157575580, + :block/updated-at 1657157575580} + {:block/name "finalize", + :block/created-at 1650331203492, + :block/updated-at 1650331203492} + {:block/name "finally", + :block/created-at 1650331184801, + :block/updated-at 1650331184801} + {:block/name "firewall", + :block/created-at 1657157571748, + :block/updated-at 1657157571748} + {:block/name "float", + :block/created-at 1650331182923, + :block/updated-at 1650331182923} + {:block/name "for", + :block/created-at 1650331207774, + :block/updated-at 1650331207774} + {:block/name "foreach", + :block/created-at 1650436600460, + :block/updated-at 1650436600460} + {:block/name "forward和redirect的区别", + :block/created-at 1657157575647, + :block/updated-at 1657157575647} + {:block/name "for循环", + :block/created-at 1649215180627, + :block/updated-at 1649215180627} + {:block/name "gc", + :block/created-at 1649916808383, + :block/updated-at 1649916884486} + {:block/name "get", + :block/created-at 1650331180485, + :block/updated-at 1650331180485} + {:block/name "getbytes", + :block/created-at 1649836292118, + :block/updated-at 1649836382319} + {:block/name "getordefault", + :block/created-at 1650436211926, + :block/updated-at 1650436211926} + {:block/name "getproperties", + :block/created-at 1649918250765, + :block/updated-at 1649918291655} + {:block/name "getproperty", + :block/created-at 1650636324585, + :block/updated-at 1650636324585} + {:block/name "getter", + :block/created-at 1649215195546, + :block/updated-at 1649215195546} + {:block/name "getter与setter", + :block/created-at 1649215195544, + :block/updated-at 1649410098646} + {:block/name "git", + :block/created-at 1658285405665, + :block/updated-at 1658285405665} + {:block/name "git回退上个版本,用什么命令 切换分支用哪个命令", + :block/created-at 1657157576002, + :block/updated-at 1657157576002} + {:block/name "gof32", + :block/created-at 1657519570576, + :block/updated-at 1657519570576} + {:block/name "goto", + :block/created-at 1650331207743, + :block/updated-at 1650331207743} + {:block/name "hash", + :block/created-at 1650360029789, + :block/updated-at 1650360029789} + {:block/name "hashcode", + :block/created-at 1650360468015, + :block/updated-at 1650360468015} + {:block/name "hashmap", + :block/created-at 1650331188284, + :block/updated-at 1650437500583} + {:block/name "hashmap 什么情况下会产生死锁的问题如何解决", + :block/created-at 1657157575238, + :block/updated-at 1657157575238} + {:block/name "hashmap 和 hashtable 有什么区别", + :block/created-at 1657157575258, + :block/updated-at 1657157575258} + {:block/name "hashmap为什么要重写hashcode", + :block/created-at 1657157575253, + :block/updated-at 1657157575253} + {:block/name "hashmap和concurrenthashmap的区别", + :block/created-at 1657157575205, + :block/updated-at 1657157575205} + {:block/name "hashmap在jdk1.7和jdk1.8的区别", + :block/created-at 1657157575221, + :block/updated-at 1657157575221} + {:block/name "hashmap在什么情况下单链表需要转为红黑树", + :block/created-at 1657157575213, + :block/updated-at 1657157575213} + {:block/name "hashmap的put方法的执行过程", + :block/created-at 1657157575263, + :block/updated-at 1657157575263} + {:block/name "hashmap的底层原理是什么,如何扩容,并解决hash碰撞的", + :block/created-at 1657157575211, + :block/updated-at 1657157575211} + {:block/name "hashmap的底层是如何解决hash碰撞的", + :block/created-at 1657157575275, + :block/updated-at 1657157575275} + {:block/name "hashset", + :block/created-at 1650331188266, + :block/updated-at 1650360468020} + {:block/name "hashset的去重原理", + :block/created-at 1657157575223, + :block/updated-at 1657157575223} + {:block/name "hashtable", + :block/created-at 1650331188289, + :block/updated-at 1650441150118} + {:block/name "helloworld", + :block/created-at 1649215184171, + :block/updated-at 1649215184171} + {:block/name "helloworld详解", + :block/created-at 1649215181043, + :block/updated-at 1650080658895} + {:block/name "html", + :block/created-at 1653533260514, + :block/updated-at 1653533260514} + {:block/name "http", + :block/created-at 1650636328185, + :block/updated-at 1650636328185} + {:block/name "https", + :block/created-at 1650636328187, + :block/updated-at 1650636328187} + {:block/name "https 通讯协议是如何实现的 它的加密方式是什么", + :block/created-at 1657157575671, + :block/updated-at 1657157575671} + {:block/name "http协议中get与post提交方法的区别在哪里", + :block/created-at 1657157575697, + :block/updated-at 1657157575697} + {:block/name "http通讯协议分为几个部分 请求协议的组成", + :block/created-at 1657157575677, + :block/updated-at 1657157575677} + {:block/name "hutool", + :block/created-at 1658286392644, + :block/updated-at 1658286392644} + {:block/name "id", + :block/created-at 1653533277502, + :block/updated-at 1653533277502} + {:block/name "ide", + :block/created-at 1649215181722, + :block/updated-at 1649215181722} + {:block/name "idea", + :block/created-at 1649215181400, + :block/updated-at 1649215181400} + {:block/name "ide集成开发环境", + :block/created-at 1649215181741, + :block/updated-at 1650077056039} + {:block/name "ieda", + :block/created-at 1649899367370, + :block/updated-at 1649899367370} + {:block/name "if", + :block/created-at 1650331207773, + :block/updated-at 1650331207773} + {:block/name "if判断", + :block/created-at 1649215182055, + :block/updated-at 1649215182055} + {:block/name "implements", + :block/created-at 1649820628343, + :block/updated-at 1649820628343} + {:block/name "import", + :block/created-at 1650331207758, + :block/updated-at 1650331207758} + {:block/name "in 与 exits 的区别是什么", + :block/created-at 1657157575513, + :block/updated-at 1657157575513} + {:block/name "in-progress", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "indexof", + :block/created-at 1649835497490, + :block/updated-at 1649835538531} + {:block/name "inetaddress", + :block/created-at 1650608103135, + :block/updated-at 1650608103135} + {:block/name "innodb", + :block/created-at 1657260300388, + :block/updated-at 1657260300388} + {:block/name "innodb的行级锁什么情况下会使用", + :block/created-at 1657157575444, + :block/updated-at 1657157575444} + {:block/name "input", + :block/created-at 1650445980901, + :block/updated-at 1650445980901} + {:block/name "inputstream", + :block/created-at 1650446813903, + :block/updated-at 1650446813903} + {:block/name "insert", + :block/created-at 1649903806330, + :block/updated-at 1649903868046} + {:block/name "instanceof", + :block/created-at 1649820619771, + :block/updated-at 1649820619771} + {:block/name "int", + :block/created-at 1650331180468, + :block/updated-at 1650331180468} + {:block/name "integer", + :block/created-at 1650331180465, + :block/updated-at 1650331180465} + {:block/name "interator", + :block/created-at 1650336046007, + :block/updated-at 1650336046007} + {:block/name "interface", + :block/created-at 1649820628334, + :block/updated-at 1649820628334} + {:block/name "intern", + :block/created-at 1649839118741, + :block/updated-at 1649839223715} + {:block/name "ioc", + :block/created-at 1655521624374, + :block/updated-at 1655521624374} + {:block/name "io流", + :block/created-at 1650445947413, + :block/updated-at 1650446894652} + {:block/name "io流的分类有哪些", + :block/created-at 1657157575597, + :block/updated-at 1657157575597} + {:block/name "ip", + :block/created-at 1650636323812, + :block/updated-at 1650636323812} + {:block/name "ipconfig", + :block/created-at 1649215179610, + :block/updated-at 1649215179610} + {:block/name "isempty", + :block/created-at 1649837951779, + :block/updated-at 1649838007283} + {:block/name "iterable", + :block/created-at 1650336032868, + :block/updated-at 1650336032868} + {:block/name "jar", + :block/created-at 1649046906538, + :block/updated-at 1649046906538} + {:block/name "java ee", + :block/created-at 1650331202476, + :block/updated-at 1650331202476} + {:block/name "java me", + :block/created-at 1650331202478, + :block/updated-at 1650331202478} + {:block/name "java se", + :block/created-at 1650331202479, + :block/updated-at 1650331202479} + {:block/name "java_home", + :block/created-at 1650331203282, + :block/updated-at 1650331203282} + {:block/name "javabean", + :block/created-at 1649647591986, + :block/updated-at 1649647591986} + {:block/name "javabean规范", + :block/created-at 1649215195533, + :block/updated-at 1649647838288} + {:block/name "javascript", + :block/created-at 1653196611287, + :block/updated-at 1653196611287} + {:block/name "java中异常的分类,分别说说都哪些具体的异常", + :block/created-at 1657157575603, + :block/updated-at 1657157575603} + {:block/name "java发展历程", + :block/created-at 1649215183072, + :block/updated-at 1650252383200} + {:block/name "java的反射,在哪些地方有过应用", + :block/created-at 1657157575586, + :block/updated-at 1657157575586} + {:block/name "java程序注释", + :block/created-at 1649215181735, + :block/updated-at 1650078753268} + {:block/name "java跨平台原理", + :block/created-at 1649215183676, + :block/updated-at 1649215183676} + {:block/name "java面试", + :block/created-at 1649215183909, + :block/updated-at 1650621154779} + {:block/name "jdbc", + :block/created-at 1653189834789, + :block/updated-at 1653189834789} + {:block/name "jdbc如何提升读取数据的性能", + :block/created-at 1657157575481, + :block/updated-at 1657157575481} + {:block/name "jdk", + :block/created-at 1650331202498, + :block/updated-at 1650331202498} + {:block/name "jdk1", + :block/created-at 1650420404818, + :block/updated-at 1650420404818} + {:block/name "jdk1.8 针对synchronized,都做过哪些优化", + :block/created-at 1657157575385, + :block/updated-at 1657157575385} + {:block/name "jdk1.8日期api", + :block/created-at 1650245515564, + :block/updated-at 1650252002875} + {:block/name "jdk1.8的新特性,你都用过哪些", + :block/created-at 1657157575570, + :block/updated-at 1657157575570} + {:block/name "jdk1/8日期api(1)", + :block/created-at 1661691179593, + :block/updated-at 1661691179593} + {:block/name "jdk8", + :block/created-at 1650331203276, + :block/updated-at 1650331203276} + {:block/name "jdk中有哪些队列", + :block/created-at 1657157575254, + :block/updated-at 1657157575254} + {:block/name "jdk环境搭建", + :block/created-at 1649215184182, + :block/updated-at 1650076882949} + {:block/name "jdk,jre,jvm的区别", + :block/created-at 1657157575609, + :block/updated-at 1657157575609} + {:block/name "jit编译器", + :block/created-at 1649215183674, + :block/updated-at 1649215183674} + {:block/name "jquery", + :block/created-at 1653533260326, + :block/updated-at 1653533260326} + {:block/name "jre", + :block/created-at 1650331202501, + :block/updated-at 1650331202501} + {:block/name "json", + :block/created-at 1657765252670, + :block/updated-at 1657765252670} + {:block/name "json格式长什么样 那么jsonarray呢", + :block/created-at 1657157575684, + :block/updated-at 1657157575684} + {:block/name "json的解析框架,你用过什么", + :block/created-at 1657157575679, + :block/updated-at 1657157575679} + {:block/name "jul 11th, 2022", + :block/created-at 1657505750996, + :block/updated-at 1657527583379} + {:block/name "jul 12th, 2022", + :block/created-at 1657605770644, + :block/updated-at 1657606387138} + {:block/name "jul 13th, 2022", + :block/created-at 1657765252229, + :block/updated-at 1657765252229} + {:block/name "jul 14th, 2022", + :block/created-at 1657765252003, + :block/updated-at 1658107900019} + {:block/name "jul 18th, 2022", + :block/created-at 1658107861830, + :block/updated-at 1658131485084} + {:block/name "jul 19th, 2022", + :block/created-at 1658196365763, + :block/updated-at 1658221260883} + {:block/name "jul 20th, 2022", + :block/created-at 1658246455182, + :block/updated-at 1658285015264} + {:block/name "jul 21st, 2022", + :block/created-at 1658285015264, + :block/updated-at 1658285015264} + {:block/name "jul 22nd, 2022", + :block/created-at 1658285464891, + :block/updated-at 1658285464891} + {:block/name "jul 26th, 2022", + :block/created-at 1658285464890, + :block/updated-at 1658285464890} + {:block/name "jul 27th, 2022", + :block/created-at 1658285501001, + :block/updated-at 1658285501001} + {:block/name "jul 28th, 2022", + :block/created-at 1658285534476, + :block/updated-at 1658285534476} + {:block/name "jul 5th, 2022", + :block/created-at 1657157570502, + :block/updated-at 1657157570502} + {:block/name "jul 6th, 2022", + :block/created-at 1657157571024, + :block/updated-at 1657157571024} + {:block/name "jul 7th, 2022", + :block/created-at 1657157756946, + :block/updated-at 1657175137574} + {:block/name "jul 8th, 2022", + :block/created-at 1657260300914, + :block/updated-at 1657260300914} + {:block/name "jul 9th, 2022", + :block/created-at 1657347478674, + :block/updated-at 1657355378817} + {:block/name "jun 18th, 2022", + :block/created-at 1655521479175, + :block/updated-at 1655521671791} + {:block/name "jvm", + :block/created-at 1649215183650, + :block/updated-at 1649215183650} + {:block/name "jvm参数调优的总结", + :block/created-at 1657157575424, + :block/updated-at 1657157575424} + {:block/name "jvm虚拟机的原理", + :block/created-at 1657157575393, + :block/updated-at 1657157575393} + {:block/name "jwt", + :block/created-at 1658131485079, + :block/updated-at 1658278897838} + {:block/name "key-value", + :block/created-at 1650436212227, + :block/updated-at 1650436212227} + {:block/name "keyset", + :block/created-at 1650436211939, + :block/updated-at 1650436211939} + {:block/name "kibana", + :block/created-at 1657520916137, + :block/updated-at 1657521121553} + {:block/name "lastindexof", + :block/created-at 1649838687566, + :block/updated-at 1649838774931} + {:block/name "later", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "length", + :block/created-at 1649903970896, + :block/updated-at 1649904234147} + {:block/name "like 后 加% 和 加_ 的区别在哪里", + :block/created-at 1657157575466, + :block/updated-at 1657157575466} + {:block/name "linkedhashmap", + :block/created-at 1650331188291, + :block/updated-at 1650441023708} + {:block/name "linkedhashset", + :block/created-at 1650331188275, + :block/updated-at 1650331188275} + {:block/name "linkedlist", + :block/created-at 1650331188258, + :block/updated-at 1650353801524} + {:block/name "linux", + :block/created-at 1650636328185, + :block/updated-at 1657077033275} + {:block/name "linux如何查看资源的使用情况", + :block/created-at 1657157575823, + :block/updated-at 1657157575823} + {:block/name "list", + :block/created-at 1650331180488, + :block/updated-at 1650331180488} + {:block/name "list、set、map区别", + :block/created-at 1657157575261, + :block/updated-at 1657157575261} + {:block/name "localdate", + :block/created-at 1650331181445, + :block/updated-at 1650331181445} + {:block/name "localdatetime", + :block/created-at 1650331181452, + :block/updated-at 1650331181452} + {:block/name "localtime", + :block/created-at 1650331181450, + :block/updated-at 1650331181450} + {:block/name "long", + :block/created-at 1650331182927, + :block/updated-at 1650331182927} + {:block/name "lucene", + :block/created-at 1657505769974, + :block/updated-at 1657505769974} + {:block/name "map", + :block/created-at 1650331188282, + :block/updated-at 1650331188282} + {:block/name "mar 28th, 2022", + :block/created-at 1649215173281, + :block/updated-at 1650073748268} + {:block/name "mar 29th, 2022", + :block/created-at 1649215175590, + :block/updated-at 1650073682635} + {:block/name "mar 30th, 2022", + :block/created-at 1649215176050, + :block/updated-at 1650073680281} + {:block/name "mar 31st, 2022", + :block/created-at 1649215176519, + :block/updated-at 1650073677109} + {:block/name "math", + :block/created-at 1649820616108, + :block/updated-at 1649922233529} + {:block/name "max", + :block/created-at 1649921590842, + :block/updated-at 1649921626166} + {:block/name "may 10th, 2022", + :block/created-at 1653189835750, + :block/updated-at 1653189835750} + {:block/name "may 11th, 2022", + :block/created-at 1653189836037, + :block/updated-at 1653189836037} + {:block/name "may 12th, 2022", + :block/created-at 1653189836189, + :block/updated-at 1653189836189} + {:block/name "may 21st, 2022", + :block/created-at 1653533260545, + :block/updated-at 1653533260545} + {:block/name "may 22nd, 2022", + :block/created-at 1653189833879, + :block/updated-at 1653196611289} + {:block/name "may 23rd, 2022", + :block/created-at 1653533260331, + :block/updated-at 1653533260331} + {:block/name "memory", + :block/created-at 1657260300394, + :block/updated-at 1657260300394} + {:block/name "min", + :block/created-at 1649921626164, + :block/updated-at 1649921675028} + {:block/name "mq是什么 你用过哪个 怎么配置的", + :block/created-at 1657157575742, + :block/updated-at 1657157575742} + {:block/name "mq是如何保证消息不丢失的", + :block/created-at 1657157575710, + :block/updated-at 1657157575710} + {:block/name "mq的工作原理", + :block/created-at 1657157575712, + :block/updated-at 1657157575712} + {:block/name "mybatis", + :block/created-at 1653189836188, + :block/updated-at 1653189836188} + {:block/name "mybatisplus", + :block/created-at 1658285370864, + :block/updated-at 1658285370864} + {:block/name "mybatis和mybatisplus 你在项目中,哪个用的较多", + :block/created-at 1657157575925, + :block/updated-at 1657157575925} + {:block/name "mybatis如何防止sql注入", + :block/created-at 1657157575535, + :block/updated-at 1657157575535} + {:block/name "mybatis的一二级缓存是什么样的", + :block/created-at 1657157575529, + :block/updated-at 1657157575529} + {:block/name "mybatis的实现原理", + :block/created-at 1657157575523, + :block/updated-at 1657157575523} + {:block/name "mybatis级联的配置", + :block/created-at 1657157575526, + :block/updated-at 1657157575526} + {:block/name "mybits的缺点有哪些", + :block/created-at 1657157575533, + :block/updated-at 1657157575533} + {:block/name "myisam", + :block/created-at 1657260300391, + :block/updated-at 1657260300391} + {:block/name "mysql", + :block/created-at 1653189835123, + :block/updated-at 1653189835123} + {:block/name "mysql中存储引擎innodb,myisam的区别在哪里", + :block/created-at 1657157575514, + :block/updated-at 1657157575514} + {:block/name "mysql中锁机制", + :block/created-at 1657157575516, + :block/updated-at 1657157575516} + {:block/name "mysql数据库的my.ini文件中可以配置什么参数", + :block/created-at 1657157575518, + :block/updated-at 1657157575518} + {:block/name "mysql数据库索引是用什么数据结构存储的", + :block/created-at 1657157575455, + :block/updated-at 1657157575455} + {:block/name "mysql的ini文件,都有些参数可以配置", + :block/created-at 1657157575923, + :block/updated-at 1657157575923} + {:block/name "nacos 与 eureka的区别", + :block/created-at 1657157575847, + :block/updated-at 1657157575847} + {:block/name "nanatime", + :block/created-at 1649917202891, + :block/updated-at 1649917272720} + {:block/name "native", + :block/created-at 1650331207792, + :block/updated-at 1650331207792} + {:block/name "new", + :block/created-at 1649403626648, + :block/updated-at 1649403626648} + {:block/name "nextint", + :block/created-at 1649922298235, + :block/updated-at 1649922333932} + {:block/name "nginx反向代理原理", + :block/created-at 1657157575820, + :block/updated-at 1657157575820} + {:block/name "nginx服务器", + :block/created-at 1657157570492, + :block/updated-at 1657157570492} + {:block/name "nginx的负载均衡策略", + :block/created-at 1657157575822, + :block/updated-at 1657157575822} + {:block/name "nginx都配置过什么 如何做负载配置,都哪些负载算法", + :block/created-at 1657157575917, + :block/updated-at 1657157575917} + {:block/name "ngnix代理配置是在哪个文件", + :block/created-at 1657157575919, + :block/updated-at 1657157575919} + {:block/name "node", + :block/created-at 1650352942083, + :block/updated-at 1650352942083} + {:block/name "node.js", + :block/created-at 1658107863813, + :block/updated-at 1658107863813} + {:block/name "now", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "npm", + :block/created-at 1658107863809, + :block/updated-at 1658107863809} + {:block/name "null", + :block/created-at 1649838007282, + :block/updated-at 1649838007282} + {:block/name "object", + :block/created-at 1649821953338, + :block/updated-at 1650080726649} + {:block/name "objectinputstream", + :block/created-at 1650636327636, + :block/updated-at 1650636327636} + {:block/name "objectoutputstream", + :block/created-at 1650636327631, + :block/updated-at 1650636327631} + {:block/name "object类常用api", + :block/created-at 1649820616092, + :block/updated-at 1649832104628} + {:block/name "object类的常见方法都有哪些", + :block/created-at 1657157575602, + :block/updated-at 1657157575602} + {:block/name "openfeign的工作原理,是如何调用服务的", + :block/created-at 1657157575885, + :block/updated-at 1657157575885} + {:block/name "osi", + :block/created-at 1650636324913, + :block/updated-at 1650636324913} + {:block/name "osi七层模型,大概了解么", + :block/created-at 1657157575547, + :block/updated-at 1657157575547} + {:block/name "output", + :block/created-at 1650446894651, + :block/updated-at 1650446894651} + {:block/name "outputstream", + :block/created-at 1650446827925, + :block/updated-at 1650446827925} + {:block/name "package", + :block/created-at 1650331207757, + :block/updated-at 1650331207757} + {:block/name "pascal命名法", + :block/created-at 1650339181951, + :block/updated-at 1650339181951} + {:block/name "path", + :block/created-at 1650331203283, + :block/updated-at 1650331203283} + {:block/name "ping", + :block/created-at 1650636328184, + :block/updated-at 1650636328184} + {:block/name "pow", + :block/created-at 1649921481890, + :block/updated-at 1649921494395} + {:block/name "powerdesigner", + :block/created-at 1658201426767, + :block/updated-at 1658201485625} + {:block/name "printstream", + :block/created-at 1650636327005, + :block/updated-at 1650636327005} + {:block/name "printwrite", + :block/created-at 1650636327001, + :block/updated-at 1650636327001} + {:block/name "private", + :block/created-at 1649405605908, + :block/updated-at 1649405605908} + {:block/name "properties", + :block/created-at 1650538806180, + :block/updated-at 1650538806180} + {:block/name "protected", + :block/created-at 1649405676627, + :block/updated-at 1649405676627} + {:block/name "public", + :block/created-at 1649405555717, + :block/updated-at 1649405555717} + {:block/name "put", + :block/created-at 1650436211914, + :block/updated-at 1650436211914} + {:block/name "putall", + :block/created-at 1650436211920, + :block/updated-at 1650436211920} + {:block/name "quene", + :block/created-at 1650331188279, + :block/updated-at 1650331188279} + {:block/name "rabbitmq", + :block/created-at 1657355562900, + :block/updated-at 1657355562900} + {:block/name "rabbitmq怎么实现订单延迟支付", + :block/created-at 1657157575737, + :block/updated-at 1657157575737} + {:block/name "random", + :block/created-at 1649820616112, + :block/updated-at 1649924607589} + {:block/name "random(long seed)", + :block/created-at 1649924607584, + :block/updated-at 1649924851662} + {:block/name "reader", + :block/created-at 1650636327434, + :block/updated-at 1650636327434} + {:block/name "redis", + :block/created-at 1657157570992, + :block/updated-at 1657244216739} + {:block/name "redis 有哪些功能", + :block/created-at 1657157575762, + :block/updated-at 1657157575762} + {:block/name "redis 都有哪些使用场景", + :block/created-at 1657157575760, + :block/updated-at 1657157575760} + {:block/name "redis主从复制", + :block/created-at 1657260300907, + :block/updated-at 1657260300907} + {:block/name "redis哨兵模式", + :block/created-at 1657260300909, + :block/updated-at 1657260300909} + {:block/name "redis如何保证与数据库的数据一致性问题", + :block/created-at 1657157575786, + :block/updated-at 1657157575786} + {:block/name "redis如何配置rdb", + :block/created-at 1657157575798, + :block/updated-at 1657157575798} + {:block/name "redis持久化机制中aof与rdb区别在哪里", + :block/created-at 1657157575795, + :block/updated-at 1657157575795} + {:block/name "redis支持的数据类型", + :block/created-at 1657157575747, + :block/updated-at 1657157575747} + {:block/name "redis是原子性的吗 是线程安全的吗 多线程还是单线程", + :block/created-at 1657157575768, + :block/updated-at 1657157575768} + {:block/name "redis的5种数据类型,分别的使用场景", + :block/created-at 1657157575790, + :block/updated-at 1657157575790} + {:block/name "redis的分布式锁用过没 描述一下", + :block/created-at 1657157575781, + :block/updated-at 1657157575781} + {:block/name "redis的单线程原理是什么 如果有10个用户同时操作redis,那么redis是否按照先后顺序来处理情况", + :block/created-at 1657157575779, + :block/updated-at 1657157575779} + {:block/name "redis的持久化方式,以及各自的区别,项目中用的哪一种,怎么配置的", + :block/created-at 1657157575749, + :block/updated-at 1657157575749} + {:block/name "redis的特性是哪些,可以用来干嘛", + :block/created-at 1657157575770, + :block/updated-at 1657157575770} + {:block/name "redis设置永不过期也可以解决缓存击穿,为什么还要用分布式锁", + :block/created-at 1657157575784, + :block/updated-at 1657157575784} + {:block/name "redis集群知道么,如何实现", + :block/created-at 1657157575792, + :block/updated-at 1657157575792} + {:block/name "remove", + :block/created-at 1650333533358, + :block/updated-at 1650333533358} + {:block/name "replace", + :block/created-at 1649838588236, + :block/updated-at 1649838619697} + {:block/name "resttemplate", + :block/created-at 1657765252874, + :block/updated-at 1657765252874} + {:block/name "return", + :block/created-at 1650331184814, + :block/updated-at 1650331184814} + {:block/name "reverse", + :block/created-at 1649904667332, + :block/updated-at 1649904675927} + {:block/name "ribbon", + :block/created-at 1659946242378, + :block/updated-at 1659946302052} + {:block/name "round", + :block/created-at 1649921704008, + :block/updated-at 1650080814216} + {:block/name "runtime", + :block/created-at 1649918504012, + :block/updated-at 1649918813803} + {:block/name "runtimeexception", + :block/created-at 1650331187320, + :block/updated-at 1650331187320} + {:block/name "seata是三大核心组件是哪些,他们分别的作用是什么", + :block/created-at 1657157575936, + :block/updated-at 1657157575936} + {:block/name "seata的at模式与tcc模式区别在哪里", + :block/created-at 1657157575938, + :block/updated-at 1657157575938} + {:block/name + "select count(*) ,select count(1),select count(字段) 说一下区别", + :block/created-at 1657157575483, + :block/updated-at 1657157575483} + {:block/name "serialization", + :block/created-at 1650636327633, + :block/updated-at 1650636327633} + {:block/name "servlet的生命周期", + :block/created-at 1657157575686, + :block/updated-at 1657157575686} + {:block/name "session", + :block/created-at 1658131520703, + :block/updated-at 1658131520703} + {:block/name "set", + :block/created-at 1650331188263, + :block/updated-at 1650356367381} + {:block/name "setcharat", + :block/created-at 1649904278600, + :block/updated-at 1649904278600} + {:block/name "setproperty", + :block/created-at 1650636324584, + :block/updated-at 1650636324584} + {:block/name "setter", + :block/created-at 1649409509939, + :block/updated-at 1649409509939} + {:block/name "shiro的执行流程", + :block/created-at 1657157575704, + :block/updated-at 1657157575704} + {:block/name "short", + :block/created-at 1650331182933, + :block/updated-at 1650331182933} + {:block/name "size", + :block/created-at 1650331180482, + :block/updated-at 1650331180482} + {:block/name "sleep()和wait() 的区别", + :block/created-at 1657157575358, + :block/updated-at 1657157575358} + {:block/name "socket", + :block/created-at 1650608105322, + :block/updated-at 1650617759892} + {:block/name "solr", + :block/created-at 1657505775782, + :block/updated-at 1657505775782} + {:block/name "sort", + :block/created-at 1649907777969, + :block/updated-at 1649908002154} + {:block/name "split", + :block/created-at 1649838172427, + :block/updated-at 1649838310658} + {:block/name "spring", + :block/created-at 1655521605637, + :block/updated-at 1655521624377} + {:block/name "spring cloud", + :block/created-at 1659924448125, + :block/updated-at 1659924483890} + {:block/name "spring data", + :block/created-at 1657157742489, + :block/updated-at 1657157742489} + {:block/name "spring data jpa", + :block/created-at 1657527583378, + :block/updated-at 1657527595831} + {:block/name "spring data redis", + :block/created-at 1657157742306, + :block/updated-at 1657157742306} + {:block/name "spring 事务实现方式有哪些", + :block/created-at 1657157575635, + :block/updated-at 1657157575635} + {:block/name "spring,springmvc,springboot的区别是啥", + :block/created-at 1657157575660, + :block/updated-at 1657157575660} + {:block/name "springboot", + :block/created-at 1657765253053, + :block/updated-at 1657765253053} + {:block/name "springboot主要的配置类有哪些", + :block/created-at 1657157575658, + :block/updated-at 1657157575658} + {:block/name + "springboot在yaml中配置了开发环境配置文件和测试配置文件,有几种方式在不同环境去使用不同的配置文件", + :block/created-at 1657157575664, + :block/updated-at 1657157575664} + {:block/name "springboot如何实现自动配置 原理是什么", + :block/created-at 1657157575653, + :block/updated-at 1657157575653} + {:block/name "springboot的web模块自动集成了tomcat,如何剔除", + :block/created-at 1657157575654, + :block/updated-at 1657157575654} + {:block/name "springboot的优点在哪里", + :block/created-at 1657157575665, + :block/updated-at 1657157575665} + {:block/name "springcloud体系的几大组件", + :block/created-at 1657157575860, + :block/updated-at 1657157575860} + {:block/name "springmvc", + :block/created-at 1657765253081, + :block/updated-at 1657765253081} + {:block/name "springmvc 过滤器 拦截器的使用场景和区别是什么", + :block/created-at 1657157575651, + :block/updated-at 1657157575651} + {:block/name "springmvc框架的工作流程", + :block/created-at 1657157575646, + :block/updated-at 1657157575646} + {:block/name + "spring中bean基本都是单例的,如果一个方法要对bean中的属性值进行修改,这个方法会被多次执行,怎么确保安全", + :block/created-at 1657157575640, + :block/updated-at 1657157575640} + {:block/name "spring中对事务的支持,有哪些方式 你项目中如何处理事务", + :block/created-at 1657157575620, + :block/updated-at 1657157575620} + {:block/name "spring依赖注入的方式有哪些 有区别么", + :block/created-at 1657157575630, + :block/updated-at 1657157575630} + {:block/name "spring实例化组件时,如何设置属性", + :block/created-at 1657157575643, + :block/updated-at 1657157575643} + {:block/name "spring的启动流程是怎么样的", + :block/created-at 1657157575668, + :block/updated-at 1657157575668} + {:block/name "spring的常用注解都有哪些", + :block/created-at 1657157575633, + :block/updated-at 1657157575633} + {:block/name "spring的循环依赖问题,如何解决", + :block/created-at 1657157575618, + :block/updated-at 1657157575618} + {:block/name "spring调用外部接口", + :block/created-at 1657765252221, + :block/updated-at 1657765252221} + {:block/name "sql", + :block/created-at 1653189835129, + :block/updated-at 1653189835129} + {:block/name "sql语句过慢怎么定位问题", + :block/created-at 1657157575462, + :block/updated-at 1657157575462} + {:block/name "startwith", + :block/created-at 1649836170156, + :block/updated-at 1649836257781} + {:block/name "static", + :block/created-at 1649215195551, + :block/updated-at 1649403727225} + {:block/name "strictfp", + :block/created-at 1650331207788, + :block/updated-at 1650331207788} + {:block/name "string", + :block/created-at 1649833808078, + :block/updated-at 1650080514099} + {:block/name "stringbuffer", + :block/created-at 1649820616088, + :block/updated-at 1649906109907} + {:block/name "stringbuilder", + :block/created-at 1649820616084, + :block/updated-at 1650080575528} + {:block/name "string,stringbuffer及stringbuilder的区别", + :block/created-at 1657157575575, + :block/updated-at 1657157575575} + {:block/name "style", + :block/created-at 1653533277503, + :block/updated-at 1653533277503} + {:block/name "substring", + :block/created-at 1649838366083, + :block/updated-at 1649904842698} + {:block/name "super", + :block/created-at 1650331207747, + :block/updated-at 1650331207747} + {:block/name "super()", + :block/created-at 1649679338677, + :block/updated-at 1649679338677} + {:block/name "super关键字", + :block/created-at 1649215195578, + :block/updated-at 1650080218102} + {:block/name "swagger", + :block/created-at 1657765252225, + :block/updated-at 1658196514920} + {:block/name "switch", + :block/created-at 1649215184722, + :block/updated-at 1649215184722} + {:block/name "synchornized", + :block/created-at 1657355656213, + :block/updated-at 1657355656213} + {:block/name "synchronized", + :block/created-at 1649905980486, + :block/updated-at 1657355002659} + {:block/name "synchronized与lock锁的区别", + :block/created-at 1657157575337, + :block/updated-at 1657157575337} + {:block/name "synchronized与乐观锁的区别", + :block/created-at 1657157575347, + :block/updated-at 1657157575347} + {:block/name "system", + :block/created-at 1649820616100, + :block/updated-at 1649918250766} + {:block/name "system.err", + :block/created-at 1649916577715, + :block/updated-at 1649916603046} + {:block/name "system.in", + :block/created-at 1649916547075, + :block/updated-at 1649916547075} + {:block/name "system.out", + :block/created-at 1649916559204, + :block/updated-at 1649916559204} + {:block/name "system/err", + :block/created-at 1649944978196, + :block/updated-at 1649944978196} + {:block/name "tar&gz&zip", + :block/created-at 1657157572047, + :block/updated-at 1657157572047} + {:block/name "tcl", + :block/created-at 1653189837404, + :block/updated-at 1653189837404} + {:block/name "tcp", + :block/created-at 1650608103225, + :block/updated-at 1650611788721} + {:block/name "tcp/ip", + :block/created-at 1650608103212, + :block/updated-at 1650612850629} + {:block/name "tcp与udp在概念上的区别", + :block/created-at 1657157575541, + :block/updated-at 1657157575541} + {:block/name "tcp协议的特点,你能说说吗 具体说说3次握手,4次挥手的过程", + :block/created-at 1657157575546, + :block/updated-at 1657157575546} + {:block/name "this", + :block/created-at 1649215195549, + :block/updated-at 1649408961504} + {:block/name "this()", + :block/created-at 1649408924150, + :block/updated-at 1649648989766} + {:block/name "threadlocal类是什么类", + :block/created-at 1657157575294, + :block/updated-at 1657157575294} + {:block/name "throw", + :block/created-at 1650331184553, + :block/updated-at 1650331184553} + {:block/name "throws", + :block/created-at 1650331184516, + :block/updated-at 1650331184516} + {:block/name "title", + :block/created-at 1653533277505, + :block/updated-at 1653533277505} + {:block/name "tochararry", + :block/created-at 1649836430324, + :block/updated-at 1649836464566} + {:block/name "todo", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "tolowercase", + :block/created-at 1649838914094, + :block/updated-at 1649917413093} + {:block/name "tomcat", + :block/created-at 1657157572485, + :block/updated-at 1657157572485} + {:block/name "tomcat内存溢出在catalina.sh 修改jvm堆内存大小", + :block/created-at 1657157575421, + :block/updated-at 1657157575421} + {:block/name "tomcat如何配置连接池 默认连接数是多少 == 生产环境,tomcat性能比较差,如何调优", + :block/created-at 1657157575687, + :block/updated-at 1657157575687} + {:block/name "tostring", + :block/created-at 1649822298875, + :block/updated-at 1649822298875} + {:block/name "touppercase", + :block/created-at 1649838867053, + :block/updated-at 1649838944147} + {:block/name "transient", + :block/created-at 1650331207786, + :block/updated-at 1650331207786} + {:block/name "treemap", + :block/created-at 1650438734387, + :block/updated-at 1650439533575} + {:block/name "treeset", + :block/created-at 1650331188269, + :block/updated-at 1650440492446} + {:block/name "trim", + :block/created-at 1649838075631, + :block/updated-at 1649838128674} + {:block/name "true", + :block/created-at 1650331207808, + :block/updated-at 1650331207808} + {:block/name "try", + :block/created-at 1650331184558, + :block/updated-at 1650331184558} + {:block/name "try-catch-finally", + :block/created-at 1650331182541, + :block/updated-at 1650331182541} + {:block/name "udp", + :block/created-at 1650636325479, + :block/updated-at 1650636325479} + {:block/name "uml", + :block/created-at 1658201485607, + :block/updated-at 1658201539757} + {:block/name "union 和 union all 的区别是什么", + :block/created-at 1657157575491, + :block/updated-at 1657157575491} + {:block/name "uri", + :block/created-at 1650636326326, + :block/updated-at 1650636326326} + {:block/name "url", + :block/created-at 1650608103138, + :block/updated-at 1650609121270} + {:block/name "uuid", + :block/created-at 1649820616104, + :block/updated-at 1649925973946} + {:block/name "valueof", + :block/created-at 1649839023034, + :block/updated-at 1649839039649} + {:block/name "values", + :block/created-at 1650436211941, + :block/updated-at 1650436211941} + {:block/name "vector", + :block/created-at 1650331188261, + :block/updated-at 1650354490534} + {:block/name "void", + :block/created-at 1650331204976, + :block/updated-at 1650331204976} + {:block/name "volatile", + :block/created-at 1650331207783, + :block/updated-at 1650331207783} + {:block/name "vue", + :block/created-at 1658107864651, + :block/updated-at 1658107864651} + {:block/name "vue-cli", + :block/created-at 1658107864720, + :block/updated-at 1658107864720} + {:block/name "vue-router", + :block/created-at 1658107969191, + :block/updated-at 1658108137401} + {:block/name "vue的生命周期是什么,都有哪些钩子函数", + :block/created-at 1657157575829, + :block/updated-at 1657157575829} + {:block/name "vue都有哪些组件", + :block/created-at 1657157575835, + :block/updated-at 1657157575835} + {:block/name "wait", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "wait() 和notify() 方法的区别", + :block/created-at 1657157575317, + :block/updated-at 1657157575317} + {:block/name "waiting", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "while", + :block/created-at 1650331207767, + :block/updated-at 1650331207767} + {:block/name "while循环", + :block/created-at 1649215184898, + :block/updated-at 1649215184898} + {:block/name "windows快捷键", + :block/created-at 1649215185055, + :block/updated-at 1649215185055} + {:block/name "xml", + :block/created-at 1653189836034, + :block/updated-at 1653189836034} + {:block/name "xml与json之间的区别", + :block/created-at 1657157575680, + :block/updated-at 1657157575680} + {:block/name "yield() 与 join() 方法的区别", + :block/created-at 1657157575367, + :block/updated-at 1657157575367} + {:block/name "七大设计原则", + :block/created-at 1657519389489, + :block/updated-at 1657519502888} + {:block/name "三元运算符", + :block/created-at 1649215182040, + :block/updated-at 1649215182040} + {:block/name "三层架构是哪三层 具体说说,你知道它们分别对应的架构模式采用的是什么么", + :block/created-at 1657157575988, + :block/updated-at 1657157575988} + {:block/name "下标", + :block/created-at 1649835657619, + :block/updated-at 1649835657619} + {:block/name "业务对象", + :block/created-at 1649647567279, + :block/updated-at 1649647617004} + {:block/name "为什么使用同步或锁,就可以让多线程解决线程安全问题", + :block/created-at 1657157575302, + :block/updated-at 1657157575302} + {:block/name "为什么要使用微服务,它的优缺点", + :block/created-at 1657157575896, + :block/updated-at 1657157575896} + {:block/name "为什么要用redis不用map", + :block/created-at 1657157575766, + :block/updated-at 1657157575766} + {:block/name "为什么要用多线程", + :block/created-at 1657157575289, + :block/updated-at 1657157575289} + {:block/name "为什么选择mysql5.7,而不用5.5 5.6", + :block/created-at 1657157575437, + :block/updated-at 1657157575437} + {:block/name "为什么选择seata来处理分布式事务", + :block/created-at 1657157575852, + :block/updated-at 1657157575852} + {:block/name "乐观锁", + :block/created-at 1657260300380, + :block/updated-at 1657260300380} + {:block/name "了解网关么,网关的作用是什么,你都在网关中配置过什么内容", + :block/created-at 1657157575911, + :block/updated-at 1657157575911} + {:block/name "事务", + :block/created-at 1657260301817, + :block/updated-at 1657260301817} + {:block/name "事务在什么情况下会失效", + :block/created-at 1657157575457, + :block/updated-at 1657174921581} + {:block/name "二叉查找法", + :block/created-at 1649908349192, + :block/updated-at 1649908349192} + {:block/name "二叉树", + :block/created-at 1650436212532, + :block/updated-at 1650436212532} + {:block/name "二进制", + :block/created-at 1650331205815, + :block/updated-at 1650331205815} + {:block/name "互联网企业面试题", + :block/created-at 1650621154774, + :block/updated-at 1650621392359} + {:block/name "交集", + :block/created-at 1650442649580, + :block/updated-at 1650442649580} + {:block/name "产品需求文档", + :block/created-at 1659689882388, + :block/updated-at 1659689930351} + {:block/name "京东万象", + :block/created-at 1657765252872, + :block/updated-at 1657765252872} + {:block/name "什么是2阶段提交,seata是如何做2阶段提交的", + :block/created-at 1657157575934, + :block/updated-at 1657157575934} + {:block/name "什么是atomicinteger", + :block/created-at 1657157575373, + :block/updated-at 1657157575373} + {:block/name "什么是java的反射", + :block/created-at 1657157575585, + :block/updated-at 1657157575585} + {:block/name "什么是socket编程", + :block/created-at 1657157575538, + :block/updated-at 1657157575538} + {:block/name "什么是sql注入,如何防止", + :block/created-at 1657157575501, + :block/updated-at 1657157575501} + {:block/name "什么是volatile,它的作用是什么", + :block/created-at 1657157575370, + :block/updated-at 1657157575370} + {:block/name "什么是分布式事务,项目中哪些地方遇到分布式事务", + :block/created-at 1657157575931, + :block/updated-at 1657157575931} + {:block/name "什么是反射", + :block/created-at 1657157575578, + :block/updated-at 1657157575578} + {:block/name "什么是同步代码块", + :block/created-at 1657157575308, + :block/updated-at 1657157575308} + {:block/name "什么是多线程死锁", + :block/created-at 1657157575316, + :block/updated-at 1657157575316} + {:block/name "什么是守护线程,如何做到", + :block/created-at 1657157575363, + :block/updated-at 1657157575363} + {:block/name "什么是接口幂等性,如何保证接口幂等性操作", + :block/created-at 1657157575744, + :block/updated-at 1657157575744} + {:block/name "什么是数据库回表,如何避免回表查询", + :block/created-at 1657157575439, + :block/updated-at 1657157575439} + {:block/name "什么是线程同步", + :block/created-at 1657157575305, + :block/updated-at 1657157575305} + {:block/name "什么是线程安全", + :block/created-at 1657157575299, + :block/updated-at 1657157575299} + {:block/name "什么是线程池它的作用是什么", + :block/created-at 1657157575343, + :block/updated-at 1657157575343} + {:block/name "什么是聚簇索引,什么是非聚簇索引", + :block/created-at 1657157575489, + :block/updated-at 1657157575489} + {:block/name "什么是虚拟机参数配置 你是否配置过 在哪里配置", + :block/created-at 1657157575395, + :block/updated-at 1657157575395} + {:block/name "什么是设计模式,有多少个", + :block/created-at 1657157575550, + :block/updated-at 1657157575550} + {:block/name "介绍一下spring,springboot,springcloud", + :block/created-at 1657157575882, + :block/updated-at 1657157575882} + {:block/name "介绍一下你的项目aop日志功能如何实现的", + :block/created-at 1657157575626, + :block/updated-at 1657157575626} + {:block/name "代理设计模式中,静态代理和动态代理的区别", + :block/created-at 1657157575555, + :block/updated-at 1657157575555} + {:block/name "会议层", + :block/created-at 1650636324905, + :block/updated-at 1650636324905} + {:block/name "传参", + :block/created-at 1649381373549, + :block/updated-at 1650079888314} + {:block/name "传输层", + :block/created-at 1650636324906, + :block/updated-at 1650636324906} + {:block/name "位运算符", + :block/created-at 1649215185978, + :block/updated-at 1649663069403} + {:block/name "低耦合", + :block/created-at 1649659961033, + :block/updated-at 1649660035488} + {:block/name "你上个项目用的springboot版本是那个版本的", + :block/created-at 1657157575657, + :block/updated-at 1657157575657} + {:block/name "你们开发规范是什么,具体开发流程是什么,需求分析谁做,原型设计怎么来的", + :block/created-at 1657157575971, + :block/updated-at 1657157575971} + {:block/name "你们通过哪些手段处理系统的高并发问题", + :block/created-at 1657157575842, + :block/updated-at 1657157575842} + {:block/name "你们项目上线前会在哪里测试 怎么部署的 多个环境你该怎么设置", + :block/created-at 1657157575983, + :block/updated-at 1657157575983} + {:block/name "你们项目中,使用的什么 数据交换格式", + :block/created-at 1657157575676, + :block/updated-at 1657157575676} + {:block/name "你在项目中遇到的最大问题是什么 如何解决的", + :block/created-at 1657157575952, + :block/updated-at 1657157575952} + {:block/name "你对restful架构风格是如何理解的 平时都是怎么样的", + :block/created-at 1657157575700, + :block/updated-at 1657157575700} + {:block/name "你是怎么创建线程池的", + :block/created-at 1657157575348, + :block/updated-at 1657157575348} + {:block/name "你熟悉秒杀流程 那么秒杀如何保证数据一致性", + :block/created-at 1657157575980, + :block/updated-at 1657157575980} + {:block/name "你觉得springcloud相比传统的springmvc有什么优势", + :block/created-at 1657157575868, + :block/updated-at 1657157575868} + {:block/name "你都知道哪些锁", + :block/created-at 1657157575376, + :block/updated-at 1657157575376} + {:block/name "你项目中的哪些地方使用到多线程", + :block/created-at 1657157575297, + :block/updated-at 1657157575297} + {:block/name "使用的redis是集群的嘛 有多少个节点,采用的是那种集群方案", + :block/created-at 1657157575754, + :block/updated-at 1657157575754} + {:block/name "假如1个接口的qps只有10,超过10会怎样 如何解决", + :block/created-at 1657157575960, + :block/updated-at 1657157575960} + {:block/name "假设你redis里面有9个商品,我现在有10人来买,怎么防止超卖问题", + :block/created-at 1657157575776, + :block/updated-at 1657157575776} + {:block/name "做集群的时候事务怎么处理", + :block/created-at 1657157575874, + :block/updated-at 1657157575874} + {:block/name "健壮性", + :block/created-at 1650331183908, + :block/updated-at 1650331183908} + {:block/name "元空间", + :block/created-at 1649399132284, + :block/updated-at 1649399257832} + {:block/name "元素", + :block/created-at 1653533260526, + :block/updated-at 1653533260526} + {:block/name "兄弟类", + :block/created-at 1650350376131, + :block/updated-at 1650350397930} + {:block/name "全局变量", + :block/created-at 1649215186150, + :block/updated-at 1649215186150} + {:block/name "全文检索引擎", + :block/created-at 1657505762190, + :block/updated-at 1657505788967} + {:block/name "关于多线程锁升级的理解", + :block/created-at 1657157575330, + :block/updated-at 1657157575330} + {:block/name "关系型数据库", + :block/created-at 1657157573091, + :block/updated-at 1657157573091} + {:block/name "关系运算符", + :block/created-at 1649215186335, + :block/updated-at 1650077043063} + {:block/name "关键字", + :block/created-at 1649820628344, + :block/updated-at 1649820628344} + {:block/name "关闭连接一定能成功吗 怎么保证一定成功关闭连接", + :block/created-at 1657157575504, + :block/updated-at 1657157575504} + {:block/name "其它功能流", + :block/created-at 1650608103075, + :block/updated-at 1650608103075} + {:block/name "内存模型", + :block/created-at 1649399463813, + :block/updated-at 1649399463813} + {:block/name "内存泄漏与内存溢出的区别", + :block/created-at 1657157575422, + :block/updated-at 1657157575422} + {:block/name "内存溢出你是咋解决的", + :block/created-at 1657157575417, + :block/updated-at 1657157575417} + {:block/name "内部类", + :block/created-at 1650350298123, + :block/updated-at 1650350493994} + {:block/name "冒泡排序", + :block/created-at 1649228634628, + :block/updated-at 1649228634628} + {:block/name "写个时间复杂度为o(n)的算法,找到一个数列第二大的数", + :block/created-at 1657157575229, + :block/updated-at 1657157575229} + {:block/name "分布式", + :block/created-at 1650331202485, + :block/updated-at 1650331202485} + {:block/name "分布式事务的两个理论特性 是什么", + :block/created-at 1657157575944, + :block/updated-at 1657157575944} + {:block/name "分布式事务的原理", + :block/created-at 1657157575850, + :block/updated-at 1657157575850} + {:block/name "分布式锁的目的", + :block/created-at 1657157575765, + :block/updated-at 1657157575765} + {:block/name "分布式高并发下的订单id是如何生成的", + :block/created-at 1657157575879, + :block/updated-at 1657157575879} + {:block/name "分析hashmap为什么线程不安全", + :block/created-at 1657157575265, + :block/updated-at 1657157575265} + {:block/name "前后端分离", + :block/created-at 1657765253330, + :block/updated-at 1657783793654} + {:block/name "动态代理中jdk代理和cglib代理区别 代理模式,在项目中哪些地方有应用", + :block/created-at 1657157575557, + :block/updated-at 1657157575557} + {:block/name "动态代理模式中jdk与cglib的区别", + :block/created-at 1657157575616, + :block/updated-at 1657157575616} + {:block/name "动态多态", + :block/created-at 1649820620314, + :block/updated-at 1649820620314} + {:block/name "动态方法", + :block/created-at 1649402650831, + :block/updated-at 1649402650831} + {:block/name "包装", + :block/created-at 1649406861138, + :block/updated-at 1649406861138} + {:block/name "包装类", + :block/created-at 1650002701247, + :block/updated-at 1650073601893} + {:block/name "匿名内部类", + :block/created-at 1650350273077, + :block/updated-at 1650352725395} + {:block/name "十六进制", + :block/created-at 1650331208081, + :block/updated-at 1650331208081} + {:block/name "协议", + :block/created-at 1650636326492, + :block/updated-at 1650636326492} + {:block/name "单例设计模式,你会手写么 在项目中哪些地方有应用", + :block/created-at 1657157575552, + :block/updated-at 1657157575552} + {:block/name "单分支", + :block/created-at 1649215182033, + :block/updated-at 1649215182033} + {:block/name "单点登录的实现原理", + :block/created-at 1657157575964, + :block/updated-at 1657157575964} + {:block/name "单精度浮点", + :block/created-at 1649215186658, + :block/updated-at 1649215186658} + {:block/name "原码", + :block/created-at 1649215186785, + :block/updated-at 1649215186785} + {:block/name "去重", + :block/created-at 1650436211942, + :block/updated-at 1650436211942} + {:block/name "参数", + :block/created-at 1650331185166, + :block/updated-at 1650331185166} + {:block/name "双精度浮点", + :block/created-at 1649215186923, + :block/updated-at 1649215186923} + {:block/name "反射", + :block/created-at 1653189835576, + :block/updated-at 1653189835576} + {:block/name "反射操作私有属性时,需要注意什么", + :block/created-at 1657157575589, + :block/updated-at 1657157575589} + {:block/name "反射获得class对象的3种方式", + :block/created-at 1657157575588, + :block/updated-at 1657157575588} + {:block/name "反序列化", + :block/created-at 1650636327634, + :block/updated-at 1650636327634} + {:block/name "反码", + :block/created-at 1649215186779, + :block/updated-at 1649215186779} + {:block/name "变量", + :block/created-at 1649215187261, + :block/updated-at 1650078772380} + {:block/name "可不可以配置两个数据源 比如一个mysql和一个oracle 在哪里配置,怎么配置", + :block/created-at 1657157575662, + :block/updated-at 1657157575662} + {:block/name "可维护性", + :block/created-at 1650331208608, + :block/updated-at 1650331208608} + {:block/name "同步与异步的区别", + :block/created-at 1657157575319, + :block/updated-at 1657157575319} + {:block/name "同步代码块和同步函数之间有什么区别", + :block/created-at 1657157575313, + :block/updated-at 1657157575313} + {:block/name "同步函数", + :block/created-at 1657606373094, + :block/updated-at 1657606373094} + {:block/name "同步函数和静态同步函数之间有什么区别", + :block/created-at 1657157575314, + :block/updated-at 1657157575314} + {:block/name "同步方法与同步块的区别", + :block/created-at 1657157575341, + :block/updated-at 1657157575341} + {:block/name "后台线程", + :block/created-at 1657357099481, + :block/updated-at 1657357099481} + {:block/name "向上转型", + :block/created-at 1649820616060, + :block/updated-at 1649820616060} + {:block/name "向上转型与向下转型", + :block/created-at 1649215195594, + :block/updated-at 1649215195594} + {:block/name "向下转型", + :block/created-at 1649820616065, + :block/updated-at 1649820616065} + {:block/name "周考1", + :block/created-at 1649215177134, + :block/updated-at 1649226998173} + {:block/name "周考2", + :block/created-at 1650089014547, + :block/updated-at 1650101191192} + {:block/name "命令行参数", + :block/created-at 1649046748645, + :block/updated-at 1649046748645} + {:block/name "四舍五入", + :block/created-at 1650331201450, + :block/updated-at 1650331201450} + {:block/name "在http请求中如何存储客户信息(分如何获取和如何存储)", + :block/created-at 1657157575673, + :block/updated-at 1657157575673} + {:block/name "在使用git的过程中,遇到冲突,你是如何处理的", + :block/created-at 1657157575962, + :block/updated-at 1657157575962} + {:block/name "在生成订单过程中,如果mysql崩了,怎么办", + :block/created-at 1657157575991, + :block/updated-at 1657157575991} + {:block/name "在请求中如何存储客户信息", + :block/created-at 1657157575689, + :block/updated-at 1657157575689} + {:block/name "地址值", + :block/created-at 1649666713370, + :block/updated-at 1649666713370} + {:block/name "域名", + :block/created-at 1650636326492, + :block/updated-at 1650636326492} + {:block/name "基本数据类型", + :block/created-at 1649215187877, + :block/updated-at 1650077326802} + {:block/name "堆", + :block/created-at 1649215189414, + :block/updated-at 1649399208650} + {:block/name "复合赋值运算符", + :block/created-at 1649215188132, + :block/updated-at 1649215188132} + {:block/name "复用性", + :block/created-at 1650331208607, + :block/updated-at 1650331208607} + {:block/name "多分支", + :block/created-at 1649215182052, + :block/updated-at 1649215182052} + {:block/name "多态", + :block/created-at 1649046830883, + :block/updated-at 1650079373950} + {:block/name "多态集合", + :block/created-at 1649820624999, + :block/updated-at 1649820624999} + {:block/name "多线程", + :block/created-at 1650331202489, + :block/updated-at 1657347648538} + {:block/name "多线程的创建", + :block/created-at 1657347689818, + :block/updated-at 1657355752231} + {:block/name "多线程的创建方式有哪些", + :block/created-at 1657157575291, + :block/updated-at 1657157575291} + {:block/name "多维数组", + :block/created-at 1648805231475, + :block/updated-at 1649137033746} + {:block/name "大佬跟你讲的东西,你怎么判断正不正确", + :block/created-at 1657157575985, + :block/updated-at 1657157575985} + {:block/name "大驼峰", + :block/created-at 1650331206734, + :block/updated-at 1650339181952} + {:block/name "如何使用jdk1.8新特性从商品集合中单独把某一个字段(比如id)拿出来当做一个集合", + :block/created-at 1657157573879, + :block/updated-at 1657157573879} + {:block/name "如何保证与数据库的双写一致性", + :block/created-at 1657157575751, + :block/updated-at 1657157575751} + {:block/name "如何做到集合变遍历,边删除", + :block/created-at 1657157575209, + :block/updated-at 1657157575209} + {:block/name "如何停止一根线程", + :block/created-at 1657157575360, + :block/updated-at 1657157575360} + {:block/name "如何克隆一个对象 浅克隆与深克隆区别在哪里", + :block/created-at 1657157575562, + :block/updated-at 1657157575562} + {:block/name "如何获得map集合中的所有的key", + :block/created-at 1657157575235, + :block/updated-at 1657157575235} + {:block/name "如何解决多线程间线程安全问题", + :block/created-at 1657157575301, + :block/updated-at 1657157575301} + {:block/name "如何解决消息延时及过期失效的问题 如果有几百万条消息持续积压几小时,说说怎么解决", + :block/created-at 1657157575723, + :block/updated-at 1657157575723} + {:block/name "如何设置最大堆空间大小", + :block/created-at 1657157575406, + :block/updated-at 1657157575406} + {:block/name "如何跳出多重循环", + :block/created-at 1657157575576, + :block/updated-at 1657157575576} + {:block/name "如何防止后端接口被攻击", + :block/created-at 1657157575965, + :block/updated-at 1657157575965} + {:block/name "如何防止表单重复提交", + :block/created-at 1657157575690, + :block/updated-at 1657157575690} + {:block/name "如果你在linux部署的项目出现报错时,你需要定位报错信息在哪怎么做", + :block/created-at 1657157575817, + :block/updated-at 1657157575817} + {:block/name "如果保证用户一定能消费成功", + :block/created-at 1657157575714, + :block/updated-at 1657157575714} + {:block/name "如果给你一个功能,你觉得从数据库设计开始的思路是什么", + :block/created-at 1657157575473, + :block/updated-at 1657157575473} + {:block/name "如果让你自己写个mq服务器,你的思路是什么 需要使用到什么技术", + :block/created-at 1657157575721, + :block/updated-at 1657157575721} + {:block/name "如果运行结果跟预期不一样,但是代码没报错,怎么处理", + :block/created-at 1657157575606, + :block/updated-at 1657157575606} + {:block/name "字符串", + :block/created-at 1649820616075, + :block/updated-at 1649833834370} + {:block/name "字符串概述", + :block/created-at 1649833724519, + :block/updated-at 1649841818319} + {:block/name "字符流", + :block/created-at 1650446718713, + :block/updated-at 1650446718713} + {:block/name "字符类型", + :block/created-at 1649215187844, + :block/updated-at 1649215187844} + {:block/name "字节", + :block/created-at 1649215187866, + :block/updated-at 1649215187866} + {:block/name "字节流", + :block/created-at 1650446706402, + :block/updated-at 1650448816615} + {:block/name "字节码", + :block/created-at 1650331201914, + :block/updated-at 1650331201914} + {:block/name "字节类型", + :block/created-at 1649215187869, + :block/updated-at 1649215187869} + {:block/name "字面量常量", + :block/created-at 1649215187254, + :block/updated-at 1649215187254} + {:block/name "守护线程", + :block/created-at 1657355378263, + :block/updated-at 1657357234059} + {:block/name "守护线程是什么如何实现", + :block/created-at 1657157575383, + :block/updated-at 1657157575383} + {:block/name "定时器", + :block/created-at 1657355360682, + :block/updated-at 1657356817637} + {:block/name "实体对象", + :block/created-at 1649647584297, + :block/updated-at 1649647652117} + {:block/name "实体层", + :block/created-at 1650636324909, + :block/updated-at 1650636324909} + {:block/name "实例代码块", + :block/created-at 1649821030020, + :block/updated-at 1649821214883} + {:block/name "实参", + :block/created-at 1650331204968, + :block/updated-at 1650331204968} + {:block/name "对springioc的理解", + :block/created-at 1657157575613, + :block/updated-at 1657157575613} + {:block/name "对象", + :block/created-at 1649401757444, + :block/updated-at 1649401757444} + {:block/name "对象的内存模型分析", + :block/created-at 1649215195527, + :block/updated-at 1649399463815} + {:block/name "封装", + :block/created-at 1649406721749, + :block/updated-at 1649407188068} + {:block/name "小驼峰", + :block/created-at 1650331207818, + :block/updated-at 1650331207818} + {:block/name "局部变量", + :block/created-at 1649215186146, + :block/updated-at 1649215186146} + {:block/name "属性", + :block/created-at 1650331208414, + :block/updated-at 1650331208414} + {:block/name "属性和行为", + :block/created-at 1649385007333, + :block/updated-at 1649389551545} + {:block/name "嵌套判断", + :block/created-at 1649215182046, + :block/updated-at 1649215182046} + {:block/name "嵌套循环", + :block/created-at 1649215189166, + :block/updated-at 1649215189166} + {:block/name "工业园区智慧管理系统", + :block/created-at 1658284629205, + :block/updated-at 1658286392652} + {:block/name "工厂设计模式的作用 简单工厂会写不 在项目中哪些地方有应用", + :block/created-at 1657157575560, + :block/updated-at 1657157575560} + {:block/name "差集", + :block/created-at 1650442668953, + :block/updated-at 1650442668953} + {:block/name "布尔类型", + :block/created-at 1649215187847, + :block/updated-at 1649215187847} + {:block/name "常用操作字符串有哪些类 stringbuffer,stringbuilder", + :block/created-at 1657157575574, + :block/updated-at 1657157575574} + {:block/name "常量", + :block/created-at 1649820619444, + :block/updated-at 1649820619444} + {:block/name "幂等性问题会出现在哪些地方", + :block/created-at 1657157575746, + :block/updated-at 1657157575746} + {:block/name "并发与并行的区别", + :block/created-at 1657157575329, + :block/updated-at 1657157575329} + {:block/name "并集", + :block/created-at 1650442656240, + :block/updated-at 1650442656240} + {:block/name "序列化", + :block/created-at 1650538806196, + :block/updated-at 1650538806196} + {:block/name "应用层", + :block/created-at 1650636324903, + :block/updated-at 1650636324903} + {:block/name "延迟队列如何实现", + :block/created-at 1657157575719, + :block/updated-at 1657157575719} + {:block/name "延迟队列,死信队列的区别是什么", + :block/created-at 1657157575715, + :block/updated-at 1657157575715} + {:block/name "异常", + :block/created-at 1650252016634, + :block/updated-at 1650263426165} + {:block/name "异常抛出", + :block/created-at 1650331179423, + :block/updated-at 1650331179423} + {:block/name "异常捕获", + :block/created-at 1650263084206, + :block/updated-at 1650264380594} + {:block/name "异常的分类,如何自定义异常", + :block/created-at 1657157575565, + :block/updated-at 1657157575565} + {:block/name "引用数据类型", + :block/created-at 1649215187835, + :block/updated-at 1649215187835} + {:block/name "强制转换", + :block/created-at 1649215189580, + :block/updated-at 1649215189580} + {:block/name "强类型", + :block/created-at 1650331205809, + :block/updated-at 1650331205809} + {:block/name + "当application.properties,application.yaml,bootstrap.yaml文件同时存在的情况下,它们的执行顺序是怎样的", + :block/created-at 1657157575667, + :block/updated-at 1657157575667} + {:block/name "形参", + :block/created-at 1650331204966, + :block/updated-at 1650331204966} + {:block/name "微服务的搭建步骤", + :block/created-at 1657157575898, + :block/updated-at 1657157575898} + {:block/name "微服务组件都用过哪些,你们微服务的业务逻辑是什么样子的", + :block/created-at 1657157575901, + :block/updated-at 1657157575901} + {:block/name "怎么理解过程一致性和结果一致性", + :block/created-at 1657157575334, + :block/updated-at 1657157575334} + {:block/name "怎么用sql语句复制另一张表", + :block/created-at 1657157575458, + :block/updated-at 1657157575458} + {:block/name "悲观锁", + :block/created-at 1657260301759, + :block/updated-at 1657260301759} + {:block/name "抽象", + :block/created-at 1649406808852, + :block/updated-at 1649406808852} + {:block/name "抽象方法", + :block/created-at 1649820626952, + :block/updated-at 1649820626952} + {:block/name "抽象类", + :block/created-at 1648863179646, + :block/updated-at 1650079417572} + {:block/name "抽象类可以继承实体类么", + :block/created-at 1657157575590, + :block/updated-at 1657157575590} + {:block/name "抽象类可以继承接口么", + :block/created-at 1657157575592, + :block/updated-at 1657157575592} + {:block/name "指针", + :block/created-at 1650331202481, + :block/updated-at 1650331202481} + {:block/name "排序", + :block/created-at 1650337048323, + :block/updated-at 1650337083335} + {:block/name "接口", + :block/created-at 1648863179646, + :block/updated-at 1650080392465} + {:block/name "接口可以继承抽象类么", + :block/created-at 1657157575594, + :block/updated-at 1657157575594} + {:block/name "敏捷开发", + :block/created-at 1658221213673, + :block/updated-at 1658222237989} + {:block/name "数据库", + :block/created-at 1653189835121, + :block/updated-at 1657071903389} + {:block/name "数据库中btree 与hash索引的区别", + :block/created-at 1657157575438, + :block/updated-at 1657157575438} + {:block/name "数据库中两张表如何要联合查询,要如何实现", + :block/created-at 1657157575454, + :block/updated-at 1657157575454} + {:block/name "数据库中哪些字段适合加索引 ,哪些不适合加索引", + :block/created-at 1657157575487, + :block/updated-at 1657157575487} + {:block/name "数据库中复合索引的字段中可以有null值吗", + :block/created-at 1657157575517, + :block/updated-at 1657157575517} + {:block/name "数据库中如何快速插入100w级数据", + :block/created-at 1657157575446, + :block/updated-at 1657157575446} + {:block/name "数据库引擎", + :block/created-at 1657260300387, + :block/updated-at 1657260300387} + {:block/name "数据库用户id主键策略", + :block/created-at 1657157575478, + :block/updated-at 1657157575478} + {:block/name "数据库的sql语句如何加锁", + :block/created-at 1657157575486, + :block/updated-at 1657157575486} + {:block/name "数据库的执行计划", + :block/created-at 1657157575480, + :block/updated-at 1657157575480} + {:block/name "数据库管理系统", + :block/created-at 1653189835126, + :block/updated-at 1653189835126} + {:block/name "数据库连表查询,左外联,右外联,内联查的区别", + :block/created-at 1657157575460, + :block/updated-at 1657157575460} + {:block/name "数据链路层", + :block/created-at 1650636324908, + :block/updated-at 1650636324908} + {:block/name "数组", + :block/created-at 1649833963908, + :block/updated-at 1649833963908} + {:block/name "数组内存分析", + :block/created-at 1649215190196, + :block/updated-at 1650079736256} + {:block/name "数组基础", + :block/created-at 1649215190330, + :block/updated-at 1649215190330} + {:block/name "数组排序", + :block/created-at 1649215177500, + :block/updated-at 1650079080188} + {:block/name "数组的排序算法,你都知道哪些请列举并手写一个出来", + :block/created-at 1657157575286, + :block/updated-at 1657157575286} + {:block/name "数组的遍历", + :block/created-at 1648804037791, + :block/updated-at 1649151333734} + {:block/name "数组,链表,哪个查询效率高,为什么高", + :block/created-at 1657157575280, + :block/updated-at 1657157575280} + {:block/name "整型", + :block/created-at 1649215187860, + :block/updated-at 1649215187860} + {:block/name "方法", + :block/created-at 1649046776216, + :block/updated-at 1649046776216} + {:block/name "方法重载", + :block/created-at 1649046797138, + :block/updated-at 1650079956655} + {:block/name "无参构造器", + :block/created-at 1649644942915, + :block/updated-at 1649645765443} + {:block/name "是否写过hashmap的底层,了解过什么", + :block/created-at 1657157575218, + :block/updated-at 1657157575218} + {:block/name "是继承thread类好,还是实现runnable接口好", + :block/created-at 1657157575293, + :block/updated-at 1657157575293} + {:block/name "普通类和抽象类有哪些区别", + :block/created-at 1657157575567, + :block/updated-at 1657157575567} + {:block/name "普通类和抽象类的区别 接口和抽象的区别", + :block/created-at 1657157575572, + :block/updated-at 1657157575572} + {:block/name "最多有过几张表的连表处理", + :block/created-at 1657157575435, + :block/updated-at 1657157575435} + {:block/name "有个数组,如何颠倒所有的元素", + :block/created-at 1657157575270, + :block/updated-at 1657157575270} + {:block/name "有几种方法可以遍历java集合", + :block/created-at 1657157575250, + :block/updated-at 1657157575250} + {:block/name "有参构造器", + :block/created-at 1649644948619, + :block/updated-at 1649645790788} + {:block/name "有哪些地方必须关闭资源", + :block/created-at 1657157575508, + :block/updated-at 1657157575508} + {:block/name "有哪些方法可以防止微服务接口被攻击", + :block/created-at 1657157575929, + :block/updated-at 1657157575929} + {:block/name "有张100w级的表中存在大量的重复数据,如何快速去重", + :block/created-at 1657157575449, + :block/updated-at 1657157575449} + {:block/name "有没有用过断点调试 怎么用的", + :block/created-at 1657157575607, + :block/updated-at 1657157575607} + {:block/name "有没有设计过数据库 数据库三范式讲一下", + :block/created-at 1657157575510, + :block/updated-at 1657157575510} + {:block/name "服务熔断和服务降级,项目是如何运用的", + :block/created-at 1657157575839, + :block/updated-at 1657157575839} + {:block/name "本地方法栈", + :block/created-at 1649399108838, + :block/updated-at 1649399241002} + {:block/name "构造器", + :block/created-at 1649408959734, + :block/updated-at 1650080096401} + {:block/name "标识符", + :block/created-at 1649215191017, + :block/updated-at 1650078659637} + {:block/name "栈", + :block/created-at 1649215189416, + :block/updated-at 1649399161599} + {:block/name "栈溢出你是咋解决的", + :block/created-at 1657157575419, + :block/updated-at 1657157575419} + {:block/name "核心库", + :block/created-at 1650331202511, + :block/updated-at 1650331202511} + {:block/name "格式化输出", + :block/created-at 1649215177497, + :block/updated-at 1650078960342} + {:block/name "模块", + :block/created-at 1649046919359, + :block/updated-at 1649046919359} + {:block/name "正则表达式", + :block/created-at 1650168860290, + :block/updated-at 1650170125153} + {:block/name "死锁", + :block/created-at 1657355365860, + :block/updated-at 1657357066876} + {:block/name "每天1万人访问主页并发量有多少", + :block/created-at 1657157575967, + :block/updated-at 1657157575967} + {:block/name "比较器", + :block/created-at 1650436212562, + :block/updated-at 1650436212562} + {:block/name "汇编语言", + :block/created-at 1650331208980, + :block/updated-at 1650331208980} + {:block/name "汽车租车系统", + :block/created-at 1653189834619, + :block/updated-at 1653189834619} + {:block/name "泛型", + :block/created-at 1650348579392, + :block/updated-at 1650349771720} + {:block/name "泛型接口", + :block/created-at 1650349323498, + :block/updated-at 1650349323498} + {:block/name "泛型擦除", + :block/created-at 1650349480317, + :block/updated-at 1650349480317} + {:block/name "泛型方法", + :block/created-at 1650349227744, + :block/updated-at 1650349227744} + {:block/name "泛型类", + :block/created-at 1650349103584, + :block/updated-at 1650349103584} + {:block/name "注解", + :block/created-at 1649665829804, + :block/updated-at 1649822521079} + {:block/name "测试怎么做的", + :block/created-at 1657157575974, + :block/updated-at 1657157575974} + {:block/name "深圳蜗牛java面试题", + :block/created-at 1657157570485, + :block/updated-at 1657157570485} + {:block/name "瀑布模型", + :block/created-at 1658219533032, + :block/updated-at 1658221101198} + {:block/name "生产环境中应用有问题如何分析问题", + :block/created-at 1657157576000, + :block/updated-at 1657157576000} + {:block/name "生产者消费模式", + :block/created-at 1657355350193, + :block/updated-at 1657355612481} + {:block/name "用过哪些经典的设计模式,谈谈你对它们的理解", + :block/created-at 1657157575957, + :block/updated-at 1657157575957} + {:block/name "用过的linux系统都有哪些 什么版本", + :block/created-at 1657157575812, + :block/updated-at 1657157575812} + {:block/name "知道redis的看门狗机制么,为什么要用到看门狗", + :block/created-at 1657157575789, + :block/updated-at 1657157575789} + {:block/name "知道拦截器么,你项目中哪里使用过拦截器", + :block/created-at 1657157575650, + :block/updated-at 1657157575650} + {:block/name "短整数类型", + :block/created-at 1649215187863, + :block/updated-at 1649215187863} + {:block/name "禅道", + :block/created-at 1658213954707, + :block/updated-at 1658219520580} + {:block/name "科学计数法", + :block/created-at 1650331208078, + :block/updated-at 1650331208078} + {:block/name "程序", + :block/created-at 1649215181739, + :block/updated-at 1649215181739} + {:block/name "程序/注释", + :block/created-at 1649215181732, + :block/updated-at 1649215181732} + {:block/name "程序计数器", + :block/created-at 1649399120357, + :block/updated-at 1649399120357} + {:block/name "空指针", + :block/created-at 1650331206994, + :block/updated-at 1650331206994} + {:block/name "端口", + :block/created-at 1650636326491, + :block/updated-at 1650636326491} + {:block/name "简明知意", + :block/created-at 1650331207819, + :block/updated-at 1650331207819} + {:block/name "算术运算符", + :block/created-at 1649215191819, + :block/updated-at 1649215191819} + {:block/name "类", + :block/created-at 1649659990421, + :block/updated-at 1650080668268} + {:block/name "类和对象的创建", + :block/created-at 1649215195512, + :block/updated-at 1650079672125} + {:block/name "类属性", + :block/created-at 1649403547313, + :block/updated-at 1649403547313} + {:block/name "类方法", + :block/created-at 1649402739095, + :block/updated-at 1649402739095} + {:block/name "索引失效的场景有哪些", + :block/created-at 1657157575484, + :block/updated-at 1657157575484} + {:block/name "红锁是怎么实现的 原理是什么", + :block/created-at 1657157575787, + :block/updated-at 1657157575787} + {:block/name "红黑二叉树", + :block/created-at 1650436211902, + :block/updated-at 1650436211902} + {:block/name "线程同步", + :block/created-at 1657355041266, + :block/updated-at 1657355763088} + {:block/name "线程同步的几个方法", + :block/created-at 1657157575326, + :block/updated-at 1657157575326} + {:block/name "线程安全", + :block/created-at 1657352850687, + :block/updated-at 1657352985845} + {:block/name "线程安全的集合有哪些", + :block/created-at 1657157575207, + :block/updated-at 1657157575207} + {:block/name "线程是如何开始的", + :block/created-at 1657157575380, + :block/updated-at 1657157575380} + {:block/name "线程池", + :block/created-at 1657355740623, + :block/updated-at 1657356696193} + {:block/name "线程池有哪些核心参数", + :block/created-at 1657157575346, + :block/updated-at 1657157575346} + {:block/name "线程状态", + :block/created-at 1657349830643, + :block/updated-at 1657350352498} + {:block/name "线程的原子性是什么", + :block/created-at 1657157575350, + :block/updated-at 1657157575350} + {:block/name "线程的生命周期", + :block/created-at 1657157575323, + :block/updated-at 1657157575323} + {:block/name "组件化开发", + :block/created-at 1657765275462, + :block/updated-at 1657783429270} + {:block/name "给你一个数值类型数组,如何以最快的方式,查找到某一个元素", + :block/created-at 1657157575268, + :block/updated-at 1657157575268} + {:block/name "继承", + :block/created-at 1649046819566, + :block/updated-at 1650079351095} + {:block/name "继承器", + :block/created-at 1650331204697, + :block/updated-at 1650331204697} + {:block/name "继承方式", + :block/created-at 1649215195564, + :block/updated-at 1649662951261} + {:block/name "继承的定义", + :block/created-at 1649215195558, + :block/updated-at 1649659088709} + {:block/name "缓冲流", + :block/created-at 1650538806171, + :block/updated-at 1650538806171} + {:block/name "缓存穿透,击穿,雪崩对应的解决方案是什么", + :block/created-at 1657157575752, + :block/updated-at 1657157575752} + {:block/name "编程语言", + :block/created-at 1649215194715, + :block/updated-at 1650076410315} + {:block/name "编程题,给你一个整数数组,进行排序,输入一个k,从小到大输出k个数", + :block/created-at 1657157575269, + :block/updated-at 1657157575269} + {:block/name "编译", + :block/created-at 1650331201910, + :block/updated-at 1650331201910} + {:block/name "编译器", + :block/created-at 1650331183930, + :block/updated-at 1650331183930} + {:block/name "编译异常", + :block/created-at 1650263198292, + :block/updated-at 1650263198292} + {:block/name "网关是如何找到其他微服务的", + :block/created-at 1657157575914, + :block/updated-at 1657157575914} + {:block/name "网关限流如何配置 限流算法都用过哪些", + :block/created-at 1657157575912, + :block/updated-at 1657157575912} + {:block/name "网关限流时,采用什么技术,使用什么限流算法 咋配置", + :block/created-at 1657157575876, + :block/updated-at 1657157575876} + {:block/name "网络层", + :block/created-at 1650636324906, + :block/updated-at 1650636324906} + {:block/name "网络编程", + :block/created-at 1650608103126, + :block/updated-at 1650608103126} + {:block/name "网络通讯中tcp协议,udp协议的区别", + :block/created-at 1657157575571, + :block/updated-at 1657157575571} + {:block/name "耦合性", + :block/created-at 1649660116366, + :block/updated-at 1649660124613} + {:block/name "联合索引与普通索引的区别在哪里", + :block/created-at 1657157575448, + :block/updated-at 1657157575448} + {:block/name "能详细说下非对称加密的流程吗", + :block/created-at 1657157575996, + :block/updated-at 1657157575996} + {:block/name "自增运算符", + :block/created-at 1649215191827, + :block/updated-at 1649215191827} + {:block/name "自定义常量", + :block/created-at 1649215187256, + :block/updated-at 1649215187256} + {:block/name "自定义异常", + :block/created-at 1650331179429, + :block/updated-at 1650331179429} + {:block/name "自定义排序", + :block/created-at 1650340413624, + :block/updated-at 1650340413624} + {:block/name "自定义标识符", + :block/created-at 1650331207812, + :block/updated-at 1650331207812} + {:block/name "自定义注解", + :block/created-at 1649666262228, + :block/updated-at 1649666262228} + {:block/name "自旋锁的特征", + :block/created-at 1657157575283, + :block/updated-at 1657157575283} + {:block/name "自然排序", + :block/created-at 1650337946967, + :block/updated-at 1650337946967} + {:block/name "行为", + :block/created-at 1650331206123, + :block/updated-at 1650331206123} + {:block/name "补码", + :block/created-at 1649215186781, + :block/updated-at 1649215186781} + {:block/name "表示层", + :block/created-at 1650636324904, + :block/updated-at 1650636324904} + {:block/name "解码", + :block/created-at 1649215178848, + :block/updated-at 1649215178848} + {:block/name "解释", + :block/created-at 1650331201911, + :block/updated-at 1650331201911} + {:block/name "计划驱动", + :block/created-at 1658221207502, + :block/updated-at 1658222160270} + {:block/name "计算机发展历程", + :block/created-at 1649215196670, + :block/updated-at 1650076258486} + {:block/name "计算机基础理论", + :block/created-at 1649215189861, + :block/updated-at 1650076218431} + {:block/name "计算机组成", + :block/created-at 1649215196941, + :block/updated-at 1649215196941} + {:block/name "讲一下mq服务器的推拉模式,你在项目中是如何运用的", + :block/created-at 1657157575730, + :block/updated-at 1657157575730} + {:block/name "讲一下spring cloud 中的服务注册的机制和配置方法", + :block/created-at 1657157575862, + :block/updated-at 1657157575862} + {:block/name "讲一下浅克隆与深克隆", + :block/created-at 1657157575623, + :block/updated-at 1657157575623} + {:block/name "讲下springaop,项目中你是如何应用的", + :block/created-at 1657157575615, + :block/updated-at 1657157575615} + {:block/name "讲讲类的加载过程以及双亲委派机制", + :block/created-at 1657157575569, + :block/updated-at 1657157575569} + {:block/name "设置新生与老年代代参数", + :block/created-at 1657157575414, + :block/updated-at 1657157575414} + {:block/name "设置新生代与老年代优化参数", + :block/created-at 1657157575409, + :block/updated-at 1657157575409} + {:block/name "设计模式", + :block/created-at 1657519565742, + :block/updated-at 1657519706598} + {:block/name "设计模式中,工厂设计模式有啥用 项目中在哪些地方用过", + :block/created-at 1657157575563, + :block/updated-at 1657157575563} + {:block/name "访问修饰符", + :block/created-at 1649385046422, + :block/updated-at 1649407901827} + {:block/name "说一下 acid 是什么", + :block/created-at 1657157575476, + :block/updated-at 1657157575476} + {:block/name "说一下@requestmapping的作用", + :block/created-at 1657157575648, + :block/updated-at 1657157575648} + {:block/name "说一下jdbc在连接数据库的操作上几个步骤", + :block/created-at 1657157575464, + :block/updated-at 1657157575464} + {:block/name "说一下reddis怎么做集群的", + :block/created-at 1657157575757, + :block/updated-at 1657157575757} + {:block/name "说一下事务的隔离级别和事务的传播性质", + :block/created-at 1657157575469, + :block/updated-at 1657157575469} + {:block/name "说一下你熟悉的设计模式", + :block/created-at 1657157575581, + :block/updated-at 1657157575581} + {:block/name "说一下怎么用rabbitmq实现取消订单的用户积分减少的", + :block/created-at 1657157575739, + :block/updated-at 1657157575739} + {:block/name "说一下怎么防止超卖,sql怎么写", + :block/created-at 1657157575471, + :block/updated-at 1657157575471} + {:block/name "说一下熔断器,你怎么用的,代码怎么写的", + :block/created-at 1657157575871, + :block/updated-at 1657157575871} + {:block/name "说说nacos吧", + :block/created-at 1657157575949, + :block/updated-at 1657157575949} + {:block/name "说说你对java的gc回收机制的理解", + :block/created-at 1657157575431, + :block/updated-at 1657157575431} + {:block/name "说说你对线程的3个特性(原子,可见,有序)的理解", + :block/created-at 1657157575352, + :block/updated-at 1657157575352} + {:block/name "说说你常用的几个springboot注解", + :block/created-at 1657157575655, + :block/updated-at 1657157575655} + {:block/name "说说项目开发流程", + :block/created-at 1657157575855, + :block/updated-at 1657157575855} + {:block/name "请说一下seata的执行流程", + :block/created-at 1657157575946, + :block/updated-at 1657157575946} + {:block/name "请说下java的内存模型,也就是jmm", + :block/created-at 1657157575387, + :block/updated-at 1657157575387} + {:block/name "请说下jvm的运行时的内存结构", + :block/created-at 1657157575390, + :block/updated-at 1657157575390} + {:block/name "请说说rabbitmq的优缺点", + :block/created-at 1657157575718, + :block/updated-at 1657157575718} + {:block/name "请说说消息队列的工作模式有哪些", + :block/created-at 1657157575707, + :block/updated-at 1657157575707} + {:block/name "调试", + :block/created-at 1649381375280, + :block/updated-at 1650079906511} + {:block/name "谈谈bio,nio,aio的区别是什么,你都用过哪些io框架", + :block/created-at 1657157575600, + :block/updated-at 1657157575600} + {:block/name "谈谈mvc架构与mvvm架构的区别在哪里", + :block/created-at 1657157575832, + :block/updated-at 1657157575832} + {:block/name "谈谈你对spring bean的生命周期的理解", + :block/created-at 1657157575619, + :block/updated-at 1657157575619} + {:block/name "谈谈多线程并发", + :block/created-at 1657157575584, + :block/updated-at 1657157575584} + {:block/name "谈谈面向对象", + :block/created-at 1657157575583, + :block/updated-at 1657157575583} + {:block/name "负载均衡怎么实现", + :block/created-at 1657157575968, + :block/updated-at 1657157575968} + {:block/name "跨域", + :block/created-at 1658107900017, + :block/updated-at 1658108267180} + {:block/name "跨平台", + :block/created-at 1650331201913, + :block/updated-at 1650331201913} + {:block/name "转码", + :block/created-at 1649215178845, + :block/updated-at 1649215178845} + {:block/name "软硬件", + :block/created-at 1649215196948, + :block/updated-at 1649215196948} + {:block/name "运行异常", + :block/created-at 1650263211135, + :block/updated-at 1650263211135} + {:block/name "进制转换", + :block/created-at 1649215191832, + :block/updated-at 1649215191832} + {:block/name "进程与线程的区别", + :block/created-at 1657157575288, + :block/updated-at 1657157575288} + {:block/name "迭代器", + :block/created-at 1650335851717, + :block/updated-at 1650336047461} + {:block/name "迭代器模式", + :block/created-at 1650335879108, + :block/updated-at 1650335879108} + {:block/name "迭代增量式开发", + :block/created-at 1658221260882, + :block/updated-at 1658221265632} + {:block/name "退出循环", + :block/created-at 1649215192561, + :block/updated-at 1649215192561} + {:block/name "选择排序", + :block/created-at 1649231003510, + :block/updated-at 1649231003510} + {:block/name "通讯协议", + :block/created-at 1650636328186, + :block/updated-at 1650636328186} + {:block/name "逻辑运算符", + :block/created-at 1649215192945, + :block/updated-at 1649215192945} + {:block/name "遇到bug,你是如何调试的", + :block/created-at 1657157575605, + :block/updated-at 1657157575605} + {:block/name "遍历set和list的通用方法", + :block/created-at 1657157575284, + :block/updated-at 1657157575284} + {:block/name "都有哪些堆的参数,可以配置", + :block/created-at 1657157575400, + :block/updated-at 1657157575400} + {:block/name "重写", + :block/created-at 1649215195567, + :block/updated-at 1650080176431} + {:block/name "重写和重载的区别在哪里", + :block/created-at 1657157575610, + :block/updated-at 1657157575610} + {:block/name "重定向和请求转发的区别是什么", + :block/created-at 1657157575683, + :block/updated-at 1657157575683} + {:block/name "银行系统,我给你168的数字,你应该给我多少张不同面额的人民币(口述如何实现)", + :block/created-at 1657157575272, + :block/updated-at 1657157575272} + {:block/name "链表", + :block/created-at 1650352878089, + :block/updated-at 1650352878089} + {:block/name "错误", + :block/created-at 1650331183914, + :block/updated-at 1650331183914} + {:block/name "长整型", + :block/created-at 1649215187857, + :block/updated-at 1649215187857} + {:block/name "队列", + :block/created-at 1657355430719, + :block/updated-at 1657355454822} + {:block/name "隐式转换", + :block/created-at 1649215192209, + :block/updated-at 1650078806887} + {:block/name "隐藏", + :block/created-at 1649406872653, + :block/updated-at 1649407122716} + {:block/name "集合", + :block/created-at 1650331179430, + :block/updated-at 1650331179430} + {:block/name "集合排序", + :block/created-at 1650337166202, + :block/updated-at 1650337166202} + {:block/name "集合的交并差", + :block/created-at 1650442624431, + :block/updated-at 1650444123272} + {:block/name "集合的分类,分别的特性是哪些", + :block/created-at 1657157575266, + :block/updated-at 1657157575266} + {:block/name "集群", + :block/created-at 1657157572489, + :block/updated-at 1657157572489} + {:block/name "静态代码块", + :block/created-at 1649820662225, + :block/updated-at 1649821000234} + {:block/name "静态多态", + :block/created-at 1649820624809, + :block/updated-at 1649820624809} + {:block/name "静态方法", + :block/created-at 1649046874845, + :block/updated-at 1649402739096} + {:block/name "非关系型数据库", + :block/created-at 1657157573088, + :block/updated-at 1657157573088} + {:block/name "面向对象", + :block/created-at 1650331188488, + :block/updated-at 1650331188488} + {:block/name "面向对象的定义", + :block/created-at 1649215195502, + :block/updated-at 1650079200182} + {:block/name "面向对象的特征", + :block/created-at 1649215195601, + :block/updated-at 1650080470333} + {:block/name "面向过程", + :block/created-at 1650331208988, + :block/updated-at 1650331208988} + {:block/name "页面加载很慢,有什么优化方案", + :block/created-at 1657157575682, + :block/updated-at 1657157575682} + {:block/name "项目中sql调优的场景有哪些,数据库调优如何做", + :block/created-at 1657157575434, + :block/updated-at 1657157575434} + {:block/name "项目中你们部署了多少台redis服务器,一般配置多少台,熟悉哨兵机制么", + :block/created-at 1657157575773, + :block/updated-at 1657157575773} + {:block/name "项目中有哪些设计是存在缺陷或者不合理的", + :block/created-at 1657157575977, + :block/updated-at 1657157575977} + {:block/name "项目中,关于鉴权你们是咋做的", + :block/created-at 1657157575844, + :block/updated-at 1657157575844} + {:block/name "项目部署没有 有没有经过压力测试 有没有经过渗透测试", + :block/created-at 1657157575954, + :block/updated-at 1657157575954} + {:block/name "驼峰命名法", + :block/created-at 1650331207814, + :block/updated-at 1650331207814} + {:block/name "高内聚", + :block/created-at 1649659951153, + :block/updated-at 1649660007868} + {:block/name "高级编程语言", + :block/created-at 1650331208985, + :block/updated-at 1650331208985} + {:block/name "魔法值", + :block/created-at 1650331201718, + :block/updated-at 1650331201718}] diff --git a/logseq-java/logseq/bak/logseq/pages-metadata/2022-09-08T03_54_15.328Z.Desktop.edn b/logseq-java/logseq/bak/logseq/pages-metadata/2022-09-08T03_54_15.328Z.Desktop.edn new file mode 100644 index 0000000..5aee577 --- /dev/null +++ b/logseq-java/logseq/bak/logseq/pages-metadata/2022-09-08T03_54_15.328Z.Desktop.edn @@ -0,0 +1,2956 @@ +[{:block/name "#{} 与 ${} 的区别", + :block/created-at 1657157575521, + :block/updated-at 1657157575521} + {:block/name "+end_tip", + :block/created-at 1662026151864, + :block/updated-at 1662026151864} + {:block/name "2022_09_01(1)", + :block/created-at 1662026126122, + :block/updated-at 1662026126122} + {:block/name "2022_09_01(2)", + :block/created-at 1662026151865, + :block/updated-at 1662026151865} + {:block/name "625e1ecf-25a9-4b64-8eab-042fd889a062", + :block/created-at 1650356920421, + :block/updated-at 1650356920421} + {:block/name "625e5ddf-aa2d-4567-8531-3ccc94628ef7", + :block/created-at 1650356975462, + :block/updated-at 1650356975462} + {:block/name "625fa874-b218-4044-ac16-b9de892cd9d2", + :block/created-at 1650439517817, + :block/updated-at 1650439517817} + {:block/name "625fe239-5548-4c66-ba66-f6fb1629b682", + :block/created-at 1650538810183, + :block/updated-at 1650538810183} + {:block/name "7大设计原则有哪些", + :block/created-at 1657157575549, + :block/updated-at 1657157575549} + {:block/name "@resource和@autowired的区别", + :block/created-at 1657157575624, + :block/updated-at 1657174764912} + {:block/name "[jdk", + :block/created-at 1650331207229, + :block/updated-at 1650331207229} + {:block/name "a", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "aba问题", + :block/created-at 1657260301766, + :block/updated-at 1657260301766} + {:block/name "abs", + :block/created-at 1649921407910, + :block/updated-at 1649921421829} + {:block/name "abstract", + :block/created-at 1649820627685, + :block/updated-at 1649820627685} + {:block/name "acid", + :block/created-at 1657260301815, + :block/updated-at 1657260301815} + {:block/name "add", + :block/created-at 1650331180462, + :block/updated-at 1650331180462} + {:block/name "addall", + :block/created-at 1650331180460, + :block/updated-at 1650331180460} + {:block/name "ajax怎么实现同步", + :block/created-at 1657157575674, + :block/updated-at 1657157575674} + {:block/name "apache", + :block/created-at 1657506094791, + :block/updated-at 1657506094791} + {:block/name "api", + :block/created-at 1649215178513, + :block/updated-at 1649904711721} + {:block/name "apifox", + :block/created-at 1658285395791, + :block/updated-at 1658285395791} + {:block/name "apppend", + :block/created-at 1649903790777, + :block/updated-at 1649903825473} + {:block/name "apr 11th, 2022", + :block/created-at 1649640912448, + :block/updated-at 1649676970820} + {:block/name "apr 12th, 2022", + :block/created-at 1649820616181, + :block/updated-at 1650074270128} + {:block/name "apr 13th, 2022", + :block/created-at 1649820618963, + :block/updated-at 1649847675738} + {:block/name "apr 14th, 2022", + :block/created-at 1649902256566, + :block/updated-at 1649945987130} + {:block/name "apr 15th, 2022", + :block/created-at 1650002649668, + :block/updated-at 1650010949968} + {:block/name "apr 16th, 2022", + :block/created-at 1650072826346, + :block/updated-at 1650089014547} + {:block/name "apr 17th, 2022", + :block/created-at 1650168842041, + :block/updated-at 1650168860312} + {:block/name "apr 18th, 2022", + :block/created-at 1650223242651, + :block/updated-at 1650263084206} + {:block/name "apr 19th, 2022", + :block/created-at 1650331174909, + :block/updated-at 1650370926105} + {:block/name "apr 20th, 2022", + :block/created-at 1650436211045, + :block/updated-at 1650458792346} + {:block/name "apr 21st, 2022", + :block/created-at 1650538807758, + :block/updated-at 1650539384945} + {:block/name "apr 22nd, 2022", + :block/created-at 1650608103235, + :block/updated-at 1650621414443} + {:block/name "apr 24th, 2022", + :block/created-at 1653189834622, + :block/updated-at 1653189834622} + {:block/name "apr 26th, 2022", + :block/created-at 1653189835132, + :block/updated-at 1653189835132} + {:block/name "apr 29th, 2022", + :block/created-at 1653189834791, + :block/updated-at 1653189834791} + {:block/name "apr 2nd, 2022", + :block/created-at 1649215177137, + :block/updated-at 1649215177137} + {:block/name "apr 4th, 2022", + :block/created-at 1649215177614, + :block/updated-at 1650080300255} + {:block/name "apr 5th, 2022", + :block/created-at 1649136689683, + :block/updated-at 1650080302016} + {:block/name "apr 6th, 2022", + :block/created-at 1649208205737, + :block/updated-at 1650079131663} + {:block/name "apr 7th, 2022", + :block/created-at 1649381376440, + :block/updated-at 1650079747001} + {:block/name "apr 8th, 2022", + :block/created-at 1649381365539, + :block/updated-at 1649411467229} + {:block/name "archive", + :block/created-at 1657260300397, + :block/updated-at 1657260300397} + {:block/name "arraycopy", + :block/created-at 1649917837922, + :block/updated-at 1649918067851} + {:block/name "arraylist", + :block/created-at 1650331179432, + :block/updated-at 1650348827846} + {:block/name "arraylist和linkedlist的区别", + :block/created-at 1657157575244, + :block/updated-at 1657157575244} + {:block/name "arraylist哪些操作效率较高", + :block/created-at 1657157575251, + :block/updated-at 1657157575251} + {:block/name "arrays", + :block/created-at 1649820616096, + :block/updated-at 1649908840194} + {:block/name "ascii", + :block/created-at 1649215178851, + :block/updated-at 1649215178851} + {:block/name "asicc", + :block/created-at 1650331210235, + :block/updated-at 1650331210235} + {:block/name "assert", + :block/created-at 1650331207765, + :block/updated-at 1650331207765} + {:block/name "at模式在运行过程中,如何进行2阶段处理的", + :block/created-at 1657157575941, + :block/updated-at 1657157575941} + {:block/name "aug 15th, 2022", + :block/created-at 1660543966955, + :block/updated-at 1660543966955} + {:block/name "aug 16th, 2022", + :block/created-at 1660579235217, + :block/updated-at 1660579235217} + {:block/name "aug 17th, 2022", + :block/created-at 1660665635212, + :block/updated-at 1660665635212} + {:block/name "aug 23rd, 2022", + :block/created-at 1662024687628, + :block/updated-at 1662024687628} + {:block/name "aug 5th, 2022", + :block/created-at 1659689855270, + :block/updated-at 1659689882411} + {:block/name "aug 8th, 2022", + :block/created-at 1659924427005, + :block/updated-at 1659946242380} + {:block/name "axios", + :block/created-at 1658136594835, + :block/updated-at 1658136594835} + {:block/name "b", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "beanfactory 和 applicationcontext的区别", + :block/created-at 1657157575638, + :block/updated-at 1657157575638} + {:block/name "bigdecimal", + :block/created-at 1649820616115, + :block/updated-at 1650080799980} + {:block/name "binarysearch", + :block/created-at 1649907973557, + :block/updated-at 1649908366000} + {:block/name "boolean", + :block/created-at 1650331182912, + :block/updated-at 1650331182912} + {:block/name "break", + :block/created-at 1650331207782, + :block/updated-at 1650331207782} + {:block/name "bug", + :block/created-at 1658285718426, + :block/updated-at 1658285718426} + {:block/name "byte", + :block/created-at 1650331182938, + :block/updated-at 1650331182938} + {:block/name "c", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "calendar", + :block/created-at 1650010949968, + :block/updated-at 1650010949968} + {:block/name "canceled", + :block/created-at 1657158746425, + :block/updated-at 1657158746425} + {:block/name "cancelled", + :block/created-at 1657158746424, + :block/updated-at 1657158746424} + {:block/name "capacity", + :block/created-at 1649903884620, + :block/updated-at 1649903908726} + {:block/name "card", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "cas", + :block/created-at 1657260301761, + :block/updated-at 1657260301761} + {:block/name "case", + :block/created-at 1650331207780, + :block/updated-at 1650331207780} + {:block/name "catch", + :block/created-at 1650331184555, + :block/updated-at 1650331184555} + {:block/name "cd", + :block/created-at 1650636328680, + :block/updated-at 1650636328680} + {:block/name "cd命令", + :block/created-at 1649215179586, + :block/updated-at 1649215179586} + {:block/name "char", + :block/created-at 1649833778899, + :block/updated-at 1649833778899} + {:block/name "character", + :block/created-at 1650331182914, + :block/updated-at 1650331182914} + {:block/name "charat", + :block/created-at 1649835616900, + :block/updated-at 1649835657620} + {:block/name "chmod 改用户组的权限", + :block/created-at 1657157575815, + :block/updated-at 1657157575815} + {:block/name "chmod如何改用户组的权限", + :block/created-at 1657157575825, + :block/updated-at 1657157575825} + {:block/name "class", + :block/created-at 1650331201916, + :block/updated-at 1650331201916} + {:block/name "classcastexception", + :block/created-at 1649820623100, + :block/updated-at 1649820623100} + {:block/name "classpath", + :block/created-at 1649046900886, + :block/updated-at 1649046900886} + {:block/name "clear", + :block/created-at 1650335084176, + :block/updated-at 1650335084176} + {:block/name "cls", + :block/created-at 1650636328684, + :block/updated-at 1650636328684} + {:block/name "cluster", + :block/created-at 1657506244977, + :block/updated-at 1657506244977} + {:block/name "cmd", + :block/created-at 1650636328679, + :block/updated-at 1650636328679} + {:block/name "collection", + :block/created-at 1650331180761, + :block/updated-at 1650331180761} + {:block/name "collection 和 collections 有什么区别", + :block/created-at 1657157575278, + :block/updated-at 1657175108979} + {:block/name "collection 和 collections 的区别是啥", + :block/created-at 1657157575232, + :block/updated-at 1657175126785} + {:block/name "collections", + :block/created-at 1650337483294, + :block/updated-at 1650337483294} + {:block/name "collection集合和map体系集合的区别", + :block/created-at 1657157575219, + :block/updated-at 1657175028091} + {:block/name "comparable", + :block/created-at 1650338110003, + :block/updated-at 1650338110003} + {:block/name "compareto", + :block/created-at 1650338276027, + :block/updated-at 1650338276027} + {:block/name "concat", + :block/created-at 1649835693143, + :block/updated-at 1649835712994} + {:block/name "concurrenthashmap为什么是线程安全的,如何做到的", + :block/created-at 1657157575214, + :block/updated-at 1657157575214} + {:block/name "const", + :block/created-at 1650331207742, + :block/updated-at 1650331207742} + {:block/name "contains", + :block/created-at 1649835911558, + :block/updated-at 1649835938222} + {:block/name "contents", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "contents 2", + :block/created-at 1660543960266, + :block/updated-at 1660543960266} + {:block/name "continue", + :block/created-at 1650331207780, + :block/updated-at 1650331207780} + {:block/name "cookie", + :block/created-at 1658131515763, + :block/updated-at 1658131515763} + {:block/name "copyof", + :block/created-at 1649908412989, + :block/updated-at 1649908629426} + {:block/name "currenthashmap的在jdk1.7和1.8期间分别的特征", + :block/created-at 1657157575281, + :block/updated-at 1657157575281} + {:block/name "currenttimemillis", + :block/created-at 1649916949834, + :block/updated-at 1649917211744} + {:block/name "c语言", + :block/created-at 1650331202482, + :block/updated-at 1650331202482} + {:block/name "date", + :block/created-at 1650007668146, + :block/updated-at 1650011002661} + {:block/name "dcl", + :block/created-at 1653189837403, + :block/updated-at 1653189837403} + {:block/name "ddl", + :block/created-at 1653189837402, + :block/updated-at 1653189837402} + {:block/name "debug", + :block/created-at 1650331209846, + :block/updated-at 1650331209846} + {:block/name "default", + :block/created-at 1649820628349, + :block/updated-at 1649820628349} + {:block/name "delete", + :block/created-at 1649904577387, + :block/updated-at 1649904591211} + {:block/name "dir", + :block/created-at 1650636328682, + :block/updated-at 1650636328682} + {:block/name "dml", + :block/created-at 1653189837403, + :block/updated-at 1653189837403} + {:block/name "do", + :block/created-at 1650331207777, + :block/updated-at 1650331207777} + {:block/name "do while 循环", + :block/created-at 1649215179219, + :block/updated-at 1649663083940} + {:block/name "docker", + :block/created-at 1657157572523, + :block/updated-at 1657157572523} + {:block/name "doing", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "done", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "dos", + :block/created-at 1649215179619, + :block/updated-at 1649215179619} + {:block/name "dos命令", + :block/created-at 1649215189875, + :block/updated-at 1650076504661} + {:block/name "double", + :block/created-at 1650331182916, + :block/updated-at 1650331182916} + {:block/name "dql", + :block/created-at 1653189837405, + :block/updated-at 1653189837405} + {:block/name "eclipse", + :block/created-at 1649215180218, + :block/updated-at 1649215180218} + {:block/name "elasticsearch", + :block/created-at 1657505788966, + :block/updated-at 1657521231447} + {:block/name "elasticsearch分页", + :block/created-at 1657605831432, + :block/updated-at 1657605831432} + {:block/name "elasticsearch条件查询", + :block/created-at 1657605814458, + :block/updated-at 1657605814458} + {:block/name "elementui", + :block/created-at 1658285388756, + :block/updated-at 1658285388756} + {:block/name "else", + :block/created-at 1650331207775, + :block/updated-at 1650331207775} + {:block/name "endwith", + :block/created-at 1649836221975, + :block/updated-at 1649836247635} + {:block/name "entryset", + :block/created-at 1650436841283, + :block/updated-at 1650436841283} + {:block/name "equals", + :block/created-at 1649908827534, + :block/updated-at 1649908893803} + {:block/name "equalsignorecase", + :block/created-at 1649836127664, + :block/updated-at 1649836146217} + {:block/name "es实现全文检索的原理是什么", + :block/created-at 1657157575806, + :block/updated-at 1657157575806} + {:block/name "es怎么保持和数据库的一致性", + :block/created-at 1657157575801, + :block/updated-at 1657157575801} + {:block/name "es怎么配权重 可以做数据库吗", + :block/created-at 1657157575804, + :block/updated-at 1657157575804} + {:block/name "es查询一个张三,李四。张三名字可能会重复,要按照张三的生日去进行排序,这个es语句怎么写", + :block/created-at 1657157575809, + :block/updated-at 1657157575809} + {:block/name "eureka", + :block/created-at 1660140196501, + :block/updated-at 1660140196501} + {:block/name "eureka关闭之后,其他的微服务之间还能调用么", + :block/created-at 1657157575915, + :block/updated-at 1657157575915} + {:block/name "eureka如何搭建,如何才能规避因为网络原因导致客户端大面积下线的情况", + :block/created-at 1657157575905, + :block/updated-at 1657157575905} + {:block/name "eureka高可用怎么配置", + :block/created-at 1657157575908, + :block/updated-at 1657157575908} + {:block/name "exception", + :block/created-at 1650331184795, + :block/updated-at 1650331184795} + {:block/name "exit", + :block/created-at 1649215179615, + :block/updated-at 1649916724459} + {:block/name "extends", + :block/created-at 1650331207798, + :block/updated-at 1650331207798} + {:block/name "false", + :block/created-at 1650331207809, + :block/updated-at 1650331207809} + {:block/name "favorites", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "feign远程调用的时候,如何确保feign接口的参数和controller层方法参数一致", + :block/created-at 1657157575891, + :block/updated-at 1657157575891} + {:block/name "feishu+logseq", + :block/created-at 1657157736107, + :block/updated-at 1657157736107} + {:block/name "fifo", + :block/created-at 1657355454820, + :block/updated-at 1657355466851} + {:block/name "file", + :block/created-at 1650446851612, + :block/updated-at 1650446871486} + {:block/name "fileinputstream", + :block/created-at 1650636329173, + :block/updated-at 1650636329173} + {:block/name "fileoutputstream", + :block/created-at 1650636329176, + :block/updated-at 1650636329176} + {:block/name "filereader", + :block/created-at 1650636327436, + :block/updated-at 1650636327436} + {:block/name "filewriter", + :block/created-at 1650636327437, + :block/updated-at 1650636327437} + {:block/name "final", + :block/created-at 1649820616029, + :block/updated-at 1650080286912} + {:block/name "final 在 java 中有什么作用", + :block/created-at 1657157575580, + :block/updated-at 1657157575580} + {:block/name "finalize", + :block/created-at 1650331203492, + :block/updated-at 1650331203492} + {:block/name "finally", + :block/created-at 1650331184801, + :block/updated-at 1650331184801} + {:block/name "firewall", + :block/created-at 1657157571748, + :block/updated-at 1657157571748} + {:block/name "float", + :block/created-at 1650331182923, + :block/updated-at 1650331182923} + {:block/name "for", + :block/created-at 1650331207774, + :block/updated-at 1650331207774} + {:block/name "foreach", + :block/created-at 1650436600460, + :block/updated-at 1650436600460} + {:block/name "forward和redirect的区别", + :block/created-at 1657157575647, + :block/updated-at 1657157575647} + {:block/name "for循环", + :block/created-at 1649215180627, + :block/updated-at 1649215180627} + {:block/name "gc", + :block/created-at 1649916808383, + :block/updated-at 1649916884486} + {:block/name "get", + :block/created-at 1650331180485, + :block/updated-at 1650331180485} + {:block/name "getbytes", + :block/created-at 1649836292118, + :block/updated-at 1649836382319} + {:block/name "getordefault", + :block/created-at 1650436211926, + :block/updated-at 1650436211926} + {:block/name "getproperties", + :block/created-at 1649918250765, + :block/updated-at 1649918291655} + {:block/name "getproperty", + :block/created-at 1650636324585, + :block/updated-at 1650636324585} + {:block/name "getter", + :block/created-at 1649215195546, + :block/updated-at 1649215195546} + {:block/name "getter与setter", + :block/created-at 1649215195544, + :block/updated-at 1649410098646} + {:block/name "git", + :block/created-at 1658285405665, + :block/updated-at 1658285405665} + {:block/name "git回退上个版本,用什么命令 切换分支用哪个命令", + :block/created-at 1657157576002, + :block/updated-at 1657157576002} + {:block/name "gof32", + :block/created-at 1657519570576, + :block/updated-at 1657519570576} + {:block/name "goto", + :block/created-at 1650331207743, + :block/updated-at 1650331207743} + {:block/name "hash", + :block/created-at 1650360029789, + :block/updated-at 1650360029789} + {:block/name "hashcode", + :block/created-at 1650360468015, + :block/updated-at 1650360468015} + {:block/name "hashmap", + :block/created-at 1650331188284, + :block/updated-at 1650437500583} + {:block/name "hashmap 什么情况下会产生死锁的问题如何解决", + :block/created-at 1657157575238, + :block/updated-at 1657157575238} + {:block/name "hashmap 和 hashtable 有什么区别", + :block/created-at 1657157575258, + :block/updated-at 1657157575258} + {:block/name "hashmap为什么要重写hashcode", + :block/created-at 1657157575253, + :block/updated-at 1657157575253} + {:block/name "hashmap和concurrenthashmap的区别", + :block/created-at 1657157575205, + :block/updated-at 1657157575205} + {:block/name "hashmap在jdk1.7和jdk1.8的区别", + :block/created-at 1657157575221, + :block/updated-at 1657157575221} + {:block/name "hashmap在什么情况下单链表需要转为红黑树", + :block/created-at 1657157575213, + :block/updated-at 1657157575213} + {:block/name "hashmap的put方法的执行过程", + :block/created-at 1657157575263, + :block/updated-at 1657157575263} + {:block/name "hashmap的底层原理是什么,如何扩容,并解决hash碰撞的", + :block/created-at 1657157575211, + :block/updated-at 1657157575211} + {:block/name "hashmap的底层是如何解决hash碰撞的", + :block/created-at 1657157575275, + :block/updated-at 1657157575275} + {:block/name "hashset", + :block/created-at 1650331188266, + :block/updated-at 1650360468020} + {:block/name "hashset的去重原理", + :block/created-at 1657157575223, + :block/updated-at 1657157575223} + {:block/name "hashtable", + :block/created-at 1650331188289, + :block/updated-at 1650441150118} + {:block/name "helloworld", + :block/created-at 1649215184171, + :block/updated-at 1649215184171} + {:block/name "helloworld详解", + :block/created-at 1649215181043, + :block/updated-at 1650080658895} + {:block/name "html", + :block/created-at 1653533260514, + :block/updated-at 1653533260514} + {:block/name "http", + :block/created-at 1650636328185, + :block/updated-at 1650636328185} + {:block/name "https", + :block/created-at 1650636328187, + :block/updated-at 1650636328187} + {:block/name "https 通讯协议是如何实现的 它的加密方式是什么", + :block/created-at 1657157575671, + :block/updated-at 1657157575671} + {:block/name "http协议中get与post提交方法的区别在哪里", + :block/created-at 1657157575697, + :block/updated-at 1657157575697} + {:block/name "http通讯协议分为几个部分 请求协议的组成", + :block/created-at 1657157575677, + :block/updated-at 1657157575677} + {:block/name "http通讯协议分为几个部分 请求协议的组成(1)", + :block/created-at 1662024808864, + :block/updated-at 1662024808864} + {:block/name "hutool", + :block/created-at 1658286392644, + :block/updated-at 1658286392644} + {:block/name "id", + :block/created-at 1653533277502, + :block/updated-at 1653533277502} + {:block/name "ide", + :block/created-at 1649215181722, + :block/updated-at 1649215181722} + {:block/name "idea", + :block/created-at 1649215181400, + :block/updated-at 1649215181400} + {:block/name "ide集成开发环境", + :block/created-at 1649215181741, + :block/updated-at 1650077056039} + {:block/name "ieda", + :block/created-at 1649899367370, + :block/updated-at 1649899367370} + {:block/name "if", + :block/created-at 1650331207773, + :block/updated-at 1650331207773} + {:block/name "if判断", + :block/created-at 1649215182055, + :block/updated-at 1649215182055} + {:block/name "implements", + :block/created-at 1649820628343, + :block/updated-at 1649820628343} + {:block/name "import", + :block/created-at 1650331207758, + :block/updated-at 1650331207758} + {:block/name "in 与 exits 的区别是什么", + :block/created-at 1657157575513, + :block/updated-at 1657157575513} + {:block/name "in-progress", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "indexof", + :block/created-at 1649835497490, + :block/updated-at 1649835538531} + {:block/name "inetaddress", + :block/created-at 1650608103135, + :block/updated-at 1650608103135} + {:block/name "innodb", + :block/created-at 1657260300388, + :block/updated-at 1657260300388} + {:block/name "innodb的行级锁什么情况下会使用", + :block/created-at 1657157575444, + :block/updated-at 1657157575444} + {:block/name "input", + :block/created-at 1650445980901, + :block/updated-at 1650445980901} + {:block/name "inputstream", + :block/created-at 1650446813903, + :block/updated-at 1650446813903} + {:block/name "insert", + :block/created-at 1649903806330, + :block/updated-at 1649903868046} + {:block/name "instanceof", + :block/created-at 1649820619771, + :block/updated-at 1649820619771} + {:block/name "int", + :block/created-at 1650331180468, + :block/updated-at 1650331180468} + {:block/name "integer", + :block/created-at 1650331180465, + :block/updated-at 1650331180465} + {:block/name "interator", + :block/created-at 1650336046007, + :block/updated-at 1650336046007} + {:block/name "interface", + :block/created-at 1649820628334, + :block/updated-at 1649820628334} + {:block/name "intern", + :block/created-at 1649839118741, + :block/updated-at 1649839223715} + {:block/name "ioc", + :block/created-at 1655521624374, + :block/updated-at 1655521624374} + {:block/name "io流", + :block/created-at 1650445947413, + :block/updated-at 1650446894652} + {:block/name "io流的分类有哪些", + :block/created-at 1657157575597, + :block/updated-at 1657157575597} + {:block/name "ip", + :block/created-at 1650636323812, + :block/updated-at 1650636323812} + {:block/name "ipconfig", + :block/created-at 1649215179610, + :block/updated-at 1649215179610} + {:block/name "isempty", + :block/created-at 1649837951779, + :block/updated-at 1649838007283} + {:block/name "iterable", + :block/created-at 1650336032868, + :block/updated-at 1650336032868} + {:block/name "jar", + :block/created-at 1649046906538, + :block/updated-at 1649046906538} + {:block/name "java ee", + :block/created-at 1650331202476, + :block/updated-at 1650331202476} + {:block/name "java me", + :block/created-at 1650331202478, + :block/updated-at 1650331202478} + {:block/name "java se", + :block/created-at 1650331202479, + :block/updated-at 1650331202479} + {:block/name "java_home", + :block/created-at 1650331203282, + :block/updated-at 1650331203282} + {:block/name "javabean", + :block/created-at 1649647591986, + :block/updated-at 1649647591986} + {:block/name "javabean规范", + :block/created-at 1649215195533, + :block/updated-at 1649647838288} + {:block/name "javascript", + :block/created-at 1653196611287, + :block/updated-at 1653196611287} + {:block/name "java中异常的分类,分别说说都哪些具体的异常", + :block/created-at 1657157575603, + :block/updated-at 1657157575603} + {:block/name "java发展历程", + :block/created-at 1649215183072, + :block/updated-at 1650252383200} + {:block/name "java的反射,在哪些地方有过应用", + :block/created-at 1657157575586, + :block/updated-at 1657157575586} + {:block/name "java程序注释", + :block/created-at 1649215181735, + :block/updated-at 1650078753268} + {:block/name "java跨平台原理", + :block/created-at 1649215183676, + :block/updated-at 1649215183676} + {:block/name "java面试", + :block/created-at 1649215183909, + :block/updated-at 1650621154779} + {:block/name "jdbc", + :block/created-at 1653189834789, + :block/updated-at 1653189834789} + {:block/name "jdbc如何提升读取数据的性能", + :block/created-at 1657157575481, + :block/updated-at 1657157575481} + {:block/name "jdk", + :block/created-at 1650331202498, + :block/updated-at 1650331202498} + {:block/name "jdk1", + :block/created-at 1650420404818, + :block/updated-at 1650420404818} + {:block/name "jdk1.8 针对synchronized,都做过哪些优化", + :block/created-at 1657157575385, + :block/updated-at 1657157575385} + {:block/name "jdk1.8日期api", + :block/created-at 1650245515564, + :block/updated-at 1650252002875} + {:block/name "jdk1.8的新特性,你都用过哪些", + :block/created-at 1657157575570, + :block/updated-at 1657157575570} + {:block/name "jdk1/8日期api", + :block/created-at 1650420404816, + :block/updated-at 1650420404816} + {:block/name "jdk8", + :block/created-at 1650331203276, + :block/updated-at 1650331203276} + {:block/name "jdk中有哪些队列", + :block/created-at 1657157575254, + :block/updated-at 1657157575254} + {:block/name "jdk环境搭建", + :block/created-at 1649215184182, + :block/updated-at 1650076882949} + {:block/name "jdk,jre,jvm的区别", + :block/created-at 1657157575609, + :block/updated-at 1657157575609} + {:block/name "jit编译器", + :block/created-at 1649215183674, + :block/updated-at 1649215183674} + {:block/name "jquery", + :block/created-at 1653533260326, + :block/updated-at 1653533260326} + {:block/name "jre", + :block/created-at 1650331202501, + :block/updated-at 1650331202501} + {:block/name "json", + :block/created-at 1657765252670, + :block/updated-at 1657765252670} + {:block/name "json格式长什么样 那么jsonarray呢", + :block/created-at 1657157575684, + :block/updated-at 1657157575684} + {:block/name "json的解析框架,你用过什么", + :block/created-at 1657157575679, + :block/updated-at 1657157575679} + {:block/name "jul 11th, 2022", + :block/created-at 1657505750996, + :block/updated-at 1657527583379} + {:block/name "jul 12th, 2022", + :block/created-at 1657605770644, + :block/updated-at 1657606387138} + {:block/name "jul 13th, 2022", + :block/created-at 1657765252229, + :block/updated-at 1657765252229} + {:block/name "jul 14th, 2022", + :block/created-at 1657765252003, + :block/updated-at 1658107900019} + {:block/name "jul 18th, 2022", + :block/created-at 1658107861830, + :block/updated-at 1658131485084} + {:block/name "jul 19th, 2022", + :block/created-at 1658196365763, + :block/updated-at 1658221260883} + {:block/name "jul 20th, 2022", + :block/created-at 1658246455182, + :block/updated-at 1658285015264} + {:block/name "jul 21st, 2022", + :block/created-at 1658285015264, + :block/updated-at 1658285015264} + {:block/name "jul 22nd, 2022", + :block/created-at 1658285464891, + :block/updated-at 1658285464891} + {:block/name "jul 26th, 2022", + :block/created-at 1658285464890, + :block/updated-at 1658285464890} + {:block/name "jul 27th, 2022", + :block/created-at 1658285501001, + :block/updated-at 1658285501001} + {:block/name "jul 28th, 2022", + :block/created-at 1658285534476, + :block/updated-at 1658285534476} + {:block/name "jul 5th, 2022", + :block/created-at 1657157570502, + :block/updated-at 1657157570502} + {:block/name "jul 6th, 2022", + :block/created-at 1657157571024, + :block/updated-at 1657157571024} + {:block/name "jul 7th, 2022", + :block/created-at 1657157756946, + :block/updated-at 1657175137574} + {:block/name "jul 8th, 2022", + :block/created-at 1657260300914, + :block/updated-at 1657260300914} + {:block/name "jul 9th, 2022", + :block/created-at 1657347478674, + :block/updated-at 1657355378817} + {:block/name "jun 18th, 2022", + :block/created-at 1655521479175, + :block/updated-at 1655521671791} + {:block/name "jvm", + :block/created-at 1649215183650, + :block/updated-at 1649215183650} + {:block/name "jvm参数调优的总结", + :block/created-at 1657157575424, + :block/updated-at 1657157575424} + {:block/name "jvm虚拟机的原理", + :block/created-at 1657157575393, + :block/updated-at 1657157575393} + {:block/name "jwt", + :block/created-at 1658131485079, + :block/updated-at 1658278897838} + {:block/name "key-value", + :block/created-at 1650436212227, + :block/updated-at 1650436212227} + {:block/name "keyset", + :block/created-at 1650436211939, + :block/updated-at 1650436211939} + {:block/name "kibana", + :block/created-at 1657520916137, + :block/updated-at 1657521121553} + {:block/name "lastindexof", + :block/created-at 1649838687566, + :block/updated-at 1649838774931} + {:block/name "later", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "length", + :block/created-at 1649903970896, + :block/updated-at 1649904234147} + {:block/name "like 后 加% 和 加_ 的区别在哪里", + :block/created-at 1657157575466, + :block/updated-at 1657157575466} + {:block/name "linkedhashmap", + :block/created-at 1650331188291, + :block/updated-at 1650441023708} + {:block/name "linkedhashset", + :block/created-at 1650331188275, + :block/updated-at 1650331188275} + {:block/name "linkedlist", + :block/created-at 1650331188258, + :block/updated-at 1650353801524} + {:block/name "linux", + :block/created-at 1650636328185, + :block/updated-at 1657077033275} + {:block/name "linux如何查看资源的使用情况", + :block/created-at 1657157575823, + :block/updated-at 1657157575823} + {:block/name "list", + :block/created-at 1650331180488, + :block/updated-at 1650331180488} + {:block/name "list、set、map区别", + :block/created-at 1657157575261, + :block/updated-at 1657157575261} + {:block/name "localdate", + :block/created-at 1650331181445, + :block/updated-at 1650331181445} + {:block/name "localdatetime", + :block/created-at 1650331181452, + :block/updated-at 1650331181452} + {:block/name "localtime", + :block/created-at 1650331181450, + :block/updated-at 1650331181450} + {:block/name "long", + :block/created-at 1650331182927, + :block/updated-at 1650331182927} + {:block/name "lucene", + :block/created-at 1657505769974, + :block/updated-at 1657505769974} + {:block/name "map", + :block/created-at 1650331188282, + :block/updated-at 1650331188282} + {:block/name "mar 28th, 2022", + :block/created-at 1649215173281, + :block/updated-at 1650073748268} + {:block/name "mar 29th, 2022", + :block/created-at 1649215175590, + :block/updated-at 1650073682635} + {:block/name "mar 30th, 2022", + :block/created-at 1649215176050, + :block/updated-at 1650073680281} + {:block/name "mar 31st, 2022", + :block/created-at 1649215176519, + :block/updated-at 1650073677109} + {:block/name "math", + :block/created-at 1649820616108, + :block/updated-at 1649922233529} + {:block/name "max", + :block/created-at 1649921590842, + :block/updated-at 1649921626166} + {:block/name "may 10th, 2022", + :block/created-at 1653189835750, + :block/updated-at 1653189835750} + {:block/name "may 11th, 2022", + :block/created-at 1653189836037, + :block/updated-at 1653189836037} + {:block/name "may 12th, 2022", + :block/created-at 1653189836189, + :block/updated-at 1653189836189} + {:block/name "may 21st, 2022", + :block/created-at 1653533260545, + :block/updated-at 1653533260545} + {:block/name "may 22nd, 2022", + :block/created-at 1653189833879, + :block/updated-at 1653196611289} + {:block/name "may 23rd, 2022", + :block/created-at 1653533260331, + :block/updated-at 1653533260331} + {:block/name "memory", + :block/created-at 1657260300394, + :block/updated-at 1657260300394} + {:block/name "min", + :block/created-at 1649921626164, + :block/updated-at 1649921675028} + {:block/name "mq是什么 你用过哪个 怎么配置的", + :block/created-at 1657157575742, + :block/updated-at 1657157575742} + {:block/name "mq是如何保证消息不丢失的", + :block/created-at 1657157575710, + :block/updated-at 1657157575710} + {:block/name "mq的工作原理", + :block/created-at 1657157575712, + :block/updated-at 1657157575712} + {:block/name "mybatis", + :block/created-at 1653189836188, + :block/updated-at 1653189836188} + {:block/name "mybatisplus", + :block/created-at 1658285370864, + :block/updated-at 1658285370864} + {:block/name "mybatis和mybatisplus 你在项目中,哪个用的较多", + :block/created-at 1657157575925, + :block/updated-at 1657157575925} + {:block/name "mybatis如何防止sql注入", + :block/created-at 1657157575535, + :block/updated-at 1657157575535} + {:block/name "mybatis的一二级缓存是什么样的", + :block/created-at 1657157575529, + :block/updated-at 1657157575529} + {:block/name "mybatis的实现原理", + :block/created-at 1657157575523, + :block/updated-at 1657157575523} + {:block/name "mybatis级联的配置", + :block/created-at 1657157575526, + :block/updated-at 1657157575526} + {:block/name "mybits的缺点有哪些", + :block/created-at 1657157575533, + :block/updated-at 1657157575533} + {:block/name "myisam", + :block/created-at 1657260300391, + :block/updated-at 1657260300391} + {:block/name "mysql", + :block/created-at 1653189835123, + :block/updated-at 1653189835123} + {:block/name "mysql中存储引擎innodb,myisam的区别在哪里", + :block/created-at 1657157575514, + :block/updated-at 1657157575514} + {:block/name "mysql中锁机制", + :block/created-at 1657157575516, + :block/updated-at 1657157575516} + {:block/name "mysql数据库的my.ini文件中可以配置什么参数", + :block/created-at 1657157575518, + :block/updated-at 1657157575518} + {:block/name "mysql数据库索引是用什么数据结构存储的", + :block/created-at 1657157575455, + :block/updated-at 1657157575455} + {:block/name "mysql的ini文件,都有些参数可以配置", + :block/created-at 1657157575923, + :block/updated-at 1657157575923} + {:block/name "nacos 与 eureka的区别", + :block/created-at 1657157575847, + :block/updated-at 1657157575847} + {:block/name "nanatime", + :block/created-at 1649917202891, + :block/updated-at 1649917272720} + {:block/name "native", + :block/created-at 1650331207792, + :block/updated-at 1650331207792} + {:block/name "new", + :block/created-at 1649403626648, + :block/updated-at 1649403626648} + {:block/name "nextint", + :block/created-at 1649922298235, + :block/updated-at 1649922333932} + {:block/name "nginx反向代理原理", + :block/created-at 1657157575820, + :block/updated-at 1657157575820} + {:block/name "nginx服务器", + :block/created-at 1657157570492, + :block/updated-at 1657157570492} + {:block/name "nginx的负载均衡策略", + :block/created-at 1657157575822, + :block/updated-at 1657157575822} + {:block/name "nginx都配置过什么 如何做负载配置,都哪些负载算法", + :block/created-at 1657157575917, + :block/updated-at 1657157575917} + {:block/name "ngnix代理配置是在哪个文件", + :block/created-at 1657157575919, + :block/updated-at 1657157575919} + {:block/name "node", + :block/created-at 1650352942083, + :block/updated-at 1650352942083} + {:block/name "node.js", + :block/created-at 1658107863813, + :block/updated-at 1658107863813} + {:block/name "now", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "npm", + :block/created-at 1658107863809, + :block/updated-at 1658107863809} + {:block/name "null", + :block/created-at 1649838007282, + :block/updated-at 1649838007282} + {:block/name "object", + :block/created-at 1649821953338, + :block/updated-at 1650080726649} + {:block/name "objectinputstream", + :block/created-at 1650636327636, + :block/updated-at 1650636327636} + {:block/name "objectoutputstream", + :block/created-at 1650636327631, + :block/updated-at 1650636327631} + {:block/name "object类常用api", + :block/created-at 1649820616092, + :block/updated-at 1649832104628} + {:block/name "object类的常见方法都有哪些", + :block/created-at 1657157575602, + :block/updated-at 1657157575602} + {:block/name "openfeign的工作原理,是如何调用服务的", + :block/created-at 1657157575885, + :block/updated-at 1657157575885} + {:block/name "osi", + :block/created-at 1650636324913, + :block/updated-at 1650636324913} + {:block/name "osi七层模型,大概了解么", + :block/created-at 1657157575547, + :block/updated-at 1657157575547} + {:block/name "output", + :block/created-at 1650446894651, + :block/updated-at 1650446894651} + {:block/name "outputstream", + :block/created-at 1650446827925, + :block/updated-at 1650446827925} + {:block/name "package", + :block/created-at 1650331207757, + :block/updated-at 1650331207757} + {:block/name "pascal命名法", + :block/created-at 1650339181951, + :block/updated-at 1650339181951} + {:block/name "path", + :block/created-at 1650331203283, + :block/updated-at 1650331203283} + {:block/name "ping", + :block/created-at 1650636328184, + :block/updated-at 1650636328184} + {:block/name "pow", + :block/created-at 1649921481890, + :block/updated-at 1649921494395} + {:block/name "powerdesigner", + :block/created-at 1658201426767, + :block/updated-at 1658201485625} + {:block/name "printstream", + :block/created-at 1650636327005, + :block/updated-at 1650636327005} + {:block/name "printwrite", + :block/created-at 1650636327001, + :block/updated-at 1650636327001} + {:block/name "private", + :block/created-at 1649405605908, + :block/updated-at 1649405605908} + {:block/name "properties", + :block/created-at 1650538806180, + :block/updated-at 1650538806180} + {:block/name "protected", + :block/created-at 1649405676627, + :block/updated-at 1649405676627} + {:block/name "public", + :block/created-at 1649405555717, + :block/updated-at 1649405555717} + {:block/name "put", + :block/created-at 1650436211914, + :block/updated-at 1650436211914} + {:block/name "putall", + :block/created-at 1650436211920, + :block/updated-at 1650436211920} + {:block/name "quene", + :block/created-at 1650331188279, + :block/updated-at 1650331188279} + {:block/name "rabbitmq", + :block/created-at 1657355562900, + :block/updated-at 1657355562900} + {:block/name "rabbitmq怎么实现订单延迟支付", + :block/created-at 1657157575737, + :block/updated-at 1657157575737} + {:block/name "random", + :block/created-at 1649820616112, + :block/updated-at 1649924607589} + {:block/name "random(long seed)", + :block/created-at 1649924607584, + :block/updated-at 1649924851662} + {:block/name "reader", + :block/created-at 1650636327434, + :block/updated-at 1650636327434} + {:block/name "redis", + :block/created-at 1657157570992, + :block/updated-at 1657244216739} + {:block/name "redis 有哪些功能", + :block/created-at 1657157575762, + :block/updated-at 1657157575762} + {:block/name "redis 都有哪些使用场景", + :block/created-at 1657157575760, + :block/updated-at 1657157575760} + {:block/name "redis主从复制", + :block/created-at 1657260300907, + :block/updated-at 1657260300907} + {:block/name "redis哨兵模式", + :block/created-at 1657260300909, + :block/updated-at 1657260300909} + {:block/name "redis如何保证与数据库的数据一致性问题", + :block/created-at 1657157575786, + :block/updated-at 1657157575786} + {:block/name "redis如何配置rdb", + :block/created-at 1657157575798, + :block/updated-at 1657157575798} + {:block/name "redis持久化机制中aof与rdb区别在哪里", + :block/created-at 1657157575795, + :block/updated-at 1657157575795} + {:block/name "redis支持的数据类型", + :block/created-at 1657157575747, + :block/updated-at 1657157575747} + {:block/name "redis是原子性的吗 是线程安全的吗 多线程还是单线程", + :block/created-at 1657157575768, + :block/updated-at 1657157575768} + {:block/name "redis的5种数据类型,分别的使用场景", + :block/created-at 1657157575790, + :block/updated-at 1657157575790} + {:block/name "redis的分布式锁用过没 描述一下", + :block/created-at 1657157575781, + :block/updated-at 1657157575781} + {:block/name "redis的单线程原理是什么 如果有10个用户同时操作redis,那么redis是否按照先后顺序来处理情况", + :block/created-at 1657157575779, + :block/updated-at 1657157575779} + {:block/name "redis的持久化方式,以及各自的区别,项目中用的哪一种,怎么配置的", + :block/created-at 1657157575749, + :block/updated-at 1657157575749} + {:block/name "redis的特性是哪些,可以用来干嘛", + :block/created-at 1657157575770, + :block/updated-at 1657157575770} + {:block/name "redis设置永不过期也可以解决缓存击穿,为什么还要用分布式锁", + :block/created-at 1657157575784, + :block/updated-at 1657157575784} + {:block/name "redis集群知道么,如何实现", + :block/created-at 1657157575792, + :block/updated-at 1657157575792} + {:block/name "remove", + :block/created-at 1650333533358, + :block/updated-at 1650333533358} + {:block/name "replace", + :block/created-at 1649838588236, + :block/updated-at 1649838619697} + {:block/name "resttemplate", + :block/created-at 1657765252874, + :block/updated-at 1657765252874} + {:block/name "return", + :block/created-at 1650331184814, + :block/updated-at 1650331184814} + {:block/name "reverse", + :block/created-at 1649904667332, + :block/updated-at 1649904675927} + {:block/name "ribbon", + :block/created-at 1659946242378, + :block/updated-at 1659946302052} + {:block/name "round", + :block/created-at 1649921704008, + :block/updated-at 1650080814216} + {:block/name "runtime", + :block/created-at 1649918504012, + :block/updated-at 1649918813803} + {:block/name "runtimeexception", + :block/created-at 1650331187320, + :block/updated-at 1650331187320} + {:block/name "seata是三大核心组件是哪些,他们分别的作用是什么", + :block/created-at 1657157575936, + :block/updated-at 1657157575936} + {:block/name "seata的at模式与tcc模式区别在哪里", + :block/created-at 1657157575938, + :block/updated-at 1657157575938} + {:block/name + "select count(*) ,select count(1),select count(字段) 说一下区别", + :block/created-at 1657157575483, + :block/updated-at 1657157575483} + {:block/name "sep 1st, 2022", + :block/created-at 1662024686868, + :block/updated-at 1662026182311} + {:block/name "serialization", + :block/created-at 1650636327633, + :block/updated-at 1650636327633} + {:block/name "servlet的生命周期", + :block/created-at 1657157575686, + :block/updated-at 1657157575686} + {:block/name "session", + :block/created-at 1658131520703, + :block/updated-at 1658131520703} + {:block/name "set", + :block/created-at 1650331188263, + :block/updated-at 1650356367381} + {:block/name "setcharat", + :block/created-at 1649904278600, + :block/updated-at 1649904278600} + {:block/name "setproperty", + :block/created-at 1650636324584, + :block/updated-at 1650636324584} + {:block/name "setter", + :block/created-at 1649409509939, + :block/updated-at 1649409509939} + {:block/name "shiro的执行流程", + :block/created-at 1657157575704, + :block/updated-at 1657157575704} + {:block/name "short", + :block/created-at 1650331182933, + :block/updated-at 1650331182933} + {:block/name "size", + :block/created-at 1650331180482, + :block/updated-at 1650331180482} + {:block/name "sleep()和wait() 的区别", + :block/created-at 1657157575358, + :block/updated-at 1657157575358} + {:block/name "socket", + :block/created-at 1650608105322, + :block/updated-at 1650617759892} + {:block/name "solr", + :block/created-at 1657505775782, + :block/updated-at 1657505775782} + {:block/name "sort", + :block/created-at 1649907777969, + :block/updated-at 1649908002154} + {:block/name "split", + :block/created-at 1649838172427, + :block/updated-at 1649838310658} + {:block/name "spring", + :block/created-at 1655521605637, + :block/updated-at 1655521624377} + {:block/name "spring cloud", + :block/created-at 1659924448125, + :block/updated-at 1659924483890} + {:block/name "spring data", + :block/created-at 1657157742489, + :block/updated-at 1657157742489} + {:block/name "spring data jpa", + :block/created-at 1657527583378, + :block/updated-at 1657527595831} + {:block/name "spring data redis", + :block/created-at 1657157742306, + :block/updated-at 1657157742306} + {:block/name "spring 事务实现方式有哪些", + :block/created-at 1657157575635, + :block/updated-at 1657157575635} + {:block/name "spring,springmvc,springboot的区别是啥", + :block/created-at 1657157575660, + :block/updated-at 1657157575660} + {:block/name "springboot", + :block/created-at 1657765253053, + :block/updated-at 1657765253053} + {:block/name "springboot主要的配置类有哪些", + :block/created-at 1657157575658, + :block/updated-at 1657157575658} + {:block/name + "springboot在yaml中配置了开发环境配置文件和测试配置文件,有几种方式在不同环境去使用不同的配置文件", + :block/created-at 1657157575664, + :block/updated-at 1657157575664} + {:block/name "springboot如何实现自动配置 原理是什么", + :block/created-at 1657157575653, + :block/updated-at 1657157575653} + {:block/name "springboot的web模块自动集成了tomcat,如何剔除", + :block/created-at 1657157575654, + :block/updated-at 1657157575654} + {:block/name "springboot的优点在哪里", + :block/created-at 1657157575665, + :block/updated-at 1657157575665} + {:block/name "springcloud体系的几大组件", + :block/created-at 1657157575860, + :block/updated-at 1657157575860} + {:block/name "springmvc", + :block/created-at 1657765253081, + :block/updated-at 1657765253081} + {:block/name "springmvc 过滤器 拦截器的使用场景和区别是什么", + :block/created-at 1657157575651, + :block/updated-at 1657157575651} + {:block/name "springmvc框架的工作流程", + :block/created-at 1657157575646, + :block/updated-at 1657157575646} + {:block/name + "spring中bean基本都是单例的,如果一个方法要对bean中的属性值进行修改,这个方法会被多次执行,怎么确保安全", + :block/created-at 1657157575640, + :block/updated-at 1657157575640} + {:block/name "spring中对事务的支持,有哪些方式 你项目中如何处理事务", + :block/created-at 1657157575620, + :block/updated-at 1657157575620} + {:block/name "spring依赖注入的方式有哪些 有区别么", + :block/created-at 1657157575630, + :block/updated-at 1657157575630} + {:block/name "spring实例化组件时,如何设置属性", + :block/created-at 1657157575643, + :block/updated-at 1657157575643} + {:block/name "spring的启动流程是怎么样的", + :block/created-at 1657157575668, + :block/updated-at 1657157575668} + {:block/name "spring的常用注解都有哪些", + :block/created-at 1657157575633, + :block/updated-at 1657157575633} + {:block/name "spring的循环依赖问题,如何解决", + :block/created-at 1657157575618, + :block/updated-at 1657157575618} + {:block/name "spring调用外部接口", + :block/created-at 1657765252221, + :block/updated-at 1657765252221} + {:block/name "sql", + :block/created-at 1653189835129, + :block/updated-at 1653189835129} + {:block/name "sql语句过慢怎么定位问题", + :block/created-at 1657157575462, + :block/updated-at 1657157575462} + {:block/name "startwith", + :block/created-at 1649836170156, + :block/updated-at 1649836257781} + {:block/name "static", + :block/created-at 1649215195551, + :block/updated-at 1649403727225} + {:block/name "strictfp", + :block/created-at 1650331207788, + :block/updated-at 1650331207788} + {:block/name "string", + :block/created-at 1649833808078, + :block/updated-at 1650080514099} + {:block/name "stringbuffer", + :block/created-at 1649820616088, + :block/updated-at 1649906109907} + {:block/name "stringbuilder", + :block/created-at 1649820616084, + :block/updated-at 1650080575528} + {:block/name "string,stringbuffer及stringbuilder的区别", + :block/created-at 1657157575575, + :block/updated-at 1657157575575} + {:block/name "style", + :block/created-at 1653533277503, + :block/updated-at 1653533277503} + {:block/name "substring", + :block/created-at 1649838366083, + :block/updated-at 1649904842698} + {:block/name "super", + :block/created-at 1650331207747, + :block/updated-at 1650331207747} + {:block/name "super()", + :block/created-at 1649679338677, + :block/updated-at 1649679338677} + {:block/name "super关键字", + :block/created-at 1649215195578, + :block/updated-at 1650080218102} + {:block/name "swagger", + :block/created-at 1657765252225, + :block/updated-at 1658196514920} + {:block/name "switch", + :block/created-at 1649215184722, + :block/updated-at 1649215184722} + {:block/name "synchornized", + :block/created-at 1657355656213, + :block/updated-at 1657355656213} + {:block/name "synchronized", + :block/created-at 1649905980486, + :block/updated-at 1657355002659} + {:block/name "synchronized与lock锁的区别", + :block/created-at 1657157575337, + :block/updated-at 1657157575337} + {:block/name "synchronized与乐观锁的区别", + :block/created-at 1657157575347, + :block/updated-at 1657157575347} + {:block/name "system", + :block/created-at 1649820616100, + :block/updated-at 1649918250766} + {:block/name "system.err", + :block/created-at 1649916577715, + :block/updated-at 1649916603046} + {:block/name "system.in", + :block/created-at 1649916547075, + :block/updated-at 1649916547075} + {:block/name "system.out", + :block/created-at 1649916559204, + :block/updated-at 1649916559204} + {:block/name "system/err", + :block/created-at 1649944978196, + :block/updated-at 1649944978196} + {:block/name "tar&gz&zip", + :block/created-at 1657157572047, + :block/updated-at 1657157572047} + {:block/name "tcl", + :block/created-at 1653189837404, + :block/updated-at 1653189837404} + {:block/name "tcp", + :block/created-at 1650608103225, + :block/updated-at 1650611788721} + {:block/name "tcp/ip", + :block/created-at 1650608103212, + :block/updated-at 1650612850629} + {:block/name "tcp与udp在概念上的区别", + :block/created-at 1657157575541, + :block/updated-at 1657157575541} + {:block/name "tcp协议的特点,你能说说吗 具体说说3次握手,4次挥手的过程", + :block/created-at 1657157575546, + :block/updated-at 1657157575546} + {:block/name "this", + :block/created-at 1649215195549, + :block/updated-at 1649408961504} + {:block/name "this()", + :block/created-at 1649408924150, + :block/updated-at 1649648989766} + {:block/name "threadlocal类是什么类", + :block/created-at 1657157575294, + :block/updated-at 1657157575294} + {:block/name "throw", + :block/created-at 1650331184553, + :block/updated-at 1650331184553} + {:block/name "throws", + :block/created-at 1650331184516, + :block/updated-at 1650331184516} + {:block/name "title", + :block/created-at 1653533277505, + :block/updated-at 1653533277505} + {:block/name "tochararry", + :block/created-at 1649836430324, + :block/updated-at 1649836464566} + {:block/name "todo", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "tolowercase", + :block/created-at 1649838914094, + :block/updated-at 1649917413093} + {:block/name "tomcat", + :block/created-at 1657157572485, + :block/updated-at 1657157572485} + {:block/name "tomcat内存溢出在catalina.sh 修改jvm堆内存大小", + :block/created-at 1657157575421, + :block/updated-at 1657157575421} + {:block/name "tomcat如何配置连接池 默认连接数是多少 == 生产环境,tomcat性能比较差,如何调优", + :block/created-at 1657157575687, + :block/updated-at 1657157575687} + {:block/name "tostring", + :block/created-at 1649822298875, + :block/updated-at 1649822298875} + {:block/name "touppercase", + :block/created-at 1649838867053, + :block/updated-at 1649838944147} + {:block/name "transient", + :block/created-at 1650331207786, + :block/updated-at 1650331207786} + {:block/name "treemap", + :block/created-at 1650438734387, + :block/updated-at 1650439533575} + {:block/name "treeset", + :block/created-at 1650331188269, + :block/updated-at 1650440492446} + {:block/name "trim", + :block/created-at 1649838075631, + :block/updated-at 1649838128674} + {:block/name "true", + :block/created-at 1650331207808, + :block/updated-at 1650331207808} + {:block/name "try", + :block/created-at 1650331184558, + :block/updated-at 1650331184558} + {:block/name "try-catch-finally", + :block/created-at 1650331182541, + :block/updated-at 1650331182541} + {:block/name "udp", + :block/created-at 1650636325479, + :block/updated-at 1650636325479} + {:block/name "uml", + :block/created-at 1658201485607, + :block/updated-at 1658201539757} + {:block/name "union 和 union all 的区别是什么", + :block/created-at 1657157575491, + :block/updated-at 1657157575491} + {:block/name "uri", + :block/created-at 1650636326326, + :block/updated-at 1650636326326} + {:block/name "url", + :block/created-at 1650608103138, + :block/updated-at 1650609121270} + {:block/name "uuid", + :block/created-at 1649820616104, + :block/updated-at 1649925973946} + {:block/name "valueof", + :block/created-at 1649839023034, + :block/updated-at 1649839039649} + {:block/name "values", + :block/created-at 1650436211941, + :block/updated-at 1650436211941} + {:block/name "vector", + :block/created-at 1650331188261, + :block/updated-at 1650354490534} + {:block/name "void", + :block/created-at 1650331204976, + :block/updated-at 1650331204976} + {:block/name "volatile", + :block/created-at 1650331207783, + :block/updated-at 1650331207783} + {:block/name "vue", + :block/created-at 1658107864651, + :block/updated-at 1658107864651} + {:block/name "vue-cli", + :block/created-at 1658107864720, + :block/updated-at 1658107864720} + {:block/name "vue-router", + :block/created-at 1658107969191, + :block/updated-at 1658108137401} + {:block/name "vue的生命周期是什么,都有哪些钩子函数", + :block/created-at 1657157575829, + :block/updated-at 1657157575829} + {:block/name "vue都有哪些组件", + :block/created-at 1657157575835, + :block/updated-at 1657157575835} + {:block/name "wait", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "wait() 和notify() 方法的区别", + :block/created-at 1657157575317, + :block/updated-at 1657157575317} + {:block/name "waiting", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "while", + :block/created-at 1650331207767, + :block/updated-at 1650331207767} + {:block/name "while循环", + :block/created-at 1649215184898, + :block/updated-at 1649215184898} + {:block/name "windows快捷键", + :block/created-at 1649215185055, + :block/updated-at 1649215185055} + {:block/name "xml", + :block/created-at 1653189836034, + :block/updated-at 1653189836034} + {:block/name "xml与json之间的区别", + :block/created-at 1657157575680, + :block/updated-at 1657157575680} + {:block/name "yield() 与 join() 方法的区别", + :block/created-at 1657157575367, + :block/updated-at 1657157575367} + {:block/name "七大设计原则", + :block/created-at 1657519389489, + :block/updated-at 1657519502888} + {:block/name "三元运算符", + :block/created-at 1649215182040, + :block/updated-at 1649215182040} + {:block/name "三层架构是哪三层 具体说说,你知道它们分别对应的架构模式采用的是什么么", + :block/created-at 1657157575988, + :block/updated-at 1657157575988} + {:block/name "下标", + :block/created-at 1649835657619, + :block/updated-at 1649835657619} + {:block/name "业务对象", + :block/created-at 1649647567279, + :block/updated-at 1649647617004} + {:block/name "为什么使用同步或锁,就可以让多线程解决线程安全问题", + :block/created-at 1657157575302, + :block/updated-at 1657157575302} + {:block/name "为什么要使用微服务,它的优缺点", + :block/created-at 1657157575896, + :block/updated-at 1657157575896} + {:block/name "为什么要用redis不用map", + :block/created-at 1657157575766, + :block/updated-at 1657157575766} + {:block/name "为什么要用多线程", + :block/created-at 1657157575289, + :block/updated-at 1657157575289} + {:block/name "为什么选择mysql5.7,而不用5.5 5.6", + :block/created-at 1657157575437, + :block/updated-at 1657157575437} + {:block/name "为什么选择seata来处理分布式事务", + :block/created-at 1657157575852, + :block/updated-at 1657157575852} + {:block/name "乐观锁", + :block/created-at 1657260300380, + :block/updated-at 1657260300380} + {:block/name "了解网关么,网关的作用是什么,你都在网关中配置过什么内容", + :block/created-at 1657157575911, + :block/updated-at 1657157575911} + {:block/name "事务", + :block/created-at 1657260301817, + :block/updated-at 1657260301817} + {:block/name "事务在什么情况下会失效", + :block/created-at 1657157575457, + :block/updated-at 1657174921581} + {:block/name "二叉查找法", + :block/created-at 1649908349192, + :block/updated-at 1649908349192} + {:block/name "二叉树", + :block/created-at 1650436212532, + :block/updated-at 1650436212532} + {:block/name "二进制", + :block/created-at 1650331205815, + :block/updated-at 1650331205815} + {:block/name "互联网企业面试题", + :block/created-at 1650621154774, + :block/updated-at 1650621392359} + {:block/name "交集", + :block/created-at 1650442649580, + :block/updated-at 1650442649580} + {:block/name "产品需求文档", + :block/created-at 1659689882388, + :block/updated-at 1659689930351} + {:block/name "京东万象", + :block/created-at 1657765252872, + :block/updated-at 1657765252872} + {:block/name "什么是2阶段提交,seata是如何做2阶段提交的", + :block/created-at 1657157575934, + :block/updated-at 1657157575934} + {:block/name "什么是atomicinteger", + :block/created-at 1657157575373, + :block/updated-at 1657157575373} + {:block/name "什么是java的反射", + :block/created-at 1657157575585, + :block/updated-at 1657157575585} + {:block/name "什么是socket编程", + :block/created-at 1657157575538, + :block/updated-at 1657157575538} + {:block/name "什么是sql注入,如何防止", + :block/created-at 1657157575501, + :block/updated-at 1657157575501} + {:block/name "什么是volatile,它的作用是什么", + :block/created-at 1657157575370, + :block/updated-at 1657157575370} + {:block/name "什么是分布式事务,项目中哪些地方遇到分布式事务", + :block/created-at 1657157575931, + :block/updated-at 1657157575931} + {:block/name "什么是反射", + :block/created-at 1657157575578, + :block/updated-at 1657157575578} + {:block/name "什么是同步代码块", + :block/created-at 1657157575308, + :block/updated-at 1657157575308} + {:block/name "什么是多线程死锁", + :block/created-at 1657157575316, + :block/updated-at 1657157575316} + {:block/name "什么是守护线程,如何做到", + :block/created-at 1657157575363, + :block/updated-at 1657157575363} + {:block/name "什么是接口幂等性,如何保证接口幂等性操作", + :block/created-at 1657157575744, + :block/updated-at 1657157575744} + {:block/name "什么是数据库回表,如何避免回表查询", + :block/created-at 1657157575439, + :block/updated-at 1657157575439} + {:block/name "什么是线程同步", + :block/created-at 1657157575305, + :block/updated-at 1657157575305} + {:block/name "什么是线程安全", + :block/created-at 1657157575299, + :block/updated-at 1657157575299} + {:block/name "什么是线程池它的作用是什么", + :block/created-at 1657157575343, + :block/updated-at 1657157575343} + {:block/name "什么是聚簇索引,什么是非聚簇索引", + :block/created-at 1657157575489, + :block/updated-at 1657157575489} + {:block/name "什么是虚拟机参数配置 你是否配置过 在哪里配置", + :block/created-at 1657157575395, + :block/updated-at 1657157575395} + {:block/name "什么是设计模式,有多少个", + :block/created-at 1657157575550, + :block/updated-at 1657157575550} + {:block/name "介绍一下spring,springboot,springcloud", + :block/created-at 1657157575882, + :block/updated-at 1657157575882} + {:block/name "介绍一下你的项目aop日志功能如何实现的", + :block/created-at 1657157575626, + :block/updated-at 1657157575626} + {:block/name "代理设计模式中,静态代理和动态代理的区别", + :block/created-at 1657157575555, + :block/updated-at 1657157575555} + {:block/name "会议层", + :block/created-at 1650636324905, + :block/updated-at 1650636324905} + {:block/name "传参", + :block/created-at 1649381373549, + :block/updated-at 1650079888314} + {:block/name "传输层", + :block/created-at 1650636324906, + :block/updated-at 1650636324906} + {:block/name "位运算符", + :block/created-at 1649215185978, + :block/updated-at 1649663069403} + {:block/name "低耦合", + :block/created-at 1649659961033, + :block/updated-at 1649660035488} + {:block/name "你上个项目用的springboot版本是那个版本的", + :block/created-at 1657157575657, + :block/updated-at 1657157575657} + {:block/name "你们开发规范是什么,具体开发流程是什么,需求分析谁做,原型设计怎么来的", + :block/created-at 1657157575971, + :block/updated-at 1657157575971} + {:block/name "你们通过哪些手段处理系统的高并发问题", + :block/created-at 1657157575842, + :block/updated-at 1657157575842} + {:block/name "你们项目上线前会在哪里测试 怎么部署的 多个环境你该怎么设置", + :block/created-at 1657157575983, + :block/updated-at 1657157575983} + {:block/name "你们项目中,使用的什么 数据交换格式", + :block/created-at 1657157575676, + :block/updated-at 1657157575676} + {:block/name "你在项目中遇到的最大问题是什么 如何解决的", + :block/created-at 1657157575952, + :block/updated-at 1657157575952} + {:block/name "你对restful架构风格是如何理解的 平时都是怎么样的", + :block/created-at 1657157575700, + :block/updated-at 1657157575700} + {:block/name "你是怎么创建线程池的", + :block/created-at 1657157575348, + :block/updated-at 1657157575348} + {:block/name "你熟悉秒杀流程 那么秒杀如何保证数据一致性", + :block/created-at 1657157575980, + :block/updated-at 1657157575980} + {:block/name "你觉得springcloud相比传统的springmvc有什么优势", + :block/created-at 1657157575868, + :block/updated-at 1657157575868} + {:block/name "你都知道哪些锁", + :block/created-at 1657157575376, + :block/updated-at 1657157575376} + {:block/name "你项目中的哪些地方使用到多线程", + :block/created-at 1657157575297, + :block/updated-at 1657157575297} + {:block/name "使用的redis是集群的嘛 有多少个节点,采用的是那种集群方案", + :block/created-at 1657157575754, + :block/updated-at 1657157575754} + {:block/name "假如1个接口的qps只有10,超过10会怎样 如何解决", + :block/created-at 1657157575960, + :block/updated-at 1657157575960} + {:block/name "假设你redis里面有9个商品,我现在有10人来买,怎么防止超卖问题", + :block/created-at 1657157575776, + :block/updated-at 1657157575776} + {:block/name "做集群的时候事务怎么处理", + :block/created-at 1657157575874, + :block/updated-at 1657157575874} + {:block/name "健壮性", + :block/created-at 1650331183908, + :block/updated-at 1650331183908} + {:block/name "元空间", + :block/created-at 1649399132284, + :block/updated-at 1649399257832} + {:block/name "元素", + :block/created-at 1653533260526, + :block/updated-at 1653533260526} + {:block/name "兄弟类", + :block/created-at 1650350376131, + :block/updated-at 1650350397930} + {:block/name "全局变量", + :block/created-at 1649215186150, + :block/updated-at 1649215186150} + {:block/name "全文检索引擎", + :block/created-at 1657505762190, + :block/updated-at 1657505788967} + {:block/name "关于多线程锁升级的理解", + :block/created-at 1657157575330, + :block/updated-at 1657157575330} + {:block/name "关系型数据库", + :block/created-at 1657157573091, + :block/updated-at 1657157573091} + {:block/name "关系运算符", + :block/created-at 1649215186335, + :block/updated-at 1650077043063} + {:block/name "关键字", + :block/created-at 1649820628344, + :block/updated-at 1649820628344} + {:block/name "关闭连接一定能成功吗 怎么保证一定成功关闭连接", + :block/created-at 1657157575504, + :block/updated-at 1657157575504} + {:block/name "其它功能流", + :block/created-at 1650608103075, + :block/updated-at 1650608103075} + {:block/name "内存模型", + :block/created-at 1649399463813, + :block/updated-at 1649399463813} + {:block/name "内存泄漏与内存溢出的区别", + :block/created-at 1657157575422, + :block/updated-at 1657157575422} + {:block/name "内存溢出你是咋解决的", + :block/created-at 1657157575417, + :block/updated-at 1657157575417} + {:block/name "内部类", + :block/created-at 1650350298123, + :block/updated-at 1650350493994} + {:block/name "冒泡排序", + :block/created-at 1649228634628, + :block/updated-at 1649228634628} + {:block/name "写个时间复杂度为o(n)的算法,找到一个数列第二大的数", + :block/created-at 1657157575229, + :block/updated-at 1657157575229} + {:block/name "分布式", + :block/created-at 1650331202485, + :block/updated-at 1650331202485} + {:block/name "分布式事务的两个理论特性 是什么", + :block/created-at 1657157575944, + :block/updated-at 1657157575944} + {:block/name "分布式事务的原理", + :block/created-at 1657157575850, + :block/updated-at 1657157575850} + {:block/name "分布式锁的目的", + :block/created-at 1657157575765, + :block/updated-at 1657157575765} + {:block/name "分布式高并发下的订单id是如何生成的", + :block/created-at 1657157575879, + :block/updated-at 1657157575879} + {:block/name "分析hashmap为什么线程不安全", + :block/created-at 1657157575265, + :block/updated-at 1657157575265} + {:block/name "前后端分离", + :block/created-at 1657765253330, + :block/updated-at 1657783793654} + {:block/name "动态代理中jdk代理和cglib代理区别 代理模式,在项目中哪些地方有应用", + :block/created-at 1657157575557, + :block/updated-at 1657157575557} + {:block/name "动态代理模式中jdk与cglib的区别", + :block/created-at 1657157575616, + :block/updated-at 1657157575616} + {:block/name "动态多态", + :block/created-at 1649820620314, + :block/updated-at 1649820620314} + {:block/name "动态方法", + :block/created-at 1649402650831, + :block/updated-at 1649402650831} + {:block/name "包装", + :block/created-at 1649406861138, + :block/updated-at 1649406861138} + {:block/name "包装类", + :block/created-at 1650002701247, + :block/updated-at 1650073601893} + {:block/name "匿名内部类", + :block/created-at 1650350273077, + :block/updated-at 1650352725395} + {:block/name "十六进制", + :block/created-at 1650331208081, + :block/updated-at 1650331208081} + {:block/name "协议", + :block/created-at 1650636326492, + :block/updated-at 1650636326492} + {:block/name "单例设计模式,你会手写么 在项目中哪些地方有应用", + :block/created-at 1657157575552, + :block/updated-at 1657157575552} + {:block/name "单分支", + :block/created-at 1649215182033, + :block/updated-at 1649215182033} + {:block/name "单点登录的实现原理", + :block/created-at 1657157575964, + :block/updated-at 1657157575964} + {:block/name "单精度浮点", + :block/created-at 1649215186658, + :block/updated-at 1649215186658} + {:block/name "原码", + :block/created-at 1649215186785, + :block/updated-at 1649215186785} + {:block/name "去重", + :block/created-at 1650436211942, + :block/updated-at 1650436211942} + {:block/name "参数", + :block/created-at 1650331185166, + :block/updated-at 1650331185166} + {:block/name "双精度浮点", + :block/created-at 1649215186923, + :block/updated-at 1649215186923} + {:block/name "反射", + :block/created-at 1653189835576, + :block/updated-at 1653189835576} + {:block/name "反射操作私有属性时,需要注意什么", + :block/created-at 1657157575589, + :block/updated-at 1657157575589} + {:block/name "反射获得class对象的3种方式", + :block/created-at 1657157575588, + :block/updated-at 1657157575588} + {:block/name "反序列化", + :block/created-at 1650636327634, + :block/updated-at 1650636327634} + {:block/name "反码", + :block/created-at 1649215186779, + :block/updated-at 1649215186779} + {:block/name "变量", + :block/created-at 1649215187261, + :block/updated-at 1650078772380} + {:block/name "可不可以配置两个数据源 比如一个mysql和一个oracle 在哪里配置,怎么配置", + :block/created-at 1657157575662, + :block/updated-at 1657157575662} + {:block/name "可维护性", + :block/created-at 1650331208608, + :block/updated-at 1650331208608} + {:block/name "同步与异步的区别", + :block/created-at 1657157575319, + :block/updated-at 1657157575319} + {:block/name "同步代码块和同步函数之间有什么区别", + :block/created-at 1657157575313, + :block/updated-at 1657157575313} + {:block/name "同步函数", + :block/created-at 1657606373094, + :block/updated-at 1657606373094} + {:block/name "同步函数和静态同步函数之间有什么区别", + :block/created-at 1657157575314, + :block/updated-at 1657157575314} + {:block/name "同步方法与同步块的区别", + :block/created-at 1657157575341, + :block/updated-at 1657157575341} + {:block/name "后台线程", + :block/created-at 1657357099481, + :block/updated-at 1657357099481} + {:block/name "向上转型", + :block/created-at 1649820616060, + :block/updated-at 1649820616060} + {:block/name "向上转型与向下转型", + :block/created-at 1649215195594, + :block/updated-at 1649215195594} + {:block/name "向下转型", + :block/created-at 1649820616065, + :block/updated-at 1649820616065} + {:block/name "周考1", + :block/created-at 1649215177134, + :block/updated-at 1649226998173} + {:block/name "周考2", + :block/created-at 1650089014547, + :block/updated-at 1650101191192} + {:block/name "命令行参数", + :block/created-at 1649046748645, + :block/updated-at 1649046748645} + {:block/name "四舍五入", + :block/created-at 1650331201450, + :block/updated-at 1650331201450} + {:block/name "在http请求中如何存储客户信息(分如何获取和如何存储)", + :block/created-at 1657157575673, + :block/updated-at 1657157575673} + {:block/name "在使用git的过程中,遇到冲突,你是如何处理的", + :block/created-at 1657157575962, + :block/updated-at 1657157575962} + {:block/name "在生成订单过程中,如果mysql崩了,怎么办", + :block/created-at 1657157575991, + :block/updated-at 1657157575991} + {:block/name "在请求中如何存储客户信息", + :block/created-at 1657157575689, + :block/updated-at 1657157575689} + {:block/name "地址值", + :block/created-at 1649666713370, + :block/updated-at 1649666713370} + {:block/name "域名", + :block/created-at 1650636326492, + :block/updated-at 1650636326492} + {:block/name "基本数据类型", + :block/created-at 1649215187877, + :block/updated-at 1650077326802} + {:block/name "堆", + :block/created-at 1649215189414, + :block/updated-at 1649399208650} + {:block/name "复合赋值运算符", + :block/created-at 1649215188132, + :block/updated-at 1649215188132} + {:block/name "复用性", + :block/created-at 1650331208607, + :block/updated-at 1650331208607} + {:block/name "多分支", + :block/created-at 1649215182052, + :block/updated-at 1649215182052} + {:block/name "多态", + :block/created-at 1649046830883, + :block/updated-at 1650079373950} + {:block/name "多态集合", + :block/created-at 1649820624999, + :block/updated-at 1649820624999} + {:block/name "多线程", + :block/created-at 1650331202489, + :block/updated-at 1657347648538} + {:block/name "多线程的创建", + :block/created-at 1657347689818, + :block/updated-at 1657355752231} + {:block/name "多线程的创建方式有哪些", + :block/created-at 1657157575291, + :block/updated-at 1657157575291} + {:block/name "多维数组", + :block/created-at 1648805231475, + :block/updated-at 1649137033746} + {:block/name "多维数组 1", + :block/created-at 1649215188358, + :block/updated-at 1649215188358} + {:block/name "大佬跟你讲的东西,你怎么判断正不正确", + :block/created-at 1657157575985, + :block/updated-at 1657157575985} + {:block/name "大驼峰", + :block/created-at 1650331206734, + :block/updated-at 1650339181952} + {:block/name "如何使用jdk1.8新特性从商品集合中单独把某一个字段(比如id)拿出来当做一个集合", + :block/created-at 1657157573879, + :block/updated-at 1657157573879} + {:block/name "如何保证与数据库的双写一致性", + :block/created-at 1657157575751, + :block/updated-at 1657157575751} + {:block/name "如何做到集合变遍历,边删除", + :block/created-at 1657157575209, + :block/updated-at 1657157575209} + {:block/name "如何停止一根线程", + :block/created-at 1657157575360, + :block/updated-at 1657157575360} + {:block/name "如何克隆一个对象 浅克隆与深克隆区别在哪里", + :block/created-at 1657157575562, + :block/updated-at 1657157575562} + {:block/name "如何获得map集合中的所有的key", + :block/created-at 1657157575235, + :block/updated-at 1657157575235} + {:block/name "如何解决多线程间线程安全问题", + :block/created-at 1657157575301, + :block/updated-at 1657157575301} + {:block/name "如何解决消息延时及过期失效的问题 如果有几百万条消息持续积压几小时,说说怎么解决", + :block/created-at 1657157575723, + :block/updated-at 1657157575723} + {:block/name "如何设置最大堆空间大小", + :block/created-at 1657157575406, + :block/updated-at 1657157575406} + {:block/name "如何跳出多重循环", + :block/created-at 1657157575576, + :block/updated-at 1657157575576} + {:block/name "如何防止后端接口被攻击", + :block/created-at 1657157575965, + :block/updated-at 1657157575965} + {:block/name "如何防止表单重复提交", + :block/created-at 1657157575690, + :block/updated-at 1657157575690} + {:block/name "如果你在linux部署的项目出现报错时,你需要定位报错信息在哪怎么做", + :block/created-at 1657157575817, + :block/updated-at 1657157575817} + {:block/name "如果保证用户一定能消费成功", + :block/created-at 1657157575714, + :block/updated-at 1657157575714} + {:block/name "如果给你一个功能,你觉得从数据库设计开始的思路是什么", + :block/created-at 1657157575473, + :block/updated-at 1657157575473} + {:block/name "如果让你自己写个mq服务器,你的思路是什么 需要使用到什么技术", + :block/created-at 1657157575721, + :block/updated-at 1657157575721} + {:block/name "如果运行结果跟预期不一样,但是代码没报错,怎么处理", + :block/created-at 1657157575606, + :block/updated-at 1657157575606} + {:block/name "字符串", + :block/created-at 1649820616075, + :block/updated-at 1649833834370} + {:block/name "字符串概述", + :block/created-at 1649833724519, + :block/updated-at 1649841818319} + {:block/name "字符流", + :block/created-at 1650446718713, + :block/updated-at 1650446718713} + {:block/name "字符类型", + :block/created-at 1649215187844, + :block/updated-at 1649215187844} + {:block/name "字节", + :block/created-at 1649215187866, + :block/updated-at 1649215187866} + {:block/name "字节流", + :block/created-at 1650446706402, + :block/updated-at 1650448816615} + {:block/name "字节码", + :block/created-at 1650331201914, + :block/updated-at 1650331201914} + {:block/name "字节类型", + :block/created-at 1649215187869, + :block/updated-at 1649215187869} + {:block/name "字面量常量", + :block/created-at 1649215187254, + :block/updated-at 1649215187254} + {:block/name "守护线程", + :block/created-at 1657355378263, + :block/updated-at 1657357234059} + {:block/name "守护线程是什么如何实现", + :block/created-at 1657157575383, + :block/updated-at 1657157575383} + {:block/name "定时器", + :block/created-at 1657355360682, + :block/updated-at 1657356817637} + {:block/name "实体对象", + :block/created-at 1649647584297, + :block/updated-at 1649647652117} + {:block/name "实体层", + :block/created-at 1650636324909, + :block/updated-at 1650636324909} + {:block/name "实例代码块", + :block/created-at 1649821030020, + :block/updated-at 1649821214883} + {:block/name "实参", + :block/created-at 1650331204968, + :block/updated-at 1650331204968} + {:block/name "对springioc的理解", + :block/created-at 1657157575613, + :block/updated-at 1657157575613} + {:block/name "对象", + :block/created-at 1649401757444, + :block/updated-at 1649401757444} + {:block/name "对象的内存模型分析", + :block/created-at 1649215195527, + :block/updated-at 1649399463815} + {:block/name "封装", + :block/created-at 1649406721749, + :block/updated-at 1649407188068} + {:block/name "小驼峰", + :block/created-at 1650331207818, + :block/updated-at 1650331207818} + {:block/name "局部变量", + :block/created-at 1649215186146, + :block/updated-at 1649215186146} + {:block/name "属性", + :block/created-at 1650331208414, + :block/updated-at 1650331208414} + {:block/name "属性和行为", + :block/created-at 1649385007333, + :block/updated-at 1649389551545} + {:block/name "嵌套判断", + :block/created-at 1649215182046, + :block/updated-at 1649215182046} + {:block/name "嵌套循环", + :block/created-at 1649215189166, + :block/updated-at 1649215189166} + {:block/name "工业园区智慧管理系统", + :block/created-at 1658284629205, + :block/updated-at 1658286392652} + {:block/name "工厂设计模式的作用 简单工厂会写不 在项目中哪些地方有应用", + :block/created-at 1657157575560, + :block/updated-at 1657157575560} + {:block/name "差集", + :block/created-at 1650442668953, + :block/updated-at 1650442668953} + {:block/name "布尔类型", + :block/created-at 1649215187847, + :block/updated-at 1649215187847} + {:block/name "常用操作字符串有哪些类 stringbuffer,stringbuilder", + :block/created-at 1657157575574, + :block/updated-at 1657157575574} + {:block/name "常量", + :block/created-at 1649820619444, + :block/updated-at 1649820619444} + {:block/name "幂等性问题会出现在哪些地方", + :block/created-at 1657157575746, + :block/updated-at 1657157575746} + {:block/name "并发与并行的区别", + :block/created-at 1657157575329, + :block/updated-at 1657157575329} + {:block/name "并集", + :block/created-at 1650442656240, + :block/updated-at 1650442656240} + {:block/name "序列化", + :block/created-at 1650538806196, + :block/updated-at 1650538806196} + {:block/name "应用层", + :block/created-at 1650636324903, + :block/updated-at 1650636324903} + {:block/name "延迟队列如何实现", + :block/created-at 1657157575719, + :block/updated-at 1657157575719} + {:block/name "延迟队列,死信队列的区别是什么", + :block/created-at 1657157575715, + :block/updated-at 1657157575715} + {:block/name "异常", + :block/created-at 1650252016634, + :block/updated-at 1650263426165} + {:block/name "异常抛出", + :block/created-at 1650331179423, + :block/updated-at 1650331179423} + {:block/name "异常捕获", + :block/created-at 1650263084206, + :block/updated-at 1650264380594} + {:block/name "异常的分类,如何自定义异常", + :block/created-at 1657157575565, + :block/updated-at 1657157575565} + {:block/name "引用数据类型", + :block/created-at 1649215187835, + :block/updated-at 1649215187835} + {:block/name "强制转换", + :block/created-at 1649215189580, + :block/updated-at 1649215189580} + {:block/name "强类型", + :block/created-at 1650331205809, + :block/updated-at 1650331205809} + {:block/name + "当application.properties,application.yaml,bootstrap.yaml文件同时存在的情况下,它们的执行顺序是怎样的", + :block/created-at 1657157575667, + :block/updated-at 1657157575667} + {:block/name "形参", + :block/created-at 1650331204966, + :block/updated-at 1650331204966} + {:block/name "微服务的搭建步骤", + :block/created-at 1657157575898, + :block/updated-at 1657157575898} + {:block/name "微服务组件都用过哪些,你们微服务的业务逻辑是什么样子的", + :block/created-at 1657157575901, + :block/updated-at 1657157575901} + {:block/name "怎么理解过程一致性和结果一致性", + :block/created-at 1657157575334, + :block/updated-at 1657157575334} + {:block/name "怎么用sql语句复制另一张表", + :block/created-at 1657157575458, + :block/updated-at 1657157575458} + {:block/name "总结", + :block/created-at 1649215189906, + :block/updated-at 1649215189906} + {:block/name "悲观锁", + :block/created-at 1657260301759, + :block/updated-at 1657260301759} + {:block/name "抽象", + :block/created-at 1649406808852, + :block/updated-at 1649406808852} + {:block/name "抽象方法", + :block/created-at 1649820626952, + :block/updated-at 1649820626952} + {:block/name "抽象类", + :block/created-at 1648863179646, + :block/updated-at 1650079417572} + {:block/name "抽象类可以继承实体类么", + :block/created-at 1657157575590, + :block/updated-at 1657157575590} + {:block/name "抽象类可以继承接口么", + :block/created-at 1657157575592, + :block/updated-at 1657157575592} + {:block/name "指针", + :block/created-at 1650331202481, + :block/updated-at 1650331202481} + {:block/name "排序", + :block/created-at 1650337048323, + :block/updated-at 1650337083335} + {:block/name "接口", + :block/created-at 1648863179646, + :block/updated-at 1650080392465} + {:block/name "接口可以继承抽象类么", + :block/created-at 1657157575594, + :block/updated-at 1657157575594} + {:block/name "敏捷开发", + :block/created-at 1658221213673, + :block/updated-at 1658222237989} + {:block/name "数据库", + :block/created-at 1653189835121, + :block/updated-at 1657071903389} + {:block/name "数据库中btree 与hash索引的区别", + :block/created-at 1657157575438, + :block/updated-at 1657157575438} + {:block/name "数据库中两张表如何要联合查询,要如何实现", + :block/created-at 1657157575454, + :block/updated-at 1657157575454} + {:block/name "数据库中哪些字段适合加索引 ,哪些不适合加索引", + :block/created-at 1657157575487, + :block/updated-at 1657157575487} + {:block/name "数据库中复合索引的字段中可以有null值吗", + :block/created-at 1657157575517, + :block/updated-at 1657157575517} + {:block/name "数据库中如何快速插入100w级数据", + :block/created-at 1657157575446, + :block/updated-at 1657157575446} + {:block/name "数据库引擎", + :block/created-at 1657260300387, + :block/updated-at 1657260300387} + {:block/name "数据库用户id主键策略", + :block/created-at 1657157575478, + :block/updated-at 1657157575478} + {:block/name "数据库的sql语句如何加锁", + :block/created-at 1657157575486, + :block/updated-at 1657157575486} + {:block/name "数据库的执行计划", + :block/created-at 1657157575480, + :block/updated-at 1657157575480} + {:block/name "数据库管理系统", + :block/created-at 1653189835126, + :block/updated-at 1653189835126} + {:block/name "数据库连表查询,左外联,右外联,内联查的区别", + :block/created-at 1657157575460, + :block/updated-at 1657157575460} + {:block/name "数据链路层", + :block/created-at 1650636324908, + :block/updated-at 1650636324908} + {:block/name "数组", + :block/created-at 1649833963908, + :block/updated-at 1649833963908} + {:block/name "数组内存分析", + :block/created-at 1649215190196, + :block/updated-at 1650079736256} + {:block/name "数组基础", + :block/created-at 1649215190330, + :block/updated-at 1649215190330} + {:block/name "数组排序", + :block/created-at 1649215177500, + :block/updated-at 1650079080188} + {:block/name "数组的排序算法,你都知道哪些请列举并手写一个出来", + :block/created-at 1657157575286, + :block/updated-at 1657157575286} + {:block/name "数组的遍历", + :block/created-at 1648804037791, + :block/updated-at 1649151333734} + {:block/name "数组的遍历 1", + :block/created-at 1649215190634, + :block/updated-at 1649215190634} + {:block/name "数组,链表,哪个查询效率高,为什么高", + :block/created-at 1657157575280, + :block/updated-at 1657157575280} + {:block/name "整型", + :block/created-at 1649215187860, + :block/updated-at 1649215187860} + {:block/name "方法", + :block/created-at 1649046776216, + :block/updated-at 1649046776216} + {:block/name "方法重载", + :block/created-at 1649046797138, + :block/updated-at 1650079956655} + {:block/name "无参构造器", + :block/created-at 1649644942915, + :block/updated-at 1649645765443} + {:block/name "是否写过hashmap的底层,了解过什么", + :block/created-at 1657157575218, + :block/updated-at 1657157575218} + {:block/name "是继承thread类好,还是实现runnable接口好", + :block/created-at 1657157575293, + :block/updated-at 1657157575293} + {:block/name "普通类和抽象类有哪些区别", + :block/created-at 1657157575567, + :block/updated-at 1657157575567} + {:block/name "普通类和抽象类的区别 接口和抽象的区别", + :block/created-at 1657157575572, + :block/updated-at 1657157575572} + {:block/name "最多有过几张表的连表处理", + :block/created-at 1657157575435, + :block/updated-at 1657157575435} + {:block/name "有个数组,如何颠倒所有的元素", + :block/created-at 1657157575270, + :block/updated-at 1657157575270} + {:block/name "有几种方法可以遍历java集合", + :block/created-at 1657157575250, + :block/updated-at 1657157575250} + {:block/name "有参构造器", + :block/created-at 1649644948619, + :block/updated-at 1649645790788} + {:block/name "有哪些地方必须关闭资源", + :block/created-at 1657157575508, + :block/updated-at 1657157575508} + {:block/name "有哪些方法可以防止微服务接口被攻击", + :block/created-at 1657157575929, + :block/updated-at 1657157575929} + {:block/name "有张100w级的表中存在大量的重复数据,如何快速去重", + :block/created-at 1657157575449, + :block/updated-at 1657157575449} + {:block/name "有没有用过断点调试 怎么用的", + :block/created-at 1657157575607, + :block/updated-at 1657157575607} + {:block/name "有没有设计过数据库 数据库三范式讲一下", + :block/created-at 1657157575510, + :block/updated-at 1657157575510} + {:block/name "服务熔断和服务降级,项目是如何运用的", + :block/created-at 1657157575839, + :block/updated-at 1657157575839} + {:block/name "本地方法栈", + :block/created-at 1649399108838, + :block/updated-at 1649399241002} + {:block/name "构造器", + :block/created-at 1649408959734, + :block/updated-at 1650080096401} + {:block/name "标识符", + :block/created-at 1649215191017, + :block/updated-at 1650078659637} + {:block/name "栈", + :block/created-at 1649215189416, + :block/updated-at 1649399161599} + {:block/name "栈溢出你是咋解决的", + :block/created-at 1657157575419, + :block/updated-at 1657157575419} + {:block/name "核心库", + :block/created-at 1650331202511, + :block/updated-at 1650331202511} + {:block/name "格式化输出", + :block/created-at 1649215177497, + :block/updated-at 1650078960342} + {:block/name "模块", + :block/created-at 1649046919359, + :block/updated-at 1649046919359} + {:block/name "正则表达式", + :block/created-at 1650168860290, + :block/updated-at 1650170125153} + {:block/name "死锁", + :block/created-at 1657355365860, + :block/updated-at 1657357066876} + {:block/name "每天1万人访问主页并发量有多少", + :block/created-at 1657157575967, + :block/updated-at 1657157575967} + {:block/name "比较器", + :block/created-at 1650436212562, + :block/updated-at 1650436212562} + {:block/name "汇编语言", + :block/created-at 1650331208980, + :block/updated-at 1650331208980} + {:block/name "汽车租车系统", + :block/created-at 1653189834619, + :block/updated-at 1653189834619} + {:block/name "泛型", + :block/created-at 1650348579392, + :block/updated-at 1650349771720} + {:block/name "泛型接口", + :block/created-at 1650349323498, + :block/updated-at 1650349323498} + {:block/name "泛型擦除", + :block/created-at 1650349480317, + :block/updated-at 1650349480317} + {:block/name "泛型方法", + :block/created-at 1650349227744, + :block/updated-at 1650349227744} + {:block/name "泛型类", + :block/created-at 1650349103584, + :block/updated-at 1650349103584} + {:block/name "注解", + :block/created-at 1649665829804, + :block/updated-at 1649822521079} + {:block/name "测试怎么做的", + :block/created-at 1657157575974, + :block/updated-at 1657157575974} + {:block/name "深圳蜗牛java面试题", + :block/created-at 1657157570485, + :block/updated-at 1657157570485} + {:block/name "瀑布模型", + :block/created-at 1658219533032, + :block/updated-at 1658221101198} + {:block/name "生产环境中应用有问题如何分析问题", + :block/created-at 1657157576000, + :block/updated-at 1657157576000} + {:block/name "生产者消费模式", + :block/created-at 1657355350193, + :block/updated-at 1657355612481} + {:block/name "用过哪些经典的设计模式,谈谈你对它们的理解", + :block/created-at 1657157575957, + :block/updated-at 1657157575957} + {:block/name "用过的linux系统都有哪些 什么版本", + :block/created-at 1657157575812, + :block/updated-at 1657157575812} + {:block/name "知道redis的看门狗机制么,为什么要用到看门狗", + :block/created-at 1657157575789, + :block/updated-at 1657157575789} + {:block/name "知道拦截器么,你项目中哪里使用过拦截器", + :block/created-at 1657157575650, + :block/updated-at 1657157575650} + {:block/name "短整数类型", + :block/created-at 1649215187863, + :block/updated-at 1649215187863} + {:block/name "禅道", + :block/created-at 1658213954707, + :block/updated-at 1658219520580} + {:block/name "科学计数法", + :block/created-at 1650331208078, + :block/updated-at 1650331208078} + {:block/name "程序", + :block/created-at 1649215181739, + :block/updated-at 1649215181739} + {:block/name "程序/注释", + :block/created-at 1649215181732, + :block/updated-at 1649215181732} + {:block/name "程序计数器", + :block/created-at 1649399120357, + :block/updated-at 1649399120357} + {:block/name "空指针", + :block/created-at 1650331206994, + :block/updated-at 1650331206994} + {:block/name "端口", + :block/created-at 1650636326491, + :block/updated-at 1650636326491} + {:block/name "简明知意", + :block/created-at 1650331207819, + :block/updated-at 1650331207819} + {:block/name "算术运算符", + :block/created-at 1649215191819, + :block/updated-at 1649215191819} + {:block/name "类", + :block/created-at 1649659990421, + :block/updated-at 1650080668268} + {:block/name "类和对象的创建", + :block/created-at 1649215195512, + :block/updated-at 1650079672125} + {:block/name "类属性", + :block/created-at 1649403547313, + :block/updated-at 1649403547313} + {:block/name "类方法", + :block/created-at 1649402739095, + :block/updated-at 1649402739095} + {:block/name "索引失效的场景有哪些", + :block/created-at 1657157575484, + :block/updated-at 1657157575484} + {:block/name "红锁是怎么实现的 原理是什么", + :block/created-at 1657157575787, + :block/updated-at 1657157575787} + {:block/name "红黑二叉树", + :block/created-at 1650436211902, + :block/updated-at 1650436211902} + {:block/name "线程同步", + :block/created-at 1657355041266, + :block/updated-at 1657355763088} + {:block/name "线程同步的几个方法", + :block/created-at 1657157575326, + :block/updated-at 1657157575326} + {:block/name "线程安全", + :block/created-at 1657352850687, + :block/updated-at 1657352985845} + {:block/name "线程安全的集合有哪些", + :block/created-at 1657157575207, + :block/updated-at 1657157575207} + {:block/name "线程是如何开始的", + :block/created-at 1657157575380, + :block/updated-at 1657157575380} + {:block/name "线程池", + :block/created-at 1657355740623, + :block/updated-at 1657356696193} + {:block/name "线程池有哪些核心参数", + :block/created-at 1657157575346, + :block/updated-at 1657157575346} + {:block/name "线程状态", + :block/created-at 1657349830643, + :block/updated-at 1657350352498} + {:block/name "线程的原子性是什么", + :block/created-at 1657157575350, + :block/updated-at 1657157575350} + {:block/name "线程的生命周期", + :block/created-at 1657157575323, + :block/updated-at 1657157575323} + {:block/name "组件化开发", + :block/created-at 1657765275462, + :block/updated-at 1657783429270} + {:block/name "给你一个数值类型数组,如何以最快的方式,查找到某一个元素", + :block/created-at 1657157575268, + :block/updated-at 1657157575268} + {:block/name "继承", + :block/created-at 1649046819566, + :block/updated-at 1650079351095} + {:block/name "继承器", + :block/created-at 1650331204697, + :block/updated-at 1650331204697} + {:block/name "继承方式", + :block/created-at 1649215195564, + :block/updated-at 1649662951261} + {:block/name "继承的定义", + :block/created-at 1649215195558, + :block/updated-at 1649659088709} + {:block/name "缓冲流", + :block/created-at 1650538806171, + :block/updated-at 1650538806171} + {:block/name "缓存穿透,击穿,雪崩对应的解决方案是什么", + :block/created-at 1657157575752, + :block/updated-at 1657157575752} + {:block/name "编程语言", + :block/created-at 1649215194715, + :block/updated-at 1650076410315} + {:block/name "编程题,给你一个整数数组,进行排序,输入一个k,从小到大输出k个数", + :block/created-at 1657157575269, + :block/updated-at 1657157575269} + {:block/name "编译", + :block/created-at 1650331201910, + :block/updated-at 1650331201910} + {:block/name "编译器", + :block/created-at 1650331183930, + :block/updated-at 1650331183930} + {:block/name "编译异常", + :block/created-at 1650263198292, + :block/updated-at 1650263198292} + {:block/name "网关是如何找到其他微服务的", + :block/created-at 1657157575914, + :block/updated-at 1657157575914} + {:block/name "网关限流如何配置 限流算法都用过哪些", + :block/created-at 1657157575912, + :block/updated-at 1657157575912} + {:block/name "网关限流时,采用什么技术,使用什么限流算法 咋配置", + :block/created-at 1657157575876, + :block/updated-at 1657157575876} + {:block/name "网络层", + :block/created-at 1650636324906, + :block/updated-at 1650636324906} + {:block/name "网络编程", + :block/created-at 1650608103126, + :block/updated-at 1650608103126} + {:block/name "网络通讯中tcp协议,udp协议的区别", + :block/created-at 1657157575571, + :block/updated-at 1657157575571} + {:block/name "耦合性", + :block/created-at 1649660116366, + :block/updated-at 1649660124613} + {:block/name "联合索引与普通索引的区别在哪里", + :block/created-at 1657157575448, + :block/updated-at 1657157575448} + {:block/name "能详细说下非对称加密的流程吗", + :block/created-at 1657157575996, + :block/updated-at 1657157575996} + {:block/name "自增运算符", + :block/created-at 1649215191827, + :block/updated-at 1649215191827} + {:block/name "自定义常量", + :block/created-at 1649215187256, + :block/updated-at 1649215187256} + {:block/name "自定义异常", + :block/created-at 1650331179429, + :block/updated-at 1650331179429} + {:block/name "自定义排序", + :block/created-at 1650340413624, + :block/updated-at 1650340413624} + {:block/name "自定义标识符", + :block/created-at 1650331207812, + :block/updated-at 1650331207812} + {:block/name "自定义注解", + :block/created-at 1649666262228, + :block/updated-at 1649666262228} + {:block/name "自旋锁的特征", + :block/created-at 1657157575283, + :block/updated-at 1657157575283} + {:block/name "自然排序", + :block/created-at 1650337946967, + :block/updated-at 1650337946967} + {:block/name "行为", + :block/created-at 1650331206123, + :block/updated-at 1650331206123} + {:block/name "补码", + :block/created-at 1649215186781, + :block/updated-at 1649215186781} + {:block/name "表示层", + :block/created-at 1650636324904, + :block/updated-at 1650636324904} + {:block/name "解码", + :block/created-at 1649215178848, + :block/updated-at 1649215178848} + {:block/name "解释", + :block/created-at 1650331201911, + :block/updated-at 1650331201911} + {:block/name "计划驱动", + :block/created-at 1658221207502, + :block/updated-at 1658222160270} + {:block/name "计算机发展历程", + :block/created-at 1649215196670, + :block/updated-at 1650076258486} + {:block/name "计算机基础理论", + :block/created-at 1649215189861, + :block/updated-at 1650076218431} + {:block/name "计算机组成", + :block/created-at 1649215196941, + :block/updated-at 1649215196941} + {:block/name "讲一下mq服务器的推拉模式,你在项目中是如何运用的", + :block/created-at 1657157575730, + :block/updated-at 1657157575730} + {:block/name "讲一下spring cloud 中的服务注册的机制和配置方法", + :block/created-at 1657157575862, + :block/updated-at 1657157575862} + {:block/name "讲一下浅克隆与深克隆", + :block/created-at 1657157575623, + :block/updated-at 1657157575623} + {:block/name "讲下springaop,项目中你是如何应用的", + :block/created-at 1657157575615, + :block/updated-at 1657157575615} + {:block/name "讲讲类的加载过程以及双亲委派机制", + :block/created-at 1657157575569, + :block/updated-at 1657157575569} + {:block/name "设置新生与老年代代参数", + :block/created-at 1657157575414, + :block/updated-at 1657157575414} + {:block/name "设置新生代与老年代优化参数", + :block/created-at 1657157575409, + :block/updated-at 1657157575409} + {:block/name "设计模式", + :block/created-at 1657519565742, + :block/updated-at 1657519706598} + {:block/name "设计模式中,工厂设计模式有啥用 项目中在哪些地方用过", + :block/created-at 1657157575563, + :block/updated-at 1657157575563} + {:block/name "访问修饰符", + :block/created-at 1649385046422, + :block/updated-at 1649407901827} + {:block/name "说一下 acid 是什么", + :block/created-at 1657157575476, + :block/updated-at 1657157575476} + {:block/name "说一下@requestmapping的作用", + :block/created-at 1657157575648, + :block/updated-at 1657157575648} + {:block/name "说一下jdbc在连接数据库的操作上几个步骤", + :block/created-at 1657157575464, + :block/updated-at 1657157575464} + {:block/name "说一下reddis怎么做集群的", + :block/created-at 1657157575757, + :block/updated-at 1657157575757} + {:block/name "说一下事务的隔离级别和事务的传播性质", + :block/created-at 1657157575469, + :block/updated-at 1657157575469} + {:block/name "说一下你熟悉的设计模式", + :block/created-at 1657157575581, + :block/updated-at 1657157575581} + {:block/name "说一下怎么用rabbitmq实现取消订单的用户积分减少的", + :block/created-at 1657157575739, + :block/updated-at 1657157575739} + {:block/name "说一下怎么防止超卖,sql怎么写", + :block/created-at 1657157575471, + :block/updated-at 1657157575471} + {:block/name "说一下熔断器,你怎么用的,代码怎么写的", + :block/created-at 1657157575871, + :block/updated-at 1657157575871} + {:block/name "说说nacos吧", + :block/created-at 1657157575949, + :block/updated-at 1657157575949} + {:block/name "说说你对java的gc回收机制的理解", + :block/created-at 1657157575431, + :block/updated-at 1657157575431} + {:block/name "说说你对线程的3个特性(原子,可见,有序)的理解", + :block/created-at 1657157575352, + :block/updated-at 1657157575352} + {:block/name "说说你常用的几个springboot注解", + :block/created-at 1657157575655, + :block/updated-at 1657157575655} + {:block/name "说说项目开发流程", + :block/created-at 1657157575855, + :block/updated-at 1657157575855} + {:block/name "请说一下seata的执行流程", + :block/created-at 1657157575946, + :block/updated-at 1657157575946} + {:block/name "请说下java的内存模型,也就是jmm", + :block/created-at 1657157575387, + :block/updated-at 1657157575387} + {:block/name "请说下jvm的运行时的内存结构", + :block/created-at 1657157575390, + :block/updated-at 1657157575390} + {:block/name "请说说rabbitmq的优缺点", + :block/created-at 1657157575718, + :block/updated-at 1657157575718} + {:block/name "请说说消息队列的工作模式有哪些", + :block/created-at 1657157575707, + :block/updated-at 1657157575707} + {:block/name "调试", + :block/created-at 1649381375280, + :block/updated-at 1650079906511} + {:block/name "谈谈bio,nio,aio的区别是什么,你都用过哪些io框架", + :block/created-at 1657157575600, + :block/updated-at 1657157575600} + {:block/name "谈谈mvc架构与mvvm架构的区别在哪里", + :block/created-at 1657157575832, + :block/updated-at 1657157575832} + {:block/name "谈谈你对spring bean的生命周期的理解", + :block/created-at 1657157575619, + :block/updated-at 1657157575619} + {:block/name "谈谈多线程并发", + :block/created-at 1657157575584, + :block/updated-at 1657157575584} + {:block/name "谈谈面向对象", + :block/created-at 1657157575583, + :block/updated-at 1657157575583} + {:block/name "负载均衡怎么实现", + :block/created-at 1657157575968, + :block/updated-at 1657157575968} + {:block/name "跨域", + :block/created-at 1658107900017, + :block/updated-at 1658108267180} + {:block/name "跨平台", + :block/created-at 1650331201913, + :block/updated-at 1650331201913} + {:block/name "转码", + :block/created-at 1649215178845, + :block/updated-at 1649215178845} + {:block/name "软硬件", + :block/created-at 1649215196948, + :block/updated-at 1649215196948} + {:block/name "运行异常", + :block/created-at 1650263211135, + :block/updated-at 1650263211135} + {:block/name "进制转换", + :block/created-at 1649215191832, + :block/updated-at 1649215191832} + {:block/name "进程与线程的区别", + :block/created-at 1657157575288, + :block/updated-at 1657157575288} + {:block/name "迭代器", + :block/created-at 1650335851717, + :block/updated-at 1650336047461} + {:block/name "迭代器模式", + :block/created-at 1650335879108, + :block/updated-at 1650335879108} + {:block/name "迭代增量式开发", + :block/created-at 1658221260882, + :block/updated-at 1658221265632} + {:block/name "退出循环", + :block/created-at 1649215192561, + :block/updated-at 1649215192561} + {:block/name "选择排序", + :block/created-at 1649231003510, + :block/updated-at 1649231003510} + {:block/name "通讯协议", + :block/created-at 1650636328186, + :block/updated-at 1650636328186} + {:block/name "逻辑运算符", + :block/created-at 1649215192945, + :block/updated-at 1649215192945} + {:block/name "遇到bug,你是如何调试的", + :block/created-at 1657157575605, + :block/updated-at 1657157575605} + {:block/name "遍历set和list的通用方法", + :block/created-at 1657157575284, + :block/updated-at 1657157575284} + {:block/name "都有哪些堆的参数,可以配置", + :block/created-at 1657157575400, + :block/updated-at 1657157575400} + {:block/name "重写", + :block/created-at 1649215195567, + :block/updated-at 1650080176431} + {:block/name "重写和重载的区别在哪里", + :block/created-at 1657157575610, + :block/updated-at 1657157575610} + {:block/name "重定向和请求转发的区别是什么", + :block/created-at 1657157575683, + :block/updated-at 1657157575683} + {:block/name "银行系统,我给你168的数字,你应该给我多少张不同面额的人民币(口述如何实现)", + :block/created-at 1657157575272, + :block/updated-at 1657157575272} + {:block/name "链表", + :block/created-at 1650352878089, + :block/updated-at 1650352878089} + {:block/name "错误", + :block/created-at 1650331183914, + :block/updated-at 1650331183914} + {:block/name "长整型", + :block/created-at 1649215187857, + :block/updated-at 1649215187857} + {:block/name "队列", + :block/created-at 1657355430719, + :block/updated-at 1657355454822} + {:block/name "隐式转换", + :block/created-at 1649215192209, + :block/updated-at 1650078806887} + {:block/name "隐藏", + :block/created-at 1649406872653, + :block/updated-at 1649407122716} + {:block/name "集合", + :block/created-at 1650331179430, + :block/updated-at 1650331179430} + {:block/name "集合排序", + :block/created-at 1650337166202, + :block/updated-at 1650337166202} + {:block/name "集合的交并差", + :block/created-at 1650442624431, + :block/updated-at 1650444123272} + {:block/name "集合的分类,分别的特性是哪些", + :block/created-at 1657157575266, + :block/updated-at 1657157575266} + {:block/name "集群", + :block/created-at 1657157572489, + :block/updated-at 1657157572489} + {:block/name "静态代码块", + :block/created-at 1649820662225, + :block/updated-at 1649821000234} + {:block/name "静态多态", + :block/created-at 1649820624809, + :block/updated-at 1649820624809} + {:block/name "静态方法", + :block/created-at 1649046874845, + :block/updated-at 1649402739096} + {:block/name "非关系型数据库", + :block/created-at 1657157573088, + :block/updated-at 1657157573088} + {:block/name "面向对象", + :block/created-at 1650331188488, + :block/updated-at 1650331188488} + {:block/name "面向对象的定义", + :block/created-at 1649215195502, + :block/updated-at 1650079200182} + {:block/name "面向对象的特征", + :block/created-at 1649215195601, + :block/updated-at 1650080470333} + {:block/name "面向过程", + :block/created-at 1650331208988, + :block/updated-at 1650331208988} + {:block/name "页面加载很慢,有什么优化方案", + :block/created-at 1657157575682, + :block/updated-at 1657157575682} + {:block/name "项目中sql调优的场景有哪些,数据库调优如何做", + :block/created-at 1657157575434, + :block/updated-at 1657157575434} + {:block/name "项目中你们部署了多少台redis服务器,一般配置多少台,熟悉哨兵机制么", + :block/created-at 1657157575773, + :block/updated-at 1657157575773} + {:block/name "项目中有哪些设计是存在缺陷或者不合理的", + :block/created-at 1657157575977, + :block/updated-at 1657157575977} + {:block/name "项目中,关于鉴权你们是咋做的", + :block/created-at 1657157575844, + :block/updated-at 1657157575844} + {:block/name "项目部署没有 有没有经过压力测试 有没有经过渗透测试", + :block/created-at 1657157575954, + :block/updated-at 1657157575954} + {:block/name "驼峰命名法", + :block/created-at 1650331207814, + :block/updated-at 1650331207814} + {:block/name "高内聚", + :block/created-at 1649659951153, + :block/updated-at 1649660007868} + {:block/name "高级编程语言", + :block/created-at 1650331208985, + :block/updated-at 1650331208985} + {:block/name "魔法值", + :block/created-at 1650331201718, + :block/updated-at 1650331201718}] diff --git a/logseq-java/logseq/bak/logseq/pages-metadata/2022-09-18T13_35_12.478Z.Desktop.edn b/logseq-java/logseq/bak/logseq/pages-metadata/2022-09-18T13_35_12.478Z.Desktop.edn new file mode 100644 index 0000000..fa6d187 --- /dev/null +++ b/logseq-java/logseq/bak/logseq/pages-metadata/2022-09-18T13_35_12.478Z.Desktop.edn @@ -0,0 +1,2944 @@ +[{:block/name "#{} 与 ${} 的区别", + :block/created-at 1657157575521, + :block/updated-at 1657157575521} + {:block/name "2022_09_14(1)", + :block/created-at 1663304948740, + :block/updated-at 1663304948740} + {:block/name "2022_09_17(1)", + :block/created-at 1663378401020, + :block/updated-at 1663378401020} + {:block/name "625e1ecf-25a9-4b64-8eab-042fd889a062", + :block/created-at 1650356920421, + :block/updated-at 1650356920421} + {:block/name "625e5ddf-aa2d-4567-8531-3ccc94628ef7", + :block/created-at 1650356975462, + :block/updated-at 1650356975462} + {:block/name "625fa874-b218-4044-ac16-b9de892cd9d2", + :block/created-at 1650439517817, + :block/updated-at 1650439517817} + {:block/name "625fe239-5548-4c66-ba66-f6fb1629b682", + :block/created-at 1650538810183, + :block/updated-at 1650538810183} + {:block/name "7大设计原则有哪些", + :block/created-at 1657157575549, + :block/updated-at 1657157575549} + {:block/name "@resource和@autowired的区别", + :block/created-at 1657157575624, + :block/updated-at 1657174764912} + {:block/name "[jdk", + :block/created-at 1650331207229, + :block/updated-at 1650331207229} + {:block/name "a", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "aba问题", + :block/created-at 1657260301766, + :block/updated-at 1657260301766} + {:block/name "abs", + :block/created-at 1649921407910, + :block/updated-at 1649921421829} + {:block/name "abstract", + :block/created-at 1649820627685, + :block/updated-at 1649820627685} + {:block/name "acid", + :block/created-at 1657260301815, + :block/updated-at 1657260301815} + {:block/name "add", + :block/created-at 1650331180462, + :block/updated-at 1650331180462} + {:block/name "addall", + :block/created-at 1650331180460, + :block/updated-at 1650331180460} + {:block/name "ajax怎么实现同步", + :block/created-at 1657157575674, + :block/updated-at 1657157575674} + {:block/name "apache", + :block/created-at 1657506094791, + :block/updated-at 1657506094791} + {:block/name "api", + :block/created-at 1649215178513, + :block/updated-at 1649904711721} + {:block/name "apifox", + :block/created-at 1658285395791, + :block/updated-at 1658285395791} + {:block/name "apppend", + :block/created-at 1649903790777, + :block/updated-at 1649903825473} + {:block/name "apr 11th, 2022", + :block/created-at 1649640912448, + :block/updated-at 1649676970820} + {:block/name "apr 12th, 2022", + :block/created-at 1649820616181, + :block/updated-at 1650074270128} + {:block/name "apr 13th, 2022", + :block/created-at 1649820618963, + :block/updated-at 1649847675738} + {:block/name "apr 14th, 2022", + :block/created-at 1649902256566, + :block/updated-at 1649945987130} + {:block/name "apr 15th, 2022", + :block/created-at 1650002649668, + :block/updated-at 1650010949968} + {:block/name "apr 16th, 2022", + :block/created-at 1650072826346, + :block/updated-at 1650089014547} + {:block/name "apr 17th, 2022", + :block/created-at 1650168842041, + :block/updated-at 1650168860312} + {:block/name "apr 18th, 2022", + :block/created-at 1650223242651, + :block/updated-at 1650263084206} + {:block/name "apr 19th, 2022", + :block/created-at 1650331174909, + :block/updated-at 1650370926105} + {:block/name "apr 20th, 2022", + :block/created-at 1650436211045, + :block/updated-at 1650458792346} + {:block/name "apr 21st, 2022", + :block/created-at 1650538807758, + :block/updated-at 1650539384945} + {:block/name "apr 22nd, 2022", + :block/created-at 1650608103235, + :block/updated-at 1650621414443} + {:block/name "apr 24th, 2022", + :block/created-at 1653189834622, + :block/updated-at 1653189834622} + {:block/name "apr 26th, 2022", + :block/created-at 1653189835132, + :block/updated-at 1653189835132} + {:block/name "apr 29th, 2022", + :block/created-at 1653189834791, + :block/updated-at 1653189834791} + {:block/name "apr 2nd, 2022", + :block/created-at 1649215177137, + :block/updated-at 1649215177137} + {:block/name "apr 4th, 2022", + :block/created-at 1649215177614, + :block/updated-at 1650080300255} + {:block/name "apr 5th, 2022", + :block/created-at 1649136689683, + :block/updated-at 1650080302016} + {:block/name "apr 6th, 2022", + :block/created-at 1649208205737, + :block/updated-at 1650079131663} + {:block/name "apr 7th, 2022", + :block/created-at 1649381376440, + :block/updated-at 1650079747001} + {:block/name "apr 8th, 2022", + :block/created-at 1649381365539, + :block/updated-at 1649411467229} + {:block/name "archive", + :block/created-at 1657260300397, + :block/updated-at 1657260300397} + {:block/name "arraycopy", + :block/created-at 1649917837922, + :block/updated-at 1649918067851} + {:block/name "arraylist", + :block/created-at 1650331179432, + :block/updated-at 1650348827846} + {:block/name "arraylist和linkedlist的区别", + :block/created-at 1657157575244, + :block/updated-at 1657157575244} + {:block/name "arraylist哪些操作效率较高", + :block/created-at 1657157575251, + :block/updated-at 1657157575251} + {:block/name "arrays", + :block/created-at 1649820616096, + :block/updated-at 1649908840194} + {:block/name "ascii", + :block/created-at 1649215178851, + :block/updated-at 1649215178851} + {:block/name "asicc", + :block/created-at 1650331210235, + :block/updated-at 1650331210235} + {:block/name "assert", + :block/created-at 1650331207765, + :block/updated-at 1650331207765} + {:block/name "at模式在运行过程中,如何进行2阶段处理的", + :block/created-at 1657157575941, + :block/updated-at 1657157575941} + {:block/name "aug 23rd, 2022", + :block/created-at 1662024687628, + :block/updated-at 1662024687628} + {:block/name "aug 5th, 2022", + :block/created-at 1659689855270, + :block/updated-at 1659689882411} + {:block/name "aug 8th, 2022", + :block/created-at 1659924427005, + :block/updated-at 1659946242380} + {:block/name "axios", + :block/created-at 1658136594835, + :block/updated-at 1658136594835} + {:block/name "b", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "beanfactory 和 applicationcontext的区别", + :block/created-at 1657157575638, + :block/updated-at 1657157575638} + {:block/name "bigdecimal", + :block/created-at 1649820616115, + :block/updated-at 1650080799980} + {:block/name "binarysearch", + :block/created-at 1649907973557, + :block/updated-at 1649908366000} + {:block/name "boolean", + :block/created-at 1650331182912, + :block/updated-at 1650331182912} + {:block/name "break", + :block/created-at 1650331207782, + :block/updated-at 1650331207782} + {:block/name "bug", + :block/created-at 1658285718426, + :block/updated-at 1658285718426} + {:block/name "byte", + :block/created-at 1650331182938, + :block/updated-at 1650331182938} + {:block/name "c", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "calendar", + :block/created-at 1650010949968, + :block/updated-at 1650010949968} + {:block/name "canceled", + :block/created-at 1657158746425, + :block/updated-at 1657158746425} + {:block/name "cancelled", + :block/created-at 1657158746424, + :block/updated-at 1657158746424} + {:block/name "capacity", + :block/created-at 1649903884620, + :block/updated-at 1649903908726} + {:block/name "card", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "cas", + :block/created-at 1657260301761, + :block/updated-at 1657260301761} + {:block/name "case", + :block/created-at 1650331207780, + :block/updated-at 1650331207780} + {:block/name "catch", + :block/created-at 1650331184555, + :block/updated-at 1650331184555} + {:block/name "cd", + :block/created-at 1650636328680, + :block/updated-at 1650636328680} + {:block/name "cd命令", + :block/created-at 1649215179586, + :block/updated-at 1649215179586} + {:block/name "char", + :block/created-at 1649833778899, + :block/updated-at 1649833778899} + {:block/name "character", + :block/created-at 1650331182914, + :block/updated-at 1650331182914} + {:block/name "charat", + :block/created-at 1649835616900, + :block/updated-at 1649835657620} + {:block/name "chmod 改用户组的权限", + :block/created-at 1657157575815, + :block/updated-at 1657157575815} + {:block/name "chmod如何改用户组的权限", + :block/created-at 1657157575825, + :block/updated-at 1657157575825} + {:block/name "class", + :block/created-at 1650331201916, + :block/updated-at 1650331201916} + {:block/name "classcastexception", + :block/created-at 1649820623100, + :block/updated-at 1649820623100} + {:block/name "classpath", + :block/created-at 1649046900886, + :block/updated-at 1649046900886} + {:block/name "clear", + :block/created-at 1650335084176, + :block/updated-at 1650335084176} + {:block/name "cls", + :block/created-at 1650636328684, + :block/updated-at 1650636328684} + {:block/name "cluster", + :block/created-at 1657506244977, + :block/updated-at 1657506244977} + {:block/name "cmd", + :block/created-at 1650636328679, + :block/updated-at 1650636328679} + {:block/name "collection", + :block/created-at 1650331180761, + :block/updated-at 1650331180761} + {:block/name "collection 和 collections 有什么区别", + :block/created-at 1657157575278, + :block/updated-at 1657175108979} + {:block/name "collection 和 collections 的区别是啥", + :block/created-at 1657157575232, + :block/updated-at 1657175126785} + {:block/name "collections", + :block/created-at 1650337483294, + :block/updated-at 1650337483294} + {:block/name "collection集合和map体系集合的区别", + :block/created-at 1657157575219, + :block/updated-at 1657175028091} + {:block/name "comparable", + :block/created-at 1650338110003, + :block/updated-at 1650338110003} + {:block/name "compareto", + :block/created-at 1650338276027, + :block/updated-at 1650338276027} + {:block/name "concat", + :block/created-at 1649835693143, + :block/updated-at 1649835712994} + {:block/name "concurrenthashmap为什么是线程安全的,如何做到的", + :block/created-at 1657157575214, + :block/updated-at 1657157575214} + {:block/name "const", + :block/created-at 1650331207742, + :block/updated-at 1650331207742} + {:block/name "contains", + :block/created-at 1649835911558, + :block/updated-at 1649835938222} + {:block/name "contents", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "contents 2", + :block/created-at 1662992667082, + :block/updated-at 1662992667082} + {:block/name "continue", + :block/created-at 1650331207780, + :block/updated-at 1650331207780} + {:block/name "cookie", + :block/created-at 1658131515763, + :block/updated-at 1658131515763} + {:block/name "copyof", + :block/created-at 1649908412989, + :block/updated-at 1649908629426} + {:block/name "currenthashmap的在jdk1.7和1.8期间分别的特征", + :block/created-at 1657157575281, + :block/updated-at 1657157575281} + {:block/name "currenttimemillis", + :block/created-at 1649916949834, + :block/updated-at 1649917211744} + {:block/name "c语言", + :block/created-at 1650331202482, + :block/updated-at 1650331202482} + {:block/name "date", + :block/created-at 1650007668146, + :block/updated-at 1650011002661} + {:block/name "dcl", + :block/created-at 1653189837403, + :block/updated-at 1653189837403} + {:block/name "ddl", + :block/created-at 1653189837402, + :block/updated-at 1653189837402} + {:block/name "debug", + :block/created-at 1650331209846, + :block/updated-at 1650331209846} + {:block/name "default", + :block/created-at 1649820628349, + :block/updated-at 1649820628349} + {:block/name "delete", + :block/created-at 1649904577387, + :block/updated-at 1649904591211} + {:block/name "dir", + :block/created-at 1650636328682, + :block/updated-at 1650636328682} + {:block/name "dml", + :block/created-at 1653189837403, + :block/updated-at 1653189837403} + {:block/name "do", + :block/created-at 1650331207777, + :block/updated-at 1650331207777} + {:block/name "do while 循环", + :block/created-at 1649215179219, + :block/updated-at 1649663083940} + {:block/name "docker", + :block/created-at 1657157572523, + :block/updated-at 1657157572523} + {:block/name "doing", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "done", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "dos", + :block/created-at 1649215179619, + :block/updated-at 1649215179619} + {:block/name "dos命令", + :block/created-at 1649215189875, + :block/updated-at 1650076504661} + {:block/name "double", + :block/created-at 1650331182916, + :block/updated-at 1650331182916} + {:block/name "dql", + :block/created-at 1653189837405, + :block/updated-at 1653189837405} + {:block/name "eclipse", + :block/created-at 1649215180218, + :block/updated-at 1649215180218} + {:block/name "elasticsearch", + :block/created-at 1657505788966, + :block/updated-at 1657521231447} + {:block/name "elasticsearch分页", + :block/created-at 1657605831432, + :block/updated-at 1657605831432} + {:block/name "elasticsearch条件查询", + :block/created-at 1657605814458, + :block/updated-at 1657605814458} + {:block/name "elementui", + :block/created-at 1658285388756, + :block/updated-at 1658285388756} + {:block/name "else", + :block/created-at 1650331207775, + :block/updated-at 1650331207775} + {:block/name "endwith", + :block/created-at 1649836221975, + :block/updated-at 1649836247635} + {:block/name "entryset", + :block/created-at 1650436841283, + :block/updated-at 1650436841283} + {:block/name "equals", + :block/created-at 1649908827534, + :block/updated-at 1649908893803} + {:block/name "equalsignorecase", + :block/created-at 1649836127664, + :block/updated-at 1649836146217} + {:block/name "es实现全文检索的原理是什么", + :block/created-at 1657157575806, + :block/updated-at 1657157575806} + {:block/name "es怎么保持和数据库的一致性", + :block/created-at 1657157575801, + :block/updated-at 1657157575801} + {:block/name "es怎么配权重 可以做数据库吗", + :block/created-at 1657157575804, + :block/updated-at 1657157575804} + {:block/name "es查询一个张三,李四。张三名字可能会重复,要按照张三的生日去进行排序,这个es语句怎么写", + :block/created-at 1657157575809, + :block/updated-at 1657157575809} + {:block/name "eureka", + :block/created-at 1660140196501, + :block/updated-at 1660140196501} + {:block/name "eureka关闭之后,其他的微服务之间还能调用么", + :block/created-at 1657157575915, + :block/updated-at 1657157575915} + {:block/name "eureka如何搭建,如何才能规避因为网络原因导致客户端大面积下线的情况", + :block/created-at 1657157575905, + :block/updated-at 1657157575905} + {:block/name "eureka高可用怎么配置", + :block/created-at 1657157575908, + :block/updated-at 1657157575908} + {:block/name "exception", + :block/created-at 1650331184795, + :block/updated-at 1650331184795} + {:block/name "exit", + :block/created-at 1649215179615, + :block/updated-at 1649916724459} + {:block/name "extends", + :block/created-at 1650331207798, + :block/updated-at 1650331207798} + {:block/name "false", + :block/created-at 1650331207809, + :block/updated-at 1650331207809} + {:block/name "favorites", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "feign远程调用的时候,如何确保feign接口的参数和controller层方法参数一致", + :block/created-at 1657157575891, + :block/updated-at 1657157575891} + {:block/name "feishu+logseq", + :block/created-at 1657157736107, + :block/updated-at 1657157736107} + {:block/name "fifo", + :block/created-at 1657355454820, + :block/updated-at 1657355466851} + {:block/name "file", + :block/created-at 1650446851612, + :block/updated-at 1650446871486} + {:block/name "fileinputstream", + :block/created-at 1650636329173, + :block/updated-at 1650636329173} + {:block/name "fileoutputstream", + :block/created-at 1650636329176, + :block/updated-at 1650636329176} + {:block/name "filereader", + :block/created-at 1650636327436, + :block/updated-at 1650636327436} + {:block/name "filewriter", + :block/created-at 1650636327437, + :block/updated-at 1650636327437} + {:block/name "final", + :block/created-at 1649820616029, + :block/updated-at 1650080286912} + {:block/name "final 在 java 中有什么作用", + :block/created-at 1657157575580, + :block/updated-at 1657157575580} + {:block/name "finalize", + :block/created-at 1650331203492, + :block/updated-at 1650331203492} + {:block/name "finally", + :block/created-at 1650331184801, + :block/updated-at 1650331184801} + {:block/name "firewall", + :block/created-at 1657157571748, + :block/updated-at 1657157571748} + {:block/name "float", + :block/created-at 1650331182923, + :block/updated-at 1650331182923} + {:block/name "for", + :block/created-at 1650331207774, + :block/updated-at 1650331207774} + {:block/name "foreach", + :block/created-at 1650436600460, + :block/updated-at 1650436600460} + {:block/name "forward和redirect的区别", + :block/created-at 1657157575647, + :block/updated-at 1657157575647} + {:block/name "for循环", + :block/created-at 1649215180627, + :block/updated-at 1649215180627} + {:block/name "gc", + :block/created-at 1649916808383, + :block/updated-at 1649916884486} + {:block/name "get", + :block/created-at 1650331180485, + :block/updated-at 1650331180485} + {:block/name "getbytes", + :block/created-at 1649836292118, + :block/updated-at 1649836382319} + {:block/name "getordefault", + :block/created-at 1650436211926, + :block/updated-at 1650436211926} + {:block/name "getproperties", + :block/created-at 1649918250765, + :block/updated-at 1649918291655} + {:block/name "getproperty", + :block/created-at 1650636324585, + :block/updated-at 1650636324585} + {:block/name "getter", + :block/created-at 1649215195546, + :block/updated-at 1649215195546} + {:block/name "getter与setter", + :block/created-at 1649215195544, + :block/updated-at 1649410098646} + {:block/name "git", + :block/created-at 1658285405665, + :block/updated-at 1658285405665} + {:block/name "git回退上个版本,用什么命令 切换分支用哪个命令", + :block/created-at 1657157576002, + :block/updated-at 1657157576002} + {:block/name "gof32", + :block/created-at 1657519570576, + :block/updated-at 1657519570576} + {:block/name "goto", + :block/created-at 1650331207743, + :block/updated-at 1650331207743} + {:block/name "hash", + :block/created-at 1650360029789, + :block/updated-at 1650360029789} + {:block/name "hashcode", + :block/created-at 1650360468015, + :block/updated-at 1650360468015} + {:block/name "hashmap", + :block/created-at 1650331188284, + :block/updated-at 1650437500583} + {:block/name "hashmap 什么情况下会产生死锁的问题如何解决", + :block/created-at 1657157575238, + :block/updated-at 1657157575238} + {:block/name "hashmap 和 hashtable 有什么区别", + :block/created-at 1657157575258, + :block/updated-at 1657157575258} + {:block/name "hashmap为什么要重写hashcode", + :block/created-at 1657157575253, + :block/updated-at 1657157575253} + {:block/name "hashmap和concurrenthashmap的区别", + :block/created-at 1657157575205, + :block/updated-at 1657157575205} + {:block/name "hashmap在jdk1.7和jdk1.8的区别", + :block/created-at 1657157575221, + :block/updated-at 1657157575221} + {:block/name "hashmap在什么情况下单链表需要转为红黑树", + :block/created-at 1657157575213, + :block/updated-at 1657157575213} + {:block/name "hashmap的put方法的执行过程", + :block/created-at 1657157575263, + :block/updated-at 1657157575263} + {:block/name "hashmap的底层原理是什么,如何扩容,并解决hash碰撞的", + :block/created-at 1657157575211, + :block/updated-at 1657157575211} + {:block/name "hashmap的底层是如何解决hash碰撞的", + :block/created-at 1657157575275, + :block/updated-at 1657157575275} + {:block/name "hashset", + :block/created-at 1650331188266, + :block/updated-at 1650360468020} + {:block/name "hashset的去重原理", + :block/created-at 1657157575223, + :block/updated-at 1657157575223} + {:block/name "hashtable", + :block/created-at 1650331188289, + :block/updated-at 1650441150118} + {:block/name "helloworld", + :block/created-at 1649215184171, + :block/updated-at 1649215184171} + {:block/name "helloworld详解", + :block/created-at 1649215181043, + :block/updated-at 1650080658895} + {:block/name "html", + :block/created-at 1653533260514, + :block/updated-at 1653533260514} + {:block/name "http", + :block/created-at 1650636328185, + :block/updated-at 1650636328185} + {:block/name "https", + :block/created-at 1650636328187, + :block/updated-at 1650636328187} + {:block/name "https 通讯协议是如何实现的 它的加密方式是什么", + :block/created-at 1657157575671, + :block/updated-at 1657157575671} + {:block/name "http协议中get与post提交方法的区别在哪里", + :block/created-at 1657157575697, + :block/updated-at 1657157575697} + {:block/name "http通讯协议分为几个部分 请求协议的组成", + :block/created-at 1657157575677, + :block/updated-at 1657157575677} + {:block/name "http通讯协议分为几个部分 请求协议的组成(1)", + :block/created-at 1662024808864, + :block/updated-at 1662024808864} + {:block/name "hutool", + :block/created-at 1658286392644, + :block/updated-at 1658286392644} + {:block/name "id", + :block/created-at 1653533277502, + :block/updated-at 1653533277502} + {:block/name "ide", + :block/created-at 1649215181722, + :block/updated-at 1649215181722} + {:block/name "idea", + :block/created-at 1649215181400, + :block/updated-at 1649215181400} + {:block/name "ide集成开发环境", + :block/created-at 1649215181741, + :block/updated-at 1650077056039} + {:block/name "ieda", + :block/created-at 1649899367370, + :block/updated-at 1649899367370} + {:block/name "if", + :block/created-at 1650331207773, + :block/updated-at 1650331207773} + {:block/name "if判断", + :block/created-at 1649215182055, + :block/updated-at 1649215182055} + {:block/name "implements", + :block/created-at 1649820628343, + :block/updated-at 1649820628343} + {:block/name "import", + :block/created-at 1650331207758, + :block/updated-at 1650331207758} + {:block/name "in 与 exits 的区别是什么", + :block/created-at 1657157575513, + :block/updated-at 1657157575513} + {:block/name "in-progress", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "indexof", + :block/created-at 1649835497490, + :block/updated-at 1649835538531} + {:block/name "inetaddress", + :block/created-at 1650608103135, + :block/updated-at 1650608103135} + {:block/name "innodb", + :block/created-at 1657260300388, + :block/updated-at 1657260300388} + {:block/name "innodb的行级锁什么情况下会使用", + :block/created-at 1657157575444, + :block/updated-at 1657157575444} + {:block/name "input", + :block/created-at 1650445980901, + :block/updated-at 1650445980901} + {:block/name "inputstream", + :block/created-at 1650446813903, + :block/updated-at 1650446813903} + {:block/name "insert", + :block/created-at 1649903806330, + :block/updated-at 1649903868046} + {:block/name "instanceof", + :block/created-at 1649820619771, + :block/updated-at 1649820619771} + {:block/name "int", + :block/created-at 1650331180468, + :block/updated-at 1650331180468} + {:block/name "integer", + :block/created-at 1650331180465, + :block/updated-at 1650331180465} + {:block/name "interator", + :block/created-at 1650336046007, + :block/updated-at 1650336046007} + {:block/name "interface", + :block/created-at 1649820628334, + :block/updated-at 1649820628334} + {:block/name "intern", + :block/created-at 1649839118741, + :block/updated-at 1649839223715} + {:block/name "ioc", + :block/created-at 1655521624374, + :block/updated-at 1655521624374} + {:block/name "io流", + :block/created-at 1650445947413, + :block/updated-at 1650446894652} + {:block/name "io流的分类有哪些", + :block/created-at 1657157575597, + :block/updated-at 1657157575597} + {:block/name "ip", + :block/created-at 1650636323812, + :block/updated-at 1650636323812} + {:block/name "ipconfig", + :block/created-at 1649215179610, + :block/updated-at 1649215179610} + {:block/name "isempty", + :block/created-at 1649837951779, + :block/updated-at 1649838007283} + {:block/name "iterable", + :block/created-at 1650336032868, + :block/updated-at 1650336032868} + {:block/name "jar", + :block/created-at 1649046906538, + :block/updated-at 1649046906538} + {:block/name "java ee", + :block/created-at 1650331202476, + :block/updated-at 1650331202476} + {:block/name "java me", + :block/created-at 1650331202478, + :block/updated-at 1650331202478} + {:block/name "java se", + :block/created-at 1650331202479, + :block/updated-at 1650331202479} + {:block/name "java_home", + :block/created-at 1650331203282, + :block/updated-at 1650331203282} + {:block/name "javabean", + :block/created-at 1649647591986, + :block/updated-at 1649647591986} + {:block/name "javabean规范", + :block/created-at 1649215195533, + :block/updated-at 1649647838288} + {:block/name "javascript", + :block/created-at 1653196611287, + :block/updated-at 1653196611287} + {:block/name "java中异常的分类,分别说说都哪些具体的异常", + :block/created-at 1657157575603, + :block/updated-at 1657157575603} + {:block/name "java发展历程", + :block/created-at 1649215183072, + :block/updated-at 1650252383200} + {:block/name "java的反射,在哪些地方有过应用", + :block/created-at 1657157575586, + :block/updated-at 1657157575586} + {:block/name "java程序注释", + :block/created-at 1649215181735, + :block/updated-at 1650078753268} + {:block/name "java跨平台原理", + :block/created-at 1649215183676, + :block/updated-at 1649215183676} + {:block/name "java面试", + :block/created-at 1649215183909, + :block/updated-at 1650621154779} + {:block/name "jdbc", + :block/created-at 1653189834789, + :block/updated-at 1653189834789} + {:block/name "jdbc如何提升读取数据的性能", + :block/created-at 1657157575481, + :block/updated-at 1657157575481} + {:block/name "jdk", + :block/created-at 1650331202498, + :block/updated-at 1650331202498} + {:block/name "jdk1", + :block/created-at 1650420404818, + :block/updated-at 1650420404818} + {:block/name "jdk1.8 针对synchronized,都做过哪些优化", + :block/created-at 1657157575385, + :block/updated-at 1657157575385} + {:block/name "jdk1.8日期api", + :block/created-at 1650245515564, + :block/updated-at 1650252002875} + {:block/name "jdk1.8的新特性,你都用过哪些", + :block/created-at 1657157575570, + :block/updated-at 1657157575570} + {:block/name "jdk1/8日期api", + :block/created-at 1662992662661, + :block/updated-at 1662992662661} + {:block/name "jdk8", + :block/created-at 1650331203276, + :block/updated-at 1650331203276} + {:block/name "jdk中有哪些队列", + :block/created-at 1657157575254, + :block/updated-at 1657157575254} + {:block/name "jdk环境搭建", + :block/created-at 1649215184182, + :block/updated-at 1650076882949} + {:block/name "jdk,jre,jvm的区别", + :block/created-at 1657157575609, + :block/updated-at 1657157575609} + {:block/name "jit编译器", + :block/created-at 1649215183674, + :block/updated-at 1649215183674} + {:block/name "jquery", + :block/created-at 1653533260326, + :block/updated-at 1653533260326} + {:block/name "jre", + :block/created-at 1650331202501, + :block/updated-at 1650331202501} + {:block/name "json", + :block/created-at 1657765252670, + :block/updated-at 1657765252670} + {:block/name "json格式长什么样 那么jsonarray呢", + :block/created-at 1657157575684, + :block/updated-at 1657157575684} + {:block/name "json的解析框架,你用过什么", + :block/created-at 1657157575679, + :block/updated-at 1657157575679} + {:block/name "jul 11th, 2022", + :block/created-at 1657505750996, + :block/updated-at 1657527583379} + {:block/name "jul 12th, 2022", + :block/created-at 1657605770644, + :block/updated-at 1657606387138} + {:block/name "jul 13th, 2022", + :block/created-at 1657765252229, + :block/updated-at 1657765252229} + {:block/name "jul 14th, 2022", + :block/created-at 1657765252003, + :block/updated-at 1658107900019} + {:block/name "jul 18th, 2022", + :block/created-at 1658107861830, + :block/updated-at 1658131485084} + {:block/name "jul 19th, 2022", + :block/created-at 1658196365763, + :block/updated-at 1658221260883} + {:block/name "jul 20th, 2022", + :block/created-at 1658246455182, + :block/updated-at 1658285015264} + {:block/name "jul 21st, 2022", + :block/created-at 1658285015264, + :block/updated-at 1658285015264} + {:block/name "jul 22nd, 2022", + :block/created-at 1658285464891, + :block/updated-at 1658285464891} + {:block/name "jul 26th, 2022", + :block/created-at 1658285464890, + :block/updated-at 1658285464890} + {:block/name "jul 27th, 2022", + :block/created-at 1658285501001, + :block/updated-at 1658285501001} + {:block/name "jul 28th, 2022", + :block/created-at 1658285534476, + :block/updated-at 1658285534476} + {:block/name "jul 5th, 2022", + :block/created-at 1657157570502, + :block/updated-at 1657157570502} + {:block/name "jul 6th, 2022", + :block/created-at 1657157571024, + :block/updated-at 1657157571024} + {:block/name "jul 7th, 2022", + :block/created-at 1657157756946, + :block/updated-at 1657175137574} + {:block/name "jul 8th, 2022", + :block/created-at 1657260300914, + :block/updated-at 1657260300914} + {:block/name "jul 9th, 2022", + :block/created-at 1657347478674, + :block/updated-at 1657355378817} + {:block/name "jun 18th, 2022", + :block/created-at 1655521479175, + :block/updated-at 1655521671791} + {:block/name "jvm", + :block/created-at 1649215183650, + :block/updated-at 1649215183650} + {:block/name "jvm参数调优的总结", + :block/created-at 1657157575424, + :block/updated-at 1657157575424} + {:block/name "jvm虚拟机的原理", + :block/created-at 1657157575393, + :block/updated-at 1657157575393} + {:block/name "jwt", + :block/created-at 1658131485079, + :block/updated-at 1658278897838} + {:block/name "key-value", + :block/created-at 1650436212227, + :block/updated-at 1650436212227} + {:block/name "keyset", + :block/created-at 1650436211939, + :block/updated-at 1650436211939} + {:block/name "kibana", + :block/created-at 1657520916137, + :block/updated-at 1657521121553} + {:block/name "lastindexof", + :block/created-at 1649838687566, + :block/updated-at 1649838774931} + {:block/name "later", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "length", + :block/created-at 1649903970896, + :block/updated-at 1649904234147} + {:block/name "like 后 加% 和 加_ 的区别在哪里", + :block/created-at 1657157575466, + :block/updated-at 1657157575466} + {:block/name "linkedhashmap", + :block/created-at 1650331188291, + :block/updated-at 1650441023708} + {:block/name "linkedhashset", + :block/created-at 1650331188275, + :block/updated-at 1650331188275} + {:block/name "linkedlist", + :block/created-at 1650331188258, + :block/updated-at 1650353801524} + {:block/name "linux", + :block/created-at 1650636328185, + :block/updated-at 1657077033275} + {:block/name "linux如何查看资源的使用情况", + :block/created-at 1657157575823, + :block/updated-at 1657157575823} + {:block/name "list", + :block/created-at 1650331180488, + :block/updated-at 1650331180488} + {:block/name "list、set、map区别", + :block/created-at 1657157575261, + :block/updated-at 1657157575261} + {:block/name "localdate", + :block/created-at 1650331181445, + :block/updated-at 1650331181445} + {:block/name "localdatetime", + :block/created-at 1650331181452, + :block/updated-at 1650331181452} + {:block/name "localtime", + :block/created-at 1650331181450, + :block/updated-at 1650331181450} + {:block/name "long", + :block/created-at 1650331182927, + :block/updated-at 1650331182927} + {:block/name "lucene", + :block/created-at 1657505769974, + :block/updated-at 1657505769974} + {:block/name "map", + :block/created-at 1650331188282, + :block/updated-at 1650331188282} + {:block/name "mar 28th, 2022", + :block/created-at 1649215173281, + :block/updated-at 1650073748268} + {:block/name "mar 29th, 2022", + :block/created-at 1649215175590, + :block/updated-at 1650073682635} + {:block/name "mar 30th, 2022", + :block/created-at 1649215176050, + :block/updated-at 1650073680281} + {:block/name "mar 31st, 2022", + :block/created-at 1649215176519, + :block/updated-at 1650073677109} + {:block/name "math", + :block/created-at 1649820616108, + :block/updated-at 1649922233529} + {:block/name "max", + :block/created-at 1649921590842, + :block/updated-at 1649921626166} + {:block/name "may 10th, 2022", + :block/created-at 1653189835750, + :block/updated-at 1653189835750} + {:block/name "may 11th, 2022", + :block/created-at 1653189836037, + :block/updated-at 1653189836037} + {:block/name "may 12th, 2022", + :block/created-at 1653189836189, + :block/updated-at 1653189836189} + {:block/name "may 21st, 2022", + :block/created-at 1653533260545, + :block/updated-at 1653533260545} + {:block/name "may 22nd, 2022", + :block/created-at 1653189833879, + :block/updated-at 1653196611289} + {:block/name "may 23rd, 2022", + :block/created-at 1653533260331, + :block/updated-at 1653533260331} + {:block/name "memory", + :block/created-at 1657260300394, + :block/updated-at 1657260300394} + {:block/name "min", + :block/created-at 1649921626164, + :block/updated-at 1649921675028} + {:block/name "mq是什么 你用过哪个 怎么配置的", + :block/created-at 1657157575742, + :block/updated-at 1657157575742} + {:block/name "mq是如何保证消息不丢失的", + :block/created-at 1657157575710, + :block/updated-at 1657157575710} + {:block/name "mq的工作原理", + :block/created-at 1657157575712, + :block/updated-at 1657157575712} + {:block/name "mybatis", + :block/created-at 1653189836188, + :block/updated-at 1653189836188} + {:block/name "mybatisplus", + :block/created-at 1658285370864, + :block/updated-at 1658285370864} + {:block/name "mybatis和mybatisplus 你在项目中,哪个用的较多", + :block/created-at 1657157575925, + :block/updated-at 1657157575925} + {:block/name "mybatis如何防止sql注入", + :block/created-at 1657157575535, + :block/updated-at 1657157575535} + {:block/name "mybatis的一二级缓存是什么样的", + :block/created-at 1657157575529, + :block/updated-at 1657157575529} + {:block/name "mybatis的实现原理", + :block/created-at 1657157575523, + :block/updated-at 1657157575523} + {:block/name "mybatis级联的配置", + :block/created-at 1657157575526, + :block/updated-at 1657157575526} + {:block/name "mybits的缺点有哪些", + :block/created-at 1657157575533, + :block/updated-at 1657157575533} + {:block/name "myisam", + :block/created-at 1657260300391, + :block/updated-at 1657260300391} + {:block/name "mysql", + :block/created-at 1653189835123, + :block/updated-at 1653189835123} + {:block/name "mysql中存储引擎innodb,myisam的区别在哪里", + :block/created-at 1657157575514, + :block/updated-at 1657157575514} + {:block/name "mysql中锁机制", + :block/created-at 1657157575516, + :block/updated-at 1657157575516} + {:block/name "mysql数据库的my.ini文件中可以配置什么参数", + :block/created-at 1657157575518, + :block/updated-at 1657157575518} + {:block/name "mysql数据库索引是用什么数据结构存储的", + :block/created-at 1657157575455, + :block/updated-at 1657157575455} + {:block/name "mysql的ini文件,都有些参数可以配置", + :block/created-at 1657157575923, + :block/updated-at 1657157575923} + {:block/name "nacos 与 eureka的区别", + :block/created-at 1657157575847, + :block/updated-at 1657157575847} + {:block/name "nanatime", + :block/created-at 1649917202891, + :block/updated-at 1649917272720} + {:block/name "native", + :block/created-at 1650331207792, + :block/updated-at 1650331207792} + {:block/name "new", + :block/created-at 1649403626648, + :block/updated-at 1649403626648} + {:block/name "nextint", + :block/created-at 1649922298235, + :block/updated-at 1649922333932} + {:block/name "nginx反向代理原理", + :block/created-at 1657157575820, + :block/updated-at 1657157575820} + {:block/name "nginx服务器", + :block/created-at 1657157570492, + :block/updated-at 1657157570492} + {:block/name "nginx的负载均衡策略", + :block/created-at 1657157575822, + :block/updated-at 1657157575822} + {:block/name "nginx都配置过什么 如何做负载配置,都哪些负载算法", + :block/created-at 1657157575917, + :block/updated-at 1657157575917} + {:block/name "ngnix代理配置是在哪个文件", + :block/created-at 1657157575919, + :block/updated-at 1657157575919} + {:block/name "node", + :block/created-at 1650352942083, + :block/updated-at 1650352942083} + {:block/name "node.js", + :block/created-at 1658107863813, + :block/updated-at 1658107863813} + {:block/name "now", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "npm", + :block/created-at 1658107863809, + :block/updated-at 1658107863809} + {:block/name "null", + :block/created-at 1649838007282, + :block/updated-at 1649838007282} + {:block/name "object", + :block/created-at 1649821953338, + :block/updated-at 1650080726649} + {:block/name "objectinputstream", + :block/created-at 1650636327636, + :block/updated-at 1650636327636} + {:block/name "objectoutputstream", + :block/created-at 1650636327631, + :block/updated-at 1650636327631} + {:block/name "object类常用api", + :block/created-at 1649820616092, + :block/updated-at 1649832104628} + {:block/name "object类的常见方法都有哪些", + :block/created-at 1657157575602, + :block/updated-at 1657157575602} + {:block/name "openfeign的工作原理,是如何调用服务的", + :block/created-at 1657157575885, + :block/updated-at 1657157575885} + {:block/name "osi", + :block/created-at 1650636324913, + :block/updated-at 1650636324913} + {:block/name "osi七层模型,大概了解么", + :block/created-at 1657157575547, + :block/updated-at 1657157575547} + {:block/name "output", + :block/created-at 1650446894651, + :block/updated-at 1650446894651} + {:block/name "outputstream", + :block/created-at 1650446827925, + :block/updated-at 1650446827925} + {:block/name "package", + :block/created-at 1650331207757, + :block/updated-at 1650331207757} + {:block/name "pascal命名法", + :block/created-at 1650339181951, + :block/updated-at 1650339181951} + {:block/name "path", + :block/created-at 1650331203283, + :block/updated-at 1650331203283} + {:block/name "ping", + :block/created-at 1650636328184, + :block/updated-at 1650636328184} + {:block/name "pow", + :block/created-at 1649921481890, + :block/updated-at 1649921494395} + {:block/name "powerdesigner", + :block/created-at 1658201426767, + :block/updated-at 1658201485625} + {:block/name "printstream", + :block/created-at 1650636327005, + :block/updated-at 1650636327005} + {:block/name "printwrite", + :block/created-at 1650636327001, + :block/updated-at 1650636327001} + {:block/name "private", + :block/created-at 1649405605908, + :block/updated-at 1649405605908} + {:block/name "properties", + :block/created-at 1650538806180, + :block/updated-at 1650538806180} + {:block/name "protected", + :block/created-at 1649405676627, + :block/updated-at 1649405676627} + {:block/name "public", + :block/created-at 1649405555717, + :block/updated-at 1649405555717} + {:block/name "put", + :block/created-at 1650436211914, + :block/updated-at 1650436211914} + {:block/name "putall", + :block/created-at 1650436211920, + :block/updated-at 1650436211920} + {:block/name "quene", + :block/created-at 1650331188279, + :block/updated-at 1650331188279} + {:block/name "rabbitmq", + :block/created-at 1657355562900, + :block/updated-at 1657355562900} + {:block/name "rabbitmq怎么实现订单延迟支付", + :block/created-at 1657157575737, + :block/updated-at 1657157575737} + {:block/name "random", + :block/created-at 1649820616112, + :block/updated-at 1649924607589} + {:block/name "random(long seed)", + :block/created-at 1649924607584, + :block/updated-at 1649924851662} + {:block/name "reader", + :block/created-at 1650636327434, + :block/updated-at 1650636327434} + {:block/name "redis", + :block/created-at 1657157570992, + :block/updated-at 1657244216739} + {:block/name "redis 有哪些功能", + :block/created-at 1657157575762, + :block/updated-at 1657157575762} + {:block/name "redis 都有哪些使用场景", + :block/created-at 1657157575760, + :block/updated-at 1657157575760} + {:block/name "redis主从复制", + :block/created-at 1657260300907, + :block/updated-at 1657260300907} + {:block/name "redis哨兵模式", + :block/created-at 1657260300909, + :block/updated-at 1657260300909} + {:block/name "redis如何保证与数据库的数据一致性问题", + :block/created-at 1657157575786, + :block/updated-at 1657157575786} + {:block/name "redis如何配置rdb", + :block/created-at 1657157575798, + :block/updated-at 1657157575798} + {:block/name "redis持久化机制中aof与rdb区别在哪里", + :block/created-at 1657157575795, + :block/updated-at 1657157575795} + {:block/name "redis支持的数据类型", + :block/created-at 1657157575747, + :block/updated-at 1657157575747} + {:block/name "redis是原子性的吗 是线程安全的吗 多线程还是单线程", + :block/created-at 1657157575768, + :block/updated-at 1657157575768} + {:block/name "redis的5种数据类型,分别的使用场景", + :block/created-at 1657157575790, + :block/updated-at 1657157575790} + {:block/name "redis的分布式锁用过没 描述一下", + :block/created-at 1657157575781, + :block/updated-at 1657157575781} + {:block/name "redis的单线程原理是什么 如果有10个用户同时操作redis,那么redis是否按照先后顺序来处理情况", + :block/created-at 1657157575779, + :block/updated-at 1657157575779} + {:block/name "redis的持久化方式,以及各自的区别,项目中用的哪一种,怎么配置的", + :block/created-at 1657157575749, + :block/updated-at 1657157575749} + {:block/name "redis的特性是哪些,可以用来干嘛", + :block/created-at 1657157575770, + :block/updated-at 1657157575770} + {:block/name "redis设置永不过期也可以解决缓存击穿,为什么还要用分布式锁", + :block/created-at 1657157575784, + :block/updated-at 1657157575784} + {:block/name "redis集群知道么,如何实现", + :block/created-at 1657157575792, + :block/updated-at 1657157575792} + {:block/name "remove", + :block/created-at 1650333533358, + :block/updated-at 1650333533358} + {:block/name "replace", + :block/created-at 1649838588236, + :block/updated-at 1649838619697} + {:block/name "resttemplate", + :block/created-at 1657765252874, + :block/updated-at 1657765252874} + {:block/name "return", + :block/created-at 1650331184814, + :block/updated-at 1650331184814} + {:block/name "reverse", + :block/created-at 1649904667332, + :block/updated-at 1649904675927} + {:block/name "ribbon", + :block/created-at 1659946242378, + :block/updated-at 1659946302052} + {:block/name "round", + :block/created-at 1649921704008, + :block/updated-at 1650080814216} + {:block/name "runtime", + :block/created-at 1649918504012, + :block/updated-at 1649918813803} + {:block/name "runtimeexception", + :block/created-at 1650331187320, + :block/updated-at 1650331187320} + {:block/name "seata是三大核心组件是哪些,他们分别的作用是什么", + :block/created-at 1657157575936, + :block/updated-at 1657157575936} + {:block/name "seata的at模式与tcc模式区别在哪里", + :block/created-at 1657157575938, + :block/updated-at 1657157575938} + {:block/name + "select count(*) ,select count(1),select count(字段) 说一下区别", + :block/created-at 1657157575483, + :block/updated-at 1657157575483} + {:block/name "sep 13th, 2022", + :block/created-at 1663304948915, + :block/updated-at 1663304948915} + {:block/name "sep 14th, 2022", + :block/created-at 1663304948718, + :block/updated-at 1663304948718} + {:block/name "sep 16th, 2022", + :block/created-at 1663304948654, + :block/updated-at 1663304948654} + {:block/name "sep 17th, 2022", + :block/created-at 1663377750564, + :block/updated-at 1663378401553} + {:block/name "serialization", + :block/created-at 1650636327633, + :block/updated-at 1650636327633} + {:block/name "servlet的生命周期", + :block/created-at 1657157575686, + :block/updated-at 1657157575686} + {:block/name "session", + :block/created-at 1658131520703, + :block/updated-at 1658131520703} + {:block/name "set", + :block/created-at 1650331188263, + :block/updated-at 1650356367381} + {:block/name "setcharat", + :block/created-at 1649904278600, + :block/updated-at 1649904278600} + {:block/name "setproperty", + :block/created-at 1650636324584, + :block/updated-at 1650636324584} + {:block/name "setter", + :block/created-at 1649409509939, + :block/updated-at 1649409509939} + {:block/name "shiro的执行流程", + :block/created-at 1657157575704, + :block/updated-at 1657157575704} + {:block/name "short", + :block/created-at 1650331182933, + :block/updated-at 1650331182933} + {:block/name "size", + :block/created-at 1650331180482, + :block/updated-at 1650331180482} + {:block/name "sleep()和wait() 的区别", + :block/created-at 1657157575358, + :block/updated-at 1657157575358} + {:block/name "socket", + :block/created-at 1650608105322, + :block/updated-at 1650617759892} + {:block/name "solr", + :block/created-at 1657505775782, + :block/updated-at 1657505775782} + {:block/name "sort", + :block/created-at 1649907777969, + :block/updated-at 1649908002154} + {:block/name "split", + :block/created-at 1649838172427, + :block/updated-at 1649838310658} + {:block/name "spring", + :block/created-at 1655521605637, + :block/updated-at 1655521624377} + {:block/name "spring cloud", + :block/created-at 1659924448125, + :block/updated-at 1659924483890} + {:block/name "spring data", + :block/created-at 1657157742489, + :block/updated-at 1657157742489} + {:block/name "spring data jpa", + :block/created-at 1657527583378, + :block/updated-at 1657527595831} + {:block/name "spring data redis", + :block/created-at 1657157742306, + :block/updated-at 1657157742306} + {:block/name "spring 事务实现方式有哪些", + :block/created-at 1657157575635, + :block/updated-at 1657157575635} + {:block/name "spring,springmvc,springboot的区别是啥", + :block/created-at 1657157575660, + :block/updated-at 1657157575660} + {:block/name "springboot", + :block/created-at 1657765253053, + :block/updated-at 1657765253053} + {:block/name "springboot主要的配置类有哪些", + :block/created-at 1657157575658, + :block/updated-at 1657157575658} + {:block/name + "springboot在yaml中配置了开发环境配置文件和测试配置文件,有几种方式在不同环境去使用不同的配置文件", + :block/created-at 1657157575664, + :block/updated-at 1657157575664} + {:block/name "springboot如何实现自动配置 原理是什么", + :block/created-at 1657157575653, + :block/updated-at 1657157575653} + {:block/name "springboot的web模块自动集成了tomcat,如何剔除", + :block/created-at 1657157575654, + :block/updated-at 1657157575654} + {:block/name "springboot的优点在哪里", + :block/created-at 1657157575665, + :block/updated-at 1657157575665} + {:block/name "springcloud体系的几大组件", + :block/created-at 1657157575860, + :block/updated-at 1657157575860} + {:block/name "springmvc", + :block/created-at 1657765253081, + :block/updated-at 1657765253081} + {:block/name "springmvc 过滤器 拦截器的使用场景和区别是什么", + :block/created-at 1657157575651, + :block/updated-at 1657157575651} + {:block/name "springmvc框架的工作流程", + :block/created-at 1657157575646, + :block/updated-at 1657157575646} + {:block/name + "spring中bean基本都是单例的,如果一个方法要对bean中的属性值进行修改,这个方法会被多次执行,怎么确保安全", + :block/created-at 1657157575640, + :block/updated-at 1657157575640} + {:block/name "spring中对事务的支持,有哪些方式 你项目中如何处理事务", + :block/created-at 1657157575620, + :block/updated-at 1657157575620} + {:block/name "spring依赖注入的方式有哪些 有区别么", + :block/created-at 1657157575630, + :block/updated-at 1657157575630} + {:block/name "spring实例化组件时,如何设置属性", + :block/created-at 1657157575643, + :block/updated-at 1657157575643} + {:block/name "spring的启动流程是怎么样的", + :block/created-at 1657157575668, + :block/updated-at 1657157575668} + {:block/name "spring的常用注解都有哪些", + :block/created-at 1657157575633, + :block/updated-at 1657157575633} + {:block/name "spring的循环依赖问题,如何解决", + :block/created-at 1657157575618, + :block/updated-at 1657157575618} + {:block/name "spring调用外部接口", + :block/created-at 1657765252221, + :block/updated-at 1657765252221} + {:block/name "sql", + :block/created-at 1653189835129, + :block/updated-at 1653189835129} + {:block/name "sql语句过慢怎么定位问题", + :block/created-at 1657157575462, + :block/updated-at 1657157575462} + {:block/name "startwith", + :block/created-at 1649836170156, + :block/updated-at 1649836257781} + {:block/name "static", + :block/created-at 1649215195551, + :block/updated-at 1649403727225} + {:block/name "strictfp", + :block/created-at 1650331207788, + :block/updated-at 1650331207788} + {:block/name "string", + :block/created-at 1649833808078, + :block/updated-at 1650080514099} + {:block/name "stringbuffer", + :block/created-at 1649820616088, + :block/updated-at 1649906109907} + {:block/name "stringbuilder", + :block/created-at 1649820616084, + :block/updated-at 1650080575528} + {:block/name "string,stringbuffer及stringbuilder的区别", + :block/created-at 1657157575575, + :block/updated-at 1657157575575} + {:block/name "style", + :block/created-at 1653533277503, + :block/updated-at 1653533277503} + {:block/name "substring", + :block/created-at 1649838366083, + :block/updated-at 1649904842698} + {:block/name "super", + :block/created-at 1650331207747, + :block/updated-at 1650331207747} + {:block/name "super()", + :block/created-at 1649679338677, + :block/updated-at 1649679338677} + {:block/name "super关键字", + :block/created-at 1649215195578, + :block/updated-at 1650080218102} + {:block/name "swagger", + :block/created-at 1657765252225, + :block/updated-at 1658196514920} + {:block/name "switch", + :block/created-at 1649215184722, + :block/updated-at 1649215184722} + {:block/name "synchornized", + :block/created-at 1657355656213, + :block/updated-at 1657355656213} + {:block/name "synchronized", + :block/created-at 1649905980486, + :block/updated-at 1657355002659} + {:block/name "synchronized与lock锁的区别", + :block/created-at 1657157575337, + :block/updated-at 1657157575337} + {:block/name "synchronized与乐观锁的区别", + :block/created-at 1657157575347, + :block/updated-at 1657157575347} + {:block/name "system", + :block/created-at 1649820616100, + :block/updated-at 1649918250766} + {:block/name "system.err", + :block/created-at 1649916577715, + :block/updated-at 1649916603046} + {:block/name "system.in", + :block/created-at 1649916547075, + :block/updated-at 1649916547075} + {:block/name "system.out", + :block/created-at 1649916559204, + :block/updated-at 1649916559204} + {:block/name "system/err", + :block/created-at 1649944978196, + :block/updated-at 1649944978196} + {:block/name "tar&gz&zip", + :block/created-at 1657157572047, + :block/updated-at 1657157572047} + {:block/name "tcl", + :block/created-at 1653189837404, + :block/updated-at 1653189837404} + {:block/name "tcp", + :block/created-at 1650608103225, + :block/updated-at 1650611788721} + {:block/name "tcp/ip", + :block/created-at 1650608103212, + :block/updated-at 1650612850629} + {:block/name "tcp与udp在概念上的区别", + :block/created-at 1657157575541, + :block/updated-at 1657157575541} + {:block/name "tcp协议的特点,你能说说吗 具体说说3次握手,4次挥手的过程", + :block/created-at 1657157575546, + :block/updated-at 1657157575546} + {:block/name "this", + :block/created-at 1649215195549, + :block/updated-at 1649408961504} + {:block/name "this()", + :block/created-at 1649408924150, + :block/updated-at 1649648989766} + {:block/name "threadlocal类是什么类", + :block/created-at 1657157575294, + :block/updated-at 1657157575294} + {:block/name "throw", + :block/created-at 1650331184553, + :block/updated-at 1650331184553} + {:block/name "throws", + :block/created-at 1650331184516, + :block/updated-at 1650331184516} + {:block/name "title", + :block/created-at 1653533277505, + :block/updated-at 1653533277505} + {:block/name "tochararry", + :block/created-at 1649836430324, + :block/updated-at 1649836464566} + {:block/name "todo", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "tolowercase", + :block/created-at 1649838914094, + :block/updated-at 1649917413093} + {:block/name "tomcat", + :block/created-at 1657157572485, + :block/updated-at 1657157572485} + {:block/name "tomcat内存溢出在catalina.sh 修改jvm堆内存大小", + :block/created-at 1657157575421, + :block/updated-at 1657157575421} + {:block/name "tomcat如何配置连接池 默认连接数是多少 == 生产环境,tomcat性能比较差,如何调优", + :block/created-at 1657157575687, + :block/updated-at 1657157575687} + {:block/name "tostring", + :block/created-at 1649822298875, + :block/updated-at 1649822298875} + {:block/name "touppercase", + :block/created-at 1649838867053, + :block/updated-at 1649838944147} + {:block/name "transient", + :block/created-at 1650331207786, + :block/updated-at 1650331207786} + {:block/name "treemap", + :block/created-at 1650438734387, + :block/updated-at 1650439533575} + {:block/name "treeset", + :block/created-at 1650331188269, + :block/updated-at 1650440492446} + {:block/name "trim", + :block/created-at 1649838075631, + :block/updated-at 1649838128674} + {:block/name "true", + :block/created-at 1650331207808, + :block/updated-at 1650331207808} + {:block/name "try", + :block/created-at 1650331184558, + :block/updated-at 1650331184558} + {:block/name "try-catch-finally", + :block/created-at 1650331182541, + :block/updated-at 1650331182541} + {:block/name "udp", + :block/created-at 1650636325479, + :block/updated-at 1650636325479} + {:block/name "uml", + :block/created-at 1658201485607, + :block/updated-at 1658201539757} + {:block/name "union 和 union all 的区别是什么", + :block/created-at 1657157575491, + :block/updated-at 1657157575491} + {:block/name "uri", + :block/created-at 1650636326326, + :block/updated-at 1650636326326} + {:block/name "url", + :block/created-at 1650608103138, + :block/updated-at 1650609121270} + {:block/name "uuid", + :block/created-at 1649820616104, + :block/updated-at 1649925973946} + {:block/name "valueof", + :block/created-at 1649839023034, + :block/updated-at 1649839039649} + {:block/name "values", + :block/created-at 1650436211941, + :block/updated-at 1650436211941} + {:block/name "vector", + :block/created-at 1650331188261, + :block/updated-at 1650354490534} + {:block/name "void", + :block/created-at 1650331204976, + :block/updated-at 1650331204976} + {:block/name "volatile", + :block/created-at 1650331207783, + :block/updated-at 1650331207783} + {:block/name "vue", + :block/created-at 1658107864651, + :block/updated-at 1658107864651} + {:block/name "vue-cli", + :block/created-at 1658107864720, + :block/updated-at 1658107864720} + {:block/name "vue-router", + :block/created-at 1658107969191, + :block/updated-at 1658108137401} + {:block/name "vue的生命周期是什么,都有哪些钩子函数", + :block/created-at 1657157575829, + :block/updated-at 1657157575829} + {:block/name "vue都有哪些组件", + :block/created-at 1657157575835, + :block/updated-at 1657157575835} + {:block/name "wait", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "wait() 和notify() 方法的区别", + :block/created-at 1657157575317, + :block/updated-at 1657157575317} + {:block/name "waiting", + :block/created-at 1648461241110, + :block/updated-at 1648461241110} + {:block/name "while", + :block/created-at 1650331207767, + :block/updated-at 1650331207767} + {:block/name "while循环", + :block/created-at 1649215184898, + :block/updated-at 1649215184898} + {:block/name "windows快捷键", + :block/created-at 1649215185055, + :block/updated-at 1649215185055} + {:block/name "xml", + :block/created-at 1653189836034, + :block/updated-at 1653189836034} + {:block/name "xml与json之间的区别", + :block/created-at 1657157575680, + :block/updated-at 1657157575680} + {:block/name "yield() 与 join() 方法的区别", + :block/created-at 1657157575367, + :block/updated-at 1657157575367} + {:block/name "七大设计原则", + :block/created-at 1657519389489, + :block/updated-at 1657519502888} + {:block/name "三元运算符", + :block/created-at 1649215182040, + :block/updated-at 1649215182040} + {:block/name "三层架构是哪三层 具体说说,你知道它们分别对应的架构模式采用的是什么么", + :block/created-at 1657157575988, + :block/updated-at 1657157575988} + {:block/name "下标", + :block/created-at 1649835657619, + :block/updated-at 1649835657619} + {:block/name "业务对象", + :block/created-at 1649647567279, + :block/updated-at 1649647617004} + {:block/name "为什么使用同步或锁,就可以让多线程解决线程安全问题", + :block/created-at 1657157575302, + :block/updated-at 1657157575302} + {:block/name "为什么要使用微服务,它的优缺点", + :block/created-at 1657157575896, + :block/updated-at 1657157575896} + {:block/name "为什么要用redis不用map", + :block/created-at 1657157575766, + :block/updated-at 1657157575766} + {:block/name "为什么要用多线程", + :block/created-at 1657157575289, + :block/updated-at 1657157575289} + {:block/name "为什么选择mysql5.7,而不用5.5 5.6", + :block/created-at 1657157575437, + :block/updated-at 1657157575437} + {:block/name "为什么选择seata来处理分布式事务", + :block/created-at 1657157575852, + :block/updated-at 1657157575852} + {:block/name "乐观锁", + :block/created-at 1657260300380, + :block/updated-at 1657260300380} + {:block/name "了解网关么,网关的作用是什么,你都在网关中配置过什么内容", + :block/created-at 1657157575911, + :block/updated-at 1657157575911} + {:block/name "事务", + :block/created-at 1657260301817, + :block/updated-at 1657260301817} + {:block/name "事务在什么情况下会失效", + :block/created-at 1657157575457, + :block/updated-at 1657174921581} + {:block/name "二叉查找法", + :block/created-at 1649908349192, + :block/updated-at 1649908349192} + {:block/name "二叉树", + :block/created-at 1650436212532, + :block/updated-at 1650436212532} + {:block/name "二进制", + :block/created-at 1650331205815, + :block/updated-at 1650331205815} + {:block/name "互联网企业面试题", + :block/created-at 1650621154774, + :block/updated-at 1650621392359} + {:block/name "交集", + :block/created-at 1650442649580, + :block/updated-at 1650442649580} + {:block/name "产品需求文档", + :block/created-at 1659689882388, + :block/updated-at 1659689930351} + {:block/name "京东万象", + :block/created-at 1657765252872, + :block/updated-at 1657765252872} + {:block/name "什么是2阶段提交,seata是如何做2阶段提交的", + :block/created-at 1657157575934, + :block/updated-at 1657157575934} + {:block/name "什么是atomicinteger", + :block/created-at 1657157575373, + :block/updated-at 1657157575373} + {:block/name "什么是java的反射", + :block/created-at 1657157575585, + :block/updated-at 1657157575585} + {:block/name "什么是socket编程", + :block/created-at 1657157575538, + :block/updated-at 1657157575538} + {:block/name "什么是sql注入,如何防止", + :block/created-at 1657157575501, + :block/updated-at 1657157575501} + {:block/name "什么是volatile,它的作用是什么", + :block/created-at 1657157575370, + :block/updated-at 1657157575370} + {:block/name "什么是分布式事务,项目中哪些地方遇到分布式事务", + :block/created-at 1657157575931, + :block/updated-at 1657157575931} + {:block/name "什么是反射", + :block/created-at 1657157575578, + :block/updated-at 1657157575578} + {:block/name "什么是同步代码块", + :block/created-at 1657157575308, + :block/updated-at 1657157575308} + {:block/name "什么是多线程死锁", + :block/created-at 1657157575316, + :block/updated-at 1657157575316} + {:block/name "什么是守护线程,如何做到", + :block/created-at 1657157575363, + :block/updated-at 1657157575363} + {:block/name "什么是接口幂等性,如何保证接口幂等性操作", + :block/created-at 1657157575744, + :block/updated-at 1657157575744} + {:block/name "什么是数据库回表,如何避免回表查询", + :block/created-at 1657157575439, + :block/updated-at 1657157575439} + {:block/name "什么是线程同步", + :block/created-at 1657157575305, + :block/updated-at 1657157575305} + {:block/name "什么是线程安全", + :block/created-at 1657157575299, + :block/updated-at 1657157575299} + {:block/name "什么是线程池它的作用是什么", + :block/created-at 1657157575343, + :block/updated-at 1657157575343} + {:block/name "什么是聚簇索引,什么是非聚簇索引", + :block/created-at 1657157575489, + :block/updated-at 1657157575489} + {:block/name "什么是虚拟机参数配置 你是否配置过 在哪里配置", + :block/created-at 1657157575395, + :block/updated-at 1657157575395} + {:block/name "什么是设计模式,有多少个", + :block/created-at 1657157575550, + :block/updated-at 1657157575550} + {:block/name "介绍一下spring,springboot,springcloud", + :block/created-at 1657157575882, + :block/updated-at 1657157575882} + {:block/name "介绍一下你的项目aop日志功能如何实现的", + :block/created-at 1657157575626, + :block/updated-at 1657157575626} + {:block/name "代理设计模式中,静态代理和动态代理的区别", + :block/created-at 1657157575555, + :block/updated-at 1657157575555} + {:block/name "会议层", + :block/created-at 1650636324905, + :block/updated-at 1650636324905} + {:block/name "传参", + :block/created-at 1649381373549, + :block/updated-at 1650079888314} + {:block/name "传输层", + :block/created-at 1650636324906, + :block/updated-at 1650636324906} + {:block/name "位运算符", + :block/created-at 1649215185978, + :block/updated-at 1649663069403} + {:block/name "低耦合", + :block/created-at 1649659961033, + :block/updated-at 1649660035488} + {:block/name "你上个项目用的springboot版本是那个版本的", + :block/created-at 1657157575657, + :block/updated-at 1657157575657} + {:block/name "你们开发规范是什么,具体开发流程是什么,需求分析谁做,原型设计怎么来的", + :block/created-at 1657157575971, + :block/updated-at 1657157575971} + {:block/name "你们通过哪些手段处理系统的高并发问题", + :block/created-at 1657157575842, + :block/updated-at 1657157575842} + {:block/name "你们项目上线前会在哪里测试 怎么部署的 多个环境你该怎么设置", + :block/created-at 1657157575983, + :block/updated-at 1657157575983} + {:block/name "你们项目中,使用的什么 数据交换格式", + :block/created-at 1657157575676, + :block/updated-at 1657157575676} + {:block/name "你在项目中遇到的最大问题是什么 如何解决的", + :block/created-at 1657157575952, + :block/updated-at 1657157575952} + {:block/name "你对restful架构风格是如何理解的 平时都是怎么样的", + :block/created-at 1657157575700, + :block/updated-at 1657157575700} + {:block/name "你是怎么创建线程池的", + :block/created-at 1657157575348, + :block/updated-at 1657157575348} + {:block/name "你熟悉秒杀流程 那么秒杀如何保证数据一致性", + :block/created-at 1657157575980, + :block/updated-at 1657157575980} + {:block/name "你觉得springcloud相比传统的springmvc有什么优势", + :block/created-at 1657157575868, + :block/updated-at 1657157575868} + {:block/name "你都知道哪些锁", + :block/created-at 1657157575376, + :block/updated-at 1657157575376} + {:block/name "你项目中的哪些地方使用到多线程", + :block/created-at 1657157575297, + :block/updated-at 1657157575297} + {:block/name "使用的redis是集群的嘛 有多少个节点,采用的是那种集群方案", + :block/created-at 1657157575754, + :block/updated-at 1657157575754} + {:block/name "假如1个接口的qps只有10,超过10会怎样 如何解决", + :block/created-at 1657157575960, + :block/updated-at 1657157575960} + {:block/name "假设你redis里面有9个商品,我现在有10人来买,怎么防止超卖问题", + :block/created-at 1657157575776, + :block/updated-at 1657157575776} + {:block/name "做集群的时候事务怎么处理", + :block/created-at 1657157575874, + :block/updated-at 1657157575874} + {:block/name "健壮性", + :block/created-at 1650331183908, + :block/updated-at 1650331183908} + {:block/name "元空间", + :block/created-at 1649399132284, + :block/updated-at 1649399257832} + {:block/name "元素", + :block/created-at 1653533260526, + :block/updated-at 1653533260526} + {:block/name "兄弟类", + :block/created-at 1650350376131, + :block/updated-at 1650350397930} + {:block/name "全局变量", + :block/created-at 1649215186150, + :block/updated-at 1649215186150} + {:block/name "全文检索引擎", + :block/created-at 1657505762190, + :block/updated-at 1657505788967} + {:block/name "关于多线程锁升级的理解", + :block/created-at 1657157575330, + :block/updated-at 1657157575330} + {:block/name "关系型数据库", + :block/created-at 1657157573091, + :block/updated-at 1657157573091} + {:block/name "关系运算符", + :block/created-at 1649215186335, + :block/updated-at 1650077043063} + {:block/name "关键字", + :block/created-at 1649820628344, + :block/updated-at 1649820628344} + {:block/name "关闭连接一定能成功吗 怎么保证一定成功关闭连接", + :block/created-at 1657157575504, + :block/updated-at 1657157575504} + {:block/name "其它功能流", + :block/created-at 1650608103075, + :block/updated-at 1650608103075} + {:block/name "内存模型", + :block/created-at 1649399463813, + :block/updated-at 1649399463813} + {:block/name "内存泄漏与内存溢出的区别", + :block/created-at 1657157575422, + :block/updated-at 1657157575422} + {:block/name "内存溢出你是咋解决的", + :block/created-at 1657157575417, + :block/updated-at 1657157575417} + {:block/name "内部类", + :block/created-at 1650350298123, + :block/updated-at 1650350493994} + {:block/name "冒泡排序", + :block/created-at 1649228634628, + :block/updated-at 1649228634628} + {:block/name "写个时间复杂度为o(n)的算法,找到一个数列第二大的数", + :block/created-at 1657157575229, + :block/updated-at 1657157575229} + {:block/name "分布式", + :block/created-at 1650331202485, + :block/updated-at 1650331202485} + {:block/name "分布式事务的两个理论特性 是什么", + :block/created-at 1657157575944, + :block/updated-at 1657157575944} + {:block/name "分布式事务的原理", + :block/created-at 1657157575850, + :block/updated-at 1657157575850} + {:block/name "分布式锁的目的", + :block/created-at 1657157575765, + :block/updated-at 1657157575765} + {:block/name "分布式高并发下的订单id是如何生成的", + :block/created-at 1657157575879, + :block/updated-at 1657157575879} + {:block/name "分析hashmap为什么线程不安全", + :block/created-at 1657157575265, + :block/updated-at 1657157575265} + {:block/name "前后端分离", + :block/created-at 1657765253330, + :block/updated-at 1657783793654} + {:block/name "动态代理中jdk代理和cglib代理区别 代理模式,在项目中哪些地方有应用", + :block/created-at 1657157575557, + :block/updated-at 1657157575557} + {:block/name "动态代理模式中jdk与cglib的区别", + :block/created-at 1657157575616, + :block/updated-at 1657157575616} + {:block/name "动态多态", + :block/created-at 1649820620314, + :block/updated-at 1649820620314} + {:block/name "动态方法", + :block/created-at 1649402650831, + :block/updated-at 1649402650831} + {:block/name "包装", + :block/created-at 1649406861138, + :block/updated-at 1649406861138} + {:block/name "包装类", + :block/created-at 1650002701247, + :block/updated-at 1650073601893} + {:block/name "匿名内部类", + :block/created-at 1650350273077, + :block/updated-at 1650352725395} + {:block/name "十六进制", + :block/created-at 1650331208081, + :block/updated-at 1650331208081} + {:block/name "协议", + :block/created-at 1650636326492, + :block/updated-at 1650636326492} + {:block/name "单例设计模式,你会手写么 在项目中哪些地方有应用", + :block/created-at 1657157575552, + :block/updated-at 1657157575552} + {:block/name "单分支", + :block/created-at 1649215182033, + :block/updated-at 1649215182033} + {:block/name "单点登录的实现原理", + :block/created-at 1657157575964, + :block/updated-at 1657157575964} + {:block/name "单精度浮点", + :block/created-at 1649215186658, + :block/updated-at 1649215186658} + {:block/name "原码", + :block/created-at 1649215186785, + :block/updated-at 1649215186785} + {:block/name "去重", + :block/created-at 1650436211942, + :block/updated-at 1650436211942} + {:block/name "参数", + :block/created-at 1650331185166, + :block/updated-at 1650331185166} + {:block/name "双精度浮点", + :block/created-at 1649215186923, + :block/updated-at 1649215186923} + {:block/name "反射", + :block/created-at 1653189835576, + :block/updated-at 1653189835576} + {:block/name "反射操作私有属性时,需要注意什么", + :block/created-at 1657157575589, + :block/updated-at 1657157575589} + {:block/name "反射获得class对象的3种方式", + :block/created-at 1657157575588, + :block/updated-at 1657157575588} + {:block/name "反序列化", + :block/created-at 1650636327634, + :block/updated-at 1650636327634} + {:block/name "反码", + :block/created-at 1649215186779, + :block/updated-at 1649215186779} + {:block/name "变量", + :block/created-at 1649215187261, + :block/updated-at 1650078772380} + {:block/name "可不可以配置两个数据源 比如一个mysql和一个oracle 在哪里配置,怎么配置", + :block/created-at 1657157575662, + :block/updated-at 1657157575662} + {:block/name "可维护性", + :block/created-at 1650331208608, + :block/updated-at 1650331208608} + {:block/name "同步与异步的区别", + :block/created-at 1657157575319, + :block/updated-at 1657157575319} + {:block/name "同步代码块和同步函数之间有什么区别", + :block/created-at 1657157575313, + :block/updated-at 1657157575313} + {:block/name "同步函数", + :block/created-at 1657606373094, + :block/updated-at 1657606373094} + {:block/name "同步函数和静态同步函数之间有什么区别", + :block/created-at 1657157575314, + :block/updated-at 1657157575314} + {:block/name "同步方法与同步块的区别", + :block/created-at 1657157575341, + :block/updated-at 1657157575341} + {:block/name "后台线程", + :block/created-at 1657357099481, + :block/updated-at 1657357099481} + {:block/name "向上转型", + :block/created-at 1649820616060, + :block/updated-at 1649820616060} + {:block/name "向上转型与向下转型", + :block/created-at 1649215195594, + :block/updated-at 1649215195594} + {:block/name "向下转型", + :block/created-at 1649820616065, + :block/updated-at 1649820616065} + {:block/name "周考1", + :block/created-at 1649215177134, + :block/updated-at 1649226998173} + {:block/name "周考2", + :block/created-at 1650089014547, + :block/updated-at 1650101191192} + {:block/name "命令行参数", + :block/created-at 1649046748645, + :block/updated-at 1649046748645} + {:block/name "四舍五入", + :block/created-at 1650331201450, + :block/updated-at 1650331201450} + {:block/name "在http请求中如何存储客户信息(分如何获取和如何存储)", + :block/created-at 1657157575673, + :block/updated-at 1657157575673} + {:block/name "在使用git的过程中,遇到冲突,你是如何处理的", + :block/created-at 1657157575962, + :block/updated-at 1657157575962} + {:block/name "在生成订单过程中,如果mysql崩了,怎么办", + :block/created-at 1657157575991, + :block/updated-at 1657157575991} + {:block/name "在请求中如何存储客户信息", + :block/created-at 1657157575689, + :block/updated-at 1657157575689} + {:block/name "地址值", + :block/created-at 1649666713370, + :block/updated-at 1649666713370} + {:block/name "域名", + :block/created-at 1650636326492, + :block/updated-at 1650636326492} + {:block/name "基本数据类型", + :block/created-at 1649215187877, + :block/updated-at 1650077326802} + {:block/name "堆", + :block/created-at 1649215189414, + :block/updated-at 1649399208650} + {:block/name "复合赋值运算符", + :block/created-at 1649215188132, + :block/updated-at 1649215188132} + {:block/name "复用性", + :block/created-at 1650331208607, + :block/updated-at 1650331208607} + {:block/name "多分支", + :block/created-at 1649215182052, + :block/updated-at 1649215182052} + {:block/name "多态", + :block/created-at 1649046830883, + :block/updated-at 1650079373950} + {:block/name "多态集合", + :block/created-at 1649820624999, + :block/updated-at 1649820624999} + {:block/name "多线程", + :block/created-at 1650331202489, + :block/updated-at 1657347648538} + {:block/name "多线程的创建", + :block/created-at 1657347689818, + :block/updated-at 1657355752231} + {:block/name "多线程的创建方式有哪些", + :block/created-at 1657157575291, + :block/updated-at 1657157575291} + {:block/name "多维数组", + :block/created-at 1648805231475, + :block/updated-at 1649137033746} + {:block/name "大佬跟你讲的东西,你怎么判断正不正确", + :block/created-at 1657157575985, + :block/updated-at 1657157575985} + {:block/name "大驼峰", + :block/created-at 1650331206734, + :block/updated-at 1650339181952} + {:block/name "如何使用jdk1.8新特性从商品集合中单独把某一个字段(比如id)拿出来当做一个集合", + :block/created-at 1657157573879, + :block/updated-at 1657157573879} + {:block/name "如何保证与数据库的双写一致性", + :block/created-at 1657157575751, + :block/updated-at 1657157575751} + {:block/name "如何做到集合变遍历,边删除", + :block/created-at 1657157575209, + :block/updated-at 1657157575209} + {:block/name "如何停止一根线程", + :block/created-at 1657157575360, + :block/updated-at 1657157575360} + {:block/name "如何克隆一个对象 浅克隆与深克隆区别在哪里", + :block/created-at 1657157575562, + :block/updated-at 1657157575562} + {:block/name "如何获得map集合中的所有的key", + :block/created-at 1657157575235, + :block/updated-at 1657157575235} + {:block/name "如何解决多线程间线程安全问题", + :block/created-at 1657157575301, + :block/updated-at 1657157575301} + {:block/name "如何解决消息延时及过期失效的问题 如果有几百万条消息持续积压几小时,说说怎么解决", + :block/created-at 1657157575723, + :block/updated-at 1657157575723} + {:block/name "如何设置最大堆空间大小", + :block/created-at 1657157575406, + :block/updated-at 1657157575406} + {:block/name "如何跳出多重循环", + :block/created-at 1657157575576, + :block/updated-at 1657157575576} + {:block/name "如何防止后端接口被攻击", + :block/created-at 1657157575965, + :block/updated-at 1657157575965} + {:block/name "如何防止表单重复提交", + :block/created-at 1657157575690, + :block/updated-at 1657157575690} + {:block/name "如果你在linux部署的项目出现报错时,你需要定位报错信息在哪怎么做", + :block/created-at 1657157575817, + :block/updated-at 1657157575817} + {:block/name "如果保证用户一定能消费成功", + :block/created-at 1657157575714, + :block/updated-at 1657157575714} + {:block/name "如果给你一个功能,你觉得从数据库设计开始的思路是什么", + :block/created-at 1657157575473, + :block/updated-at 1657157575473} + {:block/name "如果让你自己写个mq服务器,你的思路是什么 需要使用到什么技术", + :block/created-at 1657157575721, + :block/updated-at 1657157575721} + {:block/name "如果运行结果跟预期不一样,但是代码没报错,怎么处理", + :block/created-at 1657157575606, + :block/updated-at 1657157575606} + {:block/name "字符串", + :block/created-at 1649820616075, + :block/updated-at 1649833834370} + {:block/name "字符串概述", + :block/created-at 1649833724519, + :block/updated-at 1649841818319} + {:block/name "字符流", + :block/created-at 1650446718713, + :block/updated-at 1650446718713} + {:block/name "字符类型", + :block/created-at 1649215187844, + :block/updated-at 1649215187844} + {:block/name "字节", + :block/created-at 1649215187866, + :block/updated-at 1649215187866} + {:block/name "字节流", + :block/created-at 1650446706402, + :block/updated-at 1650448816615} + {:block/name "字节码", + :block/created-at 1650331201914, + :block/updated-at 1650331201914} + {:block/name "字节类型", + :block/created-at 1649215187869, + :block/updated-at 1649215187869} + {:block/name "字面量常量", + :block/created-at 1649215187254, + :block/updated-at 1649215187254} + {:block/name "守护线程", + :block/created-at 1657355378263, + :block/updated-at 1657357234059} + {:block/name "守护线程是什么如何实现", + :block/created-at 1657157575383, + :block/updated-at 1657157575383} + {:block/name "定时器", + :block/created-at 1657355360682, + :block/updated-at 1657356817637} + {:block/name "实体对象", + :block/created-at 1649647584297, + :block/updated-at 1649647652117} + {:block/name "实体层", + :block/created-at 1650636324909, + :block/updated-at 1650636324909} + {:block/name "实例代码块", + :block/created-at 1649821030020, + :block/updated-at 1649821214883} + {:block/name "实参", + :block/created-at 1650331204968, + :block/updated-at 1650331204968} + {:block/name "对springioc的理解", + :block/created-at 1657157575613, + :block/updated-at 1657157575613} + {:block/name "对象", + :block/created-at 1649401757444, + :block/updated-at 1649401757444} + {:block/name "对象的内存模型分析", + :block/created-at 1649215195527, + :block/updated-at 1649399463815} + {:block/name "封装", + :block/created-at 1649406721749, + :block/updated-at 1649407188068} + {:block/name "小驼峰", + :block/created-at 1650331207818, + :block/updated-at 1650331207818} + {:block/name "局部变量", + :block/created-at 1649215186146, + :block/updated-at 1649215186146} + {:block/name "属性", + :block/created-at 1650331208414, + :block/updated-at 1650331208414} + {:block/name "属性和行为", + :block/created-at 1649385007333, + :block/updated-at 1649389551545} + {:block/name "嵌套判断", + :block/created-at 1649215182046, + :block/updated-at 1649215182046} + {:block/name "嵌套循环", + :block/created-at 1649215189166, + :block/updated-at 1649215189166} + {:block/name "工业园区智慧管理系统", + :block/created-at 1658284629205, + :block/updated-at 1658286392652} + {:block/name "工厂设计模式的作用 简单工厂会写不 在项目中哪些地方有应用", + :block/created-at 1657157575560, + :block/updated-at 1657157575560} + {:block/name "差集", + :block/created-at 1650442668953, + :block/updated-at 1650442668953} + {:block/name "布尔类型", + :block/created-at 1649215187847, + :block/updated-at 1649215187847} + {:block/name "常用操作字符串有哪些类 stringbuffer,stringbuilder", + :block/created-at 1657157575574, + :block/updated-at 1657157575574} + {:block/name "常量", + :block/created-at 1649820619444, + :block/updated-at 1649820619444} + {:block/name "幂等性问题会出现在哪些地方", + :block/created-at 1657157575746, + :block/updated-at 1657157575746} + {:block/name "并发与并行的区别", + :block/created-at 1657157575329, + :block/updated-at 1657157575329} + {:block/name "并集", + :block/created-at 1650442656240, + :block/updated-at 1650442656240} + {:block/name "序列化", + :block/created-at 1650538806196, + :block/updated-at 1650538806196} + {:block/name "应用层", + :block/created-at 1650636324903, + :block/updated-at 1650636324903} + {:block/name "延迟队列如何实现", + :block/created-at 1657157575719, + :block/updated-at 1657157575719} + {:block/name "延迟队列,死信队列的区别是什么", + :block/created-at 1657157575715, + :block/updated-at 1657157575715} + {:block/name "异常", + :block/created-at 1650252016634, + :block/updated-at 1650263426165} + {:block/name "异常抛出", + :block/created-at 1650331179423, + :block/updated-at 1650331179423} + {:block/name "异常捕获", + :block/created-at 1650263084206, + :block/updated-at 1650264380594} + {:block/name "异常的分类,如何自定义异常", + :block/created-at 1657157575565, + :block/updated-at 1657157575565} + {:block/name "引用数据类型", + :block/created-at 1649215187835, + :block/updated-at 1649215187835} + {:block/name "强制转换", + :block/created-at 1649215189580, + :block/updated-at 1649215189580} + {:block/name "强类型", + :block/created-at 1650331205809, + :block/updated-at 1650331205809} + {:block/name + "当application.properties,application.yaml,bootstrap.yaml文件同时存在的情况下,它们的执行顺序是怎样的", + :block/created-at 1657157575667, + :block/updated-at 1657157575667} + {:block/name "形参", + :block/created-at 1650331204966, + :block/updated-at 1650331204966} + {:block/name "微服务的搭建步骤", + :block/created-at 1657157575898, + :block/updated-at 1657157575898} + {:block/name "微服务组件都用过哪些,你们微服务的业务逻辑是什么样子的", + :block/created-at 1657157575901, + :block/updated-at 1657157575901} + {:block/name "怎么理解过程一致性和结果一致性", + :block/created-at 1657157575334, + :block/updated-at 1657157575334} + {:block/name "怎么用sql语句复制另一张表", + :block/created-at 1657157575458, + :block/updated-at 1657157575458} + {:block/name "悲观锁", + :block/created-at 1657260301759, + :block/updated-at 1657260301759} + {:block/name "抽象", + :block/created-at 1649406808852, + :block/updated-at 1649406808852} + {:block/name "抽象方法", + :block/created-at 1649820626952, + :block/updated-at 1649820626952} + {:block/name "抽象类", + :block/created-at 1648863179646, + :block/updated-at 1650079417572} + {:block/name "抽象类可以继承实体类么", + :block/created-at 1657157575590, + :block/updated-at 1657157575590} + {:block/name "抽象类可以继承接口么", + :block/created-at 1657157575592, + :block/updated-at 1657157575592} + {:block/name "指针", + :block/created-at 1650331202481, + :block/updated-at 1650331202481} + {:block/name "排序", + :block/created-at 1650337048323, + :block/updated-at 1650337083335} + {:block/name "接口", + :block/created-at 1648863179646, + :block/updated-at 1650080392465} + {:block/name "接口可以继承抽象类么", + :block/created-at 1657157575594, + :block/updated-at 1657157575594} + {:block/name "敏捷开发", + :block/created-at 1658221213673, + :block/updated-at 1658222237989} + {:block/name "数据库", + :block/created-at 1653189835121, + :block/updated-at 1657071903389} + {:block/name "数据库中btree 与hash索引的区别", + :block/created-at 1657157575438, + :block/updated-at 1657157575438} + {:block/name "数据库中两张表如何要联合查询,要如何实现", + :block/created-at 1657157575454, + :block/updated-at 1657157575454} + {:block/name "数据库中哪些字段适合加索引 ,哪些不适合加索引", + :block/created-at 1657157575487, + :block/updated-at 1657157575487} + {:block/name "数据库中复合索引的字段中可以有null值吗", + :block/created-at 1657157575517, + :block/updated-at 1657157575517} + {:block/name "数据库中如何快速插入100w级数据", + :block/created-at 1657157575446, + :block/updated-at 1657157575446} + {:block/name "数据库引擎", + :block/created-at 1657260300387, + :block/updated-at 1657260300387} + {:block/name "数据库用户id主键策略", + :block/created-at 1657157575478, + :block/updated-at 1657157575478} + {:block/name "数据库的sql语句如何加锁", + :block/created-at 1657157575486, + :block/updated-at 1657157575486} + {:block/name "数据库的执行计划", + :block/created-at 1657157575480, + :block/updated-at 1657157575480} + {:block/name "数据库管理系统", + :block/created-at 1653189835126, + :block/updated-at 1653189835126} + {:block/name "数据库连表查询,左外联,右外联,内联查的区别", + :block/created-at 1657157575460, + :block/updated-at 1657157575460} + {:block/name "数据链路层", + :block/created-at 1650636324908, + :block/updated-at 1650636324908} + {:block/name "数组", + :block/created-at 1649833963908, + :block/updated-at 1649833963908} + {:block/name "数组内存分析", + :block/created-at 1649215190196, + :block/updated-at 1650079736256} + {:block/name "数组基础", + :block/created-at 1649215190330, + :block/updated-at 1649215190330} + {:block/name "数组排序", + :block/created-at 1649215177500, + :block/updated-at 1650079080188} + {:block/name "数组的排序算法,你都知道哪些请列举并手写一个出来", + :block/created-at 1657157575286, + :block/updated-at 1657157575286} + {:block/name "数组的遍历", + :block/created-at 1648804037791, + :block/updated-at 1649151333734} + {:block/name "数组,链表,哪个查询效率高,为什么高", + :block/created-at 1657157575280, + :block/updated-at 1657157575280} + {:block/name "整型", + :block/created-at 1649215187860, + :block/updated-at 1649215187860} + {:block/name "方法", + :block/created-at 1649046776216, + :block/updated-at 1649046776216} + {:block/name "方法重载", + :block/created-at 1649046797138, + :block/updated-at 1650079956655} + {:block/name "无参构造器", + :block/created-at 1649644942915, + :block/updated-at 1649645765443} + {:block/name "是否写过hashmap的底层,了解过什么", + :block/created-at 1657157575218, + :block/updated-at 1657157575218} + {:block/name "是继承thread类好,还是实现runnable接口好", + :block/created-at 1657157575293, + :block/updated-at 1657157575293} + {:block/name "普通类和抽象类有哪些区别", + :block/created-at 1657157575567, + :block/updated-at 1657157575567} + {:block/name "普通类和抽象类的区别 接口和抽象的区别", + :block/created-at 1657157575572, + :block/updated-at 1657157575572} + {:block/name "最多有过几张表的连表处理", + :block/created-at 1657157575435, + :block/updated-at 1657157575435} + {:block/name "有个数组,如何颠倒所有的元素", + :block/created-at 1657157575270, + :block/updated-at 1657157575270} + {:block/name "有几种方法可以遍历java集合", + :block/created-at 1657157575250, + :block/updated-at 1657157575250} + {:block/name "有参构造器", + :block/created-at 1649644948619, + :block/updated-at 1649645790788} + {:block/name "有哪些地方必须关闭资源", + :block/created-at 1657157575508, + :block/updated-at 1657157575508} + {:block/name "有哪些方法可以防止微服务接口被攻击", + :block/created-at 1657157575929, + :block/updated-at 1657157575929} + {:block/name "有张100w级的表中存在大量的重复数据,如何快速去重", + :block/created-at 1657157575449, + :block/updated-at 1657157575449} + {:block/name "有没有用过断点调试 怎么用的", + :block/created-at 1657157575607, + :block/updated-at 1657157575607} + {:block/name "有没有设计过数据库 数据库三范式讲一下", + :block/created-at 1657157575510, + :block/updated-at 1657157575510} + {:block/name "服务熔断和服务降级,项目是如何运用的", + :block/created-at 1657157575839, + :block/updated-at 1657157575839} + {:block/name "本地方法栈", + :block/created-at 1649399108838, + :block/updated-at 1649399241002} + {:block/name "构造器", + :block/created-at 1649408959734, + :block/updated-at 1650080096401} + {:block/name "标识符", + :block/created-at 1649215191017, + :block/updated-at 1650078659637} + {:block/name "栈", + :block/created-at 1649215189416, + :block/updated-at 1649399161599} + {:block/name "栈溢出你是咋解决的", + :block/created-at 1657157575419, + :block/updated-at 1657157575419} + {:block/name "核心库", + :block/created-at 1650331202511, + :block/updated-at 1650331202511} + {:block/name "格式化输出", + :block/created-at 1649215177497, + :block/updated-at 1650078960342} + {:block/name "模块", + :block/created-at 1649046919359, + :block/updated-at 1649046919359} + {:block/name "正则表达式", + :block/created-at 1650168860290, + :block/updated-at 1650170125153} + {:block/name "死锁", + :block/created-at 1657355365860, + :block/updated-at 1657357066876} + {:block/name "每天1万人访问主页并发量有多少", + :block/created-at 1657157575967, + :block/updated-at 1657157575967} + {:block/name "比较器", + :block/created-at 1650436212562, + :block/updated-at 1650436212562} + {:block/name "汇编语言", + :block/created-at 1650331208980, + :block/updated-at 1650331208980} + {:block/name "汽车租车系统", + :block/created-at 1653189834619, + :block/updated-at 1653189834619} + {:block/name "泛型", + :block/created-at 1650348579392, + :block/updated-at 1650349771720} + {:block/name "泛型接口", + :block/created-at 1650349323498, + :block/updated-at 1650349323498} + {:block/name "泛型擦除", + :block/created-at 1650349480317, + :block/updated-at 1650349480317} + {:block/name "泛型方法", + :block/created-at 1650349227744, + :block/updated-at 1650349227744} + {:block/name "泛型类", + :block/created-at 1650349103584, + :block/updated-at 1650349103584} + {:block/name "注解", + :block/created-at 1649665829804, + :block/updated-at 1649822521079} + {:block/name "测试怎么做的", + :block/created-at 1657157575974, + :block/updated-at 1657157575974} + {:block/name "深圳蜗牛java面试题", + :block/created-at 1657157570485, + :block/updated-at 1657157570485} + {:block/name "瀑布模型", + :block/created-at 1658219533032, + :block/updated-at 1658221101198} + {:block/name "生产环境中应用有问题如何分析问题", + :block/created-at 1657157576000, + :block/updated-at 1657157576000} + {:block/name "生产者消费模式", + :block/created-at 1657355350193, + :block/updated-at 1657355612481} + {:block/name "用过哪些经典的设计模式,谈谈你对它们的理解", + :block/created-at 1657157575957, + :block/updated-at 1657157575957} + {:block/name "用过的linux系统都有哪些 什么版本", + :block/created-at 1657157575812, + :block/updated-at 1657157575812} + {:block/name "知道redis的看门狗机制么,为什么要用到看门狗", + :block/created-at 1657157575789, + :block/updated-at 1657157575789} + {:block/name "知道拦截器么,你项目中哪里使用过拦截器", + :block/created-at 1657157575650, + :block/updated-at 1657157575650} + {:block/name "短整数类型", + :block/created-at 1649215187863, + :block/updated-at 1649215187863} + {:block/name "禅道", + :block/created-at 1658213954707, + :block/updated-at 1658219520580} + {:block/name "科学计数法", + :block/created-at 1650331208078, + :block/updated-at 1650331208078} + {:block/name "程序", + :block/created-at 1649215181739, + :block/updated-at 1649215181739} + {:block/name "程序/注释", + :block/created-at 1649215181732, + :block/updated-at 1649215181732} + {:block/name "程序计数器", + :block/created-at 1649399120357, + :block/updated-at 1649399120357} + {:block/name "空指针", + :block/created-at 1650331206994, + :block/updated-at 1650331206994} + {:block/name "端口", + :block/created-at 1650636326491, + :block/updated-at 1650636326491} + {:block/name "简明知意", + :block/created-at 1650331207819, + :block/updated-at 1650331207819} + {:block/name "算术运算符", + :block/created-at 1649215191819, + :block/updated-at 1649215191819} + {:block/name "类", + :block/created-at 1649659990421, + :block/updated-at 1650080668268} + {:block/name "类和对象的创建", + :block/created-at 1649215195512, + :block/updated-at 1650079672125} + {:block/name "类属性", + :block/created-at 1649403547313, + :block/updated-at 1649403547313} + {:block/name "类方法", + :block/created-at 1649402739095, + :block/updated-at 1649402739095} + {:block/name "索引失效的场景有哪些", + :block/created-at 1657157575484, + :block/updated-at 1657157575484} + {:block/name "红锁是怎么实现的 原理是什么", + :block/created-at 1657157575787, + :block/updated-at 1657157575787} + {:block/name "红黑二叉树", + :block/created-at 1650436211902, + :block/updated-at 1650436211902} + {:block/name "线程同步", + :block/created-at 1657355041266, + :block/updated-at 1657355763088} + {:block/name "线程同步的几个方法", + :block/created-at 1657157575326, + :block/updated-at 1657157575326} + {:block/name "线程安全", + :block/created-at 1657352850687, + :block/updated-at 1657352985845} + {:block/name "线程安全的集合有哪些", + :block/created-at 1657157575207, + :block/updated-at 1657157575207} + {:block/name "线程是如何开始的", + :block/created-at 1657157575380, + :block/updated-at 1657157575380} + {:block/name "线程池", + :block/created-at 1657355740623, + :block/updated-at 1657356696193} + {:block/name "线程池有哪些核心参数", + :block/created-at 1657157575346, + :block/updated-at 1657157575346} + {:block/name "线程状态", + :block/created-at 1657349830643, + :block/updated-at 1657350352498} + {:block/name "线程的原子性是什么", + :block/created-at 1657157575350, + :block/updated-at 1657157575350} + {:block/name "线程的生命周期", + :block/created-at 1657157575323, + :block/updated-at 1657157575323} + {:block/name "组件化开发", + :block/created-at 1657765275462, + :block/updated-at 1657783429270} + {:block/name "给你一个数值类型数组,如何以最快的方式,查找到某一个元素", + :block/created-at 1657157575268, + :block/updated-at 1657157575268} + {:block/name "继承", + :block/created-at 1649046819566, + :block/updated-at 1650079351095} + {:block/name "继承器", + :block/created-at 1650331204697, + :block/updated-at 1650331204697} + {:block/name "继承方式", + :block/created-at 1649215195564, + :block/updated-at 1649662951261} + {:block/name "继承的定义", + :block/created-at 1649215195558, + :block/updated-at 1649659088709} + {:block/name "缓冲流", + :block/created-at 1650538806171, + :block/updated-at 1650538806171} + {:block/name "缓存穿透,击穿,雪崩对应的解决方案是什么", + :block/created-at 1657157575752, + :block/updated-at 1657157575752} + {:block/name "编程语言", + :block/created-at 1649215194715, + :block/updated-at 1650076410315} + {:block/name "编程题,给你一个整数数组,进行排序,输入一个k,从小到大输出k个数", + :block/created-at 1657157575269, + :block/updated-at 1657157575269} + {:block/name "编译", + :block/created-at 1650331201910, + :block/updated-at 1650331201910} + {:block/name "编译器", + :block/created-at 1650331183930, + :block/updated-at 1650331183930} + {:block/name "编译异常", + :block/created-at 1650263198292, + :block/updated-at 1650263198292} + {:block/name "网关是如何找到其他微服务的", + :block/created-at 1657157575914, + :block/updated-at 1657157575914} + {:block/name "网关限流如何配置 限流算法都用过哪些", + :block/created-at 1657157575912, + :block/updated-at 1657157575912} + {:block/name "网关限流时,采用什么技术,使用什么限流算法 咋配置", + :block/created-at 1657157575876, + :block/updated-at 1657157575876} + {:block/name "网络层", + :block/created-at 1650636324906, + :block/updated-at 1650636324906} + {:block/name "网络编程", + :block/created-at 1650608103126, + :block/updated-at 1650608103126} + {:block/name "网络通讯中tcp协议,udp协议的区别", + :block/created-at 1657157575571, + :block/updated-at 1657157575571} + {:block/name "耦合性", + :block/created-at 1649660116366, + :block/updated-at 1649660124613} + {:block/name "联合索引与普通索引的区别在哪里", + :block/created-at 1657157575448, + :block/updated-at 1657157575448} + {:block/name "能详细说下非对称加密的流程吗", + :block/created-at 1657157575996, + :block/updated-at 1657157575996} + {:block/name "自增运算符", + :block/created-at 1649215191827, + :block/updated-at 1649215191827} + {:block/name "自定义常量", + :block/created-at 1649215187256, + :block/updated-at 1649215187256} + {:block/name "自定义异常", + :block/created-at 1650331179429, + :block/updated-at 1650331179429} + {:block/name "自定义排序", + :block/created-at 1650340413624, + :block/updated-at 1650340413624} + {:block/name "自定义标识符", + :block/created-at 1650331207812, + :block/updated-at 1650331207812} + {:block/name "自定义注解", + :block/created-at 1649666262228, + :block/updated-at 1649666262228} + {:block/name "自旋锁的特征", + :block/created-at 1657157575283, + :block/updated-at 1657157575283} + {:block/name "自然排序", + :block/created-at 1650337946967, + :block/updated-at 1650337946967} + {:block/name "行为", + :block/created-at 1650331206123, + :block/updated-at 1650331206123} + {:block/name "补码", + :block/created-at 1649215186781, + :block/updated-at 1649215186781} + {:block/name "表示层", + :block/created-at 1650636324904, + :block/updated-at 1650636324904} + {:block/name "解码", + :block/created-at 1649215178848, + :block/updated-at 1649215178848} + {:block/name "解释", + :block/created-at 1650331201911, + :block/updated-at 1650331201911} + {:block/name "计划驱动", + :block/created-at 1658221207502, + :block/updated-at 1658222160270} + {:block/name "计算机发展历程", + :block/created-at 1649215196670, + :block/updated-at 1650076258486} + {:block/name "计算机基础理论", + :block/created-at 1649215189861, + :block/updated-at 1650076218431} + {:block/name "计算机组成", + :block/created-at 1649215196941, + :block/updated-at 1649215196941} + {:block/name "讲一下mq服务器的推拉模式,你在项目中是如何运用的", + :block/created-at 1657157575730, + :block/updated-at 1657157575730} + {:block/name "讲一下spring cloud 中的服务注册的机制和配置方法", + :block/created-at 1657157575862, + :block/updated-at 1657157575862} + {:block/name "讲一下浅克隆与深克隆", + :block/created-at 1657157575623, + :block/updated-at 1657157575623} + {:block/name "讲下springaop,项目中你是如何应用的", + :block/created-at 1657157575615, + :block/updated-at 1657157575615} + {:block/name "讲讲类的加载过程以及双亲委派机制", + :block/created-at 1657157575569, + :block/updated-at 1657157575569} + {:block/name "设置新生与老年代代参数", + :block/created-at 1657157575414, + :block/updated-at 1657157575414} + {:block/name "设置新生代与老年代优化参数", + :block/created-at 1657157575409, + :block/updated-at 1657157575409} + {:block/name "设计模式", + :block/created-at 1657519565742, + :block/updated-at 1657519706598} + {:block/name "设计模式中,工厂设计模式有啥用 项目中在哪些地方用过", + :block/created-at 1657157575563, + :block/updated-at 1657157575563} + {:block/name "访问修饰符", + :block/created-at 1649385046422, + :block/updated-at 1649407901827} + {:block/name "说一下 acid 是什么", + :block/created-at 1657157575476, + :block/updated-at 1657157575476} + {:block/name "说一下@requestmapping的作用", + :block/created-at 1657157575648, + :block/updated-at 1657157575648} + {:block/name "说一下jdbc在连接数据库的操作上几个步骤", + :block/created-at 1657157575464, + :block/updated-at 1657157575464} + {:block/name "说一下reddis怎么做集群的", + :block/created-at 1657157575757, + :block/updated-at 1657157575757} + {:block/name "说一下事务的隔离级别和事务的传播性质", + :block/created-at 1657157575469, + :block/updated-at 1657157575469} + {:block/name "说一下你熟悉的设计模式", + :block/created-at 1657157575581, + :block/updated-at 1657157575581} + {:block/name "说一下怎么用rabbitmq实现取消订单的用户积分减少的", + :block/created-at 1657157575739, + :block/updated-at 1657157575739} + {:block/name "说一下怎么防止超卖,sql怎么写", + :block/created-at 1657157575471, + :block/updated-at 1657157575471} + {:block/name "说一下熔断器,你怎么用的,代码怎么写的", + :block/created-at 1657157575871, + :block/updated-at 1657157575871} + {:block/name "说说nacos吧", + :block/created-at 1657157575949, + :block/updated-at 1657157575949} + {:block/name "说说你对java的gc回收机制的理解", + :block/created-at 1657157575431, + :block/updated-at 1657157575431} + {:block/name "说说你对线程的3个特性(原子,可见,有序)的理解", + :block/created-at 1657157575352, + :block/updated-at 1657157575352} + {:block/name "说说你常用的几个springboot注解", + :block/created-at 1657157575655, + :block/updated-at 1657157575655} + {:block/name "说说项目开发流程", + :block/created-at 1657157575855, + :block/updated-at 1657157575855} + {:block/name "请说一下seata的执行流程", + :block/created-at 1657157575946, + :block/updated-at 1657157575946} + {:block/name "请说下java的内存模型,也就是jmm", + :block/created-at 1657157575387, + :block/updated-at 1657157575387} + {:block/name "请说下jvm的运行时的内存结构", + :block/created-at 1657157575390, + :block/updated-at 1657157575390} + {:block/name "请说说rabbitmq的优缺点", + :block/created-at 1657157575718, + :block/updated-at 1657157575718} + {:block/name "请说说消息队列的工作模式有哪些", + :block/created-at 1657157575707, + :block/updated-at 1657157575707} + {:block/name "调试", + :block/created-at 1649381375280, + :block/updated-at 1650079906511} + {:block/name "谈谈bio,nio,aio的区别是什么,你都用过哪些io框架", + :block/created-at 1657157575600, + :block/updated-at 1657157575600} + {:block/name "谈谈mvc架构与mvvm架构的区别在哪里", + :block/created-at 1657157575832, + :block/updated-at 1657157575832} + {:block/name "谈谈你对spring bean的生命周期的理解", + :block/created-at 1657157575619, + :block/updated-at 1657157575619} + {:block/name "谈谈多线程并发", + :block/created-at 1657157575584, + :block/updated-at 1657157575584} + {:block/name "谈谈面向对象", + :block/created-at 1657157575583, + :block/updated-at 1657157575583} + {:block/name "负载均衡怎么实现", + :block/created-at 1657157575968, + :block/updated-at 1657157575968} + {:block/name "跨域", + :block/created-at 1658107900017, + :block/updated-at 1658108267180} + {:block/name "跨平台", + :block/created-at 1650331201913, + :block/updated-at 1650331201913} + {:block/name "转码", + :block/created-at 1649215178845, + :block/updated-at 1649215178845} + {:block/name "软硬件", + :block/created-at 1649215196948, + :block/updated-at 1649215196948} + {:block/name "运行异常", + :block/created-at 1650263211135, + :block/updated-at 1650263211135} + {:block/name "进制转换", + :block/created-at 1649215191832, + :block/updated-at 1649215191832} + {:block/name "进程与线程的区别", + :block/created-at 1657157575288, + :block/updated-at 1657157575288} + {:block/name "迭代器", + :block/created-at 1650335851717, + :block/updated-at 1650336047461} + {:block/name "迭代器模式", + :block/created-at 1650335879108, + :block/updated-at 1650335879108} + {:block/name "迭代增量式开发", + :block/created-at 1658221260882, + :block/updated-at 1658221265632} + {:block/name "退出循环", + :block/created-at 1649215192561, + :block/updated-at 1649215192561} + {:block/name "选择排序", + :block/created-at 1649231003510, + :block/updated-at 1649231003510} + {:block/name "通讯协议", + :block/created-at 1650636328186, + :block/updated-at 1650636328186} + {:block/name "逻辑运算符", + :block/created-at 1649215192945, + :block/updated-at 1649215192945} + {:block/name "遇到bug,你是如何调试的", + :block/created-at 1657157575605, + :block/updated-at 1657157575605} + {:block/name "遍历set和list的通用方法", + :block/created-at 1657157575284, + :block/updated-at 1657157575284} + {:block/name "都有哪些堆的参数,可以配置", + :block/created-at 1657157575400, + :block/updated-at 1657157575400} + {:block/name "重写", + :block/created-at 1649215195567, + :block/updated-at 1650080176431} + {:block/name "重写和重载的区别在哪里", + :block/created-at 1657157575610, + :block/updated-at 1657157575610} + {:block/name "重定向和请求转发的区别是什么", + :block/created-at 1657157575683, + :block/updated-at 1657157575683} + {:block/name "银行系统,我给你168的数字,你应该给我多少张不同面额的人民币(口述如何实现)", + :block/created-at 1657157575272, + :block/updated-at 1657157575272} + {:block/name "链表", + :block/created-at 1650352878089, + :block/updated-at 1650352878089} + {:block/name "错误", + :block/created-at 1650331183914, + :block/updated-at 1650331183914} + {:block/name "长整型", + :block/created-at 1649215187857, + :block/updated-at 1649215187857} + {:block/name "队列", + :block/created-at 1657355430719, + :block/updated-at 1657355454822} + {:block/name "隐式转换", + :block/created-at 1649215192209, + :block/updated-at 1650078806887} + {:block/name "隐藏", + :block/created-at 1649406872653, + :block/updated-at 1649407122716} + {:block/name "集合", + :block/created-at 1650331179430, + :block/updated-at 1650331179430} + {:block/name "集合排序", + :block/created-at 1650337166202, + :block/updated-at 1650337166202} + {:block/name "集合的交并差", + :block/created-at 1650442624431, + :block/updated-at 1650444123272} + {:block/name "集合的分类,分别的特性是哪些", + :block/created-at 1657157575266, + :block/updated-at 1657157575266} + {:block/name "集群", + :block/created-at 1657157572489, + :block/updated-at 1657157572489} + {:block/name "静态代码块", + :block/created-at 1649820662225, + :block/updated-at 1649821000234} + {:block/name "静态多态", + :block/created-at 1649820624809, + :block/updated-at 1649820624809} + {:block/name "静态方法", + :block/created-at 1649046874845, + :block/updated-at 1649402739096} + {:block/name "非关系型数据库", + :block/created-at 1657157573088, + :block/updated-at 1657157573088} + {:block/name "面向对象", + :block/created-at 1650331188488, + :block/updated-at 1650331188488} + {:block/name "面向对象的定义", + :block/created-at 1649215195502, + :block/updated-at 1650079200182} + {:block/name "面向对象的特征", + :block/created-at 1649215195601, + :block/updated-at 1650080470333} + {:block/name "面向过程", + :block/created-at 1650331208988, + :block/updated-at 1650331208988} + {:block/name "页面加载很慢,有什么优化方案", + :block/created-at 1657157575682, + :block/updated-at 1657157575682} + {:block/name "项目中sql调优的场景有哪些,数据库调优如何做", + :block/created-at 1657157575434, + :block/updated-at 1657157575434} + {:block/name "项目中你们部署了多少台redis服务器,一般配置多少台,熟悉哨兵机制么", + :block/created-at 1657157575773, + :block/updated-at 1657157575773} + {:block/name "项目中有哪些设计是存在缺陷或者不合理的", + :block/created-at 1657157575977, + :block/updated-at 1657157575977} + {:block/name "项目中,关于鉴权你们是咋做的", + :block/created-at 1657157575844, + :block/updated-at 1657157575844} + {:block/name "项目部署没有 有没有经过压力测试 有没有经过渗透测试", + :block/created-at 1657157575954, + :block/updated-at 1657157575954} + {:block/name "驼峰命名法", + :block/created-at 1650331207814, + :block/updated-at 1650331207814} + {:block/name "高内聚", + :block/created-at 1649659951153, + :block/updated-at 1649660007868} + {:block/name "高级编程语言", + :block/created-at 1650331208985, + :block/updated-at 1650331208985} + {:block/name "魔法值", + :block/created-at 1650331201718, + :block/updated-at 1650331201718}] diff --git a/logseq-java/logseq/bak/pages/API/2022-04-19T01_19_40.382Z.md b/logseq-java/logseq/bak/pages/API/2022-04-19T01_19_40.382Z.md new file mode 100644 index 0000000..c4e2050 --- /dev/null +++ b/logseq-java/logseq/bak/pages/API/2022-04-19T01_19_40.382Z.md @@ -0,0 +1,9 @@ +- Application Programming Interface +- 应用编程接口 +- 在Java中提供了大量的类,接口,函数等一系列基础工具 +- 目的 + - 简化程序员开发 +- JDK1.8 API文档 + - [JDK1.8.CHM](../assets/JDK1.8_1649904511236_0.CHM) + - +- \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/Class/2022-05-10T03_46_29.228Z.md b/logseq-java/logseq/bak/pages/Class/2022-05-10T03_46_29.228Z.md new file mode 100644 index 0000000..6f716ab --- /dev/null +++ b/logseq-java/logseq/bak/pages/Class/2022-05-10T03_46_29.228Z.md @@ -0,0 +1,14 @@ +- Java中所有[[类]]都是Class类型的[[对象]] +- 类加载器负责加载所有的类,class字节码文载入到内存中,载入到内存的类[[JVM]]会创建一个Java.lang.Class对象 +- 通过该class对象可以访问该类的所有方法 +- 获取该类的class对象 + - 1. 访问类的class属性 + 2. 调用对象的getClass()方法 + 先new + 3. 通过类的全限定名字符串加载 +- java.lang.reflect包 +- 通过[[反射]]调用该类的构造方法 + - 通过getConstructor() + - 1. 获取该类的Class对象 + 2. getConstructor()获取构造器 + 3. 通过newInstance() 新建对象 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/Class/2022-05-10T04_03_07.100Z.md b/logseq-java/logseq/bak/pages/Class/2022-05-10T04_03_07.100Z.md new file mode 100644 index 0000000..b51cde9 --- /dev/null +++ b/logseq-java/logseq/bak/pages/Class/2022-05-10T04_03_07.100Z.md @@ -0,0 +1,17 @@ +- Java中所有[[类]]都是Class类型的[[对象]] +- 类加载器负责加载所有的类,class字节码文载入到内存中,载入到内存的类[[JVM]]会创建一个Java.lang.Class对象 +- 通过该class对象可以访问该类的所有方法 +- 获取该类的class对象 + - 1. 访问类的class属性 + 2. 调用对象的getClass()方法 + 先new一个对象再使用 + 3. 通过类的全限定名字符串加载 +- java.lang.reflect包 +- 通过[[反射]]调用该类的构造方法 + - 通过getConstructor() + - 1. 获取该类的Class对象 + 2. getConstructor()获取构造器 + 3. 通过newInstance() 新建对象 + - getConstructors() + - 获取所有构造器 + - getDeclaredConstructor() \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/DOS/2022-04-22T03_28_46.657Z.md b/logseq-java/logseq/bak/pages/DOS/2022-04-22T03_28_46.657Z.md new file mode 100644 index 0000000..bd11b66 --- /dev/null +++ b/logseq-java/logseq/bak/pages/DOS/2022-04-22T03_28_46.657Z.md @@ -0,0 +1,21 @@ +- 重要程度:中 +- 目标 + - 掌握常用的DOS命令 + - window快捷键 +- ### DOS命令 + - DOS窗口 + - win+R --> CMD + - [[cd命令]] + - 进入到某一个目录 + - [[dir命令]] + - 列出所有文件及子目录 + - 跳转盘符 d: + - 跳转到其它磁盘 + - [[cls清屏]] + - 清空屏幕 + - [[ping测试]] + - 测试网络是否连通 + - [[ipconfig]] + - 获得本机的ip地址信息 + - [[exit]] + - 退出DOS窗口 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/DOS/2022-04-22T06_15_03.741Z.md b/logseq-java/logseq/bak/pages/DOS/2022-04-22T06_15_03.741Z.md new file mode 100644 index 0000000..bd11b66 --- /dev/null +++ b/logseq-java/logseq/bak/pages/DOS/2022-04-22T06_15_03.741Z.md @@ -0,0 +1,21 @@ +- 重要程度:中 +- 目标 + - 掌握常用的DOS命令 + - window快捷键 +- ### DOS命令 + - DOS窗口 + - win+R --> CMD + - [[cd命令]] + - 进入到某一个目录 + - [[dir命令]] + - 列出所有文件及子目录 + - 跳转盘符 d: + - 跳转到其它磁盘 + - [[cls清屏]] + - 清空屏幕 + - [[ping测试]] + - 测试网络是否连通 + - [[ipconfig]] + - 获得本机的ip地址信息 + - [[exit]] + - 退出DOS窗口 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/DOS/2022-04-22T14_05_24.627Z.md b/logseq-java/logseq/bak/pages/DOS/2022-04-22T14_05_24.627Z.md new file mode 100644 index 0000000..bd11b66 --- /dev/null +++ b/logseq-java/logseq/bak/pages/DOS/2022-04-22T14_05_24.627Z.md @@ -0,0 +1,21 @@ +- 重要程度:中 +- 目标 + - 掌握常用的DOS命令 + - window快捷键 +- ### DOS命令 + - DOS窗口 + - win+R --> CMD + - [[cd命令]] + - 进入到某一个目录 + - [[dir命令]] + - 列出所有文件及子目录 + - 跳转盘符 d: + - 跳转到其它磁盘 + - [[cls清屏]] + - 清空屏幕 + - [[ping测试]] + - 测试网络是否连通 + - [[ipconfig]] + - 获得本机的ip地址信息 + - [[exit]] + - 退出DOS窗口 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/Eclipse/2022-03-28T14_11_38.107Z.md b/logseq-java/logseq/bak/pages/Eclipse/2022-03-28T14_11_38.107Z.md new file mode 100644 index 0000000..7bb351b --- /dev/null +++ b/logseq-java/logseq/bak/pages/Eclipse/2022-03-28T14_11_38.107Z.md @@ -0,0 +1 @@ +- id:: 6241c20a-25e8-4aa6-85a3-502943039b86 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/Eclipse/2022-03-28T14_13_20.789Z.md b/logseq-java/logseq/bak/pages/Eclipse/2022-03-28T14_13_20.789Z.md new file mode 100644 index 0000000..d73085f --- /dev/null +++ b/logseq-java/logseq/bak/pages/Eclipse/2022-03-28T14_13_20.789Z.md @@ -0,0 +1,46 @@ +- Ctrl+S 保存 + - Ctrl+Y 回撤 + - Ctrl+Z 撤销 + - Ctrl+D 删除一行 + - Ctrl+X 剪切 + - Ctrl+V 粘贴 + - Ctrl+C 复制 + - 快捷键 + - 1. 新建项目 + 2. 输入项目名称 + 3. 项目结构 + 4. 新建java程序 + 5. Package位置输入包名 + 6. 右侧代码编辑区域写代码 + 7. 点击工具运行按钮 + 8. 点击下方Console界面查看结果 + - 使用Eclipse新建项目完成HelloWorld + - 修改默认编码模式 + - 改变默认字体大小 + - 初始设置 + - 界面 + - 打开 +- Eclipse基本介绍 + collapsed:: true + - 打开 + - 界面 + - 初始设置 + - 改变默认字体大小 + - 修改默认编码模式 + - 使用Eclipse新建项目完成HelloWorld + - 1. 新建项目 + 2. 输入项目名称 + 3. 项目结构 + 4. 新建java程序 + 5. Package位置输入包名 + 6. 右侧代码编辑区域写代码 + 7. 点击工具运行按钮 + 8. 点击下方Console界面查看结果 + - 快捷键 + - Ctrl+C 复制 + - Ctrl+V 粘贴 + - Ctrl+X 剪切 + - Ctrl+D 删除一行 + - Ctrl+Z 撤销 + - Ctrl+Y 回撤 + - Ctrl+S 保存 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/HTML/2022-05-21T01_38_17.805Z.md b/logseq-java/logseq/bak/pages/HTML/2022-05-21T01_38_17.805Z.md new file mode 100644 index 0000000..2b8c6bf --- /dev/null +++ b/logseq-java/logseq/bak/pages/HTML/2022-05-21T01_38_17.805Z.md @@ -0,0 +1 @@ +- HyperText Mark Language \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/HTML/2022-05-21T02_47_23.830Z.md b/logseq-java/logseq/bak/pages/HTML/2022-05-21T02_47_23.830Z.md new file mode 100644 index 0000000..b0924f7 --- /dev/null +++ b/logseq-java/logseq/bak/pages/HTML/2022-05-21T02_47_23.830Z.md @@ -0,0 +1,14 @@ +- HyperText Markup Language +- 结构 + - 声明`<!DOCTYPE html>` + - 完整HTML页面`` + - 头部`` + - 页面内容 +- 标题 + - 通过

-
定义 +- 段落 + - 通过

标签定义 +- 链接 + - 通过标签定义 +- 图像 + - 通过标签 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/HelloWorld详解/2022-04-19T01_19_41.385Z.md b/logseq-java/logseq/bak/pages/HelloWorld详解/2022-04-19T01_19_41.385Z.md new file mode 100644 index 0000000..bdf1d57 --- /dev/null +++ b/logseq-java/logseq/bak/pages/HelloWorld详解/2022-04-19T01_19_41.385Z.md @@ -0,0 +1,49 @@ +- 重要程度:中 +- 课程目标 + - 掌握Java程序执行步骤 + - 了解Java类的结构 +- ### 执行步骤 + - Hello代码 + ```java + public class HelloWorld{ + public static void main(String[] args) { + System.out.println("Hello World"); + } + } + ``` +- 编译步骤 +- > 编译:相当于英文书籍的中文翻译,一定会出来一个新的文件 +- > 解释:国家领导人参与国际会议,戴的同声传译 +- Java是一种半编译,半解释性语言 +- 字节码信息,配合JVM虚拟机,就可以做到跨平台 +- Java源代码文件基本结构 + - Java程序依靠类来组织自己的代码 + - [[类class]] + - **类的类名要跟源代码的文件名保持一致** + - ```java + public class 类的类名{ + /* + Java程序中主函数/主入口 + 一个程序要跑起来,一定要有一个主入口 + 主函数的结构是固定的 + */ + public static void main(String[] arg){ + + //其它代码 + + } + } + ``` +- 比如 + - ```java + public class SelfIntroduce{ + public static void main(String[] args){ + + System.out.println("My name is ***") + + } + } + ``` + - **SelfIntroduce** 类名,和文件名保持一致 + - **main** 函数方法 + - **System.out.println("")** 程序输出方 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_01_19.296Z.md b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_01_19.296Z.md new file mode 100644 index 0000000..acb6e70 --- /dev/null +++ b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_01_19.296Z.md @@ -0,0 +1 @@ +- IDE \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_02_31.633Z.md b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_02_31.633Z.md new file mode 100644 index 0000000..95fafe3 --- /dev/null +++ b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_02_31.633Z.md @@ -0,0 +1 @@ +- [[IDE]]全称Integrated Development Environment(集成开发环境),是用于卡法 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_03_54.155Z.md b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_03_54.155Z.md new file mode 100644 index 0000000..97b1720 --- /dev/null +++ b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_03_54.155Z.md @@ -0,0 +1,7 @@ +- [[IDE]]全称Integrated Development Environment(集成开发环境),是用于开发程序的软件 +- 常见IDE + - **[[Eclipse]]** + - Myeclipes + - STS + - VS + - **[[]]IEDA** \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_04_26.261Z.md b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_04_26.261Z.md new file mode 100644 index 0000000..c90ca43 --- /dev/null +++ b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_04_26.261Z.md @@ -0,0 +1,8 @@ +- [[IDE]]全称Integrated Development Environment(集成开发环境),是用于开发程序的软件 +- 常见IDE + - **[[Eclipse]]** + - Myeclipes + - STS + - VS + - **[[IEDA]]** + - \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_05_26.069Z.md b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_05_26.069Z.md new file mode 100644 index 0000000..ba28abb --- /dev/null +++ b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_05_26.069Z.md @@ -0,0 +1,14 @@ +- [[IDE]]全称Integrated Development Environment(集成开发环境),是用于开发程序的软件 +- 常见IDE + - **[[Eclipse]]** + - Myeclipes + - STS + - VS + - **[[IEDA]]** +- Eclipse基本介绍 + - 打开 + - 界面 + - 初始设置 + - 改变默认字体大小 + - 修改默认编码模式 + - \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_08_18.705Z.md b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_08_18.705Z.md new file mode 100644 index 0000000..990985a --- /dev/null +++ b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_08_18.705Z.md @@ -0,0 +1,23 @@ +- [[IDE]]全称Integrated Development Environment(集成开发环境),是用于开发程序的软件 +- 常见IDE + - **[[Eclipse]]** + - Myeclipes + - STS + - VS + - **[[IEDA]]** +- Eclipse基本介绍 + - 打开 + - 界面 + - 初始设置 + - 改变默认字体大小 + - 修改默认编码模式 + - 使用Eclipse新建项目完成HelloWorld + - 1. 新建项目 + 2. 输入项目名称 + 3. 项目结构 + 4. 新建java程序 + 5. Package位置输入包名 + 6. 右侧代码编辑区域写代码 + 7. 点击工具运行按钮 + 8. 点击下方Console界面查看结果 + - 查看 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_10_33.466Z.md b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_10_33.466Z.md new file mode 100644 index 0000000..f53d92d --- /dev/null +++ b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_10_33.466Z.md @@ -0,0 +1,31 @@ +- [[IDE]]全称Integrated Development Environment(集成开发环境),是用于开发程序的软件 +- 常见IDE + - **[[Eclipse]]** + - Myeclipes + - STS + - VS + - **[[IEDA]]** +- Eclipse基本介绍 + - 打开 + - 界面 + - 初始设置 + - 改变默认字体大小 + - 修改默认编码模式 + - 使用Eclipse新建项目完成HelloWorld + - 1. 新建项目 + 2. 输入项目名称 + 3. 项目结构 + 4. 新建java程序 + 5. Package位置输入包名 + 6. 右侧代码编辑区域写代码 + 7. 点击工具运行按钮 + 8. 点击下方Console界面查看结果 + - 快捷键 + - Ctrl+C 复制 + - Ctrl+V 粘贴 + - Ctrl+X 剪切 + - Ctrl+D 删除一行 + - Ctrl+Z 撤销 + - Ctrl+Y 回撤 + - Ctrl+S 保存 + - \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_10_37.793Z.md b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_10_37.793Z.md new file mode 100644 index 0000000..1b1bfc5 --- /dev/null +++ b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_10_37.793Z.md @@ -0,0 +1,31 @@ +- [[IDE]]全称Integrated Development Environment(集成开发环境),是用于开发程序的软件 +- 常见IDE + - **[[Eclipse]]** + - Myeclipes + - STS + - VS + - **[[IEDA]]** +- Eclipse基本介绍 + - 打开 + - 界面 + - 初始设置 + - 改变默认字体大小 + - 修改默认编码模式 + - 使用Eclipse新建项目完成HelloWorld + - 1. 新建项目 + 2. 输入项目名称 + 3. 项目结构 + 4. 新建java程序 + 5. Package位置输入包名 + 6. 右侧代码编辑区域写代码 + 7. 点击工具运行按钮 + 8. 点击下方Console界面查看结果 + - 快捷键 + - Ctrl+C 复制 + - Ctrl+V 粘贴 + - Ctrl+X 剪切 + - Ctrl+D 删除一行 + - Ctrl+Z 撤销 + - Ctrl+Y 回撤 + - Ctrl+S 保存 + - \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_11_20.453Z.md b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_11_20.453Z.md new file mode 100644 index 0000000..5ba687c --- /dev/null +++ b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_11_20.453Z.md @@ -0,0 +1,31 @@ +- [[IDE]]全称Integrated Development Environment(集成开发环境),是用于开发程序的软件 +- 常见IDE + - **[[Eclipse]]** + - Myeclipes + - STS + - VS + - **[[IEDA]]** +- Eclipse基本介绍 + - 打开 + - 界面 + - 初始设置 + - 改变默认字体大小 + - 修改默认编码模式 + - 使用Eclipse新建项目完成HelloWorld + - 1. 新建项目 + 2. 输入项目名称 + 3. 项目结构 + 4. 新建java程序 + 5. Package位置输入包名 + 6. 右侧代码编辑区域写代码 + 7. 点击工具运行按钮 + 8. 点击下方Console界面查看结果 + - 快捷键 + - Ctrl+C 复制 + - Ctrl+V 粘贴 + - Ctrl+X 剪切 + - Ctrl+D 删除一行 + - Ctrl+Z 撤销 + - Ctrl+Y 回撤 + - Ctrl+S 保存 +- [[java程序注释]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_11_25.398Z.md b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_11_25.398Z.md new file mode 100644 index 0000000..75dea36 --- /dev/null +++ b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_11_25.398Z.md @@ -0,0 +1,31 @@ +- [[IDE]]全称Integrated Development Environment(集成开发环境),是用于开发程序的软件 +- 常见IDE + - **[[Eclipse]]** + - Myeclipes + - STS + - VS + - **[[IEDA]]** +- Eclipse基本介绍 + - 打开 + - 界面 + - 初始设置 + - 改变默认字体大小 + - 修改默认编码模式 + - 使用Eclipse新建项目完成HelloWorld + - 1. 新建项目 + 2. 输入项目名称 + 3. 项目结构 + 4. 新建java程序 + 5. Package位置输入包名 + 6. 右侧代码编辑区域写代码 + 7. 点击工具运行按钮 + 8. 点击下方Console界面查看结果 + - 快捷键 + - Ctrl+C 复制 + - Ctrl+V 粘贴 + - Ctrl+X 剪切 + - Ctrl+D 删除一行 + - Ctrl+Z 撤销 + - Ctrl+Y 回撤 + - Ctrl+S 保存 +- [[Java程序注释]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_11_42.888Z.md b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_11_42.888Z.md new file mode 100644 index 0000000..8ad541a --- /dev/null +++ b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_11_42.888Z.md @@ -0,0 +1,8 @@ +- [[IDE]]全称Integrated Development Environment(集成开发环境),是用于开发程序的软件 +- 常见IDE + - **[[Eclipse]]** + - Myeclipes + - STS + - VS + - **[[IEDA]]** +- [[Java程序注释]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_12_01.223Z.md b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_12_01.223Z.md new file mode 100644 index 0000000..ffedc37 --- /dev/null +++ b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_12_01.223Z.md @@ -0,0 +1,31 @@ +- [[IDE]]全称Integrated Development Environment(集成开发环境),是用于开发程序的软件 +- 常见IDE + - **[[Eclipse]]** + - Myeclipes + - STS + - VS + - **[[IEDA]]** +- Eclipse基本介绍 + - 打开 + - 界面 + - 初始设置 + - 改变默认字体大小 + - 修改默认编码模式 + - 使用Eclipse新建项目完成HelloWorld + - 1. 新建项目 + 2. 输入项目名称 + 3. 项目结构 + 4. 新建java程序 + 5. Package位置输入包名 + 6. 右侧代码编辑区域写代码 + 7. 点击工具运行按钮 + 8. 点击下方Console界面查看结果 + - 快捷键 + - Ctrl+C 复制 + - Ctrl+V 粘贴 + - Ctrl+X 剪切 + - Ctrl+D 删除一行 + - Ctrl+Z 撤销 + - Ctrl+Y 回撤 + - Ctrl+S 保存 +- [][java程序注释] \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_12_18.477Z.md b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_12_18.477Z.md new file mode 100644 index 0000000..e1c3d7c --- /dev/null +++ b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_12_18.477Z.md @@ -0,0 +1,32 @@ +- [[IDE]]全称Integrated Development Environment(集成开发环境),是用于开发程序的软件 +- 常见IDE + - **[[Eclipse]]** + - Myeclipes + - STS + - VS + - **[[IEDA]]** +- Eclipse基本介绍 + collapsed:: true + - 打开 + - 界面 + - 初始设置 + - 改变默认字体大小 + - 修改默认编码模式 + - 使用Eclipse新建项目完成HelloWorld + - 1. 新建项目 + 2. 输入项目名称 + 3. 项目结构 + 4. 新建java程序 + 5. Package位置输入包名 + 6. 右侧代码编辑区域写代码 + 7. 点击工具运行按钮 + 8. 点击下方Console界面查看结果 + - 快捷键 + - Ctrl+C 复制 + - Ctrl+V 粘贴 + - Ctrl+X 剪切 + - Ctrl+D 删除一行 + - Ctrl+Z 撤销 + - Ctrl+Y 回撤 + - Ctrl+S 保存 +- [[Java程序注释]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_12_56.540Z.md b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_12_56.540Z.md new file mode 100644 index 0000000..985c036 --- /dev/null +++ b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_12_56.540Z.md @@ -0,0 +1,32 @@ +- [[IDE]]全称Integrated Development Environment(集成开发环境),是用于开发程序的软件 +- 常见IDE + collapsed:: true + - **[[Eclipse]]** + - Myeclipes + - STS + - VS + - **[[IEDA]]** +- Eclipse基本介绍 + - 打开 + - 界面 + - 初始设置 + - 改变默认字体大小 + - 修改默认编码模式 + - 使用Eclipse新建项目完成HelloWorld + - 1. 新建项目 + 2. 输入项目名称 + 3. 项目结构 + 4. 新建java程序 + 5. Package位置输入包名 + 6. 右侧代码编辑区域写代码 + 7. 点击工具运行按钮 + 8. 点击下方Console界面查看结果 + - 快捷键 + - Ctrl+C 复制 + - Ctrl+V 粘贴 + - Ctrl+X 剪切 + - Ctrl+D 删除一行 + - Ctrl+Z 撤销 + - Ctrl+Y 回撤 + - Ctrl+S 保存 +- [[Java程序注释]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_13_00.850Z.md b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_13_00.850Z.md new file mode 100644 index 0000000..b30d80a --- /dev/null +++ b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_13_00.850Z.md @@ -0,0 +1,9 @@ +- [[IDE]]全称Integrated Development Environment(集成开发环境),是用于开发程序的软件 +- 常见IDE + collapsed:: true + - **[[Eclipse]]** + - Myeclipes + - STS + - VS + - **[[IEDA]]** +- [[Java程序注释]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_13_45.009Z.md b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_13_45.009Z.md new file mode 100644 index 0000000..96c9dfe --- /dev/null +++ b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_13_45.009Z.md @@ -0,0 +1,33 @@ +- [[IDE]]全称Integrated Development Environment(集成开发环境),是用于开发程序的软件 +- 常见IDE + collapsed:: true + - **[[Eclipse]]** + - Myeclipes + - STS + - VS + - **[[IEDA]]** +- Eclipse基本介绍 + collapsed:: true + - 打开 + - 界面 + - 初始设置 + - 改变默认字体大小 + - 修改默认编码模式 + - 使用Eclipse新建项目完成HelloWorld + - 1. 新建项目 + 2. 输入项目名称 + 3. 项目结构 + 4. 新建java程序 + 5. Package位置输入包名 + 6. 右侧代码编辑区域写代码 + 7. 点击工具运行按钮 + 8. 点击下方Console界面查看结果 + - 快捷键 + - Ctrl+C 复制 + - Ctrl+V 粘贴 + - Ctrl+X 剪切 + - Ctrl+D 删除一行 + - Ctrl+Z 撤销 + - Ctrl+Y 回撤 + - Ctrl+S 保存 +- [[Java程序注释]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_14_16.270Z.md b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_14_16.270Z.md new file mode 100644 index 0000000..e1c3d7c --- /dev/null +++ b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_14_16.270Z.md @@ -0,0 +1,32 @@ +- [[IDE]]全称Integrated Development Environment(集成开发环境),是用于开发程序的软件 +- 常见IDE + - **[[Eclipse]]** + - Myeclipes + - STS + - VS + - **[[IEDA]]** +- Eclipse基本介绍 + collapsed:: true + - 打开 + - 界面 + - 初始设置 + - 改变默认字体大小 + - 修改默认编码模式 + - 使用Eclipse新建项目完成HelloWorld + - 1. 新建项目 + 2. 输入项目名称 + 3. 项目结构 + 4. 新建java程序 + 5. Package位置输入包名 + 6. 右侧代码编辑区域写代码 + 7. 点击工具运行按钮 + 8. 点击下方Console界面查看结果 + - 快捷键 + - Ctrl+C 复制 + - Ctrl+V 粘贴 + - Ctrl+X 剪切 + - Ctrl+D 删除一行 + - Ctrl+Z 撤销 + - Ctrl+Y 回撤 + - Ctrl+S 保存 +- [[Java程序注释]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_14_20.893Z.md b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_14_20.893Z.md new file mode 100644 index 0000000..75dea36 --- /dev/null +++ b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_14_20.893Z.md @@ -0,0 +1,31 @@ +- [[IDE]]全称Integrated Development Environment(集成开发环境),是用于开发程序的软件 +- 常见IDE + - **[[Eclipse]]** + - Myeclipes + - STS + - VS + - **[[IEDA]]** +- Eclipse基本介绍 + - 打开 + - 界面 + - 初始设置 + - 改变默认字体大小 + - 修改默认编码模式 + - 使用Eclipse新建项目完成HelloWorld + - 1. 新建项目 + 2. 输入项目名称 + 3. 项目结构 + 4. 新建java程序 + 5. Package位置输入包名 + 6. 右侧代码编辑区域写代码 + 7. 点击工具运行按钮 + 8. 点击下方Console界面查看结果 + - 快捷键 + - Ctrl+C 复制 + - Ctrl+V 粘贴 + - Ctrl+X 剪切 + - Ctrl+D 删除一行 + - Ctrl+Z 撤销 + - Ctrl+Y 回撤 + - Ctrl+S 保存 +- [[Java程序注释]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_14_25.716Z.md b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_14_25.716Z.md new file mode 100644 index 0000000..d7c102c --- /dev/null +++ b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_14_25.716Z.md @@ -0,0 +1,28 @@ +- [[IDE]]全称Integrated Development Environment(集成开发环境),是用于开发程序的软件 +- 常见IDE + - **[[Eclipse]]** + - Myeclipes + - STS + - VS + - **[[IEDA]]** +- Eclipse基本介绍 + - 打开 + - 界面 + - 初始设置 + - 改变默认字体大小 + - 修改默认编码模式 + - 使用Eclipse新建项目完成HelloWorld + - 1. 新建项目 + 2. 输入项目名称 + 3. 项目结构 + 4. 新建java程序 + 5. Package位置输入包名 + 6. 右侧代码编辑区域写代码 + 7. 点击工具运行按钮 + 8. 点击下方Console界面查看结果 + - 快捷键 + - Ctrl+C 复制 + - Ctrl+V 粘贴 + - Ctrl+X 剪切 + - Ctrl+D 删除一行 +- [[Java程序注释]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_14_42.135Z.md b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_14_42.135Z.md new file mode 100644 index 0000000..fc0d50e --- /dev/null +++ b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-28T14_14_42.135Z.md @@ -0,0 +1,23 @@ +- [[IDE]]全称Integrated Development Environment(集成开发环境),是用于开发程序的软件 +- 常见IDE + - **[[Eclipse]]** + - Myeclipes + - STS + - VS + - **[[IEDA]]** +- Eclipse基本介绍 + - 打开 + - 界面 + - 初始设置 + - 改变默认字体大小 + - 修改默认编码模式 + - 使用Eclipse新建项目完成HelloWorld + - 1. 新建项目 + 2. 输入项目名称 + 3. 项目结构 + 4. 新建java程序 + 5. Package位置输入包名 + 6. 右侧代码编辑区域写代码 + 7. 点击工具运行按钮 + 8. 点击下方Console界面查看结果 +- [[Java程序注释]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-30T06_04_24.379Z.md b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-30T06_04_24.379Z.md new file mode 100644 index 0000000..6d7304b --- /dev/null +++ b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-03-30T06_04_24.379Z.md @@ -0,0 +1,8 @@ +- [[IDE]]全称Integrated Development Environment(集成开发环境),是用于开发程序的软件 +- 常见IDE + - **[[Eclipse]]** + - Myeclipes + - STS + - VS + - **[[IEDA]]**使用最多,太方便,集成大多插件 +- [[Java程序注释]]#程序/注释 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-04-01T01_14_53.284Z.md b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-04-01T01_14_53.284Z.md new file mode 100644 index 0000000..251b21d --- /dev/null +++ b/logseq-java/logseq/bak/pages/IDE集成开发环境/2022-04-01T01_14_53.284Z.md @@ -0,0 +1,8 @@ +- [[IDE]]全称Integrated Development Environment(集成开发环境),是用于开发程序的软件 +- 常见IDE + - **[[Eclipse]]** + - Myeclipes + - STS + - VS + - **[[IEDA]]** +- [[Java程序注释]]#程序/注释 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/JDK环境搭建/2022-04-19T01_19_41.661Z.md b/logseq-java/logseq/bak/pages/JDK环境搭建/2022-04-19T01_19_41.661Z.md new file mode 100644 index 0000000..c3f3910 --- /dev/null +++ b/logseq-java/logseq/bak/pages/JDK环境搭建/2022-04-19T01_19_41.661Z.md @@ -0,0 +1,42 @@ +- 重要程度:高 +- 课程目标 + - 掌握如何安装JDK + - 掌握如何配置环境变量 +- 安装JDK + - [下载地址](https://www.oracle.com/java/technologies/downloads/)JDK8 + - 检测java是否安装完成 + ``` + java -version + ``` +- 编写HelloWorld #HelloWorld + - ```java + public class HelloWorld{ + public static void main(String[] args) { + System.out.println("Hello World"); + } + } + ``` + - 编译运行 + ``` + javac HelloWorld.java + java HelloWorld + ``` + - 如果编译遇到问题 + - 修改编译命令为 + ``` + javac -encoding utf-8 HelloWorld.java + ``` +- 配置环境变量 + - [[cd命令]]系统命令,任何目录都可运行 + - java提升为系统级命令后也可以在任何目录运行 + - 变量配置 + - JAVA_HOME:jiava安装目录 + - JAVA_HOME + C:\\Program Files\\java\\jre... + - Path:Java的命令执行目录 + - Path + %JAVA_HOME%\\bin + - Classpath:配置class字节码文件所在位置 + - CLASSPATH + . +- \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/Java发展历程/2022-04-19T01_19_41.402Z.md b/logseq-java/logseq/bak/pages/Java发展历程/2022-04-19T01_19_41.402Z.md new file mode 100644 index 0000000..54f24e2 --- /dev/null +++ b/logseq-java/logseq/bak/pages/Java发展历程/2022-04-19T01_19_41.402Z.md @@ -0,0 +1,53 @@ +- 课程目标: + - 了解Java起源 + - 了解Java发展历程 + - 掌握Java的技术特点和对应的组成结构 +- Java起源 + - Java是一种高级编程语言 + - 1991,起源SUN Green小组开发Star 7项目[整合了C++ Lisp SmallTalk](智能家居) + - 1992,开发后没市场 + - 1993,团队面临解散,决定Java去走互联网 + - 早期叫Oak(橡树),据说Java之父手(詹姆斯·高斯林)上爪哇的咖啡 +- Java的发展史 + - 95/5/23,java正式诞生 + - 96/1/23,JDK1.0 + - 97/2/18,JDK1.1,此时算是最初级的版本 + - 98/12/8,JDK1.2,milestone version + - 更名为Java2.0 + - 确定Java未来的走向 + - 1. **J2SE**(标准),开发桌面应用,Eclipse,IDEA + 2. **J2ME**(微型),手机嵌入式程序,Nokia + 3. **J2EE**(企业),开发企业级,互联网应用 + - 04/10,JDK1.5 another milestone + - 1. Java更名Java5.0 + 2. 提供了注解,枚举,多线程等一系列的新功能或优化功能 + - J2SE-->Java SE + J2ME-->Java ME + J2EE-->Java EE + - 2010/4/20,SUN被Orcale收购 + - 目前最新Java18,JDK18 +- Java技术组成 + - 1. Java编程语言 + - 特点 + - 1. 简单性: + - 抛弃C语言头文件,结构体,联合体,指针等一系列非常复杂的内容 + - 前辈多,现任广 + - 2. 结构中立: + - Java语言在项目开发中,可以和其他任何语言共存 + - 3. 面向对象 + - 4. 支持分布式 + - 5. 跨平台: + - 一次编写,处处运行 + - 6. 高性能 + - 7. 多线程 + - 8. 健壮性,安全性 + - 2.Java平台 + - JDK + - Java Development Kit(Java开发工具包) + - JRE+[[API]]工具 + - JRE + - Java Runtime Environment(Java运行环境) + - JVM+核心库类 + - JVM + - Java Virtual Machine(Java虚拟机) + - Java虚拟机出现目的:跨平台 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/Java程序注释/2022-03-28T14_19_52.853Z.md b/logseq-java/logseq/bak/pages/Java程序注释/2022-03-28T14_19_52.853Z.md new file mode 100644 index 0000000..8b70651 --- /dev/null +++ b/logseq-java/logseq/bak/pages/Java程序注释/2022-03-28T14_19_52.853Z.md @@ -0,0 +1,14 @@ +- 单行注释 + - ```java + public class dnahangzhushi { + public static void mian(String[] args) { + //这是一段输出语句 + System.out.println("Hello World") + } + } + ``` +- 多行注释 + - ```java + Public + ``` +- 文档注释 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/Java程序注释/2022-03-28T14_21_38.383Z.md b/logseq-java/logseq/bak/pages/Java程序注释/2022-03-28T14_21_38.383Z.md new file mode 100644 index 0000000..07f978b --- /dev/null +++ b/logseq-java/logseq/bak/pages/Java程序注释/2022-03-28T14_21_38.383Z.md @@ -0,0 +1,16 @@ +- 单行注释 + - ```java + public class dnahangzhushi { + public static void mian(String[] args) { + //这是一段输出语句 + System.out.println("Hello World") + } + } + ``` +- 多行注释 + - ```java + public class duohangzhushi { + public static void main(String[] args) + } + ``` +- 文档注释 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/Java跨平台原理/2022-03-28T14_00_00.565Z.md b/logseq-java/logseq/bak/pages/Java跨平台原理/2022-03-28T14_00_00.565Z.md new file mode 100644 index 0000000..a96bd5a --- /dev/null +++ b/logseq-java/logseq/bak/pages/Java跨平台原理/2022-03-28T14_00_00.565Z.md @@ -0,0 +1 @@ +- Java程序不是运行在系统上,二十运行在 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/Java跨平台原理/2022-04-19T01_19_41.405Z.md b/logseq-java/logseq/bak/pages/Java跨平台原理/2022-04-19T01_19_41.405Z.md new file mode 100644 index 0000000..b2e30da --- /dev/null +++ b/logseq-java/logseq/bak/pages/Java跨平台原理/2022-04-19T01_19_41.405Z.md @@ -0,0 +1,13 @@ +- > Java程序不是运行在系统上,而是运行在了虚拟机上,Java开发团队针对每一种不同的系统开发了不同的虚拟机 +- ## Java的跨平台 #JVM + - 一次编写,处处运行 + - 一般在Windows上开发代码,而在Linux/Unix操作系统上运行 + - 如何做到 + - 通过JVM做到 + - JVM特点 + - 不同操作系统对应不同JVM +- ## JVM内部执行 +- [[JIT编译器]] +- +- 小结 +- 不同操作系统,对应不同JVM做到跨平台 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/Object/2022-04-19T01_19_42.503Z.md b/logseq-java/logseq/bak/pages/Object/2022-04-19T01_19_42.503Z.md new file mode 100644 index 0000000..0c30c78 --- /dev/null +++ b/logseq-java/logseq/bak/pages/Object/2022-04-19T01_19_42.503Z.md @@ -0,0 +1,13 @@ +- Object类 + - 是所有Java类的超类,基类,父类,以及所有的类,都有Object的方法 +- [[toString]] + - 打印对象内存地址 + - ((62564ae5-f389-453b-b790-5c15d527aacf)) +- [[equals]] + - 比较两个对象是否是同一个对象 + - ==在比较[[基本数据类型]]时是比较值 #关系运算符 + 比较 [[引用数据类型]]时是比较地址 + - ==与equals的区别 #Java面试 + - equals()通常比较对象的内容 +- [[finalize()]] #Java面试 + - 该方法是JVM销毁对象的方法,程序员不需要调用 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/Redis/2022-07-07T01_35_56.315Z.md b/logseq-java/logseq/bak/pages/Redis/2022-07-07T01_35_56.315Z.md new file mode 100644 index 0000000..810f246 --- /dev/null +++ b/logseq-java/logseq/bak/pages/Redis/2022-07-07T01_35_56.315Z.md @@ -0,0 +1,166 @@ +- 一个key-value存储系统,是跨平台的[[非关系型数据库]] +- NOSQL + - Not Only SQL + - 一个系统不应该仅仅关注数据间关系,还应关注数据的存储 + - 所有非关系数据库都是 [[关系型数据库]]的补充 +- 特性 + collapsed:: true + - 性能高(读的速度是 110000 次/s,写的速度是 81000 次/s),且提供持久化操作 + - 结构简单,数据类型丰富,值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。 + - 采用单线程,保证所有命令操作的原子性 + - 支持数据热备(Master slave模式),支持哨兵模式,主动切换主从模式 + - ![image.png](../assets/image_1657074990771_0.png) + - ![image.png](../assets/image_1657075023820_0.png) + - ![image.png](../assets/image_1657075044901_0.png) + - 在**主从复制的基础**上,哨兵实现了**自动化故障恢复**。如上图所示,哨兵模式由两部分组成,哨兵节点和数据节点: + - 哨兵节点:哨兵节点是特殊的 Redis 节点,不存储数据; + - 数据节点:主节点和从节点都是数据节点。 + - Redis Sentinel 是分布式系统中监控 Redis 主从服务器,并提供主服务器下线时自动故障转移功能的模式。其中三个特性为: + - 监控(Monitoring):Sentinel 会不断地检查你的主服务器和从服务器是否运作正常; + - 提醒(Notification):当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知; + - 自动故障迁移(Automatic failover):当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作。 + - 支持集群 + - ![image.png](../assets/image_1657075213351_0.png) +- 使用场景 + collapsed:: true + - 应用程序的状态服务器 + - 记录某人的登录状态 + - 高热点数据的缓存服务器 + - 购物网站的分类列表 + - 微博热搜 + - 系统分析后的存储服务器 + - 数据报表 + - 排行榜 + - 好友关系 + - 利用集合求并集,交集 --> 共同好友 + - 电商系统秒杀,抢优惠券前数据预热 + - 社交系统点赞 + - 模拟队列模式FIFO(List特性) + - MQ服务器 +- 不适用 + - 数据量过大 + - 内存限制 + - 访问频率低 +- 架构 +- 基础命令 + collapsed:: true + - String + - 存储简单数据,最大512M + - Hash + - 一组K-V结构数据 + - 存储对象,最大 + - List + - 双向链表 + - Set + - 无序,不能存储重复元素 + - 求交并差 + - ZSet + - 有序集合,使用分数排序 + - 排行榜单 +- [[Spring]]集成Redis + collapsed:: true + - [[Spring Data Redis]] + - 1. 导入依赖 + - ```xml + + org.springframework.boot + spring-boot-starter-data-redis + + ``` + - 2. 修改xml配置 + - ```yml + spring: + redis: + host: 127.0.0.1 + jedis: + pool: + max-active: 10 #最大连接数10 默认8 + max-wait: 2000ms # 2S未连接抛出异常 -1永不超时 + min-idle: 0 #最小连接空闲数 + max-idle: 5 #最大连接空闲数量 + ``` + - 3. 设置配置类 + - ```java + package com.woniuxy.community.configure; + + import com.fasterxml.jackson.annotation.JsonAutoDetect; + import com.fasterxml.jackson.annotation.PropertyAccessor; + import com.fasterxml.jackson.databind.ObjectMapper; + import org.springframework.beans.factory.annotation.Autowired; + import org.springframework.context.annotation.Bean; + import org.springframework.context.annotation.Configuration; + import org.springframework.context.annotation.Scope; + import org.springframework.data.redis.connection.RedisConnectionFactory; + import org.springframework.data.redis.core.*; + import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; + import org.springframework.data.redis.serializer.StringRedisSerializer; + + /** + * redis配置类 + */ + @Configuration + public class RedisConfig { + + @Autowired + RedisConnectionFactory redisConnectionFactory; + + /** + * 向Spring容器,装配一个组件 + * 组件的ID是:redisTemplate + * @Scope 设定组件在容器内部的作用域 + * singleton 单实例(默认) + * prototype 原型(克隆) + * request 跟HttpRequest有关 + * session 跟HttpSession有关 + * application 跟ServletContext有关 + * @return + */ + @Bean + @Scope("singleton") + public RedisTemplate redisTemplate(){ + RedisTemplate redisTemplate = new RedisTemplate<>(); + // 配置连接工厂 + redisTemplate.setConnectionFactory(redisConnectionFactory); + // 针对key序列化 + StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); + redisTemplate.setKeySerializer(stringRedisSerializer); + redisTemplate.setHashKeySerializer(stringRedisSerializer); + // 针对value序列化 + Jackson2JsonRedisSerializer jsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); + ObjectMapper objectMapper = new ObjectMapper(); + // 设定控制访问修饰符,Jackson工具可以操作Value对象的所有属性 + objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); + jsonRedisSerializer.setObjectMapper(objectMapper); + redisTemplate.setValueSerializer(jsonRedisSerializer); + redisTemplate.setHashValueSerializer(jsonRedisSerializer); + // RedisTemplate在属性设置之后使用 + redisTemplate.afterPropertiesSet(); + return redisTemplate; + } + + @Bean + public ValueOperations valueOperations(){ + return redisTemplate().opsForValue(); + } + + @Bean + public ListOperations ListOperations(){ + return redisTemplate().opsForList(); + } + + @Bean + public SetOperations SetOperations(){ + return redisTemplate().opsForSet(); + } + + @Bean + public ZSetOperations ZSetOperations(){ + return redisTemplate().opsForZSet(); + } + + @Bean + public HashOperations HashOperations(){ + return redisTemplate().opsForHash(); + } + } + ``` \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/Socket(1)/2022-04-22T07_45_24.685Z.md b/logseq-java/logseq/bak/pages/Socket(1)/2022-04-22T07_45_24.685Z.md new file mode 100644 index 0000000..440e72d --- /dev/null +++ b/logseq-java/logseq/bak/pages/Socket(1)/2022-04-22T07_45_24.685Z.md @@ -0,0 +1 @@ +- 套接字变成 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/Spring源码/2023-10-17T03_37_17.034Z.Desktop.md b/logseq-java/logseq/bak/pages/Spring源码/2023-10-17T03_37_17.034Z.Desktop.md new file mode 100644 index 0000000..b2a4381 --- /dev/null +++ b/logseq-java/logseq/bak/pages/Spring源码/2023-10-17T03_37_17.034Z.Desktop.md @@ -0,0 +1,11 @@ +- {{video https://www.bilibili.com/video/BV1rb4y147F2?p=2}} +- UserService类->无参构造方法->对象->依赖注入->初始化前->初始化->初始化后->放入单例池Map->Bean +- 通过@Autowired进行依赖注入 + 判断属性上是否有@Autowired注解 +- 初始化前要通过@PostConstruct注解来执行一个方法 + 判断方法上是否有@PostConstruct注解 +- 初始化通过实现InitializingBean接口的afterPropertiesSet方法 + 通过InstanceOf来判断是否实现了这个接口 +- 初始化AOP后置处理器 +- +- \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/URL/2022-04-22T06_17_11.521Z.md b/logseq-java/logseq/bak/pages/URL/2022-04-22T06_17_11.521Z.md new file mode 100644 index 0000000..6ced490 --- /dev/null +++ b/logseq-java/logseq/bak/pages/URL/2022-04-22T06_17_11.521Z.md @@ -0,0 +1,3 @@ +- Uniform Resource Locator +- [统一资源定位符](https://zh.wikipedia.org/wiki/%E7%BB%9F%E4%B8%80%E8%B5%84%E6%BA%90%E5%AE%9A%E4%BD%8D%E7%AC%A6) +- [[协议]]://[[域名]]或[[IP]]地址: \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/final/2022-04-19T01_19_41.381Z.md b/logseq-java/logseq/bak/pages/final/2022-04-19T01_19_41.381Z.md new file mode 100644 index 0000000..a721cc4 --- /dev/null +++ b/logseq-java/logseq/bak/pages/final/2022-04-19T01_19_41.381Z.md @@ -0,0 +1,8 @@ +- 修饰类,方法,变量 +- 修饰类 + - 表示是一个最终类,该类不能被继承 +- 修饰方法 + - 表示该方法子类重写 +- 修饰变量 + - [[自定义常量]] + - [[常量]]可以解决代码中魔法值的问题 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/互联网企业面试题/2022-04-22T09_53_17.576Z.md b/logseq-java/logseq/bak/pages/互联网企业面试题/2022-04-22T09_53_17.576Z.md new file mode 100644 index 0000000..d410ea5 --- /dev/null +++ b/logseq-java/logseq/bak/pages/互联网企业面试题/2022-04-22T09_53_17.576Z.md @@ -0,0 +1,2 @@ +- ![广州-唯品会-Java大数据开发工程师.pdf](../assets/广州-唯品会-Java大数据开发工程师_1650621173957_0.pdf) +- ![北京-百度-Java中级.pdf](../assets/北京-百度-Java中级_1650621193617_0.pdf) \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/互联网企业面试题/2022-04-22T09_55_45.589Z.md b/logseq-java/logseq/bak/pages/互联网企业面试题/2022-04-22T09_55_45.589Z.md new file mode 100644 index 0000000..15fff71 --- /dev/null +++ b/logseq-java/logseq/bak/pages/互联网企业面试题/2022-04-22T09_55_45.589Z.md @@ -0,0 +1,18 @@ +- ![北京-百度-Java中级.pdf](../assets/北京-百度-Java中级_1650621203546_0.pdf) +- ![北京-京东-Java中级.pdf](../assets/北京-京东-Java中级_1650621217355_0.pdf) +- ![广州-唯品会-Java大数据开发工程师.pdf](../assets/广州-唯品会-Java大数据开发工程师_1650621223110_0.pdf) +- ![杭州-阿里云-实习.pdf](../assets/杭州-阿里云-实习_1650621239443_0.pdf) +- ![杭州-蚂蚁金服-Java高级.pdf](../assets/杭州-蚂蚁金服-Java高级_1650621243356_0.pdf) +- ![杭州-蚂蚁金服-资深工程师.pdf](../assets/杭州-蚂蚁金服-资深工程师_1650621246822_0.pdf) +- ![南京-软通动力-Java中级.pdf](../assets/南京-软通动力-Java中级_1650621249683_0.pdf) +- ![厦门-中软国际-Java中级.pdf](../assets/厦门-中软国际-Java中级_1650621252613_0.pdf) +- ![上海-拼多多-Java高级.pdf](../assets/上海-拼多多-Java高级_1650621255476_0.pdf) +- ![上海-携程-Java高级.pdf](../assets/上海-携程-Java高级_1650621258714_0.pdf) +- ![深圳-OPPO-Java高级.pdf](../assets/深圳-OPPO-Java高级_1650621261753_0.pdf) +- ![深圳-丰巢科技-Java高级.pdf](../assets/深圳-丰巢科技-Java高级_1650621264445_0.pdf) +- ![深圳-乐信-Java高级.pdf](../assets/深圳-乐信-Java高级_1650621267215_0.pdf) +- ![深圳-蚂蚁金服-Java高级.pdf](../assets/深圳-蚂蚁金服-Java高级_1650621270016_0.pdf) +- ![深圳-商汤科技-Java高级.pdf](../assets/深圳-商汤科技-Java高级_1650621273205_0.pdf) +- ![深圳-腾讯-Java高级.pdf](../assets/深圳-腾讯-Java高级_1650621276076_0.pdf) +- ![深圳-银盛支付-Java中级.pdf](../assets/深圳-银盛支付-Java中级_1650621278654_0.pdf) +- \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/位运算符/2022-04-04T03_57_42.111Z.md b/logseq-java/logseq/bak/pages/位运算符/2022-04-04T03_57_42.111Z.md new file mode 100644 index 0000000..9653d04 --- /dev/null +++ b/logseq-java/logseq/bak/pages/位运算符/2022-04-04T03_57_42.111Z.md @@ -0,0 +1,26 @@ +- % | ^ + - int a = 3 & 4 + boolean b = true & false + - 使用时可以放数值,也可以放布尔值 + - 位与运算& + - 比较两个二进制数据的同位数,如果都为1,此位结果为1 + - 位或运算| + - 比较两个二进制数据的同位数,如果任意为1,此位结果为1 + - 异或运算^ + - 比较两个二进制数据的同位数,如果相同为0,不同为1 +- 移位运算 + - 如何快速的把2变成32? + id:: 62451ad0-4023-43ff-82ad-a114bfb9ac7f + - 2 \<< 4 + - << + 表示将二进制整体向左移动多少位 + 2<<3 --> 2*2^3 -->16 + 移动多少位就乘以2的多少平方 + - \>> + 考虑符号的位移,位移之后符号不变 + 表示将二进制整体向右移动多少位 + 移动多少位就除以2的多少次方 + - \>>> + 不考虑符号的位移 + - 当进行运算的是个负数,可能变成一个非常大的数 + - \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/关系运算符/2022-04-19T01_19_42.815Z.md b/logseq-java/logseq/bak/pages/关系运算符/2022-04-19T01_19_42.815Z.md new file mode 100644 index 0000000..c5f29d1 --- /dev/null +++ b/logseq-java/logseq/bak/pages/关系运算符/2022-04-19T01_19_42.815Z.md @@ -0,0 +1,15 @@ +- 包含==,!=,>,<,=,<=,>=,instanceof + id:: 6243f2ea-e08c-4ec2-850d-3ecf6e67889a +- == + 判断是否等于 +- != +- \>,< +- = +- \>=,<= +- 键盘录入 + - Scanner + - java.util.Scanner + - Scanner scanner = new Scanner(System.in) + - int a = scanner.nextInt() + - 扫描控制台输入 +- 自动导入包 [[IDEA]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/变量/2022-04-19T01_19_43.248Z.md b/logseq-java/logseq/bak/pages/变量/2022-04-19T01_19_43.248Z.md new file mode 100644 index 0000000..efc0d21 --- /dev/null +++ b/logseq-java/logseq/bak/pages/变量/2022-04-19T01_19_43.248Z.md @@ -0,0 +1,73 @@ +- 字面量 + - 以文件形式直接出现在程序中的数据 + - ```java + public static void main(String[] args) { + System.out.println(11); //int类型 + System.out.println(1.1F); //float类型,需要在末尾加F + System.out.println(1.11); //double类型 + System.out.println(1000000L); //long类型,需要在末尾加L + System.out.println('字'); //char类型,需要单引号 + System.out.println(true); //boolean类型 + System.out.println("字符!") //String类型字面量,需要双引号 + } + ``` +- 变量 + - 最基本存储单元 + - 定义单个变量 +- ## [[Java程序注释]] +- 变量:在一定范围内可以变化的量,本质上是内存空间的一个变化 + - 语法结构 + - ```java + 数据类型 变量名; + 变量名 = 初始值; + ``` + ```java + 数据类型 变量名 = 初始值; + ``` + - 先定义,后赋值 + ```java + public static void main(String[] args) { + + int num; + + num=10; + + System.out.println(num); + + num=20; + + System.out.println(num); + + } + ``` + - 定义的同时赋值 + ```java + public static void main(String[] args) { + + int num = 10; + + System.out.println(num); + + num=20; + + System.out.println(num); + + } + ``` + - 注意: + - 变量一定要赋初值 + - 在同一方法内部变量名不能重复 + - 变量赋值过程 + - 在内存中根据数据类型申请对应内存空间 + - 给内存空间定义一个名字num + - 给num的变量空间赋初始值10 + - [[局部变量]] + - [[全局变量]] +- 常量:恒久不变的量 + - PI = 3.14 + - [[字面量常量]] + - [[自定义常量]] +- 小结 + - 单行,多行,文档注释 + - 变量含义,分类 + - 常量含义 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/周考2/2022-04-16T07_33_49.764Z.md b/logseq-java/logseq/bak/pages/周考2/2022-04-16T07_33_49.764Z.md new file mode 100644 index 0000000..1e46291 --- /dev/null +++ b/logseq-java/logseq/bak/pages/周考2/2022-04-16T07_33_49.764Z.md @@ -0,0 +1,27 @@ +- [第2周周考题.doc](../assets/第2周周考题_1650089024252_0.doc) +- 一 + 1-5 DCADA + 6-10 DCDDB + 11-13 DAC + 14 ACE + 15 AC +- 二 + 1. 重写是指将父类的方法在子类中实现不同的方法 + 重载是指一个方法可以传入不同的参数个数,顺序.类型 + 2. 抽象类是带有abstract关键字修饰的类,抽象类中可以放普通的属性,方法以及抽象方法 + 接口是定义为interface的类,是比抽象类还要抽象的类,是用来拓展类的功能的, + 抽象类需要有子类继承实现,接口需要有实现类来实现 + 抽象类只能单继承,单实现,接口可以多继承,多实现 + 3. 封装,继承,多态,抽象 + 4. F5 进入到方法的内部 + F6 执行下一步,不进入方法内部 + F7 结束目前的方法 + F8 跳出当前方法,进入下一步 + 5. valueOf + add + splite + charAt + trim + 6. 基本数据类型直接将值赋给这个变量 + 引用数据类型变量存储的是在堆中的地址 + 7. public \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/基本数据类型/2022-03-30T06_04_25.042Z.md b/logseq-java/logseq/bak/pages/基本数据类型/2022-03-30T06_04_25.042Z.md new file mode 100644 index 0000000..2aa4c21 --- /dev/null +++ b/logseq-java/logseq/bak/pages/基本数据类型/2022-03-30T06_04_25.042Z.md @@ -0,0 +1,16 @@ +- 分类 + - 基本数据类型 + - 用于存储一些比较简单的数据,内存中存储的是数据本身 + - [[引用数据类型 + - 用于存储一些结构更加复杂,数据量更大的数据,内存空间中存储的是一个内存空间的地址 +- **基本数据类型分类** + |类型|名称|字节占用| + |byte|[[字节类型]]|1字节| + |short|[[短整数类型]]|2字节| + |int|[[整型]]|4字节| + |long|[[长整型]]|8字节| + |float|[[单精度浮点]]|4字节| + |double|[[双精度浮点]]|8字节| + |boolean|[[布尔类型]]|4字节| + |char|[[字符类型]]|2字节| +- \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/基本数据类型/2022-04-01T01_14_55.592Z.md b/logseq-java/logseq/bak/pages/基本数据类型/2022-04-01T01_14_55.592Z.md new file mode 100644 index 0000000..cd41331 --- /dev/null +++ b/logseq-java/logseq/bak/pages/基本数据类型/2022-04-01T01_14_55.592Z.md @@ -0,0 +1,16 @@ +- 分类 + - 基本数据类型 + - 用于存储一些比较简单的数据,内存中存储的是数据本身 + - [[引用数据类型]] + - 用于存储一些结构更加复杂,数据量更大的数据,内存空间中存储的是一个内存空间的地址 +- **基本数据类型分类** + |类型|名称|字节占用| + |byte|[[字节类型]]|1字节| + |short|[[短整数类型]]|2字节| + |int|[[整型]]|4字节| + |long|[[长整型]]|8字节| + |float|[[单精度浮点]]|4字节| + |double|[[双精度浮点]]|8字节| + |boolean|[[布尔类型]]|4字节| + |char|[[字符类型]]|2字节| +- \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/基本数据类型/2022-04-19T01_19_43.678Z.md b/logseq-java/logseq/bak/pages/基本数据类型/2022-04-19T01_19_43.678Z.md new file mode 100644 index 0000000..a101625 --- /dev/null +++ b/logseq-java/logseq/bak/pages/基本数据类型/2022-04-19T01_19_43.678Z.md @@ -0,0 +1,40 @@ +- Java是一种强类型的编程语言,任何的变量都必须要有对应的数据类型 +- 数据类型出现的含义 + - 规范变量空间的内容 + - 规范变量控制的大小 +- 分类 + - 基本数据类型 + - 用于存储一些比较简单的数据,内存中存储的是数据本身 + - [[引用数据类型]] + - 用于存储一些结构更加复杂,数据量更大的数据,内存空间中存储的是一个内存空间的地址 +- **基本数据类型分类** + - 整数型 + - byte + - short + - int + - long + - 浮点型 + - float + - double + - 字符型 + - char + - 布尔型 + - boolean + - 计算机中默认使用byte作为最小的存储单位 + - 1字节由8个二进制位构成 + - |类型|名称|字节占用|取值范围| + |byte|[[字节类型]]|1[[字节]]|-128~127| + |short|[[短整数类型]]|2字节|-32768~32767| + |int|[[整型]]|4字节|-2,147,483,648(-2^31)|| + |long|[[长整型]]|8字节|1.45E-45| + |float|[[单精度浮点]]|4字节| + |double|[[双精度浮点]]|8字节| + |boolean|[[布尔类型]]|未知,由JVM决定|true&false 默认为false| + |char|[[字符类型]]|2字节| + - 默认整数类型:int + - 默认浮点类型:double +- 小结 + - 两种类型 + - 基本数据类型 + - 引用数据类型 + - 8个基本数据类型 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/字符串概述/2022-04-19T01_19_43.714Z.md b/logseq-java/logseq/bak/pages/字符串概述/2022-04-19T01_19_43.714Z.md new file mode 100644 index 0000000..a1505fd --- /dev/null +++ b/logseq-java/logseq/bak/pages/字符串概述/2022-04-19T01_19_43.714Z.md @@ -0,0 +1,3 @@ +- [[字符串]] +- [[String]] +- \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/字节流/2022-04-21T03_23_01.565Z.md b/logseq-java/logseq/bak/pages/字节流/2022-04-21T03_23_01.565Z.md new file mode 100644 index 0000000..5b8fb15 --- /dev/null +++ b/logseq-java/logseq/bak/pages/字节流/2022-04-21T03_23_01.565Z.md @@ -0,0 +1,23 @@ +- 流操作的最小单位 +- 方向 + - 输入字节流[[InputStream]] + - 输出字节流[[OutputStream]] +- [[File]] + - ```java + File f = new File(path); + if(!f.exist()){ + f.mkdir(); + }else if(f.isDirectory()){ + File[] files = f.listFiles + if(files != null && files.length > 0){ + for(File f2:files){ + boolean flag = f2.isDirectory(); + System.out.println(f2.getName + ((flag)?"目录":"文件")); + } + } + }else{ + + } + ``` +- 输入流 + - FileInputStream]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/异常/2022-04-19T12_06_54.975Z.md b/logseq-java/logseq/bak/pages/异常/2022-04-19T12_06_54.975Z.md new file mode 100644 index 0000000..3d75261 --- /dev/null +++ b/logseq-java/logseq/bak/pages/异常/2022-04-19T12_06_54.975Z.md @@ -0,0 +1,30 @@ +- 异常处理,是Java[[健壮性]]的体现 +- 程序在编码或运行过程中,出现的问题 +- 产生异常的可能性 + - 用户录入错误数据 + - 断网 + - 内存不足 + - 硬盘空间不足 + - 程序员乱写代码 +- 分类 + - [[错误]] + - > 错误,是程序员无法修改代码解决的 + - 内存不足 + - 硬盘空间不足 + - 网络无法访问 + - [[编译异常]] + - > 程序员写代码时,由[[编译器]]发现的异常 + - 文件找不到 + - 用户胡乱输入 + - [[运行异常]] + - > 程序在运行中,动态抛出的异常 + - 空指针 + - 数组下标越界 +- 编译异常解决方案 + - 抓捕异常,直接处理 + - [[try]][[catch]] + - 不抓捕,继续向下抛出 + - 不抓捕,直接处理 [[throw]] 抛出 + - 在代码中写throw error;在函数后加上throws ParseException + - 之要代码中使用了throws抛出异常,那么对应的方法就会被弹出方法栈 +- \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/异常捕获/2022-04-19T12_06_54.987Z.md b/logseq-java/logseq/bak/pages/异常捕获/2022-04-19T12_06_54.987Z.md new file mode 100644 index 0000000..6461d70 --- /dev/null +++ b/logseq-java/logseq/bak/pages/异常捕获/2022-04-19T12_06_54.987Z.md @@ -0,0 +1,14 @@ +- 异常的捕获,只针对编译异常 +- {{embed [[try-catch-finally]]}} +- [[finally]] + - 不管成功还是失败都要执行的代码 +- 多个[[catch]]块的问题 + - ```java + try{ + + }catch (error e){ + + }catch (error f){ + + } + ``` \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/强制转换/2022-03-30T06_04_25.246Z.md b/logseq-java/logseq/bak/pages/强制转换/2022-03-30T06_04_25.246Z.md new file mode 100644 index 0000000..c63013c --- /dev/null +++ b/logseq-java/logseq/bak/pages/强制转换/2022-03-30T06_04_25.246Z.md @@ -0,0 +1,14 @@ +- 高类型数据转低类型数据不能直接转 +- 如果要转换,需要指定转换的数据类型 +- 数据溢出 + - 转换时高数据类型的值超出低数据类型的范围 + - 溢出后会从最低值到最高值循环,直到未超出范围 +- 精度丢失 + - 高类型转低类型时,精度会丢失 + - double-->float + - 丢失小数点7位之后的部分 + - double/float-->int + - 丢失小数点后的部分 +- 自动提升 + - 参与运算的整数类型,小于int会自动提升为int类型,int+int为int类型,不能直接转型为byte + - 参与运算的最高类型为最终运算的结果的类型 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/抽象类/2022-04-19T01_19_45.126Z.md b/logseq-java/logseq/bak/pages/抽象类/2022-04-19T01_19_45.126Z.md new file mode 100644 index 0000000..1e9fbe5 --- /dev/null +++ b/logseq-java/logseq/bak/pages/抽象类/2022-04-19T01_19_45.126Z.md @@ -0,0 +1,34 @@ +- [[抽象]] +- 具有 [[抽象方法]] 的类 + - 具有抽象方法的必须是抽象类 + id:: 6254e692-cdf6-43ff-a045-637b1253591c + - 抽象类无法被实例化,因为有方法不确定,无法用[[new]]使用 + - 抽象类中的方法一定要让子类实现 + id:: 6254e7f4-1f9b-4da4-bca3-af5b328ff3e7 +- ```java + public abstract class Girl{ + public abstract void smile(); + } + ``` +- 特点 + - ((6254e692-cdf6-43ff-a045-637b1253591c)) + - 抽象类中不一定要有抽象方法,此时定义抽象类没有多大意义 + - ((6254e7f4-1f9b-4da4-bca3-af5b328ff3e7)),通过[[abstract]]关键字定义,不实现会报错 + - 子类如果不实现时,将子类也定义为抽象类 + - 抽象类无法实例化 +- 可放置元素 + - 普通类所有元素+抽象方法 + - 抽象方法 + - 非抽象方法 + - 属性 + - > 抽象类定义属性目的: + 给子类定义的东西 + - 构造器 + - > 抽象类定义构造器目的: + 给子类定义的东西 +- 抽象方法,不可定义为[[private]] #Java面试 + 私有代表无法被[[重写]],抽象方法一定要子类重写 +- 抽象方法不能定义[[static]] #Java面试 + static方法的调用方式:类名.方法名 意味着这个方法一定有过实现,但是抽象方法没有实现 +- 抽象方法不可定义为[[final]] #Java面试 + final定义在方法上不能被重写,但是抽象方法一定要子类重写 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/数组排序/2022-04-07T14_01_47.181Z.md b/logseq-java/logseq/bak/pages/数组排序/2022-04-07T14_01_47.181Z.md new file mode 100644 index 0000000..bc1d98b --- /dev/null +++ b/logseq-java/logseq/bak/pages/数组排序/2022-04-07T14_01_47.181Z.md @@ -0,0 +1,26 @@ +- 冒泡排序 + - 特点: + 每一轮循环后,最大的一个数被交换到末尾,因此,下一轮循环就可以跑相互最后的数,没一轮循环都比上一轮循环的结束位置靠前一位 + - ```java + int[] ns = { 28, 12, 89, 73, 65, 18, 96, 50, 8, 36}; + System.out.println(Arrays.toString(ns)); + for (int i = 0; i < ns.length - 1; i++){ + for(int j = 0; j ns[j+1]){ + int tmp = ns[j]; //交换时要先定义一个临时变量 + ns[j] = ns[j+1]; + ns[j+1] = tmp; + } + } + } + System.out.println(Arrays.toString[ns]) + ``` + - 使用JDK提供的Arrays.sort() + - ```java + import java.util.Arrays; + + nt[] ns = { 28, 12, 89, 73, 65, 18, 96, 50, 8, 36}; + Arrays.sort(ns); + System.out.println(Arrays.toStrint(ns)); + ``` + - \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/整型/2022-03-29T01_20_54.682Z.md b/logseq-java/logseq/bak/pages/整型/2022-03-29T01_20_54.682Z.md new file mode 100644 index 0000000..10edc22 --- /dev/null +++ b/logseq-java/logseq/bak/pages/整型/2022-03-29T01_20_54.682Z.md @@ -0,0 +1,3 @@ +- 占四个字节内存空间,共32位 +- 取值$-2^31$~$2^31$ +- \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/有参构造器/2022-04-11T02_49_52.538Z.md b/logseq-java/logseq/bak/pages/有参构造器/2022-04-11T02_49_52.538Z.md new file mode 100644 index 0000000..068ea7f --- /dev/null +++ b/logseq-java/logseq/bak/pages/有参构造器/2022-04-11T02_49_52.538Z.md @@ -0,0 +1,2 @@ +- 在创建对象时候初始化里面的值 + id:: 6253973f-838a-4d3e-a33b-e42497af6185 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/构造器/2022-04-19T01_19_45.362Z.md b/logseq-java/logseq/bak/pages/构造器/2022-04-19T01_19_45.362Z.md new file mode 100644 index 0000000..4929a37 --- /dev/null +++ b/logseq-java/logseq/bak/pages/构造器/2022-04-19T01_19_45.362Z.md @@ -0,0 +1,22 @@ +- [[构造方法]] +- 作用 + - 配合 [[new]] 关键字,创建对象的实例 + - 编译器会自动的在类中,给每个类产生一个无参构造方法 +- 自己定义 + - ```java + public Book(){ + + } + ``` + - 方法名用类名一致 + - 无任何返回值,无void +- [[无参构造器]] +- [[有参构造器]] + - 作用 + - ((62539750-497b-42e9-965e-d1d4ddf2888a)) + id:: 6253975b-b401-45c2-90c9-693d59ebc80a +- 注意 + - 写有参时要先写一个无参构造器 + - 编译器发现构建了有参构造器就不会自动创建无参构造器 +- +- \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/标识符/2022-04-19T01_19_45.398Z.md b/logseq-java/logseq/bak/pages/标识符/2022-04-19T01_19_45.398Z.md new file mode 100644 index 0000000..dfb4ed3 --- /dev/null +++ b/logseq-java/logseq/bak/pages/标识符/2022-04-19T01_19_45.398Z.md @@ -0,0 +1,97 @@ +- 标识符 + - 任何一种编程语言,都是由一些符号构成 + - 单词,特殊符号 + - 有的系统默认,默认标识符称为关键字,非系统默认成为自定义标识符 +- Java中的关键字 + - 共50个 + |关键字||||| + |abstract|char|class|const|continue| + |catch|do|double|else|extends| + |default|boolean|break|byte|case| + |assert|final|finally|float|for| + |goto|ig|implements|import|instanceof| + |strictfp|package|private|protected|public| + - 类别 关键字 说明 + 访问控制 private 私有的 + protected 受保护的 + public 公共的 + default 默认 + 类、方法和变量修饰符 abstract 声明抽象 + class 类 + extends 扩充,继承 + final 最终值,不可改变的 + implements 实现(接口) + interface 接口 + native 本地,原生方法(非 Java 实现) + new 新,创建 + static 静态 + strictfp 严格,精准 + synchronized 线程,同步 + transient 短暂 + volatile 易失 + 程序控制语句 break 跳出循环 + case 定义一个值以供 switch 选择 + continue 继续 + default 默认 + do 运行 + else 否则 + for 循环 + if 如果 + instanceof 实例 + return 返回 + switch 根据值选择执行 + while 循环 + 错误处理 assert 断言表达式是否为真 + catch 捕捉异常 + finally 有没有异常都执行 + throw 抛出一个异常对象 + throws 声明一个异常可能被抛出 + try 捕获异常 + 包相关 import 引入 + package 包 + 基本类型 boolean 布尔型 + byte 字节型 + char 字符型 + double 双精度浮点 + float 单精度浮点 + int 整型 + long 长整型 + short 短整型 + 变量引用 super 父类,超类 + this 本类 + void 无返回值 + 保留关键字 goto 是关键字,但不能使用 + const 是关键字,但不能使用 + - > goto const是java中不常用的关键字 + goto 跳转指针,Java不操作指针 + const定义常量,但是Java中的final替换掉了 + - 3个保留关键字 + - true + - false + - null +- 自定义标识符 + - > 代码中不会变颜色的符号 + - 类的类名 + - 方法的方法名 + - 变量名 + - 参数名 + - SUN公司定义规则 + - 标识符组成由数字,大小写字母,下划线,美元符号组成 + - 不能数字开头,严格区分大小写,长度不限 + - 不能是关键字 + - 行业潜规则 + - 类的类名,方法的方法名,变量的变量名,参数的参数名,在定义时遵守"驼峰命名法" + - 类的类名遵从大驼峰,单词首字母大写 + - 方法的方法名,变量的变量名,参数的参数名,遵守"小驼峰" + - 第一个首字母小写,单词之间首字母大写 + - 标识符在定义时,要见名知意 + - 常量的名字单词全大写,单词之间使用_分割 + - ```java + final double MATH_PI = 3.14; + ``` + - ![阿里巴巴 Java 开发手册.pdf](../assets/阿里巴巴_Java_开发手册_1648535351339_0.pdf) +- 小结 + - 标识符可分为关键字和自定义标识符 + - 关键字50个 + - 大驼峰 + - 小驼峰 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/格式化输出/2022-04-07T14_01_47.361Z.md b/logseq-java/logseq/bak/pages/格式化输出/2022-04-07T14_01_47.361Z.md new file mode 100644 index 0000000..f5942aa --- /dev/null +++ b/logseq-java/logseq/bak/pages/格式化输出/2022-04-07T14_01_47.361Z.md @@ -0,0 +1,17 @@ +- > println是peint line的缩写,表示输出后换行,不换行可以用print() +- ### 格式化输出System.out.printf() + - ```java + double d = 3.1415926 + System.out.printf("%.2f\n",d); + System.out.printf("%.2f\n",d); + ``` + - |占位符|说明| + |%d|格式化输出整数| + |%x|格式化输出十六进制整数| + |%f|格式化输出浮点数| + |%e|格式化输出科学计数法表示的浮点数| + |%s|格式化字符串| + - > 由于%表述占位符,因此,两个%%表示一个%字符本身 + - JDK格式化参数模板[java.util.Formatter](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Formatter.html#syntax) + - + - \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/深圳蜗牛Java面试题/2022-07-06T05_44_43.681Z.md b/logseq-java/logseq/bak/pages/深圳蜗牛Java面试题/2022-07-06T05_44_43.681Z.md new file mode 100644 index 0000000..0c82519 --- /dev/null +++ b/logseq-java/logseq/bak/pages/深圳蜗牛Java面试题/2022-07-06T05_44_43.681Z.md @@ -0,0 +1,554 @@ +- ## 一阶段 + - ### 1.1 集合 + collapsed:: true + - 1. [[HashMap和ConcurrentHashMap的区别]] + - 2. [[线程安全的集合有哪些]] + - 3. [[如何做到集合变遍历,边删除]] + - 4. [[HashMap的底层原理是什么,如何扩容,并解决Hash碰撞的]] + - 5. [[HashMap在什么情况下单链表需要转为红黑树]] + - 6. [[ConcurrentHashMap为什么是线程安全的,如何做到的]] + - 7. [[是否写过HashMap的底层,了解过什么]] + - 8. [[Collection集合和Map体系集合的区别]] + - 9. [[HashMap在JDK1.7和JDK1.8的区别]] + - 10. [[HashSet的去重原理]] + - 11. [[写个时间复杂度为O(n)的算法,找到一个数列第二大的数]] + - 12. [[Collection 和 Collections 的区别是啥]] + - 13. [[如何获得Map集合中的所有的Key]] + - 14. [[HashMap 什么情况下会产生死锁的问题如何解决]] + - 15. [[如何使用jdk1.8新特性从商品集合中单独把某一个字段(比如id)拿出来当做一个集合]] + - 16. [[ArrayList和LinkedList的区别]] + - 17. [[遍历Set和List的通用方法]] + - 18. [[有几种方法可以遍历JAVA集合]] + - 19. [[ArrayList哪些操作效率较高]] + - 20. [[HashMap为什么要重写hashcode]] + - 21. [[JDK中有哪些队列]] + - 22. [[HashMap 和 Hashtable 有什么区别]] + - 23. [[List、Set、map区别]] + - 24. [[HashMap的put方法的执行过程]] + - 25. [[分析HashMap为什么线程不安全]] + - 26. [[集合的分类,分别的特性是哪些]] + - 27. [[给你一个数值类型数组,如何以最快的方式,查找到某一个元素]] + - 28. [[编程题,给你一个整数数组,进行排序,输入一个k,从小到大输出k个数]] + - 29. [[有个数组,如何颠倒所有的元素]] + - 30. [[银行系统,我给你168的数字,你应该给我多少张不同面额的人民币(口述如何实现)]] + - 31. [[HashMap的底层是如何解决Hash碰撞的]] + - 32. [[Collection 和 Collections 有什么区别]] + - 33. [[数组,链表,哪个查询效率高,为什么高]] + - 34. [[CurrentHashMap的在JDK1.7和1.8期间分别的特征]] + - 35. [[自旋锁的特征]] + - 36. [[遍历Set和List的通用方法]] + - 37. [[数组的排序算法,你都知道哪些请列举并手写一个出来]] + - ### 1.2 多线程 + collapsed:: true + - 1. [[进程与线程的区别]] + - 2. [[为什么要用多线程]] + - 3. [[多线程的创建方式有哪些]] + - 4. [[是继承Thread类好,还是实现Runnable接口好]] + - 5. [[ThreadLocal类是什么类]] + - 6. [[你项目中的哪些地方使用到多线程]] + - 7. [[什么是线程安全]] + - 8. [[如何解决多线程间线程安全问题]] + - 9. [[为什么使用同步或锁,就可以让多线程解决线程安全问题]] + - 10. [[什么是线程同步]] + - 11. [[什么是同步代码块]] + - 12. [[同步代码块和同步函数之间有什么区别]] + - 13. [[同步函数和静态同步函数之间有什么区别]] + - 14. [[什么是多线程死锁]] + - 15. [[wait() 和notify() 方法的区别]] + - 16. [[同步与异步的区别]] + - 17. [[线程的生命周期]] + - 18. [[线程同步的几个方法]] + - 19. [[并发与并行的区别]] + - 20. [[关于多线程锁升级的理解]] + - 21. [[怎么理解过程一致性和结果一致性]] + - 22. [[synchronized与Lock锁的区别]] + - 23. [[同步方法与同步块的区别]] + - 24. [[什么是线程池它的作用是什么]] + - 25. [[线程池有哪些核心参数]] + - 26. [[synchronized与乐观锁的区别]] + - 27. [[你是怎么创建线程池的]] + - 28. [[线程的原子性是什么]] + - 29. [[说说你对线程的3个特性(原子,可见,有序)的理解]] + - 30. [[sleep()和wait() 的区别]] + - 31. [[如何停止一根线程]] + - 32. [[什么是守护线程,如何做到]] + - 33. [[yield() 与 join() 方法的区别]] + - 34. [[什么是Volatile,它的作用是什么]] + - 35. [[什么是AtomicInteger]] + - 36. [[你都知道哪些锁]] + - 提示:自旋锁,可重入锁,互斥锁,悲观锁,乐观锁,偏向锁,轻量级锁,重量级锁 + - 37. [[线程是如何开始的]] + - 38. [[守护线程是什么如何实现]] + - 39. [[JDK1.8 针对synchronized,都做过哪些优化]] + - ### 1.3 JVM + collapsed:: true + - 1. [[请说下Java的内存模型,也就是JMM]] + - Java内存模型(JMM):JVM规范中定义了Java的内存模型(Java Memory Model,JMM), + - JMM主要分为2个部分:主内存以及每个线程的本地内存。 + - ![image.png](../assets/image_1657070835023_0.png) + - JVM中运行的每个线程都拥有自己的线程栈,线程栈包含了当前线程执行的方法调用相关信息,我们也把它称作调用栈。随着代码的不断执行,调用栈会不断变化。共享的对象我们会放置在堆中! + - ![image.png](../assets/image_1657070883091_0.png) + - 现在的电脑,一般都是多CPU的。那么多个CPU如何操作内存呢 + - 现代计算机一般都有2个以上CPU,而且每个CPU还有可能包含多个核心。因此,如果我们的应用是多线程的话,这些线程可能会在各个CPU核心中并行运行。 + - ![image.png](../assets/image_1657070989302_0.png) + - 在CPU内部有一组CPU寄存器,也就是CPU的储存器。CPU操作寄存器的速度要比操作计算机主存快的多。在主存和CPU寄存器之间还存在一个CPU缓存,CPU操作CPU缓存的速度快于主存但慢于CPU寄存器。某些CPU可能还有多个缓存层(一级缓存和二级缓存)。计算机的主存也称作RAM,所有的CPU都能够访问主存,而且主存比上面提到的缓存和寄存器大很多。 + - 当一个CPU需要访问主存时,会先读取一部分主存数据到CPU缓存,进而在读取CPU缓存到寄存器。当CPU需要写数据到主存时,同样会先flush寄存器到CPU缓存,然后再在某些节点把缓存数据flush到主存 + - 2. [[请说下JVM的运行时的内存结构]] + - JDK1.8以前: + - ![image.png](../assets/image_1657071088825_0.png) + - JDK1.8以后: + - ![image.png](../assets/image_1657071125303_0.png) + - JDK1.8中,移除了方法区的概念,将类的类信息等元数据使用元数据区(或者叫:元空间)来进行存储。 + - 但是程序计数器,本地方法栈,线程栈这3个部分,依旧是线程所独有!堆,元空间还是被线程所共享! + - 3. [[JVM虚拟机的原理]] + - 提示:就是一台虚拟的机器。同样是一款软件,用来执行一系列虚拟计算指令,大体上虚拟机可以分为系统虚拟机和程序虚拟机,大名鼎鼎的Visual Box、Vmware就属于系统虚拟机,他们完全是对物理计算的仿真,提供了一个可以运行完整操作系统的软件平台。 + - 程序虚拟机典型代码就是Java虚拟机,它专门为执行单个计算程序而计算,在Java虚拟机中执行的指令我们成为Java自己码指令。无论是系统虚拟机还是程序虚拟机,在上面运行的软件都被限制于虚拟机提供的资源中。目前Java使用最广泛的是HotSpot虚拟机。 + - 4. [[什么是虚拟机参数配置 你是否配置过 在哪里配置]] + - 提示: + - 虚拟机参数配置,其实就是围绕着堆、栈、方法区的内存空间大小进行配置。 + - 其目的:就是为了更高效,更合理的利用虚拟机,减少FullGC的次数,提升内存的利用率 + - 配置方式多种:可在tomcat的bin目录下的catalina.bat中配置,也可以在开发工具中配置 + - 5. [[都有哪些堆的参数,可以配置]] + - 提示: + - -XX:+PrintGC    每次触发GC的时候打印相关日志 + - -XX:+UseSerialGC 串行回收 + - -XX:+PrintGCDetails  更详细的GC日志 + - -Xms    堆初始值 + - -Xmx    堆最大可用值 + - -Xmn    新生代堆最大可用值 + - -XX:SurvivorRatio 用来设置新生代中eden空间和from/to空间的比例. + - 含以-XX:SurvivorRatio=eden/from=den/to + - 总结:在实际工作中,我们可以直接将初始的堆大小与最大堆大小相等, + - 这样的好处是可以减少程序运行时垃圾回收次数,从而提高效率。 + - -XX:SurvivorRatio 用来设置新生代中eden空间和from/to空间的比例. + - 6. [[如何设置最大堆空间大小]] + - 提示: + - 参数: -Xms20m -Xmx20m -XX:+PrintGCDetails -XX:+UseSerialGC -XX:+PrintCommandLineFlags + - 7. [[设置新生代与老年代优化参数]] + - 提示: + - -Xmn    新生代大小,一般设为整个堆的1/3到1/4左右 + - -XX:SurvivorRatio    设置新生代中eden区和from/to空间的比例关系n/1 默认是8:1:1 + - 参数: -Xms20m -Xmx20m -Xmn5m -XX:SurvivorRatio=8 -XX:+PrintGCDetails -XX:+UseSerialGC + - 8. [[设置新生与老年代代参数]] + - 提示: + - -Xms20m -Xmx20m -XX:SurvivorRatio=8 -XX:+PrintGCDetails -XX:+UseSerialGC + - -XX:NewRatio=2 + - 总结:不同的堆分布情况,对系统执行会产生一定的影响,在实际工作中, + - 应该根据系统的特点做出合理的配置,基本策略:尽可能将对象预留在新生代, + - 减少老年代的GC次数。 + - 除了可以设置新生代的绝对大小(-Xmn),可以使用(-XX:NewRatio)设置新生代和老年 + - 代的比例:-XX:NewRatio=老年代/新生代 + - 9. [[内存溢出你是咋解决的]] + - 提示: + - 错误原因: java.lang.OutOfMemoryError: Java heap space + - 解决办法:设置堆内存大小 -Xms1m -Xmx70m -XX:+HeapDumpOnOutOfMemoryError + - 10. [[栈溢出你是咋解决的]] + - 提示: + - 错误原因: java.lang.StackOverflowError + - 栈溢出 产生于递归调用,循环遍历是不会的,但是循环方法里面产生递归调用, 也会发生栈溢出。 + - 解决办法:设置线程最大调用深度 + - -Xss5m 设置最大调用深度 + - 11. [[Tomcat内存溢出在catalina.sh 修改JVM堆内存大小]] + - 提示: + - JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxNewSize=512m" + - 12. [[内存泄漏与内存溢出的区别]] + - 提示: + - 内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。 + - 内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。 + - memory leak会最终会导致out of memory! + - 内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出。 

内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序。一个盘子用尽各种方法只能装4个果子,你装了5个,结果掉倒地上不能吃了。这就是溢出!比方说栈,栈满时再做进栈必定产生空间溢出,叫上溢,栈空时再做退栈也产生空间溢出,称为下溢。就是分配的内存不足以放下数据项序列,称为内存溢出. 

以发生的方式来分类,内存泄漏可以分为4类: 

1. 常发性内存泄漏。发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。 
2. 偶发性内存泄漏。发生内存泄漏的代码只有在某些特定环境或操作过程下才会发生。常发性和偶发性是相对的。对于特定的环境,偶发性的也许就变成了常发性的。所以测试环境和测试方法对检测内存泄漏至关重要。 
3. 一次性内存泄漏。发生内存泄漏的代码只会被执行一次,或者由于算法上的缺陷,导致总会有一块仅且一块内存发生泄漏。比如,在类的构造函数中分配内存,在析构函数中却没有释放该内存,所以内存泄漏只会发生一次。 
4. 隐式内存泄漏。程序在运行过程中不停的分配内存,但是直到结束的时候才释放内存。严格的说这里并没有发生内存泄漏,因为最终程序释放了所有申请的内存。但是对于一个服务器程序,需要运行几天,几周甚至几个月,不及时释放内存也可能导致最终耗尽系统的所有内存。所以,我们称这类内存泄漏为隐式内存泄漏。 

从用户使用程序的角度来看,内存泄漏本身不会产生什么危害,作为一般的用户,根本感觉不到内存泄漏的存在。真正有危害的是内存泄漏的堆积,这会最终消耗尽系统所有的内存。从这个角度来说,一次性内存泄漏并没有什么危害,因为它不会堆积,而隐式内存泄漏危害性则非常大,因为较之于常发性和偶发性内存泄漏它更难被检测到 + - 13. [[JVM参数调优的总结]] + - 提示: + - 在JVM启动参数中,可以设置跟内存、垃圾回收相关的一些参数设置,默认情况不做任何设置JVM会工作的很好,但对一些配置很好的Server和具体的应用必须仔细调优才能获得最佳性能。通过设置我们希望达到一些目标: + - 1. GC的时间足够的小 + - 2. GC的次数足够的少 + - 3. 发生Full GC的周期足够的长 + - 前两个目前是相悖的,要想GC时间小必须要一个更小的堆,要保证GC次数足够少,必须保证一个更大的堆,我们只能取其平衡。 + - 1. 针对JVM堆的设置,一般可以通过-Xms -Xmx限定其最小、最大值,为了防止垃圾收集器在最小、最大之间收缩堆而产生额外的时间,我们通常把最大、最小设置为相同的值 + - 2. 年轻代和年老代将根据默认的比例(1:2)分配堆内存,可以通过调整二者之间的比率NewRadio来调整二者之间的大小,也可以针对回收代,比如年轻代,通过 -XX:newSize -XX:MaxNewSize来设置其绝对大小。同样,为了防止年轻代的堆收缩,我们通常会把-XX:newSize -XX:MaxNewSize设置为同样大小 + - 3. 年轻代和年老代设置多大才算合理 毫无疑问是没有答案的,否则也就不会有调优。我们观察一下二者大小变化有哪些影响 + - 1. 更大的年轻代必然导致更小的年老代,大的年轻代会延长普通GC的周期,但会增加每次GC的时间;小的年老代会导致更频繁的Full GC + - 2. 更小的年轻代必然导致更大年老代,小的年轻代会导致普通GC很频繁,但每次的GC时间会更短;大的年老代会减少Full GC的频率 + - 3. 如何选择应该依赖应用程序对象生命周期的分布情况:如果应用存在大量的临时对象,应该选择更大的年轻代;如果存在相对较多的持久对象,年老代应该适当增大。但很多应用都没有这样明显的特性,在抉择时应该根据以下两点: + - 1. 本着Full GC尽量少的原则,让年老代尽量缓存常用对象,JVM的默认比例1:2也是这个道理 + - 2. 通过观察应用一段时间,看其他在峰值时年老代会占多少内存,在不影响Full GC的前提下,根据实际情况加大年轻代,比如可以把比例控制在1:1。但应该给年老代至少预留1/3的增长空间 + - ### 1.4 GC + collapsed:: true + - 1. [[说说你对Java的GC回收机制的理解]] + - 提示: + - Java语言有个特征:安全性,就是指Java程序员摆脱了C++ 程序员关于内存管理的问题。使得Java程序员在编写程序时,不需要通过指针操作内存,同时也不需要再去关注内存何时将会被回收清理。这一切,都是因为有的GC回收机制的功劳。 + - ### 1.5 MySQL + collapsed:: true + - 1. [[项目中SQL调优的场景有哪些,数据库调优如何做]] + - 2. [[最多有过几张表的连表处理]] + - 3. [[为什么选择MySQL5.7,而不用5.5 5.6]] + - 4. [[数据库中Btree 与Hash索引的区别]] + - 5. [[什么是数据库回表,如何避免回表查询]] + - 6. [[InnoDB的行级锁什么情况下会使用]] + - 7. [[数据库中如何快速插入100W级数据]] + - 8. [[联合索引与普通索引的区别在哪里]] + - 9. [[有张100W级的表中存在大量的重复数据,如何快速去重]] + - 10. [[数据库中复合索引的字段中可以有null值吗]] + - 11. [[数据库中两张表如何要联合查询,要如何实现]] + - 12. [[mysql数据库索引是用什么数据结构存储的]] + - 13. [[事务在什么情况下会失效]] + - 14. [[怎么用Sql语句复制另一张表]] + - 15. [[数据库连表查询,左外联,右外联,内联查的区别]] + - 16. [[sql语句过慢怎么定位问题]] + - 17. [[说一下JDBC在连接数据库的操作上几个步骤]] + - 18. [[Like 后 加% 和 加_ 的区别在哪里]] + - 19. [[说一下事务的隔离级别和事务的传播性质]] + - 20. [[说一下怎么防止超卖,SQL怎么写]] + - 21. [[如果给你一个功能,你觉得从数据库设计开始的思路是什么]] + - 22. [[说一下 ACID 是什么]] + - 23. [[数据库用户ID主键策略]] + - 24. [[数据库的执行计划]] + - 25. [[JDBC如何提升读取数据的性能]] + - 26. [[select count(*) ,select count(1),select count(字段) 说一下区别]] + - 27. [[索引失效的场景有哪些]] + - 28. [[数据库的SQL语句如何加锁]] + - 29. [[数据库中哪些字段适合加索引 ,哪些不适合加索引]] + - 30. [[什么是聚簇索引,什么是非聚簇索引]] + - 31. [[Union 和 union all 的区别是什么]] + - 32. [[什么是SQL注入,如何防止]] + - 33. [[关闭连接一定能成功吗 怎么保证一定成功关闭连接]] + - 34. [[有哪些地方必须关闭资源]] + - 35. [[有没有设计过数据库 数据库三范式讲一下]] + - 36. [[In 与 exits 的区别是什么]] + - 37. [[MySQL中存储引擎InnoDB,MyIsam的区别在哪里]] + - 38. [[MySQL中锁机制]] + - 39. [[数据库中复合索引的字段中可以有null值吗]] + - 40. [[MySQL数据库的my.ini文件中可以配置什么参数]] + - 答:在mysql的安装根目录中,创建一个文件my.ini编写以下内容: + - ```ini + #client mysql 都是设置客户端 + [client] + #port参数表示的是MySQL数据库的端口,默认的端口是3306 + port=3306 + [mysql] + #default-character-set参数是客户端默认的字符集 + default-character-set=utf8 + #mysqld 设置服务端 + [mysqld] + #port参数也是表示数据库的端口 + port=3306 + #basedir参数表示MySQL的安装路径 + basedir="C:/Program Files/MySQL/MySQL Server 5.7/" + #datadir参数表示MySQL数据文件的存储位置,也是数据库表的存放位置 + datadir="C:/ProgramData/MySQL/MySQL Server 5.7/Data/" + #default-character-set参数表示默认的字符集,这个字符集是服务器端的 + character-set-server=utf8 + #default-storage-engine参数默认的存储引擎 + default-storage-engine=INNODB + #sql-mode参数表示SQL模式的参数,通过这个参数可以设置检验SQL语句的严格程度 + sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" + #max_connections参数表示允许同时访问MySQL服务器的最大连接数(默认151,最大值16384),其中一个连接是保留的,留给管理员专用的 + max_connections=1000 + #query_cache_size参数表示查询时的缓存大小,缓存中可以存储以前通过select语句查询过的信息,再次查询时就可以直接从缓存中拿出信息 + query_cache_size=0 + #table_cache参数表示所有进程打开表的总数 + table_cache=256 + #tmp_table_size参数表示内存中临时表的总数 + tmp_table_size=35M + #thread_cache_size参数表示保留客户端线程的缓存 + thread_cache_size=8 + #myisam_max_sort_file_size参数表示MySQL重建索引时所允许的最大临时文件的大小 + myisam_max_sort_file_size=100G + #myisam_sort_buffer_size参数表示重建索引时的缓存大小 + myisam_sort_buffer_size=69M + #key_buffer_size参数表示关键词的缓存大小 + key_buffer_size=55M + #read_buffer_size参数表示MyISAM表全表扫描的缓存大小 + read_buffer_size=64K + #read_rnd_buffer_size参数表示将排序好的数据存入该缓存中 + read_rnd_buffer_size=256K + #sort_buffer_size参数表示用于排序的缓存大小 + sort_buffer_size=256K + #innodb_additional_mem_pool_size参数表示附加的内存池,用来存储InnoDB表的内容 + innodb_additional_mem_pool_size=3M + #innodb_flush_log_at_trx_commit参数是设置提交日志的时机,若设置为1, + #InnoDB会在每次提交后将事务日志写到磁盘上 + innodb_flush_log_at_trx_commit=1 + #innodb_log_buffer_size参数表示用来存储日志数据的缓存区的大小 + innodb_log_buffer_size=2M + #innodb_buffer_pool_size参数表示缓存的大小,InnoDB使用一个缓冲池类保存索引和原始数据 + innodb_buffer_pool_size=107M + #innodb_log_file_size参数表示日志文件的大小 + innodb_log_file_size=54M + #innodb_thread_concurrency参数表示在InnoDB存储引擎允许的线程最大数 + innodb_thread_concurrency=18 + ``` + - ### 1.6 Mybatis + - 1. [[#{} 与 ${} 的区别]] + - 2. [[Mybatis的实现原理]] + - 3. [[Mybatis级联的配置]] + - 4. [[Mybatis的一二级缓存是什么样的]] + - 5. [[Mybits的缺点有哪些]] + - 6. [[Mybatis如何防止SQL注入]] + - ### 1.7 网络编程 + - 1. [[什么是Socket编程]] + - 2. [[TCP与UDP在概念上的区别]] + - 3. [[TCP协议的特点,你能说说吗 具体说说3次握手,4次挥手的过程]] + - 4. [[OSI七层模型,大概了解么]] + - ### 1.8 设计原则与设计模式 + - 1. [[7大设计原则有哪些]] + - 2. [[什么是设计模式,有多少个]] + - 3. [[单例设计模式,你会手写么 在项目中哪些地方有应用]] + - 4. [[代理设计模式中,静态代理和动态代理的区别]] + - 5. [[动态代理中JDK代理和CGLIB代理区别 代理模式,在项目中哪些地方有应用]] + - 6. [[工厂设计模式的作用 简单工厂会写不 在项目中哪些地方有应用]] + - 7. [[如何克隆一个对象 浅克隆与深克隆区别在哪里]] + - 8. [[设计模式中,工厂设计模式有啥用 项目中在哪些地方用过]] + - ### 1.9 其它题目 + - 1. [[异常的分类,如何自定义异常]] + - 2. [[普通类和抽象类有哪些区别]] + - 3. [[讲讲类的加载过程以及双亲委派机制]] + - 4. [[JDK1.8的新特性,你都用过哪些]] + - 5. [[网络通讯中tcp协议,udp协议的区别]] + - 6. [[普通类和抽象类的区别 接口和抽象的区别]] + - 7. [[常用操作字符串有哪些类 StringBuffer,StringBuilder]] + - 8. [[String,StringBuffer及StringBuilder的区别]] + - 9. [[如何跳出多重循环]] + - 10. [[什么是反射]] + - 11. [[final 在 Java 中有什么作用]] + - 12. [[说一下你熟悉的设计模式]] + - 13. [[谈谈面向对象]] + - 14. [[谈谈多线程并发]] + - 15. [[什么是Java的反射]] + - 16. [[Java的反射,在哪些地方有过应用]] + - 17. [[反射获得Class对象的3种方式]] + - 18. [[反射操作私有属性时,需要注意什么]] + - 19. [[抽象类可以继承实体类么]] + - 20. [[抽象类可以继承接口么]] + - 21. [[接口可以继承抽象类么]] + - 22. [[IO流的分类有哪些]] + - 23. [[谈谈BIO,NIO,AIO的区别是什么,你都用过哪些IO框架]] + - 24. [[Object类的常见方法都有哪些]] + - 25. [[Java中异常的分类,分别说说都哪些具体的异常]] + - 26. [[遇到BUG,你是如何调试的]] + - 27. [[如果运行结果跟预期不一样,但是代码没报错,怎么处理]] + - 28. [[有没有用过断点调试 怎么用的]] + - 29. [[JDK,JRE,JVM的区别]] + - 30. [[重写和重载的区别在哪里]] +- ## 二阶段 + - ### 2.1 Spring + - 1. [[对springIOC的理解]] + - 2. [[讲下springAOP,项目中你是如何应用的]] + - 3. [[动态代理模式中JDK与CGLIB的区别]] + - 4. [[Spring的循环依赖问题,如何解决]] + - 5. [[谈谈你对Spring bean的生命周期的理解]] + - 6. [[Spring中对事务的支持,有哪些方式 你项目中如何处理事务]] + - 7. [[Spring中bean基本都是单例的,如果一个方法要对bean中的属性值进行修改,这个方法会被多次执行,怎么确保安全]] + - 8. [[讲一下浅克隆与深克隆]] + - 9. [[@Resource和@Autowired的区别]] + - 10. [[介绍一下你的项目AOP日志功能如何实现的]] + - 11. [[Spring依赖注入的方式有哪些 有区别么]] + - 12. [[Spring的常用注解都有哪些]] + - 13. [[Spring 事务实现方式有哪些]] + - 14. [[BeanFactory 和 ApplicationContext的区别]] + - 15. [[Spring中bean基本都是单例的,如果一个方法要对bean中的属性值进行修改,这个方法会被多次执行,怎么确保安全]] + - 16. [[Spring实例化组件时,如何设置属性]] + - ### 2.2 SpringMVC + - 1. [[SpringMVC框架的工作流程]] + - 2. [[forward和redirect的区别]] + - 3. [[说一下@requestMapping的作用]] + - 4. [[知道拦截器么,你项目中哪里使用过拦截器]] + - 5. [[Springmvc 过滤器 拦截器的使用场景和区别是什么]] + - ### 2.3 SpringBoot + - 1. [[SpringBoot如何实现自动配置 原理是什么]] + - 2. [[SpringBoot的web模块自动集成了Tomcat,如何剔除]] + - 3. [[说说你常用的几个SpringBoot注解]] + - 4. [[你上个项目用的SpringBoot版本是那个版本的]] + - 5. [[SpringBoot主要的配置类有哪些]] + - 6. [[Spring,Springmvc,SpringBoot的区别是啥]] + - 7. [[可不可以配置两个数据源 比如一个mysql和一个oracle 在哪里配置,怎么配置]] + - 8. [[SpringBoot在yaml中配置了开发环境配置文件和测试配置文件,有几种方式在不同环境去使用不同的配置文件]] + - 9. [[SpringBoot的优点在哪里]] + - 10. [[当application.properties,application.yaml,bootstrap.yaml文件同时存在的情况下,它们的执行顺序是怎样的]] + - 11. [[Spring的启动流程是怎么样的]] + - ### 2.4 Web题 + - 1. [[HTTPS 通讯协议是如何实现的 它的加密方式是什么]] + - 2. [[在HTTP请求中如何存储客户信息(分如何获取和如何存储)]] + - 3. [[Ajax怎么实现同步]] + - 4. [[你们项目中,使用的什么 数据交换格式]] + - 5. [[HTTP通讯协议分为几个部分 请求协议的组成]] + - 6. [[JSON的解析框架,你用过什么]] + - 7. [[XML与JSON之间的区别]] + - 8. [[页面加载很慢,有什么优化方案]] + - 9. [[重定向和请求转发的区别是什么]] + - 10. [[JSON格式长什么样 那么JSONArray呢]] + - 11. [[Servlet的生命周期]] + - 12. [[Tomcat如何配置连接池 默认连接数是多少 == 生产环境,Tomcat性能比较差,如何调优]] + - 答:修改conf目录下的server.xml即可实现: + - ```xml + + + + + + + + + ``` + - 13. [[在请求中如何存储客户信息]] + - 14. [[如何防止表单重复提交]] + - 15. [[HTTP协议中GET与POST提交方法的区别在哪里]] + - 16. [[你对RestFul架构风格是如何理解的 平时都是怎么样的]] + - ### 2.5 Shiro + - 1. [[Shiro的执行流程]] +- ## 三阶段 + - ### 1. RabbitMQ + - 请说说消息队列的工作模式有哪些 + - MQ是如何保证消息不丢失的 + - MQ的工作原理 + - 如果保证用户一定能消费成功 + - 延迟队列,死信队列的区别是什么 + - 请说说RabbitMQ的优缺点 + - 延迟队列如何实现 + - 如果让你自己写个MQ服务器,你的思路是什么 需要使用到什么技术 + - 如何解决消息延时及过期失效的问题 如果有几百万条消息持续积压几小时,说说怎么解决 + - 讲一下MQ服务器的推拉模式,你在项目中是如何运用的 + - rabbitmq怎么实现订单延迟支付 + - 说一下怎么用rabbitmq实现取消订单的用户积分减少的 + - MQ是什么 你用过哪个 怎么配置的 + - Redis + - 什么是接口幂等性,如何保证接口幂等性操作 + - 幂等性问题会出现在哪些地方 + - Redis支持的数据类型 + - Redis的持久化方式,以及各自的区别,项目中用的哪一种,怎么配置的 + - 如何保证与数据库的双写一致性 + - 缓存穿透,击穿,雪崩对应的解决方案是什么 + - 使用的Redis是集群的嘛 有多少个节点,采用的是那种集群方案 + - 说一下Reddis怎么做集群的 + - Redis 都有哪些使用场景 + - Redis 有哪些功能 + - 分布式锁的目的 + - 为什么要用redis不用map + - Redis是原子性的吗 是线程安全的吗 多线程还是单线程 + - Redis的特性是哪些,可以用来干嘛 + - 项目中你们部署了多少台Redis服务器,一般配置多少台,熟悉哨兵机制么 + - 假设你redis里面有9个商品,我现在有10人来买,怎么防止超卖问题 + - Redis的单线程原理是什么 如果有10个用户同时操作Redis,那么Redis是否按照先后顺序来处理情况 + - Redis的分布式锁用过没 描述一下 + - Redis设置永不过期也可以解决缓存击穿,为什么还要用分布式锁 + - Redis如何保证与数据库的数据一致性问题 + - 红锁是怎么实现的 原理是什么 + - 知道Redis的看门狗机制么,为什么要用到看门狗 + - Redis的5种数据类型,分别的使用场景 + - Redis集群知道么,如何实现 + - Redis持久化机制中AOF与RDB区别在哪里 + - Redis如何配置RDB + - ES + - ES怎么保持和数据库的一致性 + - ES怎么配权重 可以做数据库吗 + - ES实现全文检索的原理是什么 + - ES查询一个张三,李四。张三名字可能会重复,要按照张三的生日去进行排序,这个ES语句怎么写 + - Linux + - 用过的Linux系统都有哪些 什么版本 + - chmod 改用户组的权限 + - 如果你在linux部署的项目出现报错时,你需要定位报错信息在哪怎么做 + - nginx反向代理原理 + - Nginx的负载均衡策略 + - Linux如何查看资源的使用情况 + - chmod如何改用户组的权限 + - 3.5.VUE + - 1、Vue的生命周期是什么,都有哪些钩子函数 + - 2、谈谈MVC架构与MVVM架构的区别在哪里 + - 3、VUE都有哪些组件 + - 四阶段 + - SpringCloud + - 服务熔断和服务降级,项目是如何运用的 + - 你们通过哪些手段处理系统的高并发问题 + - 项目中,关于鉴权你们是咋做的 + - Nacos 与 Eureka的区别 + - 分布式事务的原理 + - 为什么选择Seata来处理分布式事务 + - 说说项目开发流程 + - SpringCloud体系的几大组件 + - 讲一下spring cloud 中的服务注册的机制和配置方法 + - feign远程调用的时候,如何确保feign接口的参数和controller层方法参数一致 + - 你觉得SpringCloud相比传统的SpringMVC有什么优势 + - 说一下熔断器,你怎么用的,代码怎么写的 + - 做集群的时候事务怎么处理 + - 网关限流时,采用什么技术,使用什么限流算法 咋配置 + - 分布式高并发下的订单id是如何生成的 + - 介绍一下spring,springboot,springcloud + - openfeign的工作原理,是如何调用服务的 + - Feign远程调用的时候,如何确保Feign接口的参数和Controller层方法参数一致 + - 为什么要使用微服务,它的优缺点 + - 微服务的搭建步骤 + - 微服务组件都用过哪些,你们微服务的业务逻辑是什么样子的 + - Eureka如何搭建,如何才能规避因为网络原因导致客户端大面积下线的情况 + - Eureka高可用怎么配置 + - 了解网关么,网关的作用是什么,你都在网关中配置过什么内容 + - 网关限流如何配置 限流算法都用过哪些 + - 网关是如何找到其他微服务的 + - Eureka关闭之后,其他的微服务之间还能调用么 + - Nginx都配置过什么 如何做负载配置,都哪些负载算法 + - Ngnix代理配置是在哪个文件 + - Mysql的ini文件,都有些参数可以配置 + - Mybatis和MybatisPlus 你在项目中,哪个用的较多 + - 有哪些方法可以防止微服务接口被攻击 + - 4.2.Seata + - 1、什么是分布式事务,项目中哪些地方遇到分布式事务 + - 2、什么是2阶段提交,Seata是如何做2阶段提交的 + - 3、Seata是三大核心组件是哪些,他们分别的作用是什么 + - 4、Seata的AT模式与TCC模式区别在哪里 + - 5、AT模式在运行过程中,如何进行2阶段处理的 + - 6、分布式事务的两个理论特性 是什么 + - 7、请说一下Seata的执行流程 + - 4.3.Alibaba组件 + - 1、说说nacos吧 + - 2、 + - 其他问题 + - 你在项目中遇到的最大问题是什么 如何解决的 + - 项目部署没有 有没有经过压力测试 有没有经过渗透测试 + - 用过哪些经典的设计模式,谈谈你对它们的理解 + - 假如1个接口的QPS只有10,超过10会怎样 如何解决 + - 在使用git的过程中,遇到冲突,你是如何处理的 + - 单点登录的实现原理 + - 如何防止后端接口被攻击 + - 每天1万人访问主页并发量有多少 + - 负载均衡怎么实现 + - 你们开发规范是什么,具体开发流程是什么,需求分析谁做,原型设计怎么来的 + - 测试怎么做的 + - 项目中有哪些设计是存在缺陷或者不合理的 + - 你熟悉秒杀流程 那么秒杀如何保证数据一致性 + - 你们项目上线前会在哪里测试 怎么部署的 多个环境你该怎么设置 + - 大佬跟你讲的东西,你怎么判断正不正确 + - 三层架构是哪三层 具体说说,你知道它们分别对应的架构模式采用的是什么么 + - 在生成订单过程中,如果MySQL崩了,怎么办 + - 能详细说下非对称加密的流程吗 + - 生产环境中应用有问题如何分析问题 + - GIT回退上个版本,用什么命令 切换分支用哪个命令 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/深圳蜗牛Java面试题/2022-07-06T05_45_36.554Z.md b/logseq-java/logseq/bak/pages/深圳蜗牛Java面试题/2022-07-06T05_45_36.554Z.md new file mode 100644 index 0000000..0956f06 --- /dev/null +++ b/logseq-java/logseq/bak/pages/深圳蜗牛Java面试题/2022-07-06T05_45_36.554Z.md @@ -0,0 +1,554 @@ +- ## 一阶段 + - ### 1.1 集合 + collapsed:: true + - 1. [[HashMap和ConcurrentHashMap的区别]] + - 2. [[线程安全的集合有哪些]] + - 3. [[如何做到集合变遍历,边删除]] + - 4. [[HashMap的底层原理是什么,如何扩容,并解决Hash碰撞的]] + - 5. [[HashMap在什么情况下单链表需要转为红黑树]] + - 6. [[ConcurrentHashMap为什么是线程安全的,如何做到的]] + - 7. [[是否写过HashMap的底层,了解过什么]] + - 8. [[Collection集合和Map体系集合的区别]] + - 9. [[HashMap在JDK1.7和JDK1.8的区别]] + - 10. [[HashSet的去重原理]] + - 11. [[写个时间复杂度为O(n)的算法,找到一个数列第二大的数]] + - 12. [[Collection 和 Collections 的区别是啥]] + - 13. [[如何获得Map集合中的所有的Key]] + - 14. [[HashMap 什么情况下会产生死锁的问题如何解决]] + - 15. [[如何使用jdk1.8新特性从商品集合中单独把某一个字段(比如id)拿出来当做一个集合]] + - 16. [[ArrayList和LinkedList的区别]] + - 17. [[遍历Set和List的通用方法]] + - 18. [[有几种方法可以遍历JAVA集合]] + - 19. [[ArrayList哪些操作效率较高]] + - 20. [[HashMap为什么要重写hashcode]] + - 21. [[JDK中有哪些队列]] + - 22. [[HashMap 和 Hashtable 有什么区别]] + - 23. [[List、Set、map区别]] + - 24. [[HashMap的put方法的执行过程]] + - 25. [[分析HashMap为什么线程不安全]] + - 26. [[集合的分类,分别的特性是哪些]] + - 27. [[给你一个数值类型数组,如何以最快的方式,查找到某一个元素]] + - 28. [[编程题,给你一个整数数组,进行排序,输入一个k,从小到大输出k个数]] + - 29. [[有个数组,如何颠倒所有的元素]] + - 30. [[银行系统,我给你168的数字,你应该给我多少张不同面额的人民币(口述如何实现)]] + - 31. [[HashMap的底层是如何解决Hash碰撞的]] + - 32. [[Collection 和 Collections 有什么区别]] + - 33. [[数组,链表,哪个查询效率高,为什么高]] + - 34. [[CurrentHashMap的在JDK1.7和1.8期间分别的特征]] + - 35. [[自旋锁的特征]] + - 36. [[遍历Set和List的通用方法]] + - 37. [[数组的排序算法,你都知道哪些请列举并手写一个出来]] + - ### 1.2 多线程 + collapsed:: true + - 1. [[进程与线程的区别]] + - 2. [[为什么要用多线程]] + - 3. [[多线程的创建方式有哪些]] + - 4. [[是继承Thread类好,还是实现Runnable接口好]] + - 5. [[ThreadLocal类是什么类]] + - 6. [[你项目中的哪些地方使用到多线程]] + - 7. [[什么是线程安全]] + - 8. [[如何解决多线程间线程安全问题]] + - 9. [[为什么使用同步或锁,就可以让多线程解决线程安全问题]] + - 10. [[什么是线程同步]] + - 11. [[什么是同步代码块]] + - 12. [[同步代码块和同步函数之间有什么区别]] + - 13. [[同步函数和静态同步函数之间有什么区别]] + - 14. [[什么是多线程死锁]] + - 15. [[wait() 和notify() 方法的区别]] + - 16. [[同步与异步的区别]] + - 17. [[线程的生命周期]] + - 18. [[线程同步的几个方法]] + - 19. [[并发与并行的区别]] + - 20. [[关于多线程锁升级的理解]] + - 21. [[怎么理解过程一致性和结果一致性]] + - 22. [[synchronized与Lock锁的区别]] + - 23. [[同步方法与同步块的区别]] + - 24. [[什么是线程池它的作用是什么]] + - 25. [[线程池有哪些核心参数]] + - 26. [[synchronized与乐观锁的区别]] + - 27. [[你是怎么创建线程池的]] + - 28. [[线程的原子性是什么]] + - 29. [[说说你对线程的3个特性(原子,可见,有序)的理解]] + - 30. [[sleep()和wait() 的区别]] + - 31. [[如何停止一根线程]] + - 32. [[什么是守护线程,如何做到]] + - 33. [[yield() 与 join() 方法的区别]] + - 34. [[什么是Volatile,它的作用是什么]] + - 35. [[什么是AtomicInteger]] + - 36. [[你都知道哪些锁]] + - 提示:自旋锁,可重入锁,互斥锁,悲观锁,乐观锁,偏向锁,轻量级锁,重量级锁 + - 37. [[线程是如何开始的]] + - 38. [[守护线程是什么如何实现]] + - 39. [[JDK1.8 针对synchronized,都做过哪些优化]] + - ### 1.3 JVM + collapsed:: true + - 1. [[请说下Java的内存模型,也就是JMM]] + - Java内存模型(JMM):JVM规范中定义了Java的内存模型(Java Memory Model,JMM), + - JMM主要分为2个部分:主内存以及每个线程的本地内存。 + - ![image.png](../assets/image_1657070835023_0.png) + - JVM中运行的每个线程都拥有自己的线程栈,线程栈包含了当前线程执行的方法调用相关信息,我们也把它称作调用栈。随着代码的不断执行,调用栈会不断变化。共享的对象我们会放置在堆中! + - ![image.png](../assets/image_1657070883091_0.png) + - 现在的电脑,一般都是多CPU的。那么多个CPU如何操作内存呢 + - 现代计算机一般都有2个以上CPU,而且每个CPU还有可能包含多个核心。因此,如果我们的应用是多线程的话,这些线程可能会在各个CPU核心中并行运行。 + - ![image.png](../assets/image_1657070989302_0.png) + - 在CPU内部有一组CPU寄存器,也就是CPU的储存器。CPU操作寄存器的速度要比操作计算机主存快的多。在主存和CPU寄存器之间还存在一个CPU缓存,CPU操作CPU缓存的速度快于主存但慢于CPU寄存器。某些CPU可能还有多个缓存层(一级缓存和二级缓存)。计算机的主存也称作RAM,所有的CPU都能够访问主存,而且主存比上面提到的缓存和寄存器大很多。 + - 当一个CPU需要访问主存时,会先读取一部分主存数据到CPU缓存,进而在读取CPU缓存到寄存器。当CPU需要写数据到主存时,同样会先flush寄存器到CPU缓存,然后再在某些节点把缓存数据flush到主存 + - 2. [[请说下JVM的运行时的内存结构]] + - JDK1.8以前: + - ![image.png](../assets/image_1657071088825_0.png) + - JDK1.8以后: + - ![image.png](../assets/image_1657071125303_0.png) + - JDK1.8中,移除了方法区的概念,将类的类信息等元数据使用元数据区(或者叫:元空间)来进行存储。 + - 但是程序计数器,本地方法栈,线程栈这3个部分,依旧是线程所独有!堆,元空间还是被线程所共享! + - 3. [[JVM虚拟机的原理]] + - 提示:就是一台虚拟的机器。同样是一款软件,用来执行一系列虚拟计算指令,大体上虚拟机可以分为系统虚拟机和程序虚拟机,大名鼎鼎的Visual Box、Vmware就属于系统虚拟机,他们完全是对物理计算的仿真,提供了一个可以运行完整操作系统的软件平台。 + - 程序虚拟机典型代码就是Java虚拟机,它专门为执行单个计算程序而计算,在Java虚拟机中执行的指令我们成为Java自己码指令。无论是系统虚拟机还是程序虚拟机,在上面运行的软件都被限制于虚拟机提供的资源中。目前Java使用最广泛的是HotSpot虚拟机。 + - 4. [[什么是虚拟机参数配置 你是否配置过 在哪里配置]] + - 提示: + - 虚拟机参数配置,其实就是围绕着堆、栈、方法区的内存空间大小进行配置。 + - 其目的:就是为了更高效,更合理的利用虚拟机,减少FullGC的次数,提升内存的利用率 + - 配置方式多种:可在tomcat的bin目录下的catalina.bat中配置,也可以在开发工具中配置 + - 5. [[都有哪些堆的参数,可以配置]] + - 提示: + - -XX:+PrintGC    每次触发GC的时候打印相关日志 + - -XX:+UseSerialGC 串行回收 + - -XX:+PrintGCDetails  更详细的GC日志 + - -Xms    堆初始值 + - -Xmx    堆最大可用值 + - -Xmn    新生代堆最大可用值 + - -XX:SurvivorRatio 用来设置新生代中eden空间和from/to空间的比例. + - 含以-XX:SurvivorRatio=eden/from=den/to + - 总结:在实际工作中,我们可以直接将初始的堆大小与最大堆大小相等, + - 这样的好处是可以减少程序运行时垃圾回收次数,从而提高效率。 + - -XX:SurvivorRatio 用来设置新生代中eden空间和from/to空间的比例. + - 6. [[如何设置最大堆空间大小]] + - 提示: + - 参数: -Xms20m -Xmx20m -XX:+PrintGCDetails -XX:+UseSerialGC -XX:+PrintCommandLineFlags + - 7. [[设置新生代与老年代优化参数]] + - 提示: + - -Xmn    新生代大小,一般设为整个堆的1/3到1/4左右 + - -XX:SurvivorRatio    设置新生代中eden区和from/to空间的比例关系n/1 默认是8:1:1 + - 参数: -Xms20m -Xmx20m -Xmn5m -XX:SurvivorRatio=8 -XX:+PrintGCDetails -XX:+UseSerialGC + - 8. [[设置新生与老年代代参数]] + - 提示: + - -Xms20m -Xmx20m -XX:SurvivorRatio=8 -XX:+PrintGCDetails -XX:+UseSerialGC + - -XX:NewRatio=2 + - 总结:不同的堆分布情况,对系统执行会产生一定的影响,在实际工作中, + - 应该根据系统的特点做出合理的配置,基本策略:尽可能将对象预留在新生代, + - 减少老年代的GC次数。 + - 除了可以设置新生代的绝对大小(-Xmn),可以使用(-XX:NewRatio)设置新生代和老年 + - 代的比例:-XX:NewRatio=老年代/新生代 + - 9. [[内存溢出你是咋解决的]] + - 提示: + - 错误原因: java.lang.OutOfMemoryError: Java heap space + - 解决办法:设置堆内存大小 -Xms1m -Xmx70m -XX:+HeapDumpOnOutOfMemoryError + - 10. [[栈溢出你是咋解决的]] + - 提示: + - 错误原因: java.lang.StackOverflowError + - 栈溢出 产生于递归调用,循环遍历是不会的,但是循环方法里面产生递归调用, 也会发生栈溢出。 + - 解决办法:设置线程最大调用深度 + - -Xss5m 设置最大调用深度 + - 11. [[Tomcat内存溢出在catalina.sh 修改JVM堆内存大小]] + - 提示: + - JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxNewSize=512m" + - 12. [[内存泄漏与内存溢出的区别]] + - 提示: + - 内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。 + - 内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。 + - memory leak会最终会导致out of memory! + - 内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出。 

内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序。一个盘子用尽各种方法只能装4个果子,你装了5个,结果掉倒地上不能吃了。这就是溢出!比方说栈,栈满时再做进栈必定产生空间溢出,叫上溢,栈空时再做退栈也产生空间溢出,称为下溢。就是分配的内存不足以放下数据项序列,称为内存溢出. 

以发生的方式来分类,内存泄漏可以分为4类: 

1. 常发性内存泄漏。发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。 
2. 偶发性内存泄漏。发生内存泄漏的代码只有在某些特定环境或操作过程下才会发生。常发性和偶发性是相对的。对于特定的环境,偶发性的也许就变成了常发性的。所以测试环境和测试方法对检测内存泄漏至关重要。 
3. 一次性内存泄漏。发生内存泄漏的代码只会被执行一次,或者由于算法上的缺陷,导致总会有一块仅且一块内存发生泄漏。比如,在类的构造函数中分配内存,在析构函数中却没有释放该内存,所以内存泄漏只会发生一次。 
4. 隐式内存泄漏。程序在运行过程中不停的分配内存,但是直到结束的时候才释放内存。严格的说这里并没有发生内存泄漏,因为最终程序释放了所有申请的内存。但是对于一个服务器程序,需要运行几天,几周甚至几个月,不及时释放内存也可能导致最终耗尽系统的所有内存。所以,我们称这类内存泄漏为隐式内存泄漏。 

从用户使用程序的角度来看,内存泄漏本身不会产生什么危害,作为一般的用户,根本感觉不到内存泄漏的存在。真正有危害的是内存泄漏的堆积,这会最终消耗尽系统所有的内存。从这个角度来说,一次性内存泄漏并没有什么危害,因为它不会堆积,而隐式内存泄漏危害性则非常大,因为较之于常发性和偶发性内存泄漏它更难被检测到 + - 13. [[JVM参数调优的总结]] + - 提示: + - 在JVM启动参数中,可以设置跟内存、垃圾回收相关的一些参数设置,默认情况不做任何设置JVM会工作的很好,但对一些配置很好的Server和具体的应用必须仔细调优才能获得最佳性能。通过设置我们希望达到一些目标: + - 1. GC的时间足够的小 + - 2. GC的次数足够的少 + - 3. 发生Full GC的周期足够的长 + - 前两个目前是相悖的,要想GC时间小必须要一个更小的堆,要保证GC次数足够少,必须保证一个更大的堆,我们只能取其平衡。 + - 1. 针对JVM堆的设置,一般可以通过-Xms -Xmx限定其最小、最大值,为了防止垃圾收集器在最小、最大之间收缩堆而产生额外的时间,我们通常把最大、最小设置为相同的值 + - 2. 年轻代和年老代将根据默认的比例(1:2)分配堆内存,可以通过调整二者之间的比率NewRadio来调整二者之间的大小,也可以针对回收代,比如年轻代,通过 -XX:newSize -XX:MaxNewSize来设置其绝对大小。同样,为了防止年轻代的堆收缩,我们通常会把-XX:newSize -XX:MaxNewSize设置为同样大小 + - 3. 年轻代和年老代设置多大才算合理 毫无疑问是没有答案的,否则也就不会有调优。我们观察一下二者大小变化有哪些影响 + - 1. 更大的年轻代必然导致更小的年老代,大的年轻代会延长普通GC的周期,但会增加每次GC的时间;小的年老代会导致更频繁的Full GC + - 2. 更小的年轻代必然导致更大年老代,小的年轻代会导致普通GC很频繁,但每次的GC时间会更短;大的年老代会减少Full GC的频率 + - 3. 如何选择应该依赖应用程序对象生命周期的分布情况:如果应用存在大量的临时对象,应该选择更大的年轻代;如果存在相对较多的持久对象,年老代应该适当增大。但很多应用都没有这样明显的特性,在抉择时应该根据以下两点: + - 1. 本着Full GC尽量少的原则,让年老代尽量缓存常用对象,JVM的默认比例1:2也是这个道理 + - 2. 通过观察应用一段时间,看其他在峰值时年老代会占多少内存,在不影响Full GC的前提下,根据实际情况加大年轻代,比如可以把比例控制在1:1。但应该给年老代至少预留1/3的增长空间 + - ### 1.4 GC + collapsed:: true + - 1. [[说说你对Java的GC回收机制的理解]] + - 提示: + - Java语言有个特征:安全性,就是指Java程序员摆脱了C++ 程序员关于内存管理的问题。使得Java程序员在编写程序时,不需要通过指针操作内存,同时也不需要再去关注内存何时将会被回收清理。这一切,都是因为有的GC回收机制的功劳。 + - ### 1.5 MySQL + collapsed:: true + - 1. [[项目中SQL调优的场景有哪些,数据库调优如何做]] + - 2. [[最多有过几张表的连表处理]] + - 3. [[为什么选择MySQL5.7,而不用5.5 5.6]] + - 4. [[数据库中Btree 与Hash索引的区别]] + - 5. [[什么是数据库回表,如何避免回表查询]] + - 6. [[InnoDB的行级锁什么情况下会使用]] + - 7. [[数据库中如何快速插入100W级数据]] + - 8. [[联合索引与普通索引的区别在哪里]] + - 9. [[有张100W级的表中存在大量的重复数据,如何快速去重]] + - 10. [[数据库中复合索引的字段中可以有null值吗]] + - 11. [[数据库中两张表如何要联合查询,要如何实现]] + - 12. [[mysql数据库索引是用什么数据结构存储的]] + - 13. [[事务在什么情况下会失效]] + - 14. [[怎么用Sql语句复制另一张表]] + - 15. [[数据库连表查询,左外联,右外联,内联查的区别]] + - 16. [[sql语句过慢怎么定位问题]] + - 17. [[说一下JDBC在连接数据库的操作上几个步骤]] + - 18. [[Like 后 加% 和 加_ 的区别在哪里]] + - 19. [[说一下事务的隔离级别和事务的传播性质]] + - 20. [[说一下怎么防止超卖,SQL怎么写]] + - 21. [[如果给你一个功能,你觉得从数据库设计开始的思路是什么]] + - 22. [[说一下 ACID 是什么]] + - 23. [[数据库用户ID主键策略]] + - 24. [[数据库的执行计划]] + - 25. [[JDBC如何提升读取数据的性能]] + - 26. [[select count(*) ,select count(1),select count(字段) 说一下区别]] + - 27. [[索引失效的场景有哪些]] + - 28. [[数据库的SQL语句如何加锁]] + - 29. [[数据库中哪些字段适合加索引 ,哪些不适合加索引]] + - 30. [[什么是聚簇索引,什么是非聚簇索引]] + - 31. [[Union 和 union all 的区别是什么]] + - 32. [[什么是SQL注入,如何防止]] + - 33. [[关闭连接一定能成功吗 怎么保证一定成功关闭连接]] + - 34. [[有哪些地方必须关闭资源]] + - 35. [[有没有设计过数据库 数据库三范式讲一下]] + - 36. [[In 与 exits 的区别是什么]] + - 37. [[MySQL中存储引擎InnoDB,MyIsam的区别在哪里]] + - 38. [[MySQL中锁机制]] + - 39. [[数据库中复合索引的字段中可以有null值吗]] + - 40. [[MySQL数据库的my.ini文件中可以配置什么参数]] + - 答:在mysql的安装根目录中,创建一个文件my.ini编写以下内容: + - ```ini + #client mysql 都是设置客户端 + [client] + #port参数表示的是MySQL数据库的端口,默认的端口是3306 + port=3306 + [mysql] + #default-character-set参数是客户端默认的字符集 + default-character-set=utf8 + #mysqld 设置服务端 + [mysqld] + #port参数也是表示数据库的端口 + port=3306 + #basedir参数表示MySQL的安装路径 + basedir="C:/Program Files/MySQL/MySQL Server 5.7/" + #datadir参数表示MySQL数据文件的存储位置,也是数据库表的存放位置 + datadir="C:/ProgramData/MySQL/MySQL Server 5.7/Data/" + #default-character-set参数表示默认的字符集,这个字符集是服务器端的 + character-set-server=utf8 + #default-storage-engine参数默认的存储引擎 + default-storage-engine=INNODB + #sql-mode参数表示SQL模式的参数,通过这个参数可以设置检验SQL语句的严格程度 + sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" + #max_connections参数表示允许同时访问MySQL服务器的最大连接数(默认151,最大值16384),其中一个连接是保留的,留给管理员专用的 + max_connections=1000 + #query_cache_size参数表示查询时的缓存大小,缓存中可以存储以前通过select语句查询过的信息,再次查询时就可以直接从缓存中拿出信息 + query_cache_size=0 + #table_cache参数表示所有进程打开表的总数 + table_cache=256 + #tmp_table_size参数表示内存中临时表的总数 + tmp_table_size=35M + #thread_cache_size参数表示保留客户端线程的缓存 + thread_cache_size=8 + #myisam_max_sort_file_size参数表示MySQL重建索引时所允许的最大临时文件的大小 + myisam_max_sort_file_size=100G + #myisam_sort_buffer_size参数表示重建索引时的缓存大小 + myisam_sort_buffer_size=69M + #key_buffer_size参数表示关键词的缓存大小 + key_buffer_size=55M + #read_buffer_size参数表示MyISAM表全表扫描的缓存大小 + read_buffer_size=64K + #read_rnd_buffer_size参数表示将排序好的数据存入该缓存中 + read_rnd_buffer_size=256K + #sort_buffer_size参数表示用于排序的缓存大小 + sort_buffer_size=256K + #innodb_additional_mem_pool_size参数表示附加的内存池,用来存储InnoDB表的内容 + innodb_additional_mem_pool_size=3M + #innodb_flush_log_at_trx_commit参数是设置提交日志的时机,若设置为1, + #InnoDB会在每次提交后将事务日志写到磁盘上 + innodb_flush_log_at_trx_commit=1 + #innodb_log_buffer_size参数表示用来存储日志数据的缓存区的大小 + innodb_log_buffer_size=2M + #innodb_buffer_pool_size参数表示缓存的大小,InnoDB使用一个缓冲池类保存索引和原始数据 + innodb_buffer_pool_size=107M + #innodb_log_file_size参数表示日志文件的大小 + innodb_log_file_size=54M + #innodb_thread_concurrency参数表示在InnoDB存储引擎允许的线程最大数 + innodb_thread_concurrency=18 + ``` + - ### 1.6 Mybatis + - 1. [[#{} 与 ${} 的区别]] + - 2. [[Mybatis的实现原理]] + - 3. [[Mybatis级联的配置]] + - 4. [[Mybatis的一二级缓存是什么样的]] + - 5. [[Mybits的缺点有哪些]] + - 6. [[Mybatis如何防止SQL注入]] + - ### 1.7 网络编程 + - 1. [[什么是Socket编程]] + - 2. [[TCP与UDP在概念上的区别]] + - 3. [[TCP协议的特点,你能说说吗 具体说说3次握手,4次挥手的过程]] + - 4. [[OSI七层模型,大概了解么]] + - ### 1.8 设计原则与设计模式 + - 1. [[7大设计原则有哪些]] + - 2. [[什么是设计模式,有多少个]] + - 3. [[单例设计模式,你会手写么 在项目中哪些地方有应用]] + - 4. [[代理设计模式中,静态代理和动态代理的区别]] + - 5. [[动态代理中JDK代理和CGLIB代理区别 代理模式,在项目中哪些地方有应用]] + - 6. [[工厂设计模式的作用 简单工厂会写不 在项目中哪些地方有应用]] + - 7. [[如何克隆一个对象 浅克隆与深克隆区别在哪里]] + - 8. [[设计模式中,工厂设计模式有啥用 项目中在哪些地方用过]] + - ### 1.9 其它题目 + - 1. [[异常的分类,如何自定义异常]] + - 2. [[普通类和抽象类有哪些区别]] + - 3. [[讲讲类的加载过程以及双亲委派机制]] + - 4. [[JDK1.8的新特性,你都用过哪些]] + - 5. [[网络通讯中tcp协议,udp协议的区别]] + - 6. [[普通类和抽象类的区别 接口和抽象的区别]] + - 7. [[常用操作字符串有哪些类 StringBuffer,StringBuilder]] + - 8. [[String,StringBuffer及StringBuilder的区别]] + - 9. [[如何跳出多重循环]] + - 10. [[什么是反射]] + - 11. [[final 在 Java 中有什么作用]] + - 12. [[说一下你熟悉的设计模式]] + - 13. [[谈谈面向对象]] + - 14. [[谈谈多线程并发]] + - 15. [[什么是Java的反射]] + - 16. [[Java的反射,在哪些地方有过应用]] + - 17. [[反射获得Class对象的3种方式]] + - 18. [[反射操作私有属性时,需要注意什么]] + - 19. [[抽象类可以继承实体类么]] + - 20. [[抽象类可以继承接口么]] + - 21. [[接口可以继承抽象类么]] + - 22. [[IO流的分类有哪些]] + - 23. [[谈谈BIO,NIO,AIO的区别是什么,你都用过哪些IO框架]] + - 24. [[Object类的常见方法都有哪些]] + - 25. [[Java中异常的分类,分别说说都哪些具体的异常]] + - 26. [[遇到BUG,你是如何调试的]] + - 27. [[如果运行结果跟预期不一样,但是代码没报错,怎么处理]] + - 28. [[有没有用过断点调试 怎么用的]] + - 29. [[JDK,JRE,JVM的区别]] + - 30. [[重写和重载的区别在哪里]] +- ## 二阶段 + - ### 2.1 Spring + - 1. [[对springIOC的理解]] + - 2. [[讲下springAOP,项目中你是如何应用的]] + - 3. [[动态代理模式中JDK与CGLIB的区别]] + - 4. [[Spring的循环依赖问题,如何解决]] + - 5. [[谈谈你对Spring bean的生命周期的理解]] + - 6. [[Spring中对事务的支持,有哪些方式 你项目中如何处理事务]] + - 7. [[Spring中bean基本都是单例的,如果一个方法要对bean中的属性值进行修改,这个方法会被多次执行,怎么确保安全]] + - 8. [[讲一下浅克隆与深克隆]] + - 9. [[@Resource和@Autowired的区别]] + - 10. [[介绍一下你的项目AOP日志功能如何实现的]] + - 11. [[Spring依赖注入的方式有哪些 有区别么]] + - 12. [[Spring的常用注解都有哪些]] + - 13. [[Spring 事务实现方式有哪些]] + - 14. [[BeanFactory 和 ApplicationContext的区别]] + - 15. [[Spring中bean基本都是单例的,如果一个方法要对bean中的属性值进行修改,这个方法会被多次执行,怎么确保安全]] + - 16. [[Spring实例化组件时,如何设置属性]] + - ### 2.2 SpringMVC + - 1. [[SpringMVC框架的工作流程]] + - 2. [[forward和redirect的区别]] + - 3. [[说一下@requestMapping的作用]] + - 4. [[知道拦截器么,你项目中哪里使用过拦截器]] + - 5. [[Springmvc 过滤器 拦截器的使用场景和区别是什么]] + - ### 2.3 SpringBoot + - 1. [[SpringBoot如何实现自动配置 原理是什么]] + - 2. [[SpringBoot的web模块自动集成了Tomcat,如何剔除]] + - 3. [[说说你常用的几个SpringBoot注解]] + - 4. [[你上个项目用的SpringBoot版本是那个版本的]] + - 5. [[SpringBoot主要的配置类有哪些]] + - 6. [[Spring,Springmvc,SpringBoot的区别是啥]] + - 7. [[可不可以配置两个数据源 比如一个mysql和一个oracle 在哪里配置,怎么配置]] + - 8. [[SpringBoot在yaml中配置了开发环境配置文件和测试配置文件,有几种方式在不同环境去使用不同的配置文件]] + - 9. [[SpringBoot的优点在哪里]] + - 10. [[当application.properties,application.yaml,bootstrap.yaml文件同时存在的情况下,它们的执行顺序是怎样的]] + - 11. [[Spring的启动流程是怎么样的]] + - ### 2.4 Web题 + - 1. [[HTTPS 通讯协议是如何实现的 它的加密方式是什么]] + - 2. [[在HTTP请求中如何存储客户信息(分如何获取和如何存储)]] + - 3. [[Ajax怎么实现同步]] + - 4. [[你们项目中,使用的什么 数据交换格式]] + - 5. [[HTTP通讯协议分为几个部分 请求协议的组成]] + - 6. [[JSON的解析框架,你用过什么]] + - 7. [[XML与JSON之间的区别]] + - 8. [[页面加载很慢,有什么优化方案]] + - 9. [[重定向和请求转发的区别是什么]] + - 10. [[JSON格式长什么样 那么JSONArray呢]] + - 11. [[Servlet的生命周期]] + - 12. [[Tomcat如何配置连接池 默认连接数是多少 == 生产环境,Tomcat性能比较差,如何调优]] + - 答:修改conf目录下的server.xml即可实现: + - ```xml + + + + + + + + + ``` + - 13. [[在请求中如何存储客户信息]] + - 14. [[如何防止表单重复提交]] + - 15. [[HTTP协议中GET与POST提交方法的区别在哪里]] + - 16. [[你对RestFul架构风格是如何理解的 平时都是怎么样的]] + - ### 2.5 Shiro + - 1. [[Shiro的执行流程]] +- ## 三阶段 + - ### 3.1 RabbitMQ + - 请说说消息队列的工作模式有哪些 + - MQ是如何保证消息不丢失的 + - MQ的工作原理 + - 如果保证用户一定能消费成功 + - 延迟队列,死信队列的区别是什么 + - 请说说RabbitMQ的优缺点 + - 延迟队列如何实现 + - 如果让你自己写个MQ服务器,你的思路是什么 需要使用到什么技术 + - 如何解决消息延时及过期失效的问题 如果有几百万条消息持续积压几小时,说说怎么解决 + - 讲一下MQ服务器的推拉模式,你在项目中是如何运用的 + - rabbitmq怎么实现订单延迟支付 + - 说一下怎么用rabbitmq实现取消订单的用户积分减少的 + - MQ是什么 你用过哪个 怎么配置的 + - ### 3.2 Redis + - 什么是接口幂等性,如何保证接口幂等性操作 + - 幂等性问题会出现在哪些地方 + - Redis支持的数据类型 + - Redis的持久化方式,以及各自的区别,项目中用的哪一种,怎么配置的 + - 如何保证与数据库的双写一致性 + - 缓存穿透,击穿,雪崩对应的解决方案是什么 + - 使用的Redis是集群的嘛 有多少个节点,采用的是那种集群方案 + - 说一下Reddis怎么做集群的 + - Redis 都有哪些使用场景 + - Redis 有哪些功能 + - 分布式锁的目的 + - 为什么要用redis不用map + - Redis是原子性的吗 是线程安全的吗 多线程还是单线程 + - Redis的特性是哪些,可以用来干嘛 + - 项目中你们部署了多少台Redis服务器,一般配置多少台,熟悉哨兵机制么 + - 假设你redis里面有9个商品,我现在有10人来买,怎么防止超卖问题 + - Redis的单线程原理是什么 如果有10个用户同时操作Redis,那么Redis是否按照先后顺序来处理情况 + - Redis的分布式锁用过没 描述一下 + - Redis设置永不过期也可以解决缓存击穿,为什么还要用分布式锁 + - Redis如何保证与数据库的数据一致性问题 + - 红锁是怎么实现的 原理是什么 + - 知道Redis的看门狗机制么,为什么要用到看门狗 + - Redis的5种数据类型,分别的使用场景 + - Redis集群知道么,如何实现 + - Redis持久化机制中AOF与RDB区别在哪里 + - Redis如何配置RDB + - ### 3.3 ES + - ES怎么保持和数据库的一致性 + - ES怎么配权重 可以做数据库吗 + - ES实现全文检索的原理是什么 + - ES查询一个张三,李四。张三名字可能会重复,要按照张三的生日去进行排序,这个ES语句怎么写 + - ### 3.4Linux + - 用过的Linux系统都有哪些 什么版本 + - chmod 改用户组的权限 + - 如果你在linux部署的项目出现报错时,你需要定位报错信息在哪怎么做 + - nginx反向代理原理 + - Nginx的负载均衡策略 + - Linux如何查看资源的使用情况 + - chmod如何改用户组的权限 + - ### 3.5 VUE + - 1. Vue的生命周期是什么,都有哪些钩子函数 + - 2. 谈谈MVC架构与MVVM架构的区别在哪里 + - 3. VUE都有哪些组件 +- 四阶段 + - 4.1 SpringCloud + - 服务熔断和服务降级,项目是如何运用的 + - 你们通过哪些手段处理系统的高并发问题 + - 项目中,关于鉴权你们是咋做的 + - Nacos 与 Eureka的区别 + - 分布式事务的原理 + - 为什么选择Seata来处理分布式事务 + - 说说项目开发流程 + - SpringCloud体系的几大组件 + - 讲一下spring cloud 中的服务注册的机制和配置方法 + - feign远程调用的时候,如何确保feign接口的参数和controller层方法参数一致 + - 你觉得SpringCloud相比传统的SpringMVC有什么优势 + - 说一下熔断器,你怎么用的,代码怎么写的 + - 做集群的时候事务怎么处理 + - 网关限流时,采用什么技术,使用什么限流算法 咋配置 + - 分布式高并发下的订单id是如何生成的 + - 介绍一下spring,springboot,springcloud + - openfeign的工作原理,是如何调用服务的 + - Feign远程调用的时候,如何确保Feign接口的参数和Controller层方法参数一致 + - 为什么要使用微服务,它的优缺点 + - 微服务的搭建步骤 + - 微服务组件都用过哪些,你们微服务的业务逻辑是什么样子的 + - Eureka如何搭建,如何才能规避因为网络原因导致客户端大面积下线的情况 + - Eureka高可用怎么配置 + - 了解网关么,网关的作用是什么,你都在网关中配置过什么内容 + - 网关限流如何配置 限流算法都用过哪些 + - 网关是如何找到其他微服务的 + - Eureka关闭之后,其他的微服务之间还能调用么 + - Nginx都配置过什么 如何做负载配置,都哪些负载算法 + - Ngnix代理配置是在哪个文件 + - Mysql的ini文件,都有些参数可以配置 + - Mybatis和MybatisPlus 你在项目中,哪个用的较多 + - 有哪些方法可以防止微服务接口被攻击 + - 4.2.Seata + - 1、什么是分布式事务,项目中哪些地方遇到分布式事务 + - 2、什么是2阶段提交,Seata是如何做2阶段提交的 + - 3、Seata是三大核心组件是哪些,他们分别的作用是什么 + - 4、Seata的AT模式与TCC模式区别在哪里 + - 5、AT模式在运行过程中,如何进行2阶段处理的 + - 6、分布式事务的两个理论特性 是什么 + - 7、请说一下Seata的执行流程 + - 4.3.Alibaba组件 + - 1、说说nacos吧 + - 2、 + - 其他问题 + - 你在项目中遇到的最大问题是什么 如何解决的 + - 项目部署没有 有没有经过压力测试 有没有经过渗透测试 + - 用过哪些经典的设计模式,谈谈你对它们的理解 + - 假如1个接口的QPS只有10,超过10会怎样 如何解决 + - 在使用git的过程中,遇到冲突,你是如何处理的 + - 单点登录的实现原理 + - 如何防止后端接口被攻击 + - 每天1万人访问主页并发量有多少 + - 负载均衡怎么实现 + - 你们开发规范是什么,具体开发流程是什么,需求分析谁做,原型设计怎么来的 + - 测试怎么做的 + - 项目中有哪些设计是存在缺陷或者不合理的 + - 你熟悉秒杀流程 那么秒杀如何保证数据一致性 + - 你们项目上线前会在哪里测试 怎么部署的 多个环境你该怎么设置 + - 大佬跟你讲的东西,你怎么判断正不正确 + - 三层架构是哪三层 具体说说,你知道它们分别对应的架构模式采用的是什么么 + - 在生成订单过程中,如果MySQL崩了,怎么办 + - 能详细说下非对称加密的流程吗 + - 生产环境中应用有问题如何分析问题 + - GIT回退上个版本,用什么命令 切换分支用哪个命令 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/深圳蜗牛Java面试题/2022-07-06T05_57_30.956Z.md b/logseq-java/logseq/bak/pages/深圳蜗牛Java面试题/2022-07-06T05_57_30.956Z.md new file mode 100644 index 0000000..31c1bb7 --- /dev/null +++ b/logseq-java/logseq/bak/pages/深圳蜗牛Java面试题/2022-07-06T05_57_30.956Z.md @@ -0,0 +1,554 @@ +- ## 一阶段 + - ### 1.1 集合 + collapsed:: true + - 1. [[HashMap和ConcurrentHashMap的区别]] + - 2. [[线程安全的集合有哪些]] + - 3. [[如何做到集合变遍历,边删除]] + - 4. [[HashMap的底层原理是什么,如何扩容,并解决Hash碰撞的]] + - 5. [[HashMap在什么情况下单链表需要转为红黑树]] + - 6. [[ConcurrentHashMap为什么是线程安全的,如何做到的]] + - 7. [[是否写过HashMap的底层,了解过什么]] + - 8. [[Collection集合和Map体系集合的区别]] + - 9. [[HashMap在JDK1.7和JDK1.8的区别]] + - 10. [[HashSet的去重原理]] + - 11. [[写个时间复杂度为O(n)的算法,找到一个数列第二大的数]] + - 12. [[Collection 和 Collections 的区别是啥]] + - 13. [[如何获得Map集合中的所有的Key]] + - 14. [[HashMap 什么情况下会产生死锁的问题如何解决]] + - 15. [[如何使用jdk1.8新特性从商品集合中单独把某一个字段(比如id)拿出来当做一个集合]] + - 16. [[ArrayList和LinkedList的区别]] + - 17. [[遍历Set和List的通用方法]] + - 18. [[有几种方法可以遍历JAVA集合]] + - 19. [[ArrayList哪些操作效率较高]] + - 20. [[HashMap为什么要重写hashcode]] + - 21. [[JDK中有哪些队列]] + - 22. [[HashMap 和 Hashtable 有什么区别]] + - 23. [[List、Set、map区别]] + - 24. [[HashMap的put方法的执行过程]] + - 25. [[分析HashMap为什么线程不安全]] + - 26. [[集合的分类,分别的特性是哪些]] + - 27. [[给你一个数值类型数组,如何以最快的方式,查找到某一个元素]] + - 28. [[编程题,给你一个整数数组,进行排序,输入一个k,从小到大输出k个数]] + - 29. [[有个数组,如何颠倒所有的元素]] + - 30. [[银行系统,我给你168的数字,你应该给我多少张不同面额的人民币(口述如何实现)]] + - 31. [[HashMap的底层是如何解决Hash碰撞的]] + - 32. [[Collection 和 Collections 有什么区别]] + - 33. [[数组,链表,哪个查询效率高,为什么高]] + - 34. [[CurrentHashMap的在JDK1.7和1.8期间分别的特征]] + - 35. [[自旋锁的特征]] + - 36. [[遍历Set和List的通用方法]] + - 37. [[数组的排序算法,你都知道哪些请列举并手写一个出来]] + - ### 1.2 多线程 + collapsed:: true + - 1. [[进程与线程的区别]] + - 2. [[为什么要用多线程]] + - 3. [[多线程的创建方式有哪些]] + - 4. [[是继承Thread类好,还是实现Runnable接口好]] + - 5. [[ThreadLocal类是什么类]] + - 6. [[你项目中的哪些地方使用到多线程]] + - 7. [[什么是线程安全]] + - 8. [[如何解决多线程间线程安全问题]] + - 9. [[为什么使用同步或锁,就可以让多线程解决线程安全问题]] + - 10. [[什么是线程同步]] + - 11. [[什么是同步代码块]] + - 12. [[同步代码块和同步函数之间有什么区别]] + - 13. [[同步函数和静态同步函数之间有什么区别]] + - 14. [[什么是多线程死锁]] + - 15. [[wait() 和notify() 方法的区别]] + - 16. [[同步与异步的区别]] + - 17. [[线程的生命周期]] + - 18. [[线程同步的几个方法]] + - 19. [[并发与并行的区别]] + - 20. [[关于多线程锁升级的理解]] + - 21. [[怎么理解过程一致性和结果一致性]] + - 22. [[synchronized与Lock锁的区别]] + - 23. [[同步方法与同步块的区别]] + - 24. [[什么是线程池它的作用是什么]] + - 25. [[线程池有哪些核心参数]] + - 26. [[synchronized与乐观锁的区别]] + - 27. [[你是怎么创建线程池的]] + - 28. [[线程的原子性是什么]] + - 29. [[说说你对线程的3个特性(原子,可见,有序)的理解]] + - 30. [[sleep()和wait() 的区别]] + - 31. [[如何停止一根线程]] + - 32. [[什么是守护线程,如何做到]] + - 33. [[yield() 与 join() 方法的区别]] + - 34. [[什么是Volatile,它的作用是什么]] + - 35. [[什么是AtomicInteger]] + - 36. [[你都知道哪些锁]] + - 提示:自旋锁,可重入锁,互斥锁,悲观锁,乐观锁,偏向锁,轻量级锁,重量级锁 + - 37. [[线程是如何开始的]] + - 38. [[守护线程是什么如何实现]] + - 39. [[JDK1.8 针对synchronized,都做过哪些优化]] + - ### 1.3 JVM + collapsed:: true + - 1. [[请说下Java的内存模型,也就是JMM]] + - Java内存模型(JMM):JVM规范中定义了Java的内存模型(Java Memory Model,JMM), + - JMM主要分为2个部分:主内存以及每个线程的本地内存。 + - ![image.png](../assets/image_1657070835023_0.png) + - JVM中运行的每个线程都拥有自己的线程栈,线程栈包含了当前线程执行的方法调用相关信息,我们也把它称作调用栈。随着代码的不断执行,调用栈会不断变化。共享的对象我们会放置在堆中! + - ![image.png](../assets/image_1657070883091_0.png) + - 现在的电脑,一般都是多CPU的。那么多个CPU如何操作内存呢 + - 现代计算机一般都有2个以上CPU,而且每个CPU还有可能包含多个核心。因此,如果我们的应用是多线程的话,这些线程可能会在各个CPU核心中并行运行。 + - ![image.png](../assets/image_1657070989302_0.png) + - 在CPU内部有一组CPU寄存器,也就是CPU的储存器。CPU操作寄存器的速度要比操作计算机主存快的多。在主存和CPU寄存器之间还存在一个CPU缓存,CPU操作CPU缓存的速度快于主存但慢于CPU寄存器。某些CPU可能还有多个缓存层(一级缓存和二级缓存)。计算机的主存也称作RAM,所有的CPU都能够访问主存,而且主存比上面提到的缓存和寄存器大很多。 + - 当一个CPU需要访问主存时,会先读取一部分主存数据到CPU缓存,进而在读取CPU缓存到寄存器。当CPU需要写数据到主存时,同样会先flush寄存器到CPU缓存,然后再在某些节点把缓存数据flush到主存 + - 2. [[请说下JVM的运行时的内存结构]] + - JDK1.8以前: + - ![image.png](../assets/image_1657071088825_0.png) + - JDK1.8以后: + - ![image.png](../assets/image_1657071125303_0.png) + - JDK1.8中,移除了方法区的概念,将类的类信息等元数据使用元数据区(或者叫:元空间)来进行存储。 + - 但是程序计数器,本地方法栈,线程栈这3个部分,依旧是线程所独有!堆,元空间还是被线程所共享! + - 3. [[JVM虚拟机的原理]] + - 提示:就是一台虚拟的机器。同样是一款软件,用来执行一系列虚拟计算指令,大体上虚拟机可以分为系统虚拟机和程序虚拟机,大名鼎鼎的Visual Box、Vmware就属于系统虚拟机,他们完全是对物理计算的仿真,提供了一个可以运行完整操作系统的软件平台。 + - 程序虚拟机典型代码就是Java虚拟机,它专门为执行单个计算程序而计算,在Java虚拟机中执行的指令我们成为Java自己码指令。无论是系统虚拟机还是程序虚拟机,在上面运行的软件都被限制于虚拟机提供的资源中。目前Java使用最广泛的是HotSpot虚拟机。 + - 4. [[什么是虚拟机参数配置 你是否配置过 在哪里配置]] + - 提示: + - 虚拟机参数配置,其实就是围绕着堆、栈、方法区的内存空间大小进行配置。 + - 其目的:就是为了更高效,更合理的利用虚拟机,减少FullGC的次数,提升内存的利用率 + - 配置方式多种:可在tomcat的bin目录下的catalina.bat中配置,也可以在开发工具中配置 + - 5. [[都有哪些堆的参数,可以配置]] + - 提示: + - -XX:+PrintGC    每次触发GC的时候打印相关日志 + - -XX:+UseSerialGC 串行回收 + - -XX:+PrintGCDetails  更详细的GC日志 + - -Xms    堆初始值 + - -Xmx    堆最大可用值 + - -Xmn    新生代堆最大可用值 + - -XX:SurvivorRatio 用来设置新生代中eden空间和from/to空间的比例. + - 含以-XX:SurvivorRatio=eden/from=den/to + - 总结:在实际工作中,我们可以直接将初始的堆大小与最大堆大小相等, + - 这样的好处是可以减少程序运行时垃圾回收次数,从而提高效率。 + - -XX:SurvivorRatio 用来设置新生代中eden空间和from/to空间的比例. + - 6. [[如何设置最大堆空间大小]] + - 提示: + - 参数: -Xms20m -Xmx20m -XX:+PrintGCDetails -XX:+UseSerialGC -XX:+PrintCommandLineFlags + - 7. [[设置新生代与老年代优化参数]] + - 提示: + - -Xmn    新生代大小,一般设为整个堆的1/3到1/4左右 + - -XX:SurvivorRatio    设置新生代中eden区和from/to空间的比例关系n/1 默认是8:1:1 + - 参数: -Xms20m -Xmx20m -Xmn5m -XX:SurvivorRatio=8 -XX:+PrintGCDetails -XX:+UseSerialGC + - 8. [[设置新生与老年代代参数]] + - 提示: + - -Xms20m -Xmx20m -XX:SurvivorRatio=8 -XX:+PrintGCDetails -XX:+UseSerialGC + - -XX:NewRatio=2 + - 总结:不同的堆分布情况,对系统执行会产生一定的影响,在实际工作中, + - 应该根据系统的特点做出合理的配置,基本策略:尽可能将对象预留在新生代, + - 减少老年代的GC次数。 + - 除了可以设置新生代的绝对大小(-Xmn),可以使用(-XX:NewRatio)设置新生代和老年 + - 代的比例:-XX:NewRatio=老年代/新生代 + - 9. [[内存溢出你是咋解决的]] + - 提示: + - 错误原因: java.lang.OutOfMemoryError: Java heap space + - 解决办法:设置堆内存大小 -Xms1m -Xmx70m -XX:+HeapDumpOnOutOfMemoryError + - 10. [[栈溢出你是咋解决的]] + - 提示: + - 错误原因: java.lang.StackOverflowError + - 栈溢出 产生于递归调用,循环遍历是不会的,但是循环方法里面产生递归调用, 也会发生栈溢出。 + - 解决办法:设置线程最大调用深度 + - -Xss5m 设置最大调用深度 + - 11. [[Tomcat内存溢出在catalina.sh 修改JVM堆内存大小]] + - 提示: + - JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxNewSize=512m" + - 12. [[内存泄漏与内存溢出的区别]] + - 提示: + - 内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。 + - 内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。 + - memory leak会最终会导致out of memory! + - 内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出。 

内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序。一个盘子用尽各种方法只能装4个果子,你装了5个,结果掉倒地上不能吃了。这就是溢出!比方说栈,栈满时再做进栈必定产生空间溢出,叫上溢,栈空时再做退栈也产生空间溢出,称为下溢。就是分配的内存不足以放下数据项序列,称为内存溢出. 

以发生的方式来分类,内存泄漏可以分为4类: 

1. 常发性内存泄漏。发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。 
2. 偶发性内存泄漏。发生内存泄漏的代码只有在某些特定环境或操作过程下才会发生。常发性和偶发性是相对的。对于特定的环境,偶发性的也许就变成了常发性的。所以测试环境和测试方法对检测内存泄漏至关重要。 
3. 一次性内存泄漏。发生内存泄漏的代码只会被执行一次,或者由于算法上的缺陷,导致总会有一块仅且一块内存发生泄漏。比如,在类的构造函数中分配内存,在析构函数中却没有释放该内存,所以内存泄漏只会发生一次。 
4. 隐式内存泄漏。程序在运行过程中不停的分配内存,但是直到结束的时候才释放内存。严格的说这里并没有发生内存泄漏,因为最终程序释放了所有申请的内存。但是对于一个服务器程序,需要运行几天,几周甚至几个月,不及时释放内存也可能导致最终耗尽系统的所有内存。所以,我们称这类内存泄漏为隐式内存泄漏。 

从用户使用程序的角度来看,内存泄漏本身不会产生什么危害,作为一般的用户,根本感觉不到内存泄漏的存在。真正有危害的是内存泄漏的堆积,这会最终消耗尽系统所有的内存。从这个角度来说,一次性内存泄漏并没有什么危害,因为它不会堆积,而隐式内存泄漏危害性则非常大,因为较之于常发性和偶发性内存泄漏它更难被检测到 + - 13. [[JVM参数调优的总结]] + - 提示: + - 在JVM启动参数中,可以设置跟内存、垃圾回收相关的一些参数设置,默认情况不做任何设置JVM会工作的很好,但对一些配置很好的Server和具体的应用必须仔细调优才能获得最佳性能。通过设置我们希望达到一些目标: + - 1. GC的时间足够的小 + - 2. GC的次数足够的少 + - 3. 发生Full GC的周期足够的长 + - 前两个目前是相悖的,要想GC时间小必须要一个更小的堆,要保证GC次数足够少,必须保证一个更大的堆,我们只能取其平衡。 + - 1. 针对JVM堆的设置,一般可以通过-Xms -Xmx限定其最小、最大值,为了防止垃圾收集器在最小、最大之间收缩堆而产生额外的时间,我们通常把最大、最小设置为相同的值 + - 2. 年轻代和年老代将根据默认的比例(1:2)分配堆内存,可以通过调整二者之间的比率NewRadio来调整二者之间的大小,也可以针对回收代,比如年轻代,通过 -XX:newSize -XX:MaxNewSize来设置其绝对大小。同样,为了防止年轻代的堆收缩,我们通常会把-XX:newSize -XX:MaxNewSize设置为同样大小 + - 3. 年轻代和年老代设置多大才算合理 毫无疑问是没有答案的,否则也就不会有调优。我们观察一下二者大小变化有哪些影响 + - 1. 更大的年轻代必然导致更小的年老代,大的年轻代会延长普通GC的周期,但会增加每次GC的时间;小的年老代会导致更频繁的Full GC + - 2. 更小的年轻代必然导致更大年老代,小的年轻代会导致普通GC很频繁,但每次的GC时间会更短;大的年老代会减少Full GC的频率 + - 3. 如何选择应该依赖应用程序对象生命周期的分布情况:如果应用存在大量的临时对象,应该选择更大的年轻代;如果存在相对较多的持久对象,年老代应该适当增大。但很多应用都没有这样明显的特性,在抉择时应该根据以下两点: + - 1. 本着Full GC尽量少的原则,让年老代尽量缓存常用对象,JVM的默认比例1:2也是这个道理 + - 2. 通过观察应用一段时间,看其他在峰值时年老代会占多少内存,在不影响Full GC的前提下,根据实际情况加大年轻代,比如可以把比例控制在1:1。但应该给年老代至少预留1/3的增长空间 + - ### 1.4 GC + collapsed:: true + - 1. [[说说你对Java的GC回收机制的理解]] + - 提示: + - Java语言有个特征:安全性,就是指Java程序员摆脱了C++ 程序员关于内存管理的问题。使得Java程序员在编写程序时,不需要通过指针操作内存,同时也不需要再去关注内存何时将会被回收清理。这一切,都是因为有的GC回收机制的功劳。 + - ### 1.5 MySQL + collapsed:: true + - 1. [[项目中SQL调优的场景有哪些,数据库调优如何做]] + - 2. [[最多有过几张表的连表处理]] + - 3. [[为什么选择MySQL5.7,而不用5.5 5.6]] + - 4. [[数据库中Btree 与Hash索引的区别]] + - 5. [[什么是数据库回表,如何避免回表查询]] + - 6. [[InnoDB的行级锁什么情况下会使用]] + - 7. [[数据库中如何快速插入100W级数据]] + - 8. [[联合索引与普通索引的区别在哪里]] + - 9. [[有张100W级的表中存在大量的重复数据,如何快速去重]] + - 10. [[数据库中复合索引的字段中可以有null值吗]] + - 11. [[数据库中两张表如何要联合查询,要如何实现]] + - 12. [[mysql数据库索引是用什么数据结构存储的]] + - 13. [[事务在什么情况下会失效]] + - 14. [[怎么用Sql语句复制另一张表]] + - 15. [[数据库连表查询,左外联,右外联,内联查的区别]] + - 16. [[sql语句过慢怎么定位问题]] + - 17. [[说一下JDBC在连接数据库的操作上几个步骤]] + - 18. [[Like 后 加% 和 加_ 的区别在哪里]] + - 19. [[说一下事务的隔离级别和事务的传播性质]] + - 20. [[说一下怎么防止超卖,SQL怎么写]] + - 21. [[如果给你一个功能,你觉得从数据库设计开始的思路是什么]] + - 22. [[说一下 ACID 是什么]] + - 23. [[数据库用户ID主键策略]] + - 24. [[数据库的执行计划]] + - 25. [[JDBC如何提升读取数据的性能]] + - 26. [[select count(*) ,select count(1),select count(字段) 说一下区别]] + - 27. [[索引失效的场景有哪些]] + - 28. [[数据库的SQL语句如何加锁]] + - 29. [[数据库中哪些字段适合加索引 ,哪些不适合加索引]] + - 30. [[什么是聚簇索引,什么是非聚簇索引]] + - 31. [[Union 和 union all 的区别是什么]] + - 32. [[什么是SQL注入,如何防止]] + - 33. [[关闭连接一定能成功吗 怎么保证一定成功关闭连接]] + - 34. [[有哪些地方必须关闭资源]] + - 35. [[有没有设计过数据库 数据库三范式讲一下]] + - 36. [[In 与 exits 的区别是什么]] + - 37. [[MySQL中存储引擎InnoDB,MyIsam的区别在哪里]] + - 38. [[MySQL中锁机制]] + - 39. [[数据库中复合索引的字段中可以有null值吗]] + - 40. [[MySQL数据库的my.ini文件中可以配置什么参数]] + - 答:在mysql的安装根目录中,创建一个文件my.ini编写以下内容: + - ```ini + #client mysql 都是设置客户端 + [client] + #port参数表示的是MySQL数据库的端口,默认的端口是3306 + port=3306 + [mysql] + #default-character-set参数是客户端默认的字符集 + default-character-set=utf8 + #mysqld 设置服务端 + [mysqld] + #port参数也是表示数据库的端口 + port=3306 + #basedir参数表示MySQL的安装路径 + basedir="C:/Program Files/MySQL/MySQL Server 5.7/" + #datadir参数表示MySQL数据文件的存储位置,也是数据库表的存放位置 + datadir="C:/ProgramData/MySQL/MySQL Server 5.7/Data/" + #default-character-set参数表示默认的字符集,这个字符集是服务器端的 + character-set-server=utf8 + #default-storage-engine参数默认的存储引擎 + default-storage-engine=INNODB + #sql-mode参数表示SQL模式的参数,通过这个参数可以设置检验SQL语句的严格程度 + sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" + #max_connections参数表示允许同时访问MySQL服务器的最大连接数(默认151,最大值16384),其中一个连接是保留的,留给管理员专用的 + max_connections=1000 + #query_cache_size参数表示查询时的缓存大小,缓存中可以存储以前通过select语句查询过的信息,再次查询时就可以直接从缓存中拿出信息 + query_cache_size=0 + #table_cache参数表示所有进程打开表的总数 + table_cache=256 + #tmp_table_size参数表示内存中临时表的总数 + tmp_table_size=35M + #thread_cache_size参数表示保留客户端线程的缓存 + thread_cache_size=8 + #myisam_max_sort_file_size参数表示MySQL重建索引时所允许的最大临时文件的大小 + myisam_max_sort_file_size=100G + #myisam_sort_buffer_size参数表示重建索引时的缓存大小 + myisam_sort_buffer_size=69M + #key_buffer_size参数表示关键词的缓存大小 + key_buffer_size=55M + #read_buffer_size参数表示MyISAM表全表扫描的缓存大小 + read_buffer_size=64K + #read_rnd_buffer_size参数表示将排序好的数据存入该缓存中 + read_rnd_buffer_size=256K + #sort_buffer_size参数表示用于排序的缓存大小 + sort_buffer_size=256K + #innodb_additional_mem_pool_size参数表示附加的内存池,用来存储InnoDB表的内容 + innodb_additional_mem_pool_size=3M + #innodb_flush_log_at_trx_commit参数是设置提交日志的时机,若设置为1, + #InnoDB会在每次提交后将事务日志写到磁盘上 + innodb_flush_log_at_trx_commit=1 + #innodb_log_buffer_size参数表示用来存储日志数据的缓存区的大小 + innodb_log_buffer_size=2M + #innodb_buffer_pool_size参数表示缓存的大小,InnoDB使用一个缓冲池类保存索引和原始数据 + innodb_buffer_pool_size=107M + #innodb_log_file_size参数表示日志文件的大小 + innodb_log_file_size=54M + #innodb_thread_concurrency参数表示在InnoDB存储引擎允许的线程最大数 + innodb_thread_concurrency=18 + ``` + - ### 1.6 Mybatis + - 1. [[#{} 与 ${} 的区别]] + - 2. [[Mybatis的实现原理]] + - 3. [[Mybatis级联的配置]] + - 4. [[Mybatis的一二级缓存是什么样的]] + - 5. [[Mybits的缺点有哪些]] + - 6. [[Mybatis如何防止SQL注入]] + - ### 1.7 网络编程 + - 1. [[什么是Socket编程]] + - 2. [[TCP与UDP在概念上的区别]] + - 3. [[TCP协议的特点,你能说说吗 具体说说3次握手,4次挥手的过程]] + - 4. [[OSI七层模型,大概了解么]] + - ### 1.8 设计原则与设计模式 + - 1. [[7大设计原则有哪些]] + - 2. [[什么是设计模式,有多少个]] + - 3. [[单例设计模式,你会手写么 在项目中哪些地方有应用]] + - 4. [[代理设计模式中,静态代理和动态代理的区别]] + - 5. [[动态代理中JDK代理和CGLIB代理区别 代理模式,在项目中哪些地方有应用]] + - 6. [[工厂设计模式的作用 简单工厂会写不 在项目中哪些地方有应用]] + - 7. [[如何克隆一个对象 浅克隆与深克隆区别在哪里]] + - 8. [[设计模式中,工厂设计模式有啥用 项目中在哪些地方用过]] + - ### 1.9 其它题目 + - 1. [[异常的分类,如何自定义异常]] + - 2. [[普通类和抽象类有哪些区别]] + - 3. [[讲讲类的加载过程以及双亲委派机制]] + - 4. [[JDK1.8的新特性,你都用过哪些]] + - 5. [[网络通讯中tcp协议,udp协议的区别]] + - 6. [[普通类和抽象类的区别 接口和抽象的区别]] + - 7. [[常用操作字符串有哪些类 StringBuffer,StringBuilder]] + - 8. [[String,StringBuffer及StringBuilder的区别]] + - 9. [[如何跳出多重循环]] + - 10. [[什么是反射]] + - 11. [[final 在 Java 中有什么作用]] + - 12. [[说一下你熟悉的设计模式]] + - 13. [[谈谈面向对象]] + - 14. [[谈谈多线程并发]] + - 15. [[什么是Java的反射]] + - 16. [[Java的反射,在哪些地方有过应用]] + - 17. [[反射获得Class对象的3种方式]] + - 18. [[反射操作私有属性时,需要注意什么]] + - 19. [[抽象类可以继承实体类么]] + - 20. [[抽象类可以继承接口么]] + - 21. [[接口可以继承抽象类么]] + - 22. [[IO流的分类有哪些]] + - 23. [[谈谈BIO,NIO,AIO的区别是什么,你都用过哪些IO框架]] + - 24. [[Object类的常见方法都有哪些]] + - 25. [[Java中异常的分类,分别说说都哪些具体的异常]] + - 26. [[遇到BUG,你是如何调试的]] + - 27. [[如果运行结果跟预期不一样,但是代码没报错,怎么处理]] + - 28. [[有没有用过断点调试 怎么用的]] + - 29. [[JDK,JRE,JVM的区别]] + - 30. [[重写和重载的区别在哪里]] +- ## 二阶段 + - ### 2.1 Spring + - 1. [[对springIOC的理解]] + - 2. [[讲下springAOP,项目中你是如何应用的]] + - 3. [[动态代理模式中JDK与CGLIB的区别]] + - 4. [[Spring的循环依赖问题,如何解决]] + - 5. [[谈谈你对Spring bean的生命周期的理解]] + - 6. [[Spring中对事务的支持,有哪些方式 你项目中如何处理事务]] + - 7. [[Spring中bean基本都是单例的,如果一个方法要对bean中的属性值进行修改,这个方法会被多次执行,怎么确保安全]] + - 8. [[讲一下浅克隆与深克隆]] + - 9. [[@Resource和@Autowired的区别]] + - 10. [[介绍一下你的项目AOP日志功能如何实现的]] + - 11. [[Spring依赖注入的方式有哪些 有区别么]] + - 12. [[Spring的常用注解都有哪些]] + - 13. [[Spring 事务实现方式有哪些]] + - 14. [[BeanFactory 和 ApplicationContext的区别]] + - 15. [[Spring中bean基本都是单例的,如果一个方法要对bean中的属性值进行修改,这个方法会被多次执行,怎么确保安全]] + - 16. [[Spring实例化组件时,如何设置属性]] + - ### 2.2 SpringMVC + - 1. [[SpringMVC框架的工作流程]] + - 2. [[forward和redirect的区别]] + - 3. [[说一下@requestMapping的作用]] + - 4. [[知道拦截器么,你项目中哪里使用过拦截器]] + - 5. [[Springmvc 过滤器 拦截器的使用场景和区别是什么]] + - ### 2.3 SpringBoot + - 1. [[SpringBoot如何实现自动配置 原理是什么]] + - 2. [[SpringBoot的web模块自动集成了Tomcat,如何剔除]] + - 3. [[说说你常用的几个SpringBoot注解]] + - 4. [[你上个项目用的SpringBoot版本是那个版本的]] + - 5. [[SpringBoot主要的配置类有哪些]] + - 6. [[Spring,Springmvc,SpringBoot的区别是啥]] + - 7. [[可不可以配置两个数据源 比如一个mysql和一个oracle 在哪里配置,怎么配置]] + - 8. [[SpringBoot在yaml中配置了开发环境配置文件和测试配置文件,有几种方式在不同环境去使用不同的配置文件]] + - 9. [[SpringBoot的优点在哪里]] + - 10. [[当application.properties,application.yaml,bootstrap.yaml文件同时存在的情况下,它们的执行顺序是怎样的]] + - 11. [[Spring的启动流程是怎么样的]] + - ### 2.4 Web题 + - 1. [[HTTPS 通讯协议是如何实现的 它的加密方式是什么]] + - 2. [[在HTTP请求中如何存储客户信息(分如何获取和如何存储)]] + - 3. [[Ajax怎么实现同步]] + - 4. [[你们项目中,使用的什么 数据交换格式]] + - 5. [[HTTP通讯协议分为几个部分 请求协议的组成]] + - 6. [[JSON的解析框架,你用过什么]] + - 7. [[XML与JSON之间的区别]] + - 8. [[页面加载很慢,有什么优化方案]] + - 9. [[重定向和请求转发的区别是什么]] + - 10. [[JSON格式长什么样 那么JSONArray呢]] + - 11. [[Servlet的生命周期]] + - 12. [[Tomcat如何配置连接池 默认连接数是多少 == 生产环境,Tomcat性能比较差,如何调优]] + - 答:修改conf目录下的server.xml即可实现: + - ```xml + + + + + + + + + ``` + - 13. [[在请求中如何存储客户信息]] + - 14. [[如何防止表单重复提交]] + - 15. [[HTTP协议中GET与POST提交方法的区别在哪里]] + - 16. [[你对RestFul架构风格是如何理解的 平时都是怎么样的]] + - ### 2.5 Shiro + - 1. [[Shiro的执行流程]] +- ## 三阶段 + - ### 3.1 RabbitMQ + - 请说说消息队列的工作模式有哪些 + - MQ是如何保证消息不丢失的 + - MQ的工作原理 + - 如果保证用户一定能消费成功 + - 延迟队列,死信队列的区别是什么 + - 请说说RabbitMQ的优缺点 + - 延迟队列如何实现 + - 如果让你自己写个MQ服务器,你的思路是什么 需要使用到什么技术 + - 如何解决消息延时及过期失效的问题 如果有几百万条消息持续积压几小时,说说怎么解决 + - 讲一下MQ服务器的推拉模式,你在项目中是如何运用的 + - rabbitmq怎么实现订单延迟支付 + - 说一下怎么用rabbitmq实现取消订单的用户积分减少的 + - MQ是什么 你用过哪个 怎么配置的 + - ### 3.2 Redis + - 什么是接口幂等性,如何保证接口幂等性操作 + - 幂等性问题会出现在哪些地方 + - Redis支持的数据类型 + - Redis的持久化方式,以及各自的区别,项目中用的哪一种,怎么配置的 + - 如何保证与数据库的双写一致性 + - 缓存穿透,击穿,雪崩对应的解决方案是什么 + - 使用的Redis是集群的嘛 有多少个节点,采用的是那种集群方案 + - 说一下Reddis怎么做集群的 + - Redis 都有哪些使用场景 + - Redis 有哪些功能 + - 分布式锁的目的 + - 为什么要用redis不用map + - Redis是原子性的吗 是线程安全的吗 多线程还是单线程 + - Redis的特性是哪些,可以用来干嘛 + - 项目中你们部署了多少台Redis服务器,一般配置多少台,熟悉哨兵机制么 + - 假设你redis里面有9个商品,我现在有10人来买,怎么防止超卖问题 + - Redis的单线程原理是什么 如果有10个用户同时操作Redis,那么Redis是否按照先后顺序来处理情况 + - Redis的分布式锁用过没 描述一下 + - Redis设置永不过期也可以解决缓存击穿,为什么还要用分布式锁 + - Redis如何保证与数据库的数据一致性问题 + - 红锁是怎么实现的 原理是什么 + - 知道Redis的看门狗机制么,为什么要用到看门狗 + - Redis的5种数据类型,分别的使用场景 + - Redis集群知道么,如何实现 + - Redis持久化机制中AOF与RDB区别在哪里 + - Redis如何配置RDB + - ### 3.3 ES + - ES怎么保持和数据库的一致性 + - ES怎么配权重 可以做数据库吗 + - ES实现全文检索的原理是什么 + - ES查询一个张三,李四。张三名字可能会重复,要按照张三的生日去进行排序,这个ES语句怎么写 + - ### 3.4Linux + - 用过的Linux系统都有哪些 什么版本 + - chmod 改用户组的权限 + - 如果你在linux部署的项目出现报错时,你需要定位报错信息在哪怎么做 + - nginx反向代理原理 + - Nginx的负载均衡策略 + - Linux如何查看资源的使用情况 + - chmod如何改用户组的权限 + - ### 3.5 VUE + - 1. Vue的生命周期是什么,都有哪些钩子函数 + - 2. 谈谈MVC架构与MVVM架构的区别在哪里 + - 3. VUE都有哪些组件 +- ## 四阶段 + - ### 4.1 SpringCloud + - 服务熔断和服务降级,项目是如何运用的 + - 你们通过哪些手段处理系统的高并发问题 + - 项目中,关于鉴权你们是咋做的 + - Nacos 与 Eureka的区别 + - 分布式事务的原理 + - 为什么选择Seata来处理分布式事务 + - 说说项目开发流程 + - SpringCloud体系的几大组件 + - 讲一下spring cloud 中的服务注册的机制和配置方法 + - feign远程调用的时候,如何确保feign接口的参数和controller层方法参数一致 + - 你觉得SpringCloud相比传统的SpringMVC有什么优势 + - 说一下熔断器,你怎么用的,代码怎么写的 + - 做集群的时候事务怎么处理 + - 网关限流时,采用什么技术,使用什么限流算法 咋配置 + - 分布式高并发下的订单id是如何生成的 + - 介绍一下spring,springboot,springcloud + - openfeign的工作原理,是如何调用服务的 + - Feign远程调用的时候,如何确保Feign接口的参数和Controller层方法参数一致 + - 为什么要使用微服务,它的优缺点 + - 微服务的搭建步骤 + - 微服务组件都用过哪些,你们微服务的业务逻辑是什么样子的 + - Eureka如何搭建,如何才能规避因为网络原因导致客户端大面积下线的情况 + - Eureka高可用怎么配置 + - 了解网关么,网关的作用是什么,你都在网关中配置过什么内容 + - 网关限流如何配置 限流算法都用过哪些 + - 网关是如何找到其他微服务的 + - Eureka关闭之后,其他的微服务之间还能调用么 + - Nginx都配置过什么 如何做负载配置,都哪些负载算法 + - Ngnix代理配置是在哪个文件 + - Mysql的ini文件,都有些参数可以配置 + - Mybatis和MybatisPlus 你在项目中,哪个用的较多 + - 有哪些方法可以防止微服务接口被攻击 + - ### 4.2 Seata + - 1、什么是分布式事务,项目中哪些地方遇到分布式事务 + - 2、什么是2阶段提交,Seata是如何做2阶段提交的 + - 3、Seata是三大核心组件是哪些,他们分别的作用是什么 + - 4、Seata的AT模式与TCC模式区别在哪里 + - 5、AT模式在运行过程中,如何进行2阶段处理的 + - 6、分布式事务的两个理论特性 是什么 + - 7、请说一下Seata的执行流程 + - ### 4.3 Alibaba组件 + - 1、说说nacos吧 + - 2、 + - 其他问题 + - 你在项目中遇到的最大问题是什么 如何解决的 + - 项目部署没有 有没有经过压力测试 有没有经过渗透测试 + - 用过哪些经典的设计模式,谈谈你对它们的理解 + - 假如1个接口的QPS只有10,超过10会怎样 如何解决 + - 在使用git的过程中,遇到冲突,你是如何处理的 + - 单点登录的实现原理 + - 如何防止后端接口被攻击 + - 每天1万人访问主页并发量有多少 + - 负载均衡怎么实现 + - 你们开发规范是什么,具体开发流程是什么,需求分析谁做,原型设计怎么来的 + - 测试怎么做的 + - 项目中有哪些设计是存在缺陷或者不合理的 + - 你熟悉秒杀流程 那么秒杀如何保证数据一致性 + - 你们项目上线前会在哪里测试 怎么部署的 多个环境你该怎么设置 + - 大佬跟你讲的东西,你怎么判断正不正确 + - 三层架构是哪三层 具体说说,你知道它们分别对应的架构模式采用的是什么么 + - 在生成订单过程中,如果MySQL崩了,怎么办 + - 能详细说下非对称加密的流程吗 + - 生产环境中应用有问题如何分析问题 + - GIT回退上个版本,用什么命令 切换分支用哪个命令 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/短整数类型/2022-03-29T01_20_54.685Z.md b/logseq-java/logseq/bak/pages/短整数类型/2022-03-29T01_20_54.685Z.md new file mode 100644 index 0000000..f50af61 --- /dev/null +++ b/logseq-java/logseq/bak/pages/短整数类型/2022-03-29T01_20_54.685Z.md @@ -0,0 +1,3 @@ +- 占两字节内存空间,共16位 +- 取值$-2^15$~$2^15$ +- \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/第二天 [[Mar 29th, 2022]]/2022-03-30T00_53_09.814Z.md b/logseq-java/logseq/bak/pages/第二天 [[Mar 29th, 2022]]/2022-03-30T00_53_09.814Z.md new file mode 100644 index 0000000..1084bee --- /dev/null +++ b/logseq-java/logseq/bak/pages/第二天 [[Mar 29th, 2022]]/2022-03-30T00_53_09.814Z.md @@ -0,0 +1,9 @@ +- [[java跨平台原理]] +- [[IDE集成开发环境]] +- [[基本数据类型]] +- [[标识符]] +- [[变量]] +- [[隐式转换]] +- [[强制转换]] +- [[算术运算符]] +- [[关系运算符]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/第二天 [[Mar 29th, 2022]]/2022-03-30T06_04_25.556Z.md b/logseq-java/logseq/bak/pages/第二天 [[Mar 29th, 2022]]/2022-03-30T06_04_25.556Z.md new file mode 100644 index 0000000..1084bee --- /dev/null +++ b/logseq-java/logseq/bak/pages/第二天 [[Mar 29th, 2022]]/2022-03-30T06_04_25.556Z.md @@ -0,0 +1,9 @@ +- [[java跨平台原理]] +- [[IDE集成开发环境]] +- [[基本数据类型]] +- [[标识符]] +- [[变量]] +- [[隐式转换]] +- [[强制转换]] +- [[算术运算符]] +- [[关系运算符]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/编程语言/2022-04-19T01_19_46.065Z.md b/logseq-java/logseq/bak/pages/编程语言/2022-04-19T01_19_46.065Z.md new file mode 100644 index 0000000..c3dfcbf --- /dev/null +++ b/logseq-java/logseq/bak/pages/编程语言/2022-04-19T01_19_46.065Z.md @@ -0,0 +1,34 @@ +- 计算机编程语言 + - 自然语言:人与人之间的语言 + - 中文 + - 英语... + - 人和电脑交互的语言 +- 编程语言发展 + - 1. 二进制语言 + - 第一代:二进制编程语言/机器语言 + - 组成:0和1 + - 特点:阅读性极差,维护性极差,开发效率非常低下 + - ``` + 00010011 + ``` + - 2. 汇编语言(符号语言) + - 思想:使用一些特殊的符号,替代难于理解的01 + - AB-10101111 + &A-00110101 + - ``` + AB &A CB + ``` + - 特点:阅读性,维护性仍旧很差,但是简化了大量的01组合 + - 3.高级编程语言 + - 采用人类的语言作为编程的标准 + - ```java + system.out.println("Hello"); + ``` + - 分类 + - 结构化编程 + - C语言 + - 面向对象 + - C++ + - Java + - 来自对C++的封装,C++来自对C的封装,所以Java也是C系语言中的一种 + - C# \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/蜗牛java培训笔记/2022-04-01T01_15_01.332Z.md b/logseq-java/logseq/bak/pages/蜗牛java培训笔记/2022-04-01T01_15_01.332Z.md new file mode 100644 index 0000000..6d890b4 --- /dev/null +++ b/logseq-java/logseq/bak/pages/蜗牛java培训笔记/2022-04-01T01_15_01.332Z.md @@ -0,0 +1,37 @@ +- [[预习]] +- [[练习]] +- ## 第一周 + - ### 第一天 [[Mar 28th, 2022]] + - [[计算机基础理论]] + - 课堂总结 + - 1. 硬件&软件 + 2. 软件 + 3. 编程语言 + - [[DOS命令]] + - [[windows快捷键]] + - 课堂总结 + - 1. 打开DOS + 2. DOS命令 + 3. 快捷键 + - [[Java发展历程]] + - 课堂总结 + - 1. JDK里程版本 + 2. Java三个开发方向:桌面,手机,企业/互联网 + 3. Java语言特点 + 简单... + 4. JDK>JRE>JVM + - [[JDK环境搭建]] + - 课堂小结 + - 变量配置 + - JAVA_HOME + - Path + - CLASSPATH + - 编译javac + - 运行java + - [[HelloWorld详解]] + - 课堂小结 + - Java编写执行:编译-->解释 + - 编译:源代码-->Class字节码 + - 解释:将Class字节码中信息解释为01二进制信息给JVM执行 + - 编译javac.exe执行 + 解释java.exe执行 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/蜗牛java培训笔记/2022-04-07T14_01_47.487Z.md b/logseq-java/logseq/bak/pages/蜗牛java培训笔记/2022-04-07T14_01_47.487Z.md new file mode 100644 index 0000000..1f2fd37 --- /dev/null +++ b/logseq-java/logseq/bak/pages/蜗牛java培训笔记/2022-04-07T14_01_47.487Z.md @@ -0,0 +1,38 @@ +- [[练习]] +- [[总结]] +- ## 第一周 + - ### [[第一天 [[Mar 28th, 2022]]]] + id:: 6243f2eb-1936-487f-9b7e-f755bc19a26c + - ### [[第二天 [[Mar 29th, 2022]]]] + id:: 6243f2eb-c01a-4a1e-b0a0-3d5da4c01d3a + - ### [[第三天[[Mar 30th, 2022]]]] + id:: 6243f2eb-7784-4d21-85a9-0d5769977cd1 + - ### [[第四天[[Mar 31th, 2022]]]] + id:: 62443d8f-0b57-4183-9c26-4d6c709a7e0d + - ### [[第五天[[Apr 1st, 2022]]]] + id:: 62443e30-53da-464a-a0f8-d6df37f2351a + - [[面向对象的定义]] + - [[类与对象]] + - [[类和对象的创建]] + - [[属性与方法]] + - [[参数的传递]] + - [[对象的内存模型分析]] + - [[构造方法]] + - [[JavaBean规范]] + - [[修饰符]] + - [[getter/setter方法]] + - [[this]] + - [[static]] + - [[重载]] + - [[继承的定义]] + - [[继承方式]] + - [[重写]] + - [[final方法]] + - [[super关键字]] + - [[类的初始化顺序]] + - [[抽象类]] + - [[接口]] + - [[向上转型与向下转型]] + - [[多态的应用]] + - [[面向对象的特征]] +- \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/计算机发展历程/2022-04-19T01_19_47.855Z.md b/logseq-java/logseq/bak/pages/计算机发展历程/2022-04-19T01_19_47.855Z.md new file mode 100644 index 0000000..43c861d --- /dev/null +++ b/logseq-java/logseq/bak/pages/计算机发展历程/2022-04-19T01_19_47.855Z.md @@ -0,0 +1,11 @@ +- 计算机发展 +- 46y2m 第一台计算机产生 +- 1. 电子管计算机时代40-50 + - 特点:体积大,能耗高,执行效率低下 +- 2. 晶体管50-60体积 + - 特点:体积依旧大,能耗依旧大,效率有所提升 +- 3. 中小规模集成电路60-70 + - 特点:体积,能耗,效率进一步提升 +- 4. 大规模集成电路70-80 + - 特点:体积,能耗,效率进一步提升 +- \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/计算机基础理论/2022-03-28T13_54_43.720Z.md b/logseq-java/logseq/bak/pages/计算机基础理论/2022-03-28T13_54_43.720Z.md new file mode 100644 index 0000000..b0d8dec --- /dev/null +++ b/logseq-java/logseq/bak/pages/计算机基础理论/2022-03-28T13_54_43.720Z.md @@ -0,0 +1,6 @@ +- 重要程度:低 +- 课程目标 + - 1. 了解[[计算机组成]] + 2. 了解[[计算机发展历程]] + 3. 什么叫[[软硬件]] + 4. 什么叫[[编程语言]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/计算机基础理论/2022-04-19T01_19_47.859Z.md b/logseq-java/logseq/bak/pages/计算机基础理论/2022-04-19T01_19_47.859Z.md new file mode 100644 index 0000000..29919b5 --- /dev/null +++ b/logseq-java/logseq/bak/pages/计算机基础理论/2022-04-19T01_19_47.859Z.md @@ -0,0 +1,6 @@ +- 重要程度:低 +- 课程目标 + - 1. 了解[[计算机组成]] + - 2. 了解[[计算机发展历程]] + - 3. 什么叫[[软硬件]] + - 4. 什么叫[[编程语言]] \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/访问修饰符/2022-04-13T01_29_25.002Z.md b/logseq-java/logseq/bak/pages/访问修饰符/2022-04-13T01_29_25.002Z.md new file mode 100644 index 0000000..7087947 --- /dev/null +++ b/logseq-java/logseq/bak/pages/访问修饰符/2022-04-13T01_29_25.002Z.md @@ -0,0 +1,23 @@ +- 控制类,方法,属性是否能被其它类或方法访问的权限控制 +- 四个访问修饰符 + - [[public]] + - [[protected]] + - [[继承]]的子类包里可以使用 + - 默认的 + - 仅在同一个包内可以调用 + - [[private]] + - 在同一个类里面可以用 + - id:: 624ff0b4-39b0-4eef-9c71-0990589ca29a + |访问修饰符|本类|本包|其它包的子类|其它包的其它类| + |private|√|×|×|×| + |默认|√|√|×|×| + |protected|√|√|√|×| + |public|√|√|√|√| + - 作用范围 + - public>protected>默认>private +- [[封装]] + - 面向对象语言三大特征 + - [[封装]][[继承]][[多态]] + - 有时新书中新添加一个[[抽象]] +- 变量的二义性 + - 当方法的形参和对象的属性重名时,不知道操作的是那个值 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/访问修饰符/2022-04-13T03_30_29.028Z.md b/logseq-java/logseq/bak/pages/访问修饰符/2022-04-13T03_30_29.028Z.md new file mode 100644 index 0000000..7087947 --- /dev/null +++ b/logseq-java/logseq/bak/pages/访问修饰符/2022-04-13T03_30_29.028Z.md @@ -0,0 +1,23 @@ +- 控制类,方法,属性是否能被其它类或方法访问的权限控制 +- 四个访问修饰符 + - [[public]] + - [[protected]] + - [[继承]]的子类包里可以使用 + - 默认的 + - 仅在同一个包内可以调用 + - [[private]] + - 在同一个类里面可以用 + - id:: 624ff0b4-39b0-4eef-9c71-0990589ca29a + |访问修饰符|本类|本包|其它包的子类|其它包的其它类| + |private|√|×|×|×| + |默认|√|√|×|×| + |protected|√|√|√|×| + |public|√|√|√|√| + - 作用范围 + - public>protected>默认>private +- [[封装]] + - 面向对象语言三大特征 + - [[封装]][[继承]][[多态]] + - 有时新书中新添加一个[[抽象]] +- 变量的二义性 + - 当方法的形参和对象的属性重名时,不知道操作的是那个值 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/重写/2022-04-19T01_19_48.159Z.md b/logseq-java/logseq/bak/pages/重写/2022-04-19T01_19_48.159Z.md new file mode 100644 index 0000000..73c9d0e --- /dev/null +++ b/logseq-java/logseq/bak/pages/重写/2022-04-19T01_19_48.159Z.md @@ -0,0 +1,21 @@ +- +- Overload[[方法的重载]] + - 同一个类中 + - 父子之间,由子类去重新编写父类的方法 +- 当父类的方法不符合子类的需求时,子类可以重写父类的方法 +- 注意 + - 子类不能重写父类的私有方法 + - 子类[[访问修饰符]]必须大于或等于父类 + - 重写方法的返回值类型可以不一样,父类的返回类型范围要大于子类,且 返回类型存在继承关系 +- [[注解]] + - @override + - 表示下面的方法是重载 + - @override与javac达成约定,让javac检查注解下的方法是否来自于父类 +- 经典案例 + - 默认情况下使用System.out.println(对象) + - 调用Object上的toString() + - 打印对象的[[地址值]] + - 地址值作用 + - 让程序员知道这个对象是否new成功 + 但是不知道对象里具体内容 + - 重写父类的toString方法 \ No newline at end of file diff --git a/logseq-java/logseq/bak/pages/隐式转换/2022-04-19T01_19_48.162Z.md b/logseq-java/logseq/bak/pages/隐式转换/2022-04-19T01_19_48.162Z.md new file mode 100644 index 0000000..ddccedd --- /dev/null +++ b/logseq-java/logseq/bak/pages/隐式转换/2022-04-19T01_19_48.162Z.md @@ -0,0 +1,35 @@ +- [[强制转换]] +- Java允许低类型数据保存到高类型变量中 +- byte

-
定义 +- 段落 + - 通过

标签定义 +- 链接 + - 通过标签定义 +- 图像 + - 通过标签定义 +- 注释 + - 通过``来注释 \ No newline at end of file diff --git a/logseq-java/pages/HTTPS 通讯协议是如何实现的 它的加密方式是什么.md b/logseq-java/pages/HTTPS 通讯协议是如何实现的 它的加密方式是什么.md new file mode 100644 index 0000000..50c2753 --- /dev/null +++ b/logseq-java/pages/HTTPS 通讯协议是如何实现的 它的加密方式是什么.md @@ -0,0 +1,2 @@ +- +- \ No newline at end of file diff --git a/logseq-java/pages/HTTP通讯协议分为几个部分 请求协议的组成.md b/logseq-java/pages/HTTP通讯协议分为几个部分 请求协议的组成.md new file mode 100644 index 0000000..3cf20d5 --- /dev/null +++ b/logseq-java/pages/HTTP通讯协议分为几个部分 请求协议的组成.md @@ -0,0 +1 @@ +- \ No newline at end of file diff --git a/logseq-java/pages/HashMap.md b/logseq-java/pages/HashMap.md new file mode 100644 index 0000000..9319045 --- /dev/null +++ b/logseq-java/pages/HashMap.md @@ -0,0 +1,46 @@ +- [[Map]]集合中的一种实现 +- 底层结构 + - JDK1.7前:[[数组]]+ [[链表]] + - JDK1.7后:[[数组]]+[[链表]]+ [[红黑二叉树]] +- 用法 + - ```java + HashMap datas = new HashMap<>(); + ``` + - [[put]] + - [[putAll]] + - [[get]] + - [[getOrDefault]] + - 允许放[[null]]键null值 + - [[replace]] + - [[remove]] + - [[clear]] + - [[keySet]] + - [[values]] +- [[去重]] + - 依靠Hashcode和equals + - HashSet的底层是HashMap的key + - Keys要重写equals和hashCode +- 遍历 + - [[forEach]] + - ```java + datas.forEach(new BiConsumer() { + @Override + public void accept(Girl key, Boy value) { + System.out.println("key=" + key + ",value" + value); + } + }); + ``` + - 获得键的集合 + - ```java + Set keys = datas.keySet(); + for (Girl e : keys) { + System.out.println("key=" + e + ",value=" + datas.get(e)); + } + ``` + - [[entrySet]] + - ```java + Set> entries = datas.entrySet(); + for (Map.Entry e : entries { + System.out.println("key=" + e.getKey() + ",value=" + e.getValue()); + } + ``` \ No newline at end of file diff --git a/logseq-java/pages/HashMap内部如何工作.md b/logseq-java/pages/HashMap内部如何工作.md new file mode 100644 index 0000000..2fba7db --- /dev/null +++ b/logseq-java/pages/HashMap内部如何工作.md @@ -0,0 +1,6 @@ +- 哈希碰撞 +- 初始容量16 +- 数组64,节点8个转红黑树 +- put方法 +- 扩容机制 +- get方法 \ No newline at end of file diff --git a/logseq-java/pages/HashSet.md b/logseq-java/pages/HashSet.md new file mode 100644 index 0000000..c816b75 --- /dev/null +++ b/logseq-java/pages/HashSet.md @@ -0,0 +1,23 @@ +- [[Set]]接口的实现类 +- 底层是 [[HashMap]] 的key +- 遍历 + - ((625782a9-c1c2-413d-b1cf-255ecbea27d4)) + - {{embed ((625e1ecf-25a9-4b64-8eab-042fd889a062))}} + - forEach遍历 + id:: 625f6ab4-5bf2-40bf-a258-8d3d5765361f + {{embed ((625e5ddf-aa2d-4567-8531-3ccc94628ef7)) }} +- [[排序]] + - 借助ArrayList的排序 + - ```java + Arraylist arrs = new ArrayList(datas); + Collections.sort(arrs);//升序排序 + Collections.reverse(arrs);//反转降序 + ``` +- 去重原理 + - 计算hashcode值,看集合内是否存在 + - 如果存在,调用元素上的equals()与对应hash链表上每个元素比较,相同则不添加,不同就添加 +- Java对象特点 + - 相同的[[Hash]]值,可能对象不同 Aa和BB + - 相同对象,Hash值相同 +- HashSet去重 + - 元素类重写 [[equals]]和[[hashCode]] \ No newline at end of file diff --git a/logseq-java/pages/HashTable.md b/logseq-java/pages/HashTable.md new file mode 100644 index 0000000..fc425a6 --- /dev/null +++ b/logseq-java/pages/HashTable.md @@ -0,0 +1,2 @@ +- 和 [[HashMap]]的区别 + - 带 [[synchronized]]关键字 \ No newline at end of file diff --git a/logseq-java/pages/HelloWorld详解.md b/logseq-java/pages/HelloWorld详解.md new file mode 100644 index 0000000..0f404dd --- /dev/null +++ b/logseq-java/pages/HelloWorld详解.md @@ -0,0 +1,45 @@ +- ### 执行步骤 + - Hello代码 + ```java + public class HelloWorld{ + public static void main(String[] args) { + System.out.println("Hello World"); + } + } + ``` +- 编译步骤 +- > [[编译]]:相当于英文书籍的中文翻译,一定会出来一个新的文件 +- > [[解释]]:国家领导人参与国际会议,戴的同声传译 +- Java是一种半编译,半解释性语言 +- [[字节码]]信息,配合JVM虚拟机,就可以做到[[跨平台]] +- Java源代码文件基本结构 + - Java程序依靠类来组织自己的代码 + - [[类]][[class]] + - **类的类名要跟源代码的文件名保持一致** + - ```java + public class 类的类名{ + /* + Java程序中主函数/主入口 + 一个程序要跑起来,一定要有一个主入口 + 主函数的结构是固定的 + */ + public static void main(String[] arg){ + + //其它代码 + + } + } + ``` +- 比如 + - ```java + public class SelfIntroduce{ + public static void main(String[] args){ + + System.out.println("My name is ***") + + } + } + ``` + - **SelfIntroduce** 类名,和文件名保持一致 + - **main** 函数方法 + - **System.out.println("")** 程序输出方法 \ No newline at end of file diff --git a/logseq-java/pages/IDEA.md b/logseq-java/pages/IDEA.md new file mode 100644 index 0000000..6f22aa7 --- /dev/null +++ b/logseq-java/pages/IDEA.md @@ -0,0 +1,20 @@ +- [官网地址](https://www.jetbrains.com/idea/) +- 新建项目 +- Create-->Java--> Create project from template + Project name + Project location +- Base package三层结构(com.woniuxy.java001) + id:: 6243a9f6-b334-4daf-b1ec-b51335bba244 + - com 公司 + gov 政府 + edu 教育 + org 开源 + - 公司组织名称 + - 项目名称 +- 调整字体 + - File-->Setting-->Editor-->Font +- 背景设置 +- 设置Eclipse快捷键 + - ((6241c521-c1c0-4c83-9834-058144ce2e88)) +- sout-->System.out.println() +- psvm-->public static void main() \ No newline at end of file diff --git a/logseq-java/pages/IDE集成开发环境.md b/logseq-java/pages/IDE集成开发环境.md new file mode 100644 index 0000000..1e70508 --- /dev/null +++ b/logseq-java/pages/IDE集成开发环境.md @@ -0,0 +1,9 @@ +- [[IDE]]全称Integrated Development Environment(集成开发环境),是用于开发程序的软件 +- 常见IDE + - **[[Eclipse]]** + - Myeclipes + - STS + - VS + - **[[IDEA]]** + - 使用最多,太方便,集成大多插件 +- [[Java程序注释]]#程序/注释 \ No newline at end of file diff --git a/logseq-java/pages/IEDA.md b/logseq-java/pages/IEDA.md new file mode 100644 index 0000000..5b5e6e8 --- /dev/null +++ b/logseq-java/pages/IEDA.md @@ -0,0 +1,17 @@ +- [官网地址](https://www.jetbrains.com/idea/) +- 新建项目 +- Create-->Java--> Create project from template + Project name + Project location +- Base package三层结构(com.woniuxy.java001) + - com 公司 + gov 政府 + edu 教育 + org 开源 + - 公司组织名称 + - 项目名称 +- 调整字体 + - File-->Setting-->Editor-->Font +- 背景设置 +- 设置Eclipse快捷键 + - ((6241c521-c1c0-4c83-9834-058144ce2e88)) \ No newline at end of file diff --git a/logseq-java/pages/IF判断.md b/logseq-java/pages/IF判断.md new file mode 100644 index 0000000..39b2671 --- /dev/null +++ b/logseq-java/pages/IF判断.md @@ -0,0 +1,25 @@ +- Java代码执行循序 + - 从上至下,从左至右 + - 特殊情况 + - IF流程控制 + - 循环结构 + - 方法的调用 +- IF流程控制 + - [[单分支]] + - ```java + if(布尔表达式){ + //语言代码 + } + ``` + - 双分支 + - ```java + if(布尔表达式){ + //语言代码1 + } else{ + //语言代码2 + } + ``` + - 双分支的简化写法 + - [[三元运算符]] + - [[嵌套判断]] + - [[多分支]] \ No newline at end of file diff --git a/logseq-java/pages/IO流.md b/logseq-java/pages/IO流.md new file mode 100644 index 0000000..a206ae3 --- /dev/null +++ b/logseq-java/pages/IO流.md @@ -0,0 +1,23 @@ +- [[Input]] + - 将资源使用流的方式,读取到程序内部 +- [[Output]] + - 将资源使用流的方式,从程序内部输出到外部 +- 分类 + - 流的走向 + - 输入流 + - 输出流 + - 处理单位 + - [[字节流]][[byte]] + - [[字符流]][[char]] + - 功能 + - 节点流 + - 直接面对数据源的流 + - 功能流 + - 针对节点流进行一次额功能封装的流 +- 使用场景 + - 上传图片,视频 + - 下载文件,视频 +- 操作步骤 + - 创建流 + - 操作流 + - 关闭流 \ No newline at end of file diff --git a/logseq-java/pages/IP.md b/logseq-java/pages/IP.md new file mode 100644 index 0000000..8af6388 --- /dev/null +++ b/logseq-java/pages/IP.md @@ -0,0 +1,3 @@ +- Internet Protocol +- [网际协议](https://zh.wikipedia.org/wiki/%E7%BD%91%E9%99%85%E5%8D%8F%E8%AE%AE) +- \ No newline at end of file diff --git a/logseq-java/pages/InetAddress.md b/logseq-java/pages/InetAddress.md new file mode 100644 index 0000000..d779392 --- /dev/null +++ b/logseq-java/pages/InetAddress.md @@ -0,0 +1 @@ +- 代表[[IP]]地址 \ No newline at end of file diff --git a/logseq-java/pages/JDK1.8日期API.md b/logseq-java/pages/JDK1.8日期API.md new file mode 100644 index 0000000..0bef273 --- /dev/null +++ b/logseq-java/pages/JDK1.8日期API.md @@ -0,0 +1,6 @@ +- [[LocalDate]] +- [[LocalTime]] +- [[LocalDateTime]] +- +- title:: jdk1/8日期api +- \ No newline at end of file diff --git a/logseq-java/pages/JDK环境搭建.md b/logseq-java/pages/JDK环境搭建.md new file mode 100644 index 0000000..801434b --- /dev/null +++ b/logseq-java/pages/JDK环境搭建.md @@ -0,0 +1,35 @@ +- 安装JDK + - [下载地址](https://www.oracle.com/java/technologies/downloads/)[[JDK8]] + - 检测java是否安装完成 + ``` + java -version + ``` +- 编写HelloWorld #HelloWorld + - ```java + public class HelloWorld{ + public static void main(String[] args) { + System.out.println("Hello World"); + } + } + ``` + - 编译运行 + ``` + javac HelloWorld.java + java HelloWorld + ``` + - 如果编译遇到问题 + - javac -encoding utf-8 HelloWorld.java +- 配置环境变量 + - [[cd命令]]系统命令,任何目录都可运行 + - java提升为系统级命令后也可以在任何目录运行 + - 变量配置 + - [[JAVA_HOME]]:jiava安装目录 + - JAVA_HOME + C:\\Program Files\\java\\jre... + - [[Path]]:Java的命令执行目录 + - Path + %JAVA_HOME%\\bin + - [[ClassPath]]:配置class字节码文件所在位置 + - CLASSPATH + . +- \ No newline at end of file diff --git a/logseq-java/pages/JDK自带调优工具.md b/logseq-java/pages/JDK自带调优工具.md new file mode 100644 index 0000000..922dfe9 --- /dev/null +++ b/logseq-java/pages/JDK自带调优工具.md @@ -0,0 +1,10 @@ +- jps + - 显示虚拟机内部进程 +- jstat + - 定位虚拟机性能问题 + - 检测进程问题,查看GC信息 +- jstack + - 打印线程快照 + - 检测死锁 +- jmap +- jconsole \ No newline at end of file diff --git a/logseq-java/pages/JIT编译器.md b/logseq-java/pages/JIT编译器.md new file mode 100644 index 0000000..de7a098 --- /dev/null +++ b/logseq-java/pages/JIT编译器.md @@ -0,0 +1,2 @@ +- Just In Time +- 以方法为单位加快代码解释的效率 \ No newline at end of file diff --git a/logseq-java/pages/JSON.md b/logseq-java/pages/JSON.md new file mode 100644 index 0000000..fc85b69 --- /dev/null +++ b/logseq-java/pages/JSON.md @@ -0,0 +1 @@ +- JavaScript Object Notation \ No newline at end of file diff --git a/logseq-java/pages/JVM主要组成部分.md b/logseq-java/pages/JVM主要组成部分.md new file mode 100644 index 0000000..3d2727b --- /dev/null +++ b/logseq-java/pages/JVM主要组成部分.md @@ -0,0 +1,7 @@ +- 类加载子系统 + - [[类加载机制]] + - [[双亲委派机制]] +- 运行时数据区 +- 执行引擎 + - 解释器 + - JIT编译器 \ No newline at end of file diff --git a/logseq-java/pages/JVM内存结构.md b/logseq-java/pages/JVM内存结构.md new file mode 100644 index 0000000..1c4859a --- /dev/null +++ b/logseq-java/pages/JVM内存结构.md @@ -0,0 +1,22 @@ +- JVM虚拟机 + - 堆 + - (线程)栈,一份方法对应一个栈帧内存区域 + - 局部变量表 + - 本地变量 + - 操作数栈 + - 临时存储数据进行运算 + - 字节码引擎动态修改 + - 动态链接 + - 方法放在方法区,存放方法的出口地址 + - 方法出口 + - 方法结束后运行的地址 + - 本地方法栈 + - Thread.start(),用native修饰的方法 + - 本地方法需要的内存空间分配再本地方法栈中 + - 程序计数器 + - 存储当前执行字节码指令地址,native方法为undefined + - 记录当前程序运行位置 + - (元空间)方法区 + - 解析类信息,常量和静态变量 + - 直接内存 + - 提高io效率 \ No newline at end of file diff --git a/logseq-java/pages/JVM内部各种垃圾收集算法.md b/logseq-java/pages/JVM内部各种垃圾收集算法.md new file mode 100644 index 0000000..acbe95b --- /dev/null +++ b/logseq-java/pages/JVM内部各种垃圾收集算法.md @@ -0,0 +1,15 @@ +- 复制算法 + - 需要保留一半空间 +- 标记清除 + - 标记后清理掉垃圾对象 + - 存在内存碎片 +- 标记整理 + - 标记后将要存活的对象移动到内存的一端 +- serial +- serial Old +- parNew +- Parallel +- Parallel Old +- G1 +- CMS +- ZGC \ No newline at end of file diff --git a/logseq-java/pages/JVM调优.md b/logseq-java/pages/JVM调优.md new file mode 100644 index 0000000..8c29fde --- /dev/null +++ b/logseq-java/pages/JVM调优.md @@ -0,0 +1,41 @@ +- 为什么要性能调优 + - OOM + - Full GC STW +- 调优依据是什么 + - 运行日志 + - 异常堆栈 + - GC日志 + - 线程快照 + - 堆转储文件dump +- 调优的方向 + - 系统硬件配置 +- 调优的步骤 + - 性能监控 + - GC频繁 + - CPU + - OOM + - 内存泄漏 + - 程序相应时间长 + - 性能分析 + - 打印GC日志 + - 通过工具查看 + - jps + - jstat + - OOM快照 + - asats + - 性能调优 + - 加内存 + - 选垃圾回收期 + - 优化代码,控制内存使用 + - 加机器 + - 合理设置线程参数 + - 使用中间件 +- 如何对性能评估 + - 相应时间 + - 打开一个网站 几秒 + - 数据库查询一条记录(有索引)十几毫秒 + - 机械硬盘一次寻址定位 4ms + - 从机械硬盘读取1M数据 2ms + - 从ssd磁盘顺序读取1M数据 0.3ms + - 从内存读取1M数据 十几微秒 + - Java程序本地方法调用 几微秒 \ No newline at end of file diff --git a/logseq-java/pages/JVM面试题.md b/logseq-java/pages/JVM面试题.md new file mode 100644 index 0000000..26d9c9e --- /dev/null +++ b/logseq-java/pages/JVM面试题.md @@ -0,0 +1,20 @@ +- CPU飙高系统反应慢怎么排查? +- 关于什么是JVM?看看普通人和高手的回答。 +- 有没有排查过线上oom的问题,如何排查的 +- 说一下你对双亲委派的理解 +- CPU飙高系统反应慢怎么排查? +- 什么是双亲委派? +- JVM 如何判断一个对象可以被回收 +- G垃圾收集的特点,为什么低延迟 +- JVM分代年龄为什么是?可以吗? +- 一个空Object对象的占多大空间? +- 什么是Java虚拟机,为什么要使用? +- JVM 为什么使用元空间替换了永久代? +- Java 常见的垃圾收集器有哪些? +- 如何破坏双亲委派模型 +- JVM 中一次完整的GC流程是怎样的,对象如何晋升到老年代 +- 如果发生内存泄漏怎么排查 +- JVM中的三色标记法是什么? +- 说一些CMS垃圾回器的工作原理 +- 什么是内存溢出,什么是内存泄漏? +- 什么是双亲委派机制? \ No newline at end of file diff --git a/logseq-java/pages/JWT.md b/logseq-java/pages/JWT.md new file mode 100644 index 0000000..9fbe286 --- /dev/null +++ b/logseq-java/pages/JWT.md @@ -0,0 +1,20 @@ +- [[Cookie]]+ [[Session]] + - 保存用户登录状态 + - 缺陷 + - Cookie不安全,信息以明文存储 + - Session占用服务器资源,横向集群拓展麻烦 + - Cookie为浏览器的技术,存储空间有限,很多前端不再依赖浏览器 +- JSON Web Token + - ![image.png](../assets/image_1658140156367_0.png) + - Header + - 声明令牌由JWT技术产生,加密技术HS256 + - Payload + - 后端需要传输的数据 + - Signature + - 说明由谁颁发 + - 无法破解 +- 执行原理 + - 登录 --> Web服务器产生令牌 --> 存Redis,有效期30min + - 前端存储在localStorage里还是Cookie或其他数据库与后端无关,前端发请求时需要带上Token +- [[axios]]全局拦截器 +- [[SpringBoot]]配置拦截器 \ No newline at end of file diff --git a/logseq-java/pages/Java 基础面试题.md b/logseq-java/pages/Java 基础面试题.md new file mode 100644 index 0000000..44efab3 --- /dev/null +++ b/logseq-java/pages/Java 基础面试题.md @@ -0,0 +1,41 @@ +- fail-safe 机制与fail-fast 机制分别有什么作用 +- HashMap 是怎么解决哈希冲突的? +- 面试官:你能说一下什么是受检异常和非受检异常吗? +- 为什么阿里巴巴的Java开发手册不建议使用Java自带的线程池 +- fail-safe 机制与fail-fast机制分别有什么作用 +- HashMap是怎么解决哈希冲突的? +- JDK动态代理为什么只能代理有接口的类? +- 请说一下对象的创建过程(阿里) +- new String("abc")到底创建了几个对象? +- 请简单说一下你对受检异常和非受检异常的理解 +- HashMap 是如何解决 hash 冲突的? +- String、StringBuffer、StringBuilder 区别 +- Integer使用不当导致生产的事故 +- 可以讲一下ArrayList的自动扩容机制吗? +- 什么是深拷贝和浅拷贝? +- HashMap中的hash方法为什么要右移异或? +- HashMap 啥时候扩容,为什么扩容? +- 强引用、软引用、弱引用、虚引用有什么区别? +- Java有几种文件拷贝方式,哪一种效率最高? +- 聊聊你知道的设计模式 +- finally块一定会执行吗? +- 在Java 中实现单例模式有哪些方法 +- Java SPI是什么?有什么用? +- Integer和int的区别?Java为什么要设计封装类? +- Integer aInteger a a=a的运行结果? +- HashMap 与HashTable 区别 +- Java反射的优缺点? +- 为什么重写 equals()就一定要重写 hashCode()方法? +- 介绍下策略模式和观察者模式? +- 谈谈什么是零拷贝? +- SortedSet和List异同点? +- 为什么阿里Java手册禁止使用存储过程? +- 为什么阿里巴巴强制要求使用包装类型定义属性? +- 刚折腾完Log,又爆Spring RCE核弹级漏洞 +- 钟轻松理解单线程下的HashMap工作原理 +- 两个Integer对象比较大小,为什么于等于 +- 为什么 HashMap会产生死循环? +- 哪些情况下的单例对象可能会破坏? +- 责任链模式的实现原理 +- new String("hello")之后,到底创建了几个对象? +- 什么是Java SPI,它有什么作用? \ No newline at end of file diff --git a/logseq-java/pages/JavaBean规范.md b/logseq-java/pages/JavaBean规范.md new file mode 100644 index 0000000..93c6493 --- /dev/null +++ b/logseq-java/pages/JavaBean规范.md @@ -0,0 +1,8 @@ +- 实体: + - 实体的个体,也就是 [[对象]] + - [[业务对象]] + - [[实体对象]]也称为[[JavaBean]] +- 规范 + - 类必须 [[public]] + - 所有属性私有,提供对应 [[getter]] 和 [[setter]] + - 提供 [[有参构造器]] 必须先提供 [[无参构造器]] \ No newline at end of file diff --git a/logseq-java/pages/Java中21种锁.md b/logseq-java/pages/Java中21种锁.md new file mode 100644 index 0000000..9a56400 --- /dev/null +++ b/logseq-java/pages/Java中21种锁.md @@ -0,0 +1,70 @@ +- 乐观锁 + - 读多写少,写入时进行CAS操作 +- 悲观锁 + - 写多读少,每一次读写都上锁 + - Synchronized ReentrantLock +- 自旋锁 + - 自旋空操作,避免线程切换开销 + - 等待时间过程会浪费性能 +- 可重入锁 + - 可以多次获取同一个锁 + - ReentrantLock,Synchronized + - 申请几把锁需要释放几把锁 +- 读写锁 + - 读锁 + - 允许多个线程同时访问一个资源 + - 写锁 + - 只允许一个线程获取锁 +- 公平锁 + - 多个线程按照申请锁的顺序获取锁 +- 非公平锁 + - 多个线程获取锁的顺序不是一致的 + - 线程状态修改需要时间 + - 导致线程饥饿 + - synchronized,lock通过构造方法修改 +- 共享锁 + - 和读锁,乐观锁类似 +- 独占锁 + - 和写锁,悲观锁类似 +- 重量级锁 + - 依赖操作系统的锁 + - synchronized通过监视器monitor实现,需要用户态和内核态切换 +- 轻量级锁 + - 没有竞争时,通过CAS操作实现 + - 有竞争变为重量级锁 +- 偏向锁 + - 偏向第一个获取的线程,如果没有竞争,就不需要进行CAS操作可以直接获取锁 + - 如果存在锁及大部分都是竞争的情况下是多余的 +- 分段锁 + - jdk1.7,ConcurrentHashMap有16个segment +- 互斥锁 + - 和写锁、悲观锁、独占锁类似 +- 同步锁 + - 互斥锁、写锁、悲观锁 + - 并发执行的多个线程,同一时间只有一个线程可以访问 +- 死锁 + - 线程持有对方线程需要的自由,又都不释放自己的锁 +- 锁粗化 + - 扩大加锁的范围,减少加锁的频率减少损耗 +- 锁消除 + - 如果共享资源没有竞争就消除锁 + - 内存逃逸分析 +- synchronized + - 实例方法,方法,代码块 +- lock + - 接口,可重入锁,悲观锁,独占锁,互斥锁,同步锁 + - 需要手动释放 + - 发生异常没有主动释放锁很可能会死锁 + - 可以让等待锁的线程响应中断 + - 可以知道是否成功获取锁 + - 实现读写锁提高效率 +- ReentrantLock和Synchronized + - 都解决共享变量安全访问的问题 + - 可重入锁 + - 可见性,原子性 + - 手动调用lock和unlock + - 响应中断 + - API,JVM + - 公平,非公平 + - ReentrantLock通过Condition绑定多个条件 +- \ No newline at end of file diff --git a/logseq-java/pages/Java创建线程的方式有哪些.md b/logseq-java/pages/Java创建线程的方式有哪些.md new file mode 100644 index 0000000..27f5a4b --- /dev/null +++ b/logseq-java/pages/Java创建线程的方式有哪些.md @@ -0,0 +1,9 @@ +- 继承Thread类 + - 不支持多继承 + - 不能通过线程池操作 +- 实现Runnable接口 + - 不方便传参 + - 无法获取返回值 +- 实现Callable接口 + - 可通过Future获取返回值 +- 通过Executors创建线程池对象 \ No newline at end of file diff --git a/logseq-java/pages/Java发展历程.md b/logseq-java/pages/Java发展历程.md new file mode 100644 index 0000000..1515e0e --- /dev/null +++ b/logseq-java/pages/Java发展历程.md @@ -0,0 +1,49 @@ +- Java起源 + - Java是一种高级编程语言 + - 1991,起源SUN Green小组开发Star 7项目[整合了C++ Lisp SmallTalk](智能家居) + - 1992,开发后没市场 + - 1993,团队面临解散,决定Java去走互联网 + - 早期叫Oak(橡树),据说Java之父手(詹姆斯·高斯林)上爪哇的咖啡 +- Java的发展史 + - 95/5/23,java正式诞生 + - 96/1/23,JDK1.0 + - 97/2/18,JDK1.1,此时算是最初级的版本 + - 98/12/8,JDK1.2,milestone version + - 更名为Java2.0 + - 确定Java未来的走向 + - 1. **J2SE**(标准),开发桌面应用,Eclipse,IDEA + 2. **J2ME**(微型),手机嵌入式程序,Nokia + 3. **J2EE**(企业),开发企业级,互联网应用 + - 04/10,JDK1.5 another milestone + - 1. Java更名Java5.0 + 2. 提供了注解,枚举,多线程等一系列的新功能或优化功能 + - J2SE-->[[Java SE]] + J2ME-->[[Java ME]] + J2EE-->[[Java EE]] + - 2010/4/20,SUN被Orcale收购 + - 目前最新Java18,JDK18 +- Java技术组成 + - 1. Java编程语言 + - 特点 + - 1. 简单性: + - 抛弃[[C语言]]头文件,结构体,联合体,[[指针]]等一系列非常复杂的内容 + - 前辈多,现任广 + - 2. 结构中立: + - Java语言在项目开发中,可以和其他任何语言共存 + - 3. [[面向对象]] + - 4. 支持[[分布式]] + - 5. 跨平台: + - 一次编写,处处运行 + - 6. 高性能 + - 7. [[多线程]] + - 8. [[健壮性]],安全性 + - 2.Java平台 + - [[JDK]] + - Java Development Kit(Java开发工具包) + - JRE+[[API]]工具 + - [[JRE]] + - Java Runtime Environment(Java运行环境) + - JVM+[[核心库]]类 + - [[JVM]] + - Java Virtual Machine(Java虚拟机) + - Java虚拟机出现目的:跨平台 \ No newline at end of file diff --git a/logseq-java/pages/Java并发编程基础面试题.md b/logseq-java/pages/Java并发编程基础面试题.md new file mode 100644 index 0000000..030be7a --- /dev/null +++ b/logseq-java/pages/Java并发编程基础面试题.md @@ -0,0 +1,59 @@ +- [[谈谈你对AQS的理解]] +- [[lock和synchronized区别]] +- [[线程池如何知道一个线程的任务已经执行完成]] +- [[什么叫做阻塞队列的有界和无界]] +- [[ConcurrentHashMap 底层具体实现知道吗?实现原理是什么?]] +- [[能谈一下CAS机制吗?]] +- [[死锁的发生原因和怎么避免]] +- [[讲一下wait和notify这个为什么要在synchronized代码块中?]] +- 你是怎么理解线程安全问题的? +- 什么是守护线程,它有什么特点 +- 谈谈你对AQS的理解 +- AbstractQueuedSynchronized 为什么采用双向链表 +- lock和synchronized 区别 +- 线程池如何知道一个线程的任务已经执行完成 +- 什么叫做阻塞队列的有界和无界 +- ConcurrentHashMap 底层具体实现知道吗?实现原理是什么? +- 能谈一下CAS机制吗? +- 死锁的发生原因和怎么避免 +- volatile 关键字有什么用?它的实现原理是什么? +- 讲一下wait和notify这个为什么要在synchronized代码块中? +- ThreadLocal是什么?它的实现原理呢? +- 基于数组的阻塞队列 ArrayBlockingQueue 原理 +- 怎么理解线程安全? +- 请简述一下伪共享的概念以及如何避免 +- 什么是可重入,什么是可重入锁?它用来解决什么问题? +- 请说一下ReentrantLock的实现原理? +- 简述一下你对线程池的理解? +- 如何中断一个正在运行的线程? +- 为什么引入偏向锁、轻量级锁,介绍下升级流程 +- 什么是守护线程,它有什么特点 +- 请谈谈AQS是怎么回事儿? +- ReentrantLock 是如何实现锁公平和非公平性的? +- 说一下你对 CompletableFuture的理解 +- 线程状态,BLOCKED和WAITING有什么区别 +- Thread和Runnable的区别 +- Thread和Runnable的区别 +- AQS为什么要使用双向链表? +- ConcurrentHashMap的size()方法是线程安全的吗?为什么 +- wait和sleep是否会触发锁的释放以及CPU资源的释放? +- DCL单例模式设计为什么需要 volatile 修饰实例对象 +- 讲下线程池的线程回收 +- 如果一个线程两次调用start(),会出现什么问题? +- Java 官方提供了哪几种线程池,分别有什么特点? +- 请你说一下你对Happens-Before的理解。 +- 线程池是如何实现线程复用的? +- 可以说下阻塞队列被异步消费怎么保持顺序吗? +- 当任务数超过线程池的核心线程数时,如何让它不进入队列,而是直接启用最大线程数 +- SimpleDateFormat 是线程安全的吗?为什么? +- 并行和并发有什么区别? +- 如何解决死锁问题? +- 为什么 ConcurrentHashMap中key不允许为null +- ThreadLocal会出现内存泄漏吗? +- 什么是CompletableFuture? +- 什么条件下会产出死锁,如何避免死锁? +- ConcurrentHashMap是如何保证线程安全的? +- ThreadLocal真的会造成内存泄漏吗? +- 为什么 ConcurrentHashMap 不允许插入null值? +- synchronized和Lock的区别 +- 如何安全地中断一个正在运行的线程? \ No newline at end of file diff --git a/logseq-java/pages/Java程序注释.md b/logseq-java/pages/Java程序注释.md new file mode 100644 index 0000000..cb8ffe9 --- /dev/null +++ b/logseq-java/pages/Java程序注释.md @@ -0,0 +1,38 @@ +- 解释某段代码的含义,或废弃某段代码 +- 单行注释 + - ```java + public class dnahangzhushi { + public static void mian(String[] args) { + //这是一段输出语句 + System.out.println("Hello World"); + } + } + ``` +- 多行注释 + - ```java + public class duohangzhushi { + /* + *这是一个程序的入口 + *程序会从这里执行 + */ + public static void main(String[] args) { + System.out.println("Hello World") + } + } + ``` +- 文档注释 + - 使用于类名的上方,描述类的使用 + - 使用于方法的上方,描述方法的使用 + - ```java + /** + *@auther:YH + *@date:2022/03/38 + */ + publc class Hello { + + } + ``` +- 可在代码上加上注释用于执行时跳过代码 +- 单行注释快捷键Ctrl+/ #IDEA +- 多行注释快捷键Ctrl+Shift+/ #IDEA +- \ No newline at end of file diff --git a/logseq-java/pages/Java跨平台原理.md b/logseq-java/pages/Java跨平台原理.md new file mode 100644 index 0000000..9fba134 --- /dev/null +++ b/logseq-java/pages/Java跨平台原理.md @@ -0,0 +1,12 @@ +- > Java程序不是运行在系统上,而是运行在了虚拟机上,Java开发团队针对每一种不同的系统开发了不同的虚拟机 +- ## Java的跨平台 #JVM + - 一次编写,处处运行 + - 一般在Windows上开发代码,而在Linux/Unix操作系统上运行 + - 如何做到 + - 通过JVM做到 + - JVM特点 + - 不同操作系统对应不同JVM +- ## JVM内部执行 +- [[JIT编译器]] +- +- \ No newline at end of file diff --git a/logseq-java/pages/Java面试.md b/logseq-java/pages/Java面试.md new file mode 100644 index 0000000..7cc6398 --- /dev/null +++ b/logseq-java/pages/Java面试.md @@ -0,0 +1,6 @@ +- ((6243be14-7a99-4175-8975-50f29880f478)) +- ((62451ad0-4023-43ff-82ad-a114bfb9ac7f)) +- ((6246b51d-044b-40fb-aa3c-e057f95915b8)) +- ((6246b566-602f-4535-89ad-a88b652bca32)) +- ((624d06d6-3d96-4b9b-a60c-cb3e3b285ad0)) +- [[互联网企业面试题]] \ No newline at end of file diff --git a/logseq-java/pages/Kibana.md b/logseq-java/pages/Kibana.md new file mode 100644 index 0000000..274fbe5 --- /dev/null +++ b/logseq-java/pages/Kibana.md @@ -0,0 +1,18 @@ +- [[ElasticSearch]]的可视化管理工具 +- [[Docker]]安装 + - ```yml + # PATH /usr/local/config/kibana.yml + # + # ** THIS IS AN AUTO-GENERATED FILE ** + # + # Default Kibana configuration for docker target + server.name: kibana + xpack.monitoring.ui.container.elasticsearch.enabled: true + server.port: 5601 + server.host: 0.0.0.0 + elasticsearch.hosts: ["http://es:9200"] + i18n.locale: "zh-CN" + ``` + - ```bash + docker run --name kibana --privileged=true -v /usr/local/config/kibana.yml:/usr/share/kibana/config/kibana.yml --link es:es -p 5601:5601 -d kibana:7.2.1 + ``` \ No newline at end of file diff --git a/logseq-java/pages/LinkedHashMap.md b/logseq-java/pages/LinkedHashMap.md new file mode 100644 index 0000000..77b929a --- /dev/null +++ b/logseq-java/pages/LinkedHashMap.md @@ -0,0 +1 @@ +- 底层原理和 [[HashMap]]一致,LinkedHashMap为双向的 \ No newline at end of file diff --git a/logseq-java/pages/LinkedList.md b/logseq-java/pages/LinkedList.md new file mode 100644 index 0000000..5945e08 --- /dev/null +++ b/logseq-java/pages/LinkedList.md @@ -0,0 +1,10 @@ +- 底层为[[链表]]结构 + - 每一个元素由三部分[[Node]]构成 + - prev + - Element + - next +- [[API]]方法与ArrayList一致 +- 与[[ArrayList]]的区别 + - 底层结构不一样 + - ArrayList比较适合用于查询,新增删除节点效率较低 + - LinkedList比较适用于新增,删除,查询效率较低 \ No newline at end of file diff --git a/logseq-java/pages/Linux.md b/logseq-java/pages/Linux.md new file mode 100644 index 0000000..ad0430b --- /dev/null +++ b/logseq-java/pages/Linux.md @@ -0,0 +1,9 @@ +- 目录文件操作 + - ls + - ls -l + - ll + - ls - +- 操作防火墙 + - [[firewall]] +- 解压操作 + - [[tar&gz&zip]] \ No newline at end of file diff --git a/logseq-java/pages/List.md b/logseq-java/pages/List.md new file mode 100644 index 0000000..5a59287 --- /dev/null +++ b/logseq-java/pages/List.md @@ -0,0 +1,4 @@ +- 特点 + - 元素存储时是有序的 + - 元素可以重复 + - 每个元素在使用时,都是有下标的 \ No newline at end of file diff --git a/logseq-java/pages/LocalDate.md b/logseq-java/pages/LocalDate.md new file mode 100644 index 0000000..1f2cb8f --- /dev/null +++ b/logseq-java/pages/LocalDate.md @@ -0,0 +1,4 @@ +- 年月日 + - 该类默认支持国际化 + - 在不同的国际,不同的区域,呈现不同格式的日期 + - 默认:yyyy-MM-dd \ No newline at end of file diff --git a/logseq-java/pages/LocalDateTime.md b/logseq-java/pages/LocalDateTime.md new file mode 100644 index 0000000..c51a7f1 --- /dev/null +++ b/logseq-java/pages/LocalDateTime.md @@ -0,0 +1 @@ +- yyyy-MM-dd-HH-mm-ss \ No newline at end of file diff --git a/logseq-java/pages/LocalTime.md b/logseq-java/pages/LocalTime.md new file mode 100644 index 0000000..f2149b2 --- /dev/null +++ b/logseq-java/pages/LocalTime.md @@ -0,0 +1,3 @@ +- +- 时间格式化 +- HH代表24小时制 \ No newline at end of file diff --git a/logseq-java/pages/Lua脚本能在Redis集群里面执行吗.md b/logseq-java/pages/Lua脚本能在Redis集群里面执行吗.md new file mode 100644 index 0000000..570ef95 --- /dev/null +++ b/logseq-java/pages/Lua脚本能在Redis集群里面执行吗.md @@ -0,0 +1 @@ +- 需要给所有key加一个hash tag {XXX},才能保证所有key落在同一slot \ No newline at end of file diff --git a/logseq-java/pages/MVCC.md b/logseq-java/pages/MVCC.md new file mode 100644 index 0000000..c1e22a3 --- /dev/null +++ b/logseq-java/pages/MVCC.md @@ -0,0 +1,24 @@ +- 多版本并发控制 +- 为了解决脏读,不可重复读的情况 +- 基于Undo版本链接和ReadView来实现的,每个事务都有自己的版本号, +- MVCC无法解决幻读,需要配合锁来实现 +- 当前读 + - select for update + - select lock in share mode + - insert update delete +- 快照读 + - 维护了同一个行的多个版本,查询时会返回对应的事务的修改版本 +- 原理 + - 隐藏字段 + - 行记录,trx_id,roll_point + - undo版本链,由当前最新记录+该记录之间的undo日志 + - readview + - 决定返回哪个版本的数据,版本链返回规则/可见性算法 + - 当前活跃事务id + - 最大事务id +1 + - 最小事务id + - readview创建者事务id +- RC和RR下 + - RC,每一次快照读都会生产readview + - RR,只有第一次快照读生成readview后面复用 +- MVCC解决了读写阻塞,再RR下快照读方面避免了出现幻读的问题 \ No newline at end of file diff --git a/logseq-java/pages/Map.md b/logseq-java/pages/Map.md new file mode 100644 index 0000000..5b9cfcf --- /dev/null +++ b/logseq-java/pages/Map.md @@ -0,0 +1,5 @@ +- 映射 +- 基于 [[Key-Value]] (键值对)的结构 +- 特点 + - Key不能重复 + - Value可以重复 \ No newline at end of file diff --git a/logseq-java/pages/Math.md b/logseq-java/pages/Math.md new file mode 100644 index 0000000..b939602 --- /dev/null +++ b/logseq-java/pages/Math.md @@ -0,0 +1,8 @@ +- 数学类,提供了一些基本数字运算的方法 +- [[random]] + - ((6257ca69-79e2-4267-b04c-8d607cad5a79)) +- [[abs]] +- [[pow]] +- [[max]] +- [[min]] +- [[round]] \ No newline at end of file diff --git a/logseq-java/pages/MySQL.md b/logseq-java/pages/MySQL.md new file mode 100644 index 0000000..6b01eca --- /dev/null +++ b/logseq-java/pages/MySQL.md @@ -0,0 +1,55 @@ +- 目录结构 + - bin + - data + - include + - lib + - my.ini +- DONE 看面试题 + :LOGBOOK: + CLOCK: [2023-10-10 Tue 11:46:55] + CLOCK: [2023-10-10 Tue 11:46:59]--[2023-10-10 Tue 21:24:01] => 09:37:02 + :END: +- https://www.bilibili.com/video/BV1N24y1y7a1 +- [[如何实现的索引机制]] +- [[表中没有索引,会创建B+树吗]] +- [[B+树]] +- [[为什么官方推荐自增主键]] +- [[使用int作为自增主键,最大id为10,删除10和9,添加一条记录,不重启和重启后添加记录id为多少]] +- [[索引优缺点]] +- [[回表操作]] +- [[索引类型]] +- [[创建索引的情况]] +- [[索引下推]] +- [[索引失效]] +- [[多个索引是否可以指定]] +- ((65253f94-6e42-488a-9f9f-510ee1d340d7)) +- [[Order By是否走索引]] +- [[MySQL查询缓存]] +- [[MySQL组成]] +- [[MySQL执行SQL步骤]] +- [[存储引擎]] +- [[MySQL事务]] +- [[MySQL锁]] +- [[XA协议]] +- [[select for update会产生哪些操作]] +- [[死锁的产生原因和处理方法]] +- [[MySQL日志]] +- MySQL开发 + - [[可以用MySQL存储文件吗]] + - [[存储的时候有遇到过什么问题吗]] + - [[财务计算有没有出现过错乱]] + - [[预编译SQL]] + - [[子查询和join哪个效率高]] + - [[SQL调优]] + - [[MySQL数据库cpu飙升]] + - [[分库分表]] + - [[视图]] + - [[存储过程]] + - [[外键]] + - [[processlist]] + - [[千万数据查询优化]] + - [[count(列名)和count(*)区别]] + - [[如果有超大分页怎么处理]] + - [[mysql服务器毫无规律异常重启]] + - [[mysql线上修改表结构有哪些风险]] + - [[什么是mysql多实例部署]] \ No newline at end of file diff --git a/logseq-java/pages/MySQL中锁机制.md b/logseq-java/pages/MySQL中锁机制.md new file mode 100644 index 0000000..fd395e3 --- /dev/null +++ b/logseq-java/pages/MySQL中锁机制.md @@ -0,0 +1,19 @@ +- 行锁 + - 与表锁不能同时存在 +- 表锁 + - 锁定一张表 +- 读写锁 + - 读锁和读锁不互斥,其它情况互斥 +- 意向共享锁,意向互斥锁 + - 是为了解决如果要添加表锁需要检查是否有行锁的情况,可以根据意向锁判断是否存在行锁 + - 意向锁和意向锁之间不会互斥 + - 意向共享锁和表级别的读锁之间不互斥,其它会互斥 + - 意向锁不会与任何行锁互斥 +- 间隙锁 + - 锁定的是两个索引之间的间隙,防止新的记录插入到该间隙中,主要是为了解决幻读的问题 + - 一个事务读取某个范围的记录,另一个事务再这个范围内插入了新的记录 + - 缺点 + - 有一定死锁风险,性能影响,添加复杂性,锁定范围可能过大 +- 临键锁 + - 特殊的间隙锁,只与非唯一索引有关 + - 非唯一索引列上都会存在一个临键锁,所著一段左开右闭的区间 \ No newline at end of file diff --git a/logseq-java/pages/MySQL事务.md b/logseq-java/pages/MySQL事务.md new file mode 100644 index 0000000..12afae6 --- /dev/null +++ b/logseq-java/pages/MySQL事务.md @@ -0,0 +1,54 @@ +- 数据库操作的最小单元 +- 作为一个整体一起向系统提交 +- 事务是一组不可拆分的操作集合 +- ACID + - 原子性 + - 要么都执行,要么都不执行 + - 一致性 + - 事务执行前后是从一个一致性状态到另一个一致性状态 + - 隔离性 + - 事务之间互不干扰 + - 持久性 + - 事务一旦完成修改永久保存 +- 并发事务的问题 + - 脏读 + - 读取到了另一个事务未提交的数据 + - 丢失修改 + - 一个事务修改了这个数据,但是另一个事务也修改了这个数据,这个时候第一个事务的修改结果就丢失了 + - 不可重复读 + - 一个事务多次读取同一个数据,读取到的结果不一样 + - 幻读 + - 一个事务多次查询返回的结果总数不一样 +- 避免事务的并发问题 + - 配置事务隔离级别 + - 读未提交 + - 读已提交 + - **可重复读** + - 串行化 +- 默认情况下使用默认的隔离级别,一致性要求高就使用较高的事务隔离级别 +- 靠缓存可以提升事务隔离级别的性能 + - 有缓存只能提供高效读,不能保证数据即时一致性,还需要额外开销管理缓存 +- 隔离实现方案 + - 读写锁 + - 锁定读,共享读锁之间不会排斥,写锁会排斥其他锁 + - 锁竞争时,要等待其中一个操作释放锁另一个才能获取锁 + - 行锁 + - 间隙锁 + - select lock in share mode + - select lock for update + - insert、update、delete + - MVCC + - 一致性非锁定读 + - 隐藏字段 + - DB_TRX_ID,标记最近一次对本行记录做修改的事务id + - DB_ROLL_PTR,回滚指针,指向改行的undolog + - DB_ROW_ID,没有主键和唯一列时会使用该id生成聚簇索引 + - Read View + - 记录和隔离不同事物并发时此纪录哪些版本对当前事务可见 + - Undolog + - 回滚数据,读取可见版本的数据 +- 一致性、原子性如何实现 + - 通过MVCC实现 + - 灾备通过redolog实现,redolog会记录下来所有修改,崩溃后可以通过redolog恢复修改 +- 持久性如何实现 + - redolog实现,事务提交的时候先将所有日志写入日志文件进行持久化,即WAL(write ahead log)机制 \ No newline at end of file diff --git a/logseq-java/pages/MySQL执行SQL步骤.md b/logseq-java/pages/MySQL执行SQL步骤.md new file mode 100644 index 0000000..edc2eda --- /dev/null +++ b/logseq-java/pages/MySQL执行SQL步骤.md @@ -0,0 +1,5 @@ +- DOING 详细理解记忆 + :LOGBOOK: + CLOCK: [2023-10-10 Tue 16:49:50] + CLOCK: [2023-10-10 Tue 16:49:59] + :END: \ No newline at end of file diff --git a/logseq-java/pages/MySQL数据库cpu飙升.md b/logseq-java/pages/MySQL数据库cpu飙升.md new file mode 100644 index 0000000..b372943 --- /dev/null +++ b/logseq-java/pages/MySQL数据库cpu飙升.md @@ -0,0 +1,15 @@ +- 先定位 +- 使用top命令查看mysqld的利用率 +- 使用show full processlist,查看会话 +- 观察是哪些sql消耗了资源,其中终点观察state指标 +- 定位到具体sql +- +- 使用pidstate +- 定位到线程 +- 在preformance_schema.thread中记录了thread_os_id找到线程执行的sql +- 根据操作系统id可以到processlist表找到对应的会话 +- +- 使用show profile观察sql各个阶段耗时 +- 服务器上是否运行了其他程序 +- 检查一下是否有慢查询 +- pref top \ No newline at end of file diff --git a/logseq-java/pages/MySQL日志.md b/logseq-java/pages/MySQL日志.md new file mode 100644 index 0000000..f51e7cf --- /dev/null +++ b/logseq-java/pages/MySQL日志.md @@ -0,0 +1,50 @@ +- 错误日志error log +- 慢查询日志slow query log + - 默认10s + - 手动开启 + - 支持将日志写入文件 +- 一般查询日志generallog +- 重写日志redolog + - 基于磁盘的数据结构,用来宕机时恢复不完整的数据 + - 用于恢复更新了内存但是还没有刷入硬盘的数据 +- 回滚日志undolog + - 回滚到某一版本,是一种逻辑数据 + - 记录修改之前的数据,delete对应一条insert数据 + - 提供mvcc下的读取 +- 二进制日志binlog + - 记录增删改时的sql(当前时间,系统相关)记录的日志,修改了内容就会产生一条bin log + - 进行主从复制,数据库的恢复 +- 是否实时写入磁盘 + - binlog + - sync_binlog + - 0,写入页缓存,操作系统决定刷盘,有丢失日志风险 + - 1,每次提交事务都写入磁盘 + - N,N个事务后写入磁盘 + - redolog + - undolog + - **innodb_flush_log_at_trx_commit** + - 0:每秒写入磁盘 + - 1:每次提交调用fsync刷新IO缓存 + - 2:每次都把redolog写入page cache,由系统接管什么时候写入磁盘 +- 时机顺序 + - DOING 补充笔记 + :LOGBOOK: + CLOCK: [2023-10-10 Tue 17:58:30] + CLOCK: [2023-10-10 Tue 17:58:34] + CLOCK: [2023-10-10 Tue 17:58:34] + :END: +- redolog和binlog的两阶段提交 +- binlog有几种录入格式 + - statement + - 不记录数据变更,只记录sql语句和每一行数据变化 + - row + - 不记录sql语句上下文信息,记录数据被修改,修改成什么样 + - mixed + - 有函数用row,没函数用statement,无法识别系统变量 +- 集群同步为什么使用binglog + - binglog是mysql提供的日志,所有存储引擎都可以使用 + - 支持增量同步 + - 可以供其他中间件读取,hdfs + - 复制表数据 + - 不支持某个阶段回放 + - 复制过程中断很难确定复制的offset \ No newline at end of file diff --git a/logseq-java/pages/MySQL查询缓存.md b/logseq-java/pages/MySQL查询缓存.md new file mode 100644 index 0000000..3c384c4 --- /dev/null +++ b/logseq-java/pages/MySQL查询缓存.md @@ -0,0 +1,14 @@ +- MySQL支持缓存查询吗 + - 5.7支持内部缓存,8.0之后就废弃了 + - 通过哈希值计算,命中缓冲区就会返回缓冲区结果 +- 为何废弃 + - 缓存限制 + - mysql没有灵活管理缓存失效和生效,尤其对于频繁更新的表 + - SQL必须完全一致才会命中 + - 为了节省内存,太大的result不会缓存 + - 在分库分表情况下不起作用 + - 执行SQL里有触发器,自定义函数时缓存不起作用 + - 表结构或数据改变时,基于该表的缓存立即失效 +- 替代方案 + - redis + - ehcached \ No newline at end of file diff --git a/logseq-java/pages/MySQL索引失效.md b/logseq-java/pages/MySQL索引失效.md new file mode 100644 index 0000000..73c3cb7 --- /dev/null +++ b/logseq-java/pages/MySQL索引失效.md @@ -0,0 +1,8 @@ +- 含有计算以及函数的情况 +- like以%和_开头匹配的情况 +- 不等于 +- is null和is not null + - 如果有字段为null,尽量使用is null判断,如果null比较高,优化器也会使用索引进行范围查询 +- 存在类型转换 +- 复合索引不满足最左前缀 +- mysql认为全表扫描快 \ No newline at end of file diff --git a/logseq-java/pages/MySQL组成.md b/logseq-java/pages/MySQL组成.md new file mode 100644 index 0000000..c8c7885 --- /dev/null +++ b/logseq-java/pages/MySQL组成.md @@ -0,0 +1,20 @@ +- 客户端 + - JDBC,SQLyog +- 服务器 + - 连接层 + - 处理连接,TCP连接,分配线程 + - 服务层 + - SQL接口 + - Parser解析器 + - 语法分析 + - Optimizer查询优化器 + - Caches&Buffers查询缓存组件 + - 引擎层 + - InnoDB + - MyISAM + - 存储层 + - 所有数据、数据库、表的定义、表内容、索引都存在文件系统,以文件存在,并完成与存储引擎的交互 +- MySQL提示“不存在此列”是执行到哪个节点报出的? + - Parser解析器分析sql语法时检查的列 +- 一个表创建了多个索引,在哪个阶段进行索引选择? + - Optimizer优化器阶段,查询优化器 \ No newline at end of file diff --git a/logseq-java/pages/MySQL适合创建索引的情况.md b/logseq-java/pages/MySQL适合创建索引的情况.md new file mode 100644 index 0000000..af18c84 --- /dev/null +++ b/logseq-java/pages/MySQL适合创建索引的情况.md @@ -0,0 +1,9 @@ +- 频繁where条件查询, +- 需要排序和分组的字段, +- 需要统计的字段 +- +- 不适合创建 + - 频繁更新的 + - 排序,where,分组用不到的字段 + - 已经确定表中数据非常少 + - 需要参与函数计算 \ No newline at end of file diff --git a/logseq-java/pages/MySQL锁.md b/logseq-java/pages/MySQL锁.md new file mode 100644 index 0000000..97bb9d1 --- /dev/null +++ b/logseq-java/pages/MySQL锁.md @@ -0,0 +1,19 @@ +- 表锁和行锁的区别 + - 表锁 + - 串行化时,整个表加锁,锁住整个表 + - 行锁 + - 非串行化时InnoDB使用的是行锁,只锁一行数据 + - 通过mvcc完成的 +- 共享锁 +- 排他锁 +- 意向锁 + - 所有操作之前都要申请一个意向锁,属于表锁,意向锁之间不会冲突,会和表锁冲突 + - 意向共享锁 + - 意向排他锁 +- 间隙锁 + - 锁定多行数据 +- next-key锁 + - 避免一些幻读操作 +- 当前读和快照读 + - 锁定读的时候读到的最新版本的数据 + - 可重复读下mvcc生效的是快照读,读取数据快照 \ No newline at end of file diff --git a/logseq-java/pages/Mybatis 面试题.md b/logseq-java/pages/Mybatis 面试题.md new file mode 100644 index 0000000..9aa779c --- /dev/null +++ b/logseq-java/pages/Mybatis 面试题.md @@ -0,0 +1,6 @@ +- 说一说Mybatis里面的缓存机制 +- 说一说Mybatis里面的缓存机制 +- Mybatis中#{和$0}的区别是什么? +- Mybatis是如何进行分页的 +- MyBatis 配置中的#0和$0有什么区别? +- MyBatis 何时使用一级缓存,何时使用二级缓存? \ No newline at end of file diff --git a/logseq-java/pages/Mybatis.md b/logseq-java/pages/Mybatis.md new file mode 100644 index 0000000..f29e12c --- /dev/null +++ b/logseq-java/pages/Mybatis.md @@ -0,0 +1,12 @@ +- ```java + //读取Mybat配置文件 + InputStream mybatisConfigInputStream = Resources.getResourceAsStream("mybatis-config.xml"); + //创建sqlsession会话工厂 + SqlSessionFactoryBuilder factoryBuilder = new SqlSessionFactoryBuilder(); + //一个数据库 对应一个会话工厂 + SqlSessionFactory factory = factoryBuilder.build(mybatisConfigInputStream); + //获取会话 会话用来执行sql语句,提交,回滚事务 + SqlSession sqlSession = factory.openSession(); + //关闭session + sqlSession.close(); + ``` \ No newline at end of file diff --git a/logseq-java/pages/Mysql数据库面试题.md b/logseq-java/pages/Mysql数据库面试题.md new file mode 100644 index 0000000..659dd00 --- /dev/null +++ b/logseq-java/pages/Mysql数据库面试题.md @@ -0,0 +1,43 @@ +- innoDB 如何解决幻读 +- b树和b+树的理解 +- 你是否在面试中也被过MySQL优化相关的问题呢? +- 关于“你对MVCC的理解,看看普通人和高手是如何回答这个问题的? +- 关于索引的底层实现,为什么选择B+Tree而不是红黑树? +- 请你说一下Mysql中的性能调优方法? +- 为什么一线互联网公司严禁使用存储过程? +- Mysql 中的RR隔离级别,到底有没有解决幻读问题? +- 为什么索引要用B+树来实现呢,而不是B树? +- Mysql是如何解决幻读问题的? +- 什么是聚集索引和非聚集索引 +- 请你简单说一下Mysql的事务隔离级别 +- binlog 和 redolog有什么区别? +- 说一下你日常工作中是怎么优化SQL的 +- Mysql 主从集群同步延迟问题怎么解决 +- MySQL 数据库 cpu 飙升的话,要怎么处理呢? +- innoDB 如何解决幻读 +- Mysql的binlog 有几种格式?分别有什么区别 +- 索引有哪些缺点以及具体有哪些索引类型 +- b树和b+树的理解 +- 什么是聚集索引和非聚集索引 +- 请你简单说一下Mysql的事务隔离级别 +- Mysql为什么使用B+Tree作为索引结构 +- 数据库连接池有什么用?它有哪些关键参数? +- 请说一下Mysql索引的优点和缺点? +- Mysql事务的实现原理 +- 请你说一下数据库优化 +- 说一下你对行锁、临键锁、间隙锁的理解 +- 索引什么时候失效? +- Mysql 如何解决幻读问题 +- 请简要说明Mysql中MyISAM和InnoDB引擎的区别 +- 存储MD值应该用VARCHAR还是CHAR +- Mysql 索引在什么情况下会失效 +- MySql 存储引擎 InnoDB 与MyISAM 有什么区别 +- MVCC过程中会加锁吗? +- MySQL update 是锁行还是锁表? +- 为什么 SQL 语句不要过多的join? +- 什么情况下不建索引? +- 为什么MySQL索引结构采用B+树? +- 谈谈你对MySQL事务隔离级别的理解 +- 为什么SQL语句命中索引比不命中索引要快? +- B 树和B+树的区别什么? +- 执行SQL响应比较慢,你有哪些排查思路? \ No newline at end of file diff --git a/logseq-java/pages/Nginx服务器.md b/logseq-java/pages/Nginx服务器.md new file mode 100644 index 0000000..5991548 --- /dev/null +++ b/logseq-java/pages/Nginx服务器.md @@ -0,0 +1,29 @@ +- [[Tomcat]]是轻量级的服务器,处理的并发请求低,无法处理高并发请求 + - 使用Tomcat服务器[[集群]]可提高处理请求的能力 +- 负载均衡服务器 + - Apache服务器 + - Nginx服务器 + - 更加轻量,容易配置 + - 采用异步非阻塞式,性能较高 +- 负载均衡 + - 算法 + - 轮询 + - 轮流分配请求 + - 随机 + - 随机分配请求 + - 最少连接 + - 当前那一台服务器处理请求少,分配给谁 + - 权重 + - 分配的请求的占比 + - 地址粘贴 + - 相同的IP地址请求发送到同一台服务器 +- 反向代理 + - **代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器** + - 正向代理:内网中的设备需要访问外部网络需要利用正向代理上网 + - 好处:可以在服务器上做负载均衡,也可做动静分离 +- [[Docker]] 实现 + - 运行nginx镜像 + - 配置nginx的nginx.conf +- 动静分离 + - 静态资源请求量远大于动态资源 + - 修改nginx.conf配置文件 \ No newline at end of file diff --git a/logseq-java/pages/Node.js.md b/logseq-java/pages/Node.js.md new file mode 100644 index 0000000..fa80e26 --- /dev/null +++ b/logseq-java/pages/Node.js.md @@ -0,0 +1,4 @@ +title:: Node.js + +- 一个开源和跨平台的 [[JavaScript]]集成运行环境 +- [[npm]] \ No newline at end of file diff --git a/logseq-java/pages/OSI.md b/logseq-java/pages/OSI.md new file mode 100644 index 0000000..03581d7 --- /dev/null +++ b/logseq-java/pages/OSI.md @@ -0,0 +1,9 @@ +- Open System Interconnection Model +- [开放式系统互联模型](https://zh.wikipedia.org/wiki/OSI%E6%A8%A1%E5%9E%8B) +- [[应用层]] +- [[表示层]] +- [[会议层]] +- [[传输层]] +- [[网络层]] +- [[数据链路层]] +- [[实体层]] \ No newline at end of file diff --git a/logseq-java/pages/Object.md b/logseq-java/pages/Object.md new file mode 100644 index 0000000..d7ce65c --- /dev/null +++ b/logseq-java/pages/Object.md @@ -0,0 +1,13 @@ +- Object[[类]] + - 是所有Java类的超类,基类,父类,以及所有的类,都有Object的[[方法]] +- [[toString]] + - 打印[[对象]]内存地址 + - ((62564ae5-f389-453b-b790-5c15d527aacf)) +- [[equals]] + - 比较两个对象是否是同一个对象 + - ==在比较[[基本数据类型]]时是比较值 #关系运算符 + 比较 [[引用数据类型]]时是比较地址 + - ==与equals的区别 #Java面试 + - equals()通常比较对象的内容 +- [[finalize]] #Java面试 + - 该方法是[[JVM]]销毁对象的方法,程序员不需要调用 \ No newline at end of file diff --git a/logseq-java/pages/Object类常用API.md b/logseq-java/pages/Object类常用API.md new file mode 100644 index 0000000..bca37db --- /dev/null +++ b/logseq-java/pages/Object类常用API.md @@ -0,0 +1,4 @@ +- [[API]] +- [[Object]] +- [[IDEA]]生成 [[API]]文档 + - Tools --> Generate JavaDoc \ No newline at end of file diff --git a/logseq-java/pages/Order By是否走索引.md b/logseq-java/pages/Order By是否走索引.md new file mode 100644 index 0000000..7b6f170 --- /dev/null +++ b/logseq-java/pages/Order By是否走索引.md @@ -0,0 +1,34 @@ +- 没有过滤条件时不会走索引,需要有过滤条件 +- 通过索引排序内部流程是什么 + - select name,id from user where name like '%明' order by name; + - select name,id,age from user where name like '%明' + - sort_buffer可供排序的内存缓冲区大小 + - max_length_for_sort_data单行所有字段总和限制,超过启动双路排序 + - 通过索引检测过滤筛选条件需要用到的排序字段+其他字段 + logseq.order-list-type:: number + - 判断索引内容是否覆盖select字段 + logseq.order-list-type:: number + - 如果覆盖索引,select字段和排序都在索引上,在内存中进行排序,排序后输出结果 + logseq.order-list-type:: number + - 如果索引没有覆盖查询字段,接下来计算select的字段是否超过max_length_for_sort_data限制,超过使用双路排序 + logseq.order-list-type:: number +- 单双路排序 + - DOING 找相关资料学习 + :LOGBOOK: + CLOCK: [2023-10-10 Tue 16:25:32] + CLOCK: [2023-10-10 Tue 16:25:34] + :END: + - 单路排序 + - 一次性取出所有字段排序,内存不够用时会使用硬盘 + - 双路排序 + - 取出排序字段进行排序,排序完成后再次回表查询其他需要的字段 + - +- group by 和order by在索引使用上有什么区别 + - group by先排序再分组,遵循最左前缀原则 + - group by没有索引也可以用上索引,order by必须有过滤字段才能用上索引 +- 有字段为null,是否要创建索引 + - null值比较高的时候会显示range + - is null会走索引,is not null只有在大部分都是null值才会走索引 +- 有字段为null索引是否会失效 + - 不一定会失效 + - 最好还是给上默认值0或"" \ No newline at end of file diff --git a/logseq-java/pages/PowerDesigner.md b/logseq-java/pages/PowerDesigner.md new file mode 100644 index 0000000..2b37444 --- /dev/null +++ b/logseq-java/pages/PowerDesigner.md @@ -0,0 +1 @@ +- [[UML]] \ No newline at end of file diff --git a/logseq-java/pages/Properties.md b/logseq-java/pages/Properties.md new file mode 100644 index 0000000..ecfd616 --- /dev/null +++ b/logseq-java/pages/Properties.md @@ -0,0 +1,10 @@ +- 属性 + - [[Map]]体系结构的集合 + - 键和值都是字符串 +- 使用 + - [[setProperty]] + - [[getProperty]] + - forEach遍历 +- .properties配置文件 + - 读取文件 +- \ No newline at end of file diff --git a/logseq-java/pages/RabbitMQ.md b/logseq-java/pages/RabbitMQ.md new file mode 100644 index 0000000..b18710d --- /dev/null +++ b/logseq-java/pages/RabbitMQ.md @@ -0,0 +1,5 @@ +- MQ + - 消息队列,Message Queen + - Queen的最大特性FIFO +- 特点 + - 支持多种客户端语言 \ No newline at end of file diff --git a/logseq-java/pages/Random(long seed).md b/logseq-java/pages/Random(long seed).md new file mode 100644 index 0000000..5921ac7 --- /dev/null +++ b/logseq-java/pages/Random(long seed).md @@ -0,0 +1 @@ +- 通过此功能可基于seed生成随机值 \ No newline at end of file diff --git a/logseq-java/pages/Redis.md b/logseq-java/pages/Redis.md new file mode 100644 index 0000000..93f170c --- /dev/null +++ b/logseq-java/pages/Redis.md @@ -0,0 +1,192 @@ +- 一个key-value存储系统,是跨平台的[[非关系型数据库]] +- NOSQL + - Not Only SQL + - 一个系统不应该仅仅关注数据间关系,还应关注数据的存储 + - 所有非关系数据库都是 [[关系型数据库]]的补充 +- 特性 + collapsed:: true + - 性能高(读的速度是 110000 次/s,写的速度是 81000 次/s),且提供持久化操作 + - 结构简单,数据类型丰富,值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。 + - 采用单线程,保证所有命令操作的原子性 + - 支持数据热备(Master slave模式),支持哨兵模式,主动切换主从模式 + - ![image.png](../assets/image_1657074990771_0.png) + - ![image.png](../assets/image_1657075023820_0.png) + - ![image.png](../assets/image_1657075044901_0.png) + - 在**主从复制的基础**上,哨兵实现了**自动化故障恢复**。如上图所示,哨兵模式由两部分组成,哨兵节点和数据节点: + - 哨兵节点:哨兵节点是特殊的 Redis 节点,不存储数据; + - 数据节点:主节点和从节点都是数据节点。 + - Redis Sentinel 是分布式系统中监控 Redis 主从服务器,并提供主服务器下线时自动故障转移功能的模式。其中三个特性为: + - 监控(Monitoring):Sentinel 会不断地检查你的主服务器和从服务器是否运作正常; + - 提醒(Notification):当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知; + - 自动故障迁移(Automatic failover):当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作。 + - 支持集群 + - ![image.png](../assets/image_1657075213351_0.png) +- 使用场景 + collapsed:: true + - 应用程序的状态服务器 + - 记录某人的登录状态 + - 高热点数据的缓存服务器 + - 购物网站的分类列表 + - 微博热搜 + - 系统分析后的存储服务器 + - 数据报表 + - 排行榜 + - 好友关系 + - 利用集合求并集,交集 --> 共同好友 + - 电商系统秒杀,抢优惠券前数据预热 + - 社交系统点赞 + - 模拟队列模式FIFO(List特性) + - MQ服务器 +- 不适用 + - 数据量过大 + - 内存限制 + - 访问频率低 +- 架构 +- 存储数据类型 + - String + - 存储简单数据,最大512M + - Hash + - 一组K-V结构数据 + - 存储对象,最大 + - List + - 双向链表 + - Set + - 无序,不能存储重复元素 + - 求交并差 + - ZSet + - 有序集合,使用分数排序 + - 排行榜单 +- [[Spring]]集成Redis + collapsed:: true + - [[Spring Data Redis]] + - 1. 导入依赖 + - ```xml + + org.springframework.boot + spring-boot-starter-data-redis + + ``` + - 2. 修改xml配置 + - ```yml + spring: + redis: + host: 127.0.0.1 + jedis: + pool: + max-active: 10 #最大连接数10 默认8 + max-wait: 2000ms # 2S未连接抛出异常 -1永不超时 + min-idle: 0 #最小连接空闲数 + max-idle: 5 #最大连接空闲数量 + ``` + - 3. 设置配置类 + - ```java + package com.woniuxy.community.configure; + + import com.fasterxml.jackson.annotation.JsonAutoDetect; + import com.fasterxml.jackson.annotation.PropertyAccessor; + import com.fasterxml.jackson.databind.ObjectMapper; + import org.springframework.beans.factory.annotation.Autowired; + import org.springframework.context.annotation.Bean; + import org.springframework.context.annotation.Configuration; + import org.springframework.context.annotation.Scope; + import org.springframework.data.redis.connection.RedisConnectionFactory; + import org.springframework.data.redis.core.*; + import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; + import org.springframework.data.redis.serializer.StringRedisSerializer; + + /** + * redis配置类 + */ + @Configuration + public class RedisConfig { + + @Autowired + RedisConnectionFactory redisConnectionFactory; + + /** + * 向Spring容器,装配一个组件 + * 组件的ID是:redisTemplate + * @Scope 设定组件在容器内部的作用域 + * singleton 单实例(默认) + * prototype 原型(克隆) + * request 跟HttpRequest有关 + * session 跟HttpSession有关 + * application 跟ServletContext有关 + * @return + */ + @Bean + @Scope("singleton") + public RedisTemplate redisTemplate(){ + RedisTemplate redisTemplate = new RedisTemplate<>(); + // 配置连接工厂 + redisTemplate.setConnectionFactory(redisConnectionFactory); + // 针对key序列化 + StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); + redisTemplate.setKeySerializer(stringRedisSerializer); + redisTemplate.setHashKeySerializer(stringRedisSerializer); + // 针对value序列化 + Jackson2JsonRedisSerializer jsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); + ObjectMapper objectMapper = new ObjectMapper(); + // 设定控制访问修饰符,Jackson工具可以操作Value对象的所有属性 + objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); + jsonRedisSerializer.setObjectMapper(objectMapper); + redisTemplate.setValueSerializer(jsonRedisSerializer); + redisTemplate.setHashValueSerializer(jsonRedisSerializer); + // RedisTemplate在属性设置之后使用 + redisTemplate.afterPropertiesSet(); + return redisTemplate; + } + + @Bean + public ValueOperations valueOperations(){ + return redisTemplate().opsForValue(); + } + + @Bean + public ListOperations ListOperations(){ + return redisTemplate().opsForList(); + } + + @Bean + public SetOperations SetOperations(){ + return redisTemplate().opsForSet(); + } + + @Bean + public ZSetOperations ZSetOperations(){ + return redisTemplate().opsForZSet(); + } + + @Bean + public HashOperations HashOperations(){ + return redisTemplate().opsForHash(); + } + } + ``` +- [[事务]]处理 + - 在配置类上开启支持 + - ```java + // 配置事务支持 + redisTemplate.setEnableTransactionSupport(true); + ``` + - 添加注解 + - ```java + @Transactional + ``` +- Redis和数据库数据同步 + - 双删除 +- Redis持久化操作 + - RDB持久化 + - 默认开启 + - dump.rdb文件 + - AOF 选择级别更高一些 + - 日志追加,不记录数据,只记录操作 + - everysec + - always + - no + - appendonly.aof + - 记录用户对Redis所有命令 + - 需要手动开启 + - Docker开启时权限不足需要修改权限 + - 文件重写 + - 达到64M或上一次的两倍 \ No newline at end of file diff --git a/logseq-java/pages/Redis主从切换导致分布式锁丢失.md b/logseq-java/pages/Redis主从切换导致分布式锁丢失.md new file mode 100644 index 0000000..33d042e --- /dev/null +++ b/logseq-java/pages/Redis主从切换导致分布式锁丢失.md @@ -0,0 +1,6 @@ +- 看门狗会检测master节点,切换之后看门狗没有监控slave +- RedLock + - 需要超过半数的redis加锁成功才算加锁成功 + - 需要每一条命令都AOF,丢锁概率才低 + - 无法解决锁丢失问题,要靠延迟重启解决 +- \ No newline at end of file diff --git a/logseq-java/pages/Redis主从复制.md b/logseq-java/pages/Redis主从复制.md new file mode 100644 index 0000000..e64ca15 --- /dev/null +++ b/logseq-java/pages/Redis主从复制.md @@ -0,0 +1,11 @@ +- Redis服务器可能存在问题,需要使用备用夫区其 +- 作用 + - 实时热备 + - 故障恢复 + - 负载均衡 + - 读写分离 + - 提升高可用 +- 结构 + - 一主一重 + - 一主多从 + - 多主多从 \ No newline at end of file diff --git a/logseq-java/pages/Redis事务实现.md b/logseq-java/pages/Redis事务实现.md new file mode 100644 index 0000000..9cc9972 --- /dev/null +++ b/logseq-java/pages/Redis事务实现.md @@ -0,0 +1,7 @@ +- 事务开始 + - MULTI命令执行,一个事务的开始 +- 命令入队 + - 除MULTI、EXEC、WATCH、DISCARD命令外都会加入队列中,返回QUEUED回复 + - 如果命令格式有问题,事务标志会关闭,返回错误信息 +- 事务执行 + - 发送EXEC,执行命令 \ No newline at end of file diff --git a/logseq-java/pages/Redis分布式锁底层如何实现.md b/logseq-java/pages/Redis分布式锁底层如何实现.md new file mode 100644 index 0000000..ce4eef0 --- /dev/null +++ b/logseq-java/pages/Redis分布式锁底层如何实现.md @@ -0,0 +1,4 @@ +- 利用setnx保证,key不存在才可以获得锁 +- 利用lua脚本保证多个操作的原子性 +- 利用看门狗监听锁过期时间 +- 利用redlock保证节点挂了锁也不会被获取到 \ No newline at end of file diff --git a/logseq-java/pages/Redis单线程为什么还能这么快.md b/logseq-java/pages/Redis单线程为什么还能这么快.md new file mode 100644 index 0000000..62e0361 --- /dev/null +++ b/logseq-java/pages/Redis单线程为什么还能这么快.md @@ -0,0 +1,4 @@ +- 命令基于内存操作,一条几十纳秒 +- 命令单线程,没有线程切换开销 +- 基于IO多路复用提升IO利用率 +- 高效的数据存储结构,全局hash表(key在全局有哈希值),多种高效数据结构,[[跳表]],压缩列表,链表 \ No newline at end of file diff --git a/logseq-java/pages/Redis和Mysql保证数据一致性.md b/logseq-java/pages/Redis和Mysql保证数据一致性.md new file mode 100644 index 0000000..d1972ce --- /dev/null +++ b/logseq-java/pages/Redis和Mysql保证数据一致性.md @@ -0,0 +1,15 @@ +- 先更新MySQL,再更新Redis +- 先删除缓存,更新MySQL,在次查询时添加到缓存 +- 操作缓存设置一个特殊的业务值,特殊业务值就等待 +- 延时双删 + - 先删除缓存,再更新MySQL,延迟几百毫秒后再删除Redis缓存 +- 先写数据库,再删缓存 + - 给缓存设置应给过期时间,问题:过期时间内缓存数据不会更新 + - 通过MQ +- 访问操作串行化 + - 先删缓存,将更新数据库的操作放入有序队列中 + - 从缓存查不到的数据,都会放入有序队列 + - 问题 + - 请求积压,大量超时,导致数据库压力:限流熔断 + - 如何避免大量请求积压:将队列水平拆分,提高并行度 + - 保证相同请求路由相同 \ No newline at end of file diff --git a/logseq-java/pages/Redis哨兵模式.md b/logseq-java/pages/Redis哨兵模式.md new file mode 100644 index 0000000..2bf285d --- /dev/null +++ b/logseq-java/pages/Redis哨兵模式.md @@ -0,0 +1 @@ +- 主机宕机后需要从机中选出一个主机替换 \ No newline at end of file diff --git a/logseq-java/pages/Redis数据结构.md b/logseq-java/pages/Redis数据结构.md new file mode 100644 index 0000000..a5efa99 --- /dev/null +++ b/logseq-java/pages/Redis数据结构.md @@ -0,0 +1,9 @@ +- 字符串,缓存简单字符串和json数据,分布式锁,计数器,session共享,分布式ID +- 哈希表,存储key-value,存储对象 +- 列表,当作栈和队列使用,存储消息流 +- 集合,不重复,交并差,关注的人,朋友圈点赞 +- 有序集合,排行榜 +- bitmap:位图 +- GeoHash:坐标 +- HyperLogLog:统计不重复数据 +- streams:内存版的kafka \ No newline at end of file diff --git a/logseq-java/pages/Redis是单线程还是多线程.md b/logseq-java/pages/Redis是单线程还是多线程.md new file mode 100644 index 0000000..7b3e8fb --- /dev/null +++ b/logseq-java/pages/Redis是单线程还是多线程.md @@ -0,0 +1,3 @@ +- 6.0版本之前都是单线程 + - 网络IO,网络请求采用了多线程 + - 键值对读写,一直都是单线程,因此一直都是线程安全的 \ No newline at end of file diff --git a/logseq-java/pages/Redis线上数据如何备份.md b/logseq-java/pages/Redis线上数据如何备份.md new file mode 100644 index 0000000..5acb182 --- /dev/null +++ b/logseq-java/pages/Redis线上数据如何备份.md @@ -0,0 +1,3 @@ +- 写corntab定时调度脚本,每小时copy一份rdb和aof文件到另外一台机器 +- 每天保存一份到一个目录中 +- 每次copy删除太旧的备份 \ No newline at end of file diff --git a/logseq-java/pages/Redis集群为什么至少需要三个主节点.md b/logseq-java/pages/Redis集群为什么至少需要三个主节点.md new file mode 100644 index 0000000..df6f7aa --- /dev/null +++ b/logseq-java/pages/Redis集群为什么至少需要三个主节点.md @@ -0,0 +1,3 @@ +- 选举从节点需要过半选举才会成功,只有两个不满足条件 +- 为什么推荐奇数个节点 + - 节约资源,四个有一个挂机也无法选举 \ No newline at end of file diff --git a/logseq-java/pages/Redis集群支持批量操作命令吗.md b/logseq-java/pages/Redis集群支持批量操作命令吗.md new file mode 100644 index 0000000..f7327b8 --- /dev/null +++ b/logseq-java/pages/Redis集群支持批量操作命令吗.md @@ -0,0 +1,2 @@ +- 批量操作只支持所有key落在同一slot的情况 +- 在key前面加上{XXX},加上一个相同的值,从而只会按照{}里面的值计算哈希值 \ No newline at end of file diff --git a/logseq-java/pages/Redis面试题.md b/logseq-java/pages/Redis面试题.md new file mode 100644 index 0000000..c3234e3 --- /dev/null +++ b/logseq-java/pages/Redis面试题.md @@ -0,0 +1,26 @@ +- 说一下你对Redis的理解 +- 字节一面,Redis为什么这么快? +- Redis和Mysql 如何保证数据一致性 +- Redis 存在线程安全问题吗?为什么? +- RDB 和AOF的实现原理以及优缺点 +- Redis和Mysql 如何保证数据一致性 +- Redis的内存淘汰算法和原理是什么? +- 请说一下你对分布式锁的理解,以及分布式锁的实现 +- 说说缓存雪崩和缓存穿透的理解,以及如何避免? +- 说缓存雪崩和缓存穿透的理解,以及如何避免? +- Redis存在线程安全问题吗?为什么? +- 请说一下你对分布式锁的理解,以及分布式锁的实现 +- RDB和AOF的实现原理、优缺点 +- 请描述一下Redis中AOF 重写的过程 +- Redis有哪些持久化策略,说一下他们的工作原理? +- Redis多线程模型怎么理解,那它会有线程安全问题吗? +- 怎么防止缓存击穿的问题? +- 请描述Redis 的缓存淘汰策略 +- Redis 哨兵机制和集群有什么区别? +- Redis 主从复制的原理 +- Redis 有哪些过期策略 +- Redis 遇到Hash冲突怎么办? +- 什么是热 Key 问题,如何解决热 key 问题 +- Redis中的哨兵选举算法是如何实现的? +- 为什么 Redis 集群的最大槽数是? +- 谈谈你对Redis的理解 \ No newline at end of file diff --git a/logseq-java/pages/RestTemplate.md b/logseq-java/pages/RestTemplate.md new file mode 100644 index 0000000..4f05edd --- /dev/null +++ b/logseq-java/pages/RestTemplate.md @@ -0,0 +1,4 @@ +- 一个基于Rest架构的模板类 +- [[京东万象]]接口的手机归属地查询 +- API接口 + - APPKEY \ No newline at end of file diff --git a/logseq-java/pages/Ribbon.md b/logseq-java/pages/Ribbon.md new file mode 100644 index 0000000..5db4cce --- /dev/null +++ b/logseq-java/pages/Ribbon.md @@ -0,0 +1,2 @@ +- [[Spring Cloud]]的负载均衡组件 +- `@LoadBalance` \ No newline at end of file diff --git a/logseq-java/pages/Ribbon负载均衡策略.md b/logseq-java/pages/Ribbon负载均衡策略.md new file mode 100644 index 0000000..1336db4 --- /dev/null +++ b/logseq-java/pages/Ribbon负载均衡策略.md @@ -0,0 +1,7 @@ +- 实现了IRule接口的实现类 +- Random随机 +- Round轮询 +- Retry,轮询+重试 +- Weight,权重 +- BestAvailable,去除失效的,找连接数最小的 +- ZoneDefault,区域最近 \ No newline at end of file diff --git a/logseq-java/pages/Runtime.md b/logseq-java/pages/Runtime.md new file mode 100644 index 0000000..576e2e0 --- /dev/null +++ b/logseq-java/pages/Runtime.md @@ -0,0 +1,5 @@ +- 代表JVM +- 查看当前JVM内存信息 +- ```java + Runtime runtime = Runtime.getRuntime(); + ``` \ No newline at end of file diff --git a/logseq-java/pages/SQL.md b/logseq-java/pages/SQL.md new file mode 100644 index 0000000..2b8e7a6 --- /dev/null +++ b/logseq-java/pages/SQL.md @@ -0,0 +1,7 @@ +- deal with data everyday +- SQL contains three parts + - [[DDL]] + - [[DML]] + - [[DCL]] +- [[TCL]] +- [[DQL]] \ No newline at end of file diff --git a/logseq-java/pages/SQL调优.md b/logseq-java/pages/SQL调优.md new file mode 100644 index 0000000..28c8b11 --- /dev/null +++ b/logseq-java/pages/SQL调优.md @@ -0,0 +1,55 @@ +- 调优 + - sql调优 + - 表(结构)设计调优 + - 索引调优 + - 慢查询调优 + - 操作系统调优 + - 数据库参数调优 +- 使用过哪些调优工具 + - 官方 + - EXPLAIN + id:: 65252de4-1039-4af2-bcc6-c0f5d67074eb + - mysqldumpslow + - show profiles + - ooptimizer_trace + - 第三方 + - 性能诊断工具 + - 参数扫描提供建议 + - 参数辅助优化 +- 如何监控慢sql,分析慢sql + - 开启慢查询日志,收集sql + - set global slow_query_log = 1 + - 查看slow.log + - 日志分析工具mysqldumpslow +- 如何查看当前sql使用了哪个索引 + - 使用explain,选择索引过程可以使用optimizer_trace + - DOING 补充资料 + :LOGBOOK: + CLOCK: [2023-10-10 Tue 20:14:04] + CLOCK: [2023-10-10 Tue 20:14:07] + :END: +- 索引如何进行分析和调优 +- explain关键字中的重要指标有哪些 + id:: 65253f94-6e42-488a-9f9f-510ee1d340d7 + - table + - id + - select_type + - partitions + - type + - all全表扫描 + - index,索引 + - range,范围查询 + - ref,通过普通二级索引列与常量进行等值匹配 + - const + - system + - index_subquery + - unique_subquery + - index_merge + - ref_or_null + - possible_keys,可能使用的索引 + - keys,使用的索引 + - key_len,索引使用的字节数 + - ref + - rows,查询时必须检查的行数 + - filtered + - extra \ No newline at end of file diff --git a/logseq-java/pages/Servlet的生命周期.md b/logseq-java/pages/Servlet的生命周期.md new file mode 100644 index 0000000..94a424b --- /dev/null +++ b/logseq-java/pages/Servlet的生命周期.md @@ -0,0 +1,15 @@ +- 实例化 + - Servlet容器创建Servlet实例 +- 初始化 + - 当用户第一次向 Servlet 容器发出 HTTP 请求要求访问某个 Servlet 时,Servlet 容器会在整个容器中搜索该 Servlet 对象,发现这个 Servlet 对象没有被实例化,于是创建这个 Servlet 对象,然后调用该对象的==init()==方法完成初始化。 + - 当用户第二次访问这个 Servlet 时,Servlet 容器仍然在容器中搜索该 Servlet 对象,结果找到了该对象的实例,则不去创建而直接使用该对象。 + - 找到了对应的 Servlet 对象,随后 Servlet 进入到运行阶段。 + - 需要注意的是,在 Servlet 的整个生命周期内,它的 init() 方法只被调用一次。 +- 服务 + - 这是 Servlet 生命周期中最核心的阶段。在该阶段中,Servlet 容器会为当前的请求创建一个 ServletRequest 对象和一个 ServletResponse 对象(它们分别代表 HTTP 请求和 HTTP 响应),并将这两个对象作为参数传递给 Servlet 的==service()==方法。 + - service() 方法从 ServletRequest 对象中获得用户的详细请求信息并处理该请求,通过 ServletResponse 对象生成响应结果。 + - 需要强调的是,在 Servlet 的整个生命周期内,用户每次请求访问 Servlet 时,Servlet 容器都会调用一次 Servlet 的 service() 方法,并且创建新的 ServletRequest 和 ServletResponse 对象。 +- 销毁 + - 当服务器停止时,Servlet 容器需要回收 Servlet 对象所占用的内存,在回收之前,会自动调用该对象的 ==destroy()== 方法做好回收内存前的准备,辟如关闭后台线程。 + - 和 init() 方法类似,destroy() 方法也只会被调用一次。 + - 注意:Servlet 对象一旦创建就会驻留在内存中一直等待客户端的访问,直到服务器关闭或项目被移除出容器时,Servlet 对象才会被销毁。 \ No newline at end of file diff --git a/logseq-java/pages/Socket.md b/logseq-java/pages/Socket.md new file mode 100644 index 0000000..1a867e5 --- /dev/null +++ b/logseq-java/pages/Socket.md @@ -0,0 +1,7 @@ +- Network socket +- [网络套接字](https://zh.wikipedia.org/wiki/%E7%B6%B2%E8%B7%AF%E6%8F%92%E5%BA%A7) +- 完成上三层和下三层间的数据通信 +- [What is a Socket?](https://docs.oracle.com/javase/tutorial/networking/sockets/definition.html) +- 基于 [[TCP/IP]]协议的Socket编程 + - 给服务端传输信息 + - 给客户端传输信息 \ No newline at end of file diff --git a/logseq-java/pages/Spring Boot面试题.md b/logseq-java/pages/Spring Boot面试题.md new file mode 100644 index 0000000..2bb08e1 --- /dev/null +++ b/logseq-java/pages/Spring Boot面试题.md @@ -0,0 +1,7 @@ +- Spring Boot的约定优于配置,你的理解是什么? +- Spring Boot中自动装配机制的原理 +- Spring Boot的约定优于配置,你的理解是什么? +- Spring Boot中自动装配机制的原理 +- 如何理解 Spring Boot中的Starter? +- SpringBoot如何解决跨域问题? +- Spring Boot自动装配原理 \ No newline at end of file diff --git a/logseq-java/pages/Spring Cloud.md b/logseq-java/pages/Spring Cloud.md new file mode 100644 index 0000000..e10561f --- /dev/null +++ b/logseq-java/pages/Spring Cloud.md @@ -0,0 +1,2 @@ +- 一组微服务组件 +- [[Eureka]] \ No newline at end of file diff --git a/logseq-java/pages/Spring Cloud面试题.md b/logseq-java/pages/Spring Cloud面试题.md new file mode 100644 index 0000000..94b087a --- /dev/null +++ b/logseq-java/pages/Spring Cloud面试题.md @@ -0,0 +1,41 @@ +- 谈谈你对Seata的理解 +- Dubbo的服务请求失败怎么处理? +- Redis和Mysql 如何保证数据一致性能 +- 什么是Dubbo?它有哪些核心功能? +- 既然说到Dubbo的功能,请详细说说Dubbo负载均衡的几种策略 +- 最后在说说 Dubbo与Spring Cloud的区别吧! +- Dubbo的工作原理是什么样的? +- 钟带你快速弄懂RPC +- 分布式事务的原理 +- 关于“你对Spring Cloud的理解” +- 关于“谈谈你对ES的理解,看看普通人和高手是如何回答这个问题的?” +- 钟带你快速了解什么是Kubernetes +- 还原面试现场,带大家理解何为Docker +- 什么是负载均衡 +- RPC 和HTTP 协议有什么区别? +- Dubbo的服务请求失败怎么处理? +- 说一下你对SPI机制的理解以及Dubbo中有哪些SPI机制的实现 +- 谈谈你对Seata的理解 +- Dubbo的服务请求失败怎么处理? +- 什么是服务网格? +- Dubbo 是如何动态感知服务下线的? +- 简单说一下你对序列化和反序列化的理解 +- 说一说你对Spring Cloud的理解 +- 什么是SPI,它有什么用? +- Eureka server 数据同步原理能说下吗 +- 说说你对一致性Hash算法的理解 +- 请说一下你对分布式和微服务的理解 +- Nacos配置更新的工作流程 +- 谈谈常用的分布式ID设计方案 +- Http 协议和RPC协议有什么区别? +- 如何解决TCC中的悬挂问题 +- 请你说一下你对服务降级的理解 +- 服务注册中心应该是AP还是CP +- 说说你对CAP的理解 +- 请说一下分布式事务的理解和解决方案? +- 什么是微服务,说一下你对微服务的理解? +- Dubbo和SpringCloud的优缺点对比 +- 谈谈分布式事务的解决方案 +- 谈谈你对NoSQL的理解 +- 谈谈你对 Spring Cloud的理解 +- 放弃FastDFS,拥抱MinlO的理由 \ No newline at end of file diff --git a/logseq-java/pages/Spring Data JPA.md b/logseq-java/pages/Spring Data JPA.md new file mode 100644 index 0000000..720d8d9 --- /dev/null +++ b/logseq-java/pages/Spring Data JPA.md @@ -0,0 +1 @@ +- https://spring.io/projects/spring-data-jpa \ No newline at end of file diff --git a/logseq-java/pages/Spring Data.md b/logseq-java/pages/Spring Data.md new file mode 100644 index 0000000..2604b44 --- /dev/null +++ b/logseq-java/pages/Spring Data.md @@ -0,0 +1,2 @@ +- Spring JDBC +- [[Spring Data Redis]] \ No newline at end of file diff --git a/logseq-java/pages/Spring 面试题.md b/logseq-java/pages/Spring 面试题.md new file mode 100644 index 0000000..352f4dd --- /dev/null +++ b/logseq-java/pages/Spring 面试题.md @@ -0,0 +1,19 @@ +- 能回答一下Spring Bean生命周期的执行流程吗 +- 请简述你对Spring MVC的理解,看看普通人和高手是如何回答的? +- Spring 是如何解决循环依赖问题的? +- Spring中事务的传播行为有哪些? +- 说说Spring MVC的执行流程? +- 为什么要使用Spring 框架? +- Spring 中事务的传播行为有哪些? +- Spring 中Bean的作用域有哪些? +- Spring中有哪些方式可以把Bean注入到IOC容器? +- Spring 中 BeanFactory和FactoryBean的区别 +- 说说你对Spring MVC的理解 +- 介绍下Spring loC的工作流程 +- @Resource 和@Autowired 的区别 +- Spring 中,有两个id 相同的bean,会报错吗,如果会报错,在哪个阶段报错 +- Spring 里面的事务和分布式事务的使用如何区分,以及这两个事务之间有什么关联? +- 谈谈你对Spring IOC和DI的理解? +- Spring 如何解决循依赖问题 +- @Conditional 注解有什么用? +- 为什么有些公司禁止使用@Transactional 声明式事务? \ No newline at end of file diff --git a/logseq-java/pages/Spring.md b/logseq-java/pages/Spring.md new file mode 100644 index 0000000..4ef60c9 --- /dev/null +++ b/logseq-java/pages/Spring.md @@ -0,0 +1,2 @@ +- [[IOC]] +- \ No newline at end of file diff --git a/logseq-java/pages/SpringBoot.md b/logseq-java/pages/SpringBoot.md new file mode 100644 index 0000000..40588df --- /dev/null +++ b/logseq-java/pages/SpringBoot.md @@ -0,0 +1 @@ +- 约定大于配置 \ No newline at end of file diff --git a/logseq-java/pages/SpringBoot零配置底层原理实现.md b/logseq-java/pages/SpringBoot零配置底层原理实现.md new file mode 100644 index 0000000..11f30ab --- /dev/null +++ b/logseq-java/pages/SpringBoot零配置底层原理实现.md @@ -0,0 +1,5 @@ +- spring-boot-autoconfigure.jar模块 +- 在pom去除Tomcat的依赖,加入Jett或UnderTow +- WebServerFactory的父类上有定义好端口8080 +- 配置了8081后,启动Tomcat之前,BeanPostProcessor会将FactoryBean内部的端口修改 +- 有个@ConfigurationPropertires注解会去查找server前缀的注解,读取通过customsize修改自定义的设置,这个步骤是在Bean的初始化之前进行的操作 \ No newline at end of file diff --git a/logseq-java/pages/SpringMVC.md b/logseq-java/pages/SpringMVC.md new file mode 100644 index 0000000..3a0102c --- /dev/null +++ b/logseq-java/pages/SpringMVC.md @@ -0,0 +1 @@ +- MVC架构 \ No newline at end of file diff --git a/logseq-java/pages/SpringMVC处理请求底层原理流程.md b/logseq-java/pages/SpringMVC处理请求底层原理流程.md new file mode 100644 index 0000000..0893aa4 --- /dev/null +++ b/logseq-java/pages/SpringMVC处理请求底层原理流程.md @@ -0,0 +1,12 @@ +- 请求发送到Tomcat内部,tomcat内部部署的应用程序会处理请求 +- Tomcat只关注Servlet类,通过配置会扫描Servelet,会创建DispatchServlet来进行处理 +- DispatchServlet根据请求路径来找到Spring容器内Controller Bean内的方法,DispatchServlet内部有一个WebApplicationContext的容器 +- +- Tomcat启动 +- 解析webapp下META-INFO的web.xml文件 ,listener,创建父容器 +- DispatchServlet实例化 +- DispatchServlet对象.init(),重写了init方法就拥有了自定义的初始化逻辑,init重写在HttpServletBean里面 + - initServletBean方法会初始化Servlet从而创建Spring容器 + - initWebApplicationContext() -> createWebapplicationContext() + - 最终完成Spring容器的创建,建立factoryBean等 +- \ No newline at end of file diff --git a/logseq-java/pages/SpringMVC框架的工作流程.md b/logseq-java/pages/SpringMVC框架的工作流程.md new file mode 100644 index 0000000..6a040e2 --- /dev/null +++ b/logseq-java/pages/SpringMVC框架的工作流程.md @@ -0,0 +1,23 @@ +- DispatcherServlet + - DispatcherServlet 是前端控制器,从图 1 可以看出,Spring MVC 的所有请求都要经过 DispatcherServlet 来统一分发。DispatcherServlet 相当于一个转发器或中央处理器,控制整个流程的执行,对各个组件进行统一调度,以降低组件之间的耦合性,有利于组件之间的拓展。 +- HandlerMapping + - HandlerMapping 是处理器映射器,其作用是根据请求的 URL 路径,通过注解或者 XML 配置,寻找匹配的处理器(Handler)信息。 +- HandlerAdapter + - HandlerAdapter 是处理器适配器,其作用是根据映射器找到的处理器(Handler)信息,按照特定规则执行相关的处理器(Handler)。 +- Handler + - Handler 是处理器,和 Java Servlet 扮演的角色一致。其作用是执行相关的请求处理逻辑,并返回相应的数据和视图信息,将其封装至 ModelAndView 对象中。 +- View Resolver + - View Resolver 是视图解析器,其作用是进行解析操作,通过 ModelAndView 对象中的 View 信息将逻辑视图名解析成真正的视图 View(如通过一个 JSP 路径返回一个真正的 JSP 页面)。 +- View + - View 是视图,其本身是一个接口,实现类支持不同的 View 类型(JSP、FreeMarker、Excel 等)。 +- ![image.png](../assets/image_1658409970747_0.png){:height 330, :width 776} +- 1. 用户点击某个请求路径,发起一个 HTTP request 请求,该请求会被提交到 DispatcherServlet(前端控制器); +- 2. 由 DispatcherServlet 请求一个或多个 HandlerMapping(处理器映射器),并返回一个执行链(HandlerExecutionChain)。 +- 3. DispatcherServlet 将执行链返回的 Handler 信息发送给 HandlerAdapter(处理器适配器); +- 4. HandlerAdapter 根据 Handler 信息找到并执行相应的 Handler(常称为 Controller); +- 5. Handler 执行完毕后会返回给 HandlerAdapter 一个 ModelAndView 对象(Spring MVC的底层对象,包括 Model 数据模型和 View 视图信息); +- 6. HandlerAdapter 接收到 ModelAndView 对象后,将其返回给 DispatcherServlet ; +- 7. DispatcherServlet 接收到 ModelAndView 对象后,会请求 ViewResolver(视图解析器)对视图进行解析; +- 8. ViewResolver 根据 View 信息匹配到相应的视图结果,并返回给 DispatcherServlet; +- 9. DispatcherServlet 接收到具体的 View 视图后,进行视图渲染,将 Model 中的模型数据填充到 View 视图中的 request 域,生成最终的 View(视图); +- 10. 视图负责将结果显示到浏览器(客户端)。 \ No newline at end of file diff --git a/logseq-java/pages/SpringMVC父子容器原理分析.md b/logseq-java/pages/SpringMVC父子容器原理分析.md new file mode 100644 index 0000000..aa37aac --- /dev/null +++ b/logseq-java/pages/SpringMVC父子容器原理分析.md @@ -0,0 +1,2 @@ +- 配置了两份spring.xml配置文件并在web.xml添加后,会产生两个DispatchServlet,从而有两个Spring容器 +- 如果两个的Service Bean都是一样的,就可以创建一个新的Spring容器,将Service Bean放入,这个容器就是父容器,另外两个就是子容器 \ No newline at end of file diff --git a/logseq-java/pages/SpringMVC父子容器源码分析.md b/logseq-java/pages/SpringMVC父子容器源码分析.md new file mode 100644 index 0000000..523ac1c --- /dev/null +++ b/logseq-java/pages/SpringMVC父子容器源码分析.md @@ -0,0 +1 @@ +- rootContext会创建出来一个父容器,然后将父容器传入后建立子容器,绑定父子容器 \ No newline at end of file diff --git a/logseq-java/pages/Springboot如何选择TomCAT还是Jett底层.md b/logseq-java/pages/Springboot如何选择TomCAT还是Jett底层.md new file mode 100644 index 0000000..fb195f1 --- /dev/null +++ b/logseq-java/pages/Springboot如何选择TomCAT还是Jett底层.md @@ -0,0 +1,4 @@ +- 切换Web容器,修改pom文件,去掉tomcat添加其他容器替换为Jetty和Undertow +- 创建Spring容器的时候,会查看容器中存在什么Bean,就加载什么Web容器,进而启动Web容器 +- 先执行getWebServerFactory,用一个String数组获取所有这个Bean的名字,判断0个或多个名字就报错 +- 有@ConditionOnClass注解来限制ServerBean的加载 \ No newline at end of file diff --git a/logseq-java/pages/Springmvc 过滤器 拦截器的使用场景和区别是什么.md b/logseq-java/pages/Springmvc 过滤器 拦截器的使用场景和区别是什么.md new file mode 100644 index 0000000..5d91d5e --- /dev/null +++ b/logseq-java/pages/Springmvc 过滤器 拦截器的使用场景和区别是什么.md @@ -0,0 +1,2 @@ +- 过滤器:Filter由Servlet容器管理,可以对任何资源的请求进行拦截 +- 拦截器:Interceptor拦截器由Spring容器创建,在拦截器中可以获取Spring IOC容器中的Bean。拦截范围不是后续整个处理流程,而是仅针对Controller拦截。 \ No newline at end of file diff --git a/logseq-java/pages/Spring中的Bean是线程安全的吗.md b/logseq-java/pages/Spring中的Bean是线程安全的吗.md new file mode 100644 index 0000000..6953383 --- /dev/null +++ b/logseq-java/pages/Spring中的Bean是线程安全的吗.md @@ -0,0 +1,7 @@ +- 通过@Scope注解可修改Bean的作用域 +- prototype作用域,每次都是生成一个新的对象,不存在线程安全问题 +- singleton作用域,默认线程不安全,日常开发大部分Bean是无状态的Bean,不需要保证线程安全 + - controller,service,dao线程安全 + - pojo线程不安全 + - 需要保证线程安全可以将作用域声明为ptototype,也可以采用ThreadLocal + - 如果需要在多个线程间共享,那么就只能使用synchronized、lock、CAS \ No newline at end of file diff --git a/logseq-java/pages/Spring中的事务是如何实现的.md b/logseq-java/pages/Spring中的事务是如何实现的.md new file mode 100644 index 0000000..8bbd4f0 --- /dev/null +++ b/logseq-java/pages/Spring中的事务是如何实现的.md @@ -0,0 +1,7 @@ +- 对使用了@Transactional注解的Bean,Spring创建一个代理对象作为Bean +- 调用该代理对象的方法,判断是否加了事务注解 +- 如果有,就用事务管理器创建一个新的数据库连接 +- 修改数据库连接的autocommit属性为false,禁止自动提交 +- 执行方法中的sql +- 执行完成没有异常提交,有异常回滚 +- 如果传播机制需要新开一个事务,就是新建立一个数据库连接执行sql \ No newline at end of file diff --git a/logseq-java/pages/Spring为什么要用三级缓存来解决循环依赖.md b/logseq-java/pages/Spring为什么要用三级缓存来解决循环依赖.md new file mode 100644 index 0000000..f43a2d7 --- /dev/null +++ b/logseq-java/pages/Spring为什么要用三级缓存来解决循环依赖.md @@ -0,0 +1,30 @@ +- 一个Bean的前两个字母都是大写的时候,获取Bean时前两个都是大写,其他的第一个字母是小写 +- 一级缓存,单例池,singletonObjects +- 二级缓存,earlySingletonObjects +- 三级缓存,singletonFactories +- +- Aservice创建 + - 创建AService,放入Map + - 填充bService属性,查找bService对象,创建bService对象 + - 填充其他属性 + - 其他操作 + - 初始化后 + - 放入单例池 +- Bservice创建 + - 创建BService + - 填充aService属性,查找aService对象,创建aService对象 + - 填充其他属性 + - 其他操作 + - 初始化后 + - 放入单例池 +- +- 如果不需要AOP两级缓存即可,但是单例池里面要放AOP后的代理对象 +- 一般情况下AOP是在后面执行的,但是特殊情况(循环依赖)下需要提前AOP +- 当再增加一个c的时候,需要二级缓存来存放代理的a对象,否则会再创建一个a的代理对象 +- +- doCreateBean() + - AOP的时候还是需要Bean的普通对象,创建a的时候会放入Map + - 获取AOP对象的时候会执行内部存放的lambda表达式,然后如果不要AOP就返回普通对象 +- 三级缓存存放一个lambda表达式,将Bean的信息存放到三级缓存里面,然后出现循环依赖后判断是否需要提前AOP +- +- 后续进行AOP回进行判断是否有cacheKey,有就不再进行AOP \ No newline at end of file diff --git a/logseq-java/pages/Spring事务什么时候会失效.md b/logseq-java/pages/Spring事务什么时候会失效.md new file mode 100644 index 0000000..486710a --- /dev/null +++ b/logseq-java/pages/Spring事务什么时候会失效.md @@ -0,0 +1,6 @@ +- Spring事务失效 + - 发生自己调用自己的方法,这个时候使用的不是代理对象而是自己的方法,需要使用@Autowire调用 + - 方法不是public,@Transactional只能用于public的方法上,使用非public要开启AspectJ代理模式 + - 数据库不支持事务 + - 没有被Spring管理 + - 异常被吃掉,异常没有被抛出或被处理掉 \ No newline at end of file diff --git a/logseq-java/pages/Spring如何处理事务.md b/logseq-java/pages/Spring如何处理事务.md new file mode 100644 index 0000000..48db98f --- /dev/null +++ b/logseq-java/pages/Spring如何处理事务.md @@ -0,0 +1,8 @@ +- 编程式事务TransactionTemplate +- 声明式事务@Transactional +- Spring事务隔离级别 #card + - ISOLATION_DEFAULT:数据库默认隔离级别 + - ISOLATION_READ_UNCOMMITTED:读未提交 + - ISOLATION_READ_COMMITTED:读已提交 + - ISOLATION_REPEATABLE_READ:可重复读 + - ISOLATION_SERIALIZABLE:序列化执行 \ No newline at end of file diff --git a/logseq-java/pages/Spring容器启动流程是怎样的.md b/logseq-java/pages/Spring容器启动流程是怎样的.md new file mode 100644 index 0000000..40a549e --- /dev/null +++ b/logseq-java/pages/Spring容器启动流程是怎样的.md @@ -0,0 +1,4 @@ +- 进行扫描,得到所有的[[BeanDefination]]对象,存在一个Map中 +- 筛选出非懒加载的单例BeanDefination创建Bean,多例的Bean会在获取Bean的时候再利用BeanDefination创建 +- 利用BeanDefination创建Bean,其中包括合并BeanDefination、推断构造方法,实例化,属性填充,初始化前,初始化,初始化后(AOP)等步骤, +- 创建完成单例Bean后Spring发布一个容器启动事件 \ No newline at end of file diff --git a/logseq-java/pages/Spring是如何创建一个bean对象的.md b/logseq-java/pages/Spring是如何创建一个bean对象的.md new file mode 100644 index 0000000..a8f059e --- /dev/null +++ b/logseq-java/pages/Spring是如何创建一个bean对象的.md @@ -0,0 +1,5 @@ +- 利用这个类的无参构造方法创建一个对象 +- UserService userService = applicationContext.getBean("") +- 属性值没有填充,通过@Autowired进行依赖注入 +- 判断一下是否有Autowired注解,并注入对应的属性值 +- UserService-->无参的构造方法-->对象-->依赖注入-->Bean对象 \ No newline at end of file diff --git a/logseq-java/pages/Spring框架中Bean的创建过程.md b/logseq-java/pages/Spring框架中Bean的创建过程.md new file mode 100644 index 0000000..e9da0a0 --- /dev/null +++ b/logseq-java/pages/Spring框架中Bean的创建过程.md @@ -0,0 +1,19 @@ +- 实例化,初始化一个Bean +- 属性赋值(依赖注入) + - 通过[[BeanDefination]]找到对象依赖的其他对象,并将这些对象赋予当前对象 +- 处理Aware接口,检测是否实现了xxAware接口,实现了就会调用对应的方法 + - BeanNameAware,BeanClassLoaderAware,BeanFactoryAware,ApplicationContextAware +- 初始化前(BeanPostProcessor前置处理) + - 实现postProcessBeforeInitialization和postProcessAfterInitialization方法,分别对应初始化前后 + id:: 65226e1b-2b23-4de9-bbf5-4453af8b8131 +- 初始化 InitlizaiontBean + - 实现这个接口就会执行afterPropertiesSet方法,定制初始化逻辑 +- init-method \ + - 如果配置了该属性,就会调用该配置的方法执行初始化逻辑 + - 该配置对应的是PostConstruct注解 +- BeanPostProcessor后置处理 + - 执行postProcessAfterInitialization方法 +- 初始化后(AOP),存入单例池,使用 +- DisposableBean,实现了这个接口,销毁前会调用其destroy()方法 +- 销毁destroy-method + - 对应@PreDestroy注解 \ No newline at end of file diff --git a/logseq-java/pages/Spring框架中使用了哪些设计模式及应用场景.md b/logseq-java/pages/Spring框架中使用了哪些设计模式及应用场景.md new file mode 100644 index 0000000..1bf7df2 --- /dev/null +++ b/logseq-java/pages/Spring框架中使用了哪些设计模式及应用场景.md @@ -0,0 +1,11 @@ +- 简单工厂模式 + - Spring中的BeanFactory就是一个简单工厂,传入一个唯一标识获取Bean对象 +- 工厂方法 + - FactoryBean接口的bean是一类叫做factory的bean,使用getBean调用获取该bean时调用该bean的getObject方法,返回的不是factory这个bean,而是bean.getObject的返回值 +- 单例模式 +- 适配器模式 + - 定义了一个适配接口,SpringMVC中HandleAdapter, +- 装饰器模式 +- 动态代理 +- 观察者模式 +- 策略模式 \ No newline at end of file diff --git a/logseq-java/pages/Spring源码.md b/logseq-java/pages/Spring源码.md new file mode 100644 index 0000000..1b79b6c --- /dev/null +++ b/logseq-java/pages/Spring源码.md @@ -0,0 +1,22 @@ +- {{video https://www.bilibili.com/video/BV1rb4y147F2?p=2}} +- > UserService类->推断构造方法->普通对象->依赖注入->初始化前->初始化->初始化后AOP->代理对象->放入单例池Map->Bean +- 通过@Autowired进行依赖注入 + 判断属性上是否有@Autowired注解 +- 初始化前要通过@PostConstruct注解来执行一个方法 + 判断方法上是否有@PostConstruct注解 +- 初始化通过实现InitializingBean接口的afterPropertiesSet方法 + 通过InstanceOf来判断是否实现了这个接口 +- 初始化后即AOP后置处理器 +- 有多个构造方法时,Spring会使用无参构造方法,当有两个有参构造方法且没有无参构造方法时会报错,可以在想要的构造方法上面添加@Autowired注解 +- 使用有参的构造方法时入参是有值的,有三种注入方法,setter注入,构造器注入,注解注入(@Autowire基于属性注入) +- 需要注入某个Bean时,先去单例池查询是否有这个Bean,没有就去创建 +- 自动注入byType然后byName进行匹配,当按照类型匹配有多个的时候会按照名字再进行匹配,如果只有一个Bean那么找到的唯一一个然后就不会再按照名字来进行匹配 +- 通过AOP实现代理对象,代理对象没有依赖注入的过程,有代理接口通过JDK代理,没有通过CGLIB代理生成子类,当要用到原始对象的属性的时候,会在内部添加一个target对应原始的对象 +- UserServiceProxy对象->UserService代理对象->UserService代理对象.target = 普通对象 +- 事务,利用AOP代理实现 + - 查看是否有@Transaciotional注解 + - 有就用事务管理器创建一个新的连接 + - conn.autocommit = false + - 执行对应的方法sql + - 异常就rollback,否则就提交 + - 事务的传播行为NEVER,有事务就抛异常,但是在内部调用的时候会失效,因为代理对象内部执行的方法然后内部的是普通对象在执行,不会检查@Transactional注解,如果要解决可以新开一个类 \ No newline at end of file diff --git a/logseq-java/pages/Spring的事务传播机制.md b/logseq-java/pages/Spring的事务传播机制.md new file mode 100644 index 0000000..ef0d3d0 --- /dev/null +++ b/logseq-java/pages/Spring的事务传播机制.md @@ -0,0 +1,11 @@ +- 多个事务调用的时候事务如何在这些方法传播 +- Spring的事务传播行为 #card + - REQUIRED,默认事务传播类型,没有就新建一个事务,存在就加入一个事务 + - SUPPORT,如果有事务就加入,没有就非事务的执行 + - MANDATORY,存在事务就加入,没有事务就抛出异常 + - REQUIRES_NEW,创建一个新的事物,如果存在当前事务,就挂起该事务 + - NOT_SUPPORT,非事务的方式执行,如果存在事务,就挂起该事务 + - NEVER,不使用事务,如果存在事务,就抛出异常 + - NESTED,如果存在事务,就嵌套事务运行,否则开启一个新事务 + - 嵌套的事务如果父事务回滚,子事务也会回滚 + - 可以catch子事务的异常,进而只回滚子事务 \ No newline at end of file diff --git a/logseq-java/pages/Spring调用外部接口.md b/logseq-java/pages/Spring调用外部接口.md new file mode 100644 index 0000000..0e69489 --- /dev/null +++ b/logseq-java/pages/Spring调用外部接口.md @@ -0,0 +1,6 @@ +- 验证码登录 +- 天气预报 +- 人脸识别 +- [[SpringBoot]] 配置 + - spring-boot-stater-web依赖 + - 在[[SpringMVC]]的配置类添加[[RestTemplate]]的Bean \ No newline at end of file diff --git a/logseq-java/pages/String.md b/logseq-java/pages/String.md new file mode 100644 index 0000000..0ecc75a --- /dev/null +++ b/logseq-java/pages/String.md @@ -0,0 +1,53 @@ +- 长度固定,内容固定 +- ```java + private final char value[] + ``` +- [[数组]]导致长度不能变,[[final]]导致内容不能变 +- 写法 + - 字面量写法 + - ```java + String name = "Kelly" //在全局字符串常量池 + ``` + - 使用对象[[new]] + - ```java + String tel = new String("123") + ``` +- 常见方法 + - [[indexOf]] + - [[charAt]] + - [[concat]] + - [[contains]] + - [[equals]] + - 判断两字符串内容是否相同 + - [[equalsIgnoreCase]] + - [[startWith]] + - [[endWith]] + - [[getBytes]] + - [[toCharArry]] + - [[isEmpty]] + - [[trim]] + - [[split]] + - [[substring]] + - [[replace]] + - [[lastIndexOf]] + - [[toUpperCase]] + - [[toLowerCase]] + - [[valueOf]] + - [[intern]] + - [[length]] +- 字符串合并创建 #Java面试 + - ```java + "Hello"和"Hel"+"lo"是同一个对象 + ``` + - ```java + "Hel""lo"",World" + a = "Hel" + "lo" + ",World" + Hello,world + 共创建了5个字符串对象 + "Hel" + "lo" 时会创建一个 + ``` + - ```java + String a = "Hello" + String b = new String("Hello") + 创建了两个对象 + ``` \ No newline at end of file diff --git a/logseq-java/pages/StringBuffer.md b/logseq-java/pages/StringBuffer.md new file mode 100644 index 0000000..a99242e --- /dev/null +++ b/logseq-java/pages/StringBuffer.md @@ -0,0 +1,3 @@ +- 用法与 [[StringBuilder]]一致 +- 不同之处 + - StringBuilder没有[[synchronized]] \ No newline at end of file diff --git a/logseq-java/pages/StringBuilder.md b/logseq-java/pages/StringBuilder.md new file mode 100644 index 0000000..f5eabd5 --- /dev/null +++ b/logseq-java/pages/StringBuilder.md @@ -0,0 +1,18 @@ +- 长度和内容可变的[[String]] [[字符串]] +- ```java + //创建一个16个字符串 + StringBulider s = new StringBuilder();//可传入字符串,长度 + a.append("Hello,World"); + a.append("nihao"); + ``` +- [[apppend]] +- [[insert]] +- [[capacity]] +- [[length]] +- [[setCharAt]] +- [[delete]] +- [[reverse]] +- [[substring]] +- [[indexOf]] +- [[lastIndexOf]] +- \ No newline at end of file diff --git a/logseq-java/pages/Swagger.md b/logseq-java/pages/Swagger.md new file mode 100644 index 0000000..297714f --- /dev/null +++ b/logseq-java/pages/Swagger.md @@ -0,0 +1,46 @@ +- [[前后端分离]]开发模式中前后端需要同步开发,开发过程中需要提供接口说明 +- 接口说明文档 + - 接口说明 + - 请求路径 + - 请求方法 + - 请求参数 + - 响应参数 + - 错误状态码 + - 请求模板 + - 响应模板 +- 使用 + - import springfox-swagger2 springfox-swagger-ui dependency + - configrue Class SwaggerConfigure +- @Api + - 接口类的上方,描述,接口 +- @ApiOperation + - 方法上方,描述方法的用途 +- @Apiparam + - 方法传递的参数前,描述传递的参数 +- @ApiModel + - JavaBean上方,描述JavaBean含义 +- @ApiModelProperty +- 拦截器放行Swagger + - SpringMVC配置类中写addInterceptors + - ```java + @Override + public void addInterceptors(InterceptorRegistry registry) { + // 创建拦截器类 + HandlerInterceptor interceptor = new TokenInterceptor(); + // 不必拦截的路径 + List excludePatterns = new ArrayList(); + excludePatterns.add("/sys/login"); + excludePatterns.add("/sys/register"); + excludePatterns.add("/static/**"); + // 放行Swagger + excludePatterns.add("/webjars/**"); + excludePatterns.add("/swagger-resources/**"); + excludePatterns.add("/v2/**"); + excludePatterns.add("/swagger-ui.html/**"); + // 注册拦截器类,添加黑名单 /* 只拦截一个层级 /** 拦截所有层级 + // 和白名单excludePathPatterns(pattens) + registry.addInterceptor(interceptor) + .addPathPatterns("/**") + .excludePathPatterns(excludePatterns); + } + ``` \ No newline at end of file diff --git a/logseq-java/pages/System.err.md b/logseq-java/pages/System.err.md new file mode 100644 index 0000000..f31a396 --- /dev/null +++ b/logseq-java/pages/System.err.md @@ -0,0 +1 @@ +- 输出红色字体,代表错误,警告 \ No newline at end of file diff --git a/logseq-java/pages/System.md b/logseq-java/pages/System.md new file mode 100644 index 0000000..2f3eb91 --- /dev/null +++ b/logseq-java/pages/System.md @@ -0,0 +1,9 @@ +- [[System.in]] +- [[System.out]] +- [[System.err]] +- [[exit]] +- [[GC]] +- [[currentTimeMillis]] +- [[nanaTime]] +- [[arrayCopy]] +- [[getProperties]] \ No newline at end of file diff --git a/logseq-java/pages/TCP.IP.md b/logseq-java/pages/TCP.IP.md new file mode 100644 index 0000000..0f1fc8b --- /dev/null +++ b/logseq-java/pages/TCP.IP.md @@ -0,0 +1,5 @@ +title:: TCP/IP + +- 计算机网络通信的底层协议 +- 特点: + - 依赖连接 \ No newline at end of file diff --git a/logseq-java/pages/TCP.md b/logseq-java/pages/TCP.md new file mode 100644 index 0000000..0e3977a --- /dev/null +++ b/logseq-java/pages/TCP.md @@ -0,0 +1,2 @@ +- Transmission Control Protocol +- [传输控制协议](https://zh.wikipedia.org/wiki/%E4%BC%A0%E8%BE%93%E6%8E%A7%E5%88%B6%E5%8D%8F%E8%AE%AE) \ No newline at end of file diff --git a/logseq-java/pages/ThreadLocalMap的结构及扩容机制.md b/logseq-java/pages/ThreadLocalMap的结构及扩容机制.md new file mode 100644 index 0000000..83d5c22 --- /dev/null +++ b/logseq-java/pages/ThreadLocalMap的结构及扩容机制.md @@ -0,0 +1,2 @@ +- 开发地址法,找下一个空的位置 +- 清理槽位,threshold到达3/4时会扩容 \ No newline at end of file diff --git a/logseq-java/pages/ThreadLocal使用场景.md b/logseq-java/pages/ThreadLocal使用场景.md new file mode 100644 index 0000000..7bb9804 --- /dev/null +++ b/logseq-java/pages/ThreadLocal使用场景.md @@ -0,0 +1,7 @@ +- 代替参数的显示传递 + - 不需要在Controller,Service,Dao层之间传递,直接从ThreadLoacal取数据 +- 全局存储用户信息 + - 用户信息存储Session,Token + - 拦截器获取用户信息后存储到ThreadLoacal中,再从中获取 +- 解决线程安全问题 + - Dao,Connetinon只有一个,有线程使用Connection时,可以从ThreadLoacal中获取Connection,没有就创建并存入 \ No newline at end of file diff --git a/logseq-java/pages/ThreadLocal内存泄漏.md b/logseq-java/pages/ThreadLocal内存泄漏.md new file mode 100644 index 0000000..fcf2e79 --- /dev/null +++ b/logseq-java/pages/ThreadLocal内存泄漏.md @@ -0,0 +1 @@ +- 没有外部强引用时,发生GC会被回收,ThreadLocalMap中保存的key值变为null,Thread一致不终结,value对象就会一直存在内存中,导致内存泄漏,直到Thread被销毁才会回收 \ No newline at end of file diff --git a/logseq-java/pages/ThreadLocal如何实现.md b/logseq-java/pages/ThreadLocal如何实现.md new file mode 100644 index 0000000..eea006c --- /dev/null +++ b/logseq-java/pages/ThreadLocal如何实现.md @@ -0,0 +1,2 @@ +- ThreadLocalMap + - key为ThreadLocal本身,value为对应的值,key为ThreadLocal的一个弱引用 \ No newline at end of file diff --git a/logseq-java/pages/ThreadLocal是什么,工作中有用到过吗.md b/logseq-java/pages/ThreadLocal是什么,工作中有用到过吗.md new file mode 100644 index 0000000..71d8346 --- /dev/null +++ b/logseq-java/pages/ThreadLocal是什么,工作中有用到过吗.md @@ -0,0 +1,2 @@ +- 存放用户信息 +- 管理数据库连接 \ No newline at end of file diff --git a/logseq-java/pages/ThreadLocal父子线程怎么共享数据.md b/logseq-java/pages/ThreadLocal父子线程怎么共享数据.md new file mode 100644 index 0000000..429e126 --- /dev/null +++ b/logseq-java/pages/ThreadLocal父子线程怎么共享数据.md @@ -0,0 +1,2 @@ +- inheritableThreadLocals可继承的ThreadLocal +- 创建子线程时将父线程的数据拷贝到子线程的map里面 \ No newline at end of file diff --git a/logseq-java/pages/TomCat底层类加载机制.md b/logseq-java/pages/TomCat底层类加载机制.md new file mode 100644 index 0000000..3b1a5dc --- /dev/null +++ b/logseq-java/pages/TomCat底层类加载机制.md @@ -0,0 +1,7 @@ +- Tomcat Web容器需要部署多个程序,不同应用程序会依赖同一个第三方类库的不同版本 +- DOING 补充类加载器 + :LOGBOOK: + CLOCK: [2023-10-16 Mon 14:57:28] + CLOCK: [2023-10-16 Mon 14:57:34] + :END: +- commonLoader:最基本类加载器,可以被Tomcat容器本身和各个webapp访问 \ No newline at end of file diff --git a/logseq-java/pages/TreeMap.md b/logseq-java/pages/TreeMap.md new file mode 100644 index 0000000..11b49bb --- /dev/null +++ b/logseq-java/pages/TreeMap.md @@ -0,0 +1,9 @@ +- [[TreeSet]]借助于TreeMap的Key实现 +- 特点 + - Key去重,Value不去重 + - Key有序存储 + - 不能放空键,可以放空值 +- [[API]]与[[HashMap]]一致 +- {{embed ((625fa874-b218-4044-ac16-b9de892cd9d2))}} +- +- \ No newline at end of file diff --git a/logseq-java/pages/TreeSet.md b/logseq-java/pages/TreeSet.md new file mode 100644 index 0000000..aae325f --- /dev/null +++ b/logseq-java/pages/TreeSet.md @@ -0,0 +1,36 @@ +- 一种树形结构的集合 + - [[二叉树]]结构 + - 每一个节点下最多两个分支 + - TreeSet结构为[[红黑二叉树]] + - 通过红黑二叉数可提升操作和查询效率 +- 特点 + id:: 625fe239-5548-4c66-ba66-f6fb1629b682 + - 元素存储有序 + - 元素不能重复 + - 没有下标 +- [[API]]与HashSet一致 +- 排序 + - 借助 [[ArrayList]]排序 +- [[去重]]原理 + id:: 625fa874-b218-4044-ac16-b9de892cd9d2 + - 不依靠[[Hash]]Code及 [[equals]] + - 依靠[[比较器]] [[Comparable]] + - Key上一定要实现Comparable + - ```java + public class Girl implements Comparable { + private String name; + private String id; + @Override + public int compareTo(Girl o) { + if (this.equals(o)) { + return 0; + } + if (this.name.equals(o.name)) { + return this.id.compareTo(o.id); + } else { + return this.name.compareTo(o.name); + } + } + } + ``` +- 和 [[HashSet]]的区别 \ No newline at end of file diff --git a/logseq-java/pages/UML.md b/logseq-java/pages/UML.md new file mode 100644 index 0000000..6b2df6e --- /dev/null +++ b/logseq-java/pages/UML.md @@ -0,0 +1,2 @@ +- Unified Modeling Language +- 统一建模语言或标准建模语言 \ No newline at end of file diff --git a/logseq-java/pages/URI.md b/logseq-java/pages/URI.md new file mode 100644 index 0000000..9d0c3f5 --- /dev/null +++ b/logseq-java/pages/URI.md @@ -0,0 +1,3 @@ +- Uniform Resource Identifier +- [统一资源标志符](https://zh.wikipedia.org/wiki/%E7%BB%9F%E4%B8%80%E8%B5%84%E6%BA%90%E6%A0%87%E5%BF%97%E7%AC%A6) +- \ No newline at end of file diff --git a/logseq-java/pages/URL.md b/logseq-java/pages/URL.md new file mode 100644 index 0000000..1163e2a --- /dev/null +++ b/logseq-java/pages/URL.md @@ -0,0 +1,6 @@ +- Uniform Resource Locator +- [统一资源定位符](https://zh.wikipedia.org/wiki/%E7%BB%9F%E4%B8%80%E8%B5%84%E6%BA%90%E5%AE%9A%E4%BD%8D%E7%AC%A6) +- [[协议]]://[[域名]]或[[IP]]地址:[[端口]]/ [[URI]] +- URL包含URI +- URL类 +- \ No newline at end of file diff --git a/logseq-java/pages/UUID.md b/logseq-java/pages/UUID.md new file mode 100644 index 0000000..193d1ec --- /dev/null +++ b/logseq-java/pages/UUID.md @@ -0,0 +1,9 @@ +- Universally Unique Identifier +- [通用唯一识别码](https://zh.wikipedia.org/wiki/%E9%80%9A%E7%94%A8%E5%94%AF%E4%B8%80%E8%AF%86%E5%88%AB%E7%A0%81) +- UUID的标准型式包含32个16进制数字,以连字号分为五段,形式为 8-4-4-4-12 的32个字符。 +- ![通用唯一识别码.pdf](../assets/通用唯一识别码_1649925769559_0.pdf) +- 使用 + - ```java + String str = UUID.randomUUID().toString(); + System.out.println(str); + ``` \ No newline at end of file diff --git a/logseq-java/pages/Vector.md b/logseq-java/pages/Vector.md new file mode 100644 index 0000000..2fbb812 --- /dev/null +++ b/logseq-java/pages/Vector.md @@ -0,0 +1,5 @@ +- 向量,[[List]]集合中一种非常古老的集合 +- Vector与[[ArrayList]]的区别 + - [[API]]一致 + - 底层结构一样 + - Vector的方法加了[[synchronized]] \ No newline at end of file diff --git a/logseq-java/pages/Vue-Cli.md b/logseq-java/pages/Vue-Cli.md new file mode 100644 index 0000000..d52fe6d --- /dev/null +++ b/logseq-java/pages/Vue-Cli.md @@ -0,0 +1,3 @@ +- [[前后端分离]] +- [[Node.js]] +- \ No newline at end of file diff --git a/logseq-java/pages/Vue-Router.md b/logseq-java/pages/Vue-Router.md new file mode 100644 index 0000000..2af070d --- /dev/null +++ b/logseq-java/pages/Vue-Router.md @@ -0,0 +1,3 @@ +- 路由 + - 按规则进行请求和数据的分配 +- \ No newline at end of file diff --git a/logseq-java/pages/Vue.md b/logseq-java/pages/Vue.md new file mode 100644 index 0000000..9ed4de4 --- /dev/null +++ b/logseq-java/pages/Vue.md @@ -0,0 +1 @@ +- 前端框架 \ No newline at end of file diff --git a/logseq-java/pages/XA协议.md b/logseq-java/pages/XA协议.md new file mode 100644 index 0000000..47a7505 --- /dev/null +++ b/logseq-java/pages/XA协议.md @@ -0,0 +1,7 @@ +- 两阶段提交协议 +- [https://dev.mysql.com/doc/refman/8.0/en/xa.html](https://dev.mysql.com/doc/refman/8.0/en/xa.html) +- 什么是mysql的xa事务 + - 本地普通事务操作协调数据写入与log写入两阶段提交 + - 外部分布式事务 +- 2pc,3pc + - 额外增加了参与的角色保证分布式事务完成更完善 \ No newline at end of file diff --git a/logseq-java/pages/XML.md b/logseq-java/pages/XML.md new file mode 100644 index 0000000..061ec4e --- /dev/null +++ b/logseq-java/pages/XML.md @@ -0,0 +1 @@ +- 可拓展标记语言 \ No newline at end of file diff --git a/logseq-java/pages/XML与JSON之间的区别.md b/logseq-java/pages/XML与JSON之间的区别.md new file mode 100644 index 0000000..32c0d4b --- /dev/null +++ b/logseq-java/pages/XML与JSON之间的区别.md @@ -0,0 +1,33 @@ +- XML + - Extensible Markup Language 可扩展标记语言 + - 用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。 + XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。 + - 用途 + - 存储数据 + - 配置文件 + - 跨平台数据传输 +- JSON + - JavaScript Object Notation + - 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。可在不同平台之间进行数据交换。JSON采用兼容性很高的、完全独立于语言文本格式,同时也具备类似于C语言的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)体系的行为。这些特性使JSON成为理想的数据交换语言。 + JSON基于JavaScript Programming Language , Standard ECMA-262 3rd Edition - December 1999 的一个子集。 +- 对比 + - 可读性方面。 + - JSON和XML的 数据可读性基本相同,JSON和XML的可读性可谓不相上下,一边是建议的 语法,一边是规范的标签形式,XML可读性较好些。 + - 可扩展性方面。 + - XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。 + (3).编码难度方面。 + - XML有丰富的编码 工具,比如Dom4j、JDom等,JSON也有json.org提供的 工具,但是JSON的编码明显比XML容易许多,即使不借助 工具也能写出JSON的 代码,可是要写好XML就不太容易了。 + (4).解码难度方面。 + - XML的解析得考虑子节点父节点,让人头昏眼花,而JSON的解析难度几乎为0。这一点XML输的真是没话说。 + (5).流行度方面。 + - XML已经被业界广泛的使用,而JSON才刚刚开始,但是在Ajax这个特定的领域,未来的发展一定是XML让位于JSON。到时Ajax应该变成Ajaj(Asynchronous JavaScript and JSON)了。 + (6).解析手段方面。 + - JSON和XML同样拥有丰富的解析手段。 + (7).数据体积方面。 + - JSON相对于XML来讲, 数据的体积小,传递的速度更快些。 + (8).数据交互方面。 + - JSON与 JavaScript的交互更加方便,更容易解析处理,更好的数据交互。 + (9).数据描述方面。 + - JSON对数据的描述性比XML较差。 + (10).传输速度方面。 + - JSON的速度要远远快于XML。 \ No newline at end of file diff --git a/logseq-java/pages/Zookeeper面试题.md b/logseq-java/pages/Zookeeper面试题.md new file mode 100644 index 0000000..3217169 --- /dev/null +++ b/logseq-java/pages/Zookeeper面试题.md @@ -0,0 +1,7 @@ +- 实现分布式锁的解决方案中,你认为Zookeeper和Redis 哪种更好? +- Zookeeper和Redis 哪种更好? +- 关于“你对Zookeeper的理解,看看普通人和高手是如何回答这个问题的? +- Zookeeper中的Watch机制的原理? +- Zookeeper 如何实现 Leader选举 +- Zookeeper 如何实现分布式锁 +- 谈谈你对Zookeeper的理解 \ No newline at end of file diff --git a/logseq-java/pages/abs.md b/logseq-java/pages/abs.md new file mode 100644 index 0000000..4d6941d --- /dev/null +++ b/logseq-java/pages/abs.md @@ -0,0 +1 @@ +- 求绝对值 \ No newline at end of file diff --git a/logseq-java/pages/apppend.md b/logseq-java/pages/apppend.md new file mode 100644 index 0000000..15725b9 --- /dev/null +++ b/logseq-java/pages/apppend.md @@ -0,0 +1 @@ +- 在尾部追加 \ No newline at end of file diff --git a/logseq-java/pages/arrayCopy.md b/logseq-java/pages/arrayCopy.md new file mode 100644 index 0000000..2b59e40 --- /dev/null +++ b/logseq-java/pages/arrayCopy.md @@ -0,0 +1 @@ +- 将源数组的数组从指定位置复制到指定位置 \ No newline at end of file diff --git a/logseq-java/pages/binarySearch.md b/logseq-java/pages/binarySearch.md new file mode 100644 index 0000000..e4b30b3 --- /dev/null +++ b/logseq-java/pages/binarySearch.md @@ -0,0 +1,3 @@ +- [[二叉查找法]] +- 数组使用前要先排序 +- \ No newline at end of file diff --git a/logseq-java/pages/capacity.md b/logseq-java/pages/capacity.md new file mode 100644 index 0000000..fcb44ec --- /dev/null +++ b/logseq-java/pages/capacity.md @@ -0,0 +1 @@ +- 返回当前容量 \ No newline at end of file diff --git a/logseq-java/pages/charAt.md b/logseq-java/pages/charAt.md new file mode 100644 index 0000000..6d90b8a --- /dev/null +++ b/logseq-java/pages/charAt.md @@ -0,0 +1,2 @@ +- 通过[[下标]]查询下标对应的字符 +- \ No newline at end of file diff --git a/logseq-java/pages/concat.md b/logseq-java/pages/concat.md new file mode 100644 index 0000000..7bf7d90 --- /dev/null +++ b/logseq-java/pages/concat.md @@ -0,0 +1 @@ +- 在字符串尾部追加内容 \ No newline at end of file diff --git a/logseq-java/pages/contains.md b/logseq-java/pages/contains.md new file mode 100644 index 0000000..6c7436a --- /dev/null +++ b/logseq-java/pages/contains.md @@ -0,0 +1 @@ +- 判断某一个字符串是否包含其它字符串 \ No newline at end of file diff --git a/logseq-java/pages/contents.md b/logseq-java/pages/contents.md new file mode 100644 index 0000000..d166faf --- /dev/null +++ b/logseq-java/pages/contents.md @@ -0,0 +1,15 @@ +# 面试题 + - [[Java 基础面试题]] + - [[Java并发编程基础面试题]] + - [[JVM面试题]] + - [[Mysql数据库面试题]] + - [[Spring Cloud面试题]] + - [[Spring Boot面试题]] + - [[Spring 面试题]] + - [[Mybatis 面试题]] + - [[网络相关面试题]] + - [[Redis面试题]] + - [[Zookeeper面试题]] + - [[分布式消息队列面试题]] + - [[一线大厂场景问题详解]] + - [[常见算法面试题]] \ No newline at end of file diff --git a/logseq-java/pages/copyOf.md b/logseq-java/pages/copyOf.md new file mode 100644 index 0000000..6df465b --- /dev/null +++ b/logseq-java/pages/copyOf.md @@ -0,0 +1 @@ +- 复制扩容数组 \ No newline at end of file diff --git a/logseq-java/pages/count(列名)和count(%2A)区别.md b/logseq-java/pages/count(列名)和count(%2A)区别.md new file mode 100644 index 0000000..6dfe4c8 --- /dev/null +++ b/logseq-java/pages/count(列名)和count(%2A)区别.md @@ -0,0 +1 @@ +- count(列名)不会统计null值的行 \ No newline at end of file diff --git a/logseq-java/pages/currentTimeMillis.md b/logseq-java/pages/currentTimeMillis.md new file mode 100644 index 0000000..b6b101e --- /dev/null +++ b/logseq-java/pages/currentTimeMillis.md @@ -0,0 +1 @@ +- 获得当前的系统时间毫秒值 \ No newline at end of file diff --git a/logseq-java/pages/delete.md b/logseq-java/pages/delete.md new file mode 100644 index 0000000..019959a --- /dev/null +++ b/logseq-java/pages/delete.md @@ -0,0 +1 @@ +- 删除区间内的字符 \ No newline at end of file diff --git a/logseq-java/pages/do while 循环.md b/logseq-java/pages/do while 循环.md new file mode 100644 index 0000000..dfd29f1 --- /dev/null +++ b/logseq-java/pages/do while 循环.md @@ -0,0 +1,14 @@ +- 属于后验循环 +- ```java + int i = 0; + do{ + System.out.println("1"); + i++; + }while (i <= 10); + ``` +- while循环和do-while循环有什么区别 #Java面试 + id:: 6246b51d-044b-40fb-aa3c-e057f95915b8 + - while循环时先验循环,do-while是后验循环 +- for循环和while循环有什么区别 #Java面试 + id:: 6246b566-602f-4535-89ad-a88b652bca32 + - for循环一般适用在已知循环次数,而while 一般适用在已知结束条件 \ No newline at end of file diff --git a/logseq-java/pages/endWith.md b/logseq-java/pages/endWith.md new file mode 100644 index 0000000..9086c0a --- /dev/null +++ b/logseq-java/pages/endWith.md @@ -0,0 +1 @@ +- 判断是否以某个字符串结尾 \ No newline at end of file diff --git a/logseq-java/pages/equals.md b/logseq-java/pages/equals.md new file mode 100644 index 0000000..8dd182c --- /dev/null +++ b/logseq-java/pages/equals.md @@ -0,0 +1,2 @@ +- Arrays.equals() + - 比较两个数组内容 \ No newline at end of file diff --git a/logseq-java/pages/equalsIgnoreCase.md b/logseq-java/pages/equalsIgnoreCase.md new file mode 100644 index 0000000..9db9e32 --- /dev/null +++ b/logseq-java/pages/equalsIgnoreCase.md @@ -0,0 +1 @@ +- 忽略大小写 \ No newline at end of file diff --git a/logseq-java/pages/exit.md b/logseq-java/pages/exit.md new file mode 100644 index 0000000..67cbc34 --- /dev/null +++ b/logseq-java/pages/exit.md @@ -0,0 +1 @@ +- 终止当前JVM虚拟机 \ No newline at end of file diff --git a/logseq-java/pages/final.md b/logseq-java/pages/final.md new file mode 100644 index 0000000..23cd119 --- /dev/null +++ b/logseq-java/pages/final.md @@ -0,0 +1,7 @@ +- 修饰[[类]] + - 表示是一个最终类,该类不能被继承 +- 修饰[[方法]] + - 表示该方法不能被子类[[重写]] +- 修饰[[变量]] + - [[自定义常量]] + - [[常量]]可以解决代码中[[魔法值]]的问题 \ No newline at end of file diff --git a/logseq-java/pages/firewall.md b/logseq-java/pages/firewall.md new file mode 100644 index 0000000..0231c95 --- /dev/null +++ b/logseq-java/pages/firewall.md @@ -0,0 +1,15 @@ +- 开端口 + - ```bash + firewall-cmd --permanent --add-port=8080/tcp --permanent + ``` + - ``` + - --permanent 让端口配置永久生效 + ``` +- 重载防火墙 + - ```bash + firewall-cmd --reload + ``` +- 重启防火墙服务 + - ```bash + systemctl restart firewalld + ``` \ No newline at end of file diff --git a/logseq-java/pages/for循环.md b/logseq-java/pages/for循环.md new file mode 100644 index 0000000..a945a82 --- /dev/null +++ b/logseq-java/pages/for循环.md @@ -0,0 +1,45 @@ +- 重复做相似的事直到条件结束,一般用在循环次数已知的情况下 +- ```java + for(初始化一个变量;判断推出的条件;变量的更新){ + //循环内部执行的代码 + } + ``` +- 初始化只执行一次 +- 判断和变量更新都是执行多次 +- 变量的值不符合判断条件,循环结束 +- > 初始化条件完毕之后,就立即判断条件是否满足的循环,称为先验循环 +- 变种 + - 初始值写在外面 + - ```java + //在外部定义初始化变量 + int i = 0; + for (; i < 10; i++) { + System.out.println(i); + } + ``` + - 判断条件写在外面 + - ```java + //在外部定义初始化变量 + int i = 0; + for (;; i++) { + if(i == 10){ + //退出循环 + break; + } + System.out.println(i); + } + ``` + - 变量更新写在外面 + - ```java + //在外部定义初始化变量 + int i = 0; + for (;;) { + if(i == 10){ + //退出循环 + break; + } + System.out.println(i); + //变量的更新 + i++; + } + ``` \ No newline at end of file diff --git a/logseq-java/pages/getBytes.md b/logseq-java/pages/getBytes.md new file mode 100644 index 0000000..2c57222 --- /dev/null +++ b/logseq-java/pages/getBytes.md @@ -0,0 +1 @@ +- 获取该字符串里面的字节数组 \ No newline at end of file diff --git a/logseq-java/pages/getProperties.md b/logseq-java/pages/getProperties.md new file mode 100644 index 0000000..d8bfcb2 --- /dev/null +++ b/logseq-java/pages/getProperties.md @@ -0,0 +1 @@ +- 确定当前的系统属性 \ No newline at end of file diff --git a/logseq-java/pages/getter与setter.md b/logseq-java/pages/getter与setter.md new file mode 100644 index 0000000..19f5d0d --- /dev/null +++ b/logseq-java/pages/getter与setter.md @@ -0,0 +1,7 @@ +- 所有的属性都要采用封装的概念,意味:所有的属性都需要用private修饰 +- Java中专门用于访问私有属性的方法 + - [[getter]] + - [[setter]] +- [[IDEA]]快速生成 + - Alt + Insert + - 右键-->Generate \ No newline at end of file diff --git a/logseq-java/pages/hash分片算法.md b/logseq-java/pages/hash分片算法.md new file mode 100644 index 0000000..2e4a29b --- /dev/null +++ b/logseq-java/pages/hash分片算法.md @@ -0,0 +1,2 @@ +- 槽位定位算法 +- 对key值使用crc16算法进行hash得到一个整数值,然后用这个整数值对16384取模得到具体的槽位 \ No newline at end of file diff --git a/logseq-java/pages/indexOf.md b/logseq-java/pages/indexOf.md new file mode 100644 index 0000000..7a9f004 --- /dev/null +++ b/logseq-java/pages/indexOf.md @@ -0,0 +1 @@ +- 获得某个字符在字符串中的下标 \ No newline at end of file diff --git a/logseq-java/pages/insert.md b/logseq-java/pages/insert.md new file mode 100644 index 0000000..6c85caa --- /dev/null +++ b/logseq-java/pages/insert.md @@ -0,0 +1 @@ +- 在指定下标处插入新的元素 \ No newline at end of file diff --git a/logseq-java/pages/instanceof.md b/logseq-java/pages/instanceof.md new file mode 100644 index 0000000..1b667d5 --- /dev/null +++ b/logseq-java/pages/instanceof.md @@ -0,0 +1,6 @@ +- 判断某个对象是否是某个类型的对象 +- ```java + if(对象 instanceof 对象类型){ + + } + ``` \ No newline at end of file diff --git a/logseq-java/pages/intern.md b/logseq-java/pages/intern.md new file mode 100644 index 0000000..b7d996d --- /dev/null +++ b/logseq-java/pages/intern.md @@ -0,0 +1 @@ +- 判断某一字符串是否在常量池中,如在,直接返回,不在,装到常量池中 \ No newline at end of file diff --git a/logseq-java/pages/ipconfig.md b/logseq-java/pages/ipconfig.md new file mode 100644 index 0000000..882deae --- /dev/null +++ b/logseq-java/pages/ipconfig.md @@ -0,0 +1 @@ +- 或使用ipconfig/all \ No newline at end of file diff --git a/logseq-java/pages/isEmpty.md b/logseq-java/pages/isEmpty.md new file mode 100644 index 0000000..59466f6 --- /dev/null +++ b/logseq-java/pages/isEmpty.md @@ -0,0 +1,2 @@ +- 判断某个字符串是否是空的 +- 与[[null]]不一样 \ No newline at end of file diff --git a/logseq-java/pages/key过期了为什么内存没有释放.md b/logseq-java/pages/key过期了为什么内存没有释放.md new file mode 100644 index 0000000..7812201 --- /dev/null +++ b/logseq-java/pages/key过期了为什么内存没有释放.md @@ -0,0 +1,6 @@ +- 修改的时候如果没有设置过期时间,key就会永远不过期 +- Redis对过期key的处理策略 #card + - 惰性删除 + - 已经过期的key在读写的时候判断是否过期,过期直接删除 + - 定时删除 + - 定期删除一部分已经过期的key,没有全部删除 \ No newline at end of file diff --git a/logseq-java/pages/lastIndexOf.md b/logseq-java/pages/lastIndexOf.md new file mode 100644 index 0000000..3cf8226 --- /dev/null +++ b/logseq-java/pages/lastIndexOf.md @@ -0,0 +1,2 @@ +- 返回字符串最后出现的下标 +- [[indexOf]] \ No newline at end of file diff --git a/logseq-java/pages/length.md b/logseq-java/pages/length.md new file mode 100644 index 0000000..7077b47 --- /dev/null +++ b/logseq-java/pages/length.md @@ -0,0 +1,2 @@ +- 获得数组中,装入字符的个数 +- \ No newline at end of file diff --git a/logseq-java/pages/lock和synchronized区别.md b/logseq-java/pages/lock和synchronized区别.md new file mode 100644 index 0000000..647a84e --- /dev/null +++ b/logseq-java/pages/lock和synchronized区别.md @@ -0,0 +1,7 @@ +- lock是jdk中的一接口,在使用的时候必须要手动释放锁,否则会造成死锁, +- sync是一个关键字,是通过jvm底层来实现加锁的,使用的时候无需手动释放,异常时可以自动释放锁不会造成死锁 +- lock可以使用interrupt来中断等待,但是sync是无法中断的,只能等待释放锁 +- lock可以通过trylock来知道是否获得锁,但是sync不可以 +- lock可以通过readwritelock来提高多个线程进行读操作的效率 +- sync在底层有一些优化,比如适应自旋,锁消除,锁粗化,轻量级锁,偏向锁等 +- lock使用的是乐观锁的机制,sync使用的是悲观锁 \ No newline at end of file diff --git a/logseq-java/pages/max.md b/logseq-java/pages/max.md new file mode 100644 index 0000000..1b7e21b --- /dev/null +++ b/logseq-java/pages/max.md @@ -0,0 +1,2 @@ +- 比较两个数哪个更大 +- [[min]] \ No newline at end of file diff --git a/logseq-java/pages/min.md b/logseq-java/pages/min.md new file mode 100644 index 0000000..59e6816 --- /dev/null +++ b/logseq-java/pages/min.md @@ -0,0 +1 @@ +- 比较两个数哪个数更小 \ No newline at end of file diff --git a/logseq-java/pages/mysql服务器毫无规律异常重启.md b/logseq-java/pages/mysql服务器毫无规律异常重启.md new file mode 100644 index 0000000..5c2edad --- /dev/null +++ b/logseq-java/pages/mysql服务器毫无规律异常重启.md @@ -0,0 +1,9 @@ +- 通过mysql和系统日志来定位错误 +- 关闭swap分区后OOM的问题 + - 应用进程占用过高操作系统kill掉进程,守护进程又重启了进程,过一段事件后又OOM + - 运行时内存占用率 + - mysql buffer参数 + - mysql网络连接相关参数 +- 异常关机或kill -9 mysql后导致表文件损坏 + - 直接使用备份 + - 配置innodb_force_recovery跳过启动恢复过程 \ No newline at end of file diff --git a/logseq-java/pages/mysql线上修改表结构有哪些风险.md b/logseq-java/pages/mysql线上修改表结构有哪些风险.md new file mode 100644 index 0000000..00cfd1f --- /dev/null +++ b/logseq-java/pages/mysql线上修改表结构有哪些风险.md @@ -0,0 +1,9 @@ +- 针对ddl命令,有以下几种方式 + - copy table锁原表,创建临时表拷贝数据 + - inplace针对索引修改删除的优化,不需要拷贝所有数据 + - online DDL细分DDL命令来决定是否锁表 + - + - 可能会锁表,导致无法读写 + - ORM中的映射失效 + - 索引失效 +- 建个新表,导入数据后重命名 \ No newline at end of file diff --git a/logseq-java/pages/nanaTime.md b/logseq-java/pages/nanaTime.md new file mode 100644 index 0000000..7470b5f --- /dev/null +++ b/logseq-java/pages/nanaTime.md @@ -0,0 +1,3 @@ +- 纳秒值,与真实事件没有任何关系 +- 作用 + - 判断某一个代码执行了多久 \ No newline at end of file diff --git a/logseq-java/pages/nextInt.md b/logseq-java/pages/nextInt.md new file mode 100644 index 0000000..0cd7a91 --- /dev/null +++ b/logseq-java/pages/nextInt.md @@ -0,0 +1 @@ +- 返回0到某个数之间的随机值 \ No newline at end of file diff --git a/logseq-java/pages/npm.md b/logseq-java/pages/npm.md new file mode 100644 index 0000000..bf45548 --- /dev/null +++ b/logseq-java/pages/npm.md @@ -0,0 +1,6 @@ +- Node.js的包管理工具 +- 换源 + - 1.临时使用 + - `npm --registry https://registry.npm.taobao.org install express` + - 2.持久使用 + - `npm config set registry https://registry.npm.taobao.org` \ No newline at end of file diff --git a/logseq-java/pages/pow.md b/logseq-java/pages/pow.md new file mode 100644 index 0000000..3f6ded6 --- /dev/null +++ b/logseq-java/pages/pow.md @@ -0,0 +1 @@ +- 求某个数的幂次方 \ No newline at end of file diff --git a/logseq-java/pages/private.md b/logseq-java/pages/private.md new file mode 100644 index 0000000..7aaf6ca --- /dev/null +++ b/logseq-java/pages/private.md @@ -0,0 +1,2 @@ +- 在同一个类里面可以用 + id:: 6254f4a0-5a61-41af-806f-01c0b7cd5714 \ No newline at end of file diff --git a/logseq-java/pages/processlist.md b/logseq-java/pages/processlist.md new file mode 100644 index 0000000..f64f218 --- /dev/null +++ b/logseq-java/pages/processlist.md @@ -0,0 +1 @@ +- 关键的是state列 \ No newline at end of file diff --git a/logseq-java/pages/random.md b/logseq-java/pages/random.md new file mode 100644 index 0000000..faf1e93 --- /dev/null +++ b/logseq-java/pages/random.md @@ -0,0 +1,10 @@ +- Math.random()返回一个0到1之间的double值随机数 + title:: random + id:: 6257ca69-79e2-4267-b04c-8d607cad5a79 +- 随机类 + - ```java + Ranndom a = new Random(); + ``` + - [[nextInt]] + - 追溯历史 + - [[Random(long seed)]] \ No newline at end of file diff --git a/logseq-java/pages/redis执行命令有死循环阻塞bug.md b/logseq-java/pages/redis执行命令有死循环阻塞bug.md new file mode 100644 index 0000000..21bfadf --- /dev/null +++ b/logseq-java/pages/redis执行命令有死循环阻塞bug.md @@ -0,0 +1,4 @@ +- randomkey + - 随机返回一个未过期的key + - 如果存在大量过期未删除的key,会不断查找并清除过期key + - 如果slave节点上性能更差,master要先清理才会同步到slave,slave不会删除过期的key,会一直在过期的key里面查找 \ No newline at end of file diff --git a/logseq-java/pages/replace.md b/logseq-java/pages/replace.md new file mode 100644 index 0000000..a612c3f --- /dev/null +++ b/logseq-java/pages/replace.md @@ -0,0 +1 @@ +- 将字符串内的字符替换为新的字符 \ No newline at end of file diff --git a/logseq-java/pages/reverse.md b/logseq-java/pages/reverse.md new file mode 100644 index 0000000..bc46c95 --- /dev/null +++ b/logseq-java/pages/reverse.md @@ -0,0 +1 @@ +- 反转字符串 \ No newline at end of file diff --git a/logseq-java/pages/round.md b/logseq-java/pages/round.md new file mode 100644 index 0000000..9be65e9 --- /dev/null +++ b/logseq-java/pages/round.md @@ -0,0 +1,3 @@ +- [[四舍五入]] +- 返回参数中最靠近的long +- \ No newline at end of file diff --git a/logseq-java/pages/select for update会产生哪些操作.md b/logseq-java/pages/select for update会产生哪些操作.md new file mode 100644 index 0000000..ef980ca --- /dev/null +++ b/logseq-java/pages/select for update会产生哪些操作.md @@ -0,0 +1,2 @@ +- for update只适用于InnoDB,仅在事务快中生效,会使select语句产生一个排他锁 +- \ No newline at end of file diff --git a/logseq-java/pages/set.md b/logseq-java/pages/set.md new file mode 100644 index 0000000..30b2ac1 --- /dev/null +++ b/logseq-java/pages/set.md @@ -0,0 +1,5 @@ +- [[ArrayList]] 用此方法修改指定下标元素内容 +- 集特点 + - 元素存储时,可以有序和无序 + - 不允许重复元素 + - 没有下表,不能通过下标来获得元素 \ No newline at end of file diff --git a/logseq-java/pages/sort.md b/logseq-java/pages/sort.md new file mode 100644 index 0000000..bbf3b02 --- /dev/null +++ b/logseq-java/pages/sort.md @@ -0,0 +1,2 @@ +- 数组排序 + - Arrays.sort() \ No newline at end of file diff --git a/logseq-java/pages/split.md b/logseq-java/pages/split.md new file mode 100644 index 0000000..8a8357a --- /dev/null +++ b/logseq-java/pages/split.md @@ -0,0 +1,2 @@ +- 将字符串按某一指定字符拆分 +- 返回数组 \ No newline at end of file diff --git a/logseq-java/pages/startWith.md b/logseq-java/pages/startWith.md new file mode 100644 index 0000000..8b18196 --- /dev/null +++ b/logseq-java/pages/startWith.md @@ -0,0 +1 @@ +- 判断是否以某字符串开头 \ No newline at end of file diff --git a/logseq-java/pages/static.md b/logseq-java/pages/static.md new file mode 100644 index 0000000..f431497 --- /dev/null +++ b/logseq-java/pages/static.md @@ -0,0 +1,10 @@ +- static静态 +- > 如果一个方法写了static,表示这个方法是一个静态方法 +- [[对象]]的行为和属性是可以动态改变的 +- 如果一个方法没有使用static定义的方法,属于[[动态方法]] +- 如果一个方法不能和任何一个对象挂靠,就应该是个[[静态方法]] +- static静态属性存储在[[元空间]]中,且与此类型对象无关,只与类有关,这种属性也称为[[类属性]] + - 如果是static属性,则在调用时无需[[new]] +- 静态方法不能直接调用动态方法,需要使用 [[new]] +- 静态方法可直接调用静态方法 +- 动态方法可以直接调用静态方法 \ No newline at end of file diff --git a/logseq-java/pages/substring.md b/logseq-java/pages/substring.md new file mode 100644 index 0000000..7447edd --- /dev/null +++ b/logseq-java/pages/substring.md @@ -0,0 +1,4 @@ +- 从区间内截取特定范围的字符串 +- 返回字符串的子串 +- (开始,结束) + - 只包含开始位,不包含结束位 \ No newline at end of file diff --git a/logseq-java/pages/super关键字.md b/logseq-java/pages/super关键字.md new file mode 100644 index 0000000..875e162 --- /dev/null +++ b/logseq-java/pages/super关键字.md @@ -0,0 +1,6 @@ +- [[this]]代表对象自身,super代表从父类中继承的资源 +- 用法,与this一致 + - |super.| 父类的| + |[[super()]]|父类的[[继承器]]| + - super()必须放置在代码的第一行,不能与this()同时存在 + - this范围大于super范围 \ No newline at end of file diff --git a/logseq-java/pages/switch.md b/logseq-java/pages/switch.md new file mode 100644 index 0000000..29ee35f --- /dev/null +++ b/logseq-java/pages/switch.md @@ -0,0 +1,27 @@ +- 也是一种多分支结构 #多分支 +- 与IF相比较,判断条件更多是几个固定的值 +- **语法** + - ```java + int num = 值; + switch(num){ + case 值1: + //代码块1 + break; + case 值2: + //代码块2 + break; + case 值3: + //代码块3 + break; + ...... + default: + //默认语句代码块 + break; + } + + ``` +- switch中支持的数据类型 + - JDK1.7 + - byte,short,int,long + - JDK1.8 + - 增加String,枚举 \ No newline at end of file diff --git a/logseq-java/pages/synchronized.md b/logseq-java/pages/synchronized.md new file mode 100644 index 0000000..ad720cc --- /dev/null +++ b/logseq-java/pages/synchronized.md @@ -0,0 +1,55 @@ +- 特点 + - 互斥 + - 当某个线程获得对象锁之后,其它线程不能再次抢占同样对象锁 + - 重入 + - 当根线程获得对象锁之后,它的其它方法依旧可以抢占同样的对象锁 +- Java对锁的支持 + - Synchronized关键字 + - 同步代码块 + - 放置在方法内部 + - 可以灵活控制加锁代码的区域 + - ```java + synchronized(对象){ + //锁定的代码 + } + ``` + - 同步方法 + - Lock接口 + - 对比 + - Lock可以通过tryLock()判断锁的状态,synchronized无法判断 + - synchronized自动释放锁,Lock需要手动unlock(),不释放变为死锁 + - synchronized线程间需要不断等待,Lock不一定 + - synchronized可重入,不可中断,非公平锁,Lock可重入,可中断,可公平与不公平 + - synchronized适合锁定代码量非常少,Lock适合锁定代码量非常多 +- 锁升级 + - synchronized根据线程数量决定锁的力度 + - 无锁 + - 刚创建,未引用 + - 偏向锁 + - 1根线程操作该对象 + - 轻量级 + - 2根线程同时操作该对象 + - 重量级 + - 2根以上线程同时操作该对象 + - 锁只有升级,没有降级 +- 面试题 #Java面试 + - ```java + synchronized(this){} + // 获得当前对象的锁 + ``` + - ```java + synchronized(user){} + // 获得user对象的锁 + ``` + - ```java + synchronized(Object.class){} + // 获得Object class 类对象的锁 + ``` + - ```java + public synchronized boolean sell(){} + // 获得当前对象的锁 + ``` + - ```java + public synchronized boolean sell(){} + // 获得当前类的Class对象的锁 + ``` \ No newline at end of file diff --git a/logseq-java/pages/tar&gz&zip.md b/logseq-java/pages/tar&gz&zip.md new file mode 100644 index 0000000..3cf20d5 --- /dev/null +++ b/logseq-java/pages/tar&gz&zip.md @@ -0,0 +1 @@ +- \ No newline at end of file diff --git a/logseq-java/pages/this().md b/logseq-java/pages/this().md new file mode 100644 index 0000000..5287d6e --- /dev/null +++ b/logseq-java/pages/this().md @@ -0,0 +1,3 @@ +- 代表本类的其它构造器 +- 必须放置在代码的第一行 +- [[this]] \ No newline at end of file diff --git a/logseq-java/pages/this.md b/logseq-java/pages/this.md new file mode 100644 index 0000000..56df152 --- /dev/null +++ b/logseq-java/pages/this.md @@ -0,0 +1,4 @@ +- 代表自身 +- 谁在调用这个方法,则this就是这个对象 +- [[this()]] + - [[构造器]] \ No newline at end of file diff --git a/logseq-java/pages/toCharArry.md b/logseq-java/pages/toCharArry.md new file mode 100644 index 0000000..20e2393 --- /dev/null +++ b/logseq-java/pages/toCharArry.md @@ -0,0 +1 @@ +- 获取该字符串对应的字符数组 \ No newline at end of file diff --git a/logseq-java/pages/toLowerCase.md b/logseq-java/pages/toLowerCase.md new file mode 100644 index 0000000..8f1da72 --- /dev/null +++ b/logseq-java/pages/toLowerCase.md @@ -0,0 +1,2 @@ +- 返回全小写的字符串 +- [[toUpperCase]] \ No newline at end of file diff --git a/logseq-java/pages/toUpperCase.md b/logseq-java/pages/toUpperCase.md new file mode 100644 index 0000000..0afed0e --- /dev/null +++ b/logseq-java/pages/toUpperCase.md @@ -0,0 +1,2 @@ +- 返回全大写字符串 +- [[toLowerCase]] \ No newline at end of file diff --git a/logseq-java/pages/trim.md b/logseq-java/pages/trim.md new file mode 100644 index 0000000..8d5cba5 --- /dev/null +++ b/logseq-java/pages/trim.md @@ -0,0 +1 @@ +- 去除字符串首尾的空格 \ No newline at end of file diff --git a/logseq-java/pages/try-catch-finally.md b/logseq-java/pages/try-catch-finally.md new file mode 100644 index 0000000..9de413e --- /dev/null +++ b/logseq-java/pages/try-catch-finally.md @@ -0,0 +1,9 @@ +- ```java + try{ + + }catch (erro e){ + + }finally { + + } + ``` \ No newline at end of file diff --git a/logseq-java/pages/valueOf.md b/logseq-java/pages/valueOf.md new file mode 100644 index 0000000..4f2e656 --- /dev/null +++ b/logseq-java/pages/valueOf.md @@ -0,0 +1 @@ +- 将基本数据类型转换为字符串 \ No newline at end of file diff --git a/logseq-java/pages/while循环.md b/logseq-java/pages/while循环.md new file mode 100644 index 0000000..806d680 --- /dev/null +++ b/logseq-java/pages/while循环.md @@ -0,0 +1,7 @@ +- 属于先验循环,用于可能不知道循环次数,但知道循环何时结束 +- ```java + 初始化条件; + while(判断条件){ + //需要循环的代码 + } + ``` \ No newline at end of file diff --git a/logseq-java/pages/windows快捷键.md b/logseq-java/pages/windows快捷键.md new file mode 100644 index 0000000..c06f1a3 --- /dev/null +++ b/logseq-java/pages/windows快捷键.md @@ -0,0 +1,10 @@ +- ctrl+A 全选 +- ctrl+X/C/V 剪切/复制/粘贴 +- ctrl+F 查找 +- ctrl+Z 回滚 +- ctrl+Y 进一步 +- ctrl+S 保存 +- win+R 运行 +- win+E 文件浏览器 +- win+D 桌面 +- win+L 锁屏 \ No newline at end of file diff --git a/logseq-java/pages/{} 与 ${} 的区别.md b/logseq-java/pages/{} 与 ${} 的区别.md new file mode 100644 index 0000000..e3c665b --- /dev/null +++ b/logseq-java/pages/{} 与 ${} 的区别.md @@ -0,0 +1 @@ +- #是预编译,是占位符,$是字符串替换 \ No newline at end of file diff --git a/logseq-java/pages/一个线程调用两次start()方法会出现什么情况.md b/logseq-java/pages/一个线程调用两次start()方法会出现什么情况.md new file mode 100644 index 0000000..b9cd095 --- /dev/null +++ b/logseq-java/pages/一个线程调用两次start()方法会出现什么情况.md @@ -0,0 +1,7 @@ +- 抛出异常 +- NEW +- RUNNABLE +- BLOCKED +- \WAITING +- TIME_WAITING +- TERMINATED \ No newline at end of file diff --git a/logseq-java/pages/一线大厂场景问题详解.md b/logseq-java/pages/一线大厂场景问题详解.md new file mode 100644 index 0000000..a007272 --- /dev/null +++ b/logseq-java/pages/一线大厂场景问题详解.md @@ -0,0 +1,26 @@ +- 扫码登录到底是怎么实现的? +- 订单超时自动取消功能如何设计? +- 怎么理解接口幂等,项目中如何保证的接口幂等 +- 消息推送中的已读消息和未读消息设计难题 +- 布隆过滤器到底是什么东西?它有什么用 +- 从B站崩溃的故障排查和恢复过程中学到什么? +- limit 加载很慢该怎么优化 +- 会员批量过期的方案怎么实现? +- 什么是幂等?如何解决幂等性问题? +- 常见的限流算法有哪些? +- 说说你对一致性Hash算法的理解 +- 如果让你设计一个秒杀系统,怎么设计? +- 如果问你项目的重点和难点,该如何回答呢? +- 如果让你设计一个秒杀系统,怎么设计? +- 来一个亿级数据存储问题讲解,每天新增数据 +- 什么情况下会出现Full GC,怎么解决? +- 如果问你项目的重点和难点,该如何回答呢? +- 生产环境服务器变慢,如何诊断处理? +- 将user表进行了分库分表,那么手机号的唯一索引是不是就失效了 +- 在大小的文件中,找出高频top单词 +- 数据量达到多少的时候要开始分库分表 +- 表数据量大的时候,影响查询效率的主要原因有哪些 +- 应用程序中存在包冲突的情况下,怎么发现和解决 +- Java之父直播面试被吊打? +- 字节跳动一面真题,如何提升接口的性能? +- 对接第三方接口要考虑什么? \ No newline at end of file diff --git a/logseq-java/pages/七大设计原则.md b/logseq-java/pages/七大设计原则.md new file mode 100644 index 0000000..ad5d717 --- /dev/null +++ b/logseq-java/pages/七大设计原则.md @@ -0,0 +1,8 @@ +- OOP七大原则 +- 开闭原则 +- 里式替换原则 +- 依赖倒置原则 +- 单一职责原则 +- 接口隔离原则 +- 迪米特法则 +- 合成复用原则 \ No newline at end of file diff --git a/logseq-java/pages/三元运算符.md b/logseq-java/pages/三元运算符.md new file mode 100644 index 0000000..4d97fe8 --- /dev/null +++ b/logseq-java/pages/三元运算符.md @@ -0,0 +1,18 @@ +- 语法 +- ```java + 数据类型 变量 = (布尔表达式)?值1:值2 + ``` +- ```java + public static void main(String[] args){ + int age = 16; + String result = age<12?"半票":"全票"; + System.out.println(result); + + } + ``` +- 其它写法: +- ```java + boolean flag = (3 >2) ? true:false; + int i = (3 > 2) ? 1 : -1; + String str = (3 > 2) ? "大于" : "小于"; + ``` \ No newline at end of file diff --git a/logseq-java/pages/业务对象.md b/logseq-java/pages/业务对象.md new file mode 100644 index 0000000..8c77d6e --- /dev/null +++ b/logseq-java/pages/业务对象.md @@ -0,0 +1 @@ +- 用来完成业务逻辑的对象 \ No newline at end of file diff --git a/logseq-java/pages/为什么多线程会带来性能问题.md b/logseq-java/pages/为什么多线程会带来性能问题.md new file mode 100644 index 0000000..6b6cc45 --- /dev/null +++ b/logseq-java/pages/为什么多线程会带来性能问题.md @@ -0,0 +1,8 @@ +- 上下文切换 + - 线程数大于核心数,分配时间片 +- 缓存失效 + - 重复访问同一数据 + - 需要重新缓存数据 +- 协作开销 + - 线程之间数据错乱 + - CPU重排序 \ No newline at end of file diff --git a/logseq-java/pages/为什么官方推荐自增主键.md b/logseq-java/pages/为什么官方推荐自增主键.md new file mode 100644 index 0000000..5b4055d --- /dev/null +++ b/logseq-java/pages/为什么官方推荐自增主键.md @@ -0,0 +1,3 @@ +- 自增主键可以维持底层数据顺序写入 +- 读取可以通过二分查找定位 +- 支持范围查询 \ No newline at end of file diff --git a/logseq-java/pages/为什么阿里禁用Executors创建线程.md b/logseq-java/pages/为什么阿里禁用Executors创建线程.md new file mode 100644 index 0000000..25c314b --- /dev/null +++ b/logseq-java/pages/为什么阿里禁用Executors创建线程.md @@ -0,0 +1,9 @@ +- 需要通过ThreadPoolExecutor方式创建 +- 规避资源耗尽的风险 +- FixedThreadPool和SingleThreadPool + - FixedThreadPool和SingleThreadPool使用LinkedBolckingQueue + - 允许请求队列长度未Integer.MAX_VALUE,导致堆积大量请求,OOM +- CachedThreadPool和ScheduledThreadPool + - CachedThreadPool和ScheduledThreadPool最大线程数为Integer.MAX_VALUE + - 允许创建的线程数量位Integer.MAX_VALUE,创建大量的线程,OOM +- 通过ArrayBlockingQueue(10)可以设置队列大小 \ No newline at end of file diff --git a/logseq-java/pages/为什么需要AQS,AQS的作用和重要性.md b/logseq-java/pages/为什么需要AQS,AQS的作用和重要性.md new file mode 100644 index 0000000..2619882 --- /dev/null +++ b/logseq-java/pages/为什么需要AQS,AQS的作用和重要性.md @@ -0,0 +1,4 @@ +- 线程协作功能的实现 +- seampher,阀门功能 +- countdownlatch +- cyclebarrier \ No newline at end of file diff --git a/logseq-java/pages/主从哨兵集群优缺点.md b/logseq-java/pages/主从哨兵集群优缺点.md new file mode 100644 index 0000000..f8be16d --- /dev/null +++ b/logseq-java/pages/主从哨兵集群优缺点.md @@ -0,0 +1,3 @@ +- 主从,有备份,没有故障转移,需要脚本或运维处理故障 +- 哨兵,借助哨兵监控master节点状态,配置略微复杂,性能和高可用表现一般,主从切换存在访问瞬断,只有一个主节点对外提供服务,单机节点并发不超过10万,单个节点数据量太大影响数据恢复或主从同步效率 +- 集群,多个小的主动节点,**复制,高可用和分片**,没有中心节点,可以水平扩展,并发量大 \ No newline at end of file diff --git a/logseq-java/pages/主从复制的核心原理.md b/logseq-java/pages/主从复制的核心原理.md new file mode 100644 index 0000000..d0ed1f0 --- /dev/null +++ b/logseq-java/pages/主从复制的核心原理.md @@ -0,0 +1,8 @@ +- 全量复制 + - 主节点通过bgsave进行RDB + - 将RDB文件发送给从节点 + - slave清理老数据,载入RDB文件 +- 部分复制 + - 复制偏移量:主从节点分别维护一个复制偏移量offset + - 复制积压缓冲区:维护一个固定长度,先进先出的队列作为复制积压缓冲区,主从节点offset的差距积压过大超过缓冲区长度无法部分复制,只能全量复制 + - 服务器运行ID(runid):每个Redis都有运行ID,从节点断开重连时会判断运行ID,如果相同则之前同步过,尝试部分复制,如果不同就进行全量复制 \ No newline at end of file diff --git a/logseq-java/pages/主从复制风暴.md b/logseq-java/pages/主从复制风暴.md new file mode 100644 index 0000000..3076641 --- /dev/null +++ b/logseq-java/pages/主从复制风暴.md @@ -0,0 +1,2 @@ +- redis主节点有很多从节点,某一时刻所有从节点都同时连接主节点把内存快照发送到从节点,进而主节点压力非常大 +- ![image.png](../assets/image_1696820820423_0.png) \ No newline at end of file diff --git a/logseq-java/pages/主内存和工作内存的关系.md b/logseq-java/pages/主内存和工作内存的关系.md new file mode 100644 index 0000000..1185b4d --- /dev/null +++ b/logseq-java/pages/主内存和工作内存的关系.md @@ -0,0 +1,2 @@ +- 缓存就是工作内存,速度比内存快很多 +- 线程只能操作工作内存,无法直接读取主内存,内部存储主内存中共享变量的副本 \ No newline at end of file diff --git a/logseq-java/pages/乐观锁.md b/logseq-java/pages/乐观锁.md new file mode 100644 index 0000000..ef6b8f7 --- /dev/null +++ b/logseq-java/pages/乐观锁.md @@ -0,0 +1,4 @@ +- 操作时假设数据一般情况不会造成冲突,所以在数据进行提交更新的时候才会正式对数据的冲突与否进行检测,如果冲突,返回给用户异常信息,让用户决定如何去做 +- 乐观锁假设最好的情况,[[悲观锁]]假设最差的情况 +- 依靠[[CAS]]版本控制实现 + - 通过一个单独的可以顺序递增的version字段来避免出现[[ABA问题]] \ No newline at end of file diff --git a/logseq-java/pages/事务.md b/logseq-java/pages/事务.md new file mode 100644 index 0000000..84be9cc --- /dev/null +++ b/logseq-java/pages/事务.md @@ -0,0 +1,6 @@ +- 一段具有明确开始,结束标记的,并且执行顺序有序的操作过程 +- 四大特性 [[ACID]] + - 原子性 + - 一致性 + - 隔离性 + - 持久性 \ No newline at end of file diff --git a/logseq-java/pages/事务在什么情况下会失效.md b/logseq-java/pages/事务在什么情况下会失效.md new file mode 100644 index 0000000..8345018 --- /dev/null +++ b/logseq-java/pages/事务在什么情况下会失效.md @@ -0,0 +1,8 @@ +- 10种情况 + - this调用 + - 方法不是public + - 没有被Spring容器管理 + - 代码不规范 + - new Service + - 异常未抛出 + - Mysql存储引擎[[InnoDB]]引擎支持事务,[[MyISAM]]引擎不支持事务 \ No newline at end of file diff --git a/logseq-java/pages/互联网企业面试题.md b/logseq-java/pages/互联网企业面试题.md new file mode 100644 index 0000000..0b3fed7 --- /dev/null +++ b/logseq-java/pages/互联网企业面试题.md @@ -0,0 +1,19 @@ +- ![北京-百度-Java中级.pdf](../assets/北京-百度-Java中级_1650621203546_0.pdf) +- ![北京-京东-Java中级.pdf](../assets/北京-京东-Java中级_1650621217355_0.pdf) +- ![广州-唯品会-Java大数据开发工程师.pdf](../assets/广州-唯品会-Java大数据开发工程师_1650621223110_0.pdf) +- ![杭州-阿里云-实习.pdf](../assets/杭州-阿里云-实习_1650621239443_0.pdf) +- ![杭州-蚂蚁金服-Java高级.pdf](../assets/杭州-蚂蚁金服-Java高级_1650621243356_0.pdf) +- ![杭州-蚂蚁金服-资深工程师.pdf](../assets/杭州-蚂蚁金服-资深工程师_1650621246822_0.pdf) +- ![南京-软通动力-Java中级.pdf](../assets/南京-软通动力-Java中级_1650621249683_0.pdf) +- ![厦门-中软国际-Java中级.pdf](../assets/厦门-中软国际-Java中级_1650621252613_0.pdf) +- ![上海-拼多多-Java高级.pdf](../assets/上海-拼多多-Java高级_1650621255476_0.pdf) +- ![上海-携程-Java高级.pdf](../assets/上海-携程-Java高级_1650621258714_0.pdf) +- ![深圳-OPPO-Java高级.pdf](../assets/深圳-OPPO-Java高级_1650621261753_0.pdf) +- ![深圳-丰巢科技-Java高级.pdf](../assets/深圳-丰巢科技-Java高级_1650621264445_0.pdf) +- ![深圳-乐信-Java高级.pdf](../assets/深圳-乐信-Java高级_1650621267215_0.pdf) +- ![深圳-蚂蚁金服-Java高级.pdf](../assets/深圳-蚂蚁金服-Java高级_1650621270016_0.pdf) +- ![深圳-商汤科技-Java高级.pdf](../assets/深圳-商汤科技-Java高级_1650621273205_0.pdf) +- ![深圳-腾讯-Java高级.pdf](../assets/深圳-腾讯-Java高级_1650621276076_0.pdf) +- ![深圳-银盛支付-Java中级.pdf](../assets/深圳-银盛支付-Java中级_1650621278654_0.pdf) +- ![深圳-中国平安-Java中级.pdf](../assets/深圳-中国平安-Java中级_1650621281524_0.pdf) +- \ No newline at end of file diff --git a/logseq-java/pages/产品需求文档.md b/logseq-java/pages/产品需求文档.md new file mode 100644 index 0000000..3cf20d5 --- /dev/null +++ b/logseq-java/pages/产品需求文档.md @@ -0,0 +1 @@ +- \ No newline at end of file diff --git a/logseq-java/pages/京东万象.md b/logseq-java/pages/京东万象.md new file mode 100644 index 0000000..99c0636 --- /dev/null +++ b/logseq-java/pages/京东万象.md @@ -0,0 +1 @@ +- 京东开发的接口 \ No newline at end of file diff --git a/logseq-java/pages/什么叫做阻塞队列的有界和无界.md b/logseq-java/pages/什么叫做阻塞队列的有界和无界.md new file mode 100644 index 0000000..12c62b3 --- /dev/null +++ b/logseq-java/pages/什么叫做阻塞队列的有界和无界.md @@ -0,0 +1,14 @@ +- ArrayBlockingQueue + - 底层使用的是数组,初始化需要输入队列大小,是有界的阻塞安全队列,默认不保证公平性,不允许插入null +- LinkedBlockingQueue + - 有界,但是默认大小为Integer.MAX_VALUE,可以理解为无界的 +- PriorityBlockingQueue + - 支持优先级的无界队列,实现了comparator接口 +- DelayQueue + - 支持延时优先级的误解阻塞队列,可使用在缓存系统的设计中 +- SynchronouseQueue + - 不存储元素,一个offer与一个take对应 +- LinkedTransferQueue + - 链表组成的无界队列 +- LinkedBlockingDueue + - 链表组成的无界双端队列 \ No newline at end of file diff --git a/logseq-java/pages/什么是bean的自动装配,有哪些方式.md b/logseq-java/pages/什么是bean的自动装配,有哪些方式.md new file mode 100644 index 0000000..98cd97d --- /dev/null +++ b/logseq-java/pages/什么是bean的自动装配,有哪些方式.md @@ -0,0 +1,5 @@ +- no-缺省状况下,通过ref属性手动设定 +- byName +- byType +- constructor,类似byType,不过是应用于构造器的参数,一个Bean与构造器参数的类型相同,则进行自动装配,否则导致异常 +- autodetect,有默认的构造器,通过constructor进行自动装配,否则使用byType \ No newline at end of file diff --git a/logseq-java/pages/什么是happen-before原则.md b/logseq-java/pages/什么是happen-before原则.md new file mode 100644 index 0000000..36b050b --- /dev/null +++ b/logseq-java/pages/什么是happen-before原则.md @@ -0,0 +1,13 @@ +- 单线程规则 + - 后面的语句在前面语句之后执行 +- 锁操作规则 + - synchronized,lock + - 解锁之前的操作都是可见的 +- volatile变量规则 + - 每一次改变读取的时候一定能读取到最新的值 +- 线程启动规则 + - 子线程可以看到父线程之前的操作 +- 线程join规则 + - join方法返回后,join内的语句在之后的语句可见 +- 中断规则 + - 线程被中断了,检测中断时一定会检测到这次中断 \ No newline at end of file diff --git a/logseq-java/pages/什么是mysql多实例部署.md b/logseq-java/pages/什么是mysql多实例部署.md new file mode 100644 index 0000000..ac171ca --- /dev/null +++ b/logseq-java/pages/什么是mysql多实例部署.md @@ -0,0 +1,2 @@ +- 一台主机上部署多个实例 +- 压榨服务器性能,但是会互相影响 \ No newline at end of file diff --git a/logseq-java/pages/什么是内存可见性.md b/logseq-java/pages/什么是内存可见性.md new file mode 100644 index 0000000..24b3724 --- /dev/null +++ b/logseq-java/pages/什么是内存可见性.md @@ -0,0 +1,2 @@ +- volatile +- \ No newline at end of file diff --git a/logseq-java/pages/什么是指令重排序,为什么要重排序.md b/logseq-java/pages/什么是指令重排序,为什么要重排序.md new file mode 100644 index 0000000..b7b8747 --- /dev/null +++ b/logseq-java/pages/什么是指令重排序,为什么要重排序.md @@ -0,0 +1,3 @@ +- 调整指令执行顺序,提高执行效率 +- CPU重排序 +- 内存重排序,缓存,主存,本地内存 \ No newline at end of file diff --git a/logseq-java/pages/什么是线程安全,线程安全的本质.md b/logseq-java/pages/什么是线程安全,线程安全的本质.md new file mode 100644 index 0000000..213d526 --- /dev/null +++ b/logseq-java/pages/什么是线程安全,线程安全的本质.md @@ -0,0 +1,8 @@ +- 一个对象可以被安全被多个线程同时使用,就是线程安全的 +- 可见性 + - CPU缓存 +- 原子性 + - 线程切换 +- 有序性 + - 编译器优化 + - \ No newline at end of file diff --git a/logseq-java/pages/什么是阻塞队列,Java中有哪些阻塞队列.md b/logseq-java/pages/什么是阻塞队列,Java中有哪些阻塞队列.md new file mode 100644 index 0000000..5d52fe8 --- /dev/null +++ b/logseq-java/pages/什么是阻塞队列,Java中有哪些阻塞队列.md @@ -0,0 +1,16 @@ +- BlockingQueue是一个线程安全的队列 +- 生产者和消费者模型,平衡两端 +- 隔离作用 +- +- take没有数据就阻塞,有数据就取,put没有满就放入数据,满就阻塞 +- +- ArrayBlockingQueue +- LinkedBlockingQueue +- SynchronousQueue +- DelayQueue +- LinkedTransferQueue +- PriorityBlockingQueue +- +- ConcurrentLinkedQueue +- +- Deque \ No newline at end of file diff --git a/logseq-java/pages/什么样的类能被回收.md b/logseq-java/pages/什么样的类能被回收.md new file mode 100644 index 0000000..39371f5 --- /dev/null +++ b/logseq-java/pages/什么样的类能被回收.md @@ -0,0 +1,3 @@ +- 该类的对象实例都已被回收,不存在该类的实例 +- 加载该类的ClassLoader已经被回收 +- 该类对应的java.lang.Class对象在任何地方没有引用,无法在任何地方通过反射访问该类的方法 \ No newline at end of file diff --git a/logseq-java/pages/传参.md b/logseq-java/pages/传参.md new file mode 100644 index 0000000..c589e26 --- /dev/null +++ b/logseq-java/pages/传参.md @@ -0,0 +1,52 @@ +- [[方法]](函数) + - 语法格式 + - ```java + 访问修饰符 static 返回类型 方法的方法名(参数列表){ + // 代码块 + } + ``` + - void 表示该方法没有任何的返回 + - 利用return返回结果 + - return a+b +- 方法分类 + - 无参无返回 + - ```java + public static void meth01(){} + ``` + - 有参无返回 + - ```java + public static void meth02(String str,int a){} + ``` + - 无参有返回 + - ```java + public static String meth03(){} + ``` + - 有参有返回 + - ```java + public static int meth04(int a,int b){} + ``` +- [[形参]] + - 形式上的参数,定义方法时用于定义的东西,主要规范参数类型,个数,顺序 +- [[实参]] + - 实际上的参数,在调用方法时传递的实际参数,实参一定要遵从行参规范类型,个数,顺序 +- 如果知道一个方法,需要传递什么参数 + - 圆面积-->半径 + - 数组长度-->数组 + - 元素下标-->数组,元素 + - 直角三角形斜边-->另外两个边 + - 两个字符串拼接-->两个字符串 + - 某字符串是否为空-->一个字符串 + - 方法在完成功能时需要外部提供什么,就定义什么 +- [[return]]返回 + - return返回的数值与方法名前定义类型中一致 + - 返回空值 return null + - ```java + public static String k(){ + return null + } + ``` + - 什么都不返回时用[[void]] +- 按值传递 + - [[基本数据类型]]参数,将main函数中的参数的值复制到方法中,用完后方法中的值会被销毁 + - [[引用数据类型]]参数,复制变量中指向的地址值 + - > Java中不管是基本数据类型还是引用数据类型,采用的都是复制变量值的方式 \ No newline at end of file diff --git a/logseq-java/pages/位运算符.md b/logseq-java/pages/位运算符.md new file mode 100644 index 0000000..7a0378a --- /dev/null +++ b/logseq-java/pages/位运算符.md @@ -0,0 +1,26 @@ +- & | ^ + - int a = 3 & 4 + boolean b = true & false + - 使用时可以放数值,也可以放布尔值 + - 位与运算& + - 比较两个二进制数据的同位数,如果都为1,此位结果为1 + - 位或运算| + - 比较两个二进制数据的同位数,如果任意为1,此位结果为1 + - 异或运算^ + - 比较两个二进制数据的同位数,如果相同为0,不同为1 +- 移位运算 + - 如何快速的把2变成32? #Java面试 + id:: 62451ad0-4023-43ff-82ad-a114bfb9ac7f + - 2 \<< 4 + - << + 表示将二进制整体向左移动多少位 + 2<<3 --> 2*2^3 -->16 + 移动多少位就乘以2的多少平方 + - \>> + 考虑符号的位移,位移之后符号不变 + 表示将二进制整体向右移动多少位 + 移动多少位就除以2的多少次方 + - \>>> + 不考虑符号的位移 + - 当进行运算的是个负数,可能变成一个非常大的数 + - \ No newline at end of file diff --git a/logseq-java/pages/低耦合.md b/logseq-java/pages/低耦合.md new file mode 100644 index 0000000..a12b889 --- /dev/null +++ b/logseq-java/pages/低耦合.md @@ -0,0 +1 @@ +- 类和类之间关系,要尽量减少耦合关系 \ No newline at end of file diff --git a/logseq-java/pages/你知道哪些线程安全问题.md b/logseq-java/pages/你知道哪些线程安全问题.md new file mode 100644 index 0000000..bad3f70 --- /dev/null +++ b/logseq-java/pages/你知道哪些线程安全问题.md @@ -0,0 +1,3 @@ +- 多个线程同时操作共享变量 +- 发布和初始化导致的线程安全问题 +- 活跃性问题,始终得不到运行结果,死锁,活锁,线程饥饿 \ No newline at end of file diff --git a/logseq-java/pages/你知道哪几种锁,分别有什么特点.md b/logseq-java/pages/你知道哪几种锁,分别有什么特点.md new file mode 100644 index 0000000..66c11d9 --- /dev/null +++ b/logseq-java/pages/你知道哪几种锁,分别有什么特点.md @@ -0,0 +1,10 @@ +- 无锁/偏向锁/轻量级锁/重量级锁 + - 短时间竞争不激烈升级为轻量级锁 + - 多个线程长时间竞争升级成为重量级锁 +- 可重入锁/非可重入锁 + - 是否可以多次获取同一个锁 +- 共享锁/独占锁 +- 公平锁/非公平锁 +- 悲观锁/乐观锁 +- 自旋锁/非自旋锁 +- 可中断锁/不可中断锁 \ No newline at end of file diff --git a/logseq-java/pages/你都知道哪些锁.md b/logseq-java/pages/你都知道哪些锁.md new file mode 100644 index 0000000..e69de29 diff --git a/logseq-java/pages/使用int作为自增主键,最大id为10,删除10和9,添加一条记录,不重启和重启后添加记录id为多少.md b/logseq-java/pages/使用int作为自增主键,最大id为10,删除10和9,添加一条记录,不重启和重启后添加记录id为多少.md new file mode 100644 index 0000000..90f6449 --- /dev/null +++ b/logseq-java/pages/使用int作为自增主键,最大id为10,删除10和9,添加一条记录,不重启和重启后添加记录id为多少.md @@ -0,0 +1,2 @@ +- 如果重启,会从最大的id开始递增,id为9 +- 如果不重启,延续删除之间的最大id递增,id为11 \ No newline at end of file diff --git a/logseq-java/pages/元空间.md b/logseq-java/pages/元空间.md new file mode 100644 index 0000000..f097826 --- /dev/null +++ b/logseq-java/pages/元空间.md @@ -0,0 +1 @@ +- 放置类的类对象 \ No newline at end of file diff --git a/logseq-java/pages/元素.md b/logseq-java/pages/元素.md new file mode 100644 index 0000000..3918a48 --- /dev/null +++ b/logseq-java/pages/元素.md @@ -0,0 +1,9 @@ +- [[HTML]]文档由HTML元素定义 +- 结构 + - 开始标签opening tag + - 结束标签 xlosing tag + - 元素内容 +- 空元素 + - 没有内容的HTML标签 + -
为关闭空元素正确方法,但是
也是有效的 +- 使用小写标签 \ No newline at end of file diff --git a/logseq-java/pages/兄弟类.md b/logseq-java/pages/兄弟类.md new file mode 100644 index 0000000..f706e73 --- /dev/null +++ b/logseq-java/pages/兄弟类.md @@ -0,0 +1,8 @@ +- ```java + class A{ + + } + class B{ + + } + ``` \ No newline at end of file diff --git a/logseq-java/pages/先根遍历.md b/logseq-java/pages/先根遍历.md new file mode 100644 index 0000000..b2cf13b --- /dev/null +++ b/logseq-java/pages/先根遍历.md @@ -0,0 +1 @@ +- ![image.png](../assets/image_1695911594061_0.png) \ No newline at end of file diff --git a/logseq-java/pages/全局变量.md b/logseq-java/pages/全局变量.md new file mode 100644 index 0000000..07d15a9 --- /dev/null +++ b/logseq-java/pages/全局变量.md @@ -0,0 +1,4 @@ +- 定义在方法的外部,类的内部 +- 特点 + - 所有方法都可以使用 +- [[局部变量]] \ No newline at end of file diff --git a/logseq-java/pages/全文检索引擎.md b/logseq-java/pages/全文检索引擎.md new file mode 100644 index 0000000..19d4ea1 --- /dev/null +++ b/logseq-java/pages/全文检索引擎.md @@ -0,0 +1,3 @@ +- [[Lucene]] +- [[Solr]] +- [[ElasticSearch]] \ No newline at end of file diff --git a/logseq-java/pages/公平锁和非公平锁.md b/logseq-java/pages/公平锁和非公平锁.md new file mode 100644 index 0000000..a83b27d --- /dev/null +++ b/logseq-java/pages/公平锁和非公平锁.md @@ -0,0 +1,7 @@ +- 公平锁 + - 各线程公平平等,每个线程执行一段时间后总会有执行的机会 + - 更慢,吞吐量更小 +- 非公平锁 + - 更快,吞吐量更大 + - 可能产生线程饥饿,某些线程在长时间内始终得不到执行 + - 唤醒线程有一定开销 \ No newline at end of file diff --git a/logseq-java/pages/关系型数据库.md b/logseq-java/pages/关系型数据库.md new file mode 100644 index 0000000..b1be529 --- /dev/null +++ b/logseq-java/pages/关系型数据库.md @@ -0,0 +1,4 @@ +- 缺陷 + - 性能较差 + - 针对多表查询,SQL语句复杂,学习成本高 + - 一旦设定,结构固定,很难修改 \ No newline at end of file diff --git a/logseq-java/pages/关系运算符.md b/logseq-java/pages/关系运算符.md new file mode 100644 index 0000000..f6e46ac --- /dev/null +++ b/logseq-java/pages/关系运算符.md @@ -0,0 +1,15 @@ +- 包含==,!=,>,<,=,<=,>=,instanceof + id:: 6243f2ea-e08c-4ec2-850d-3ecf6e67889a +- == + 判断是否等于 +- != +- \>,< +- = +- \>=,<= +- 键盘录入 + - Scanner + - java.util.Scanner + - Scanner scanner = new Scanner(System.in) + - int a = scanner.nextInt() + - 扫描控制台输入 +- 自动导包 #IDEA \ No newline at end of file diff --git a/logseq-java/pages/其它功能流.md b/logseq-java/pages/其它功能流.md new file mode 100644 index 0000000..f3bd907 --- /dev/null +++ b/logseq-java/pages/其它功能流.md @@ -0,0 +1,6 @@ +- [[PrintWrite]] + - 字符打印输出流 +- [[PrintStream]] + - 字节打印输出流 + - System.out.println之中out指PrintStream +- \ No newline at end of file diff --git a/logseq-java/pages/内存泄漏如何排查和解决.md b/logseq-java/pages/内存泄漏如何排查和解决.md new file mode 100644 index 0000000..57e34d5 --- /dev/null +++ b/logseq-java/pages/内存泄漏如何排查和解决.md @@ -0,0 +1,2 @@ +- 电商多级缓存架构,JVM使用HashMap来作为缓存,不断往缓存里面放数据,但是很多数据不使用,导致map越来越大,频繁full gc,最终OOM +- 使用一些成熟的JVM级缓存框架解决,比如ehcache等自带LRU淘汰算法的框架 \ No newline at end of file diff --git a/logseq-java/pages/内存淘汰策略.md b/logseq-java/pages/内存淘汰策略.md new file mode 100644 index 0000000..3c66f52 --- /dev/null +++ b/logseq-java/pages/内存淘汰策略.md @@ -0,0 +1,17 @@ +- Redis内存淘汰策略 #card + - Redis使用的已经超过maxmemory时触发 + - **过期的key** + - volatile-ttl:删除设置了过期时间的key,越早的越先删除 + - volatile-random:随机删除设置了过期时间的key + - volatile-lru:使用LRU算法筛选设置了过期时间的key ,最近最少使用的key + - volatile-lfu:使用lfu算法筛选设置了过期时间的key 最不经常使用的key + - **所有的key** + - allkeys-random:从所有key中随机删除 + - allkeys-lru:从所有key中删除最少使用的key + - allkeys-lfu:从所有key中删除最不经常使用的key + - **不处理** + - noeviction:不删除任何数据,拒接写入操作并返回错误信息,只响应读操作 +- LRU和LFU的区别 + - LRU:淘汰很久没被访问的key,以最近一次访问时间作为参考 + - LFU:淘汰最近一段时间被访问次数最少的数据,以次数作为参考 + - 大多数时间用LRU,大量热点缓存数据用LFU \ No newline at end of file diff --git a/logseq-java/pages/内部类.md b/logseq-java/pages/内部类.md new file mode 100644 index 0000000..de8a140 --- /dev/null +++ b/logseq-java/pages/内部类.md @@ -0,0 +1,14 @@ +- 类内部的类 + - ```java + class A{ + //成员内部类 + class AA{ + + } + //静态内部类 + static class AB{ + + } + } + ``` +- [[兄弟类]] \ No newline at end of file diff --git a/logseq-java/pages/分布式消息队列面试题.md b/logseq-java/pages/分布式消息队列面试题.md new file mode 100644 index 0000000..2dba84d --- /dev/null +++ b/logseq-java/pages/分布式消息队列面试题.md @@ -0,0 +1,16 @@ +- 什么是消息队列? +- 滴滴二面:kafka的零拷贝原理? +- 滴滴二面:kafka的零拷贝原理? +- Kafka 如何保证消息不丢失? +- Kafka 怎么避免重复消费 +- 什么是ISR,为什么需要引入ISR +- Kafka 如何保证消息消费的顺序性? +- RabbitMQ的消息如何实现路由? +- 如何保证 RabbitMQ的消息可靠传输 +- RabbitMQ如何实现高可用 +- 如何处理消息队列的消息积压问题 +- Kafka 消息队列怎么保证 exactlyOnce,怎么实现顺序消费 +- 说一下Kafka中Parttion 分区副本的Leader选举算法 +- Kafka中一个Topic有三个Partition,同一个消费组中两个消费者如何消费的? +- 多线程异步和MQ有什么区别? +- 谈谈你对MQ(消息中间件)的理解 \ No newline at end of file diff --git a/logseq-java/pages/分布式缓存方案.md b/logseq-java/pages/分布式缓存方案.md new file mode 100644 index 0000000..bbd5a06 --- /dev/null +++ b/logseq-java/pages/分布式缓存方案.md @@ -0,0 +1,18 @@ +- 客户端缓存 + - 页面和流量器缓存 + - APP缓存 + - H5缓存 + - LocalStroage,SessionStorage +- CDN缓存 + - 内容存储:数据的缓存 + - 内容分发:负载均衡 +- nginx缓存 + - 静态资源 +- 服务器缓存 + - 本地缓存,外部缓存 +- 数据库缓存 + - 持久层缓存(mybatis,hibernate多级缓存) + - mysql查询缓存 +- 操作系统缓存 + - Page Cache + - Buffer Cache \ No newline at end of file diff --git a/logseq-java/pages/分库分表.md b/logseq-java/pages/分库分表.md new file mode 100644 index 0000000..9d3526e --- /dev/null +++ b/logseq-java/pages/分库分表.md @@ -0,0 +1,29 @@ +- 什么是分库分表 + - 垂直分库 + - 水平分表 + - 把一张表里面的内容按照不同规则,分到不同库中 +- 什么时候进行分库分表,有没有配合es使用经验 + - 能不分就不分 + - 单机性能明显下降 + - 增加缓存(通常查询量比较大),细分业务 + - 首先尝试主从集群,读写分离 + - 尝试分库 + - 尝试分表->冷热数据分离 + - 大数量下可以配合es完成高效查询 +- 分库分表工具实现思路 + - 伪装成mysql服务器,代理用户请求转发到真实服务器,mycat + - 基于本地aop实现,拦截sql,改写,路由和结果归集处理 +- 用过哪些分库分表工具 + - mycat + - sharding-jdbc + - sharding-proxy + - sharding-sidecar +- 分库分表后的问题 + - 执行效率明显降低 + - 表结构很难再次调整 + - 引发分布式id问题 + - 产生跨库join + - 代理类中间件网络io称为瓶颈 +- 读写分离常见方案 + - mycat,读请求和写请求分离到不同主机 + - \ No newline at end of file diff --git a/logseq-java/pages/创建索引的情况.md b/logseq-java/pages/创建索引的情况.md new file mode 100644 index 0000000..608d3ee --- /dev/null +++ b/logseq-java/pages/创建索引的情况.md @@ -0,0 +1,15 @@ +- 适合创建 + - 频繁where条件查询 + - 关联字段 + - 排序字段 + - 分组字段(分组前提是排序) + - 统计字段(count,max) +- 不适合创建 + - 频繁更新 + - where,分组,排序用不上 + - 表数据非常少 + - 参与函数计算 +- 误解 + - 宁滥毋缺,只要一个查询就需要一个索引 + - 宁缺毋滥,索引会消耗空间拖慢修改速度 + - 抵制唯一索引,认为业务唯一性需要应用层先查后插方式解决 \ No newline at end of file diff --git a/logseq-java/pages/删除key的命令会阻塞redis吗.md b/logseq-java/pages/删除key的命令会阻塞redis吗.md new file mode 100644 index 0000000..bb92153 --- /dev/null +++ b/logseq-java/pages/删除key的命令会阻塞redis吗.md @@ -0,0 +1,3 @@ +- DEL Key [key ……] +- string为o(1) +- 列表,集合,有序集合,哈希表类型o(M),M为结构内元素数据 \ No newline at end of file diff --git a/logseq-java/pages/前后端分离.md b/logseq-java/pages/前后端分离.md new file mode 100644 index 0000000..7039e1f --- /dev/null +++ b/logseq-java/pages/前后端分离.md @@ -0,0 +1,10 @@ +- 不分离 + - 前端和后端代码都由Java程序员编写,在同一个项目中 +- 分离 + - 前后端为两个独立项目,代码分开不干扰 + - 前后端通过 [[JSON]]交互数据 +- 运行环境 + - Java + - Tomcat+JVM + - 前端 + - [[Node.js]] \ No newline at end of file diff --git a/logseq-java/pages/动态多态.md b/logseq-java/pages/动态多态.md new file mode 100644 index 0000000..477f1b4 --- /dev/null +++ b/logseq-java/pages/动态多态.md @@ -0,0 +1,9 @@ +- 先决技术 + - 必须要继承,必须要有方法的重写 + - 父类的引用可以指向子类的实现 + - ```java + Girl g = new GentleGirl(); + ``` + - 父类只可以查看父类,子类可以查看全部 + - 动态绑定 + - 父类的引用,指向不同子类的实现,会自动调用子类的行为 \ No newline at end of file diff --git a/logseq-java/pages/包装类.md b/logseq-java/pages/包装类.md new file mode 100644 index 0000000..1023c6b --- /dev/null +++ b/logseq-java/pages/包装类.md @@ -0,0 +1,51 @@ +- [[基本数据类型]] 不是对象 +- |基本数据类型 |对应的包装类| + |byte |[[Byte]]| + |short |[[Short]]| + |int |[[Integer]]| + |long |[[Long]]| + |float |[[Float]]| + |double |[[Double]]| + |char |[[Character]]| + |boolean |[[Boolean]]| +- 包装类继承关系 + - ```mermaid + graph TD + 开始 --> 结束 + ``` +- [[Integer]] 的使用 + - 手动装箱 + - JDK1.5之前 + - 使用new新建一个 + - 使用intValue手动拆箱 + id:: 62590d29-5b52-4d8d-9507-a1a8793bf3f8 + - 自动装箱 + - ```java + Integer i = 12; + ``` + - 自动拆箱 + - ```java + int b = i; + ``` +- #+BEGIN_EXAMPLE + 将字符串转int + #+END_EXAMPLE + - ```java + String a = "12"; + + int a1 = Integer.paraseInt(a); + Integer a2 = Integer.valueOf(a); + ``` +- #+BEGIN_EXAMPLE + 10进制转其它进制 + #+END_EXAMPLE + - ```java + ``` +- 查看最大最小值 + - ```java + ``` +- Integer在值处于byte类型时,如果值相等,定义的Integer对象地址值都一样 #Java面试 + query-sort-by:: block + query-table:: true + query-sort-desc:: true + - \ No newline at end of file diff --git a/logseq-java/pages/匿名内部类.md b/logseq-java/pages/匿名内部类.md new file mode 100644 index 0000000..f6752d5 --- /dev/null +++ b/logseq-java/pages/匿名内部类.md @@ -0,0 +1,23 @@ +- [[内部类]] +- 定义在一个方法的内部,而且没有名字的类 +- 该类的生命周期,跟方法同步 +- ```java + Comparator costu = new Comparator(){ + @Override + public int compare(Student o1,Student o2){ + return o1.getAge-o2.getAge; + } + }; + Collections.sort(stu, costu); + `` +- [[forEach]] + - 类的实例化和类的定义放置在一起 + - id:: 625e5ddf-aa2d-4567-8531-3ccc94628ef7 + ```java + stu.forEach(new Consumer() { + @Override + public void accept(Student student) { + System.out.println(student); + } + }); + ``` \ No newline at end of file diff --git a/logseq-java/pages/千万数据查询优化.md b/logseq-java/pages/千万数据查询优化.md new file mode 100644 index 0000000..cddd3ca --- /dev/null +++ b/logseq-java/pages/千万数据查询优化.md @@ -0,0 +1,19 @@ +- 前端优化 减少查询 + - 合并请求,多个请求需要的数据尽量一条sql + - 会话保存,和用户会话相关的数据尽量一次取出重复使用 + - 避免无效刷新 +- 多级缓存,不要触及到数据库 + - 应用层热点数据高速查询缓存(低一致性) + - 高频查询大数据量镜像缓存(双写高一致性缓存) + - 入口层缓存(几乎不变的系统常量) +- 使用合适字段类型,varchar换成char +- 高效使用索引 + - 使用explain深入观察分析 + - 检查select字段最好满足索引覆盖 + - 复合索引注意key_len索引使用情况 + - 有分组,排序,注意file sort,合理配置相应的buffer大小 +- 检查查询是否可以分段查询,避免一次拿出过多无效数据 +- 多表关联查询是否可以设置冗余字段,是否可以简化多表查询或分批查询 +- 分而治之,把服务拆分成更小粒度的微服务 +- 冷热数据分库存储 +- 读写分离,主从集群,再考虑分库分表 \ No newline at end of file diff --git a/logseq-java/pages/单分支.md b/logseq-java/pages/单分支.md new file mode 100644 index 0000000..117df11 --- /dev/null +++ b/logseq-java/pages/单分支.md @@ -0,0 +1,6 @@ +- 只判断是否符合,符合就执行执行,不符合跳过 +- ```java + if(age >= 18){ + System.out.println("约!"); + } + ``` \ No newline at end of file diff --git a/logseq-java/pages/单精度浮点.md b/logseq-java/pages/单精度浮点.md new file mode 100644 index 0000000..e07ccee --- /dev/null +++ b/logseq-java/pages/单精度浮点.md @@ -0,0 +1,2 @@ +- 占四个字节长度,取值范围远大于int +- 可精确到小数点后7位数 \ No newline at end of file diff --git a/logseq-java/pages/原码.md b/logseq-java/pages/原码.md new file mode 100644 index 0000000..2b054c4 --- /dev/null +++ b/logseq-java/pages/原码.md @@ -0,0 +1,4 @@ +- [[反码]] +- [[补码]] +- 不考虑符号,使用正整数转换原则,得到原码,最高位为1 +- 0000 1100 --> 1000 1100 \ No newline at end of file diff --git a/logseq-java/pages/双亲委派机制.md b/logseq-java/pages/双亲委派机制.md new file mode 100644 index 0000000..7f420d7 --- /dev/null +++ b/logseq-java/pages/双亲委派机制.md @@ -0,0 +1,3 @@ +- 先找父亲加载器加载,不行再由儿子加载器自己加载 +- 沙箱安全机制 +- 避免类的重复加载,保证被加载类的唯一性 \ No newline at end of file diff --git a/logseq-java/pages/双精度浮点.md b/logseq-java/pages/双精度浮点.md new file mode 100644 index 0000000..e407eb1 --- /dev/null +++ b/logseq-java/pages/双精度浮点.md @@ -0,0 +1,2 @@ +- 占据8个字节长度 +- 可精确到小数点后16位 \ No newline at end of file diff --git a/logseq-java/pages/反射.md b/logseq-java/pages/反射.md new file mode 100644 index 0000000..801657f --- /dev/null +++ b/logseq-java/pages/反射.md @@ -0,0 +1,3 @@ +- Java中的一种自审机制 +- 通过反射在运行期间动态获取一个类的内部信息,并访问类中的属性,方法,构造方法 +- [[Class]]对象 \ No newline at end of file diff --git a/logseq-java/pages/反码.md b/logseq-java/pages/反码.md new file mode 100644 index 0000000..22f3358 --- /dev/null +++ b/logseq-java/pages/反码.md @@ -0,0 +1,4 @@ +- [[原码]] +- [[补码]] +- 符号位以外其它位置01调转 +- 1000 1100 --> 1111 0011 \ No newline at end of file diff --git a/logseq-java/pages/变量.md b/logseq-java/pages/变量.md new file mode 100644 index 0000000..137cfd7 --- /dev/null +++ b/logseq-java/pages/变量.md @@ -0,0 +1,69 @@ +- 字面量 + - 以文件形式直接出现在程序中的数据 + - ```java + public static void main(String[] args) { + System.out.println(11); //int类型 + System.out.println(1.1F); //float类型,需要在末尾加F + System.out.println(1.11); //double类型 + System.out.println(1000000L); //long类型,需要在末尾加L + System.out.println('字'); //char类型,需要单引号 + System.out.println(true); //boolean类型 + System.out.println("字符!") //String类型字面量,需要双引号 + } + ``` +- 变量 + - 最基本存储单元 + - 定义单个变量 +- ## [[Java程序注释]] +- 变量:在一定范围内可以变化的量,本质上是内存空间的一个变化 + - 语法结构 + - ```java + 数据类型 变量名; + 变量名 = 初始值; + ``` + ```java + 数据类型 变量名 = 初始值; + ``` + - 先定义,后赋值 + ```java + public static void main(String[] args) { + + int num; + + num=10; + + System.out.println(num); + + num=20; + + System.out.println(num); + + } + ``` + - 定义的同时赋值 + ```java + public static void main(String[] args) { + + int num = 10; + + System.out.println(num); + + num=20; + + System.out.println(num); + + } + ``` + - 注意: + - 变量一定要赋初值 + - 在同一方法内部变量名不能重复 + - 变量赋值过程 + - 在内存中根据数据类型申请对应内存空间 + - 给内存空间定义一个名字num + - 给num的变量空间赋初始值10 + - [[局部变量]] + - [[全局变量]] +- [[常量]]:恒久不变的量 + - PI = 3.14 + - [[字面量常量]] + - [[自定义常量]] \ No newline at end of file diff --git a/logseq-java/pages/可以用MySQL存储文件吗.md b/logseq-java/pages/可以用MySQL存储文件吗.md new file mode 100644 index 0000000..3209dc5 --- /dev/null +++ b/logseq-java/pages/可以用MySQL存储文件吗.md @@ -0,0 +1,2 @@ +- 可以用BLOB存储二进制大对象 +- 需要高效查询且文件很小的时候可以存,文件比较大,数据量多且变更频繁不使用 \ No newline at end of file diff --git a/logseq-java/pages/合适的线程数量,CPU核心数和线程数的关系.md b/logseq-java/pages/合适的线程数量,CPU核心数和线程数的关系.md new file mode 100644 index 0000000..3b16f03 --- /dev/null +++ b/logseq-java/pages/合适的线程数量,CPU核心数和线程数的关系.md @@ -0,0 +1,6 @@ +- CPU密集型 + - 解压缩,加解密 +- IO密集型 + - 网络IO读写 +- 线程数=CPU核心数*(1+平均等待时间/平均工作时间) +- 压测+动态性能监测 \ No newline at end of file diff --git a/logseq-java/pages/向上转型.md b/logseq-java/pages/向上转型.md new file mode 100644 index 0000000..de5dbe9 --- /dev/null +++ b/logseq-java/pages/向上转型.md @@ -0,0 +1,5 @@ +- 父类的引用可以指向子类 + id:: 625635a9-b792-4584-8b37-79f8ccf711ac +- [[基本数据类型]]的向上转型 + - [[隐式转换]] +- [[引用数据类型]]也可以,但要求只能发生在父子之间 \ No newline at end of file diff --git a/logseq-java/pages/向上转型与向下转型.md b/logseq-java/pages/向上转型与向下转型.md new file mode 100644 index 0000000..4c21ed5 --- /dev/null +++ b/logseq-java/pages/向上转型与向下转型.md @@ -0,0 +1,3 @@ +- [[向上转型]] +- [[向下转型]] +- [[instanceof]]关键字 \ No newline at end of file diff --git a/logseq-java/pages/向下转型.md b/logseq-java/pages/向下转型.md new file mode 100644 index 0000000..4879083 --- /dev/null +++ b/logseq-java/pages/向下转型.md @@ -0,0 +1,11 @@ +- [[基本数据类型]][[强制转换]] + - 转型有风险 +- [[引用数据类型]] + - 用强制转换符()实现 + - ```java + Gun g = new HandGun(); + WaterGun() wg = (WaterGun) g; + ``` + - [[ClassCastException]] + - +- \ No newline at end of file diff --git a/logseq-java/pages/周考1.md b/logseq-java/pages/周考1.md new file mode 100644 index 0000000..94a792b --- /dev/null +++ b/logseq-java/pages/周考1.md @@ -0,0 +1,24 @@ +- [第1周周考题.doc](../assets/第1周周考题_1648879465967_0.doc) +- 一 + - 1.double首字母小写 + - 1-5 DADBD + - 7. folat f = 1/3.0; 3.0是double类型 + - 6-10 ABACA +- 二 + - 1.break return + - (break continue) + - 2.byte short int long float double char boolean + - 3.单分支,双分支,多分支 + - 4.javac java + - 5.JAVA_HOME,PATH,CLASSPATH + - 6.byte short int long String 枚举 + - 7.for while do-while + - 8.初始化一个变量,退出循环的条件,循环之后变量的更新 +- 三 + - 1.&是位运算符,两侧可以放数值也可放布尔表达式,&&是逻辑运算符,两侧只能放布尔表达式,&&有短路效果,如果前面的为falase,则后面的不会执行 + - 2.if-else if中判断的是变量的值是否符合条件,switch中判断的是变量是否是某个确定的值 + - 3.=是将=右边的值赋值给=左边的变量,==是用于判断两边的值是否相等,返回的结果是布尔值 + - 4.for循环一般用于已知循环次数的条件下,while用于不知道循环次数,但知道何时退出的情况 + - 5.编译是将Java源代码编译为字节码文件,解释是将字节码文件转化为机器的01代码 +- 四 + - \ No newline at end of file diff --git a/logseq-java/pages/周考2.md b/logseq-java/pages/周考2.md new file mode 100644 index 0000000..12116f2 --- /dev/null +++ b/logseq-java/pages/周考2.md @@ -0,0 +1,42 @@ +- [第2周周考题.doc](../assets/第2周周考题_1650089024252_0.doc) +- [第2周周考题 (1).doc](../assets/第2周周考题_(1)_1650101190627_0.doc) +- 一 + 1-5 DCADA + 6-10 DCDDB + 11-13 DAC + 14 ACE + 15 AC +- 二 + 1. 重写是指子类重写父类的方法,是发生在父子类之间,重写方法的返回值类型父类大于子类 + 重载是指在一个类中,方法名相同,但是传入不同的参数个数,顺序.类型 + + 2. 抽象类是带有abstract关键字修饰的类,抽象类中可以放普通的属性,方法以及抽象方法 + 接口是定义为interface的类,是比抽象类还要抽象的类,是用来拓展类的功能的,接口中抽象方法默认为public和abstract,接口中可以放抽象方法和静态常量 + 抽象类中抽象方法需要有子类继承实现,接口则需要有实现类来实现 + 抽象类只能单继承,接口可以多继承,多实现 + + 3. 封装,继承,多态,抽象 + + 4. F5 进入到当前调试方法的内部 + F6 执行下一步,不进入当前断点方法内部 + F7 跳出当前断点的方法 + F8 进入到下一断点 + + 5. valueOf + indexOf + splite + charAt + trim + + 6. 基本数据类型直接将值赋给这个变量 + 引用数据类型变量存储的是在堆中的地址 + 基本数据类型在传递时复制其值 + 引用数据类型在传递时复制其地址 + + 7. public:本类+本包+其它包的子类+其它包的其它类 + protected:本类+本包+其它包的子类 + 默认:本类+本包 + private:本类 +- 三 + + 人类在实现研究动物繁殖时用到了动物类中封装的get方法,由于无法确定所有动物的新城代谢和繁殖方式,因此在动物类中将这两个方法定义为抽象方法,动物类也定义抽象类,鸟类在继承动物类时实现这两个方法,由于飞和唱歌这两个方法不能从动物类和鸟类中继承,所以大雁飞和企鹅唱歌都通过飞和唱歌这两个接口来实现 \ No newline at end of file diff --git a/logseq-java/pages/哪些解决死锁的策略.md b/logseq-java/pages/哪些解决死锁的策略.md new file mode 100644 index 0000000..00ea594 --- /dev/null +++ b/logseq-java/pages/哪些解决死锁的策略.md @@ -0,0 +1,11 @@ +- 避免策略 + - 优化代码逻辑 + - 一次获取全部的锁 + - 获取不到锁就释放当前持有的锁 + - 按顺序申请锁 +- 检测与恢复策略 + - 记录锁的调用链路图,判断是否有死锁 + - 线程中止,优先级,占用资源 + - 资源抢占,剥夺 +- 鸵鸟策略 + - 不处理 \ No newline at end of file diff --git a/logseq-java/pages/回表操作.md b/logseq-java/pages/回表操作.md new file mode 100644 index 0000000..283d799 --- /dev/null +++ b/logseq-java/pages/回表操作.md @@ -0,0 +1,9 @@ +- 单次获取的数据不能满足查询条件 +- 覆盖索引 + - 所需要获取的值在索引上已经可以获取 +- 非聚簇索引一定要回表吗 + - 不一定 +- 为什么要回表查询 + - 为了控制非聚簇索引的大小 +- 如果删除一个InnoDB表主键,是不是就没有主键了,没办法回表 + - 不会,会生成一个rowID \ No newline at end of file diff --git a/logseq-java/pages/垃圾回收器.md b/logseq-java/pages/垃圾回收器.md new file mode 100644 index 0000000..02333c8 --- /dev/null +++ b/logseq-java/pages/垃圾回收器.md @@ -0,0 +1,27 @@ +- Serial,Serial Old + - 串行回收器 + - 复制算法 + - 单线程回收 +- Serial Old + - 标记整理算法 + - 可以与其他新生代回收期使用 +- parNew + - 并行回收器 + - 与Serial过程一致 +- Parallel Scavenge + - 注重系统吞吐量 + - 自适应GC调节策略 + - 新生代各区域大小,进入老年代年龄 +- Parallel Old + - 与Parrallel Old一致 + - 标记整理算法 +- CMS + - 关注系统停顿时间 + - 多线程并行回收 + - 初始标记,并发标记 +- G1 + - 取代CMS + - 使用分区算法,不要求内存连续,每个区域运行时充当某个角色 + - 添加一个humongous区域存放巨型对象 + - 混合回收,会记录收集情况 +- ZGC \ No newline at end of file diff --git a/logseq-java/pages/垃圾回收算法.md b/logseq-java/pages/垃圾回收算法.md new file mode 100644 index 0000000..077a787 --- /dev/null +++ b/logseq-java/pages/垃圾回收算法.md @@ -0,0 +1,23 @@ +- 什么样的对象是垃圾 +- 如何判断垃圾 + - 引用计数器 + - 循环依赖 + - 可达性分析法 + - GCRoot,一组活跃的引用 + - 可触及 + - 强引用 + - 弱引用 + - 软引用 + - 虚引用 +- 如何回收垃圾 + - 标记清除 + - 空间碎片 + - 复制算法 + - 空间利用率低 + - 无内存碎片 + - 标记整理 + - 压缩存活对象 +- 垃圾回收思想 + - 分代 + - 分区 + - 小区间独立回收 \ No newline at end of file diff --git a/logseq-java/pages/垃圾收集底层三色标记算法.md b/logseq-java/pages/垃圾收集底层三色标记算法.md new file mode 100644 index 0000000..9bd488c --- /dev/null +++ b/logseq-java/pages/垃圾收集底层三色标记算法.md @@ -0,0 +1,12 @@ +- 按照是否访问过分为三种对象 +- 黑色 + - 已经被访问过,且这个对象所有引用都被扫描过,有其它对象引用指向黑色对象,无需重新扫描 +- 灰色 + - 已经被访问过,但这个对象上至少存在一个引用没有被扫描过 +- 白色 + - 没有被访问过,可达性分析刚开始的阶段所有对象都是白色的,分析结束还是白色表示不可达 +- 解决漏标问题 + - 增量更新 + - 并发标记之后生产的新对象引用会存放到一个集合里面,重新标记的时候会重新扫描新的引用 + - 原始快照SATB + - 并发标记之后删除的引用会存放到一个集合中,重新标记阶段扫描后可以重新扫描里里面的引用 \ No newline at end of file diff --git a/logseq-java/pages/基本数据类型.md b/logseq-java/pages/基本数据类型.md new file mode 100644 index 0000000..90dcc98 --- /dev/null +++ b/logseq-java/pages/基本数据类型.md @@ -0,0 +1,35 @@ +- Java是一种[[强类型]]的编程语言,任何的变量都必须要有对应的数据类型 +- 数据类型出现的含义 + - 规范变量空间的内容 + - 规范变量控制的大小 +- 分类 + - 基本数据类型 + - 用于存储一些比较简单的数据,内存中存储的是数据本身 + - [[引用数据类型]] + - 用于存储一些结构更加复杂,数据量更大的数据,内存空间中存储的是一个内存空间的地址 +- **基本数据类型分类** + - 整数型 + - byte + - short + - int + - long + - 浮点型 + - float + - double + - 字符型 + - char + - 布尔型 + - boolean + - 计算机中默认使用byte作为最小的存储单位 + - 1[[字节]]由8个[[二进制]]位构成 + - |类型|名称|字节占用|取值范围| + |[[byte]]|[[字节类型]]|1字节|-128~127| + | [[short]] |[[短整数类型]]|2字节|-32768~32767| + |[[int]]|[[整型]]|4字节|-2,147,483,648(-2^31)|| + |[[long]]|[[长整型]]|8字节|1.45E-45| + |[[float]]|[[单精度浮点]]|4字节| + |[[double]]|[[双精度浮点]]|8字节| + |[[boolean]]|[[布尔类型]]|未知,由JVM决定|true&false 默认为false| + |[[char]]|[[字符类型]]|2字节| + - 默认整数类型:int + - 默认浮点类型:double \ No newline at end of file diff --git a/logseq-java/pages/基本类型包装类常量池如何实现的.md b/logseq-java/pages/基本类型包装类常量池如何实现的.md new file mode 100644 index 0000000..db9730d --- /dev/null +++ b/logseq-java/pages/基本类型包装类常量池如何实现的.md @@ -0,0 +1,4 @@ +- 浮点数据类型包装类没有实现 +- 除了Boolean外只有对应值小于127才会缓存 +- Boolean也使用了对象池技术 +- 使用new Integer(127)会创建一个新对象,不会从IntegerCache取 \ No newline at end of file diff --git a/logseq-java/pages/堆.md b/logseq-java/pages/堆.md new file mode 100644 index 0000000..49c430d --- /dev/null +++ b/logseq-java/pages/堆.md @@ -0,0 +1 @@ +- 放置使用new关键字,创建出来的对象,全局动态字符串常量池 \ No newline at end of file diff --git a/logseq-java/pages/复合赋值运算符.md b/logseq-java/pages/复合赋值运算符.md new file mode 100644 index 0000000..91e9b72 --- /dev/null +++ b/logseq-java/pages/复合赋值运算符.md @@ -0,0 +1,5 @@ +- 赋值运算符 + - = + - 将=右边的内容赋值给左边的变量 +- num +=5 --> num = num + 5 +- += -= /= *= %= <<= >>= >>>= \ No newline at end of file diff --git a/logseq-java/pages/多个索引是否可以指定.md b/logseq-java/pages/多个索引是否可以指定.md new file mode 100644 index 0000000..ef049f8 --- /dev/null +++ b/logseq-java/pages/多个索引是否可以指定.md @@ -0,0 +1,19 @@ +- 通过force index可以强制走索引 +- 不能干预,只能通过mysql优化器自动选择 +- 查看索引 + - show index form emp; + - explain select * from emp where id = 1; +- 能否查看到索引选择的逻辑,是否使用过optimizer_trace + - 通过optimizer_trace可以查看,需要手动开启 +- 多个索引优先级如何匹配 + - 主键匹配 + - 全值匹配(单值匹配) + - 最左前缀匹配 + - 范围匹配 + - 索引扫描 + - 全表扫描 +- 单键索引使用过滤性更好的索引 +- 选择组合索引过滤性好的字段靠左 +- 组合索引尽量包含where中更多字段的索引 +- 组合索引出现范围查询把这个字段放在后面 +- 尽量避免索引失效场景 \ No newline at end of file diff --git a/logseq-java/pages/多分支.md b/logseq-java/pages/多分支.md new file mode 100644 index 0000000..30b35ed --- /dev/null +++ b/logseq-java/pages/多分支.md @@ -0,0 +1,12 @@ +- ```java + if(布尔表达式1){ + //语句代码块1 + }else if(布尔表达式2){ + //语句代码块2 + }else if(布尔表达式3){ + //语句代码块3 + }……{ + }else{ + //语句代码块n + } + ``` \ No newline at end of file diff --git a/logseq-java/pages/多态.md b/logseq-java/pages/多态.md new file mode 100644 index 0000000..a48d861 --- /dev/null +++ b/logseq-java/pages/多态.md @@ -0,0 +1,13 @@ +- 相同的[[行为]],不同的实现 +- [[静态多态]] + - 重载 +- [[动态多态]] + - 根据传入的对象不一样,调用相同的行为,拥有不同的实现 +- 用处 + - [[多态集合]] + - ```java + Object[] objts = new Object[10]; + ``` + - 多态参数 + - 在一个方法中,将父类定义为参数,调用的时候,传入对应子类的实现 + - 做到传入不同的子类,调用相同的行为,实现不同的实现 \ No newline at end of file diff --git a/logseq-java/pages/多级缓存架构解决Redis线上集群缓存雪崩.md b/logseq-java/pages/多级缓存架构解决Redis线上集群缓存雪崩.md new file mode 100644 index 0000000..ec873aa --- /dev/null +++ b/logseq-java/pages/多级缓存架构解决Redis线上集群缓存雪崩.md @@ -0,0 +1 @@ +- 使用JVM内存缓存,并发可以达到百万 \ No newline at end of file diff --git a/logseq-java/pages/多线程.md b/logseq-java/pages/多线程.md new file mode 100644 index 0000000..703c13e --- /dev/null +++ b/logseq-java/pages/多线程.md @@ -0,0 +1,8 @@ +- 进程内部用来执行任务的最小单位 +- 并行 + - 多个任务同时执行 + - CPU多核同时运行 +- 并发 + - 多个任务交替进行 + - 计算机上多个任务同时运行 +- [[多线程的创建]] \ No newline at end of file diff --git a/logseq-java/pages/多线程的创建.md b/logseq-java/pages/多线程的创建.md new file mode 100644 index 0000000..0ce6aed --- /dev/null +++ b/logseq-java/pages/多线程的创建.md @@ -0,0 +1,15 @@ +- 1. 继承Thread类 + - 主线程和子线程之间互不干扰 +- 2. 实现Runable接口 + - 属于异步任务,于其它任务互不干扰 + id:: 62c925d5-3bec-423a-a31f-8787bc4b9053 + - 无返回结果 + - 不能抛异常 +- 3. 实现Callable接口 + - 可以有返回 + - 可以抛异常 + - JDK1.5之后新的线程接口 + - 属于同步任务,当Callable在执行任务时,主线程将处于阻塞状态 +- 4. 通过[[线程池]] +- 有个线程,内部非常多的子线程,问:主线程如何才能知道所有的子线程都执行完毕了,而且都获得结果了 #Java面试 + - Callable+Future \ No newline at end of file diff --git a/logseq-java/pages/多维数组.md b/logseq-java/pages/多维数组.md new file mode 100644 index 0000000..efa8e20 --- /dev/null +++ b/logseq-java/pages/多维数组.md @@ -0,0 +1,9 @@ +- 二维数组 + - ```java + int[][] a = new int[3][]; + int[][] b = new int[4][5]; + int[][] c = new int{{1,2,3},{5,6},{7,8}}; + ``` + - 打印 + - 两层for循环 +- 三维数组 \ No newline at end of file diff --git a/logseq-java/pages/大驼峰.md b/logseq-java/pages/大驼峰.md new file mode 100644 index 0000000..9b63bd0 --- /dev/null +++ b/logseq-java/pages/大驼峰.md @@ -0,0 +1 @@ +- 也叫[[Pascal命名法]] \ No newline at end of file diff --git a/logseq-java/pages/如何使用jdk1.8新特性从商品集合中单独把某一个字段(比如id)拿出来当做一个集合.md b/logseq-java/pages/如何使用jdk1.8新特性从商品集合中单独把某一个字段(比如id)拿出来当做一个集合.md new file mode 100644 index 0000000..088f7a8 --- /dev/null +++ b/logseq-java/pages/如何使用jdk1.8新特性从商品集合中单独把某一个字段(比如id)拿出来当做一个集合.md @@ -0,0 +1,3 @@ +title:: 如何使用jdk1.8新特性从商品集合中单独把某一个字段(比如id)拿出来当做一个集合 + +- \ No newline at end of file diff --git a/logseq-java/pages/如何实现AOP,项目哪些地方用到了AOP.md b/logseq-java/pages/如何实现AOP,项目哪些地方用到了AOP.md new file mode 100644 index 0000000..f0494a8 --- /dev/null +++ b/logseq-java/pages/如何实现AOP,项目哪些地方用到了AOP.md @@ -0,0 +1,2 @@ +- 利用动态代理技术实现AOP,例如JDK动态代理和CGLIB动态代理,可以针对某个累了生成代理对象,调用的时候可以任意控制该方法的执行 +- 事务,权限控制,方法执行时长日志 \ No newline at end of file diff --git a/logseq-java/pages/如何实现一个IOC容器.md b/logseq-java/pages/如何实现一个IOC容器.md new file mode 100644 index 0000000..0cdc91a --- /dev/null +++ b/logseq-java/pages/如何实现一个IOC容器.md @@ -0,0 +1,10 @@ +- 配置文件配置包扫描路径 +- 递归包扫描获取class文件 +- 反射、确定需要交给IOC管理的类 +- 对需要注入的类进行依赖注入 +- +- 配置文件中指定需要扫描的包路径 +- 定义一些注解,分别表示访问控制层,业务服务层,数据持久层,依赖注入层,获取配置文件注解 +- 从配置文件中获取需要扫描的包的路径,获取到当前路径下的文件信息及文件夹信息,我们将当前路径下所有以.class文件结尾的文件添加到一个Set集合中存储 +- 遍历这个Set集合,获取类上有指定注解的类,并交给IOC容器,定义一个安全的Map存储这些对象 +- 遍历这个IOC容器,获取到每一个类的实例,判断里面是否有依赖其他类的实例,然后进行递归注入 \ No newline at end of file diff --git a/logseq-java/pages/如何实现的索引机制.md b/logseq-java/pages/如何实现的索引机制.md new file mode 100644 index 0000000..a637936 --- /dev/null +++ b/logseq-java/pages/如何实现的索引机制.md @@ -0,0 +1,14 @@ +- B+数 + - InnoDB + - 索引和数据再同一个文件 + - 叶子节点指向数据id + - 聚簇索引和非聚簇索引,非主键索引需要回表 + - MyISAM + - 数据和索引分开存储 + - 叶子节点指向表行地址指针 + - 只有聚簇索引,非主键索引不需要回表 +- Hash索引 + - 快速定位 + - 配合B+树使用,自动生成的 +- 全文索引 + - 对整个数据做全文摘要索引 \ No newline at end of file diff --git a/logseq-java/pages/如何根据实际需要,定制自己的线程池.md b/logseq-java/pages/如何根据实际需要,定制自己的线程池.md new file mode 100644 index 0000000..c4af4e3 --- /dev/null +++ b/logseq-java/pages/如何根据实际需要,定制自己的线程池.md @@ -0,0 +1,15 @@ +- corePoolSize 核心线程数 + - 工作时间越高线程越少 + - 等待时间越高线程越多 +- maximumPoolSize 最大线程数 + - CPU和IO密集型不断切换 + - 设计为核心线程数几倍 +- keepAliveTime 线程空闲存活时间 +- unit 时间单位 +- blockingQueue 阻塞队列 + - ArrayBlockingQueue,创建时必须传入长度,无法扩容 +- theradFactory 线程工厂 + - 不填写使用默认工厂 + - 可以给不同线程池命名,以及异常处理策略 +- handler 拒绝策略 + - 队列满了之后执行对应的策略 \ No newline at end of file diff --git a/logseq-java/pages/如何计算对象占用内存大小.md b/logseq-java/pages/如何计算对象占用内存大小.md new file mode 100644 index 0000000..66ea367 --- /dev/null +++ b/logseq-java/pages/如何计算对象占用内存大小.md @@ -0,0 +1 @@ +- 使用jol-core包查看 \ No newline at end of file diff --git a/logseq-java/pages/如果有超大分页怎么处理.md b/logseq-java/pages/如果有超大分页怎么处理.md new file mode 100644 index 0000000..3387c35 --- /dev/null +++ b/logseq-java/pages/如果有超大分页怎么处理.md @@ -0,0 +1,10 @@ +- 分页取offset+N行,然后丢弃前面offset行 +- 通过索引优化 + - 主键自增select name form user where id > 10000 limit 10; + - 延迟关联,先通过子查询取id,然后根据id匹配 + - 需要order by时 + - 一定注意增加筛选条件,避免全表排序 + - where -> order by -> limit + - 减少select字段 + - 优化相关参数避免filesort +- 一般大分页情况比较少,实际业务中还是按照顺序翻页,可以使用缓存提升前几页的查询效率 \ No newline at end of file diff --git a/logseq-java/pages/子查询和join哪个效率高.md b/logseq-java/pages/子查询和join哪个效率高.md new file mode 100644 index 0000000..e5875f6 --- /dev/null +++ b/logseq-java/pages/子查询和join哪个效率高.md @@ -0,0 +1,15 @@ +- 子查询灵活,但是效率不高 +- 子查询有一个创建和销毁临时表的过程,join不需要创建临时表 +- join查询可以无限叠加吗,对join有什么限制吗 + - 建议不超过3张表,对内存敏感,关联过多内存占用过高,性能下降 + - 限制最多关联61个表 +- join查询算法 + - simple nested-loop join 简单嵌套循环连接 + - index nested-loop join 索引嵌套循环连接 + - block nested-loop join 缓存块嵌套循环连接 +- 如何优化过多join查询 + - 适当使用冗余字段减少多表关联查询 + - 驱动表和被驱动表(小表join大表) + - 业务允许尽量使用inner join让系统帮忙自动选择驱动表 + - 关联字段一定创建索引 + - 调整join buffer大小 \ No newline at end of file diff --git a/logseq-java/pages/字符串.md b/logseq-java/pages/字符串.md new file mode 100644 index 0000000..b430942 --- /dev/null +++ b/logseq-java/pages/字符串.md @@ -0,0 +1 @@ +- 将多个[[char]]串到一起,就构成字符串 \ No newline at end of file diff --git a/logseq-java/pages/字符串常量池.md b/logseq-java/pages/字符串常量池.md new file mode 100644 index 0000000..a1130c3 --- /dev/null +++ b/logseq-java/pages/字符串常量池.md @@ -0,0 +1,21 @@ +- 1.6运行时常量池在永久代,字符串常量池在运行时常量池,jdk1.7字符串常量池移动到堆中 +- jdk1.8运行时常量在元空间,字符串常量池在堆中 +- 设计思想 + - 字符串的分配和其它对象的分配一样,耗费高昂的空间和时间,大量频繁创建影响程序性能 + - 为了提高性能和减少内存开销,实例化字符串常量池时进行了一些优化 + - 为字符串开辟一个字符串常量池 + - 创建字符串常量时,首先查询字符串常量池是否存在 + - 存在就返回引用实例,不存在实例化并放入常量池 +- 创建字符串 + - 直接赋值 + - String s = "string"; + - 创建的对象只会存放在常量池中 + - new String + - String s = new String("string"); + - 保证常量池和堆中都会有这个对象,没有就创建,返回堆内存中的对象引用 + - intern方法 + - String s = new String("string"); + string s1 = s.intern(); + - 一个native方法,如果常量池包含一个等于该String对象的字符串,就返回常量池中的字符串,否则,返回的引用指向当前字符串s +- 字符串常量池底层通过C++实现,类似一个HashTable,保存字符串对象的引用 +- String是不可变的,String对象相加会优化为StringBuilder对象添加 \ No newline at end of file diff --git a/logseq-java/pages/字符串概述.md b/logseq-java/pages/字符串概述.md new file mode 100644 index 0000000..1c6c678 --- /dev/null +++ b/logseq-java/pages/字符串概述.md @@ -0,0 +1,2 @@ +- [[字符串]] +- [[String]] \ No newline at end of file diff --git a/logseq-java/pages/字符流.md b/logseq-java/pages/字符流.md new file mode 100644 index 0000000..1334f65 --- /dev/null +++ b/logseq-java/pages/字符流.md @@ -0,0 +1,7 @@ +- [[Reader]] +- 只能操作文本文件 +- [[FileReader]] + - 文件字符输入流 +- [[FileWriter]] + - 文件字符输入流 +- 文件复制 \ No newline at end of file diff --git a/logseq-java/pages/字符类型.md b/logseq-java/pages/字符类型.md new file mode 100644 index 0000000..7aef643 --- /dev/null +++ b/logseq-java/pages/字符类型.md @@ -0,0 +1 @@ +- 可用于表示任意一个字符 \ No newline at end of file diff --git a/logseq-java/pages/字节流.md b/logseq-java/pages/字节流.md new file mode 100644 index 0000000..8b12da0 --- /dev/null +++ b/logseq-java/pages/字节流.md @@ -0,0 +1,28 @@ +- 流操作的最小单位 +- 能操作二进制和文本文件 +- 方向 + - 输入字节流[[InputStream]] + - 输出字节流[[OutputStream]] +- [[File]] + - ```java + File f = new File(path); + if(!f.exist()){ + f.mkdir(); + }else if(f.isDirectory()){ + File[] files = f.listFiles + if(files != null && files.length > 0){ + for(File f2:files){ + boolean flag = f2.isDirectory(); + System.out.println(f2.getName + ((flag)?"目录":"文件")); + } + } + }else{ + + } + ``` +- 输入流 + - [[FileInputStream]] +- 输出流 + - [[FileOutputStream]] +- 特点 + - 既可以操作文本文件,也可以操作二进制文件 \ No newline at end of file diff --git a/logseq-java/pages/字节类型.md b/logseq-java/pages/字节类型.md new file mode 100644 index 0000000..4898a9e --- /dev/null +++ b/logseq-java/pages/字节类型.md @@ -0,0 +1,3 @@ +- 占据一个字节的内存空间,一字节等于8位 +- 取值$-2^7$~$2^7-1$ +- \ No newline at end of file diff --git a/logseq-java/pages/字面量常量.md b/logseq-java/pages/字面量常量.md new file mode 100644 index 0000000..b13cfe7 --- /dev/null +++ b/logseq-java/pages/字面量常量.md @@ -0,0 +1,4 @@ +- 整数常量 + - 例如 10.20等数字 +- 字符量常量 +- 浮点型常量 \ No newline at end of file diff --git a/logseq-java/pages/存储引擎.md b/logseq-java/pages/存储引擎.md new file mode 100644 index 0000000..f8f6c0c --- /dev/null +++ b/logseq-java/pages/存储引擎.md @@ -0,0 +1,16 @@ +- MySQL支持哪些存储引擎?默认使用哪个? + - InnoDB,支持事务,XA(分布式事务),行锁,外键,保存点 +- InnoDB + - 处理大量短期事务 +- MyISAM +- Archive +- Blackhole +- CSV +- Memory +- Federated +- 存储引擎技术架构 + - ![image.png](../assets/image_1696927958907_0.png) +- MyISAM和InnoDB区别 + - InnoDB支持外键,事务,行锁,间隙锁,缓存真实数据 + - 系统表使用MyISAM作为存储引擎 +- 几乎没有写操作全部都是高频读操作可以选MyISAM,其他InnoDB \ No newline at end of file diff --git a/logseq-java/pages/存储的时候有遇到过什么问题吗.md b/logseq-java/pages/存储的时候有遇到过什么问题吗.md new file mode 100644 index 0000000..a69ee34 --- /dev/null +++ b/logseq-java/pages/存储的时候有遇到过什么问题吗.md @@ -0,0 +1,43 @@ +- 上传数据过大sql执行失败 + - 调整max_allowed_packet +- 主动同步数据时比较慢 +- 应用线程阻塞 +- 占用网络带宽 +- 高频访问的图片无法使用浏览器缓存 +- Emoji乱码 + - 使用utf8mb4 +- 存储ip地址 + - 使用字符串 + - 使用无符号整型 + - 4字节即可 + - 可以支持范围查询 + - 通过函数转换,INET_ATON()和INET_NTOA() + ipv6使用INET6_ATON()和INET6_NTOA() +- 长文本如何存储 + - 使用text存储 + - 必须执行索引长度,无法指定默认值 +- 大段文本如何设计表结构 + - 将大段文本同时存储到搜索引擎 + - 分表存储 + - 分表后多段存储 +- 大段文本查找如何建立索引 + - 全文检索,模糊匹配最好存储到搜索引擎中 + - 指定索引长度 + - 分段存储后创建索引 +- 有没有在开发中使用过TEXT,BLOB + - BLOB在ERP中使用过,互联网项目一般不用BLOB + - TEXT 文献、文章、小说、新闻、会议内容 +- 日期、时间如何存储 + - 使用TIMESTAMP、DATETIME + - 使用字符串 +- TIMESTAMP和DATETIME区别 + - 存储方式不同,TIMESTAMP把插入时间从当前时区转换未UTC存储,查询又转换为当前时区,DATETIME不做转换 + - 存储字节TIMESTAMP 4byte+小数,DATETIME 5byte+小数 +- 为什么不适用字符串存储日期 + - 字符串无法完成数据库内部的范围筛选 + - 大数据量存储优化索引时查询必须加上时间范围 +- timestamp和int选择 + - 一般使用timestamp,可读性比较好 +- char和varchar的区别 + - char长度固定,没有碎片,但是空间冗余,填充空格 + - varchar,存储空间根据存储内容长度变化,空间长度L+size \ No newline at end of file diff --git a/logseq-java/pages/守护线程.md b/logseq-java/pages/守护线程.md new file mode 100644 index 0000000..c6d39d0 --- /dev/null +++ b/logseq-java/pages/守护线程.md @@ -0,0 +1,6 @@ +- [[后台线程]] +- 运行在线程背后的线程 + - GC垃圾回收器 +- 特点 + - 当前台线程关闭或暂停时,守护线程也状态也变更 +- `setDaemon(true)`将一个线程变为守护线程 \ No newline at end of file diff --git a/logseq-java/pages/定时器.md b/logseq-java/pages/定时器.md new file mode 100644 index 0000000..7bba8ef --- /dev/null +++ b/logseq-java/pages/定时器.md @@ -0,0 +1,2 @@ +- ScheduledThreadPoolExecutor[[线程池]] +- \ No newline at end of file diff --git a/logseq-java/pages/实体对象.md b/logseq-java/pages/实体对象.md new file mode 100644 index 0000000..cce0183 --- /dev/null +++ b/logseq-java/pages/实体对象.md @@ -0,0 +1 @@ +- 用来传输数据使用的对象,只有属性,没有行为 \ No newline at end of file diff --git a/logseq-java/pages/实例代码块.md b/logseq-java/pages/实例代码块.md new file mode 100644 index 0000000..ac00750 --- /dev/null +++ b/logseq-java/pages/实例代码块.md @@ -0,0 +1,9 @@ +- 系统会先加载 [[静态代码块]] +- ```java + /** + * 实例代码块 + */ + { + System。呕吐。println("a") + } + ``` \ No newline at end of file diff --git a/logseq-java/pages/对AOP的理解.md b/logseq-java/pages/对AOP的理解.md new file mode 100644 index 0000000..5369379 --- /dev/null +++ b/logseq-java/pages/对AOP的理解.md @@ -0,0 +1,3 @@ +- 系统由许多不同组件组成,每一个部件负责一块特定的功能,除了实现自身核心功能外,这些组件还需承担额外的职责,如事务,日志,安全 +- 需要为分散的对象引入公共行为的时候,OOP就无能为力了,OOP定义的是从上到下,不适合从左到右的关系 +- \ No newline at end of file diff --git a/logseq-java/pages/对象分配内存时的并发问题解决CAS与TLAB机制.md b/logseq-java/pages/对象分配内存时的并发问题解决CAS与TLAB机制.md new file mode 100644 index 0000000..485fa4d --- /dev/null +++ b/logseq-java/pages/对象分配内存时的并发问题解决CAS与TLAB机制.md @@ -0,0 +1,6 @@ +- 并发情况下,还没来得及修改,又给另一个对象分配了内存 +- CAS + - 分配内存时利用CAS配合失败重试方式保证操作原子性 +- TLAB + - 本地线程分配缓冲 Thread Local Allocation Buffer + - 把内存分配的动作按照线程划分再不同的空间之中进行,即每个线程再Java堆中预先分配一小块内存 \ No newline at end of file diff --git a/logseq-java/pages/对象分配内存时的指针碰撞和空闲列表机制.md b/logseq-java/pages/对象分配内存时的指针碰撞和空闲列表机制.md new file mode 100644 index 0000000..cdda923 --- /dev/null +++ b/logseq-java/pages/对象分配内存时的指针碰撞和空闲列表机制.md @@ -0,0 +1,4 @@ +- 指针碰撞 + - Java堆中的内存是绝对规整的,所有用过的内存放在一边,空闲的放在另一边,中间放着一个指针作为分界点的指示器,那所谓分配内存就仅仅是把哪个指针向空闲空间那边挪动一段与对象大小相等的距离 +- 空闲列表 + - 如果Java堆中的内存不是规整的,已使用的空间和空闲的内存相互交错,就没有办法简单地进行指针碰撞了,虚拟机就必须维护一个列表,记录上哪些内存块是可以使用的,再分配时从列表中找到一块足够大的空间划分,并更新列表 \ No newline at end of file diff --git a/logseq-java/pages/对象头.md b/logseq-java/pages/对象头.md new file mode 100644 index 0000000..532fa63 --- /dev/null +++ b/logseq-java/pages/对象头.md @@ -0,0 +1,15 @@ +- 对象头 + - Mark World + - 无锁态 + - 轻量级锁 + - 重量级锁 + - GC标记 + - 偏向锁 + - KlassPoint内存指针,指向元空间中类加载信息 + id:: 652d22a1-04a9-44fd-a7ba-e0d0ca839c70 + - 压缩4bit,关闭压缩8bit + - 数组长度 + - 4字节,只有数组对象才有 +- 实例数据 instance data +- 对齐填充 padding + - 保证每个对象都是8byte的整数倍 \ No newline at end of file diff --git a/logseq-java/pages/对象完整创建流程.md b/logseq-java/pages/对象完整创建流程.md new file mode 100644 index 0000000..6aef171 --- /dev/null +++ b/logseq-java/pages/对象完整创建流程.md @@ -0,0 +1,6 @@ +- 类加载检查 +- 加载类 +- 分配内存 +- 初始化零值 +- 设置对象头 +- 执行init方法,为属性赋值,执行构造方法 \ No newline at end of file diff --git a/logseq-java/pages/对象指针压缩.md b/logseq-java/pages/对象指针压缩.md new file mode 100644 index 0000000..bd56f1c --- /dev/null +++ b/logseq-java/pages/对象指针压缩.md @@ -0,0 +1 @@ +- 减少内存占用 \ No newline at end of file diff --git a/logseq-java/pages/对象的内存模型分析.md b/logseq-java/pages/对象的内存模型分析.md new file mode 100644 index 0000000..dcd6d3b --- /dev/null +++ b/logseq-java/pages/对象的内存模型分析.md @@ -0,0 +1,12 @@ +- [[JVM]] 内存分配 +- JVM启动后会将内部内存划分为5个片区 + - [[栈]] + - [[堆]] + - [[本地方法栈]] + - [[程序计数器]] + - [[元空间]] + - > JDK1.8以前,元空间也叫持久代,或者方法区,放置在JVM的内部 + JDK1.8以后,没有持久代,方法区的概念,并且把元空间放置在JVM的外部 +- 对象的[[内存模型]] + - + - \ No newline at end of file diff --git a/logseq-java/pages/封装.md b/logseq-java/pages/封装.md new file mode 100644 index 0000000..cc81037 --- /dev/null +++ b/logseq-java/pages/封装.md @@ -0,0 +1,3 @@ +- [[包装]]+[[隐藏]] +- 使用 [[访问修饰符]]进行隐藏 +- 包装:使用方法对属性进行控制 \ No newline at end of file diff --git a/logseq-java/pages/局部变量.md b/logseq-java/pages/局部变量.md new file mode 100644 index 0000000..799e4d4 --- /dev/null +++ b/logseq-java/pages/局部变量.md @@ -0,0 +1,2 @@ +- 定义在方法内部,且只能该方法使用的变量 +- [[全局变量]] \ No newline at end of file diff --git a/logseq-java/pages/属性.md b/logseq-java/pages/属性.md new file mode 100644 index 0000000..47f26de --- /dev/null +++ b/logseq-java/pages/属性.md @@ -0,0 +1,7 @@ +- 属性是[[HTML]]元素提供的附加信息 +- 总是以名称/值对的形式出现 +- 全局属性 + - [[class]] + - [[id]] + - [[style]] + - [[title]] \ No newline at end of file diff --git a/logseq-java/pages/属性和行为.md b/logseq-java/pages/属性和行为.md new file mode 100644 index 0000000..d011451 --- /dev/null +++ b/logseq-java/pages/属性和行为.md @@ -0,0 +1,8 @@ +- ((624d8512-fa6b-4755-9fcd-acd836215fc2)) +- ```java + 访问修饰符 数据类型 属性的名称; + ``` +- ((624d8512-e926-45bb-bd13-2b56d9eded1c)) +- 调用 + - 对象.属性 + - 对象.行为 \ No newline at end of file diff --git a/logseq-java/pages/嵌套判断.md b/logseq-java/pages/嵌套判断.md new file mode 100644 index 0000000..2961e20 --- /dev/null +++ b/logseq-java/pages/嵌套判断.md @@ -0,0 +1,3 @@ +- IF结构中,嵌套更多的IF判断 +- 公司不允许大家写超过3层以上的嵌套 + - 使用[[多分支]] \ No newline at end of file diff --git a/logseq-java/pages/嵌套循环.md b/logseq-java/pages/嵌套循环.md new file mode 100644 index 0000000..f41e73f --- /dev/null +++ b/logseq-java/pages/嵌套循环.md @@ -0,0 +1,3 @@ +- 循环中嵌套其它循环 +- 注意: + - IF嵌套不能超过3层,for也一样 \ No newline at end of file diff --git a/logseq-java/pages/工业园区智慧管理系统.md b/logseq-java/pages/工业园区智慧管理系统.md new file mode 100644 index 0000000..31777b1 --- /dev/null +++ b/logseq-java/pages/工业园区智慧管理系统.md @@ -0,0 +1,45 @@ +- 日程 + - [[Jul 20th, 2022]] + - 整理需求,业务及功能点,X-mind + - 对象,对象间关系,设计数据库 [[PowerDesigner]] + - [[Jul 21st, 2022]] + - 数据库评审 + - 搭建前后端框架,技术选型 + - 前端[[Vue]]+ [[ElementUI]] + - 后端[[SpringBoot]]+[[Redis]]+ [[MybatisPlus]] + [[MySQL]] +[[ElasticSearch]]+[[Hutool]]+[[JWT]]+[[ApiFox]] + - [[Git]] + - [[Jul 22st, 2022]]-[[Jul 26st, 2022]] + - V1.0 + - 所有后端页面 + - [[Jul 27st, 2022]] + - 其他端接口 + - 查漏补缺 + - [[Jul 28st, 2022]] + id:: 62d76dd0-0c36-43c5-9acf-3fa0210313b8 + - 交叉测试,测试缺陷 [[BUG]] 使用[[禅道]]发布 + - 11 + - 发布V2.0 + - 12 + - 整理需求文档,使用手册,部署手册,答辩PPT +- 交付 + - 需求文档 + - 测试报告 + - 项目截图 + - 数据库SQL文件,物理模型图 + - 数据库字典表 + - 项目计划 + - 答辩视频 + - 答辩PPT + - 源代码 + - 可运行文件 + - 部署资料 + - 使用手册 +- 日程安排 + - 9:20项目组长跟项目经理召开10-15分钟站立会议 + - 明确项目进度 + - 今日安排 + - 小组内部问题 + - 9:30项目组长和项目组员召开10-15分钟站立会议 + - 9:40 项目组长通过禅道划分任务(以天为单位),组员接任务 + - 9:40-18:00 开发时间 + - 18:40项目组长review走查(30-60min),不合格(组长打回返工) \ No newline at end of file diff --git a/logseq-java/pages/布尔类型.md b/logseq-java/pages/布尔类型.md new file mode 100644 index 0000000..0891b33 --- /dev/null +++ b/logseq-java/pages/布尔类型.md @@ -0,0 +1 @@ +- 只有两个值true&false \ No newline at end of file diff --git a/logseq-java/pages/布隆过滤器,优缺点.md b/logseq-java/pages/布隆过滤器,优缺点.md new file mode 100644 index 0000000..09f2bea --- /dev/null +++ b/logseq-java/pages/布隆过滤器,优缺点.md @@ -0,0 +1,12 @@ +- 位图int[10],有4*8*10=320个bit位 +- 优点 + - 占用内存小 + - 增加和查询元素的时间复杂度未O(K),k未哈希函数的个数,与数据量大小无关 + - 哈希函数之间没有关系,方便硬件进行并行运算 + - 布隆过滤器不需要存储元素本身,保密性好 + - 数据量很大时,可以表示全集 + - 使用同一组散列函数的布隆过滤器可以进行交、并、差运算 +- 缺点 + - 存在误判性 + - 不能获取元素本身 + - 一般情况下不能从布隆过滤器删除数据 \ No newline at end of file diff --git a/logseq-java/pages/常见算法面试题.md b/logseq-java/pages/常见算法面试题.md new file mode 100644 index 0000000..3229949 --- /dev/null +++ b/logseq-java/pages/常见算法面试题.md @@ -0,0 +1,7 @@ +- 什么是时间轮,请你说一下你对时间轮的理解 +- 什么是令牌桶限流算法 +- 请你说一下你对滑动窗口算法的理解 +- 简述雪花算法的实现原理 +- SkipList的索引过程,能否越两级搜索 +- 对称加密与非对称加密有什么区别 +- 敏感数据怎么加解密和传输? \ No newline at end of file diff --git a/logseq-java/pages/序列化.md b/logseq-java/pages/序列化.md new file mode 100644 index 0000000..c985311 --- /dev/null +++ b/logseq-java/pages/序列化.md @@ -0,0 +1,5 @@ +- 将对象转化为二进制文件 +- [[ObjectOutputStream]] +- 一个对象要实现序列化和反序列化,类必须实现[[Serialization]]接口 +- [[反序列化]] + - [[ObjectInputStream]] \ No newline at end of file diff --git a/logseq-java/pages/异常.md b/logseq-java/pages/异常.md new file mode 100644 index 0000000..df28e40 --- /dev/null +++ b/logseq-java/pages/异常.md @@ -0,0 +1,23 @@ +- 异常处理,是Java[[健壮性]]的体现 +- 程序在编码或运行过程中,出现的问题 +- 产生异常的可能性 + - 用户录入错误数据 + - 断网 + - 内存不足 + - 硬盘空间不足 + - 程序员乱写代码 +- 分类 + - [[错误]] + - > 错误,是程序员无法修改代码解决的 + - 内存不足 + - 硬盘空间不足 + - 网络无法访问 + - [[编译异常]] + - > 程序员写代码时,由[[编译器]]发现的异常 + - 文件找不到 + - 用户胡乱输入 + - [[运行异常]] + - > 程序在运行中,动态抛出的异常 + - 空指针 + - 数组下标越界 +- \ No newline at end of file diff --git a/logseq-java/pages/异常抛出.md b/logseq-java/pages/异常抛出.md new file mode 100644 index 0000000..8bd6d98 --- /dev/null +++ b/logseq-java/pages/异常抛出.md @@ -0,0 +1,7 @@ +- [[编译异常]]一定要在方法上进行异常声明 +- 直接抛出,本方法不处理 + - 不使用[[try]]-[[catch]],在方法名后加入[[throws]] Exception + - 不想在该方法中解决,将异常抛出,谁调用谁解决 +- 抓了之后抛出 + - 使用[[try]]-[[catch]],在catch里加入[[throw]] e,在方法名后加入[[throws]] Exception +- 后期使用多的时:直接抛出,本方法不处理 \ No newline at end of file diff --git a/logseq-java/pages/异常捕获.md b/logseq-java/pages/异常捕获.md new file mode 100644 index 0000000..1e49314 --- /dev/null +++ b/logseq-java/pages/异常捕获.md @@ -0,0 +1,32 @@ +- 异常的捕获,只针对[[编译异常]][[Exception]]类型 +- {{embed [[try-catch-finally]]}} +- [[finally]] + - 不管成功还是失败都要执行的代码 +- 多个[[catch]]块的问题 + - ```java + try{ + + }catch (error e){ + + }catch (error f){ + + } + ``` +- 一次只能抛一个异常 +- 上面的异常范围要小于下面的异常 +- 如果一个异常,抛出异常有10个,咋办? + - ```java + try{ + - }catch (error e){ + if (e instanceof FileNotFoundException){ + //处理方案1 + return; + } + if (e instanceof IOException){ + //处理方案2 + return; + } + } + ``` +- finally和[[return]]的执行顺序 + - 只要代码执行到try-catch,不管return写在哪儿,finally都要执行 \ No newline at end of file diff --git a/logseq-java/pages/引用数据类型.md b/logseq-java/pages/引用数据类型.md new file mode 100644 index 0000000..1a12ba8 --- /dev/null +++ b/logseq-java/pages/引用数据类型.md @@ -0,0 +1,5 @@ +- Java内存区域包含[[栈]]和[[堆]]两块 +- 基本数据类型存储在栈区,引用数据类型存储在堆区 +- 除8大基本数据类型之外都是引用数据类型 +- 引用数据类型依靠地址发生关系 +- 引用数据类型可存储的值复杂性比基本数据类型高 \ No newline at end of file diff --git a/logseq-java/pages/引用计数法有什么问题.md b/logseq-java/pages/引用计数法有什么问题.md new file mode 100644 index 0000000..d143f24 --- /dev/null +++ b/logseq-java/pages/引用计数法有什么问题.md @@ -0,0 +1 @@ +- 循环引用的时候计数器不会归零,GC回收器就无法回收 \ No newline at end of file diff --git a/logseq-java/pages/强制转换.md b/logseq-java/pages/强制转换.md new file mode 100644 index 0000000..f3c6f72 --- /dev/null +++ b/logseq-java/pages/强制转换.md @@ -0,0 +1,25 @@ +- 高类型数据转低类型数据不能直接转 +- 如果要转换,需要指定转换的数据类型 + - ```java + public static void main(String[] args){ + int a = 120; + byte b = (byte) a; + System.out.println(b); + } + ``` +- 数据溢出 + - 转换时高数据类型的值超出低数据类型的范围 + - 溢出后会从最低值到最高值循环,直到未超出范围 +- 精度丢失 + - 使用时需考虑风险 + - 高类型转低类型时,精度会丢失 + - double-->float + - 丢失小数点7位之后的部分 + - double/float-->int + - 丢失小数点后的部分 +- 使用场景 + - 不需要小数点后的数值 + - double-->int +- 自动提升 + - 参与运算的整数类型,小于int会自动提升为int类型,int+int为int类型,不能直接转型为byte + - 参与运算的最高类型为最终运算的结果的类型 \ No newline at end of file diff --git a/logseq-java/pages/悲观锁.md b/logseq-java/pages/悲观锁.md new file mode 100644 index 0000000..794af08 --- /dev/null +++ b/logseq-java/pages/悲观锁.md @@ -0,0 +1 @@ +- select * from table for update \ No newline at end of file diff --git a/logseq-java/pages/手写代码模拟SpringBoot.md b/logseq-java/pages/手写代码模拟SpringBoot.md new file mode 100644 index 0000000..feb9e33 --- /dev/null +++ b/logseq-java/pages/手写代码模拟SpringBoot.md @@ -0,0 +1,3 @@ +- @SpringBootApplication这个复合注解里面有@Configuration和ComponentScan注解 +- 有一个工具类会查找解析注解和注解上面的注解 +- 通过applicationContext.get(DispatchServlet.class)可以根据名称或类型获得到自定义的Bean \ No newline at end of file diff --git a/logseq-java/pages/抽象.md b/logseq-java/pages/抽象.md new file mode 100644 index 0000000..84a0b96 --- /dev/null +++ b/logseq-java/pages/抽象.md @@ -0,0 +1 @@ +- 类是对象的一种抽象 \ No newline at end of file diff --git a/logseq-java/pages/抽象方法.md b/logseq-java/pages/抽象方法.md new file mode 100644 index 0000000..50b5503 --- /dev/null +++ b/logseq-java/pages/抽象方法.md @@ -0,0 +1 @@ +- 当某一方法没有具体的实现的时候,这个方法就是一个抽象方法 \ No newline at end of file diff --git a/logseq-java/pages/抽象类.md b/logseq-java/pages/抽象类.md new file mode 100644 index 0000000..29963c9 --- /dev/null +++ b/logseq-java/pages/抽象类.md @@ -0,0 +1,33 @@ +- 具有 [[抽象方法]] 的类 + - 具有[[抽象]]方法的必须是抽象类 + id:: 6254e692-cdf6-43ff-a045-637b1253591c + - 抽象类无法被实例化,因为有方法不确定,无法用[[new]]使用 + - 抽象类中的方法一定要让子类实现 + id:: 6254e7f4-1f9b-4da4-bca3-af5b328ff3e7 +- ```java + public abstract class Girl{ + public abstract void smile(); + } + ``` +- 特点 + - ((6254e692-cdf6-43ff-a045-637b1253591c)) + - 抽象类中不一定要有抽象方法,此时定义抽象类没有多大意义 + - ((6254e7f4-1f9b-4da4-bca3-af5b328ff3e7)),通过[[abstract]]关键字定义,不实现会报错 + - 子类如果不实现时,将子类也定义为抽象类 + - 抽象类无法实例化 +- 可放置元素 + - 普通类所有元素+抽象方法 + - 抽象方法 + - 非抽象方法 + - 属性 + - > 抽象类定义属性目的: + 给子类定义的东西 + - 构造器 + - > 抽象类定义构造器目的: + 给子类定义的东西 +- 抽象方法,不可定义为[[private]] #Java面试 + 私有代表无法被[[重写]],抽象方法一定要子类重写 +- 抽象方法不能定义[[static]] #Java面试 + static方法的调用方式:类名.方法名 意味着这个方法一定有过实现,但是抽象方法没有实现 +- 抽象方法不可定义为[[final]] #Java面试 + final定义在方法上不能被重写,但是抽象方法一定要子类重写 \ No newline at end of file diff --git a/logseq-java/pages/持久化机制.md b/logseq-java/pages/持久化机制.md new file mode 100644 index 0000000..010710e --- /dev/null +++ b/logseq-java/pages/持久化机制.md @@ -0,0 +1,21 @@ +- RDB + - 使用save和bgsave可以手动备份 + - 一定时间内达到一定写入量 + - 写时复制 + - dump.rdb,文件名和路径可以自定义 +- AOF + - 将所有修改命令写入到AOF文件中 + - 策略 + - always + - everysec 默认策略 + - no 操作系统决定 + - AOF重写机制 + - bgrewriteaof + - 达到64MB重写文件,合并重复的命令减小文件大小 + - 默认aof重写文件体积达到上一次的100%也会重写 +- 混合持久化 + - aof-use-rdb-preamble yes + - 将AOF重写这一刻的内存做RDB备份,然后将RDB也写入到AOF文件中 +- 持久化策略配置 + - 高性能 + - Master不做持久化,slave开启AOF everysec \ No newline at end of file diff --git a/logseq-java/pages/排序.md b/logseq-java/pages/排序.md new file mode 100644 index 0000000..57be486 --- /dev/null +++ b/logseq-java/pages/排序.md @@ -0,0 +1,2 @@ +- [[冒泡排序]] +- [[选择排序]] \ No newline at end of file diff --git a/logseq-java/pages/接口.md b/logseq-java/pages/接口.md new file mode 100644 index 0000000..d466da4 --- /dev/null +++ b/logseq-java/pages/接口.md @@ -0,0 +1,54 @@ +- 也是一种抽象,比 [[抽象类]] 更抽象 +- 作用 + - 帮系统拓展新的功能 +- 定义语法 + - 使用[[关键字]][[interface]] + id:: 625519bb-2a31-4f5a-aa30-0029cb6c9f32 + - 定义时可以不写 [[public]] [[abstract]],这两个是默认 + - ```java + public interface 接口接口名{ + void fly(); + } + ``` + - 接口名使用 [[大驼峰]] + - 接口不是一种类,还是一种 [[引用数据类型]] +- 使用 + - [[关键字]][[implements]] + - ```java + 访问修饰符 class 类的类名 extends 父类 implements 接口{ + @Override + //重写接口的方法 + } + ``` + - 特点 + - 不能实例化,不能用[[new]] + - 接口中抽象方法默认为public和abstract + - 接口中抽象方法,必须要通过实现类给与实现 + - 接口中的抽象方法,实现类可以变成抽象类,就可以不实现 + - 类只能单[[继承]],接口可以多实现 + - 类只能单继承,接口可以多继承 +- 可放置的元素 + - 抽象方法 + - 静态常量 + - ```java + public static final int HEIGHT_LIMIT = 3000; + + //使用 接口.常量名 + ``` + - JDK1.8之前只能放抽象方法及静态常量 + - JDK1.8增加[[default]], [[静态方法]] + - ```java + default void fly(){} + static void cook(){ + System.out.println("做饭") + } + ``` +- 接口与类关系 + - 接口与类是拓展关系,类之间是继承关系 + - 继承体系中本身就有的方法放在抽象类中,如果需要给继承体系拓展新的功能,就放在接口中 + - 接口与抽象类区别 + - 语法上: + - 抽象类用 [[abstract]] ,需要有子类继承实现 + - 接口使用 [[interface]] ,需要有实现类来进行实现 + - 子类和抽象类为继承关系,实现类和接口时一种实现关系 + - 抽象类只能单继承,接口可以多继承,多实现 \ No newline at end of file diff --git a/logseq-java/pages/敏捷开发.md b/logseq-java/pages/敏捷开发.md new file mode 100644 index 0000000..283e473 --- /dev/null +++ b/logseq-java/pages/敏捷开发.md @@ -0,0 +1 @@ +- 开发一般和甲方在同一个位置,开发团队伍明确领导,重视快速响应 \ No newline at end of file diff --git a/logseq-java/pages/数据库.md b/logseq-java/pages/数据库.md new file mode 100644 index 0000000..7649b0b --- /dev/null +++ b/logseq-java/pages/数据库.md @@ -0,0 +1,4 @@ +- 存储数据的仓库,本质为文件系统 +- 分类 + - [[关系型数据库]] + - [[非关系型数据库]] \ No newline at end of file diff --git a/logseq-java/pages/数组内存分析.md b/logseq-java/pages/数组内存分析.md new file mode 100644 index 0000000..06955f3 --- /dev/null +++ b/logseq-java/pages/数组内存分析.md @@ -0,0 +1,5 @@ +- 当print一个数组是,会出现一段字符,代表这个数组在内存中的地址 #toString +- [[基本数据类型]]值是本身, [[引用数据类型]] 是一个引用地址 +- 常见错误 + - [[下标]]越界:下标超出程序中数组的下标范围 + - [[空指针]]:数组没有具体存储空间 \ No newline at end of file diff --git a/logseq-java/pages/数组基础.md b/logseq-java/pages/数组基础.md new file mode 100644 index 0000000..5294c8d --- /dev/null +++ b/logseq-java/pages/数组基础.md @@ -0,0 +1,15 @@ +- 一种特殊的集合 + - 空间连续 + - 元素类型固定 + - 长度有限 +- 使用 +- ```java + String[] names = null; + names = new String[6]; + //下面为第二种用法 + String[] names = new String[6]; + //下面为第三种用法 + int[] a = {10,9,8,7,6,5}; + ``` +- 存取 + - 通过下标存取,下标从0开始 \ No newline at end of file diff --git a/logseq-java/pages/数组排序.md b/logseq-java/pages/数组排序.md new file mode 100644 index 0000000..4038cc7 --- /dev/null +++ b/logseq-java/pages/数组排序.md @@ -0,0 +1,62 @@ +- 数组的反转 + - ```java + import java.util.Arrays; + + public class Int03 { + public static void main(String[] args) { + int[] nums = {12, 23, 1, 24, 2, 34, 51}; + for (int i = 0; i < nums.length / 2; i++) { + int j = nums[i]; + nums[i] = nums[nums.length - 1 - i]; + nums[nums.length - 1 - i] = j; + } + System.out.println(Arrays.toString(nums)); + } + } + ``` +- [[冒泡排序]] #Java面试 + id:: 624d06d6-3d96-4b9b-a60c-cb3e3b285ad0 + - 两个数相互比较,每一轮确定一个最大值 + - 特点: + 每一轮循环后,最大的一个数被交换到末尾,因此,下一轮循环就可以跑相互最后的数,没一轮循环都比上一轮循环的结束位置靠前一位 + - ```java + int[] ns = { 28, 12, 89, 73, 65, 18, 96, 50, 8, 36}; + System.out.println(Arrays.toString(ns)); + for (int i = 0; i < ns.length - 1; i++){ + for(int j = 0; j ns[j+1]){ + int tmp = ns[j]; //交换时要先定义一个临时变量 + ns[j] = ns[j+1]; + ns[j+1] = tmp; + } + } + } + System.out.println(Arrays.toString[ns]) + ``` +- [[选择排序]]#Java面试 + - ```java + int[] nums = {12, 23, 1, 24, 2, 34, 51}; + for (int i = 0; i < nums.length - 1; i++) { + int min = i; + for (int j = i + 1; j < nums.length; j++) { + if (nums[min] > nums[j]) { + min = j; + } + } + if (min != i) { + int temp = nums[i]; + nums[i] = nums[min]; + nums[min] = temp; + } + } + System.out.println(Arrays.toString(nums)); + ``` +- 使用[[[JDK]]]提供的Arrays.[[sort]]() + - ```java + import java.util.Arrays; + + nt[] ns = { 28, 12, 89, 73, 65, 18, 96, 50, 8, 36}; + Arrays.sort(ns); + System.out.println(Arrays.toStrint(ns)); + ``` + - \ No newline at end of file diff --git a/logseq-java/pages/数组的遍历.md b/logseq-java/pages/数组的遍历.md new file mode 100644 index 0000000..f22b9f5 --- /dev/null +++ b/logseq-java/pages/数组的遍历.md @@ -0,0 +1,28 @@ +- for循环遍历 + id:: 625782a9-64e5-4f9a-8d40-45ed6f9ddaf9 + - 从零开始 + - 不要超出范围 + - ```java + int[] numbers = {1,2,3} + int lnegth = numbers.length + for(int i = 0; i < length; i++){ + System.out.println(numbers[i]); + } + ``` +- 增强for循环 for each循环 + id:: 625782a9-c1c2-413d-b1cf-255ecbea27d4 + - ```java + int[] numbers = {1,2,3} + for(int ele : numbers){ + System.out.println(ele); + } + ``` +- 如果有针对下标的操作用第一种,否则第二种 +- 使用Arrays.toString() + - ```java + import java.util.Arrays; + + + int[] ns = {1,2,3,4,5,6,7}; + System.out.println(Arrays.toString(ns)) + ``` \ No newline at end of file diff --git a/logseq-java/pages/整型.md b/logseq-java/pages/整型.md new file mode 100644 index 0000000..fd97b7a --- /dev/null +++ b/logseq-java/pages/整型.md @@ -0,0 +1,6 @@ +- 占四个字节内存空间,共32位 +- 取值-2^31~2^31 +- +- +- +- \ No newline at end of file diff --git a/logseq-java/pages/方法重载.md b/logseq-java/pages/方法重载.md new file mode 100644 index 0000000..9345051 --- /dev/null +++ b/logseq-java/pages/方法重载.md @@ -0,0 +1,4 @@ +- Overload +- 同一个方法中,参数名相同,[[参数]]类型不同 +- 返回类型和参数无关 +- \ No newline at end of file diff --git a/logseq-java/pages/无参构造器.md b/logseq-java/pages/无参构造器.md new file mode 100644 index 0000000..7b78a38 --- /dev/null +++ b/logseq-java/pages/无参构造器.md @@ -0,0 +1,4 @@ +- 构造过程 + - 在[[堆]]空间中为对象申请空间,对象有多大,就申请多大 + - 针对对象属性,再次划分空间 + - 针对对象属性初始化赋值, [[引用数据类型]] 赋值null, [[基本数据类型]] 赋值0 \ No newline at end of file diff --git a/logseq-java/pages/有参构造器.md b/logseq-java/pages/有参构造器.md new file mode 100644 index 0000000..03bade0 --- /dev/null +++ b/logseq-java/pages/有参构造器.md @@ -0,0 +1,7 @@ +- 在创建对象时候初始化里面的值 + id:: 62539750-497b-42e9-965e-d1d4ddf2888a +- 构造过程 + - 在[[堆]]空间中为对象申请空间,对象有多大,就申请多大 + - 针对对象属性,再次划分空间 + - 针对对象属性初始化赋值, [[引用数据类型]] 赋值null, [[基本数据类型]] 赋值0 + - 执行构造器中剩余的代码 \ No newline at end of file diff --git a/logseq-java/pages/本地方法栈.md b/logseq-java/pages/本地方法栈.md new file mode 100644 index 0000000..5eb25b1 --- /dev/null +++ b/logseq-java/pages/本地方法栈.md @@ -0,0 +1 @@ +- 放置跟操作系统交互的本地方法 \ No newline at end of file diff --git a/logseq-java/pages/构造器.md b/logseq-java/pages/构造器.md new file mode 100644 index 0000000..ca8a57e --- /dev/null +++ b/logseq-java/pages/构造器.md @@ -0,0 +1,21 @@ +- 作用 + - 配合 [[new]] 关键字,创建对象的实例 + - 编译器会自动的在类中,给每个类产生一个无参构造方法 +- 自己定义 + - ```java + public Book(){ + + } + ``` + - 方法名用类名一致 + - 无任何返回值,无void +- [[无参构造器]] +- [[有参构造器]] + - 作用 + - ((62539750-497b-42e9-965e-d1d4ddf2888a)) + id:: 6253975b-b401-45c2-90c9-693d59ebc80a +- 注意 + - 写有参时要先写一个无参构造器 + - 编译器发现构建了有参构造器就不会自动创建无参构造器 +- +- \ No newline at end of file diff --git a/logseq-java/pages/构造方法和多例导致的循环依赖.md b/logseq-java/pages/构造方法和多例导致的循环依赖.md new file mode 100644 index 0000000..8c0d77a --- /dev/null +++ b/logseq-java/pages/构造方法和多例导致的循环依赖.md @@ -0,0 +1,2 @@ +- 通过构造方法是没有办法创建出来普通对象,解决办法需要添加@Lazy注解 +- 使用@Scope注解改变作用域,@Scope("prototype"),修改后会创建一个新的原型,会报错,两个都是原型也不可以 \ No newline at end of file diff --git a/logseq-java/pages/标识符.md b/logseq-java/pages/标识符.md new file mode 100644 index 0000000..bf96b17 --- /dev/null +++ b/logseq-java/pages/标识符.md @@ -0,0 +1,83 @@ +- 标识符 + - 任何一种编程语言,都是由一些符号构成 + - 单词,特殊符号 + - 有的系统默认,默认标识符称为关键字,非系统默认成为[[自定义标识符]] +- Java中的[[关键字]] + - 共50个 + - id:: 62582993-cf5c-4f5f-97a9-eadb527d4ffc + |类别 |关键字 |说明| + |访问控制 |[[private]] |私有的| + ||[[protected]] |受保护的| + ||[[public]] |公共的| + ||[[default]] |默认| + |类、方法和变量修饰符 |[[abstract]] |声明抽象| + ||[[class]] |类| + ||[[extends]] |扩充,继承| + ||[[final]] |最终值,不可改变的| + ||[[implements]] |实现(接口)| + ||[[interface]] |接口| + ||[[native]] |本地,原生方法(非 Java 实现)| + ||[[new]] |新,创建| + ||[[static]] |静态| + ||[[strictfp]] |严格,精准| + ||[[synchronized]] |线程,同步| + ||[[transient]] |短暂| + ||[[volatile]] |易失| + |程序控制语句 |[[break]] |跳出循环| + ||[[case]] |定义一个值以供 switch 选择| + ||[[continue]] |继续| + ||[[default]] |默认| + ||[[do]] |运行| + ||[[else]] |否则| + ||[[for]] |循环| + ||[[if]] |如果| + ||[[instanceof]] |实例| + ||[[return]] |返回| + ||[[switch]] |根据值选择执行| + ||[[while]] |循环| + |错误处理 |[[assert]] |断言表达式是否为真| + ||[[catch]] |捕捉异常| + ||[[finally]] |有没有异常都执行| + ||[[throw]] |抛出一个异常对象| + ||[[throws]] |声明一个异常可能被抛出| + ||[[try]] |捕获异常| + |包相关 |[[import]] |引入| + ||[[package]] |包| + |基本类型 |[[boolean]] |布尔型| + ||[[byte]] |字节型| + ||[[char]] |字符型| + ||[[double]] |双精度浮点| + ||[[float]] |单精度浮点| + ||[[int]] |整型| + ||[[long]] |长整型| + ||[[short]] |短整型| + |变量引用 |[[super]] |父类,超类| + ||[[this]] |本类| + ||[[void]] |无返回值| + |保留关键字 |[[goto]] |是关键字,但不能使用,跳转指针,Java不操作指针| + ||[[const]] |是关键字,但不能使用,定义常量,Java中的final替换掉了| + - 3个保留关键字 + - [[true]] + - [[false]] + - [[null]] +- [[自定义标识符]] + - > 代码中不会变颜色的符号 + - 类的类名 + - 方法的方法名 + - 变量名 + - 参数名 + - SUN公司定义规则 + - 标识符组成由数字,大小写字母,下划线,美元符号组成 + - 不能数字开头,严格区分大小写,长度不限 + - 不能是关键字 + - 行业潜规则 + - 类的类名,方法的方法名,变量的变量名,参数的参数名,在定义时遵守[[驼峰命名法]] + - 类的类名遵从[[大驼峰]],单词首字母大写 + - 方法的方法名,变量的变量名,参数的参数名,遵守[[小驼峰]] + - 第一个首字母小写,单词之间首字母大写 + - 标识符在定义时,[[简明知意]] + - 常量的名字单词全大写,单词之间使用_分割 + - ```java + final double MATH_PI = 3.14; + ``` + - ![阿里巴巴 Java 开发手册.pdf](../assets/阿里巴巴_Java_开发手册_1648535351339_0.pdf) \ No newline at end of file diff --git a/logseq-java/pages/栈.md b/logseq-java/pages/栈.md new file mode 100644 index 0000000..c06ed81 --- /dev/null +++ b/logseq-java/pages/栈.md @@ -0,0 +1 @@ +- 用来存储方法的调用关系,以及方法内部的变量 \ No newline at end of file diff --git a/logseq-java/pages/栈上分配,逃逸分析,标量替换.md b/logseq-java/pages/栈上分配,逃逸分析,标量替换.md new file mode 100644 index 0000000..ea611bb --- /dev/null +++ b/logseq-java/pages/栈上分配,逃逸分析,标量替换.md @@ -0,0 +1,8 @@ +- 栈上分配 + - 判断该对象是否会逃逸,不会逃逸就可以在栈上分配内存空间,减少垃圾回收压力 +- 逃逸分析 + - 分析该对象作用域,当一个对象定义后,可能被外部方法引用,例如作为调用参数传递到其它地方中 +- 标量替换 + - 将对象用若干个成员变量替代,从而不会因为没有连续空间导致内存不够分配 + - 标量与聚合量 + - 标量不可以被进一步分解,可以分解的为聚合量 \ No newline at end of file diff --git a/logseq-java/pages/树.md b/logseq-java/pages/树.md new file mode 100644 index 0000000..93aa4c2 --- /dev/null +++ b/logseq-java/pages/树.md @@ -0,0 +1,60 @@ +- 树是由n个节点构成的有限集合 +- 如果n=0,是一颗空树 +- n>0,这n个节点中存在一个节点作为根节点,其余节点可分为m个互不相交的有限集,其中每个子集本身又是一颗符合本定义的树,称为根节点的子树 +- 树是一种非线性数据结构,具有以下特点: + - 每一节点可以由零个或多个后续节点,但有且只有一个前驱节点(根节点除外) + - 数据节点按分支关系组织起来,清晰地反映了数据元素之间的层次关系 +- 树的逻辑结构 + - 树形表示法 + - ![image.png](../assets/image_1695907773486_0.png) + - 文氏图表示法 + - ![image.png](../assets/image_1695907815790_0.png) + - 凹入表示法 + - ![image.png](../assets/image_1695907843698_0.png) + - 括号表示法 + - ![image.png](../assets/image_1695907869592_0.png) +- 基本术语 + - **度**:每个节点具有的子树或者后继节点数 + - **分支节点**:度大于0的节点称为分支节点或非终端节点,度为1的节点称为单分支节点,度为2的节点称为双分支节点 + - **树的度**:数中所有节点的度的最大值称之为树的度 + - **叶子节点/终端节点**:度为0的节点 + - **孩子节点**:一个节点的后继者称为孩子节点 + - **双亲节点/父亲节点**:一个节点称为其后继节点的双亲节点 + - **子孙节点**:一个节点的子树中除该节点外的所有节点 + - **祖先节点**:从树根节点到达某个节点路径上通过的所有节点 + - **兄弟节点**:具有同一双亲的节点 + - **节点层次**:树具有一种层次结构,根节点为第一层,其孩子节点为第二层 + - **树的高度**:树种节点的最大层次称为树的高度或深度 + - **森林**:零颗或多颗互不相交的树的集合 +- 性质 + - 树中的节点树等于所有节点的度数之和加1 + - 度为m的树中第i层上至多有$$m^{i-1}$$个节点,这里应该有i>=1 + - 高度为h的m次树至多有$$ \frac{m^{h}-1}{m-1}$$个节点 + - 具有n个节点的m次树的最小高度为$$log_m(n(m-1)+1)$$ +- 基本运算 + - 查找满足某种特定关系的节点 + - 插入或删除某个节点 + - 遍历树中的每个节点 + - ![image.png](../assets/image_1695910618983_0.png) + - [[先根遍历]] + - 若树不空,则先访问根节点,然后依次遍历各颗子树 + - [[后根遍历]] + - 若树不空,则先依次遍历后根遍历各课子树,然后访问跟节点 + - [[层次遍历]] + - 若树不空,则自上而下自左至右访问树中每个节点 +- 存储结构 + - 双亲存储结构 + - 顺序存储结构,用一组连续空间存储树的所有节点,同时再每个节点中附设一个伪指针指示器双亲节点的位置 + - ![image.png](../assets/image_1695910737346_0.png) + - 利用了每个节点只有唯一双亲的性质 + - 求双亲节点十分容易,求孩子节点时要遍历 + - 孩子链存储结构 + - 可按树的度设计节点的孩子节点指针域个数 + - ![image.png](../assets/image_1695911000142_0.png) + - 找孩子节点方便,找父节点比较困难 + - 当树的度比较大时,存在较多的空指针域 + - 孩子兄弟链存储结构 + - 每个节点设计三个域,一个数据元素域,一个指向该节点第一个孩子节点的指针域,一个指向该节点的下一个兄弟节点指针域 + - ![image.png](../assets/image_1695911259373_0.png) + - 可以方便的实现树和二叉树的互相转换 + - 找双亲节点比较麻烦 \ No newline at end of file diff --git a/logseq-java/pages/格式化输出.md b/logseq-java/pages/格式化输出.md new file mode 100644 index 0000000..2a3fc2e --- /dev/null +++ b/logseq-java/pages/格式化输出.md @@ -0,0 +1,17 @@ +- > println是print line的缩写,表示输出后换行,不换行可以用print() +- ### 格式化输出System.out.printf() + - ```java + double d = 3.1415926 + System.out.printf("%.2f\n",d); + System.out.printf("%.2f\n",d); + ``` + - |占位符|说明| + |%d|格式化输出整数| + |%x|格式化输出[[十六进制]]整数| + |%f|格式化输出浮点数| + |%e|格式化输出[[科学计数法]]表示的浮点数| + |%s|格式化字符串| + - > 由于%表述占位符,因此,两个%%表示一个%字符本身 + - JDK格式化参数模板[java.util.Formatter](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Formatter.html#syntax) + - + - \ No newline at end of file diff --git a/logseq-java/pages/正则表达式.md b/logseq-java/pages/正则表达式.md new file mode 100644 index 0000000..8424b48 --- /dev/null +++ b/logseq-java/pages/正则表达式.md @@ -0,0 +1,22 @@ +- Why? + - 测试[[字符串]]内的模式 + - 替换文本 + - 基于模式匹配从字符串中提取子字符串 +- 应用领域 + - vi + - Visual C++ ...... +- 语法 + - `+`代表前面的字符至少出现一次**(一次或多次)** + - `*`代表前面的字符可以不出现,也可以出现一次或多次**(0次,或1次,或多次)** + - `?`代表前面的字符可以不出现,也可以出现一次**(0次或1次)** +- 普通字符 + - |普通字符表达式|描述|实例| + |`[ABC]`|匹配[...]中的所有字符,例如[aeiou]匹配字符串中所有a e i o u字母|![](https://www.runoob.com/wp-content/uploads/2014/03/E691DDE1-E5CB-4EA8-8D16-759BD0D2B09D.jpg)| + |`[^ABC]`|匹配除了[...]中字符的所有字符,例如[^aeiou]匹配字符串中除了a e i o u的所有字母|![](https://www.runoob.com/wp-content/uploads/2014/03/ED971D92-30F4-4768-A2C7-02A84A3A9DEB.jpg)| + |`[A-Z]``|[A-Z]表示一个区间,匹配所有大写字母,[a-z]表示所有小写字母|![https://www.runoob.com/wp-content/uploads/2014/03/C5E357BD-65E3-4EB3-9D80-10D096F19287.jpg]| + |`.`|匹配除换行符(\n \r)之外的任何单个字符,相当于[^\n\r]|![](https://www.runoob.com/wp-content/uploads/2014/03/0FD7E77D-38A7-43BC-B51A-7DBA23A77756.jpg)| + |`[\s\S]`|匹配所有,\s是匹配所有空白符,包括换行,\S非空白符,不包括换行|![](https://www.runoob.com/wp-content/uploads/2014/03/47CA6C59-64CF-433A-909E-1E342349A4E0.jpg)| + |`\w`|匹配字母,数字,下划线.等价于[A-Za-z0-9_]|![](https://www.runoob.com/wp-content/uploads/2014/03/F35A5971-3519-4CAE-8BEC-9DE8F4A55257.jpg)| + - + - + - ] \ No newline at end of file diff --git a/logseq-java/pages/死信交换机%2F延迟队列.md b/logseq-java/pages/死信交换机%2F延迟队列.md new file mode 100644 index 0000000..23a55bd --- /dev/null +++ b/logseq-java/pages/死信交换机%2F延迟队列.md @@ -0,0 +1,21 @@ +- 延迟队列 + - 进入队列的消息会被延迟消费的队列 + - 超时订单,限时优惠,定时发布 +- 延迟队列=死信交换机+TTL +- 死信交换机 + - 队列中的消息满足下列情况之一可以称为死信 + - 消费者使用basic.reject或basic.nack声明消费失败,且消息的requeue参数设置为false + - 消息是一个过期消息,超时无人消费 + - 要投递的队列消息堆积满了,最早的消息可能成为死信 + - 该队列设置了了一个dead-letter-exchange属性制定了一个交换机,队列中的死信就会投递到这个交换机中 + - dead-letter-exchange=dl.direct + - dead-letter-routing-key=dl +- TTL + - Time-To-Live + - 消息超时未消费,变为死信息 + - 队列设置了存活时间 + - 消息本身设置了存活时间 +- 延迟队列插件 + - DelayExchange插件 + - 本质还是官方三种交换机,只是添加了延迟功能,使用时声明一个交换机,delayed属性为true + - 消息设置x-delay头,设置超时时间 \ No newline at end of file diff --git a/logseq-java/pages/死锁.md b/logseq-java/pages/死锁.md new file mode 100644 index 0000000..c4c4a1b --- /dev/null +++ b/logseq-java/pages/死锁.md @@ -0,0 +1,13 @@ +- 多线程之间互相持有对方需要对象的锁,而且无限期等待对方释放 +- 条件 + - 使用互斥锁 + - 其它线程无法剥夺当前线程持有的锁 + - 相互无限期等待 + - 相互保持死锁状态 +- 检测死锁 + - jconsole.exe + - jvisualvm.exe +- 解决 + - 业务逻辑的问题 + - 找一些具有时效的锁,Redis的锁 + - 统一加锁顺序 \ No newline at end of file diff --git a/logseq-java/pages/死锁的产生原因和处理方法.md b/logseq-java/pages/死锁的产生原因和处理方法.md new file mode 100644 index 0000000..d15183d --- /dev/null +++ b/logseq-java/pages/死锁的产生原因和处理方法.md @@ -0,0 +1,5 @@ +- DOING 详细补充 + :LOGBOOK: + CLOCK: [2023-10-10 Tue 17:43:42] + CLOCK: [2023-10-10 Tue 17:43:50] + :END: \ No newline at end of file diff --git a/logseq-java/pages/死锁的发生原因和怎么避免.md b/logseq-java/pages/死锁的发生原因和怎么避免.md new file mode 100644 index 0000000..ff142bb --- /dev/null +++ b/logseq-java/pages/死锁的发生原因和怎么避免.md @@ -0,0 +1,11 @@ +- 当前线程需要另一个线程持有的资源,但是另一个线程又在等待当前线程释放它所需要的资源,两边都不释放自己所拥有的对方需要的资源,导致一直处于等待状态就是死锁 +- --- +- 互斥条件 +- 占有和等待条件 +- 不剥夺条件 +- 循环等待条件 +- --- +- 采用静态分配的方式,一次性申请全部需要的资源 +- 申请新的资源前释放当前锁占用资源的锁 +- 获取不到资源就释放当前拥有资源的锁 +- 对所有资源进行编号并按照顺序来进行资源的申请 \ No newline at end of file diff --git a/logseq-java/pages/汽车租车系统.md b/logseq-java/pages/汽车租车系统.md new file mode 100644 index 0000000..19d2a23 --- /dev/null +++ b/logseq-java/pages/汽车租车系统.md @@ -0,0 +1,159 @@ +## 汽车租车系统 + + + + + +### 一、管理员 Admin + +#### 属性: + +​ 账号 密码 + +#### 行为: + +​ 登录 + +​ 车辆上架(默认显示未出租) + +​ 车辆下架(车辆未归还不能下架) + +​ 查看所有用户信息 + +​ 查看所有的租车记录 + +​ 查看所有的车辆 + + + +### 二 用户 Uesr + +#### 属性: + +​ 账号 密码 身份证号 手机号 真实姓名 + +#### 行为: + +​ 租车 + +​ 还车 + +​ 登录 + +​ 查看自己的租车记录 + +​ 查看个人资料 + + + +### 汽车类 Car + +​ 客车 + +​ 属性:id 车型,车牌 日租金 状态(未出租,已出租) 座位数 + +​ 货车 + +​ 属性:id 车型,车牌 日租金 状态(未出租,已出租) 载重数 + + + +### 三 、交易记录 + +​ 手机号 + +​ 真实姓名 + +​ 车型 + +​ 车牌 + +​ 出租时间 Date + +​ 归还时间(Date) + +​ 费用(以24小时为计算单位,超过24小时后+1天) + +​ 状态(使用中,交易完毕) + + + + + +需求: + +```java +public class DataUitl{ + + List users= null; + List admins= null; + Map> cars= null; + + public static void initUser(){ + users = new ArrayList(); + user.add(); + user.add(); + user.add(); + } + + public static void initAdmin(){ + admins = new ArrayList(); + admins.add(); + admins.add(); + admins.add(); + } + + public static void initCar(){ + Car car = new A(); + Car car = new B(); + + Map> cars= null; + List smallCar= new ArrayList(); + smallCar.add("小汽车") + smallCar.add("小汽车") + + List bigCar= new ArrayList(); + bigCar.add("货车") + bigCar.add("货车") + + map.put("小汽车",smallCar); + map.put("货车",bigCar); + map.get("小汽车") + + + + + } + + + + +} + + + + +Class Car{ + +} + +A Class extends Car{ + +} + + +B Class extends Car{ + +} + + + + + + +``` + +​ 数据使用集合来保存! + +​ + diff --git a/logseq-java/pages/泛型.md b/logseq-java/pages/泛型.md new file mode 100644 index 0000000..7345ed9 --- /dev/null +++ b/logseq-java/pages/泛型.md @@ -0,0 +1,12 @@ +- 含有不同类型数据时,集合在 [[向下转型]] 时报错 +- 用来规范集合中元素类型的一种技术 +- 格式 + - <数据类型> +- [[泛型类]] +- [[泛型方法]] +- [[泛型接口]] +- [[泛型擦除]] + - 代码在编译期间,有编译器自动将Student替换原有的E + - ```java + List student = new ArrayList(); + ``` \ No newline at end of file diff --git a/logseq-java/pages/注解.md b/logseq-java/pages/注解.md new file mode 100644 index 0000000..2fdf81b --- /dev/null +++ b/logseq-java/pages/注解.md @@ -0,0 +1,14 @@ +- @单词 +- 作用 + - 解释代码 + - 与第三方达成一定的约定,完成一定的业务 +- 常见SUN公司注解 + - @override + - @Deprecated + - 废弃,说明以下方法过时了 +- [[自定义注解]] +- 重写 [[toString]] + id:: 62564ae5-f389-453b-b790-5c15d527aacf +- +- [[Java程序注释]] +- [[程序/注释]] \ No newline at end of file diff --git a/logseq-java/pages/消息不丢失.md b/logseq-java/pages/消息不丢失.md new file mode 100644 index 0000000..4fcd63d --- /dev/null +++ b/logseq-java/pages/消息不丢失.md @@ -0,0 +1,24 @@ +- ![image.png](../assets/image_1696855016360_0.png) +- 消息丢失的环节 + - 消息未到达交换机 + - 消息未到达队列 + - 队列中丢失 + - 消费者未接收到消息 +- 生产者确认机制 + - publisherconfirm机制,发送到MQ返回一个结果给发送者,表示消息是否处理成功 + - ![image.png](../assets/image_1696855175960_0.png) + - 回调方法即时重发 + - 记录日志 + - 保存到数据库中然后定时重发,成功发送后即刻删除表中数据 +- 消息持久化 + - MQ默认为内存存储消息,开启持久化保证缓存在MQ中消息不丢失 + - 交换机持久化 + - 队列持久化 + - 消息持久化 +- 消费者确认 + - 消费者处理消息后向MQ发送ack回执,MQ收到回执后才会删除 + - SpringAMQP三种确认模式 + - manual:手动,业务代码结束后调用api发送 + - auto:自动ack,由spring监听listener代码是否出现异常,没有异常返回ack,异常返回nack + - none:关闭ack,MQ消息投递后立即删除 + - 使用spring的retry机制,消费者出现异常时利用本地重试,达到次数后,消息处理失败,消息投递到异常交换机由人工处理 \ No newline at end of file diff --git a/logseq-java/pages/消息堆积.md b/logseq-java/pages/消息堆积.md new file mode 100644 index 0000000..f88f311 --- /dev/null +++ b/logseq-java/pages/消息堆积.md @@ -0,0 +1,9 @@ +- 生产者发送消息的速度超过消费者处理消息的速度,导致队列中的消息堆积 +- 增加更多消费者,提高消费速度 +- 消费者内开启线程池加快消息处理速度 +- 扩大队列容积,提高堆积上限 + - 惰性队列 + - 接收消息存入磁盘而非内存呢 + - 消费者消费时才从磁盘加载到内存 + - 支持百万条消息存储 + - 配置时开启lazy属性 \ No newline at end of file diff --git a/logseq-java/pages/消息重复消费.md b/logseq-java/pages/消息重复消费.md new file mode 100644 index 0000000..3889b55 --- /dev/null +++ b/logseq-java/pages/消息重复消费.md @@ -0,0 +1,9 @@ +- 出现的情况 + - 网络抖动 + - 消费者挂机 +- 解决方案 + - 每条消息设置一个唯一的标识id,检验业务id是否存在 + - 支付id,订单id,文章id + - 幂等方案 + - 分布式锁 + - 数据库锁(悲观锁,乐观锁) \ No newline at end of file diff --git a/logseq-java/pages/深圳蜗牛Java面试题.md b/logseq-java/pages/深圳蜗牛Java面试题.md new file mode 100644 index 0000000..945878e --- /dev/null +++ b/logseq-java/pages/深圳蜗牛Java面试题.md @@ -0,0 +1,568 @@ +- ## 一阶段 + - ### 1.1 集合 + collapsed:: true + - 1. [[HashMap和ConcurrentHashMap的区别]] + - 2. [[线程安全的集合有哪些]] + - 3. [[如何做到集合变遍历,边删除]] + - 4. [[HashMap的底层原理是什么,如何扩容,并解决Hash碰撞的]] + - 5. [[HashMap在什么情况下单链表需要转为红黑树]] + - 6. [[ConcurrentHashMap为什么是线程安全的,如何做到的]] + - 7. [[是否写过HashMap的底层,了解过什么]] + - 8. [[Collection集合和Map体系集合的区别]] + - 9. [[HashMap在JDK1.7和JDK1.8的区别]] + - 10. [[HashSet的去重原理]] + - 11. [[写个时间复杂度为O(n)的算法,找到一个数列第二大的数]] + - 12. [[Collection 和 Collections 的区别是啥]] + - 13. [[如何获得Map集合中的所有的Key]] + - 14. [[HashMap 什么情况下会产生死锁的问题如何解决]] + - 15. [[如何使用jdk1.8新特性从商品集合中单独把某一个字段(比如id)拿出来当做一个集合]] + - 16. [[ArrayList和LinkedList的区别]] + - 17. [[遍历Set和List的通用方法]] + - 18. [[有几种方法可以遍历JAVA集合]] + - 19. [[ArrayList哪些操作效率较高]] + - 20. [[HashMap为什么要重写hashcode]] + - 21. [[JDK中有哪些队列]] + - 22. [[HashMap 和 Hashtable 有什么区别]] + - 23. [[List、Set、map区别]] + - 24. [[HashMap的put方法的执行过程]] + - 25. [[分析HashMap为什么线程不安全]] + - 26. [[集合的分类,分别的特性是哪些]] + - 27. [[给你一个数值类型数组,如何以最快的方式,查找到某一个元素]] + - 28. [[编程题,给你一个整数数组,进行排序,输入一个k,从小到大输出k个数]] + - 29. [[有个数组,如何颠倒所有的元素]] + - 30. [[银行系统,我给你168的数字,你应该给我多少张不同面额的人民币(口述如何实现)]] + - 31. [[HashMap的底层是如何解决Hash碰撞的]] + - 32. [[Collection 和 Collections 有什么区别]] + - 33. [[数组,链表,哪个查询效率高,为什么高]] + - 34. [[CurrentHashMap的在JDK1.7和1.8期间分别的特征]] + - 35. [[自旋锁的特征]] + - 36. [[遍历Set和List的通用方法]] + - 37. [[数组的排序算法,你都知道哪些请列举并手写一个出来]] + - ### 1.2 多线程 + collapsed:: true + - 1. [[进程与线程的区别]] + - 2. [[为什么要用多线程]] + - 3. [[多线程的创建方式有哪些]] + - 4. [[是继承Thread类好,还是实现Runnable接口好]] + - 5. [[ThreadLocal类是什么类]] + - 6. [[你项目中的哪些地方使用到多线程]] + - 7. [[什么是线程安全]] + - 8. [[如何解决多线程间线程安全问题]] + - 9. [[为什么使用同步或锁,就可以让多线程解决线程安全问题]] + - 10. [[什么是线程同步]] + - 11. [[什么是同步代码块]] + - 12. [[同步代码块和同步函数之间有什么区别]] + - 13. [[同步函数和静态同步函数之间有什么区别]] + - 14. [[什么是多线程死锁]] + - 15. [[wait() 和notify() 方法的区别]] + - 16. [[同步与异步的区别]] + - 17. [[线程的生命周期]] + - 18. [[线程同步的几个方法]] + - 19. [[并发与并行的区别]] + - 20. [[关于多线程锁升级的理解]] + - 21. [[怎么理解过程一致性和结果一致性]] + - 22. [[synchronized与Lock锁的区别]] + - 23. [[同步方法与同步块的区别]] + - 24. [[什么是线程池它的作用是什么]] + - 25. [[线程池有哪些核心参数]] + - 26. [[synchronized与乐观锁的区别]] + - 27. [[你是怎么创建线程池的]] + - 28. [[线程的原子性是什么]] + - 29. [[说说你对线程的3个特性(原子,可见,有序)的理解]] + - 30. [[sleep()和wait() 的区别]] + - 31. [[如何停止一根线程]] + - 32. [[什么是守护线程,如何做到]] + - 33. [[yield() 与 join() 方法的区别]] + - 34. [[什么是Volatile,它的作用是什么]] + - 35. [[什么是AtomicInteger]] + - 36. [[你都知道哪些锁]] + - 提示:自旋锁,可重入锁,互斥锁,悲观锁,乐观锁,偏向锁,轻量级锁,重量级锁 + - 37. [[线程是如何开始的]] + - 38. [[守护线程是什么如何实现]] + - 39. [[JDK1.8 针对synchronized,都做过哪些优化]] + - ### 1.3 JVM + collapsed:: true + - 1. [[请说下Java的内存模型,也就是JMM]] + - Java内存模型(JMM):JVM规范中定义了Java的内存模型(Java Memory Model,JMM), + - JMM主要分为2个部分:主内存以及每个线程的本地内存。 + - ![image.png](../assets/image_1657070835023_0.png) + - JVM中运行的每个线程都拥有自己的线程栈,线程栈包含了当前线程执行的方法调用相关信息,我们也把它称作调用栈。随着代码的不断执行,调用栈会不断变化。共享的对象我们会放置在堆中! + - ![image.png](../assets/image_1657070883091_0.png) + - 现在的电脑,一般都是多CPU的。那么多个CPU如何操作内存呢 + - 现代计算机一般都有2个以上CPU,而且每个CPU还有可能包含多个核心。因此,如果我们的应用是多线程的话,这些线程可能会在各个CPU核心中并行运行。 + - ![image.png](../assets/image_1657070989302_0.png) + - 在CPU内部有一组CPU寄存器,也就是CPU的储存器。CPU操作寄存器的速度要比操作计算机主存快的多。在主存和CPU寄存器之间还存在一个CPU缓存,CPU操作CPU缓存的速度快于主存但慢于CPU寄存器。某些CPU可能还有多个缓存层(一级缓存和二级缓存)。计算机的主存也称作RAM,所有的CPU都能够访问主存,而且主存比上面提到的缓存和寄存器大很多。 + - 当一个CPU需要访问主存时,会先读取一部分主存数据到CPU缓存,进而在读取CPU缓存到寄存器。当CPU需要写数据到主存时,同样会先flush寄存器到CPU缓存,然后再在某些节点把缓存数据flush到主存 + - 2. [[请说下JVM的运行时的内存结构]] + - JDK1.8以前: + - ![image.png](../assets/image_1657071088825_0.png) + - JDK1.8以后: + - ![image.png](../assets/image_1657071125303_0.png) + - JDK1.8中,移除了方法区的概念,将类的类信息等元数据使用元数据区(或者叫:元空间)来进行存储。 + - 但是程序计数器,本地方法栈,线程栈这3个部分,依旧是线程所独有!堆,元空间还是被线程所共享! + - 3. [[JVM虚拟机的原理]] + - 提示:就是一台虚拟的机器。同样是一款软件,用来执行一系列虚拟计算指令,大体上虚拟机可以分为系统虚拟机和程序虚拟机,大名鼎鼎的Visual Box、Vmware就属于系统虚拟机,他们完全是对物理计算的仿真,提供了一个可以运行完整操作系统的软件平台。 + - 程序虚拟机典型代码就是Java虚拟机,它专门为执行单个计算程序而计算,在Java虚拟机中执行的指令我们成为Java自己码指令。无论是系统虚拟机还是程序虚拟机,在上面运行的软件都被限制于虚拟机提供的资源中。目前Java使用最广泛的是HotSpot虚拟机。 + - 4. [[什么是虚拟机参数配置 你是否配置过 在哪里配置]] + - 提示: + - 虚拟机参数配置,其实就是围绕着堆、栈、方法区的内存空间大小进行配置。 + - 其目的:就是为了更高效,更合理的利用虚拟机,减少FullGC的次数,提升内存的利用率 + - 配置方式多种:可在tomcat的bin目录下的catalina.bat中配置,也可以在开发工具中配置 + - 5. [[都有哪些堆的参数,可以配置]] + - 提示: + - -XX:+PrintGC    每次触发GC的时候打印相关日志 + - -XX:+UseSerialGC 串行回收 + - -XX:+PrintGCDetails  更详细的GC日志 + - -Xms    堆初始值 + - -Xmx    堆最大可用值 + - -Xmn    新生代堆最大可用值 + - -XX:SurvivorRatio 用来设置新生代中eden空间和from/to空间的比例. + - 含以-XX:SurvivorRatio=eden/from=den/to + - 总结:在实际工作中,我们可以直接将初始的堆大小与最大堆大小相等, + - 这样的好处是可以减少程序运行时垃圾回收次数,从而提高效率。 + - -XX:SurvivorRatio 用来设置新生代中eden空间和from/to空间的比例. + - 6. [[如何设置最大堆空间大小]] + - 提示: + - 参数: -Xms20m -Xmx20m -XX:+PrintGCDetails -XX:+UseSerialGC -XX:+PrintCommandLineFlags + - 7. [[设置新生代与老年代优化参数]] + - 提示: + - -Xmn    新生代大小,一般设为整个堆的1/3到1/4左右 + - -XX:SurvivorRatio    设置新生代中eden区和from/to空间的比例关系n/1 默认是8:1:1 + - 参数: -Xms20m -Xmx20m -Xmn5m -XX:SurvivorRatio=8 -XX:+PrintGCDetails -XX:+UseSerialGC + - 8. [[设置新生与老年代代参数]] + - 提示: + - -Xms20m -Xmx20m -XX:SurvivorRatio=8 -XX:+PrintGCDetails -XX:+UseSerialGC + - -XX:NewRatio=2 + - 总结:不同的堆分布情况,对系统执行会产生一定的影响,在实际工作中, + - 应该根据系统的特点做出合理的配置,基本策略:尽可能将对象预留在新生代, + - 减少老年代的GC次数。 + - 除了可以设置新生代的绝对大小(-Xmn),可以使用(-XX:NewRatio)设置新生代和老年 + - 代的比例:-XX:NewRatio=老年代/新生代 + - 9. [[内存溢出你是咋解决的]] + - 提示: + - 错误原因: java.lang.OutOfMemoryError: Java heap space + - 解决办法:设置堆内存大小 -Xms1m -Xmx70m -XX:+HeapDumpOnOutOfMemoryError + - 10. [[栈溢出你是咋解决的]] + - 提示: + - 错误原因: java.lang.StackOverflowError + - 栈溢出 产生于递归调用,循环遍历是不会的,但是循环方法里面产生递归调用, 也会发生栈溢出。 + - 解决办法:设置线程最大调用深度 + - -Xss5m 设置最大调用深度 + - 11. [[Tomcat内存溢出在catalina.sh 修改JVM堆内存大小]] + - 提示: + - JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxNewSize=512m" + - 12. [[内存泄漏与内存溢出的区别]] + - 提示: + - 内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。 + - 内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。 + - memory leak会最终会导致out of memory! + - 内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出。 

内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序。一个盘子用尽各种方法只能装4个果子,你装了5个,结果掉倒地上不能吃了。这就是溢出!比方说栈,栈满时再做进栈必定产生空间溢出,叫上溢,栈空时再做退栈也产生空间溢出,称为下溢。就是分配的内存不足以放下数据项序列,称为内存溢出. 

以发生的方式来分类,内存泄漏可以分为4类: 

1. 常发性内存泄漏。发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。 
2. 偶发性内存泄漏。发生内存泄漏的代码只有在某些特定环境或操作过程下才会发生。常发性和偶发性是相对的。对于特定的环境,偶发性的也许就变成了常发性的。所以测试环境和测试方法对检测内存泄漏至关重要。 
3. 一次性内存泄漏。发生内存泄漏的代码只会被执行一次,或者由于算法上的缺陷,导致总会有一块仅且一块内存发生泄漏。比如,在类的构造函数中分配内存,在析构函数中却没有释放该内存,所以内存泄漏只会发生一次。 
4. 隐式内存泄漏。程序在运行过程中不停的分配内存,但是直到结束的时候才释放内存。严格的说这里并没有发生内存泄漏,因为最终程序释放了所有申请的内存。但是对于一个服务器程序,需要运行几天,几周甚至几个月,不及时释放内存也可能导致最终耗尽系统的所有内存。所以,我们称这类内存泄漏为隐式内存泄漏。 

从用户使用程序的角度来看,内存泄漏本身不会产生什么危害,作为一般的用户,根本感觉不到内存泄漏的存在。真正有危害的是内存泄漏的堆积,这会最终消耗尽系统所有的内存。从这个角度来说,一次性内存泄漏并没有什么危害,因为它不会堆积,而隐式内存泄漏危害性则非常大,因为较之于常发性和偶发性内存泄漏它更难被检测到 + - 13. [[JVM参数调优的总结]] + - 提示: + - 在JVM启动参数中,可以设置跟内存、垃圾回收相关的一些参数设置,默认情况不做任何设置JVM会工作的很好,但对一些配置很好的Server和具体的应用必须仔细调优才能获得最佳性能。通过设置我们希望达到一些目标: + - 1. GC的时间足够的小 + - 2. GC的次数足够的少 + - 3. 发生Full GC的周期足够的长 + - 前两个目前是相悖的,要想GC时间小必须要一个更小的堆,要保证GC次数足够少,必须保证一个更大的堆,我们只能取其平衡。 + - 1. 针对JVM堆的设置,一般可以通过-Xms -Xmx限定其最小、最大值,为了防止垃圾收集器在最小、最大之间收缩堆而产生额外的时间,我们通常把最大、最小设置为相同的值 + - 2. 年轻代和年老代将根据默认的比例(1:2)分配堆内存,可以通过调整二者之间的比率NewRadio来调整二者之间的大小,也可以针对回收代,比如年轻代,通过 -XX:newSize -XX:MaxNewSize来设置其绝对大小。同样,为了防止年轻代的堆收缩,我们通常会把-XX:newSize -XX:MaxNewSize设置为同样大小 + - 3. 年轻代和年老代设置多大才算合理 毫无疑问是没有答案的,否则也就不会有调优。我们观察一下二者大小变化有哪些影响 + - 1. 更大的年轻代必然导致更小的年老代,大的年轻代会延长普通GC的周期,但会增加每次GC的时间;小的年老代会导致更频繁的Full GC + - 2. 更小的年轻代必然导致更大年老代,小的年轻代会导致普通GC很频繁,但每次的GC时间会更短;大的年老代会减少Full GC的频率 + - 3. 如何选择应该依赖应用程序对象生命周期的分布情况:如果应用存在大量的临时对象,应该选择更大的年轻代;如果存在相对较多的持久对象,年老代应该适当增大。但很多应用都没有这样明显的特性,在抉择时应该根据以下两点: + - 1. 本着Full GC尽量少的原则,让年老代尽量缓存常用对象,JVM的默认比例1:2也是这个道理 + - 2. 通过观察应用一段时间,看其他在峰值时年老代会占多少内存,在不影响Full GC的前提下,根据实际情况加大年轻代,比如可以把比例控制在1:1。但应该给年老代至少预留1/3的增长空间 + - ### 1.4 GC + collapsed:: true + - 1. [[说说你对Java的GC回收机制的理解]] + - 提示: + - Java语言有个特征:安全性,就是指Java程序员摆脱了C++ 程序员关于内存管理的问题。使得Java程序员在编写程序时,不需要通过指针操作内存,同时也不需要再去关注内存何时将会被回收清理。这一切,都是因为有的GC回收机制的功劳。 + - ### 1.5 MySQL + collapsed:: true + - 1. [[项目中SQL调优的场景有哪些,数据库调优如何做]] + - 2. [[最多有过几张表的连表处理]] + - 3. [[为什么选择MySQL5.7,而不用5.5 5.6]] + - 4. [[数据库中Btree 与Hash索引的区别]] + - 5. [[什么是数据库回表,如何避免回表查询]] + - 6. [[InnoDB的行级锁什么情况下会使用]] + - 7. [[数据库中如何快速插入100W级数据]] + - 8. [[联合索引与普通索引的区别在哪里]] + - 9. [[有张100W级的表中存在大量的重复数据,如何快速去重]] + - 10. [[数据库中复合索引的字段中可以有null值吗]] + - 11. [[数据库中两张表如何要联合查询,要如何实现]] + - 12. [[mysql数据库索引是用什么数据结构存储的]] + - 13. [[事务在什么情况下会失效]] + - 14. [[怎么用Sql语句复制另一张表]] + - 15. [[数据库连表查询,左外联,右外联,内联查的区别]] + - 16. [[sql语句过慢怎么定位问题]] + - 17. [[说一下JDBC在连接数据库的操作上几个步骤]] + - 18. [[Like 后 加% 和 加_ 的区别在哪里]] + - 19. [[说一下事务的隔离级别和事务的传播性质]] + - 20. [[说一下怎么防止超卖,SQL怎么写]] + - 21. [[如果给你一个功能,你觉得从数据库设计开始的思路是什么]] + - 22. [[说一下 ACID 是什么]] + - 23. [[数据库用户ID主键策略]] + - 24. [[数据库的执行计划]] + - 25. [[JDBC如何提升读取数据的性能]] + - 26. [[select count(*) ,select count(1),select count(字段) 说一下区别]] + - 27. [[索引失效的场景有哪些]] + - 28. [[数据库的SQL语句如何加锁]] + - 29. [[数据库中哪些字段适合加索引 ,哪些不适合加索引]] + - 30. [[什么是聚簇索引,什么是非聚簇索引]] + - 31. [[Union 和 union all 的区别是什么]] + - 32. [[什么是SQL注入,如何防止]] + - 33. [[关闭连接一定能成功吗 怎么保证一定成功关闭连接]] + - 34. [[有哪些地方必须关闭资源]] + - 35. [[有没有设计过数据库 数据库三范式讲一下]] + - 36. [[In 与 exits 的区别是什么]] + - 37. [[MySQL中存储引擎InnoDB,MyIsam的区别在哪里]] + - 38. [[MySQL中锁机制]] + - 39. [[数据库中复合索引的字段中可以有null值吗]] + - 40. [[MySQL数据库的my.ini文件中可以配置什么参数]] + - 答:在mysql的安装根目录中,创建一个文件my.ini编写以下内容: + - ```ini + #client mysql 都是设置客户端 + [client] + #port参数表示的是MySQL数据库的端口,默认的端口是3306 + port=3306 + [mysql] + #default-character-set参数是客户端默认的字符集 + default-character-set=utf8 + #mysqld 设置服务端 + [mysqld] + #port参数也是表示数据库的端口 + port=3306 + #basedir参数表示MySQL的安装路径 + basedir="C:/Program Files/MySQL/MySQL Server 5.7/" + #datadir参数表示MySQL数据文件的存储位置,也是数据库表的存放位置 + datadir="C:/ProgramData/MySQL/MySQL Server 5.7/Data/" + #default-character-set参数表示默认的字符集,这个字符集是服务器端的 + character-set-server=utf8 + #default-storage-engine参数默认的存储引擎 + default-storage-engine=INNODB + #sql-mode参数表示SQL模式的参数,通过这个参数可以设置检验SQL语句的严格程度 + sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" + #max_connections参数表示允许同时访问MySQL服务器的最大连接数(默认151,最大值16384),其中一个连接是保留的,留给管理员专用的 + max_connections=1000 + #query_cache_size参数表示查询时的缓存大小,缓存中可以存储以前通过select语句查询过的信息,再次查询时就可以直接从缓存中拿出信息 + query_cache_size=0 + #table_cache参数表示所有进程打开表的总数 + table_cache=256 + #tmp_table_size参数表示内存中临时表的总数 + tmp_table_size=35M + #thread_cache_size参数表示保留客户端线程的缓存 + thread_cache_size=8 + #myisam_max_sort_file_size参数表示MySQL重建索引时所允许的最大临时文件的大小 + myisam_max_sort_file_size=100G + #myisam_sort_buffer_size参数表示重建索引时的缓存大小 + myisam_sort_buffer_size=69M + #key_buffer_size参数表示关键词的缓存大小 + key_buffer_size=55M + #read_buffer_size参数表示MyISAM表全表扫描的缓存大小 + read_buffer_size=64K + #read_rnd_buffer_size参数表示将排序好的数据存入该缓存中 + read_rnd_buffer_size=256K + #sort_buffer_size参数表示用于排序的缓存大小 + sort_buffer_size=256K + #innodb_additional_mem_pool_size参数表示附加的内存池,用来存储InnoDB表的内容 + innodb_additional_mem_pool_size=3M + #innodb_flush_log_at_trx_commit参数是设置提交日志的时机,若设置为1, + #InnoDB会在每次提交后将事务日志写到磁盘上 + innodb_flush_log_at_trx_commit=1 + #innodb_log_buffer_size参数表示用来存储日志数据的缓存区的大小 + innodb_log_buffer_size=2M + #innodb_buffer_pool_size参数表示缓存的大小,InnoDB使用一个缓冲池类保存索引和原始数据 + innodb_buffer_pool_size=107M + #innodb_log_file_size参数表示日志文件的大小 + innodb_log_file_size=54M + #innodb_thread_concurrency参数表示在InnoDB存储引擎允许的线程最大数 + innodb_thread_concurrency=18 + ``` + - ### 1.6 Mybatis + - 1. [[#{} 与 ${} 的区别]] + - 2. [[Mybatis的实现原理]] + - 3. [[Mybatis级联的配置]] + - 4. [[Mybatis的一二级缓存是什么样的]] + - 5. [[Mybits的缺点有哪些]] + - 6. [[Mybatis如何防止SQL注入]] + - ### 1.7 网络编程 + - 1. [[什么是Socket编程]] + - 2. [[TCP与UDP在概念上的区别]] + - 3. [[TCP协议的特点,你能说说吗 具体说说3次握手,4次挥手的过程]] + - 4. [[OSI七层模型,大概了解么]] + - ### 1.8 设计原则与设计模式 + - 1. [[7大设计原则有哪些]] + - 2. [[什么是设计模式,有多少个]] + - 3. [[单例设计模式,你会手写么 在项目中哪些地方有应用]] + - 4. [[代理设计模式中,静态代理和动态代理的区别]] + - 5. [[动态代理中JDK代理和CGLIB代理区别 代理模式,在项目中哪些地方有应用]] + - 6. [[工厂设计模式的作用 简单工厂会写不 在项目中哪些地方有应用]] + - 7. [[如何克隆一个对象 浅克隆与深克隆区别在哪里]] + - 8. [[设计模式中,工厂设计模式有啥用 项目中在哪些地方用过]] + - ### 1.9 其它题目 + - 1. [[异常的分类,如何自定义异常]] + - 2. [[普通类和抽象类有哪些区别]] + - 3. [[讲讲类的加载过程以及双亲委派机制]] + - 4. [[JDK1.8的新特性,你都用过哪些]] + - 5. [[网络通讯中tcp协议,udp协议的区别]] + - 6. [[普通类和抽象类的区别 接口和抽象的区别]] + - 7. [[常用操作字符串有哪些类 StringBuffer,StringBuilder]] + - 8. [[String,StringBuffer及StringBuilder的区别]] + - 9. [[如何跳出多重循环]] + - 10. [[什么是反射]] + - 11. [[final 在 Java 中有什么作用]] + - 12. [[说一下你熟悉的设计模式]] + - 13. [[谈谈面向对象]] + - 14. [[谈谈多线程并发]] + - 15. [[什么是Java的反射]] + - 16. [[Java的反射,在哪些地方有过应用]] + - 17. [[反射获得Class对象的3种方式]] + - 18. [[反射操作私有属性时,需要注意什么]] + - 19. [[抽象类可以继承实体类么]] + - 20. [[抽象类可以继承接口么]] + - 21. [[接口可以继承抽象类么]] + - 22. [[IO流的分类有哪些]] + - 23. [[谈谈BIO,NIO,AIO的区别是什么,你都用过哪些IO框架]] + - 24. [[Object类的常见方法都有哪些]] + - 25. [[Java中异常的分类,分别说说都哪些具体的异常]] + - 26. [[遇到BUG,你是如何调试的]] + - 27. [[如果运行结果跟预期不一样,但是代码没报错,怎么处理]] + - 28. [[有没有用过断点调试 怎么用的]] + - 29. [[JDK,JRE,JVM的区别]] + - 30. [[重写和重载的区别在哪里]] +- ## 二阶段 + - ### 2.1 Spring + collapsed:: true + - 1. [[对springIOC的理解]] + - 2. [[讲下springAOP,项目中你是如何应用的]] + - 3. [[动态代理模式中JDK与CGLIB的区别]] + - 4. [[Spring的循环依赖问题,如何解决]] + - 5. [[谈谈你对Spring bean的生命周期的理解]] + - 6. [[Spring中对事务的支持,有哪些方式 你项目中如何处理事务]] + - 7. [[Spring中bean基本都是单例的,如果一个方法要对bean中的属性值进行修改,这个方法会被多次执行,怎么确保安全]] + - 8. [[讲一下浅克隆与深克隆]] + - 9. [[@Resource和@Autowired的区别]] + - 10. [[介绍一下你的项目AOP日志功能如何实现的]] + - 11. [[Spring依赖注入的方式有哪些 有区别么]] + - 12. [[Spring的常用注解都有哪些]] + - 13. [[Spring 事务实现方式有哪些]] + - 14. [[BeanFactory 和 ApplicationContext的区别]] + - 15. [[Spring中bean基本都是单例的,如果一个方法要对bean中的属性值进行修改,这个方法会被多次执行,怎么确保安全]] + - 16. [[Spring实例化组件时,如何设置属性]] + - ### 2.2 SpringMVC + collapsed:: true + - 1. [[SpringMVC框架的工作流程]] + - 2. [[forward和redirect的区别]] + - 3. [[说一下@requestMapping的作用]] + - 4. [[知道拦截器么,你项目中哪里使用过拦截器]] + - 5. [[Springmvc 过滤器 拦截器的使用场景和区别是什么]] + - ### 2.3 SpringBoot + collapsed:: true + - 1. [[SpringBoot如何实现自动配置 原理是什么]] + - 2. [[SpringBoot的web模块自动集成了Tomcat,如何剔除]] + - 3. [[说说你常用的几个SpringBoot注解]] + - 4. [[你上个项目用的SpringBoot版本是那个版本的]] + - 5. [[SpringBoot主要的配置类有哪些]] + - 6. [[Spring,Springmvc,SpringBoot的区别是啥]] + - 7. [[可不可以配置两个数据源 比如一个mysql和一个oracle 在哪里配置,怎么配置]] + - 8. [[SpringBoot在yaml中配置了开发环境配置文件和测试配置文件,有几种方式在不同环境去使用不同的配置文件]] + - 9. [[SpringBoot的优点在哪里]] + - 10. [[当application.properties,application.yaml,bootstrap.yaml文件同时存在的情况下,它们的执行顺序是怎样的]] + - 11. [[Spring的启动流程是怎么样的]] + - ### 2.4 Web题 + collapsed:: true + - 1. [[HTTPS 通讯协议是如何实现的 它的加密方式是什么]] + - 2. [[在HTTP请求中如何存储客户信息(分如何获取和如何存储)]] + - 3. [[Ajax怎么实现同步]] + - 4. [[你们项目中,使用的什么 数据交换格式]] + - 5. [[HTTP通讯协议分为几个部分 请求协议的组成]] + - 6. [[JSON的解析框架,你用过什么]] + - 7. [[XML与JSON之间的区别]] + - 8. [[页面加载很慢,有什么优化方案]] + - 9. [[重定向和请求转发的区别是什么]] + - 10. [[JSON格式长什么样 那么JSONArray呢]] + - 11. [[Servlet的生命周期]] + - 12. [[Tomcat如何配置连接池 默认连接数是多少 == 生产环境,Tomcat性能比较差,如何调优]] + - 答:修改conf目录下的server.xml即可实现: + - ```xml + + + + + + + + + ``` + - 13. [[在请求中如何存储客户信息]] + - 14. [[如何防止表单重复提交]] + - 15. [[HTTP协议中GET与POST提交方法的区别在哪里]] + - 16. [[你对RestFul架构风格是如何理解的 平时都是怎么样的]] + - ### 2.5 Shiro + collapsed:: true + - 1. [[Shiro的执行流程]] +- ## 三阶段 + - ### 3.1 RabbitMQ + collapsed:: true + - 1. [[请说说消息队列的工作模式有哪些]] + - 2. [[MQ是如何保证消息不丢失的]] + - 3. [[MQ的工作原理]] + - 4. [[如果保证用户一定能消费成功]] + - 5. [[延迟队列,死信队列的区别是什么]] + - 6. [[请说说RabbitMQ的优缺点]] + - 7. [[延迟队列如何实现]] + - 8. [[如果让你自己写个MQ服务器,你的思路是什么 需要使用到什么技术]] + - 9. [[如何解决消息延时及过期失效的问题 如果有几百万条消息持续积压几小时,说说怎么解决]] + - 10. [[讲一下MQ服务器的推拉模式,你在项目中是如何运用的]] + - 11. [[rabbitmq怎么实现订单延迟支付]] + - 12. [[说一下怎么用rabbitmq实现取消订单的用户积分减少的]] + - 13. [[MQ是什么 你用过哪个 怎么配置的]] + - ### 3.2 Redis + collapsed:: true + - 1. [[什么是接口幂等性,如何保证接口幂等性操作]] + - 2. [[幂等性问题会出现在哪些地方]] + - 3. [[Redis支持的数据类型]] + - 4. [[Redis的持久化方式,以及各自的区别,项目中用的哪一种,怎么配置的]] + - 5. [[如何保证与数据库的双写一致性]] + - 6. [[缓存穿透,击穿,雪崩对应的解决方案是什么]] + - 7. [[使用的Redis是集群的嘛 有多少个节点,采用的是那种集群方案]] + - 8. [[说一下Reddis怎么做集群的]] + - 9. [[Redis 都有哪些使用场景]] + - 10. [[Redis 有哪些功能]] + - 11. [[分布式锁的目的]] + - 12. [[为什么要用redis不用map]] + - 13. [[Redis是原子性的吗 是线程安全的吗 多线程还是单线程]] + - 14. [[Redis的特性是哪些,可以用来干嘛]] + - 15. [[项目中你们部署了多少台Redis服务器,一般配置多少台,熟悉哨兵机制么]] + - 16. [[假设你redis里面有9个商品,我现在有10人来买,怎么防止超卖问题]] + - 17. [[Redis的单线程原理是什么 如果有10个用户同时操作Redis,那么Redis是否按照先后顺序来处理情况]] + - 18. [[Redis的分布式锁用过没 描述一下]] + - 19. [[Redis设置永不过期也可以解决缓存击穿,为什么还要用分布式锁]] + - 20. [[Redis如何保证与数据库的数据一致性问题]] + - 21. [[红锁是怎么实现的 原理是什么]] + - 22. [[知道Redis的看门狗机制么,为什么要用到看门狗]] + - 23. [[Redis的5种数据类型,分别的使用场景]] + - 24. [[Redis集群知道么,如何实现]] + - 25. [[Redis持久化机制中AOF与RDB区别在哪里]] + - 26. [[Redis如何配置RDB]] + - ### 3.3 ES + collapsed:: true + - 1. [[ES怎么保持和数据库的一致性]] + - 2. [[ES怎么配权重 可以做数据库吗]] + - 3. [[ES实现全文检索的原理是什么]] + - 4. [[ES查询一个张三,李四。张三名字可能会重复,要按照张三的生日去进行排序,这个ES语句怎么写]] + - ### 3.4Linux + collapsed:: true + - 1. [[用过的Linux系统都有哪些 什么版本]] + - 2. [[chmod 改用户组的权限]] + - 3. [[如果你在linux部署的项目出现报错时,你需要定位报错信息在哪怎么做]] + - 4. [[nginx反向代理原理]] + - 5. [[Nginx的负载均衡策略]] + - 6. [[Linux如何查看资源的使用情况]] + - 7. [[chmod如何改用户组的权限]] + - ### 3.5 VUE + collapsed:: true + - 1. [[Vue的生命周期是什么,都有哪些钩子函数]] + - 2. [[谈谈MVC架构与MVVM架构的区别在哪里]] + - 3. [[VUE都有哪些组件]] +- ## 四阶段 + - ### 4.1 SpringCloud + collapsed:: true + - 1. [[服务熔断和服务降级,项目是如何运用的]] + - 2. [[你们通过哪些手段处理系统的高并发问题]] + - 3. [[项目中,关于鉴权你们是咋做的]] + - 4. [[Nacos 与 Eureka的区别]] + - 5. [[分布式事务的原理]] + - 6. [[为什么选择Seata来处理分布式事务]] + - 7. [[说说项目开发流程]] + - 8. [[SpringCloud体系的几大组件]] + - 9. [[讲一下spring cloud 中的服务注册的机制和配置方法]] + - 10. [[feign远程调用的时候,如何确保feign接口的参数和controller层方法参数一致]] + - 11. [[你觉得SpringCloud相比传统的SpringMVC有什么优势]] + - 12. [[说一下熔断器,你怎么用的,代码怎么写的]] + - 13. [[做集群的时候事务怎么处理]] + - 14. [[网关限流时,采用什么技术,使用什么限流算法 咋配置]] + - 15. [[分布式高并发下的订单id是如何生成的]] + - 16. [[介绍一下spring,springboot,springcloud]] + - 17. [[openfeign的工作原理,是如何调用服务的]] + - 18. [[Feign远程调用的时候,如何确保Feign接口的参数和Controller层方法参数一致]] + - 19. [[为什么要使用微服务,它的优缺点]] + - 20. [[微服务的搭建步骤]] + - 21. [[微服务组件都用过哪些,你们微服务的业务逻辑是什么样子的]] + - 22. [[Eureka如何搭建,如何才能规避因为网络原因导致客户端大面积下线的情况]] + - 23. [[Eureka高可用怎么配置]] + - 24. [[了解网关么,网关的作用是什么,你都在网关中配置过什么内容]] + - 25. [[网关限流如何配置 限流算法都用过哪些]] + - 26. [[网关是如何找到其他微服务的]] + - 27. [[Eureka关闭之后,其他的微服务之间还能调用么]] + - 28. [[Nginx都配置过什么 如何做负载配置,都哪些负载算法]] + - 29. [[Ngnix代理配置是在哪个文件]] + - 30. [[Mysql的ini文件,都有些参数可以配置]] + - 31. [[Mybatis和MybatisPlus 你在项目中,哪个用的较多]] + - 32. [[有哪些方法可以防止微服务接口被攻击]] + - ### 4.2 Seata + collapsed:: true + - 1. [[什么是分布式事务,项目中哪些地方遇到分布式事务]] + - 2. [[什么是2阶段提交,Seata是如何做2阶段提交的]] + - 3. [[Seata是三大核心组件是哪些,他们分别的作用是什么]] + - 4. [[Seata的AT模式与TCC模式区别在哪里]] + - 5. [[AT模式在运行过程中,如何进行2阶段处理的]] + - 6. [[分布式事务的两个理论特性 是什么]] + - 7. [[请说一下Seata的执行流程]] + - ### 4.3 Alibaba组件 + collapsed:: true + - 1. [[说说nacos吧]] +- ## 其他 + - ### 其他问题 + collapsed:: true + - 1. [[你在项目中遇到的最大问题是什么 如何解决的]] + - 2. [[项目部署没有 有没有经过压力测试 有没有经过渗透测试]] + - 3. [[用过哪些经典的设计模式,谈谈你对它们的理解]] + - 4. [[假如1个接口的QPS只有10,超过10会怎样 如何解决]] + - 5. [[在使用git的过程中,遇到冲突,你是如何处理的]] + - 6. [[单点登录的实现原理]] + - 7. [[如何防止后端接口被攻击]] + - 8. [[每天1万人访问主页并发量有多少]] + - 9. [[负载均衡怎么实现]] + - 10. [[你们开发规范是什么,具体开发流程是什么,需求分析谁做,原型设计怎么来的]] + - 11. [[测试怎么做的]] + - 12. [[项目中有哪些设计是存在缺陷或者不合理的]] + - 13. [[你熟悉秒杀流程 那么秒杀如何保证数据一致性]] + - 14. [[你们项目上线前会在哪里测试 怎么部署的 多个环境你该怎么设置]] + - 15. [[大佬跟你讲的东西,你怎么判断正不正确]] + - 16. [[三层架构是哪三层 具体说说,你知道它们分别对应的架构模式采用的是什么么]] + - 17. [[在生成订单过程中,如果MySQL崩了,怎么办]] + - 18. [[能详细说下非对称加密的流程吗]] + - 19. [[生产环境中应用有问题如何分析问题]] + - 20. [[GIT回退上个版本,用什么命令 切换分支用哪个命令]] \ No newline at end of file diff --git a/logseq-java/pages/瀑布模型.md b/logseq-java/pages/瀑布模型.md new file mode 100644 index 0000000..a3c18ba --- /dev/null +++ b/logseq-java/pages/瀑布模型.md @@ -0,0 +1,22 @@ +- 可行性分析 + - 市场人员承接项目之后,技术人员,产品经理,项目经理,老板参与决定项目能不能做,有没有能力做,有没有资金做 + - 成果:《可行性分析报告》-->项目能不能做 +- 需求调研 + - 技术人员参与,去甲方沟通采集需求 + - 《需求调研报告》-->采集大量的用户需求 +- 需求分析 + - 整个项目团队,针对采集回来的信息,进行进一步的规整,分析 + - 《用户需求说明书》-->大量文字,作用:作为整个系统开发,测试,验收的唯一标准 + - 用户不看,需要产品经理画原型图(AxureRP) + - 《用户需求规格说明书》文字+图片 +- 项目设计 + - 确定项目架构,技术,框架,后端需提供多少接口,确定层次架构关系,绘制UML图,设计数据库表(PowerDesigner) + - 《需求概要设计说明书》-->《需求详细设计说明书》 +- 编码 + - codeing +- 测试 + - 开发人员,测试人员(单元测试,功能测试,集成测试,性能测试,压力测试) +- 交付阶段 + - 文档(部署手册,用户使用说明书,维护手册),源代码,数据库,可执行程序 +- 上线维护阶段 + - 免费1-2年-->收费 \ No newline at end of file diff --git a/logseq-java/pages/生产环境CPU飙高问题.md b/logseq-java/pages/生产环境CPU飙高问题.md new file mode 100644 index 0000000..5a3ebb3 --- /dev/null +++ b/logseq-java/pages/生产环境CPU飙高问题.md @@ -0,0 +1,2 @@ +- Arthas +- \ No newline at end of file diff --git a/logseq-java/pages/生产环境OOM问题.md b/logseq-java/pages/生产环境OOM问题.md new file mode 100644 index 0000000..a2609df --- /dev/null +++ b/logseq-java/pages/生产环境OOM问题.md @@ -0,0 +1,5 @@ +- 设置好运行gc日志以及发生oom时dump内存文件存放位置 +- 使用mat(Memory Analyze Tool)工具分析dump的内存文件 + - eclipse的一个插件,也可以单独安装 +- 可以查看各个线程以及各种数据类型的占用的空间位置 +- 通过异常栈信息查找对应异常位置 \ No newline at end of file diff --git a/logseq-java/pages/生产者消费模式.md b/logseq-java/pages/生产者消费模式.md new file mode 100644 index 0000000..71fcf8b --- /dev/null +++ b/logseq-java/pages/生产者消费模式.md @@ -0,0 +1,6 @@ +- 线程之间数据通讯需要 [[队列]] +- 优势 + - 实现生产者和消费者的松散耦合 + - 实现生产者和消费者处理数据不统一 +- 基于队列的服务器[[RabbitMQ]] +- [[Quene]]队列,[[List]],[[Set]]的兄弟集合 \ No newline at end of file diff --git a/logseq-java/pages/短整数类型.md b/logseq-java/pages/短整数类型.md new file mode 100644 index 0000000..d87d7c1 --- /dev/null +++ b/logseq-java/pages/短整数类型.md @@ -0,0 +1,5 @@ +- 占两字节内存空间,共16位 +- 取值-2^15~2^15-1 + -32768~32767 +- +- \ No newline at end of file diff --git a/logseq-java/pages/禅道.md b/logseq-java/pages/禅道.md new file mode 100644 index 0000000..13815c6 --- /dev/null +++ b/logseq-java/pages/禅道.md @@ -0,0 +1 @@ +- 团队项目管理软件 \ No newline at end of file diff --git a/logseq-java/pages/算术运算符.md b/logseq-java/pages/算术运算符.md new file mode 100644 index 0000000..4752637 --- /dev/null +++ b/logseq-java/pages/算术运算符.md @@ -0,0 +1,8 @@ +- 包含+,-,*,/,% +- + +- - +- * +- / +- % +- 字符串在前时代表字符串拼接 + 后面表达式先计算需要用小括号 \ No newline at end of file diff --git a/logseq-java/pages/类.md b/logseq-java/pages/类.md new file mode 100644 index 0000000..3cf20d5 --- /dev/null +++ b/logseq-java/pages/类.md @@ -0,0 +1 @@ +- \ No newline at end of file diff --git a/logseq-java/pages/类加载机制.md b/logseq-java/pages/类加载机制.md new file mode 100644 index 0000000..99837f6 --- /dev/null +++ b/logseq-java/pages/类加载机制.md @@ -0,0 +1,38 @@ +- 类加载器的作用 + - 读取字节码,转换成为类 +- 类的生命周期 + - 加载 + - 通过类全限定名获取定义此类的二级制字节流 + - 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构 + - 在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口 + - 连接 + - 验证 + - 文件格式验证:魔数,版本号,常量合理性验证 + - 元数据验证:是否存在父类,父类的继承链是否正确,是否实现抽象类和接口的方法 + - 字节码验证 + - 符号引用验证 + - 准备 + - 建立变量,赋予默认值 + - 解析 + - 创建符号引用,引用其他类的地址 + - 初始化 + - 赋初始值 + - 使用 + - 从入口方法执行程序 + - 卸载 + - 销毁创建的class对象 +- [[类加载器]] + - 启动类BootStrap,C++底层,无法被用户使用 + - 加载lib目录下的核心类库 + - 扩展类Extension + - 加载lib目录下ext扩展目录中的jar包 + - 引用程序类加载器Applicaton + - 加载ClassPath路径下的类包 + - 自定义类加载器 User + - 加载用户自定义路径下的类包 +- [[双亲委派机制]] + - 加载过程 + - 向上查询是否已加载 + - 逐层向下尝试是否可以加载 + - 1.9开始模块化 +- [[TomCat底层类加载机制]] \ No newline at end of file diff --git a/logseq-java/pages/类和对象的创建.md b/logseq-java/pages/类和对象的创建.md new file mode 100644 index 0000000..1087d4f --- /dev/null +++ b/logseq-java/pages/类和对象的创建.md @@ -0,0 +1,9 @@ +- ### 传统数据处理 + - [[变量]]:一个变量存储一个数据 + - [[数组]]:一个变量只能存一组数据类型相同的数据 + - 使用对象可以实现一个变量存储多个不同类型数据 +- ### 类的创建 + - [[属性]]Field + - 用于定义该类或该类对象包含的数据或是静态特征,属性范围属于整个类体 + - [[方法]]Method + - 用于定义该类或该类实例的行为特征和功能实现,方法是类和对象行为特征的抽象。方法类似于面向对象过程中的函数 \ No newline at end of file diff --git a/logseq-java/pages/索引下推.md b/logseq-java/pages/索引下推.md new file mode 100644 index 0000000..0535ef4 --- /dev/null +++ b/logseq-java/pages/索引下推.md @@ -0,0 +1 @@ +- 条件查询时,想在当前索引树中完成所有过滤,再进行回表操作 \ No newline at end of file diff --git a/logseq-java/pages/索引优缺点.md b/logseq-java/pages/索引优缺点.md new file mode 100644 index 0000000..3c5b0eb --- /dev/null +++ b/logseq-java/pages/索引优缺点.md @@ -0,0 +1,26 @@ +- 主键 + - 顺序读写 + - 范围快速查询 + - 范围查找自带顺序 +- 非主键 + - 条件查询避免全表扫描 + - 分为,排序,分组返回id,排序分组后再回表查询完整数据,有可能利用顺序读写 + - 索引覆盖无需回表 +- 缺点 + - 空间 + - 占用一定的存储空间 + - 时间 + - 增删改都会需要去修改索引,多个索引会严重影响性能 +- 使用索引一定能够提升效率吗 + - 少量数据全表扫描速度也快 + - 唯一索引会影响插入速度 + - 索引过多会影响更新、插入、删除数据速度 +- 如果是大段文本,如何创建(优化)索引 + - 分表存储,然后创建索引 + - 使用es作为索引 +- crud时聚簇索引和非聚簇索引区别 + - 聚簇索引插入新值比非聚簇索引要慢,插入要保证主键不能重复 + - 聚簇索引范围排序查找效率高 + - 非聚簇索引需要回表 +- 非聚簇索引为什么不存储地址值 + - 聚簇索引可能引发分页重排导致数据可能被移动 \ No newline at end of file diff --git a/logseq-java/pages/索引失效.md b/logseq-java/pages/索引失效.md new file mode 100644 index 0000000..66e813a --- /dev/null +++ b/logseq-java/pages/索引失效.md @@ -0,0 +1,8 @@ +- 计算、函数 +- like以%,_开头 + - 并不完全失效,type=index,遍历了索引树,然后回表查询,没有生效type=all +- 不等于或大于小于 +- is not null或is null +- 类型转换 +- 复合索引未使用左边字段 +- mysql认为全表扫描快啊 \ No newline at end of file diff --git a/logseq-java/pages/索引类型.md b/logseq-java/pages/索引类型.md new file mode 100644 index 0000000..07aa320 --- /dev/null +++ b/logseq-java/pages/索引类型.md @@ -0,0 +1,12 @@ +- 联合索引、组合索引、复合索引 + - 多个非主键列组成的索引 + - 都有就是全职匹配,从左边开始匹配称为最左前缀匹配,否则会失效 +- 字段顺序不一样使用效果一样吗 + - 不一样 +- 唯一索引 + - 字段的值唯一不为NULL + - 是否影响性能 + - 会影响,查询之前要先判断是否唯一 + - 使用唯一索引就不方便逻辑删除 + - 使用场景 + - 业务需求唯一的字段,一般不考虑性能 \ No newline at end of file diff --git a/logseq-java/pages/红黑二叉树.md b/logseq-java/pages/红黑二叉树.md new file mode 100644 index 0000000..20e4356 --- /dev/null +++ b/logseq-java/pages/红黑二叉树.md @@ -0,0 +1,10 @@ +- [wikipedia/红黑树](https://zh.wikipedia.org/wiki/%E7%BA%A2%E9%BB%91%E6%A0%91) +- [动画在线演示](http://rbtree.phpisfuture.com/) +- 特点 + id:: 625fe239-fddf-44fc-9a36-0f3f248f0284 + - 节点是红色或黑色。 + id:: 625f7239-5b5b-45f9-a9b0-347a19e92947 + - 根是黑色。 + - 所有叶子都是黑色(叶子是NIL节点)。 + - 从任一节点到其每个叶子的所有简单路径都包含相同数目的黑色节点。 + - 每个红色节点必须有两个黑色的子节点。(从每个叶子到根的所有路径上不能有两个连续的红色节点。) \ No newline at end of file diff --git a/logseq-java/pages/线上事故,redis主节点宕机数据全部丢失.md b/logseq-java/pages/线上事故,redis主节点宕机数据全部丢失.md new file mode 100644 index 0000000..45529be --- /dev/null +++ b/logseq-java/pages/线上事故,redis主节点宕机数据全部丢失.md @@ -0,0 +1,5 @@ +- master-slave-哨兵 +- master未持久化 +- redis进程使用supervisor,进程宕机就重启 +- 故障情况下哨兵还未切换,master重启,启动后为空实例,进而同步到slave +- 要等待哨兵切换后再重启主节点 \ No newline at end of file diff --git a/logseq-java/pages/线上事故,主从切换导致缓存雪崩.md b/logseq-java/pages/线上事故,主从切换导致缓存雪崩.md new file mode 100644 index 0000000..90d9752 --- /dev/null +++ b/logseq-java/pages/线上事故,主从切换导致缓存雪崩.md @@ -0,0 +1,4 @@ +- slave的时钟比master走的快很多 +- 设置了过期的key,slave角度很多key过期了 +- 主从切换后,slave变为master清理大量过期key,导致无法及时处理 +- 一定要保证主从的时钟一致性 \ No newline at end of file diff --git a/logseq-java/pages/线程加锁有哪些方式,Synchronized和lock的区别.md b/logseq-java/pages/线程加锁有哪些方式,Synchronized和lock的区别.md new file mode 100644 index 0000000..d73cc35 --- /dev/null +++ b/logseq-java/pages/线程加锁有哪些方式,Synchronized和lock的区别.md @@ -0,0 +1,12 @@ +- synchronized和ReentrantLock +- jvm,接口 +- 自动释放,手动释放 +- 阻塞会一直等待,可以通过tryLock判断是否获取锁 +- 不可判断锁状态,可以判断 +- 可重入,不可中断,非公平、可重入,可判断,可公平非公平 +- +- 性能不一样,竟争激烈情况lock性能好 +- lock只能写在方法里 +- lock有tryLock,lockInterrupiblty可以中断争抢锁 +- ReentrantReadWriteLock实现读写锁 +- 支持Condition \ No newline at end of file diff --git a/logseq-java/pages/线程同步.md b/logseq-java/pages/线程同步.md new file mode 100644 index 0000000..82c0c43 --- /dev/null +++ b/logseq-java/pages/线程同步.md @@ -0,0 +1,2 @@ +- [[synchornized]] 可以线程同步,无法控制线程执行顺序 +- [[线程池]] \ No newline at end of file diff --git a/logseq-java/pages/线程安全.md b/logseq-java/pages/线程安全.md new file mode 100644 index 0000000..9778c76 --- /dev/null +++ b/logseq-java/pages/线程安全.md @@ -0,0 +1,6 @@ +- 安全状态 + - 多线程访问同一对象的情况下,任何时刻数据都是准确的 +- 不安全状态 + - 多线程访问同一对象,有可能数据不准确 +- 解决方案 + - 线程排队,将异步顺序变为同步顺序 \ No newline at end of file diff --git a/logseq-java/pages/线程有几种状态.md b/logseq-java/pages/线程有几种状态.md new file mode 100644 index 0000000..5e39333 --- /dev/null +++ b/logseq-java/pages/线程有几种状态.md @@ -0,0 +1,8 @@ +- NEW +- RUNNABLE + - READY + - RUNNING +- BLOCKED +- \WAITING +- TIME_WAITING +- TERMINATED \ No newline at end of file diff --git a/logseq-java/pages/线程池.md b/logseq-java/pages/线程池.md new file mode 100644 index 0000000..641b981 --- /dev/null +++ b/logseq-java/pages/线程池.md @@ -0,0 +1,25 @@ +- 作用 + - 有效控制线程 + - 有效复用线程 + - 可防止野线程`new Thread()` +- 组成 + - 任务队列 + - 让任务按照 [[FIFO]]的方式进行排队 + - 工作线程 + - 执行任务的线程 + - 任务对接接口 + - 线程池接收任务的接口 + - 线程管理器 + - 管理线程的生命周期 +- 简易线程池 + - ```java + Executors.newSingleThreadExecutor(); // 创建一个单线程的线程池 + Executors.newCachedThreadPool(); // 创建一个具有线程缓存能力的线程池 + Executors.newFixedThreadPool(10); // 创建一个具有固定数量的线程池 + Executors.newScheduledThreadPool(5); // 创建一个具有执行延迟任务能力的线程池 + ``` +- 复杂线程池 + - 适用于生产上线环境 + - Tomcat服务器 + - 默认200 --> 调成1000针对服务器调优 + - RabbitMQ服务器,提升消费者消费能力 \ No newline at end of file diff --git a/logseq-java/pages/线程池如何知道一个线程的任务已经执行完成.md b/logseq-java/pages/线程池如何知道一个线程的任务已经执行完成.md new file mode 100644 index 0000000..186b33d --- /dev/null +++ b/logseq-java/pages/线程池如何知道一个线程的任务已经执行完成.md @@ -0,0 +1,7 @@ +- 线程池的内部 + - 当我们把一个任务丢给线程池执行的时候,线程池会调度工作线程来执行这个任务的run方法,run方法结束后这个任务完成,线程池中的线程是通过同步调用任务中的run方法并等待run方法返回后再统计任务的完成数量 +- 线程池外部 + - isTerminated判断状态,但是要提前调用shutdown方法,但是实际不会去主动关闭线程池 + - 使用submit方法提交任务,sumbit有future返回值,execute没有 + - 线程池中一个submit方法提供了一个future的返回值,通过future.get,future.isDone方法获取任务的执行结果,只要future.get没有执行完之前会一直阻塞,只要返回就可以 + - countdownlatch,初始化一个指定计数器倒计数,await()阻塞,每一个任务都countdown,直到归零唤醒阻塞的线程 \ No newline at end of file diff --git a/logseq-java/pages/线程池有几种拒绝策略.md b/logseq-java/pages/线程池有几种拒绝策略.md new file mode 100644 index 0000000..1153e3b --- /dev/null +++ b/logseq-java/pages/线程池有几种拒绝策略.md @@ -0,0 +1,8 @@ +- AbortPolicy + - 抛出一个RuntimeException +- DiscardPolicy + - 直接丢弃 +- DiscardOldestPolicy + - 丢弃队列里面存货时间最长的任务 +- CallerRunsPolicy + - 任务提交给提交任务的线程执行 \ No newline at end of file diff --git a/logseq-java/pages/线程池线程复用原理.md b/logseq-java/pages/线程池线程复用原理.md new file mode 100644 index 0000000..9dff81b --- /dev/null +++ b/logseq-java/pages/线程池线程复用原理.md @@ -0,0 +1,8 @@ +- 线程和任务解耦 +- 不使用start,让每一个线程执行循环任务,调用run方法 +- 通过executor方法执行任务 +- 判断是否为空 +- 判断核心线程数 +- 判断阻塞队列 +- 判断最大线程数 +- 执行拒绝策略 \ No newline at end of file diff --git a/logseq-java/pages/线程状态.md b/logseq-java/pages/线程状态.md new file mode 100644 index 0000000..f250570 --- /dev/null +++ b/logseq-java/pages/线程状态.md @@ -0,0 +1,22 @@ +- 生命周期 + - 新建 + - new新建 + - 就绪 + - 运行 + - runable 就绪或运行 + - 阻塞 + - sleep 休眠 + - 该方法为static方法 + - join 加入 + - 将某些线程加入到某个线程内部,被加入的线程状态由运行变为阻塞 + - yield 让步 + - 该方法为static方法 + - 可以让其它线程先执行 + - 让步成功后线程回到就就绪的状态 + - 死亡 + - run结束,main结束 +- CPU线程调度算法 + - 分时调度 + - 将所有需要执行的线程,按照时间划分为很小的时间片段,给线程随机分配并执行,且线程执行的时间不能超过分配的时间片 + - 优先级调度 + - Java给每个线程设立优先级,默认为5,取值为1-10,优先级越高不一定优先执行,只是代表 \ No newline at end of file diff --git a/logseq-java/pages/线程生命周期状态.md b/logseq-java/pages/线程生命周期状态.md new file mode 100644 index 0000000..67c2586 --- /dev/null +++ b/logseq-java/pages/线程生命周期状态.md @@ -0,0 +1,11 @@ +- NEW +- RUNABLE + - RUNNING + - READY +- BLOCKED + - 未获取到锁 +- \WAITING + - 等待notify(),notifyAll() + - join线程 +- TIME_WAITING +- TERMINTED \ No newline at end of file diff --git a/logseq-java/pages/组件化开发.md b/logseq-java/pages/组件化开发.md new file mode 100644 index 0000000..ff41f5f --- /dev/null +++ b/logseq-java/pages/组件化开发.md @@ -0,0 +1,84 @@ +- 封装代码,分离关注(降低代码之间的耦合度),提升复用性 +- 全局组件 + - 全部Vue组件都可以使用 + - ```javascript + /* 定义一个全局组件 */ + Vue.component('hello', { + template: ` +

+ ` + }); + ``` +- 局部组件 + - 仅定义的组件可使用 + - ```javascript + let app = new Vue({ + el:"#app", + components:{ + 'world-component':{ + template:` +

world-World

+ ` + }, + 'home-component':{ + template:` +

home-World

+ ` + } + } + + }); + ``` +- 组件嵌套 + - 局部组件可嵌套全局组件 +- 组件属性 + - datas + - methods + - computed +- 父组件给子组件传值 + - 使用props属性传值 + - ```javascript + props:['fname','fage'] + ``` + - 使用typeof获取传递过来的数据类型 + - 使用对象进行数据校验 + - 子组件prop使用对象来接受数据 + - ```javascript + props:{ + fname:String, + fage:number + } + ``` +- 子组件给父组件传值 + - 父组件使用v-on监听子组件的方法 + - 子组件调用$emit()方法,通知父组件方法已触发可接受数据 + - ```javascript + Vue.component('child',{ + template:` +
+ + +
+ +
+ `, + data() { + return { + a:"", + b:"" + } + }, + methods:{ + calc:function(){ + let sum = Number(this.a) + Number(this.b); + console.log(sum); + /* 告诉v-on的监听,说calc这个子组件的方法, 已经触发了, + 并返回给你一个结果sum*/ + this.$emit('calc',sum,this.a,this.b); + } + } + }); + ``` \ No newline at end of file diff --git a/logseq-java/pages/继承.md b/logseq-java/pages/继承.md new file mode 100644 index 0000000..bd441da --- /dev/null +++ b/logseq-java/pages/继承.md @@ -0,0 +1,20 @@ +- 作用 + - 抽取公共的代码 +- 当一个类继承一个另一个类后,可以使用另一个类中的[[行为]]或[[属性]] +- [[继承的定义]] +- > 继承一定要满足is-a的关系 +- > 不要为了继承而继承 +- 好处: + - 提高代码[[复用性]] + - 提高代码可[[可维护性]] + - 为[[多态]]提供支持 +- 坏处: + - 提高了代码的[[耦合性]] +- 一个好的程序,满足[[高内聚]],[[低耦合]] +- [[继承方式]] +- 继承中,创建一个子类对象时,创建了几个对象 #Java面试 + - 一个 +- 不能被继承的 + - 父类私有的东西 + - 父类的[[构造器]] +- \ No newline at end of file diff --git a/logseq-java/pages/继承方式.md b/logseq-java/pages/继承方式.md new file mode 100644 index 0000000..f85e2d1 --- /dev/null +++ b/logseq-java/pages/继承方式.md @@ -0,0 +1,2 @@ +- Java中只允许单继承,一个类只能有一个父类 +- \ No newline at end of file diff --git a/logseq-java/pages/继承的定义.md b/logseq-java/pages/继承的定义.md new file mode 100644 index 0000000..c381490 --- /dev/null +++ b/logseq-java/pages/继承的定义.md @@ -0,0 +1,2 @@ +- 被抽取的类为父类,基类 +- 继承的类称为子类,派生类 \ No newline at end of file diff --git a/logseq-java/pages/缓冲流.md b/logseq-java/pages/缓冲流.md new file mode 100644 index 0000000..c64b568 --- /dev/null +++ b/logseq-java/pages/缓冲流.md @@ -0,0 +1,7 @@ +- 特点 + - 不直接面对数据源 +- 字节缓冲流 +- 字符缓冲流 +- +- 如何选择流 + - 遇事不决,选择字节流+缓冲流 \ No newline at end of file diff --git a/logseq-java/pages/缓存数据库双写不一致问题.md b/logseq-java/pages/缓存数据库双写不一致问题.md new file mode 100644 index 0000000..597229e --- /dev/null +++ b/logseq-java/pages/缓存数据库双写不一致问题.md @@ -0,0 +1,8 @@ +- ![image.png](../assets/image_1696823654338_0.png) +- 利用分布式锁,防止并发读写 +- 查询的时候先等待更新的锁完成 +- 分布式锁串行争用问题 + - 基于读写锁优化 + - RReadWriteLock rLock = Redission.getReadWriteLock() + - rLock.readLock(); + - 使用tryLock() \ No newline at end of file diff --git a/logseq-java/pages/缓存问题.md b/logseq-java/pages/缓存问题.md new file mode 100644 index 0000000..012d589 --- /dev/null +++ b/logseq-java/pages/缓存问题.md @@ -0,0 +1,24 @@ +- 缓存雪崩 + - > 缓存大面积过期,请求都被转发到DB + - 设置随机过期时间 + - 热点数据永不过期 +- 缓存击穿 + - > 缓存中没有,数据库中有,存放数据初始化及key过期 + - 热点key永不过期,逻辑上设置一个过期时间并定期重建缓存 + - 加载DB的时候防止并发 + - 给key续期 +- 缓存穿透 + - > 缓存中查不到,数据库也查不到 + - 对参数进行合法性校验 + - 缓存空值并设置过期时间 + - 布隆过滤器 +- 基于DCL机制解决突发热点缓存并发重建 + - 带货,冷门商品redis未缓存 + - 大量请求同时查询数据库 + - 加锁,将查询缓存和查询数据库缓存到redis代码放入同步代码块 + - Double Check Lock 双重检测锁,单例模式也有应用 + - synchronized只在单个JVM生效,如果存在两个同时的大量并发重建,第二个会一直被阻塞 + - 分布式锁 + - setnx key value + - RLock lock = redission.getLock(); + - 使用try-catch-finally \ No newline at end of file diff --git a/logseq-java/pages/编程语言.md b/logseq-java/pages/编程语言.md new file mode 100644 index 0000000..18b3e26 --- /dev/null +++ b/logseq-java/pages/编程语言.md @@ -0,0 +1,33 @@ +- 人和电脑交互的语言 +- 自然语言:人与人之间的语言 + - 中文 + - 英语... +- 编程语言发展 + - 1. [[二进制]] + - 第一代:二进制编程语言/机器语言 + - 组成:0和1 + - 特点:阅读性极差,维护性极差,开发效率非常低下 + - ``` + 00010011 + ``` + - 2. [[汇编语言]](符号语言) + - 思想:使用一些特殊的符号,替代难于理解的01 + - AB-10101111 + &A-00110101 + - ``` + AB &A CB + ``` + - 特点:阅读性,维护性仍旧很差,但是简化了大量的01组合 + - 3.[[高级编程语言]] + - 采用人类的语言作为编程的标准 + - ```java + system.out.println("Hello"); + ``` + - 分类 + - 结构化编程[[面向过程]] + - C语言 + - [[面向对象]] + - C++ + - Java + - 来自对C++的封装,C++来自对C的封装,所以Java也是C系语言中的一种 + - C# \ No newline at end of file diff --git a/logseq-java/pages/编译异常.md b/logseq-java/pages/编译异常.md new file mode 100644 index 0000000..eeb76bc --- /dev/null +++ b/logseq-java/pages/编译异常.md @@ -0,0 +1,8 @@ +- 看父类是否是[[Exception]] +- 编译异常解决方案 + - 抓捕异常,直接处理,不再向下抛出 + - [[try]][[catch]] + - 不抓捕,直接处理 [[throw]] 抛出 + - 在代码中写throw error;在函数后加上throws ParseException + - 不抓捕异常,直接处理,继续向下抛出 + - 之要代码中使用了throws抛出异常,那么对应的方法就会被弹出方法栈,并且需要执行的代码,回到调用者身上 \ No newline at end of file diff --git a/logseq-java/pages/网络抖动导致频繁主从切换.md b/logseq-java/pages/网络抖动导致频繁主从切换.md new file mode 100644 index 0000000..3203b2f --- /dev/null +++ b/logseq-java/pages/网络抖动导致频繁主从切换.md @@ -0,0 +1,2 @@ +- 提供了`cluster-node-timeout`选项,持续到一定时间才认为故障并切换主从 +- \ No newline at end of file diff --git a/logseq-java/pages/网络相关面试题.md b/logseq-java/pages/网络相关面试题.md new file mode 100644 index 0000000..6a43aee --- /dev/null +++ b/logseq-java/pages/网络相关面试题.md @@ -0,0 +1,12 @@ +- 请说一下网络四元组 +- [连环问]介绍一下自己对Netty的认识吧 +- 什么是服务网格? +- 请说一下网络四元组 +- NIO有什么区别? +- TCP协议为什么要设计三次握手? +- Cookie和Session的区别 +- 请说一下Netty中Reactor模式的理解 +- 什么是I0的多路复用机制? +- select 和 epoll 的区别 +- 什么是拆包和粘包?怎么解决? +- 为什么Netty线程池默认大小为CPU核数的 \ No newline at end of file diff --git a/logseq-java/pages/网络编程.md b/logseq-java/pages/网络编程.md new file mode 100644 index 0000000..8236788 --- /dev/null +++ b/logseq-java/pages/网络编程.md @@ -0,0 +1,33 @@ +- [[Socket]] +- 程序和程序之间,需要通过网络通信 +- 三要素 + - [[IP]]地址 + - 查看 + - ipconfig + - ipconfig -all + - 测试是否通畅 + - [[ping]] + - 网络[[端口]] + - 端口号 + - 独立的进程必须开独立的端口号 + - 1024以下端口电脑自己使用了 + - 80属于[[HTTP]]服务器端口,22属于[[Linux]]操作系统给客户端暴露出来的端口 + - [[通讯协议]] + - 计算机之间或程序之间达成的一种通信指令 + - [[TCP/IP]] [[UDP]] [[HTTPS]] +- [[OSI]]七层模型 + - `第7层 应用层``第6层 表示层``第5层 会议层` + 与程序有关 + - `第4层 传输层` + - `第3层 网络层``第2层 数据链路层``第1层 实体层` + 与计算机硬件有关 + - |层|TCP/IP 三层模型|功能|协议| + |--|--|--|--| + |应用层|应用层|文件传输|HTTP,HTTPS,FTP| + |表示层||数据格式化,代码转换|| + |会话层|||| + |传输层|传输层||| + |网络层|||| + |数据链路层|||| + |物理层|||| + - \ No newline at end of file diff --git a/logseq-java/pages/耦合性.md b/logseq-java/pages/耦合性.md new file mode 100644 index 0000000..0297311 --- /dev/null +++ b/logseq-java/pages/耦合性.md @@ -0,0 +1 @@ +- [[低耦合]] \ No newline at end of file diff --git a/logseq-java/pages/能谈一下CAS机制吗?.md b/logseq-java/pages/能谈一下CAS机制吗?.md new file mode 100644 index 0000000..8d192c2 --- /dev/null +++ b/logseq-java/pages/能谈一下CAS机制吗?.md @@ -0,0 +1,2 @@ +- CAS就是比较并交换,通过CAS可以实现乐观锁机制,在每一次对数据进行操作的时候都会对值进行校对,从而判断是否有其他线程修改过这个值,没有修改过才会更新这个值 +- 存在ABA问题,这个问题可以通过加一个版本号来解决 \ No newline at end of file diff --git a/logseq-java/pages/自增运算符.md b/logseq-java/pages/自增运算符.md new file mode 100644 index 0000000..f3f3004 --- /dev/null +++ b/logseq-java/pages/自增运算符.md @@ -0,0 +1,78 @@ +- ++ + 将变量的值完成+1 +- ```java + int i = 3; + int j = 4; + //独立使用时前后效果一样,两种情况下使用了之后自身的值都要加1 + i ++; + ++ i; + System.out.println(i ++);//这种情况下是先使用原来的值计算及输出,完成之后在进行+1,此时输出结果为3 + System.out.println(i);//此时输出结果为4 + System.out.println(++ j);//这种情况下先进行j ++的计算,计算完成之后在进行其它运算及输出 + ``` +- 特别注意i ++要先用原来的值,用完原来的值之后在自己加1 + - ``` + int i = 10; + int j = i ++; + + 11 10 + + int i= 10; + int j = ++ i; + + 11 11 + + int i + int j = i ++ + ++i + + 12 22 + + int i = 10 + int j = 11 + System.out.println(i++ - ++j); + System.out.println(i); + System.out.println(j); + + -2 11 12 + + int i = 10 + int j = 11 + int k = 12 + System.out.println(i++ + ++j + k++); + System.out.println(i); + System.out.println(j); + System.out.println(k); + 34 11 12 13 + + int i = 10 + int j = 11 + int k = 15 + System.out.println(i++ * ++i - ++j + k++); + System.out.println(i); + System.out.println(j); + System.out.println(k); + 123 12 12 16 + ``` +- -- + - 将变量的值自身减1 +- 运算优先级 + - |优先级|运算符|结合性| + |1|()[]|从左到右| + |2|! ++ --|从右到左| + |3|* / %|从左到右| + |4|+ -|从左到右| + |5|<< >> >>> instanceof|从左到右| + |6|< >|从左到右| + |7|==|从左到右| + |8|&|从左到右| + |9|^|从左到右| + |10|\|从左到右| + |11|&&|从左到右| + |12|\\\\|从左到右| + |13|?:(三目)|从右到左| + |14|= += -= *= /= %= <<= >>= >>>=|从右到左| + - + - + - + - + - \ No newline at end of file diff --git a/logseq-java/pages/自定义常量.md b/logseq-java/pages/自定义常量.md new file mode 100644 index 0000000..a4c3c6b --- /dev/null +++ b/logseq-java/pages/自定义常量.md @@ -0,0 +1 @@ +- 单词全大写,单词之间用_分割 \ No newline at end of file diff --git a/logseq-java/pages/自定义异常.md b/logseq-java/pages/自定义异常.md new file mode 100644 index 0000000..92881f7 --- /dev/null +++ b/logseq-java/pages/自定义异常.md @@ -0,0 +1,15 @@ +- 判断异常类型 + - 编译时报错就是编译异常 + - 看父类是 [[Exception]]还是 [[RuntimeException]] +- 声明[[编译异常]] + - ```java + publlic class 编译异常 extends Exception{ + + } + ``` +- 声明[[运行异常]] + - ```java + publlic class 运行异常 extends RuntimeException{ + + } + ``` \ No newline at end of file diff --git a/logseq-java/pages/自旋锁优缺点.md b/logseq-java/pages/自旋锁优缺点.md new file mode 100644 index 0000000..6242bbe --- /dev/null +++ b/logseq-java/pages/自旋锁优缺点.md @@ -0,0 +1,4 @@ +- 不放弃cpu时间片,通过自旋等待锁释放 +- 切换线程开销有时候过大,线程执行时间短 +- 导致CPU资源额外开销 +- 适用于并发度不高,执行时间不长的场景 \ No newline at end of file diff --git a/logseq-java/pages/补码.md b/logseq-java/pages/补码.md new file mode 100644 index 0000000..5bf6153 --- /dev/null +++ b/logseq-java/pages/补码.md @@ -0,0 +1,4 @@ +- [[原码]] +- [[反码]] +- 将反码加1得到补码 +- 1111 0011 --> 1111 0100 \ No newline at end of file diff --git a/logseq-java/pages/表中没有索引,会创建B+树吗.md b/logseq-java/pages/表中没有索引,会创建B+树吗.md new file mode 100644 index 0000000..3c3198c --- /dev/null +++ b/logseq-java/pages/表中没有索引,会创建B+树吗.md @@ -0,0 +1,2 @@ +- 有主键会根据主键来创建出来一个索引 +- 没有主键会使用一个默认rowID来创建索引 \ No newline at end of file diff --git a/logseq-java/pages/视图.md b/logseq-java/pages/视图.md new file mode 100644 index 0000000..1d49806 --- /dev/null +++ b/logseq-java/pages/视图.md @@ -0,0 +1,6 @@ +- 一个虚表,从一个或几个表(视图)导出的表 +- 只存放定义,不存放实录对应数据 +- 基表中数据发生改变,视图中查询数据页随之改变 +- 作用 +- 简化用户操作 +- 使用户以多种角度看待同一数据 \ No newline at end of file diff --git a/logseq-java/pages/解决hash冲突方法.md b/logseq-java/pages/解决hash冲突方法.md new file mode 100644 index 0000000..826850b --- /dev/null +++ b/logseq-java/pages/解决hash冲突方法.md @@ -0,0 +1,4 @@ +- 开放地址法 +- 再Hash法 +- 链地址法 +- 公共溢出区 \ No newline at end of file diff --git a/logseq-java/pages/解码.md b/logseq-java/pages/解码.md new file mode 100644 index 0000000..a6bc86b --- /dev/null +++ b/logseq-java/pages/解码.md @@ -0,0 +1 @@ +- 将二进制码转化为字符的过程 \ No newline at end of file diff --git a/logseq-java/pages/计划驱动.md b/logseq-java/pages/计划驱动.md new file mode 100644 index 0000000..98060d9 --- /dev/null +++ b/logseq-java/pages/计划驱动.md @@ -0,0 +1,16 @@ +- 由上一个计划不断驱动下一个 +- 版本迭代 + - 每一个版本都需要解决上一个版本的问题 + - 每个版本周期范围内遵从 [[瀑布模型]],当前版本需求不变化 +- ||[[敏捷开发]]|计划驱动| + |人数|5-10|>10| + |能力|各种能力技术|能力参差不齐| + |领导|无明确领导,靠自我驱动|有明确上下级| + |团队|内部项目,团队在一起(银行系统)|跨组织结构,地域| + |新旧|新系统,充满未知数|系统有熟悉范围和功能| + |环境|用户环境经常变化|甲方跟团队固定| + |交流|依靠嘴遁,不依赖文档|依赖文档| + |周期|1-7day|2-4week| + |类型|互联网软件|管理软件| + |特点|不注重文档,拥抱需求(每天都变)|重视文档,团队稳定,需求稳定| +- 团队组成:产品经理,项目经理,前端开发,后端开发,DBA测试,实施(运维) \ No newline at end of file diff --git a/logseq-java/pages/计算机发展历程.md b/logseq-java/pages/计算机发展历程.md new file mode 100644 index 0000000..9227a75 --- /dev/null +++ b/logseq-java/pages/计算机发展历程.md @@ -0,0 +1,10 @@ +- 46y2m 第一台计算机产生 +- 1. 电子管计算机时代40-50 + - 特点:体积大,能耗高,执行效率低下 +- 2. 晶体管50-60体积 + - 特点:体积依旧大,能耗依旧大,效率有所提升 +- 3. 中小规模集成电路60-70 + - 特点:体积,能耗,效率进一步提升 +- 4. 大规模集成电路70-80 + - 特点:体积,能耗,效率进一步提升 +- \ No newline at end of file diff --git a/logseq-java/pages/计算机基础理论.md b/logseq-java/pages/计算机基础理论.md new file mode 100644 index 0000000..f39be2b --- /dev/null +++ b/logseq-java/pages/计算机基础理论.md @@ -0,0 +1,4 @@ +- [[计算机组成]] +- [[计算机发展历程]] +- [[软硬件]] +- [[编程语言]] \ No newline at end of file diff --git a/logseq-java/pages/计算机组成.md b/logseq-java/pages/计算机组成.md new file mode 100644 index 0000000..3ce8d98 --- /dev/null +++ b/logseq-java/pages/计算机组成.md @@ -0,0 +1,2 @@ +- > 一个用于数据存储和数据计算的机器 +- > 程序员靠什么编写代码指令[[编程语言]] \ No newline at end of file diff --git a/logseq-java/pages/讲一下wait和notify这个为什么要在synchronized代码块中?.md b/logseq-java/pages/讲一下wait和notify这个为什么要在synchronized代码块中?.md new file mode 100644 index 0000000..309be49 --- /dev/null +++ b/logseq-java/pages/讲一下wait和notify这个为什么要在synchronized代码块中?.md @@ -0,0 +1,2 @@ +- wait,notify和notifyall是用于线程间通信的方法 +- \ No newline at end of file diff --git a/logseq-java/pages/设置key的过期时间.md b/logseq-java/pages/设置key的过期时间.md new file mode 100644 index 0000000..725f034 --- /dev/null +++ b/logseq-java/pages/设置key的过期时间.md @@ -0,0 +1,2 @@ +- EXPIRE +- SETEX \ No newline at end of file diff --git a/logseq-java/pages/设计模式.md b/logseq-java/pages/设计模式.md new file mode 100644 index 0000000..8d68f5c --- /dev/null +++ b/logseq-java/pages/设计模式.md @@ -0,0 +1,18 @@ +- 基本要素 + - 模式名称 + - 环境和问题 + - 解决方案 + - 效果 +- 创建型模式 + - 单例 + - 原型 + - 工厂 + - 抽象工厂 + - 建造者 +- 结构性模式 + - 代理 + - 适配器 + - 桥接 + - 装饰 + - 外观 +- 行为型模式 \ No newline at end of file diff --git a/logseq-java/pages/访问修饰符.md b/logseq-java/pages/访问修饰符.md new file mode 100644 index 0000000..ba29027 --- /dev/null +++ b/logseq-java/pages/访问修饰符.md @@ -0,0 +1,24 @@ +- 控制类,方法,属性是否能被其它类或方法访问的权限控制 +- 四个访问修饰符 + - [[public]] + - [[protected]] + - [[继承]]的子类包里可以使用 + - 默认的 + - 仅在同一个包内可以调用 + - [[private]] + - ((6254f4a0-5a61-41af-806f-01c0b7cd5714)) + - id:: 624ff0b4-39b0-4eef-9c71-0990589ca29a + |访问修饰符|本类|本包|其它包的子类|其它包的其它类| + |private|√|×|×|×| + |默认|√|√|×|×| + |protected|√|√|√|×| + |public|√|√|√|√| + - 作用范围 + - public>protected>默认>private + id:: 62562775-a502-4889-9ebb-5b9c797bf1cd +- [[封装]] + - 面向对象语言三大特征 + - [[封装]][[继承]][[多态]] + - 有时新书中新添加一个[[抽象]] +- 变量的二义性 + - 当方法的形参和对象的属性重名时,不知道操作的是那个值 \ No newline at end of file diff --git a/logseq-java/pages/说说常用的SpringBoot注解,及其实现.md b/logseq-java/pages/说说常用的SpringBoot注解,及其实现.md new file mode 100644 index 0000000..90f43ed --- /dev/null +++ b/logseq-java/pages/说说常用的SpringBoot注解,及其实现.md @@ -0,0 +1,6 @@ +- @SpringBootApplicaiton注解 #card + - @SpringBootConfiguration,本质是一个@Configuration,表示启动类也是一个配置类 + - @EnableAutoConfiguration,先Spring容器导入一个Selector,用来加载ClassPath下SpringFactories文件中所定义的自动配置类,将这些自动加载为配置Bean + - @ComponentScan,表示扫描路径,默认为启动类所在目录 +- @Bean,定义Bean +- @Controller,@Service,@Autowire \ No newline at end of file diff --git a/logseq-java/pages/调试.md b/logseq-java/pages/调试.md new file mode 100644 index 0000000..13f9408 --- /dev/null +++ b/logseq-java/pages/调试.md @@ -0,0 +1,11 @@ +- [[Debug]] + - Bug 缺陷,漏洞 + - 针对代码缺陷调试 +- F5 + - 进入当前调试的代码的方法 +- F6 + - 不进入当前断点的代码的方法,进入下一步 +- F7 + - 退出当前断点的方法 +- F8 + - 快速进入下一个断点 \ No newline at end of file diff --git a/logseq-java/pages/谈谈你对AQS的理解.md b/logseq-java/pages/谈谈你对AQS的理解.md new file mode 100644 index 0000000..25a5660 --- /dev/null +++ b/logseq-java/pages/谈谈你对AQS的理解.md @@ -0,0 +1,3 @@ +- AQS是抽象队列同步器,java并发包下的很多API都是基于AQS来是实现加锁以及释放锁的功能的,AQS是java并发包的基础类 +- AQS内部有一个state变量,0变1表示加锁了,同时还有一个变量exclusiveOwnerThread用于记录加锁的线程,加锁时会tongguoCAS操作来改变state的值从而改变加锁的状态 +- 由此可以实现可重入锁以及互斥锁,释放锁就是将state状态变为0,同时将加锁线程变为null,同时等待队列里的另外一个线程就可以重新加锁,从而从队列中出来 \ No newline at end of file diff --git a/logseq-java/pages/财务计算有没有出现过错乱.md b/logseq-java/pages/财务计算有没有出现过错乱.md new file mode 100644 index 0000000..060a474 --- /dev/null +++ b/logseq-java/pages/财务计算有没有出现过错乱.md @@ -0,0 +1,19 @@ +- 多线程、数据库、UI展示后超时提交 +- 应用与数据库浮点运算精度丢失 + - 应用开发问题:多线程共享数据读写 + - 之前有丢失精度的问题,使用decimal解决 + - 使用乘法替换除法 + - 使用事务保证acid特性 + - 更新时使用悲观锁select ...for update + - 数据只有标记删除 + - 记录详细日志方便朔源 +- decimal和float,double的区别 + - float,4字节,32bit + - double,8字节,64bit + - decimal数字型,128bit,不存在精度损失 + - decimal(M,D),M最大位数,D小数位个数 +- 浮点类型如何选型,为什么? + - 需要不丢失精度选择decimal + - 仅用于展示没有计算的小数可以使用字符串存储 + - 低价值数据允许计算丢失精度可以使用float,double + - 整型记录不要使用浮点类型 \ No newline at end of file diff --git a/logseq-java/pages/跨域.md b/logseq-java/pages/跨域.md new file mode 100644 index 0000000..9ddfeae --- /dev/null +++ b/logseq-java/pages/跨域.md @@ -0,0 +1,18 @@ +- 在每个接口上,使用`@CrossOrigin` +- 在SpringMVC的配置类上,添加跨域配置 + - ```java + - @Configuration + - public class SpringMvcConfigure implements WebMvcConfigurer { + - /** + - * 添加跨域相关配置 + - * @param registry + - */ + - @Override + - public void addCorsMappings(CorsRegistry registry) { + - registry.addMapping("/**")//所有的path路径请求都支持 + - .allowedOrigins("*") + - .allowCredentials(true)//允许身份认证 + - .allowedMethods("GET","POST","PUT","DELETE");//让所有的Rest架构风格的方法,都支持跨域 + - } + - } + ``` \ No newline at end of file diff --git a/logseq-java/pages/跳表.md b/logseq-java/pages/跳表.md new file mode 100644 index 0000000..7c96d0f --- /dev/null +++ b/logseq-java/pages/跳表.md @@ -0,0 +1,5 @@ +- 有序集合zset +- 链表,插入元素比较快,查找元素比较慢 +- 建立了一个索引层 + - 每两个元素建立一个冗余层,可以建立多个冗余层,从而查找类似二分查找 + - ![image.png](../assets/image_1696817866958_0.png) \ No newline at end of file diff --git a/logseq-java/pages/转码.md b/logseq-java/pages/转码.md new file mode 100644 index 0000000..58fa31b --- /dev/null +++ b/logseq-java/pages/转码.md @@ -0,0 +1,2 @@ +- 参考字符集转换为二进制的过程 +- [[解码]] \ No newline at end of file diff --git a/logseq-java/pages/软硬件.md b/logseq-java/pages/软硬件.md new file mode 100644 index 0000000..762da80 --- /dev/null +++ b/logseq-java/pages/软硬件.md @@ -0,0 +1,25 @@ +- 硬件 + - CPU + - 硬盘 + - 显示器 + - 键盘 + - 鼠标 + - 内存 + - 电源 +- 软件 + - 运行在硬件平台上的各种程序 + - 组成 + - 数据 + - 绝大多数由用户提供 + - 指令 + - 由程序员编写的代码 + - 分类 + - 操作系统 + - windows + - linux + - macos + - android + - Unix + - 应用软件 + - QQ... + - 特点:应用软件运行在操作系统上 \ No newline at end of file diff --git a/logseq-java/pages/运行异常.md b/logseq-java/pages/运行异常.md new file mode 100644 index 0000000..345f26d --- /dev/null +++ b/logseq-java/pages/运行异常.md @@ -0,0 +1,6 @@ +- 编写时编译器未报错,运行时报多 +- 下标越界 +- [[RuntimeException]] +- 运行时异常不需要在方法上声明抛出 +- 解决 + - 等待抛出后修改代码 \ No newline at end of file diff --git a/logseq-java/pages/还读过哪些框架源码,介绍一下你还熟悉的.md b/logseq-java/pages/还读过哪些框架源码,介绍一下你还熟悉的.md new file mode 100644 index 0000000..ee9cf06 --- /dev/null +++ b/logseq-java/pages/还读过哪些框架源码,介绍一下你还熟悉的.md @@ -0,0 +1 @@ +- HashMap、线程池、Mybatis、Spring Boot、Spring Cloud、消息队列中间件 \ No newline at end of file diff --git a/logseq-java/pages/进制转换.md b/logseq-java/pages/进制转换.md new file mode 100644 index 0000000..9affbc1 --- /dev/null +++ b/logseq-java/pages/进制转换.md @@ -0,0 +1,21 @@ +- 10进制 +- 2进制 +- 8进制 +- 16进制造 +- 计算机底层CPU使用2进制造 +- 10转2 + - 正整数转 + - %2取余数 +- 负整数转换 + - [[原码]] + - [[反码]] + - [[补码]] +- 2转10 + - 低位开始*2^n相加 + - 负整数 + - 补码-1得到反码 + - 反码取反得到原码 + - 原码按照正整数转 +- +- +- \ No newline at end of file diff --git a/logseq-java/pages/进程和线程的区别,使用线程真的能节省时间.md b/logseq-java/pages/进程和线程的区别,使用线程真的能节省时间.md new file mode 100644 index 0000000..88d886c --- /dev/null +++ b/logseq-java/pages/进程和线程的区别,使用线程真的能节省时间.md @@ -0,0 +1,3 @@ +- 操作系统程序执行单位 +- 线程是CPU分配时间的最小单位 +- 进程有独立的内存空间,开销大 \ No newline at end of file diff --git a/logseq-java/pages/迭代器.md b/logseq-java/pages/迭代器.md new file mode 100644 index 0000000..8072730 --- /dev/null +++ b/logseq-java/pages/迭代器.md @@ -0,0 +1,5 @@ +- 源自于[[迭代器模式]],主要是为了统一集合的遍历方式 +- [[Iterable]]接口 + - 让集合具备一定遍历的能力 +- [[Interator]] + - \ No newline at end of file diff --git a/logseq-java/pages/迭代增量式开发.md b/logseq-java/pages/迭代增量式开发.md new file mode 100644 index 0000000..adab071 --- /dev/null +++ b/logseq-java/pages/迭代增量式开发.md @@ -0,0 +1 @@ +- 小版本 \ No newline at end of file diff --git a/logseq-java/pages/退出循环.md b/logseq-java/pages/退出循环.md new file mode 100644 index 0000000..3f31119 --- /dev/null +++ b/logseq-java/pages/退出循环.md @@ -0,0 +1,6 @@ +- break + - 中止,结束循环,放在switch,for,while,do-while +- continue + - 继续,结束本次循环,进入到下一次中 +- return + - 结束,中止循环,直接返回该方法的结果 \ No newline at end of file diff --git a/logseq-java/pages/通讯协议.md b/logseq-java/pages/通讯协议.md new file mode 100644 index 0000000..7e83c6f --- /dev/null +++ b/logseq-java/pages/通讯协议.md @@ -0,0 +1,2 @@ +- Communications Protocol +- [网络通信协议](https://zh.wikipedia.org/wiki/%E7%BD%91%E7%BB%9C%E4%BC%A0%E8%BE%93%E5%8D%8F%E8%AE%AE) \ No newline at end of file diff --git a/logseq-java/pages/逻辑运算符.md b/logseq-java/pages/逻辑运算符.md new file mode 100644 index 0000000..e1bf18f --- /dev/null +++ b/logseq-java/pages/逻辑运算符.md @@ -0,0 +1,19 @@ +- &,|,! + - &按位与,两侧可以是数值也可以是布尔值 +- &&和|| + - 逻辑与&& + - 具有短路效果,当前一个表达式为false时,后面的不会执行 + - ```java + int a = 3; + int b = 4; + a++ > b && a < b++; + //此处 第一个是false,&&后面的不会执行,b++不运行 + ``` + - 逻辑或|| + - 当前一个表达式为true时.后面不会执行 + - 逻辑非 ! + - 非真即假,非假即真 + - && 与 & 的区别在哪? + - &是按位与,两侧可以放数值也可以放布尔值,&&是逻辑与,两侧只能放布尔表达式, + - &没有短路效果,&&有短路效果 + - \ No newline at end of file diff --git a/logseq-java/pages/重写.md b/logseq-java/pages/重写.md new file mode 100644 index 0000000..852f86a --- /dev/null +++ b/logseq-java/pages/重写.md @@ -0,0 +1,21 @@ +- Overload [[方法重载]] + - 同一个类中 +- Override + - 父子之间,由子类去重新编写父类的方法 +- 当父类的方法不符合子类的需求时,子类可以重写父类的方法 +- 注意 + - 子类不能重写父类的私有方法 + - 子类[[访问修饰符]]必须大于或等于父类 + - 重写方法的返回值类型可以不一样,父类的返回类型范围要大于子类,且 返回类型存在继承关系 +- [[注解]] + - @override + - 表示下面的方法是重载 + - @override与javac达成约定,让javac检查注解下的方法是否来自于父类 +- 经典案例 + - 默认情况下使用System.out.println(对象) + - 调用Object上的toString() + - 打印对象的[[地址值]] + - 地址值作用 + - 让程序员知道这个对象是否[[new]]成功 + 但是不知道对象里具体内容 + - 重写父类 [[toString]] 方法 \ No newline at end of file diff --git a/logseq-java/pages/重定向和请求转发的区别是什么.md b/logseq-java/pages/重定向和请求转发的区别是什么.md new file mode 100644 index 0000000..c5d5f14 --- /dev/null +++ b/logseq-java/pages/重定向和请求转发的区别是什么.md @@ -0,0 +1,10 @@ +- 1.请求次数 + - 重定向是浏览器向服务器发送一个请求并收到响应后再次向一个新地址发出请求,转发是服务器收到请求后为了完成响应跳转到一个新的地址;重定向至少请求两次,转发请求一次; +- 2.地址栏不同 + - 重定向地址栏会发生变化,转发地址栏不会发生变化; +- 3.是否共享数据 + - 重定向两次请求不共享数据,转发一次请求共享数据(在request级别使用信息共享,使用重定向必然出错); +- 4.跳转限制 + - 重定向可以跳转到任意URL,转发只能跳转本站点资源; +- 5.发生行为不同 + - 重定向是客户端行为,转发是服务器端行为; \ No newline at end of file diff --git a/logseq-java/pages/长整型.md b/logseq-java/pages/长整型.md new file mode 100644 index 0000000..c38c18f --- /dev/null +++ b/logseq-java/pages/长整型.md @@ -0,0 +1,2 @@ +- 占据八个字节内存,共64位 +- 取值-2^63~2^63-1 \ No newline at end of file diff --git a/logseq-java/pages/队列.md b/logseq-java/pages/队列.md new file mode 100644 index 0000000..fb2efde --- /dev/null +++ b/logseq-java/pages/队列.md @@ -0,0 +1 @@ +- [[FIFO]]先进先出 \ No newline at end of file diff --git a/logseq-java/pages/阻塞和非阻塞队列的并发安全原理.md b/logseq-java/pages/阻塞和非阻塞队列的并发安全原理.md new file mode 100644 index 0000000..1bc3528 --- /dev/null +++ b/logseq-java/pages/阻塞和非阻塞队列的并发安全原理.md @@ -0,0 +1,4 @@ +- ArrayBlockingQueue + - 利用ReentrantLock和两个Condition +- ConcurrentLinkedQueue + - 利用compareAndSet做CAS操作 \ No newline at end of file diff --git a/logseq-java/pages/隐式转换.md b/logseq-java/pages/隐式转换.md new file mode 100644 index 0000000..5a95b4e --- /dev/null +++ b/logseq-java/pages/隐式转换.md @@ -0,0 +1,32 @@ +- [[强制转换]] +- Java允许低类型数据保存到高类型变量中 +- byte list = new ArrayList<>(datas01); + datas01.removeAll(datas02); + datas02.removeAll(list); + datas01.addAll(datas02); + ``` \ No newline at end of file diff --git a/logseq-java/pages/雪花算法.md b/logseq-java/pages/雪花算法.md new file mode 100644 index 0000000..a3045a0 --- /dev/null +++ b/logseq-java/pages/雪花算法.md @@ -0,0 +1,2 @@ +- 通过雪花算法可以实现全局唯一的业务主键 +- 1bit符号位,41bit时间戳,10bit工作机器id,12bit递增序列 \ No newline at end of file diff --git a/logseq-java/pages/静态代码块.md b/logseq-java/pages/静态代码块.md new file mode 100644 index 0000000..8d3ab8b --- /dev/null +++ b/logseq-java/pages/静态代码块.md @@ -0,0 +1,10 @@ +- [[static]]静态代码块执行在类加载期间 +- 先加载父类,后加载子类 +- ```java + /** + * 加载类时初始化的代码 + */ + static{ + System.out.println("A") + } + ``` \ No newline at end of file diff --git a/logseq-java/pages/静态方法.md b/logseq-java/pages/静态方法.md new file mode 100644 index 0000000..d3c0140 --- /dev/null +++ b/logseq-java/pages/静态方法.md @@ -0,0 +1 @@ +- 通过类名.方法来调用,也称为[[类方法]] \ No newline at end of file diff --git a/logseq-java/pages/非关系型数据库.md b/logseq-java/pages/非关系型数据库.md new file mode 100644 index 0000000..e6099a4 --- /dev/null +++ b/logseq-java/pages/非关系型数据库.md @@ -0,0 +1,10 @@ +- [[Redis]] +- MongoDB +- Neo4j +- Cassandra +- HBase +- CouchDB +- 优势 + - 性能较高,从内存存取 + - 数据结构简单,满足K-V结构,修改数据只需改V即可 + - 支持数据类型丰富 \ No newline at end of file diff --git a/logseq-java/pages/面向对象.md b/logseq-java/pages/面向对象.md new file mode 100644 index 0000000..bd774ba --- /dev/null +++ b/logseq-java/pages/面向对象.md @@ -0,0 +1,2 @@ +- [[面向对象的定义]] +- \ No newline at end of file diff --git a/logseq-java/pages/面向对象的定义.md b/logseq-java/pages/面向对象的定义.md new file mode 100644 index 0000000..7e1113e --- /dev/null +++ b/logseq-java/pages/面向对象的定义.md @@ -0,0 +1,21 @@ +- ### [[类]] + - 类是对一类事物的属性与行为的[[抽象]] + - 类:将一些具有相似属性和相似行为的一些东西抽象出来 + - 抽象:保留重要信息,去掉不关注的,次要的信息的过程 + - 例:人类,汽车类 +- ### [[对象]] + - 该类事物的实例 + - 通过new创建,是一个真实世界中的实体,对象与实体一一对应 + - 一种个性的表示,表示一个独立的个体,每个对象都拥有自己独立的属性,依靠属性来区分不同对象 +- ### 类和对象的关系 + - 类是抽象的概念,对象是类的一个具体 + - 类是静态概念,类不携带数据,没有创建对象时,类不存在内存空间 + - 对象是动态概念,每一个对象都存在有别于其它对象的独特属性和行为,对象的属性可以随着它自己的行为而发生改变 + - > 对象由类创建,现有类后有对象 + - 创建类 + - 类由对象抽象出来,对象关注属性和行为,类在抽象的过程中也需要关注对象的属性(成员变量)和行为(成员方法) +- ### 对象的组成部分 + - [[属性]]:对象的固有特性,即对象是什么 + id:: 624d8512-fa6b-4755-9fcd-acd836215fc2 + - [[方法]]:对象的行为,对象可以做什么 + id:: 624d8512-e926-45bb-bd13-2b56d9eded1c \ No newline at end of file diff --git a/logseq-java/pages/面向对象的特征.md b/logseq-java/pages/面向对象的特征.md new file mode 100644 index 0000000..02b95c5 --- /dev/null +++ b/logseq-java/pages/面向对象的特征.md @@ -0,0 +1,11 @@ +- [[封装]] + - 使用 [[private]] 访问符 + - 四个 [[访问修饰符]] + - ((62562775-a502-4889-9ebb-5b9c797bf1cd)) +- [[继承]] + - 由子类继承父类的资源 +- [[抽象]] + - [[类]]是[[对象]]的抽象 + - [[抽象类]] + - [[接口]] +- [[多态]] \ No newline at end of file diff --git a/logseq-java/pages/预编译SQL.md b/logseq-java/pages/预编译SQL.md new file mode 100644 index 0000000..0ce8db3 --- /dev/null +++ b/logseq-java/pages/预编译SQL.md @@ -0,0 +1,8 @@ +- preparedStatement +- 缓存相同sql,只是占位符不同 +- 好处 + - sql会被缓存下来 + - 作用域是每个session,其他session无效 + - 提高安全性防止sql注入 + - 可能被重复调用,效率较高 + - 支付服务器端的预编译 \ No newline at end of file diff --git a/logseq-java/pages/高内聚.md b/logseq-java/pages/高内聚.md new file mode 100644 index 0000000..9ff7091 --- /dev/null +++ b/logseq-java/pages/高内聚.md @@ -0,0 +1 @@ +- 一个[[类]]在满足自己的业务需求时,功能越强越好 \ No newline at end of file diff --git a/logseq-java/pages/高可用机制.md b/logseq-java/pages/高可用机制.md new file mode 100644 index 0000000..a105298 --- /dev/null +++ b/logseq-java/pages/高可用机制.md @@ -0,0 +1,19 @@ +- 生产环境下使用集群保证高可用性质 +- 普通集群 + - 每个节点都共享部分数据,交换机、队列元信息,不包含队列中的信息,当时可以存在其他节点的引用信息 + - 访问集群某节点的时候,如果该队列不再该节点,会从数据所在节点传递到当前节点并返回 + - ![image.png](../assets/image_1696856746781_0.png) + - 缺点 + - 所在节点宕机,队列中的消息就会丢失 +- 镜像集群 + - 本质是主从模式 + - 交换机、队列、队列中的消息会在每个mq的镜像节点之间同步备份 + - 创建队列节点成为该队列的主节点,备份到的其他节点叫做该队列的镜像节点 + - 一个队列的主节点可以时另一个队列的镜像节点 + - 所有操作都是主节点完成,然后同步给镜像节点 + - 主宕机后,从节点会替代主节点 +- 仲裁队列 + - 与镜像模式一直,主从模式,支持主从同步 + - 使用简单,没有复杂的配置 + - 主从同步基于Raft协议,强一致性 + - 配置添加quorum() \ No newline at end of file