Java基础总结

<div id="BAIDU_DUP_fp_wrapper" style="position: absolute; left: -1px; bottom: -1px; z-index: 0; width: 0px; height: 0px; overflow: hidden; visibility: hidden; display: none;"><iframe id="BAIDU_DUP_fp_iframe" src="https://pos.baidu.com/wh/o.htm?ltr=" style="width: 0px; height: 0px; visibility: hidden; display: none;"></iframe></div><svg aria-hidden="true" style="position: absolute; width: 0px; height: 0px; overflow: hidden;"><symbol id="icon-shoucang" viewBox="0 0 1024 1024"><path d="M896.288 6.08c29.76 11.52 48.704 39.2 48.704 69.728V948.16a75.008 75.008 0 0 1-48.704 69.728 75.84 75.84 0 0 1-29.76 5.408 82.592 82.592 0 0 1-56.192-21.696l-298.368-286.976L213.6 1001.6a82.88 82.88 0 0 1-56.128 22.4c-10.24 0-20.352-2.08-29.76-6.08a75.104 75.104 0 0 1-48.704-69.728V75.84c0-30.528 18.944-58.24 48.704-69.728 9.408-4.064 19.52-6.144 29.76-6.112h708.992c10.24 0.032 20.384 2.08 29.824 6.08z" fill="#707070"></path></symbol><symbol id="icon-mulu" viewBox="0 0 1024 1024"><path d="M113.18752 330.08a109.248 109.248 0 1 1-7.648-218.368 109.248 109.248 0 0 1 7.648 218.368z m0 291.104a109.248 109.248 0 1 1-7.648-218.368 109.248 109.248 0 0 1 7.648 218.368z m0 291.104a109.248 109.248 0 1 1-7.648-218.368 109.248 109.248 0 0 1 7.648 218.368zM1022.91552 275.52a18.624 18.624 0 0 1-18.176 18.176H313.31552a18.624 18.624 0 0 1-18.176-18.176V166.336a18.624 18.624 0 0 1 18.176-18.176h691.424a18.624 18.624 0 0 1 18.176 18.176V275.52z m0 291.104a18.624 18.624 0 0 1-18.176 18.176H313.31552a18.624 18.624 0 0 1-18.176-18.176v-109.184a18.624 18.624 0 0 1 18.176-18.176h691.424a18.624 18.624 0 0 1 18.176 18.176v109.184z m0 291.136a18.624 18.624 0 0 1-18.176 18.176H313.31552a18.624 18.624 0 0 1-18.176-18.176v-109.12a18.656 18.656 0 0 1 18.176-18.24h691.424a18.656 18.656 0 0 1 18.176 18.24v109.12z" fill="#707070"></path></symbol><symbol id="icon-xinlang" viewBox="0 0 1024 1024"><path d="M429.664 928C217.024 928 0 824.896 0 654.624c0-88.864 56.032-191.424 152.608-288.224C281.664 236.896 432 178.432 488.576 235.168c25.152 24.672 27.424 68.192 11.424 119.744-8 26.336 24.608 11.456 24.608 12.032 104.032-44.16 194.848-46.432 228 1.12 17.792 25.216 16 60.736 0 101.984-7.456 18.944 2.336 21.76 16.544 26.336 58.912 18.304 124.032 62.464 124.032 140.416-0.096 129.024-185.312 291.2-463.52 291.2z m-39.424-465.344c-169.696 17.216-297.632 120.928-286.816 232.672 10.816 111.744 157.088 188.512 326.848 171.936 169.696-17.216 297.632-120.864 286.752-232.672-10.816-111.744-157.088-188.512-326.784-171.936z m-69.728 356.448c-81.728-26.336-116.032-107.104-80.544-179.936 35.424-71.04 126.304-111.2 206.848-90.528 84 21.76 126.304 100.896 91.968 177.664-34.304 77.92-133.664 120.288-218.272 92.8z m45.696-153.024c-25.696-10.912-60 0.544-76 25.76-16.544 25.792-8.544 56.192 17.152 68.224 26.24 12.032 61.664 0.544 78.272-25.792 16.064-26.368 7.456-56.704-19.424-68.192z m65.184-26.944a25.152 25.152 0 0 0-28.608 10.912c-5.728 10.304-2.88 21.216 7.456 25.792a24.32 24.32 0 0 0 29.152-10.848c5.696-10.368 2.24-21.856-8-25.856z m579.36-187.392a38.912 38.912 0 0 1-49.12 25.216 39.904 39.904 0 0 1-25.76-49.28 192.736 192.736 0 0 0-40.032-189.152 192.448 192.448 0 0 0-183.424-59.552 39.68 39.68 0 0 1-46.848-30.4 39.136 39.136 0 0 1 30.272-46.432 270.112 270.112 0 0 1 258.304 83.68 272.192 272.192 0 0 1 56.608 265.92z m-132.544-43.008a33.6 33.6 0 1 1-64.032-20.672 65.024 65.024 0 0 0-13.696-63.584 64.128 64.128 0 0 0-61.12-20.032 33.28 33.28 0 0 1-40.032-25.76 33.6 33.6 0 0 1 25.696-40.128 130.4 130.4 0 0 1 125.664 40.704 132.16 132.16 0 0 1 27.52 129.472z" fill="#707070"></path></symbol><symbol id="icon-sousuo" viewBox="0 0 1024 1024"><path d="M944.513789 1024a77.19975 77.19975 0 0 1-55.325422-23.345409l-210.780262-210.204622A431.538289 431.538289 0 0 1 433.185369 866.658339C194.134776 866.658339 0.52778 673.051343 0.52778 434.00075S194.134776 1.343161 433.185369 1.343161c239.082573 0 432.657589 193.606996 432.657589 432.657589 0 87.273454-26.41549 173.299688-76.17639 245.222735l210.780263 210.812243c14.135166 14.167146 22.737789 34.378513 22.737789 55.293441a79.182511 79.182511 0 0 1-78.670831 78.670831zM433.185369 158.652842c-151.777139 0-275.347908 123.538788-275.347907 275.347908s123.538788 275.347908 275.347907 275.347907 275.347908-123.538788 275.347908-275.347907-123.538788-275.347908-275.347908-275.347908z"></path></symbol><symbol id="icon-QQ" viewBox="0 0 1024 1024"><path d="M149.9071 430.705026c0-15.993503 10.299816-41.679068 19.959892-53.674195-0.607753-14.873957 5.693687-45.133664 17.113047-54.889701 0-105.685065 81.662824-238.814981 177.080062-284.428451 58.85609-27.98863 120.495049-37.680692 185.044825-37.680692 50.283572 0 105.109299 11.995127 151.938275 31.379252 134.217474 56.521038 164.541155 161.694312 193.073564 295.911786l0.511792 2.846843c16.601256 25.141786 31.443226 54.889701 31.443226 85.661201 0 15.38575-10.299816 30.86746-10.299815 44.589885 0 1.119545 3.454597 5.693687 3.966388 6.845219 49.100053 72.578515 93.689938 151.426483 93.689939 241.661825 0 19.959891-10.811608 89.72355-42.862587 89.72355-22.294943 0-46.828976-54.281948-54.889701-69.123919-0.511792-0.543779-1.119545-0.543779-1.727299-0.543779l-2.846843 2.239091c-18.328554 47.372755-38.288445 91.96264-75.457346 127.404242 32.594758 31.379252 85.117421 28.532409 94.809484 82.814356-2.846843 6.30144-1.727298 13.146659-6.30144 19.384126-32.594758 49.100053-119.95127 55.401493-172.505919 55.401493-69.667697 0-126.25271-18.328554-191.954019-37.680693-13.754412-3.966389-34.322057-1.727298-49.164027-3.454596-34.833849 38.288445-119.95127 48.556274-169.051323 48.556274-43.374379 0-211.338144-2.846843-211.338144-77.088683 0-31.987005 6.909193-41.135289 29.140162-61.702933 17.720801-3.454597 30.86746-13.146659 51.435104-14.266204 2.846843 0 5.117921-0.607753 8.028739-1.119546 0.543779-0.511792 1.119545-0.511792 1.119545-2.23909l-1.119545-1.727298c-39.407991-9.148284-94.809484-108.563896-103.382001-149.699185l-2.846844-1.663324c-3.966389 0-5.693687 8.572517-6.845219 11.419361-12.538906 29.140162-42.254834 60.583388-75.361384 63.97401H29.923843c-4.574142 0-2.846843-4.574142-6.30144-5.693687a139.399369 139.399369 0 0 1-13.146659-57.128791c0-114.257583 54.889701-198.799238 143.973511-266.195858a77.152657 77.152657 0 0 1-4.542155-29.811889z" fill="#707070"></path></symbol><symbol id="icon-weixin" viewBox="0 0 1024 1024"><path d="M692.992 347.968c-172 0-308.032 128.192-308.032 285.856 0 26.464 4 51.872 11.488 75.808-11.328 0.992-22.688 1.472-34.048 1.472-45.536 0-81.504-8.96-126.976-17.984l-126.496 63.36 36.032-108.768c-90.56-63.328-144.992-145.184-144.992-244.384C-0.032 231.232 162.976 96 362.432 96c178.048 0 334.56 108.224 365.536 253.952a260.992 260.992 0 0 0-34.976-1.984zM244.416 249.728c-27.008 0-54.528 17.984-54.528 45.44 0 26.912 27.456 44.896 54.528 44.896 27.456 0 45.536-17.984 45.536-44.896 0-27.52-18.016-45.44-45.536-45.44z m652.544 588L924.416 928l-99.52-54.368c-36.448 8.96-72.992 18.432-108.96 18.432-172.512 0-308.032-117.728-308.032-262.432s135.488-262.432 308.032-262.432c162.944 0 308.032 117.728 308.032 262.432 0.064 81.44-53.984 153.792-127.008 208.096zM498.464 249.728c-27.456 0-54.528 17.984-54.528 45.44 0 26.912 27.008 44.896 54.528 44.896 27.008 0 45.024-17.984 45.024-44.896-0.032-27.52-18.048-45.44-45.024-45.44z m117.472 262.304c-18.016 0-35.968 17.984-35.968 35.872 0 18.432 18.016 36.48 35.968 36.48 27.456 0 45.536-17.984 45.536-36.48-0.064-17.888-18.016-35.872-45.536-35.872z m199.584 0c-18.016 0-36.032 17.984-36.032 35.872 0 18.432 18.016 36.48 36.032 36.48 26.976 0 45.536-17.984 45.536-36.48-0.128-17.888-18.528-35.872-45.536-35.872z" fill="#707070"></path></symbol><symbol id="icon-fenxiang" viewBox="0 0 1024 1024"><path d="M1024 810.592a213.056 213.056 0 0 1-213.28 213.28 213.024 213.024 0 0 1-211.904-235.936l-240.032-120.064A213.12 213.12 0 0 1 0.224 511.936a213.12 213.12 0 0 1 358.56-155.936l240.032-120.064A213.12 213.12 0 0 1 810.72 0 213.12 213.12 0 0 1 1024 213.28a213.12 213.12 0 0 1-358.56 155.968l-240.032 120.064c0.672 7.264 1.376 15.296 1.376 22.656s-0.672 15.36-1.376 22.656l240.032 120.064A213.184 213.184 0 0 1 1024 810.592z" fill="#707070"></path></symbol><symbol id="icon-erweima" viewBox="0 0 1024 1024"><path d="M466.112 464.896H1.216V0h464.896v464.896z m0 557.888H1.216V557.888h464.896v464.896zM373.12 371.936V92.992H94.176v278.944h278.944z m0 557.152V650.88H94.176v278.24h278.944zM280.16 278.944H187.168V185.952h92.992v92.992z m0 557.888H187.168v-92.992h92.992v92.992zM1024 464.896H559.104V0H1024v464.896z m0 371.936h-278.944v-92.992h-92.992v278.944h-92.992V557.888h278.944v92.992h92.992v-92.992H1024v278.944z m-92.992-464.896V92.992h-278.944v278.944h278.944z m-92.96-92.992h-92.992V185.952h92.992v92.992z m0 743.84h-92.992v-92.992h92.992v92.992z m185.952 0h-92.992v-92.992H1024v92.992z"></path></symbol><symbol id="icon-daima" viewBox="0 0 1024 1024"><path d="M376.192 683.104a10.592 10.592 0 0 1-15.264 0l-154.656-154.656a10.624 10.624 0 0 1 0-15.264l154.656-154.656c2.016-2.048 4.768-3.232 7.648-3.232s5.632 1.152 7.616 3.232l16.608 16.608a10.624 10.624 0 0 1 0 15.264L262.4 520.832l130.432 130.432a10.752 10.752 0 0 1 3.232 7.648c0 2.88-1.152 5.632-3.232 7.616l-16.64 16.576z m88.96 57.728a10.56 10.56 0 0 1-12.928 7.296l-20.576-5.632a10.752 10.752 0 0 1-7.296-13.28L548.16 300.832a10.56 10.56 0 0 1 12.928-7.328l20.576 5.632c5.632 1.664 8.96 7.648 7.296 13.28l-123.808 428.416z m187.2-57.728a10.624 10.624 0 0 1-15.296 0l-16.576-16.576a10.592 10.592 0 0 1 0-15.264l130.4-130.432L620.48 390.4a10.624 10.624 0 0 1 0-15.264l16.576-16.608a10.624 10.624 0 0 1 15.296 0l154.624 154.656a10.624 10.624 0 0 1 0 15.264l-154.624 154.656z" fill="#707070"></path></symbol><symbol id="icon-yuedu" viewBox="0 0 1024 1024"><path d="M1011.616 551.136c-104.96 172.8-297.12 289.184-499.616 289.184S117.312 723.392 12.384 551.136C5.536 539.2 0.96 526.048 0.96 511.808s4.544-27.392 11.424-39.328C117.312 300.224 309.536 183.296 512 183.296s394.656 116.928 499.616 289.184c6.848 11.936 11.424 25.088 11.424 39.328s-4.576 27.392-11.424 39.328z m-278.912-240.672a253.152 253.152 0 0 1 34.816 128.32c0 140.864-114.656 255.52-255.52 255.52s-255.52-114.656-255.52-255.52a253.44 253.44 0 0 1 34.784-128.32c-88.992 45.6-163.104 117.504-217.28 201.312C171.52 662.368 328.928 767.296 512 767.296s340.48-104.96 438.016-255.52c-54.144-83.808-128.352-155.68-217.312-201.312zM512 265.408c-95.232 0-173.408 78.144-173.408 173.408 0 14.816 12.576 27.392 27.392 27.392s27.392-12.576 27.392-27.392c0-65.024 53.6-118.624 118.624-118.624 14.816 0 27.392-12.576 27.392-27.392s-12.576-27.392-27.392-27.392z"></path></symbol><symbol id="icon-pinglun" viewBox="0 0 1025 1024"><path d="M806.912 402.592c0 161.728-180 292.576-402.272 292.576-34.848 0-68.576-3.424-100.576-9.12a480.352 480.352 0 0 1-158.848 73.152c-15.424 4-32 6.848-49.152 9.12h-1.728c-8.576 0-16.576-6.88-18.272-16.576-2.272-10.88 5.152-17.696 11.424-25.152 22.272-25.152 47.424-47.456 66.848-94.848-92.576-53.728-152-136.576-152-229.152 0-161.728 180-292.576 402.272-292.576 222.304 0 402.304 130.848 402.304 292.576z m-731.424 0c0 62.848 42.304 123.424 115.424 165.728l55.424 32-20 48c12-6.848 24-14.272 35.424-22.272l25.152-17.728 30.272 5.728c28.576 5.152 57.696 8 87.424 8 178.304 0 329.152-100.576 329.152-219.424s-150.848-219.424-329.152-219.424S75.488 283.744 75.488 402.592z m865.696 470.272c6.304 7.424 13.696 14.272 11.424 25.152-2.304 10.272-10.88 17.696-20 16.576a422.816 422.816 0 0 1-49.152-9.12 479.712 479.712 0 0 1-158.848-73.152c-32 5.696-65.696 9.12-100.576 9.12-103.424 0-198.304-28.576-269.728-75.456a714.88 714.88 0 0 0 50.304 2.304c122.848 0 238.88-35.424 327.456-99.424 95.424-69.728 148-164.032 148-266.304 0-29.728-4.576-58.848-13.12-86.848 96.576 53.152 159.424 137.728 159.424 233.152 0 93.152-59.456 175.424-152 229.12 19.392 47.456 44.544 69.76 66.816 94.88z"></path></symbol><symbol id="icon-xihuan-" viewBox="0 0 1024 1024"><path d="M486.88 940.288L130.336 596.384C125.76 592.384 0.064 477.536 0.064 340.416c0-167.424 102.272-267.392 273.088-267.392 100 0 193.696 78.848 238.848 123.424 45.12-44.576 138.816-123.424 238.848-123.424 170.848 0 273.088 99.968 273.088 267.392 0 137.12-125.696 251.968-130.816 257.088L537.12 940.288c-6.848 6.88-16 10.304-25.12 10.304-9.12 0-18.272-3.424-25.12-10.304z"></path></symbol><symbol id="icon-jubao" viewBox="0 0 1024 1024"><path d="M1013.12 877.888a71.744 71.744 0 0 1-1.184 71.808 72.864 72.864 0 0 1-62.656 35.904H73.984a72.928 72.928 0 0 1-62.688-35.904 71.872 71.872 0 0 1-1.152-71.808L447.808 75.584a72.512 72.512 0 0 1 127.68 0L1013.12 877.888zM593.664 346.24a13.824 13.824 0 0 0-5.664-10.816c-3.424-2.848-8.576-6.272-13.696-6.272H448.96c-5.12 0-10.24 3.424-13.696 6.272-4 2.848-5.664 8.544-5.664 11.968l9.664 260.416c0 7.424 8.544 13.088 19.392 13.088h105.408c10.24 0 18.784-5.664 19.36-13.088l10.24-261.568z m-9.088 366.432a18.496 18.496 0 0 0-18.24-18.816h-109.408c-10.24 0-18.24 8.544-18.24 18.816v108.224c0 10.272 7.968 18.816 18.24 18.816h109.408c10.24 0 18.24-8.544 18.24-18.816v-108.224z"></path></symbol><symbol id="icon-dashang-" viewBox="0 0 1024 1024"><path d="M977.883349 705.071646c0 307.614317-400.867476 318.928354-459.700467 318.928354-4.684967 0-7.202739-0.063741-7.202739-0.063741s-2.517772 0.063741-7.202739 0.063741c-58.832991 0-459.700467-11.314037-459.700467-318.928354 0-331.963399 372.407096-488.638904 372.407097-488.638904S291.679054 172.355805 291.679054 78.847681c0-75.851852 185.582073-78.847681 215.317273-78.847681h7.967632c29.67146 0 215.317274 3.0277 215.317273 78.847681 0 93.508123-124.83685 137.55319-124.83685 137.55319s372.438967 156.707376 372.438967 488.670775zM582.210769 271.983069a60.235294 60.235294 0 0 1 3.314534-112.311734c16.700156-6.08727 77.317896-35.631248 84.074448-73.844009-17.911236-11.569001-75.979334-25.496421-154.572051-25.49642h-8.031373c-78.656458 0-136.660815 13.92742-154.572051 25.49642 6.820293 38.531466 68.202926 68.266667 84.074448 73.844009a60.235294 60.235294 0 0 1 3.314535 112.311734c-3.250794 1.402303-335.501027 145.967009-335.501027 433.152318 0 246.231684 332.855773 258.693059 399.592654 258.69306l5.577342-0.063741H512.733022l5.513601 0.063741c66.736881 0 399.592655-12.461376 399.592655-258.69306C917.775537 416.484034 585.557174 273.385372 582.210769 271.983069z m36.555493 386.971926a24.890881 24.890881 0 0 1 21.512605 37.256645 24.763399 24.763399 0 0 1-21.512605 12.397635h-84.010706v65.238967a24.85901 24.85901 0 1 1-49.65428 0v-65.238967h-79.96315a24.85901 24.85901 0 1 1 0-49.718021h79.96315v-50.737877h-82.002863a24.890881 24.890881 0 0 1-21.512605-37.256645 24.763399 24.763399 0 0 1 21.512605-12.397635h42.579022l-41.049237-41.112978a24.922751 24.922751 0 0 1 17.528789-42.451541c6.533458 0 12.907563 2.645254 17.52879 7.26648l70.178898 70.306381 70.178898-70.306381a24.85901 24.85901 0 0 1 35.057579 35.185061l-41.049238 41.112978h42.579023a24.85901 24.85901 0 1 1 0 49.718021h-81.939122v50.737877h84.074447z"></path></symbol><symbol id="icon-shouqi" viewBox="0 0 1024 1024"><path d="M906.592 828.768a40.288 40.288 0 0 1-57.152 0L512 491.36 174.592 828.768a40.416 40.416 0 0 1-57.216 0L11.936 723.904a40.96 40.96 0 0 1 0-57.792L483.392 195.232a40.288 40.288 0 0 1 57.152 0l471.52 470.88a40.96 40.96 0 0 1 0 57.792l-105.472 104.864z" fill="#707070"></path></symbol><symbol id="icon-youjiantou" viewBox="0 0 1024 1024"><path d="M704 512a22.56 22.56 0 0 0-6.656-15.136l-307.456-307.488a22.72 22.72 0 0 0-15.136-6.56 22.592 22.592 0 0 0-15.136 6.56L326.592 222.4a22.72 22.72 0 0 0-6.56 15.136c0 5.28 2.624 11.232 6.56 15.136L585.888 512l-259.328 259.328a22.72 22.72 0 0 0-6.56 15.136c0 5.952 2.624 11.232 6.56 15.136l33.024 33.024a22.688 22.688 0 0 0 15.136 6.56 22.592 22.592 0 0 0 15.136-6.56l307.488-307.488A22.432 22.432 0 0 0 704 512z" fill="#707070"></path></symbol><symbol id="icon-zuojiantou" viewBox="0 0 1024 1024"><path d="M320 512c0-5.28 2.688-11.232 6.656-15.136l307.456-307.488a22.72 22.72 0 0 1 15.136-6.56c5.28 0 11.232 2.624 15.136 6.56l33.024 33.024a22.72 22.72 0 0 1 6.56 15.136 22.592 22.592 0 0 1-6.56 15.136L438.112 512l259.328 259.328a22.72 22.72 0 0 1 6.56 15.136 21.312 21.312 0 0 1-6.56 15.136l-33.024 33.024a22.688 22.688 0 0 1-15.136 6.56 22.592 22.592 0 0 1-15.136-6.56l-307.488-307.488A22.432 22.432 0 0 1 320 512z" fill="#707070"></path></symbol><symbol id="icon-xiajiantou" viewBox="0 0 1024 1024"><path d="M512 704a22.56 22.56 0 0 0 15.136-6.656l307.488-307.456a22.72 22.72 0 0 0 6.56-15.136 22.592 22.592 0 0 0-6.56-15.136l-33.024-33.024a22.72 22.72 0 0 0-15.136-6.56 22.592 22.592 0 0 0-15.136 6.56L512 585.888l-259.328-259.328A22.72 22.72 0 0 0 237.536 320a21.312 21.312 0 0 0-15.136 6.56l-33.024 33.024a22.688 22.688 0 0 0-6.56 15.136c0 5.28 2.624 11.232 6.56 15.136l307.488 307.488A22.432 22.432 0 0 0 512 704z" fill="#707070"></path></symbol><symbol id="icon-shangjiantou" viewBox="0 0 1024 1024"><path d="M512 320c5.28 0 11.232 2.688 15.136 6.656l307.488 307.456a22.72 22.72 0 0 1 6.56 15.136 22.592 22.592 0 0 1-6.56 15.136l-33.024 33.024a22.72 22.72 0 0 1-15.136 6.56 22.592 22.592 0 0 1-15.136-6.56L512 438.112l-259.328 259.328a22.72 22.72 0 0 1-15.136 6.56 21.312 21.312 0 0 1-15.136-6.56l-33.024-33.024a22.688 22.688 0 0 1-6.56-15.136c0-5.28 2.624-11.232 6.56-15.136l307.488-307.488A22.432 22.432 0 0 1 512 320z" fill="#707070"></path></symbol></svg>
<header class="clearfix">
    <nav class="clearfix tracking-ad" data-mod="popu_366">
        <ul>
            <li><a href="http://blog.csdn.net" target="_blank">CSDN博客</a></li>

            
            <li><a href="http://blog.csdn.net/mobile/newarticle.html" target="_blank">移动开发</a></li>
            
            <li><a href="http://blog.csdn.net/web/newarticle.html" target="_blank">Web前端</a></li>
            
            <li><a href="http://blog.csdn.net/enterprise/newarticle.html" target="_blank">架构设计</a></li>
            
            <li><a href="http://blog.csdn.net/code/newarticle.html" target="_blank">编程语言</a></li>
            
            <li><a href="http://blog.csdn.net/www/newarticle.html" target="_blank">互联网</a></li>
            

            <li>
                <div class="dropdown">
                    <a href="#" target="_self" id="dLabel" data-target="#" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">更多</a>
                    <ul class="dropdown-menu" aria-labelledby="dLabel">
                        
                        <li><a href="http://blog.csdn.net/database/newarticle.html" target="_blank">数据库</a></li>
                        
                        <li><a href="http://blog.csdn.net/cloud/newarticle.html" target="_blank">云计算</a></li>
                        
                        <li><a href="http://blog.csdn.net/software/newarticle.html" target="_blank">研发管理</a></li>
                        
                        <li><a href="http://blog.csdn.net/other/newarticle.html" target="_blank">综合</a></li>
                        
                        <li class="arr_top"> </li>
                    </ul>
                </div>
            </li>

        </ul>
        <div class="right tracking-ad">        
            <div class="search" data-mod="popu_369">
                <input class="btn btn-small btn-gray" type="text">
                <a href="" class="sub_search" target="_blank"><i class="icon iconfont icon-sousuo"></i></a>
            </div>
            <a data-mod="popu_370" href="http://write.blog.csdn.net/postedit" target="_blank" class="btn btn-small btn-red">写博客</a>
            <div class="notLogin" style="display: none;">
                <a href="https://passport.csdn.net/account/login?ref=toolbar" target="_blank">登录</a> <span>|</span>
                <a href="http://passport.csdn.net/account/mobileregister?ref=toolbar&amp;action=mobileRegister" target="_blank">注册</a>
            </div>
            <dl class="alrLogin" style="display: block;">
                <dt data-mod="popu_368">
                    <a href="http://my.csdn.net/qq_39744911" target="_blank"><img src="http://avatar.csdn.net/6/5/E/1_qq_39744911.jpg" class="user_img"></a>
                </dt>
                <dd data-mod="popu_367"><a href="http://my.csdn.net/qq_39744911" target="_blank">我的博客</a><span>|</span><a class="icon-signout" href="https://passport.csdn.net/account/logout?ref=toolbar" target="_blank">退出</a> </dd>
            </dl>
        </div>
    </nav>
    
    <div class="topbox clearfix  tracking-ad" data-mod="popu_371">
        <div class="text">
            <a href="http://blog.csdn.net/pk.html?id=9715" target="_blank">【第21期】观点:人工智能到底用 GPU?还是用 FPGA?</a>
        </div>
        <img src="https://img-blog.csdn.net/20170811134344074" alt="【第21期】观点:人工智能到底用 GPU?还是用 FPGA?" title="【第21期】观点:人工智能到底用 GPU?还是用 FPGA?" class="con">
    </div>
    
</header>
<div class="container clearfix">
    <main>
        <article>
            <h1 class="csdn_top">Java基础总结</h1>
            <div class="article_bar clearfix">
                <div class="artical_tag">
                    <span class="original">原创</span>
                    <span class="time">2015年05月24日 19:11:56</span>
                </div>
                <ul class="right_bar">
                    <li><button class="btn-noborder"><i class="icon iconfont icon-yuedu"></i><span class="txt">483</span></button></li>
                    <li><button class="btn-noborder but-comment-topicon"><i class="icon iconfont icon-pinglun"></i><span class="txt">0</span></button></li>
                    <li><button class="btn-noborder btn-like liked"><i class="icon iconfont icon-xihuan-"></i><span class="txt">2</span></button></li>
                    <!--<li><button class="btn-noborder"><i class="icon iconfont icon-dashang-"></i><span class="txt">0</span></button></li>-->
                </ul>
            </div>
            <div id="article_content" class="article_content tracking-ad" data-mod="popu_307" data-dsm="post" style="overflow: hidden;">
                <div class="markdown_views"><h2 id="1基本类型">1.基本类型</h2>

<p>1.在程序设计中经常用到一系列类型(基本类型),它们需要特殊对待。对于这些类型,Java采取与C和C++相同的方法,也就是说,不用new来创建变量,出是创建一个并非引用的变量,这个变量直接存储“值”,并置于堆栈中,因此更加高效。</p>

<table>
<thead>
<tr>
  <th>基本类型</th>
  <th>包装类型</th>
  <th>大小</th>
</tr>
</thead>
<tbody><tr>
  <td>boolean</td>
  <td>Boolean</td>
  <td>-</td>
</tr>
<tr>
  <td>char</td>
  <td>Character</td>
  <td>16-bit</td>
</tr>
<tr>
  <td>byte</td>
  <td>Byte</td>
  <td>8-bit</td>
</tr>
<tr>
  <td>short</td>
  <td>Short</td>
  <td>16-bit</td>
</tr>
<tr>
  <td>int</td>
  <td>Integer</td>
  <td>32-bit</td>
</tr>
<tr>
  <td>long</td>
  <td>Long</td>
  <td>64-bit</td>
</tr>
<tr>
  <td>float</td>
  <td>Float</td>
  <td>32-bit</td>
</tr>
<tr>
  <td>double</td>
  <td>Double</td>
  <td>64-bit</td>
</tr>
<tr>
  <td>void</td>
  <td>Void</td>
  <td>-</td>
</tr>
</tbody></table>


<p>基本类型具有的装类,使得可以在堆中创建一个非基本对象,用来表示对应的基本类型。</p>



<pre class="prettyprint"><code class=" hljs java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">AutoBoxingTest</span>{</span>
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">final</span> Integer CONST_A = <span class="hljs-number">1</span>;
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">final</span> Integer CONST_B = Integer.valueOf(<span class="hljs-string">"2"</span>);
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">final</span> Integer CONST_C = <span class="hljs-keyword">new</span> Integer(<span class="hljs-number">3</span>);

    <span class="hljs-keyword">private</span> Integer status;
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">setStatus</span>(Integer status){
        <span class="hljs-keyword">this</span>.status = status;
    }
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">displayStatus</span>(){
        <span class="hljs-keyword">if</span>(status==CONST_A)
            System.out.println(<span class="hljs-string">"It's CONST_A"</span>);
        <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span>(status==CONST_B)
            System.out.println(<span class="hljs-string">"It's CONST_B"</span>);
        <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span>(status==CONST_C)
            System.out.println(<span class="hljs-string">"It's CONST_C"</span>);
        <span class="hljs-keyword">else</span>
            System.out.println(<span class="hljs-string">"Invalid status!"</span>);
    }
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">main</span>(String[] args){
        AutoBoxingTest abt = <span class="hljs-keyword">new</span> AutoBoxingTest();
        abt.setStatus(<span class="hljs-number">1</span>);
        abt.displayStatus();
        abt.setStatus(<span class="hljs-number">2</span>);
        abt.displayStatus();
        abt.setStatus(<span class="hljs-number">3</span>);
        abt.displayStatus();
    }
}
<span class="hljs-javadoc">/**
执行结果:
It's CONST_A
It's CONST_B
Invalid status!
原因:
在自动装箱和调用Integer.valueOf(String)时,返回的Integer是从IntegerCache中获取的,所以都是同一个对象。
延伸一下,如果一边是包装类,一边是基本类型时,使用&lt; 、&gt; 、&lt;=等比较,都会时行值比较。
*/</span></code></pre>

<p>Java提供了两个用于高精度计算的类:BigInteger、BigDecimal。</p>



<pre class="prettyprint"><code class=" hljs cs">import java.math.BigInteger;
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> MainClass{
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">main</span>(String[] argv)throws Exception
    {
        BigInteger bigInteger1 = <span class="hljs-keyword">new</span> BigInteger(<span class="hljs-string">"123456789012345678901234567890"</span>);
        BigInteger bigInteger2 = <span class="hljs-keyword">new</span> BigInteger(<span class="hljs-string">"123456789012345678901234567890"</span>);
        <span class="hljs-comment">//add</span>
        bigInteger1 = bigIntger1.add(bigInteger2);
        System.<span class="hljs-keyword">out</span>.println(bigInteger1);
        <span class="hljs-comment">//subtract</span>
        bigInteger1 = bigInteger1.subtract(bigInteger2);
        System.<span class="hljs-keyword">out</span>.println(bigInteger1);
        <span class="hljs-comment">//multiplay</span>
        bigInteger1 = bigInteger1.multiply(bigInteger2);
        System.<span class="hljs-keyword">out</span>.println(bigInteger1);
        <span class="hljs-comment">//divide</span>
        bigInteger1 = bigInteger1.divide(bigInteger2);
        System.<span class="hljs-keyword">out</span>.println(bigIntger1);
    }
}</code></pre>

<p>2.基本数据类型默认值 <br>
若类的某个成员是基本类型,即使没有进行初始化,Java也会确保它获得一个默认值 。</p>

<table>
<thead>
<tr>
  <th>基本类型</th>
  <th>默认值</th>
</tr>
</thead>
<tbody><tr>
  <td>boolean</td>
  <td>false</td>
</tr>
<tr>
  <td>char</td>
  <td>‘/u0000’</td>
</tr>
<tr>
  <td>byte</td>
  <td>0</td>
</tr>
<tr>
  <td>short</td>
  <td>0</td>
</tr>
<tr>
  <td>int</td>
  <td>0</td>
</tr>
<tr>
  <td>long</td>
  <td>0L</td>
</tr>
<tr>
  <td>float</td>
  <td>0.0L</td>
</tr>
<tr>
  <td>doubl</td>
  <td>0.0d</td>
</tr>
</tbody></table>


<p>3.javadoc <br>
用于提取注释的一部分,输出是一个HTML文件,所有Javadoc命令只能在”/<em>*”注释中出现,结束于”</em>/”,使用Javadoc的方式主要有两种:嵌入式HTML或使用”文档标签”,”文档标签”是一些以@字符开头的命令.</p>



<h4 id="数组">数组</h4>

<p>Java声明数组时不能指定其长度。</p>



<pre class="prettyprint"><code class="language-java hljs "><span class="hljs-keyword">int</span> a[<span class="hljs-number">5</span>]<span class="hljs-comment">//非法</span>
<span class="hljs-comment">//一维数组声明方式</span>
type var[]或type[] var;
<span class="hljs-comment">//动态 初始化</span>
MyType data[] = <span class="hljs-keyword">new</span> MyType[<span class="hljs-number">3</span>];
data[<span class="hljs-number">0</span>] = <span class="hljs-keyword">new</span> MyType(<span class="hljs-number">1</span>,<span class="hljs-number">2</span>);
data[<span class="hljs-number">1</span>] = <span class="hljs-keyword">new</span> MyType(<span class="hljs-number">3</span>,<span class="hljs-number">4</span>);
<span class="hljs-comment">//静态初始化</span>
MyType data[]={
   <span class="hljs-keyword">new</span> MyType(<span class="hljs-number">1</span>,<span class="hljs-number">2</span>),
   <span class="hljs-keyword">new</span> MyType(<span class="hljs-number">3</span>,<span class="hljs-number">4</span>)
};
</code></pre>

<h2 id="2操作符">2.操作符</h2>

<p>1.直接常量 <br>
为了编译器可以准确的知道要生成什么样的类型,可以给直接常量后面添加后缀字符标志它的类型,若为L表示long,F表示float,D表示double。也可以利用前缀表示进制,0x表示十六进制,0表示八进制。 <br>
2.移位操作符 <br>
(&lt;&lt;):向左移动,低位补0 <br>
(&gt;&gt;):向右移动,高位补符号 <br>
(&gt;&gt;&gt;):向右移动,高位补0 <br>
3.Java中没有sizeof,因为所有数据类型在所有机器中的大小都是相同的。</p>



<h2 id="3控制执行流程">3.控制执行流程</h2>

<p>1.foreach <br>
是一种更加简洁的for语法用于数组和容器 <br>
for(元素类型t 元素变量x:遍历对象obj){ <br>
     引用x的java语句 <br>
}</p>



<pre class="prettyprint"><code class=" hljs cs"><span class="hljs-keyword">int</span> arr[] = {<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>};
<span class="hljs-keyword">for</span>(<span class="hljs-keyword">int</span> x:arr){
    System.<span class="hljs-keyword">out</span>.println(x);
}</code></pre>



<h2 id="4初始化与清理">4.初始化与清理</h2>

<p>1.Java完全采用动态内存分配方式。每当想创建新对象时,就需要使用new关键字来构建此对象实例。 <br>
2.在构造器中,如果为this添加了参数列表,那么就有了不同的含义。这将产生对符合此参数列表的某个构造器的明确调用。(1)尽管可以用this调用一个构造器,但却不能调用两个,而且必须将构造器调用置于最起始处。(2)除构造器外,编译器禁止在其他任何方法中调用构造器。</p>



<pre class="prettyprint"><code class=" hljs cs"><span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> Person{
    <span class="hljs-keyword">int</span> age = <span class="hljs-number">0</span>;
    String name = <span class="hljs-string">""</span>;
    Person(<span class="hljs-keyword">int</span> a){
        age = a;
        System.<span class="hljs-keyword">out</span>.println(<span class="hljs-string">"age:"</span>+age);
    }
    Person(String n){
        name = n;
        System.<span class="hljs-keyword">out</span>.println(<span class="hljs-string">"name:"</span>+name);
    }
    Person(<span class="hljs-keyword">int</span> a,String n){
        <span class="hljs-keyword">this</span>(a);
        <span class="hljs-keyword">this</span>.name = n;
        System.<span class="hljs-keyword">out</span>.println(<span class="hljs-string">"both!"</span>);
    }
}</code></pre>

<p>3.finalize方法 <br>
一旦垃圾回收器准备好释放对象占用的存储空间,将首先调用其finalize方法,并且在下一次垃圾回收动作发生时,才会真正回收对象占用的内存。</p>



<pre class="prettyprint"><code class=" hljs java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">FinalizeDemo</span>{</span>
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">main</span>(){
        Cake c1 = <span class="hljs-keyword">new</span> Cake(<span class="hljs-number">1</span>);
        Cake c2 = <span class="hljs-keyword">new</span> Cake(<span class="hljs-number">2</span>);
        Cake c3 = <span class="hljs-keyword">new</span> Cake(<span class="hljs-number">3</span>);
        c2 = c3 = <span class="hljs-keyword">null</span>;
        System.gc();<span class="hljs-comment">//Invoke the Java garbage collector </span>
    }
}
class Cake extends Object{
    <span class="hljs-keyword">private</span> <span class="hljs-keyword">int</span> id;
    <span class="hljs-keyword">public</span> <span class="hljs-title">Cake</span>(<span class="hljs-keyword">int</span> id){
        <span class="hljs-keyword">this</span>.id = id;
        System.out.println(<span class="hljs-string">"Cake Object "</span>+id+<span class="hljs-string">" is created"</span>);
    }
    <span class="hljs-keyword">protected</span> <span class="hljs-keyword">void</span> <span class="hljs-title">finalize</span>()<span class="hljs-keyword">throws</span> java.lang.Throwable{
        <span class="hljs-keyword">super</span>.finalize();
        System.out.println(<span class="hljs-string">"Cake Object "</span>+id+<span class="hljs-string">"is disposed"</span>);
    }
}
<span class="hljs-javadoc">/**
执行结果 :
Cake Object 1 is  created
Cake Object 2 is created
Cake Object 3 is created
Cake Object 3 is disposed
Cake Object 2 is disposed
*/</span></code></pre>

<p>4.在定义类成员变量的地方可以为其赋值,在C++中是不能这么做的。在类的内部,变量定义的先后顺序决定了初始化的顺序。</p>



<h2 id="访问权限">访问权限</h2>

<p>1.package必须是文件中除注释以外的第一句程序代码。 <br>
2.每个文件只能有一个public类,但是也可以完全不带public类,在这种情况下,可以随意对文件命名。 <br>
3.类的名字必须与文件名相同. <br>
4.除了public、private、protected之外,Java有一种默认的访问权限,当没有使用前面的访问指字词时,它将发挥作用。这种权限通常称为包访问权限。在这种权限下,同一个包中的类可以访问这个成员,而包之外的类,是不能访问这个成员的。</p>



<pre class="prettyprint"><code class=" hljs cs">package testcontrol;
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> MyTest{
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">int</span> mIntPublic = <span class="hljs-number">22</span>;
    <span class="hljs-keyword">protected</span> <span class="hljs-keyword">int</span> mIntProtected = <span class="hljs-number">33</span>;
    <span class="hljs-keyword">private</span> <span class="hljs-keyword">int</span> mIntPrivate = <span class="hljs-number">44</span>;
    <span class="hljs-keyword">int</span> mInt = <span class="hljs-number">55</span>;
    <span class="hljs-keyword">void</span> printForAll()
    {
        System.<span class="hljs-keyword">out</span>.println(mIntPublic);
        System.<span class="hljs-keyword">out</span>.println(mIntProtected);
        System.<span class="hljs-keyword">out</span>.println(mInt);
        System.<span class="hljs-keyword">out</span>.println(mIntPrivate);
    }
}</code></pre>



<pre class="prettyprint"><code class=" hljs avrasm">package testcontrol<span class="hljs-comment">;</span>
//同一个包下的子类
class MyTestDerived extends MyTest
{
    void printForAll()
    {
        System<span class="hljs-preprocessor">.out</span><span class="hljs-preprocessor">.println</span>(mIntPublic)<span class="hljs-comment">;</span>
        System<span class="hljs-preprocessor">.out</span><span class="hljs-preprocessor">.println</span>(mIntProtected)<span class="hljs-comment">;</span>
        System<span class="hljs-preprocessor">.out</span><span class="hljs-preprocessor">.println</span>(mInt)<span class="hljs-comment">;</span>
        //Syste<span class="hljs-preprocessor">.out</span><span class="hljs-preprocessor">.println</span>(mIntPrivate)<span class="hljs-comment">;</span>
    }
}
//同一个包下的非子类
public class MyTestNotDerived
{
    public static main(String[] args){
        MyTest objMyTest = new MyTest()<span class="hljs-comment">;</span>
        System<span class="hljs-preprocessor">.out</span><span class="hljs-preprocessor">.println</span>(<span class="hljs-string">"Access Permission Test in same package:1"</span>)<span class="hljs-comment">;</span>
        System<span class="hljs-preprocessor">.out</span><span class="hljs-preprocessor">.println</span>(objMyTest<span class="hljs-preprocessor">.mIntPublic</span>)<span class="hljs-comment">;</span>
        System<span class="hljs-preprocessor">.out</span><span class="hljs-preprocessor">.println</span>(objMyTest<span class="hljs-preprocessor">.mIntProtected</span>)<span class="hljs-comment">;</span>
        System<span class="hljs-preprocessor">.out</span><span class="hljs-preprocessor">.println</span>(objMyTest<span class="hljs-preprocessor">.mInt</span>)<span class="hljs-comment">;</span>
        //System<span class="hljs-preprocessor">.out</span><span class="hljs-preprocessor">.println</span>(objMyTest<span class="hljs-preprocessor">.mIntPrivate</span>)<span class="hljs-comment">;</span>
        System<span class="hljs-preprocessor">.out</span><span class="hljs-preprocessor">.println</span>(<span class="hljs-string">"Access Permission Test:2"</span>)<span class="hljs-comment">;</span>
        objMyTest<span class="hljs-preprocessor">.printForAll</span>()<span class="hljs-comment">;</span>
        System<span class="hljs-preprocessor">.out</span><span class="hljs-preprocessor">.println</span>(<span class="hljs-string">"Access Permission Test in Derived:3"</span>)<span class="hljs-comment">;</span>
        objDerived<span class="hljs-preprocessor">.printForAll</span>()<span class="hljs-comment">;</span>
    }
}</code></pre>

<h2 id="复用类">复用类</h2>

<p>1.extends关键字用于类的继承。 <br>
2.在C++中,方法的动态绑定是使用virtual关键字来实现的,而在Java中,动态绑定是默认的形为,不需要添加额外的关键字。</p>



<pre class="prettyprint"><code class=" hljs cs"><span class="hljs-comment">//c++代码</span>
class Base{
<span class="hljs-keyword">public</span> :
    <span class="hljs-title">Base</span>(){init();}
    <span class="hljs-keyword">virtual</span> ~Base(){}
<span class="hljs-keyword">protected</span>:
    <span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">init</span>()
    {
        cout&lt;&lt;<span class="hljs-string">"in Base::init()"</span>&lt;&lt;endl;
    }   
};
class Derived:<span class="hljs-keyword">public</span> Base{
<span class="hljs-keyword">public</span>:
    <span class="hljs-title">Derived</span>(){init();}
<span class="hljs-keyword">protected</span>:
    <span class="hljs-keyword">void</span> <span class="hljs-title">init</span>(){
        cout&lt;&lt;<span class="hljs-string">"in Derived::init()"</span>&lt;&lt;endl;
    }
};
<span class="hljs-keyword">int</span> main(<span class="hljs-keyword">int</span> argc,<span class="hljs-keyword">char</span>* argv[]){
    Base *pb;
    pb = <span class="hljs-keyword">new</span> Derived();
    delete pb;
    <span class="hljs-keyword">return</span> <span class="hljs-number">0</span>;
}
<span class="hljs-comment">/*
执行结果:
in Base::init()
in Derived::init()
*/</span></code></pre>



<pre class="prettyprint"><code class=" hljs cs"><span class="hljs-comment">//java</span>
class Base{
    <span class="hljs-keyword">public</span> <span class="hljs-title">Base</span>(){init();}
    <span class="hljs-keyword">protected</span> <span class="hljs-keyword">void</span> <span class="hljs-title">init</span>(){
        System.<span class="hljs-keyword">out</span>.println(<span class="hljs-string">"in Base::init()"</span>);
    }
}
class Derived extends Base{
    <span class="hljs-keyword">public</span> <span class="hljs-title">Derived</span>(){init();}
    <span class="hljs-keyword">protected</span> <span class="hljs-keyword">void</span> <span class="hljs-title">init</span>(){
        System.<span class="hljs-keyword">out</span>.println(<span class="hljs-string">"in Derived::init"</span>);
    }
}
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> Test{
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">main</span>(String[] args){
        Base <span class="hljs-keyword">base</span> = <span class="hljs-keyword">new</span> Derived();
    }
}
<span class="hljs-comment">/*
执行结果 :
in Derived::init()
in Derived::init()
这是因为Java中的类对象在构造前就已经存在了,而c++中只有在构造完毕后才存在。
*/</span></code></pre>

<p>3.使用关键字super显式调用基类的构造器。 <br>
4.final关键字 <br>
final可以修饰类、属性和方法。 <br>
(1)对于基本类型,final可以使其成为编译时常量,可以在定义时赋值,也可以在构造函数中进行赋值。 <br>
(2)对于对象引用,final使引用恒定不变,一旦引用被初始化指向一个对象,就无法再把它改为为指向另一个对象。</p>

<pre class="prettyprint"><code class=" hljs cpp"><span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> Bat{
    final <span class="hljs-keyword">double</span> PI = <span class="hljs-number">3.14</span>;<span class="hljs-comment">//在定义时赋值</span>
    final <span class="hljs-keyword">int</span> i;
    final List&lt;Bat&gt; <span class="hljs-built_in">list</span>;
    Bat(){
        i = <span class="hljs-number">100</span>;
        <span class="hljs-built_in">list</span> = <span class="hljs-keyword">new</span> LinkedList&lt;Bat&gt;();
    }
    Bat(<span class="hljs-keyword">int</span> ii,<span class="hljs-stl_container"><span class="hljs-built_in">list</span>&lt;Bat&gt;</span> l){
        i = ii;
        <span class="hljs-built_in">list</span> = l;
    }
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> main(String[] args){
        Bat b = <span class="hljs-keyword">new</span> Bat();
        b.<span class="hljs-built_in">list</span>.add(<span class="hljs-keyword">new</span> Bat());
        <span class="hljs-comment">//b.i = 25;</span>
        <span class="hljs-comment">//b.list = new ArrayList&lt;Bat&gt;();</span>
    }
}</code></pre>

<p>(3)如果用final修饰方法,可以防止任何继承类修改它的含义。类中所有的private方法都隐式地指定为final。 <br>
(4)如果用final修饰类,表示不能再继承这个类。 <br>
(5)final修饰 的成员变量必须在声明的同时或在每个构造方法中显式赋值。</p>

<h2 id="接口">接口</h2>

<p>1.用interface关键字创建一个接口,要让一个类实现特定接口,需要使用implements关键字。 <br>
2.接口也可以包含域,但是这些域隐式是static和final的。</p>



<pre class="prettyprint"><code class=" hljs cs"><span class="hljs-keyword">interface</span> Runner<span class="hljs-comment">//定义接口</span>
{
    <span class="hljs-keyword">int</span> i = <span class="hljs-number">3</span>;
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">start</span>();
    <span class="hljs-keyword">void</span> run();
    <span class="hljs-keyword">void</span> stop();
}
<span class="hljs-keyword">interface</span> Eater extends Runner<span class="hljs-comment">//接口间可以继承</span>
{
    <span class="hljs-keyword">public</span> final <span class="hljs-keyword">static</span> <span class="hljs-keyword">int</span> j = <span class="hljs-number">4</span>;
    <span class="hljs-keyword">void</span> openMouth();
    <span class="hljs-keyword">void</span> upAndDown();
    <span class="hljs-keyword">void</span> goIn();
}
class TT implements Eater<span class="hljs-comment">//实现接口</span>
{
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">start</span>(){System.<span class="hljs-keyword">out</span>.println(<span class="hljs-string">"start"</span>);}
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">run</span>(){System.<span class="hljs-keyword">out</span>.println(<span class="hljs-string">"run"</span>);}
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">stop</span>(){System.<span class="hljs-keyword">out</span>.println(<span class="hljs-string">"stop"</span>);}
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">openMouth</span>(){System.<span class="hljs-keyword">out</span>.println(<span class="hljs-string">"openMouth"</span>);}
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">upAndDown</span>(){System.<span class="hljs-keyword">out</span>.println(<span class="hljs-string">"upAndDown"</span>);}
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">goIn</span>(){System.<span class="hljs-keyword">out</span>.println(<span class="hljs-string">"goIn"</span>);}
}
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> TestInterface {
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">main</span>(String[] args){
        Runner tt = <span class="hljs-keyword">new</span> TT();
        System.<span class="hljs-keyword">out</span>.println(tt.i);
        System.<span class="hljs-keyword">out</span>.println(Runner.i);
        tt.start();
        Eater ee = <span class="hljs-keyword">new</span> TT();
        System.<span class="hljs-keyword">out</span>.println(ee.j);
        System.<span class="hljs-keyword">out</span>.println(Eater.j);
        ee.start();
    }
}</code></pre>



<h2 id="内部类">内部类</h2>

<p>在一个类中定义另外一个类,这个类就叫做内部类。 <br>
1.它能访问其外围对象的所有成员。 <br>
2.如果你需要生成对外部类对象的引用,可以使用外部类的名字后面紧跟.this. <br>
3. 使用.new创建内部类的引用</p>

<pre class="prettyprint"><code class=" hljs java"><span class="hljs-keyword">public</span> Class <span class="hljs-title">Test</span>(){
    <span class="hljs-keyword">private</span> <span class="hljs-keyword">int</span> num;
    <span class="hljs-keyword">public</span> <span class="hljs-title">Test</span>(<span class="hljs-keyword">int</span> num){ <span class="hljs-keyword">this</span>.num = num;}
    <span class="hljs-keyword">private</span> Class Inner{
        <span class="hljs-keyword">public</span> Test <span class="hljs-title">getTest</span>(){
            <span class="hljs-keyword">return</span> Test.<span class="hljs-keyword">this</span>;
        }
        <span class="hljs-keyword">public</span> Test <span class="hljs-title">newTest</span>(){
            <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> Test();
        }
    }
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">main</span>(String[] args){
        Test test = <span class="hljs-keyword">new</span> Test(<span class="hljs-number">5</span>);
        Test.Inner inner = test.<span class="hljs-keyword">new</span> Inner();
        Test test2 = inner.getTest();
        Test test3 = inner.newTest();
        System.out.println(test2.num);
        System.out.println(test3.num);
    }
}
<span class="hljs-javadoc">/**
执行结果:
5 0
*/</span></code></pre>

<h2 id="类型信息">类型信息</h2>

<p>指程序能够在运行时发现和使用类型信息,我们一般使用两种方式来实现运行时对象和类的信息:传统的RTTI和反射机制。 <br>
1.class对象 <br>
专门用来保存类的信息,所有类都是动态加载到JVM中的,在他们第一次使用的时候,类加载器会首先检查Class对象是否加载,如果没有,那么找到同名的class文件,然后加载字节码文件,验证代码的完整性和安全性,一旦这个类型的class对象加载到内存中,它将会用来创建所有此类的对象。 <br>
class对象的生成方式如下: <br>
(1)Class.forName(“类名字符串”) <br>
(2)类名.class <br>
(3)实例对象.getClass()</p>



<pre class="prettyprint"><code class=" hljs d"><span class="hljs-keyword">package</span> Refect;
<span class="hljs-keyword">class</span> Demo{
    <span class="hljs-comment">//other code...</span>
}
<span class="hljs-keyword">class</span> hello{
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> main(String[] args){
        Class&lt;?&gt; demo1 = <span class="hljs-literal">null</span>;
        Class&lt;?&gt; demo2 = <span class="hljs-literal">null</span>;
        Class&lt;?&gt; demo3 = <span class="hljs-literal">null</span>;
        <span class="hljs-keyword">try</span>{
            demo1 = Class.forName(<span class="hljs-string">"Reflect.Demo"</span>);
        }cathc(Exception e){
            e.printStackTrace();
        }
        demo2 = <span class="hljs-keyword">new</span> Demo().getClass();
        demo3 = Demo.<span class="hljs-keyword">class</span>;
    }
    System.<span class="hljs-keyword">out</span>.println(<span class="hljs-string">"类名称 "</span>+demo1.getName());<span class="hljs-comment">//Reflect.Demo</span>
    System.<span class="hljs-keyword">out</span>.println(<span class="hljs-string">"类名称 "</span>+demo2.getName());<span class="hljs-comment">//Reflect.Demo</span>
    System.<span class="hljs-keyword">out</span>.println(<span class="hljs-string">"类名称 "</span>+demo3.getName());<span class="hljs-comment">//Reflect.Demo</span>
}</code></pre>

<p>2.instanceof <br>
告诉我们对象是不是某个特定类型的实例。 <br>
3.反射 <br>
RTTI(运行时类型信息)和反射之间真正的区别只在于,对于RTTI来说,编译器在编译时打开和检查.class文件,而对于反射机制来说,.class文件在编译时是不可获取的,所以是在运行时打开和检查.class文件。 <br>
反射主要是指程序可以访问、检测和修改它本身或行为的一种能力。</p>



<pre class="prettyprint"><code class=" hljs cs">package Reflect;
<span class="hljs-keyword">interface</span> China{
    <span class="hljs-keyword">public</span> String name = <span class="hljs-string">"Rollen"</span>;
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">int</span> age = <span class="hljs-number">20</span>;
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">sayChina</span>();
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">sayHello</span>(String name,<span class="hljs-keyword">int</span> age);
}
class Person implements China{
    <span class="hljs-keyword">private</span> String sex;
    <span class="hljs-keyword">public</span> <span class="hljs-title">Person</span>(){};
    <span class="hljs-keyword">public</span> <span class="hljs-title">Person</span>(String sex){<span class="hljs-keyword">this</span>.sex = sex;}
    <span class="hljs-keyword">public</span> <span class="hljs-title">getSex</span>(){<span class="hljs-keyword">return</span> sex;}
    <span class="hljs-keyword">public</span> <span class="hljs-title">setSex</span>(String sex){<span class="hljs-keyword">this</span>.sex = sex;}
    @Override
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">sayChina</span>(){
        System.<span class="hljs-keyword">out</span>.println(<span class="hljs-string">"hello, china"</span>);
    }
    @Override
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">sayHello</span>(String name,<span class="hljs-keyword">int</span> age){
        System.<span class="hljs-keyword">out</span>.println(name+<span class="hljs-string">" "</span>+age);
    }
}
class hello{
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">main</span>(String[] args){
        Class&lt;?&gt; demo = <span class="hljs-keyword">null</span>;
        <span class="hljs-keyword">try</span>{
            demo = Class.forName(<span class="hljs-string">"Reflect.Person"</span>)
        }<span class="hljs-keyword">catch</span>(Exception e){e.printStackTrace();}
        <span class="hljs-comment">//保存所有的接口</span>
        Class&lt;?&gt; intes[] demo.getInterfaces();
        <span class="hljs-keyword">for</span>(<span class="hljs-keyword">int</span> i=<span class="hljs-number">0</span>;i&lt;intes.length;++i){
            System.<span class="hljs-keyword">out</span>.println(<span class="hljs-string">"实现的接口 "</span>+intes[i].getName());
            <span class="hljs-comment">//Reflect.China</span>
        }
        <span class="hljs-comment">//获得全部的构造函数</span>
        Constructor&lt;?&gt; cons[]= demo.getConstructors();
        <span class="hljs-keyword">for</span>(<span class="hljs-keyword">int</span> i=<span class="hljs-number">0</span>;i&lt;cons.length;++i){
            System.<span class="hljs-keyword">out</span>.println(<span class="hljs-string">"构造函数: "</span>+cons[i]);
        }
        <span class="hljs-comment">//通过反射调用其它类中的方法</span>
        <span class="hljs-keyword">try</span>{
            Method method = demo.getMethod(<span class="hljs-string">"sayHello"</span>);
            mehtod.invoke(demo.newInstance());
        }<span class="hljs-keyword">catch</span>(Exception e){e.printStackTrace();}
        Object obj = <span class="hljs-keyword">null</span>;
        <span class="hljs-keyword">try</span>{
            obj = demo.newInstance();
        }<span class="hljs-keyword">catch</span>(Exception e){e.printStackTrace();}
        <span class="hljs-comment">//通过反射操作属性</span>
        Field field = demo.getDeclaredField(<span class="hljs-string">"sex"</span>);
        field.setAccessible(<span class="hljs-keyword">true</span>);
        field.<span class="hljs-keyword">set</span>(obj,<span class="hljs-string">"男"</span>);
    }
}</code></pre>



<h2 id="泛型">泛型</h2>

<p>1.通配符 <br>
(1)通配符的上界</p>



<pre class="prettyprint"><code class=" hljs xml">? extends myClass其中“?”就是通配符,其上界为myClass,这句话代表myClass或其子类。
List<span class="hljs-tag">&lt;<span class="hljs-title">Apple</span>&gt;</span> apples = new ArrayList<span class="hljs-tag">&lt;<span class="hljs-title">Apple</span>&gt;</span>();
List<span class="php"><span class="hljs-class">&lt;? <span class="hljs-keyword">extends</span> <span class="hljs-title">Fruit</span>&gt; <span class="hljs-title">fruits</span> = <span class="hljs-title">apples</span>;</span></span></code></pre>

<p>(2)通配符的下界</p>



<pre class="prettyprint"><code class=" hljs vbnet">? super <span class="hljs-keyword">myClass</span>表示通配符的下界为<span class="hljs-keyword">myClass</span>,这句话代表<span class="hljs-keyword">myClass</span>的超类型直至<span class="hljs-built_in">Object</span>。
List&lt;Fruit&gt; fruits = <span class="hljs-keyword">new</span> ArrayList&lt;Fruit&gt;();
List&lt;? super Apple&gt; = fruits;</code></pre>

<p>(3)无界通配符 <br>
?等价于Object。</p>



<h2 id="注解">注解</h2>

<p>1.用于描述Java源代码,使得我们能够以将由编译器来测试和验证的格式,存储有关程序的额外信息。使用时在@后面跟注解的名字。 <br>
2.预定义的三个注解 <br>
(1)Override <br>
标识某一个方法是否覆盖了它的父类的方法。 <br>
(2)Deprecated <br>
标注一个类成员时,编译器会发出警告信息。 <br>
(3)SuppressWarnings <br>
就是抑制编译器产生警告信息。 <br>
3.自定义注解 <br>
注解的定义和接口差不多,只是在interface前面多一个“ <br>
@”</p>



<pre class="prettyprint"><code class=" hljs cs"><span class="hljs-keyword">public</span> @<span class="hljs-keyword">interface</span> MyAnnotation
{
}</code></pre>

<p>上面的代码是个最简单的注解,这个注解没有属性。当然也可以定义有属性的注解。</p>



<pre class="prettyprint"><code class=" hljs cs"><span class="hljs-keyword">public</span> @<span class="hljs-keyword">interface</span> MyAnnotation
{
    String <span class="hljs-keyword">value</span>();
}</code></pre>

<p>可以按如下格式使用MyAnnotation</p>



<pre class="prettyprint"><code class=" hljs java"><span class="hljs-annotation">@MyAnnotation</span>(<span class="hljs-string">"abc"</span>)
<span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">myMethod</span>()
{
}</code></pre>

<p>这里有一个约定,如果没有写属性名的值,而这个注解又有value属性,就将这个值给value属性,如果没有,就出现编译错误。 <br>
除了可以省略属性名,还可以省略属性值,这就是默认值。</p>



<pre class="prettyprint"><code class=" hljs cs"><span class="hljs-keyword">public</span> @<span class="hljs-keyword">interface</span> MyAnnotation
{
    <span class="hljs-keyword">public</span> String <span class="hljs-title">value</span>() <span class="hljs-keyword">default</span> "xyz";
}</code></pre>

<p>可以直接使用MyAnnotation</p>



<pre class="prettyprint"><code class=" hljs java"><span class="hljs-annotation">@MyAnnotation</span>
<span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">myMehtod</span>()
{
}</code></pre>

<p>4.元注解(对注解进行注解) <br>
为注解提供了4种注解: <br>
(1)Target <br>
先看下面代码</p>



<pre class="prettyprint"><code class=" hljs java"><span class="hljs-annotation">@Target</span>({ElementType.METHOD})
<span class="hljs-annotation">@interface</span> MyAnnotation{}
<span class="hljs-annotation">@MyAnnotaion</span> <span class="hljs-comment">//wrong!</span>
<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Class1</span>
{</span>
    <span class="hljs-annotation">@MyAnnotation</span> <span class="hljs-comment">//right!</span>
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">myMethod</span>(){}
}</code></pre>

<p>target所指的目标就是Java的语言元素,如类、接口、方法等。 <br>
(2)Retention <br>
设置注解是否保存在class文件中</p>



<pre class="prettyprint"><code class=" hljs ruby"><span class="hljs-variable">@Retention</span>(<span class="hljs-constant">RetentionPolicy</span>.<span class="hljs-constant">SOURCE</span>)
<span class="hljs-variable">@interface</span> <span class="hljs-constant">MyAnnotation</span>{}
<span class="hljs-variable">@Retention</span>(<span class="hljs-constant">RetentionPolicy</span>.<span class="hljs-constant">CLASS</span>)
<span class="hljs-variable">@interface</span> <span class="hljs-constant">MyAnnotation2</span>{}
<span class="hljs-variable">@Retention</span>(<span class="hljs-constant">RetentionPolicy</span>.<span class="hljs-constant">RUNTIME</span>)
<span class="hljs-variable">@interface</span> <span class="hljs-constant">MyAnnotation3</span>{}</code></pre>

<p>其中第一段代码的作用是不将注解保存在class文件中,也就是说像“//”一样在编译时被过滤掉了。第二段代码的作用是只将注解保存在class文件中,而使用反射读取注解时忽略这些注解。第三段代码的作用是将注解保存在class文件中,也可以通过反射读取注解。 <br>
(3)Documented <br>
在默认的情况下使用javadoc自动生成文档时,注解将被忽略掉,如果想在文档中也包含注解,必须使用Documented为文档注解。 <br>
(4)Interited <br>
在默认情况下,父类的注解并不会被子类继承,如果要继承,就必须加上Inherited注解。</p>



<pre class="prettyprint"><code class=" hljs java"><span class="hljs-annotation">@Inherited</span>
<span class="hljs-annotation">@interface</span> MyAnnotation{}
<span class="hljs-annotation">@MyAnnotation</span>
<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">ParentClass</span>{</span>}
<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">ChildClass</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">ParentClass</span>{</span>}</code></pre>

<p>在以上代码中ChildClass和ParentClass一样都已被MyAnnotation注解。 <br>
5.使用反射读取注解 <br>
我们使用反射可以得到类的方法、方法的参数以及其它的类成员等信息。如果要得到某一个类或接口的注解信息,可以使用如下代码:</p>



<pre class="prettyprint"><code class=" hljs vbnet">Annotation annotation = <span class="hljs-keyword">MyClass</span>.<span class="hljs-keyword">class</span>.getAnnotaion(MyAnnotation.<span class="hljs-keyword">class</span>);
如果要得到全部的注解信息:
Annotation[] annotations = <span class="hljs-keyword">MyClass</span>.<span class="hljs-keyword">class</span>.getAnnotations();

Annotation[] annotations = <span class="hljs-keyword">MyClass</span>.<span class="hljs-keyword">class</span>.getDeclaredAnnotations();
getDeclaredAnnotations得到的是当前成员所有的注解,不包括继承。</code></pre>



<h2 id="并发">并发</h2>

<p>1.定义任务 <br>
线程可以驱动任务,因些你需要一种描述任务的方式,这可以由Runnable接口来提供。实现Runnable接口并编写run方法。~ <br>
2.Thread类 <br>
将Runnable对象转变为工作任务的传统方式是把它提交给一个Thread构选器。 <br>
3.join方法,某个线程加到另一个线程的“尾部”,当该线程执行完后,另一个线程再继续执行。 <br>
4.yield方法,当前运行的线程退出支行状态,会变成可运行状态,使同级别的线程有机会执行,但yield不能保证任何事情。 <br>
5.wait,调用wait必须拥有对象上的锁,wait可以释放锁,wait和notify必须要成对出现。 <br>
6.当调用对象的notify方法时,它会从当前对象的“wait set”中随机通知一个线程加入排队,被通知的线程会与其它正执行的线程共同竞争对象的“锁定”。 <br>
7.wait, notify, notifyAll是Object类提供的方法,而且它们都被声明为final。 <br>
8.</p>

<h3 id="runtime类和process类">Runtime类和Process类</h3>

<p>Runtime类封装了运行时的环境,每个Java应用程序都有一个Runtime类实例,使用应用程序能够与其运行环境相连接。通过Runtime.getRuntime()获取Runtime类的实例。Runtime类使用的是单例模式。</p>

<h3 id="集合">集合</h3>

<p>(1)Collection接口的iterator和toArray方法都用于获得集合中的“所有元素”。前者返回一个“iterator”对象,后者返回一个包含集合中所有元素的数组。 <br>
(2)HashSet是基于Hash算法实现的,其性能通常优于TreeSet。在我们需要排序的功能时,我们才使用TreeSet。HashSet会调用对象的hashCode()方法来获得哈希码。 <br>
(3)ArrayList内部采用数组实现,LinkedList使用“链表”来实现。 <br>
(4)LinkedHashSet不仅实现了Hash算法,可以在迭代时,按照元素加入集合时的顺序来显示对象。 <br>
(5)TreeSet使用红黑树对元素进行排序。依靠TreeMap来实现。 <br>
(6)LinkedHashMap在迭代元素时,可以按照对象加入集合的顺序来显示。 <br>
(7)TreeMap可以使用红黑树来对键对象排序。和Set类似,HashMap的速度通常比TreeMap快,只有在需要排序的功能时,才使用TreeMap。 <br>
(8)Java提供了Arrays类来封装数组。 <br>
(9)历史集合类 <br>
Vector, Stack, Enumeration,Hashtable,Properties和BitSet。 <br>
由于Vector,Stack, Hashtable, Enumeration都使用了同步机制,并发性能差。Properties和BitSet由于有着特殊用途,所以不还常使用。</p>

<h3 id="网络编程">网络编程</h3>

<p>1.TCP客户端程序与TCP服务器端程序的交互过程。 <br>
(1)服务器程序创建一个ServerSocket,然后调用Accept方法等待客户连接。 <br>
(2)客户端程序创建一个Socket并请求与服务器端建立连接。 <br>
(3)服务器接收客户的连接请求,并创建一个新的Socket与该客户建立专线连接。 <br>
(4)建立了连接的两个Socket在一个单独的线程(由服务器程序创建)上对话。 <br>
(5)服务器开始等待新的连接请求,当新的连接请求到达时,重得(2)~(5)。</p>

<p>2.TCP服务器程序编写 <br>
(1)调用ServerSocket()创建一个服务器端套接字, <br>
(2)调用accept(),监听连接请求,如果客户端请求连接,则接受连接,返回通信套接字。 <br>
(3)调用Socket类的getOutputStream()和getInputStream获取输出流和输入流,开始网络数据的发送和接收。 <br>
(4)最后关闭通信套接字。 <br>
3.客户端程序编写 <br>
(1)调用socket()创建一个流套接字,并连接到服务器端。 <br>
(2)调用socket类的getOutputStream()和getInputStream()获取输出流和输入流,开始网络数据的发送和接收。 <br>
(3)最后关闭通信套接字。 <br>
4.UDP接收端编写 <br>
(1)调用DatagramSocket(int port)创建一个数据报套接字,并绑定到指定的端口上。 <br>
(2)调用DatagramPackage(byte[] buf,int length),建立一个字节数组以接收UDP包。 <br>
(3)调用DatagramSocket类的receive(),接收UDP包。 <br>
(4)最后关闭数据报套接字。 <br>
5.发送端程序  <br>
(1)调用DatagramSocket()创建一个数据报套接字。 <br>
(2)调用DatagramPacket(byte[] buf, int length,InetAddress address,int port), 建立要发送的UDP包。 <br>
(3)调用DatagramSocket类的send(),发送UDP包。 <br>
(4)最后关闭数据报套接字。</p>

<h3 id="数据库">数据库</h3>

<p>1.JNDI <br>
在J2EE容器中配置JNDI参数,定义一个数据源,也就是JDBC引用参数,给这个数据源设置一个名称,然后,在程序中通过数据源名称引用数据源从而访问后台数据库。 <br>
例子:</p>



<pre class="prettyprint"><code class=" hljs rust">tomcatPath/conf/server.xml中的&lt;GlobalNamingResources&gt;节点中加入:
&lt;Resource
auth=<span class="hljs-string">"Container"</span>
name=<span class="hljs-string">"jdbc/oralce/jndi"</span>
<span class="hljs-keyword">type</span>=<span class="hljs-string">"javax/sql/DataSource"</span>&lt;!-- jndi的接口驱动--&gt;
driverClassName=<span class="hljs-string">"oracle.jdbc.driver.OracleDriver"</span>
username=<span class="hljs-string">"test"</span>
password=<span class="hljs-string">"test"</span>
maxIdle=<span class="hljs-string">"5"</span>
maxActive=<span class="hljs-string">"30"</span>
maxWait=<span class="hljs-string">"5000"</span>
url=<span class="hljs-string">"jdbc:oracle:thin@127.0.0.1521:xxx"</span>
/&gt;</code></pre><link rel="stylesheet" href="http://static.blog.csdn.net/public/res-min/markdown_views.css?v=1.0"></div><link rel="stylesheet" href="http://static.blog.csdn.net/public/res-min/markdown_views.css?v=1.0">
            </div>
        </article>
        <div class="readall_box tracking-ad readall_box_nobg" data-mod="popu_376" style="display: none;">
            <a class="btn btn-large btn-gray-fred read_more_btn" target="_self">阅读全文</a>
        </div>
        <div class="article_copyright">
            版权声明:本文为博主原创文章,未经博主允许不得转载。
            <span class="r_ico"><i class="icon iconfont icon-jubao"></i><span class="txt" id="reportBtn">举报</span></span>
        </div>
        <!--  <div class="reward_box">
            <div class="tit">
              <button class="btn_reward"><i class="icon iconfont icon-dashang-"></i></button>
            </div>
            <dl class="clearfix">
              <dt><a href="#" target="_blank">近期打赏</a></dt>
              <dd><a href="#" target="_blank"><img src="http://avatar.csdn.net/9/3/2/2_nzf_001.jpg" alt="聂兆芳" title="聂兆芳"></a></dd>
              <dd><a href="#" target="_blank"><img src="http://avatar.csdn.net/9/3/2/2_nzf_001.jpg" alt="聂兆芳" title="聂兆芳"></a></dd>
              <dd><a href="#" target="_blank"><img src="http://avatar.csdn.net/9/3/2/2_nzf_001.jpg" alt="聂兆芳" title="聂兆芳"></a></dd>
              <dd><a href="#" target="_blank"><img src="http://avatar.csdn.net/9/3/2/2_nzf_001.jpg" alt="聂兆芳" title="聂兆芳"></a></dd>
              <dd><a href="#" target="_blank"><img src="http://avatar.csdn.net/9/3/2/2_nzf_001.jpg" alt="聂兆芳" title="聂兆芳"></a></dd>
            </dl>
          </div>-->
        <ul class="article_tags clearfix tracking-ad" data-mod="popu_377">
            <li class="tit">标签:</li>
            
            <li><a href="http://so.csdn.net/so/search/s.do?q=java&amp;t=blog" target="_blank">java</a> <span>/</span></li>
            
        </ul>
        <ul class="article_collect clearfix tracking-ad" data-mod="popu_378">
            <li class="tit">本文已收录于以下专栏:</li>
            
        </ul>
        <div class="comment_box clearfix">
            <div id="comment_form">
                <div id="commentsbmitarear">
                    <h6><span>0</span>条评论</h6>
                    <dl class="clearfix" id="commentbox" style="display: block;">
                        <dt>
                            <a href="http://my.csdn.net/qq_39744911"><img src="http://avatar.csdn.net/6/5/E/1_qq_39744911.jpg"></a>
                        </dt>
                        <dd>
                            <a href="http://my.csdn.net/qq_39744911" target="_blank">qq_39744911</a>
                        </dd>
                        <dd class="txt_tip"><span id="tip_comment" class="tip"></span></dd>
                    </dl>
                    <div class="comment_area clearfix">
                        <form action="/CHS007chs/comment/submit?id=45950655" method="post" οnsubmit="return subform(this);" id="commentform">
                            <textarea class="comment_content" name="comment_content" id="comment_content"></textarea>
                            <div class="bot_bar clearfix">
                                <div id="ubbtools" class="add_code">
                                    <a href="#insertcode" code="code" target="_self"><i class="icon iconfont icon-daima"></i></a>
                                </div>

                                <input id="comment_replyId" name="comment_replyId" type="hidden">
                                <input id="comment_userId" name="comment_userId" value="" type="hidden">
                                <input id="commentId" name="commentId" value="" type="hidden">
                                <input class="btn btn-redborder" value="发表评论" type="submit">
                                <div style="display: none;" class="tracking-ad" data-mod="popu_384"><a href="#" target="_blank" class="comment_area_btn">发表评论</a></div>

                                <div id="lang_list" code="code">
                                    <a href="#html" style="width:95px;" class="long_name" target="_self">HTML/XML</a>
                                    <a href="#objc" style="width:95px;" class="long_name" target="_self">objective-c</a>
                                    <a href="#delphi" style="width:58px;" class="zhong_name" target="_self">Delphi</a>
                                    <a href="#ruby" class="zhong_name" target="_self">Ruby</a>
                                    <a href="#php" target="_self">PHP</a>
                                    <a href="#csharp" class="duan_name" target="_self">C#</a>
                                    <a style=" border-right: none;" href="#cpp" class="duan_name" target="_self">C++</a>
                                    <a style=" border-bottom:none;width:95px;" href="#javascript" class="long_name" target="_self">JavaScript</a>
                                    <a style=" border-bottom:none;width:95px;" href="#vb" class="long_name" target="_self">Visual Basic</a>
                                    <a style=" border-bottom:none;" href="#python" class="zhong_name" target="_self">Python</a>
                                    <a style=" border-bottom:none;" href="#java" class="zhong_name" target="_self">Java</a>
                                    <a style="border-bottom:none;" href="#css" class="duan_name" target="_self">CSS</a>
                                    <a style="border-bottom:none;" href="#sql" class="duan_name" target="_self">SQL</a>
                                    <a style="border:none; " href="#plain" class="duan_name" target="_self">其它</a>
                                    <span class="arrb"></span>
                                </div>
                            </div>
                        </form>
                    </div>
                </div>
            </div>
        </div>

        <div class="comment_li_outbox">
            <div id="comment_list"><br>&nbsp;&nbsp;暂无评论<br><br><div class="clear"></div></div>
        </div>

        <div class="more_comment tracking-ad">
            <div id="comment_bar"></div>
        </div>

        <h3 class="recommend_tit">相关文章推荐</h3>
        <div class="recommend_list clearfix">
            
            <dl class="clearfix tracking-ad" data-mod="popu_387">
                <dd>
                    <h2><a href="/lanonola/article/details/21153195" target="_blank" strategy="BlogCommendFromBaidu">java基础知识回顾(一)</a></h2>
                    <div class="summary">
                        java基础&nbsp;&nbsp;&nbsp; 2014.3.12
&nbsp; &nbsp; &nbsp; &nbsp; 发现一个很奇怪的事情,今天登陆CSDN怎么也登陆不了,浏览csdn上的其他的东西都能正常显示。所以只能先写在word文档里,明天再贴上去,鼓励自...
                    </div>
                    <ul>
                        <li class="avatar_img"><a href="/lanonola/article/details/21153195" target="_blank" strategy="BlogCommendFromBaidu"><img src="http://avatar.csdn.net/4/7/D/2_lanonola.jpg" alt="lanonola" title="lanonola"></a></li>
                        <li class="user_name"><a href="#nogo" target="_blank">lanonola</a></li>
                        <li class="time">2014-03-13 08:53</li>
                        <li class="visited_num"><i class="icon iconfont icon-yuedu"></i><span>813</span></li>
                    </ul>
                </dd>
            </dl>
            
            <dl class="clearfix tracking-ad" data-mod="popu_387">
                <dd>
                    <h2><a href="/xyzopq100/article/details/50683899" target="_blank" strategy="BlogCommendFromBaidu">Java基础知识总结(绝对经典)</a></h2>
                    <div class="summary">
                        本人学习java时,做的java基础知识总结:

因内容较多,提供原文链接下载。

&nbsp;

写代码:

1,明确需求。我要做什么?

2,分析思路。我要怎么做?1,2,3。

3...
                    </div>
                    <ul>
                        <li class="avatar_img"><a href="/xyzopq100/article/details/50683899" target="_blank" strategy="BlogCommendFromBaidu"><img src="http://avatar.csdn.net/2/E/D/2_xyzopq100.jpg" alt="xyzopq100" title="xyzopq100"></a></li>
                        <li class="user_name"><a href="#nogo" target="_blank">xyzopq100</a></li>
                        <li class="time">2016-02-18 09:28</li>
                        <li class="visited_num"><i class="icon iconfont icon-yuedu"></i><span>63447</span></li>
                    </ul>
                </dd>
            </dl>
            
            <dl class="clearfix tracking-ad" data-mod="popu_387">
                <dd>
                    <h2><a href="/jianggujin/article/details/50483704" target="_blank" strategy="BlogCommendFromBaidu">JAVA基础教程汇总</a></h2>
                    <div class="summary">
                        到这一篇博客为止,JAVA的基础部分已经介绍完了,这一篇为基础部分的汇总。
                    </div>
                    <ul>
                        <li class="avatar_img"><a href="/jianggujin/article/details/50483704" target="_blank" strategy="BlogCommendFromBaidu"><img src="http://avatar.csdn.net/A/C/A/2_jianggujin.jpg" alt="jianggujin" title="jianggujin"></a></li>
                        <li class="user_name"><a href="#nogo" target="_blank">jianggujin</a></li>
                        <li class="time">2016-01-08 16:11</li>
                        <li class="visited_num"><i class="icon iconfont icon-yuedu"></i><span>2700</span></li>
                    </ul>
                </dd>
            </dl>
            
            <dl class="clearfix tracking-ad" data-mod="popu_387">
                <dd>
                    <h2><a href="/zzp16/article/details/5616658" target="_blank" strategy="BlogCommendFromBaidu">Java基础类库简介</a></h2>
                    <div class="summary">
                        Java以基础类库JFC(Java Foundation Class)的形式为程序员提供编程接口API,类库中的类按照用途归属于不同的包中。(一)java.lang包   Java最常用的包都属于该包...
                    </div>
                    <ul>
                        <li class="avatar_img"><a href="/zzp16/article/details/5616658" target="_blank" strategy="BlogCommendFromBaidu"><img src="http://avatar.csdn.net/2/A/B/2_zzp16.jpg" alt="zzp16" title="zzp16"></a></li>
                        <li class="user_name"><a href="#nogo" target="_blank">zzp16</a></li>
                        <li class="time">2010-05-22 17:11</li>
                        <li class="visited_num"><i class="icon iconfont icon-yuedu"></i><span>6107</span></li>
                    </ul>
                </dd>
            </dl>
            
            <dl class="clearfix tracking-ad" data-mod="popu_387">
                <dd>
                    <h2><a href="/m0_37327416/article/details/70156006" target="_blank" strategy="BlogCommendFromBaidu">Java基础知识详细总结</a></h2>
                    <div class="summary">
                        Java基础知识总结
写代码:
1,明确需求。我要做什么?
2,分析思路。我要怎么做?1,2,3。
3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。
4,代码实现。用具体的java语...
                    </div>
                    <ul>
                        <li class="avatar_img"><a href="/m0_37327416/article/details/70156006" target="_blank" strategy="BlogCommendFromBaidu"><img src="http://avatar.csdn.net/5/7/1/2_m0_37327416.jpg" alt="m0_37327416" title="m0_37327416"></a></li>
                        <li class="user_name"><a href="#nogo" target="_blank">m0_37327416</a></li>
                        <li class="time">2017-04-13 11:06</li>
                        <li class="visited_num"><i class="icon iconfont icon-yuedu"></i><span>1192</span></li>
                    </ul>
                </dd>
            </dl>
            
            <dl class="clearfix tracking-ad" data-mod="popu_387">
                <dd>
                    <h2><a href="/wrqd0326/article/details/46850099" target="_blank" strategy="BlogCommendFromBaidu">Java基础知识</a></h2>
                    <div class="summary">
                        Unit1 抽象和封装
1.  简述类的封装的定义、具体步骤和优点:【P32】
    封装是面向对象的三大特性之一,就是将类的状态信息隐藏在类的内部,不允许外部程序访问,而是通过该类提供的方法来...
                    </div>
                    <ul>
                        <li class="avatar_img"><a href="/wrqd0326/article/details/46850099" target="_blank" strategy="BlogCommendFromBaidu"><img src="http://avatar.csdn.net/F/0/8/2_wrqd0326.jpg" alt="wrqd0326" title="wrqd0326"></a></li>
                        <li class="user_name"><a href="#nogo" target="_blank">wrqd0326</a></li>
                        <li class="time">2015-07-12 14:36</li>
                        <li class="visited_num"><i class="icon iconfont icon-yuedu"></i><span>242</span></li>
                    </ul>
                </dd>
            </dl>
            
            <dl class="clearfix tracking-ad" data-mod="popu_387">
                <dd>
                    <h2><a href="/u014209975/article/details/52447556" target="_blank" strategy="BlogCommendFromBaidu">一位资深程序员大牛给予Java初学者的学习路线建议</a></h2>
                    <div class="summary">
                        java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈...
                    </div>
                    <ul>
                        <li class="avatar_img"><a href="/u014209975/article/details/52447556" target="_blank" strategy="BlogCommendFromBaidu"><img src="http://avatar.csdn.net/D/E/3/2_u014209975.jpg" alt="u014209975" title="u014209975"></a></li>
                        <li class="user_name"><a href="#nogo" target="_blank">u014209975</a></li>
                        <li class="time">2016-09-06 10:17</li>
                        <li class="visited_num"><i class="icon iconfont icon-yuedu"></i><span>12135</span></li>
                    </ul>
                </dd>
            </dl>
            
            <dl class="clearfix tracking-ad" data-mod="popu_387">
                <dd>
                    <h2><a href="/u011465875/article/details/46655641" target="_blank" strategy="BlogCommendFromBaidu">java基础入门</a></h2>
                    <div class="summary">
                        Java是于 1995年由Sun公司推出的一款面向对象的程序设计语言,它是由Java之父之称的Sun研究院院士James
 Gosling博士亲手设计而成的,并完成了Java技术的原始编译器和虚拟机。...
                    </div>
                    <ul>
                        <li class="avatar_img"><a href="/u011465875/article/details/46655641" target="_blank" strategy="BlogCommendFromBaidu"><img src="http://avatar.csdn.net/D/E/7/2_u011465875.jpg" alt="u011465875" title="u011465875"></a></li>
                        <li class="user_name"><a href="#nogo" target="_blank">u011465875</a></li>
                        <li class="time">2015-06-26 23:39</li>
                        <li class="visited_num"><i class="icon iconfont icon-yuedu"></i><span>222</span></li>
                    </ul>
                </dd>
            </dl>
            
            <dl class="clearfix tracking-ad" data-mod="popu_387">
                <dd>
                    <h2><a href="/liang0000zai/article/details/51393427" target="_blank" strategy="BlogCommendFromBaidu">一位资深程序员大牛给予Java初学者的学习建议</a></h2>
                    <div class="summary">
                        这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学...
                    </div>
                    <ul>
                        <li class="avatar_img"><a href="/liang0000zai/article/details/51393427" target="_blank" strategy="BlogCommendFromBaidu"><img src="http://avatar.csdn.net/B/9/B/2_liang0000zai.jpg" alt="liang0000zai" title="liang0000zai"></a></li>
                        <li class="user_name"><a href="#nogo" target="_blank">liang0000zai</a></li>
                        <li class="time">2016-05-13 10:51</li>
                        <li class="visited_num"><i class="icon iconfont icon-yuedu"></i><span>20860</span></li>
                    </ul>
                </dd>
            </dl>
            
            <dl class="clearfix tracking-ad" data-mod="popu_387">
                <dd>
                    <h2><a href="/w0220059/article/details/71272707" target="_blank" strategy="BlogCommendFromBaidu">java基础技术知识点总结——初始化</a></h2>
                    <div class="summary">
                        public class Test {
    public static void main(String[] args) {
        new Student();
    }
}
clas...
                    </div>
                    <ul>
                        <li class="avatar_img"><a href="/w0220059/article/details/71272707" target="_blank" strategy="BlogCommendFromBaidu"><img src="http://avatar.csdn.net/8/B/4/2_w0220059.jpg" alt="w0220059" title="w0220059"></a></li>
                        <li class="user_name"><a href="#nogo" target="_blank">w0220059</a></li>
                        <li class="time">2017-05-06 17:05</li>
                        <li class="visited_num"><i class="icon iconfont icon-yuedu"></i><span>103</span></li>
                    </ul>
                </dd>
            </dl>
            

            

            
        
            <dl class="clearfix tracking-ad" data-mod="popu_387">
                <dd>
                    <h2><a href="/fanyating617825/article/details/48955631" target="_blank" strategy="BlogCommendFromCsdn">java基础知识总结</a></h2>
                    <div class="summary">
                        eclipse:网址下载:www.eclipse.org
eclipse快捷键:
补全代码: &nbsp; alt+/
换行: &nbsp; &nbsp;shift+(enter)回车符
导入当前类使用的包: &nbsp;ctrl+...
                    </div>
                    <ul>
                        <li class="avatar_img"><a href="/fanyating617825/article/details/48955631" target="_blank" strategy="BlogCommendFromCsdn"><img src="http://avatar.csdn.net/3/8/B/2_fanyating617825.jpg" alt="fanyating617825" title="fanyating617825"></a></li>
                        <li class="user_name"><a href="#nogo">fanyating617825</a></li>
                        <li class="time">2015-10-07 22:32</li>
                        <li class="visited_num"><i class="icon iconfont icon-yuedu"></i><span>887</span></li>
                    </ul>
                </dd>
            </dl>
            
            <dl class="clearfix tracking-ad" data-mod="popu_387">
                <dd>
                    <h2><a href="http://cnaning.iteye.com/blog/350609" target="_blank" strategy="BlogCommendFromCsdn">张孝祥java基础开发前奏总结:</a></h2>
                    <div class="summary">
                        张孝祥java基础开发前奏总结:
"一次编译,到处运行"的原理
Java具有三个方面的内涵1.是一种编程语言2.是一套开发工具3.是一个运行环境
什么是JDK(Java Development Kit) JDK安装目录有demo(建议有一定基础的java
人员参考)-开发工具,Javac及基础核心类&lt;br
                    </div>
                    <ul>
                        <li class="avatar_img"><a href="http://cnaning.iteye.com/blog/350609" target="_blank" strategy="BlogCommendFromCsdn"><img src="http://static.blog.csdn.net/images/iteye.png" alt="cnaning" title="cnaning"></a></li>
                        <li class="user_name"><a href="#nogo">cnaning</a></li>
                        <li class="time">2009-03-17 23:16</li>
                        <li class="visited_num"><i class="icon iconfont icon-yuedu"></i><span>732</span></li>
                    </ul>
                </dd>
            </dl>
            
            <dl class="clearfix tracking-ad" data-mod="popu_387">
                <dd>
                    <h2><a href="/s740556472/article/details/53517429" target="_blank" strategy="BlogCommendFromCsdn">java基础面试题之static和final总结</a></h2>
                    <div class="summary">
                        1.static 关键字(静态的)
①静态方法
通常,在一个类里定义一个方法为static,也就是说无需本类的对象即可直接调用此方法。
声明此方法意味着:
·此方法内部不能引用非static变...
                    </div>
                    <ul>
                        <li class="avatar_img"><a href="/s740556472/article/details/53517429" target="_blank" strategy="BlogCommendFromCsdn"><img src="http://avatar.csdn.net/2/1/D/2_s740556472.jpg" alt="s740556472" title="s740556472"></a></li>
                        <li class="user_name"><a href="#nogo">s740556472</a></li>
                        <li class="time">2016-12-08 14:13</li>
                        <li class="visited_num"><i class="icon iconfont icon-yuedu"></i><span>471</span></li>
                    </ul>
                </dd>
            </dl>
            
            <dl class="clearfix tracking-ad" data-mod="popu_387">
                <dd>
                    <h2><a href="http://wwm4851186.iteye.com/blog/2211071" target="_blank" strategy="BlogCommendFromCsdn">(转)Java基础知识总结(绝对经典)</a></h2>
                    <div class="summary">
                        
写代码:

1,明确需求。我要做什么?

2,分析思路。我要怎么做?1,2,3。

3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。

4,代码实现。用具体的java语言代码把思路体现出来。

 

学习新技术的四点:

1,该技术是什么?

2,该技术有什么特点(使用注意):

3,该技术怎么使用。demo

4,该技术什么时候用?test。

-----------------------------------------------------------------------------------------------

                    </div>
                    <ul>
                        <li class="avatar_img"><a href="http://wwm4851186.iteye.com/blog/2211071" target="_blank" strategy="BlogCommendFromCsdn"><img src="http://static.blog.csdn.net/images/iteye.png" alt="wwm4851186" title="wwm4851186"></a></li>
                        <li class="user_name"><a href="#nogo">wwm4851186</a></li>
                        <li class="time">2015-05-14 14:26</li>
                        <li class="visited_num"><i class="icon iconfont icon-yuedu"></i><span>120</span></li>
                    </ul>
                </dd>
            </dl>
            
            <dl class="clearfix tracking-ad" data-mod="popu_387">
                <dd>
                    <h2><a href="/lzh7710/article/details/48973151" target="_blank" strategy="BlogCommendFromCsdn">java基础总结</a></h2>
                    <div class="summary">
                        自留备用
http://www.cnblogs.com/xdp-gacl/category/563690.html



java基础总结文章

Java制作证书的工具keytool用法...
                    </div>
                    <ul>
                        <li class="avatar_img"><a href="/lzh7710/article/details/48973151" target="_blank" strategy="BlogCommendFromCsdn"><img src="http://avatar.csdn.net/3/5/D/2_lzh7710.jpg" alt="lzh7710" title="lzh7710"></a></li>
                        <li class="user_name"><a href="#nogo">lzh7710</a></li>
                        <li class="time">2015-10-08 15:31</li>
                        <li class="visited_num"><i class="icon iconfont icon-yuedu"></i><span>277</span></li>
                    </ul>
                </dd>
            </dl>
            
            <dl class="clearfix tracking-ad" data-mod="popu_387">
                <dd>
                    <h2><a href="http://lilai.iteye.com/blog/1578749" target="_blank" strategy="BlogCommendFromCsdn">Java基础知识总结</a></h2>
                    <div class="summary">
                        
Java基础知识总结
写代码:
1,明确需求。我要做什么?
2,分析思路。我要怎么做?1,2,3。
3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。
4,代码实现。用具体的java语言代码把思路体现出来。

学习新技术的四点:
1,该技术是什么?
2,该技术有
                    </div>
                    <ul>
                        <li class="avatar_img"><a href="http://lilai.iteye.com/blog/1578749" target="_blank" strategy="BlogCommendFromCsdn"><img src="http://static.blog.csdn.net/images/iteye.png" alt="lilai" title="lilai"></a></li>
                        <li class="user_name"><a href="#nogo">lilai</a></li>
                        <li class="time">2012-06-05 13:02</li>
                        <li class="visited_num"><i class="icon iconfont icon-yuedu"></i><span>1219</span></li>
                    </ul>
                </dd>
            </dl>
            
            <dl class="clearfix tracking-ad" data-mod="popu_387">
                <dd>
                    <h2><a href="/shenghuaday/article/details/51512914" target="_blank" strategy="BlogCommendFromCsdn">Java基础知识总结</a></h2>
                    <div class="summary">
                        Java基础知识总结







目录(?)[-]

Java基础知识总结一java概述二java语法基础三面向对象

类继 承面向对象特征之一接 口多 态异 常多线程集合框...
                    </div>
                    <ul>
                        <li class="avatar_img"><a href="/shenghuaday/article/details/51512914" target="_blank" strategy="BlogCommendFromCsdn"><img src="http://avatar.csdn.net/E/F/2/2_shenghuaday.jpg" alt="shenghuaDay" title="shenghuaDay"></a></li>
                        <li class="user_name"><a href="#nogo">shenghuaDay</a></li>
                        <li class="time">2016-05-27 10:00</li>
                        <li class="visited_num"><i class="icon iconfont icon-yuedu"></i><span>452</span></li>
                    </ul>
                </dd>
            </dl>
            
            <dl class="clearfix tracking-ad" data-mod="popu_387">
                <dd>
                    <h2><a href="http://run-wang.iteye.com/blog/1295401" target="_blank" strategy="BlogCommendFromCsdn">Java基础—异常处理总结</a></h2>
                    <div class="summary">
                        [size=medium][size=large]       Java基础—异常处理总结

  异常处理是程序设计中一个非常重要的方面,也是程序设计的一大难点,从C开始,你也许已经知道如何用if...else...来控制异常了,也许是自发的,然而这种控制异常痛苦,同一个异常或者错误如果多个地方出现,那么你每个地方都要做相同处理,感觉相当的麻烦!

  Java语言在设计的当初就考虑到这些问题,提出异常处理的框架的方案,所有的异常都可以用一个类型来表示,不同类型的异常对应不同的子类异常(这里的异常包括错误概念),定义异常处理的规范,在1.4版本以后增加了异常链机制,从而便于跟踪异常!这
                    </div>
                    <ul>
                        <li class="avatar_img"><a href="http://run-wang.iteye.com/blog/1295401" target="_blank" strategy="BlogCommendFromCsdn"><img src="http://static.blog.csdn.net/images/iteye.png" alt="run_wang" title="run_wang"></a></li>
                        <li class="user_name"><a href="#nogo">run_wang</a></li>
                        <li class="time">2011-12-07 11:52</li>
                        <li class="visited_num"><i class="icon iconfont icon-yuedu"></i><span>214</span></li>
                    </ul>
                </dd>
            </dl>
            
            <dl class="clearfix tracking-ad" data-mod="popu_387">
                <dd>
                    <h2><a href="/u012124438/article/details/76698331" target="_blank" strategy="BlogCommendFromCsdn">务实java基础之集合总结</a></h2>
                    <div class="summary">
                        Java 提供了容纳对象(或者对象的句柄)的多种方式。其中内建的类型是数组,此外, Java 的工具库提供了一些
“集合类”,利用这些集合类,我们可以容纳乃至操纵自己的对象。
声明:本篇博客内容参...
                    </div>
                    <ul>
                        <li class="avatar_img"><a href="/u012124438/article/details/76698331" target="_blank" strategy="BlogCommendFromCsdn"><img src="http://avatar.csdn.net/B/9/9/2_u012124438.jpg" alt="u012124438" title="u012124438"></a></li>
                        <li class="user_name"><a href="#nogo">u012124438</a></li>
                        <li class="time">5天前 11:31</li>
                        <li class="visited_num"><i class="icon iconfont icon-yuedu"></i><span>3302</span></li>
                    </ul>
                </dd>
            </dl>
            
            <dl class="clearfix tracking-ad" data-mod="popu_387">
                <dd>
                    <h2><a href="http://xitonga.iteye.com/blog/2052722" target="_blank" strategy="BlogCommendFromCsdn">Java基础知识总结</a></h2>
                    <div class="summary">
                        
Java基础知识总结
写代码:
1,明确需求。我要做什么?
2,分析思路。我要怎么做?1,2,3。
3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。
4,代码实现。用具体的java语言代码把思路体现出来。

学习新技术的四点:
1,该技术是什么?
2,该技术有
                    </div>
                    <ul>
                        <li class="avatar_img"><a href="http://xitonga.iteye.com/blog/2052722" target="_blank" strategy="BlogCommendFromCsdn"><img src="http://static.blog.csdn.net/images/iteye.png" alt="xitonga" title="xitonga"></a></li>
                        <li class="user_name"><a href="#nogo">xitonga</a></li>
                        <li class="time">2012-06-05 13:02</li>
                        <li class="visited_num"><i class="icon iconfont icon-yuedu"></i><span>63</span></li>
                    </ul>
                </dd>
            </dl>
            </div>
    </main>
    <aside>
        <div class="right_box user_info">
            <dl class="inf_bar clearfix tracking-ad">
                <dt data-mod="popu_381">
                    <a href="http://my.csdn.net/CHS007chs" target="_blank">
                        <img src="http://avatar.csdn.net/D/E/2/1_chs007chs.jpg" class="avatar_pic">
                    </a>
                    <span class="medals" title="博客专家">
                <svg class="icon" aria-hidden="true">
                    
                </svg>
              </span>
                </dt>
                <dd class="tracking-ad">
                    <h3><a href="http://my.csdn.net/CHS007chs" target="_blank" data-mod="popu_380">崔世勋CSDN博客</a></h3>
                    <a class="btn btn-redborder-small" data-mod="popu_379" id="span_add_follow" target="_self">+关注</a>
                </dd>
            </dl>
            <div class="inf_number_box clearfix">
                <dl>
                    <dt>原创</dt>
                    <dd>205</dd>
                </dl>
                <dl>
                    <dt>粉丝</dt>
                    <dd>11</dd>
                </dl>
                <dl>
                    <dt>喜欢</dt>
                    <dd>0</dd>
                </dl>
            </div>
            <ul class="inf_list clearfix tracking-ad" data-mod="popu_382">
                
                <li class="clearfix">
                    <span><i class="icon iconfont icon-youjiantou"></i></span>
                    <a href="/chs007chs/article/details/77084686" target="_blank">dubbox rest调用过程分析</a>
                </li>
                
                <li class="clearfix">
                    <span><i class="icon iconfont icon-youjiantou"></i></span>
                    <a href="/chs007chs/article/details/77062084" target="_blank">dubbo Proxy类</a>
                </li>
                
                <li class="clearfix">
                    <span><i class="icon iconfont icon-youjiantou"></i></span>
                    <a href="/chs007chs/article/details/76886302" target="_blank">DUBBO配置方式</a>
                </li>
                
                <li class="clearfix">
                    <span><i class="icon iconfont icon-youjiantou"></i></span>
                    <a href="/chs007chs/article/details/76849269" target="_blank">dubbo 人工管理服务提供者的上线和下线</a>
                </li>
                
            </ul>
            <div class="public_signal clearfix tracking-ad" data-mod="popu_383">
                <!--<a href="#" target="_blank" class="left"><i></i><span>作者公众号</span></a>-->
                <a href="http://my.csdn.net/CHS007chs" target="_blank" class="more"><span>更多文章</span></a>
            </div>
        </div>
        <div class="extension_other tracking-ad" data-mod="popu_389">
            <script type="text/javascript">
                /*PC端-博客内容页-右侧视窗1(新皮肤)-2017/7/11*/
                var cpro_id = "u3032528";
            </script>
            <script type="text/javascript" src="http://cpro.baidustatic.com/cpro/ui/c.js"></script><div id="BAIDU_SSP__wrapper_u3032528_0"><iframe id="iframeu3032528_0" name="iframeu3032528_0" src="http://pos.baidu.com/fcrm?rdid=3032528&amp;dc=3&amp;di=u3032528&amp;dri=0&amp;dis=0&amp;dai=1&amp;ps=512x804&amp;dcb=___adblockplus&amp;dtm=HTML_POST&amp;dvi=0.0&amp;dci=-1&amp;dpt=none&amp;tsr=0&amp;tpr=1502507786157&amp;ti=Java%E5%9F%BA%E7%A1%80%E6%80%BB%E7%BB%93%20-%20CSDN%E5%8D%9A%E5%AE%A2&amp;ari=2&amp;dbv=0&amp;drs=1&amp;pcs=1185x864&amp;pss=1185x18800&amp;cfv=22&amp;cpl=1&amp;chi=1&amp;cce=true&amp;cec=UTF-8&amp;tlm=1502507786&amp;rw=864&amp;ltu=http%3A%2F%2Fblog.csdn.net%2Fchs007chs%2Farticle%2Fdetails%2F45950655&amp;ltr=http%3A%2F%2Fso.csdn.net%2Fso%2Fsearch%2Fs.do%3Fref%3Dtoolbar%26q%3DJava%25E5%259F%25BA%25E7%25A1%2580%26ref%3Dtoolbar%26q%3DJava%25E5%259F%25BA%25E7%25A1%2580&amp;ecd=1&amp;uc=1920x979&amp;pis=-1x-1&amp;sr=1920x1080&amp;tcn=1502507786&amp;qn=631f2045d462c83b&amp;tt=1502507786130.30.266.268" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" style="border:0;vertical-align:bottom;margin:0;width:300px;height:250px" allowtransparency="true" width="300" align="center,center" height="250" frameborder="0"></iframe></div>
        </div>
        
        <div class="right_box padb0 tracking-ad" data-mod="popu_391">
            <h3 class="tit"><span><em>在线课程</em></span></h3>
            <dl class="edu_li clearfix">
                
                <dd>
                    <a href="http://edu.csdn.net/huiyiCourse/series_detail/54?utm_source=blog7" target="_blank">
                        <img src="http://img.bss.csdn.net/201708102057303085.jpg" alt="【直播】机器学习&amp;数据挖掘7周实训--韦玮" title="【直播】机器学习&amp;数据挖掘7周实训--韦玮">
                    </a>
                </dd>
                <dt><a href="http://edu.csdn.net/huiyiCourse/series_detail/54?utm_source=blog7" target="_blank">【直播】机器学习&amp;数据挖掘7周实训--韦玮</a></dt>
                
                <dd>
                    <a href="http://edu.csdn.net/combo/detail/471?utm_source=blog7" target="_blank">
                        <img src="http://img.bss.csdn.net/201708102054176920.jpg" alt="【套餐】系统集成项目管理工程师顺利通关--徐朋" title="【套餐】系统集成项目管理工程师顺利通关--徐朋">
                    </a>
                </dd>
                <dt><a href="http://edu.csdn.net/combo/detail/471?utm_source=blog7" target="_blank">【套餐】系统集成项目管理工程师顺利通关--徐朋</a></dt>
                
            </dl>
        </div>
        <div class="extension_other tracking-ad bottom_baidubox " data-mod="popu_395" style="position: fixed; top: 0px; left: 804.5px; z-index: 99999;">
            <script type="text/javascript">
                /*PC端-博客内容页-右侧视窗2(新皮肤)-2017/7/11*/
                var cpro_id = "u3032529";
            </script>
            <script type="text/javascript" src="http://cpro.baidustatic.com/cpro/ui/c.js"></script><div id="BAIDU_SSP__wrapper_u3032529_0"><iframe id="iframeu3032529_0" name="iframeu3032529_0" src="http://pos.baidu.com/fcrm?rdid=3032529&amp;dc=3&amp;di=u3032529&amp;dri=0&amp;dis=0&amp;dai=2&amp;ps=1097x804&amp;dcb=___adblockplus&amp;dtm=HTML_POST&amp;dvi=0.0&amp;dci=-1&amp;dpt=none&amp;tsr=0&amp;tpr=1502507786157&amp;ti=Java%E5%9F%BA%E7%A1%80%E6%80%BB%E7%BB%93%20-%20CSDN%E5%8D%9A%E5%AE%A2&amp;ari=2&amp;dbv=0&amp;drs=1&amp;pcs=1185x864&amp;pss=1185x18800&amp;cfv=22&amp;cpl=1&amp;chi=1&amp;cce=true&amp;cec=UTF-8&amp;tlm=1502507786&amp;rw=864&amp;ltu=http%3A%2F%2Fblog.csdn.net%2Fchs007chs%2Farticle%2Fdetails%2F45950655&amp;ltr=http%3A%2F%2Fso.csdn.net%2Fso%2Fsearch%2Fs.do%3Fref%3Dtoolbar%26q%3DJava%25E5%259F%25BA%25E7%25A1%2580%26ref%3Dtoolbar%26q%3DJava%25E5%259F%25BA%25E7%25A1%2580&amp;ecd=1&amp;uc=1920x979&amp;pis=-1x-1&amp;sr=1920x1080&amp;tcn=1502507786&amp;qn=f3b5306721dbb5c8&amp;tt=1502507786130.100.400.401" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" style="border:0;vertical-align:bottom;margin:0;width:300px;height:250px" allowtransparency="true" width="300" align="center,center" height="250" frameborder="0"></iframe></div>
        </div>
    </aside>
</div>

<div class="left_fixed" style="left: 2.5px;">
    <ul class="left_menu">
        <li id="blog_artical_directory">
            <button class="left-fixed-btn left_menu_btn tracking-ad" data-mod="popu_372" target="_self">
                <span class="iconbox border_black"><i class="icon iconfont icon-mulu"></i></span>
                <span class="txt">目录</span>
            </button>
        </li>
        <li class="menu_con" style="overflow: hidden; height: 0px;">
            <div class="list_father">
                <div class="arr_box">
                    <button class="btn-noborder arr-btn scroll-down  left_scroll_down"><i class="icon iconfont icon-xiajiantou"></i></button>
                    <button class="btn-noborder arr-btn scroll-up left_scroll_top"><i class="icon iconfont icon-shangjiantou"></i></button>
                </div>
                <div class="arr"></div>
                <div id="csdnBlogDir"></div>
            </div>
        </li>
        <li>
            <button class="left-fixed-btn btn-like tracking-ad liked" data-mod="popu_373" target="_self">
                <span class="iconbox border_red"><i class="icon iconfont icon-xihuan-"></i></span>
                <span class="txt">喜欢</span>
                <span class="untxt">取消喜欢</span>
            </button>
        </li>
        <li>
            <button class="left-fixed-btn tracking-ad" data-mod="popu_374" id="com-quick-collect" target="_self">
                <span class="iconbox border_purple"><i class="icon iconfont icon-shoucang"></i></span>
                <a class="txt" title="收藏" target="_blank">收藏</a>
            </button>
        </li>
        <li id="share_box">
            <button class="left-fixed-btn  tracking-ad" data-mod="popu_375" target="_self">
                <span class="iconbox border_orange"><i class="icon iconfont icon-fenxiang"></i></span>
                <span class="txt">分享</span>
            </button>
            <div class="bdsharebuttonbox tracking-ad bdshare-button-style0-16" data-mod="popu_172" data-bd-bind="1502507786512">
                <div class="outside">
                    <span class="iconbox border_red2"><i class="icon iconfont icon-xinlang"></i></span>
                    <span class="text">微博</span>
                    <a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博" target="_blank"> </a>
                </div>
                <div class="outside">
                    <span class="iconbox border_green"><i class="icon iconfont icon-pinglun"></i></span>
                    <span class="text">微信</span>
                    <a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信" target="_blank"> </a>
                </div>
                <div class="outside">
                    <span class="iconbox border_blue"><i class="icon iconfont icon-QQ"></i></span>
                    <span class="text">QQ</span>
                    <a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间" target="_blank"> </a>
                </div>
            </div>
        </li>
    </ul>
</div>
<div id="pop_win"></div>
<div id="popup_mask"></div>
<div class="pop_CA_cover"></div>
<div class="pop pop_CA">
    <div class="CA_header">
        收藏助手
        <span class="cancel_icon" id="fapancle"></span>
    </div>
    <iframe src="" id="collectIframe" scrolling="no" width="100%" height="360" frameborder="0"></iframe>
</div>
<!--举报-->
<div id="report_dialog" style="top: 250px; left: 343.5px;"><div id="panel_report">
    <div class="panel_head">不良信息举报</div>
    <form method="post" id="frmReport" class="panel_body">
        <table class="pop_table" cellspacing="4" cellpadding="0" border="0">
            <tbody><tr><td colspan="2">您举报文章:<a href="http://blog.csdn.net/raintungli/article/details/76583070" target="_blank">深度学习:神经网络中的前向传播和反向传播算法推导</a></td></tr>
            <tr>
                <th style="width:60px;">举报原因:</th>
                <td id="panel_reporttype">
                    <label><input class="report_type" id="report_sex" name="report_type" value="1" type="radio">色情</label>
                    <label><input class="report_type" id="report_Politics" name="report_type" value="2" type="radio">政治</label>
                    <label><input class="report_type" id="report_copy" name="report_type" value="3" type="radio">抄袭</label>
                    <label><input class="report_type" id="report_ad" name="report_type" value="4" type="radio">广告</label>
                    <label><input class="report_type" id="report_want" name="report_type" value="5" type="radio">招聘</label>
                    <label><input class="report_type" id="report_call" name="report_type" value="6" type="radio">骂人</label>
                    <br>
                    <label><input class="report_type" id="report_other" name="report_type" value="7" type="radio">其他</label>
                    <input name="report_other_content" id="report_other_content" maxlength="30" style="display: none;" type="text">
                </td>
            </tr>
            <tr id="panel_originalurl" style="display: none;">
                <th>原文地址:</th>
                <td>
                    <input id="originalurl" value="http://" name="originalurl" style="width: 90%;" type="text">
                </td>
            </tr>
            <tr>
                <th id="sp_reason">原因补充:</th>
                <td>
                    <textarea id="report_description" style="width: 300px;" rows="3" name="report_description"></textarea>
                    <p id="sp_n" style="color:#999;margin:0px;padding:0px;">(最多只允许输入30个字)</p>
                </td>
            </tr>
            <tr>
                <td></td>
                <td>
                    <input id="btnSubmitReport" name="submit" class="btn_1" src="http://static.blog.csdn.net/images/btn_submit.jpg" type="image" align="middle">
                    <span style="padding-left:20px;"></span>
                    <img id="btnCloseReportDialog" src="http://static.blog.csdn.net/images/btn_cancel.jpg" align="middle">
                    <div id="error" style="color: Red">
                    </div>
                </td>
            </tr>
            </tbody></table>
    </form>
</div>
    <script language="javascript" type="text/javascript">
        var isComment=0;
        //显示隐藏地址
        $(function () {
            if(isComment){
                $("#report_description").attr("disabled",true);
                $("#sp_n").hide();
                $("#sp_reason").html("评论内容:");
            }
            $(".report_type").click(function () {
                $("#panel_originalurl,#report_other_content").hide();
                switch ($(this).val()) {
                    case '3':
                        $("#panel_originalurl").show();
                        $("#originalurl").focus();
                        break;
                    case '7':
                        if(isComment){
                            $("#report_other_content").show().focus();
                        }
                        break;
                }

            });

            $("#frmReport").submit(function () {
                if (!currentUserName) {

                    if (confirm("您的操作必须登录,是否登录?")) {
                        location.href = "http://passport.csdn.net/account/login?from=" + encodeURIComponent(location.href);
                        return false;
                    }
                    return false;
                }

                var reportType = $("input[name=report_type]:checked").val();
                if(!reportType){
                    alert("请选择举报原因!");
                    return false;
                }
                var otherInfo = "";
                switch (reportType) {
                    case '3':
                        otherInfo = $("#originalurl").val();
                        if (otherInfo == ""||otherInfo=="http://") {
                            alert("举报抄袭必须提供原创文章地址!");
                            $("#originalurl").focus();
                            return false;
                        } else if(!checkeURL(otherInfo)) {
                            alert("请输入正确的原创文章地址!");
                            $("#originalurl").focus();
                            return false;
                        }
                        break;
                    case '7':
                        otherInfo = $("#report_other_content").val();
                        if (isComment && !otherInfo) {
                            alert("请填写举报的具体原因!");
                            $("#report_other_content").focus();
                            return false;
                        }
                        if(!isComment){
                            if(!$("#report_description").val()){
                                alert("请填写举报的具体原因!");
                                $("#report_description").focus();
                                return false;
                            }
                        }
                        break;
                }
                if(!isComment){
                    if($("#report_description").val().length>30){
                        alert("举报原因最多只允许输入30个字!");
                        return false;
                    }
                }

                var data = {
                    articleId: 76583070,
                    commentId: 0,
                    reportType: reportType,
                    originalurl: $("#originalurl").val(),
                    report_other_content: $("#report_other_content").val(),
                    report_description: $("#report_description").val(),
                    currentUserName: currentUserName,
                    updatetime: "2017/8/8 16:54:12",
                    blogUser: "raintungli"
                };
                if(!isComment){//如果是举报文章
                    data.report_other_content = data.report_description;
                    data.report_description = "1. 神经网络这是一个常见的神经网络的图:这是一个常见的三层神经网络的基本构成,Layer L1是输入层,Layer L2是隐含层";
                }

                $.post(blog_address + "/common/report?id=76583070&t=2", data, function (data) {
                    if (data.result == 1){
                        SetError("感谢您的举报,我们会尽快审核!");
                    }else{
                        if (data.content) alert(data.content);
                    }

                });
                return false;
            });

            $("#btnCloseReportDialog").click(function () {
                CloseDiv();
            });

        });

        //提示后关闭方法
        function SetError(error) {
            $("#btnCloseReportDialog").trigger("click");
            alert(error);
            CloseDiv();
        }

        //关闭方法
        function CloseDiv() {

            $.removeMask();
            $("#report_dialog").hide().html("");
            return false;
        }

        //验证url
        function checkeURL(url){
            return /^http(s)?:\/\/([\w-]+\.)+[\w-]+/i.test(url);
        }
    </script>
</div>

<script src="http://c.csdnimg.cn/public/common/libs/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
<script type="text/javascript" src="http://passport.csdn.net/content/loginbox/login.js"></script>

<script type="text/javascript" src="http://static.blog.csdn.net/Skin/skin3-template/js/blog_ver.js"></script>
<script type="text/javascript" src="http://static.blog.csdn.net/Skin/skin3-template/js/skin2017.js"></script>
<script type="text/javascript" src="http://static.blog.csdn.net/scripts/cnick.js"></script>
<script>window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "1", "bdMiniList": false, "bdPic": "", "bdStyle": "0", "bdSize": "16" }, "share": {} }; with (document) 0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' + ~(-new Date() / 36e5)];</script>




<script type="text/javascript">
    var fromjs=$("#fromjs");
    if(fromjs.length>0)
    {                  
        $("#fromjs .markdown_views pre").addClass("prettyprint");       
        prettyPrint();

        $('pre.prettyprint code').each(function () {
            var lines = $(this).text().split('\n').length;
            var $numbering = $('<ul/>').addClass('pre-numbering').hide();
            $(this).addClass('has-numbering').parent().append($numbering);
            for (i = 1; i <= lines; i++) {
                $numbering.append($('<li/>').text(i));
            };
            $numbering.fadeIn(1700);
        });

        $('.pre-numbering li').css("color","#999");             
    }

    $(function(){
        setTimeout(function(){
            $(".math").each(function(index,value){$(this).find("span").last().css("color","#fff"); })
        },500);         
       

    });

</script>

<div style="position:fixed; top:0; left:0; overflow:hidden;"><input style="position:absolute; left:-300px;" value="" id="focus_retriever" readonly="true" type="text"></div>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值