-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path0e67f7ad.927a63b0.js
1 lines (1 loc) · 37.8 KB
/
0e67f7ad.927a63b0.js
1
(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{61:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return n})),a.d(t,"metadata",(function(){return i})),a.d(t,"rightToc",(function(){return r})),a.d(t,"default",(function(){return o}));var b=a(2),c=a(6),l=(a(0),a(130)),n={title:"IT\u8f6f\u4ef6\u77e5\u8bc6-\u6280\u80fd\u56fe\u8c31",description:"Linux \u57fa\u7840\u6280\u80fd",author:"comsince",author_title:"FshareIM Team",author_url:"https://comsince.cn",author_image_url:"https://media.comsince.cn/minio-bucket-portrait-name/fsharechat.png"},i={permalink:"/blog/2017/12/31/tech-overview",source:"@site/blog/2017-12-31-tech-overview.md",description:"Linux \u57fa\u7840\u6280\u80fd",date:"2017-12-31T00:00:00.000Z",tags:[],title:"IT\u8f6f\u4ef6\u77e5\u8bc6-\u6280\u80fd\u56fe\u8c31",readingTime:3.015,truncated:!0,prevItem:{title:"996\u7684\u601d\u8003",permalink:"/blog/2019/12/19/996"}},r=[{value:"Linux \u57fa\u7840",id:"linux-\u57fa\u7840",children:[]},{value:"linux C \u7f16\u7a0b\u57fa\u7840",id:"linux-c-\u7f16\u7a0b\u57fa\u7840",children:[]},{value:"C/C++ \u57fa\u7840",id:"cc-\u57fa\u7840",children:[{value:"\u6307\u9488",id:"\u6307\u9488",children:[]},{value:"\u5b8f\u5b9a\u4e49",id:"\u5b8f\u5b9a\u4e49",children:[]},{value:"Makefile",id:"makefile",children:[]},{value:"CMake",id:"cmake",children:[]}]},{value:"Shell",id:"shell",children:[]},{value:"Android NDK",id:"android-ndk",children:[{value:"NDK Build Problem",id:"ndk-build-problem",children:[]}]},{value:"\u53c2\u8003\u8d44\u6599",id:"\u53c2\u8003\u8d44\u6599",children:[{value:"\u96c6\u6210\u5f00\u53d1\u5de5\u5177",id:"\u96c6\u6210\u5f00\u53d1\u5de5\u5177",children:[]},{value:"C/C++ Library",id:"cc-library",children:[]}]},{value:"SQL",id:"sql",children:[]},{value:"Java \u9ad8\u7ea7\u4e3b\u9898",id:"java-\u9ad8\u7ea7\u4e3b\u9898",children:[{value:"Java \u65e5\u5fd7\u6846\u67b6",id:"java-\u65e5\u5fd7\u6846\u67b6",children:[]},{value:"Java I/O",id:"java-io",children:[]},{value:"Java Networking",id:"java-networking",children:[]},{value:"Java Connurency",id:"java-connurency",children:[]},{value:"Java Reflection",id:"java-reflection",children:[]},{value:"Java web",id:"java-web",children:[]},{value:"Spring boot",id:"spring-boot",children:[]},{value:"\u8bbe\u8ba1\u6a21\u5f0f",id:"\u8bbe\u8ba1\u6a21\u5f0f",children:[]}]},{value:"\u5fae\u670d\u52a1\u67b6\u6784\u7cfb\u5217\u6587\u7ae0",id:"\u5fae\u670d\u52a1\u67b6\u6784\u7cfb\u5217\u6587\u7ae0",children:[]},{value:"\u57fa\u7840\u7ec4\u4ef6",id:"\u57fa\u7840\u7ec4\u4ef6",children:[{value:"\u6d88\u606f\u961f\u5217",id:"\u6d88\u606f\u961f\u5217",children:[]},{value:"\u5206\u5e03\u5f0f\u6570\u636e\u5e93",id:"\u5206\u5e03\u5f0f\u6570\u636e\u5e93",children:[]},{value:"\u5206\u5e03\u5f0fRPC\u6846\u67b6",id:"\u5206\u5e03\u5f0frpc\u6846\u67b6",children:[]},{value:"Hystrix",id:"hystrix",children:[]},{value:"\u8d1f\u8f7d\u5747\u8861",id:"\u8d1f\u8f7d\u5747\u8861",children:[]},{value:"\u914d\u7f6e\u4e2d\u5fc3",id:"\u914d\u7f6e\u4e2d\u5fc3",children:[]},{value:"\u5bb9\u5668",id:"\u5bb9\u5668",children:[]},{value:"\u8c03\u7528\u94fe",id:"\u8c03\u7528\u94fe",children:[]},{value:"\u5fae\u670d\u52a1\u5b9e\u6218",id:"\u5fae\u670d\u52a1\u5b9e\u6218",children:[]},{value:"\u4e66\u7c4d",id:"\u4e66\u7c4d",children:[]}]},{value:"\u5927\u6570\u636e",id:"\u5927\u6570\u636e",children:[{value:"Hadoop",id:"hadoop",children:[]},{value:"Python",id:"python",children:[]}]},{value:"\u6280\u672f\u535a\u5ba2",id:"\u6280\u672f\u535a\u5ba2",children:[]},{value:"\u641c\u7d22\u6280\u672f",id:"\u641c\u7d22\u6280\u672f",children:[{value:"ElasticSearch",id:"elasticsearch",children:[]},{value:"Solr",id:"solr",children:[]}]},{value:"\u673a\u5668\u5b66\u4e60",id:"\u673a\u5668\u5b66\u4e60",children:[{value:"\u6e90\u7801\u89e3\u6790",id:"\u6e90\u7801\u89e3\u6790",children:[]}]}],p={rightToc:r};function o(e){var t=e.components,a=Object(c.a)(e,["components"]);return Object(l.b)("wrapper",Object(b.a)({},p,a,{components:t,mdxType:"MDXLayout"}),Object(l.b)("img",{alt:"fendou",className:"banner",src:"https://media.comsince.cn/minio-bucket-file-name/it.jpeg"}),Object(l.b)("p",null,"\u4e3b\u8981\u8bf4\u660e\u4e0d\u65ad\u66f4\u65b0\u7684\u8f6f\u4ef6\u6280\u672f\u6307\u5f15\u672a\u6765\u53d1\u5c55\u65b9\u5411\uff0c\u6b64\u6587\u6301\u7eed\u66f4\u65b0\u3002\u5bf9\u4e8e\u6280\u672f\u7684\u5171\u6027\u7ed9\u51fa\u5fc5\u8981\u7684\u539f\u7406\u89e3\u91ca\u3002\nlinux\u7684\u57fa\u672c\u6280\u80fd\uff0c\u4e3b\u8981\u8bf4\u660elinux\u73af\u5883\u4e0bc\u7f16\u7a0b\uff0cshell\uff1b\u7740\u91cd\u4e8e\u57fa\u7840\u6982\u5ff5\uff0c\u5e76\u4e0d\u662f\u4f5c\u4e3a\u8fdb\u9636\u7684\u5de5\u5177\uff0c\u4e3b\u8981\u8d77\u5230\u4e00\u4e2a\u629b\u7816\u629b\u7816\u5f15\u7389\u7684\u4f5c\u7528\uff0c\u80fd\u591f\u901a\u8fc7\u5bf9\u8fd9\u4e9b\u57fa\u672c\u7684\u6280\u80fd\u7684\u5b66\u4e60\u521d\u6b65\u638c\u63e1\u89e3\u51b3\u95ee\u9898\u7684\u57fa\u672c\u6280\u80fd\u3002\u6b64\u6587\u7ae0\u5e76\u4e0d\u6df1\u5165\u8ba8\u8bba\u5404\u4e2a\u6280\u672f\u70b9\u7684\u7ec6\u8282\uff0c\u53ea\u662f\u603b\u7ed3\u51fa\u6280\u80fd\u4e4b\u95f4\u7684\u4f9d\u8d56\u5173\u7cfb\uff0c\u5f52\u7eb3\u51fa\u4e00\u822c\u7684\u5b66\u4e60\u6b65\u9aa4\uff0c\u5e0c\u671b\u5bf9\u81ea\u5df1\u7684\u601d\u8def\u6709\u4e00\u4e2a\u6e05\u6670\u7684\u8ba4\u8bc6\u3002"),Object(l.b)("h2",{id:"linux-\u57fa\u7840"},"Linux \u57fa\u7840"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.comsince.cn/static/download/linux-introduction.pdf"}),"\u9e1f\u54e5\u7684\u79c1\u623f\u83dcPDF"))),Object(l.b)("h2",{id:"linux-c-\u7f16\u7a0b\u57fa\u7840"},"linux C \u7f16\u7a0b\u57fa\u7840"),Object(l.b)("p",null," c \u8bed\u8a00\u7f16\u7a0b\u7684\u57fa\u672c\u8bed\u6cd5\u8fd9\u91cc\u4e0d\u518d\u8d58\u8ff0\uff0c\u57fa\u672c\u5927\u540c\u5c0f\u5f02\uff0c\u8fd9\u91cc\u4e3b\u8981\u7814\u7a76\uff0c\u5728\u5de5\u7a0b\u7684\u6761\u4ef6\u4e0b\uff0c\u5982\u679c\u5feb\u901f\u7684\u7f16\u8bd1c\u4ee3\u7801\uff0c\u50cf\u4e00\u4e9b\u9762\u5411\u5bf9\u8c61\u7684\u7f16\u7a0b\u8bed\u8a00\u90fd\u6709\u63d0\u4f9b\u76f8\u5e94\u7684\u5de5\u5177\u5165maven\uff0cgradle\uff1bc\u4e5f\u6709\u81ea\u5df1\u72ec\u7279\u7684\u65b9\u5f0f\u3002"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://akaedu.github.io/book/index.html"}),"Linux C\u7f16\u7a0b\u4e00\u7ad9\u5f0f\u5b66\u4e60")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://github.com/aleksandar-todorovic/awesome-c"}),"Awesome-C"))),Object(l.b)("h2",{id:"cc-\u57fa\u7840"},"C/C++ \u57fa\u7840"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.tutorialspoint.com/cprogramming/index.htm"}),"Learn c")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.tutorialspoint.com/cplusplus/index.htm"}),"Learn c++"))),Object(l.b)("h3",{id:"\u6307\u9488"},"\u6307\u9488"),Object(l.b)("p",null,"\u5bf9\u661f\u53f7",Object(l.b)("inlineCode",{parentName:"p"},"*"),"\u7684\u603b\u7ed3\n\u5728\u6211\u4eec\u76ee\u524d\u6240\u5b66\u5230\u7684\u8bed\u6cd5\u4e2d\uff0c\u661f\u53f7*\u4e3b\u8981\u6709\u4e09\u79cd\u7528\u9014\uff1a"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("p",{parentName:"li"},"\u8868\u793a\u4e58\u6cd5\uff0c\u4f8b\u5982",Object(l.b)("inlineCode",{parentName:"p"},"int a = 3, b = 5, c; c = a * b;"),"123456\n\uff0c\u8fd9\u662f\u6700\u5bb9\u6613\u7406\u89e3\u7684\u3002")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("p",{parentName:"li"},"\u8868\u793a\u5b9a\u4e49\u4e00\u4e2a\u6307\u9488\u53d8\u91cf\uff0c\u4ee5\u548c\u666e\u901a\u53d8\u91cf\u533a\u5206\u5f00\uff0c\u4f8b\u5982",Object(l.b)("inlineCode",{parentName:"p"},"int a = 100; int *p = &a;"),"\u3002")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("p",{parentName:"li"},"\u8868\u793a\u83b7\u53d6\u6307\u9488\u6307\u5411\u7684\u6570\u636e\uff0c\u662f\u4e00\u79cd\u95f4\u63a5\u64cd\u4f5c\uff0c\u4f8b\u5982",Object(l.b)("inlineCode",{parentName:"p"},"int a, b, *p = &a; *p = 100; b = *p;"),"\u3002")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("p",{parentName:"li"},"\u53c2\u8003\uff1a"),Object(l.b)("ul",{parentName:"li"},Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://c.biancheng.net/cpp/html/72.html"}),"\u5927\u8bddC \u8bed\u8a00\u6307\u9488")))),Object(l.b)("li",{parentName:"ul"},Object(l.b)("p",{parentName:"li"},Object(l.b)("a",Object(b.a)({parentName:"p"},{href:"https://stackoverflow.com/questions/15576291/char-const-args-defintion"}),"char* const args[] defintion [duplicate]")))),Object(l.b)("p",null,"\u4ee5\u4e0b\u8bf4\u660ec\u7f16\u8bd1\u7684\u76f8\u5173\u77e5\u8bc6\n\u7531\u4e8ec\u6ca1\u6709import\u81ea\u52a8\u5173\u8054\u7f16\u8bd1\u7684\uff0c\u9700\u8981",Object(l.b)("a",Object(b.a)({parentName:"p"},{href:"https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html"}),"Header File"),"\u8fdb\u884c\u7c7b\u578b\u58f0\u660e\uff0c\u63a5\u53e3\u66b4\u9732"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://gcc.gnu.org/onlinedocs/cpp/index.html#Top"}),"The C Preprocessor"))),Object(l.b)("h3",{id:"\u5b8f\u5b9a\u4e49"},"\u5b8f\u5b9a\u4e49"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://gcc.gnu.org/onlinedocs/cpp/Macros.html#Macros"}),"GCC-Macros")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html"}),"GCC-HEADER-FILES"))),Object(l.b)("h3",{id:"makefile"},"Makefile"),Object(l.b)("p",null,"C\u6ca1\u6709\u50cfgradle\u548cmaven\u7684\u7f16\u8bd1\u5de5\u5177\uff0c\u9700\u8981\u4f7f\u7528makefile\u6765\u7ec4\u7ec7\u7f16\u8bd1\uff0c\u4e0d\u8fc7\u4ee5\u540e\u53ef\u4ee5\u4f7f\u7528CMake"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.gnu.org/software/make/manual/make.html"}),"GNU make")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.comsince.cn/static/download/gun_make.pdf"}),"GNU Make \u8bd1\u6587")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://wiki.ubuntu.org.cn/%E8%B7%9F%E6%88%91%E4%B8%80%E8%B5%B7%E5%86%99Makefile"}),"\u8ddf\u6211\u4e00\u8d77\u5199Makefile"))),Object(l.b)("h3",{id:"cmake"},"CMake"),Object(l.b)("p",null,"\u63d0\u4f9b\u8de8\u5e73\u53f0\u7684\u7f16\u8bd1\u5de5\u5177\uff0cmakefile\u81ea\u52a8\u751f\u6210\uff0c\u53ea\u9700\u7528cmake\u914d\u7f6e\u89c4\u5219"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://www.hahack.com/codes/cmake/"}),"CMake \u5165\u95e8\u5b9e\u6218"))),Object(l.b)("h2",{id:"shell"},"Shell"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://man7.org/linux/man-pages/"}),"Linux online manpage")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://wiki.ubuntu.org.cn/Shell%E7%BC%96%E7%A8%8B%E5%9F%BA%E7%A1%80"}),"Shell\u7f16\u7a0b\u57fa\u7840"))),Object(l.b)("p",null,"\u4e4b\u524d\u6211\u5728ubuntu\u4e0a\u8dd1\u4ee3\u7801\u65f6\uff0c\u5f53\u8fd0\u884c\u4e00\u4e2ashell\u811a\u672c\u7684\u65f6\u5019,\u51fa\u73b0\u4e86\u5982\u4e0b\u9519\u8bef\n../runcmake: \u884c 2: $'\\r': \u672a\u627e\u5230\u547d\u4ee4\n../runcmake: \u884c 3: \u672a\u9884\u671f\u7684\u7b26\u53f7 `$'{\\r'' \u9644\u8fd1\u6709\u8bed\u6cd5\u9519\u8bef"),Object(l.b)("p",null,"\u8003\u8651\u5230\u4ee3\u7801\u662f\u4ecewindows\u4e0b\u4e00\u76f4\u8fc7\u6765\u7684\uff0c\u811a\u672c\u53ef\u80fd\u5728\u683c\u5f0f\u4e0a\u5b58\u5728\u95ee\u9898"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},"\u89e3\u51b3\u65b9\u6848\uff1a")),Object(l.b)("pre",null,Object(l.b)("code",Object(b.a)({parentName:"pre"},{})," sudo apt-get install dos2unix\n\n dos2unix **.sh\n")),Object(l.b)("h2",{id:"android-ndk"},"Android NDK"),Object(l.b)("h3",{id:"ndk-build-problem"},"NDK Build Problem"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},"\u95ee\u9898")),Object(l.b)("pre",null,Object(l.b)("code",Object(b.a)({parentName:"pre"},{}),"Android NDK: Your APP_BUILD_SCRIPT points to an unknown file:\n")),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},"\u89e3\u51b3\u529e\u6cd5")),Object(l.b)("p",null,"\u5982\u679c\u662f\u4e00\u4e2aandroid\u5de5\u7a0b\u7684\u8bdd\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a"),Object(l.b)("pre",null,Object(l.b)("code",Object(b.a)({parentName:"pre"},{}),"ndk-build NDK_PROJECT_PATH=./main/cpp NDK_LOG=1\n")),Object(l.b)("p",null,"\u5982\u679c\u8bbe\u7f6eNDK\u5de5\u7a0b\u76ee\u5f55\uff0cndk\u9ed8\u8ba4\u4f1a\u4ece\u8be5\u76ee\u5f55\u8d77\u5bfb\u627e\u8be5\u76ee\u5f55\u4e0bjni\u76ee\u5f55\uff0c\u5982\u679c\u6ca1\u6709\u627e\u5230\u5c31\u62a5\u5982\u4e0b\u9519\u8bef\uff1a"),Object(l.b)("pre",null,Object(l.b)("code",Object(b.a)({parentName:"pre"},{}),"Your APP_BUILD_SCRIPT points to an unknown file: ./main/cpp/jni/Android.mk \n")),Object(l.b)("p",null,"\u8fd9\u662f\u4f60\u53ef\u4ee5\u6307\u5b9aandroid.mk\u7684\u8def\u5f84,\u5982\u4e0b",Object(l.b)("inlineCode",{parentName:"p"},"APP_BUILD_SCRIPT=./main/cpp/Android.mk")),Object(l.b)("h2",{id:"\u53c2\u8003\u8d44\u6599"},"\u53c2\u8003\u8d44\u6599"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://www.geeksforgeeks.org/interesting-facts-preprocessors-c/"}),"\u5b8f\u7684\u57fa\u672c\u6982\u5ff5"))),Object(l.b)("h3",{id:"\u96c6\u6210\u5f00\u53d1\u5de5\u5177"},"\u96c6\u6210\u5f00\u53d1\u5de5\u5177"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.quora.com/What-is-the-best-C-C++-IDE"}),"What is the best C & C++ IDE?")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://www.sdbeta.com/mf/2017/0414/177253.html"}),"Clion License Server"),"\n\u5f39\u51fa\u6ce8\u518c\u7a97\u53e3\u9009\u62e9Activate\u300bLicense Server\u300b\u8f93\u5165",Object(l.b)("inlineCode",{parentName:"li"},"http://xidea.online"),"\uff0c\u7136\u540e\u70b9\u51fb",Object(l.b)("inlineCode",{parentName:"li"},"Activete"),"\u5b8c\u6210\u8ba4\u8bc1\u5373\u53ef")),Object(l.b)("h3",{id:"cc-library"},"C/C++ Library"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://github.com/fffaraz/awesome-cpp"}),"awesome-cpp")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://en.cppreference.com/w/cpp/links/libs"}),"A list of open source C++ libraries"))),Object(l.b)("h2",{id:"sql"},"SQL"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.w3schools.com/sql/default.asp"}),"W3CSQL"))),Object(l.b)("h2",{id:"java-\u9ad8\u7ea7\u4e3b\u9898"},"Java \u9ad8\u7ea7\u4e3b\u9898"),Object(l.b)("h3",{id:"java-\u65e5\u5fd7\u6846\u67b6"},"Java \u65e5\u5fd7\u6846\u67b6"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.cnblogs.com/chanshuyi/p/something_about_java_log_framework.html"}),"Java\u65e5\u5fd7\u6846\u67b6\u90a3\u4e9b\u4e8b\u513f")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://howtodoinjava.com/log4j/log4j-console-appender-example/"}),"Log4j ConsoleAppender Configuration Example"))),Object(l.b)("h3",{id:"java-io"},"Java I/O"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://ifeve.com/java-io/"}),"Java IO")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.comsince.cn/static/download/JavaIO.pdf"}),"java I/O\u4e66\u7c4d")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://tutorials.jenkov.com/java-nio/index.html"}),"Java NIO Tutorial")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://blog.csdn.net/nongfuyumin/article/details/78343999"}),"java nio\u89e3\u51b3\u534a\u5305 \u7c98\u5305\u95ee\u9898"))),Object(l.b)("h3",{id:"java-networking"},"Java Networking"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.kancloud.cn/kancloud/essential-netty-in-action"}),"Essential Netty in Action \u300aNetty \u5b9e\u6218(\u7cbe\u9ad3)\u300b")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html"}),"SSL/TLS\u534f\u8bae\u8fd0\u884c\u673a\u5236\u7684\u6982\u8ff0")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://docs.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html"}),"Java Secure Socket Extension (JSSE) Reference Guide"))),Object(l.b)("h3",{id:"java-connurency"},"Java Connurency"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.comsince.cn/static/download/Java-concurency-in-practice.pdf"}),"Java\u5e76\u53d1\u7f16\u7a0b\u5b9e\u6218")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://tutorials.jenkov.com/java-concurrency/thread-signaling.html"}),"\u901a\u4fd7\u89e3\u91cajava\u5e76\u53d1\u539f\u7406\u6559\u7a0b")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.comsince.cn/static/download/Java_concurrency_artifact.pdf"}),"Java \u5e76\u53d1\u7f16\u7a0b\u7684\u827a\u672f"))),Object(l.b)("h3",{id:"java-reflection"},"Java Reflection"),Object(l.b)("p",null,"Java \u52a8\u6001\u4ee3\u7406\u673a\u5236\u5b9e\u9645\u662f\u4ee3\u7406\u6a21\u5f0f\u7684\u5b9e\u73b0\uff0c\u5176\u5c40\u9650\u6027\u662f\u5176\u65e0\u6cd5\u4ee3\u7801class\u53ea\u80fd\u4ee3\u7406\u63a5\u53e3\uff0c\u56e0\u6b64\u5bf9\u4e8e\u9700\u8981\u7ee7\u627f\u7c7b\u4f46\u662f\u7236\u7c7b\u9700\u8981\u53cd\u5c04\uff0c\u5c31\u4f1a\u53d8\u5f97\u6781\u5176\u590d\u6742\nAOP\u6a21\u5f0f\u5b9e\u73b0\u5207\u9762\u7f16\u7a0b\u4e2d\uff0c\u5229\u7528\u804c\u8d23\u94fe\u6a21\u5f0f\uff0c\u5efa\u7acb\u4e00\u79cd\u62e6\u622a\u5668\u6a21\u5f0f\uff0c\u6bd4\u5982Servelet\u4e0efilter\u673a\u5236\uff0c\u5207\u9762\u7f16\u7a0b\u7684advice\u62e6\u622a\u8c03\u7528\u94fe"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.ibm.com/developerworks/cn/java/j-lo-proxy1/index.html"}),"Java \u52a8\u6001\u4ee3\u7406\u673a\u5236\u5206\u6790\u53ca\u6269\u5c55")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://yq.aliyun.com/articles/133181"}),"\u6df1\u5165\u7406\u89e3Java\uff1a\u7c7b\u52a0\u8f7d\u673a\u5236\u53ca\u53cd\u5c04"))),Object(l.b)("h3",{id:"java-web"},"Java web"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://zhanjindong.com/assets/pdf/Servlet3.1-Specification.pdf"}),"Servelet\u89c4\u8303")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.comsince.cn/static/download/Servlet3.1-Specification.pdf"}),"Servelet\u89c4\u8303-\u672c\u5730\u7248"))),Object(l.b)("h4",{id:"spring-\u6846\u67b6\u539f\u7406"},"Spring \u6846\u67b6\u539f\u7406"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.comsince.cn/static/download/spring-tech-invoke_anayisis.pdf"}),"\u6df1\u5165\u89e3\u6790Spring \u5185\u5e55")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://blog.csdn.net/caihaijiang/article/details/35552859"}),"Spring\u7684BeanFactoryPostProcessor\u548cBeanPostProcessor")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://howtodoinjava.com/spring-aop/spring-aop-aspectj-xml-configuration-example/"}),"Spring AOP aspect vs advisor \u4ee5\u53ca\u57fa\u4e8exml\u548cannotation\u7684\u4e24\u79cd\u914d\u7f6e")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://blog.csdn.net/u011983531/article/details/70504281"}),"aop:aspect\u4e0eaop:advisor\u7684\u533a\u522b")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://dapple.iteye.com/blog/696008"}),"\u804c\u8d23\u94fe\u6a21\u5f0f(Chain of responsibility)\u4ee5\u53caservlet\u4e2dfilter\u7684\u539f\u7406"))),Object(l.b)("h4",{id:"spring-\u4e3b\u8981\u6a21\u5757"},"Spring \u4e3b\u8981\u6a21\u5757"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#aop"}),"Spring-Aop")),Object(l.b)("li",{parentName:"ul"},"Spring-context"),Object(l.b)("li",{parentName:"ul"},"Spring-jdbc "),Object(l.b)("li",{parentName:"ul"},"Spring-tx \u652f\u6301\u6570\u636e\u5e93\u4e8b\u52a1"),Object(l.b)("li",{parentName:"ul"},"spring-session")),Object(l.b)("h3",{id:"spring-boot"},"Spring boot"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.jianshu.com/p/fc24de0c585d"}),"Spring Boot 2.0 \u6781\u7b80\u6559\u7a0b")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.jianshu.com/p/ef6214ad115a"}),"\u300aSpring Boot\u6781\u7b80\u6559\u7a0b\u300b\u7b2c1\u7ae0 Spring Boot\u53f2\u524d\u7b80\u8ff0")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.jianshu.com/p/4475f1d079b9"}),"\u300aSpring Boot\u6781\u7b80\u6559\u7a0b\u300b\u7b2c2\u7ae0 Spring Boot\u7b80\u53f2")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.jianshu.com/p/346cac67bfcc"}),"\u7b2c5\u7ae0 Spring Boot\u81ea\u52a8\u914d\u7f6e\u539f\u7406"))),Object(l.b)("h4",{id:"\u5206\u5e03\u5f0fsession"},"\u5206\u5e03\u5f0fsession"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.infoq.cn/article/Next-Generation-Session-Management-with-Spring-Session"}),"\u901a\u8fc7 Spring Session \u5b9e\u73b0\u65b0\u4e00\u4ee3\u7684 Session \u7ba1\u7406")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://juejin.im/post/58957c3b61ff4b006b066b1c"}),"Spring Session+Spring Data Redis \u89e3\u51b3\u5206\u5e03\u5f0f\u7cfb\u7edf\u67b6\u6784\u4e2d Session \u5171\u4eab\u95ee\u9898"))),Object(l.b)("h4",{id:"\u5206\u5e03\u5f0f\u9501"},"\u5206\u5e03\u5f0f\u9501"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.hollischuang.com/archives/1716"}),"\u5206\u5e03\u5f0f\u9501\u7684\u51e0\u79cd\u5b9e\u73b0\u65b9\u5f0f"))),Object(l.b)("h4",{id:"\u6743\u9650\u8bbe\u8ba1"},"\u6743\u9650\u8bbe\u8ba1"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://waylau.com/apache-shiro-1.2.x-reference/II.%20Core%20%E6%A0%B8%E5%BF%83/6.%20Authorization%20%E6%8E%88%E6%9D%83.html"}),"Shiro\u6743\u9650\u8bbe\u8ba1")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://waylau.com/new-rbac-resource-based-access-control/"}),"\u65b0\u7684RBAC\uff1a\u57fa\u4e8e\u8d44\u6e90\u7684\u6743\u9650\u7ba1\u7406(Resource-Based Access Control)")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://blog.csdn.net/lantian0802/article/details/8914157"}),"Tomcat\u4e2dsession\u7684\u7ba1\u7406\u673a\u5236"))),Object(l.b)("h4",{id:"orm-\u6846\u67b6"},"ORM \u6846\u67b6"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://www.mybatis.org/mybatis-3/zh/index.html"}),"myBatis-core")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://www.mybatis.org/spring/zh/"}),"myBatis-spring")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://blog.csdn.net/luanlouis/article/details/40422941"}),"\u300a\u6df1\u5165\u7406\u89e3mybatis\u539f\u7406\u300b MyBatis\u7684\u67b6\u6784\u8bbe\u8ba1\u4ee5\u53ca\u5b9e\u4f8b\u5206\u6790"))),Object(l.b)("h4",{id:"\u6743\u9650\u6846\u67b6"},"\u6743\u9650\u6846\u67b6"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},"[\u8ddf\u6211\u5b66Shiro]","(",Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.comsince.cn/static/download/kaitao-shiro.pdf"}),"https://www.comsince.cn/static/download/kaitao-shiro.pdf"))),Object(l.b)("h3",{id:"\u8bbe\u8ba1\u6a21\u5f0f"},"\u8bbe\u8ba1\u6a21\u5f0f"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.comsince.cn"}),"\u7814\u78e8\u8bbe\u8ba1\u6a21\u5f0f")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://design-patterns.readthedocs.io/zh_CN/latest/"}),"\u56fe\u8bf4\u8bbe\u8ba1\u6a21\u5f0f"))),Object(l.b)("h2",{id:"\u5fae\u670d\u52a1\u67b6\u6784\u7cfb\u5217\u6587\u7ae0"},"\u5fae\u670d\u52a1\u67b6\u6784\u7cfb\u5217\u6587\u7ae0"),Object(l.b)("h2",{id:"\u57fa\u7840\u7ec4\u4ef6"},"\u57fa\u7840\u7ec4\u4ef6"),Object(l.b)("h3",{id:"\u6d88\u606f\u961f\u5217"},"\u6d88\u606f\u961f\u5217"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://activemq.apache.org/getting-started.html"}),"activemq")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://mp.weixin.qq.com/s/KfBruI-tOz-eJuM2fgqyew?"}),"\u4e3a\u4ec0\u4e48\u9009\u62e9RocketMQ\u6d88\u606f\u4e2d\u95f4\u4ef6"))),Object(l.b)("p",null,Object(l.b)("strong",{parentName:"p"},"NOTE:")," ActiveMQ 5.15.0 Release \u652f\u6301java8\u4ee5\u4e0a\u7248\u672c"),Object(l.b)("h3",{id:"\u5206\u5e03\u5f0f\u6570\u636e\u5e93"},"\u5206\u5e03\u5f0f\u6570\u636e\u5e93"),Object(l.b)("h4",{id:"\u6570\u636e\u5e93\u57fa\u672c\u6280\u80fd"},"\u6570\u636e\u5e93\u57fa\u672c\u6280\u80fd"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.w3schools.com/sql/sql_join_inner.asp"}),"SQL Tutorial"))),Object(l.b)("p",null,"\u4e3a\u63d0\u5347\u7cfb\u7edf\u6027\u80fd\uff0c\u5b9e\u73b0\u9ad8\u5e76\u53d1\u7684\u9700\u8981\u6709\u4e8b\u9700\u8981\u5b9e\u73b0\u6570\u636e\u5e93\u8bfb\u5199\u5206\u79bb\uff0c\u9700\u8981\u4f7f\u7528\u6570\u636e\u5e93\u4e2d\u95f4\u4ef6\n\u8bfb\u5199\u5206\u79bb\u9700\u8981\u914d\u7f6e\u4e3b\u4ece\u6570\u636e\u540c\u6b65"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://blog.csdn.net/xlgen157387/article/details/51331244/"}),"MySQL5.6 \u6570\u636e\u5e93\u4e3b\u4ece\uff08Master/Slave\uff09\u540c\u6b65\u5b89\u88c5\u4e0e\u914d\u7f6e\u8be6\u89e3")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://shardingjdbc.io/docs/00-overview"}),"Sharing-JDBC"))),Object(l.b)("h3",{id:"\u5206\u5e03\u5f0frpc\u6846\u67b6"},"\u5206\u5e03\u5f0fRPC\u6846\u67b6"),Object(l.b)("h4",{id:"\u670d\u52a1\u6cbb\u7406"},"\u670d\u52a1\u6cbb\u7406"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},"\u9650\u6d41"),Object(l.b)("li",{parentName:"ul"},"\u7194\u65ad"),Object(l.b)("li",{parentName:"ul"},"\u964d\u7ea7")),Object(l.b)("h4",{id:"dubbo\u5b98\u65b9\u8bf4\u660e\u6587\u6863"},"Dubbo\u5b98\u65b9\u8bf4\u660e\u6587\u6863"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://dubbo.gitbooks.io/dubbo-user-book/"}),"Dubbo user guide")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://dubbo.gitbooks.io/dubbo-dev-book/"}),"Dubbo develop guide"))),Object(l.b)("h4",{id:"dubbo-\u539f\u7406\u5206\u6790\u7cfb\u5217\u6587\u7ae0"},"Dubbo \u539f\u7406\u5206\u6790\u7cfb\u5217\u6587\u7ae0"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://gist.github.com/dchjmichael/07dfd189c4c29bab63ec"}),"Spring Schema\u6269\u5c55")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://cxis.me/2017/02/18/Dubbo%E4%B8%ADSPI%E6%89%A9%E5%B1%95%E6%9C%BA%E5%88%B6%E8%AF%A6%E8%A7%A3/"}),"Dubbo spi \u6269\u5c55\u70b9\u673a\u5236")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://docs.spring.io/spring/docs/5.1.2.RELEASE/spring-framework-reference/core.html#xml-custom"}),"XML Schema Authoring"))),Object(l.b)("h3",{id:"hystrix"},"Hystrix"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://my.oschina.net/7001/blog/1619842"}),"Hystrix\u539f\u7406\u4e0e\u5b9e\u6218"))),Object(l.b)("h3",{id:"\u8d1f\u8f7d\u5747\u8861"},"\u8d1f\u8f7d\u5747\u8861"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://moonbingbing.gitbooks.io/openresty-best-practices/ngx/nginx_brief.html"}),"OpenResty Nginx"))),Object(l.b)("h3",{id:"\u914d\u7f6e\u4e2d\u5fc3"},"\u914d\u7f6e\u4e2d\u5fc3"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},"\u5b9e\u73b0\u914d\u7f6e\u4fee\u6539\uff0c\u81ea\u52a8\u4e0b\u53d1")),Object(l.b)("h3",{id:"\u5bb9\u5668"},"\u5bb9\u5668"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},"DevOps")),Object(l.b)("h3",{id:"\u8c03\u7528\u94fe"},"\u8c03\u7528\u94fe"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://bigbully.github.io/Dapper-translation/"}),"Dapper\uff0c\u5927\u89c4\u6a21\u5206\u5e03\u5f0f\u7cfb\u7edf\u7684\u8ddf\u8e2a\u7cfb\u7edf")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://tech.meituan.com/mt-mtrace.html"}),"\u7f8e\u56e2\u5206\u5e03\u5f0f\u4f1a\u8bdd\u8ddf\u8e2a\u7cfb\u7edf\u67b6\u6784\u8bbe\u8ba1\u4e0e\u5b9e\u8df5")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://zhuanlan.51cto.com/art/201701/528304.htm"}),"\u4eac\u4e1c\u5206\u5e03\u5f0f\u670d\u52a1\u8ddf\u8e2a\u7cfb\u7edf-CallGraph"))),Object(l.b)("h3",{id:"\u5fae\u670d\u52a1\u5b9e\u6218"},"\u5fae\u670d\u52a1\u5b9e\u6218"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://segmentfault.com/a/1190000004634172"}),"\u5fae\u670d\u52a1\u5b9e\u6218\uff1a\u4ece\u67b6\u6784\u5230\u53d1\u5e03\uff08\u4e00\uff09")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://segmentfault.com/a/1190000004655274"}),"\u5fae\u670d\u52a1\u5b9e\u6218\uff1a\u4ece\u67b6\u6784\u5230\u53d1\u5e03\uff08\u4e8c\uff09"))),Object(l.b)("h3",{id:"\u4e66\u7c4d"},"\u4e66\u7c4d"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.comsince.cn/static/download/kaitao-distribute-system.pdf"}),"\u4ebf\u7ea7\u6d41\u91cf\u7f51\u7ad9\u67b6\u6784\u6838\u5fc3\u6280\u672f \u8ddf\u5f00\u6d9b\u5b66\u642d\u5efa\u9ad8\u53ef\u7528\u9ad8\u5e76\u53d1\u7cfb\u7edf"))),Object(l.b)("h2",{id:"\u5927\u6570\u636e"},"\u5927\u6570\u636e"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://www.code123.cc/1455.html"}),"\u5927\u6570\u636e\u751f\u6001\u53ca\u5176\u6280\u672f\u6808")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://heminit.com/2017/06/23/my-post2/"}),"\u5927\u6570\u636e\u6280\u672f\u5b66\u4e60\u8def\u7ebf"))),Object(l.b)("h3",{id:"hadoop"},"Hadoop"),Object(l.b)("h4",{id:"hadoop-yarn"},"Hadoop Yarn"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-yarn/"}),"Hadoop\u65b0MapReduce\u6846\u67b6Yarn\u8be6\u89e3"))),Object(l.b)("h4",{id:"\u6587\u6863"},"\u6587\u6863"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://hadoop.apache.org/docs//r1.0.4/cn/index.html"}),"Hadoop \u5b98\u65b9\u4e2d\u6587\u6587\u6863")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://www.powerxing.com/install-hadoop/"}),"Hadoop\u5b89\u88c5\u6559\u7a0b_\u5355\u673a/\u4f2a\u5206\u5e03\u5f0f\u914d\u7f6e")," "),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://www.bijishequ.com/detail/435478?p="}),"\u5927\u6570\u636e\u3001\u4e91\u8ba1\u7b97\u7cfb\u7edf\u9ad8\u7ea7\u67b6\u6784\u5e08\u8bfe\u7a0b\u5b66\u4e60\u8def\u7ebf\u56fe")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://chu888chu888.gitbooks.io/hadoopstudy/content/"}),"\u5f00\u6e90\u4e66\u7c4d\uff1a\u5927\u6570\u636e\u5b9e\u9a8c\u624b\u518c")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://github.com/Roc-J/Hadoop/blob/master/big%20data/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%BB%BA%E8%AE%BE%E5%B9%B3%E5%8F%B0%E5%AD%A6%E4%B9%A0.md"}),"\u5927\u6570\u636e\u5efa\u8bbe\u5e73\u53f0\u5b66\u4e60"))),Object(l.b)("h4",{id:"\u89c6\u9891\u8d44\u6599"},"\u89c6\u9891\u8d44\u6599"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.iteblog.com/archives/1129.html"}),"Hadoop2.x \u6df1\u5165\u6d45\u51fa\u4f01\u4e1a\u7ea7\u5e94\u7528\u5b9e\u6218\u89c6\u9891\u4e0b\u8f7d")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://www.itsource.com.cn/thread-41-1-1.html"}),"Hadoop\u5927\u6570\u636e\u8df3\u69fd\u8bfe\u7a0b(\u7ebf\u4e0a\u89c6\u9891+\u76f4\u64ad\u7b54\u7591)")," \u89c6\u9891\u7801",Object(l.b)("inlineCode",{parentName:"li"},"11664-F6AF-8E8D-C8FC-99BC"))),Object(l.b)("h4",{id:"\u4e66\u7c4d\u8d44\u6599"},"\u4e66\u7c4d\u8d44\u6599"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.comsince.cn"}),"Hadoop\u5b9e\u6218-\u9646\u5609\u6052")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.comsince.cn/static/download/largfile-100M/Hadoop-overall.pdf"}),"Hadoop\u6743\u5a01\u6307\u5357-\u7b2c\u4e09\u7248")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.comsince.cn/static/download/bigdata/Hadoop_Common_HDFS.pdf"}),"Hadoop\u6280\u672f\u5185\u5e55\uff1a\u6df1\u5165\u89e3\u6790Hadoop Common\u548cHDFS")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.comsince.cn/static/download/bigdata/Hadoop_YARN_artitect.pdf"}),"Hadoop\u6280\u672f\u5185\u5e55\uff1a\u6df1\u5165\u89e3\u6790YARN\u67b6\u6784\u8bbe\u8ba1\u4e0e\u5b9e\u73b0\u539f\u7406")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.comsince.cn/static/download/bigdata/Hadoop_MapReduce_artitect.pdf"}),"Hadoop\u6280\u672f\u5185\u5e55\uff1a\u6df1\u5165\u89e3\u6790MapReduce\u67b6\u6784\u8bbe\u8ba1\u4e0e\u5b9e\u73b0\u539f\u7406 (\u5927\u6570\u636e\u6280\u672f\u4e1b\u4e66)"))),Object(l.b)("h3",{id:"python"},"Python"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431608990315a01b575e2ab041168ff0df194698afac000"}),"Python\u6559\u7a0b"))),Object(l.b)("h2",{id:"\u6280\u672f\u535a\u5ba2"},"\u6280\u672f\u535a\u5ba2"),Object(l.b)("p",null,"\u4ece\u6280\u672f\u535a\u5ba2\u4e2d\u5bfb\u627e\u89e3\u51b3\u95ee\u9898\u7684\u65b9\u6848\uff0c\u4e0b\u9762\u5217\u51fa\u8f83\u4e3a\u51fa\u540d\u7684\u535a\u5ba2"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://tech.meituan.com/"}),"\u7f8e\u56e2\u6280\u672f\u535a\u5ba2"))),Object(l.b)("h2",{id:"\u641c\u7d22\u6280\u672f"},"\u641c\u7d22\u6280\u672f"),Object(l.b)("h3",{id:"elasticsearch"},"ElasticSearch"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://cwiki.apachecn.org/pages/viewpage.action?pageId=4260360"}),"Elasticsearch 5.4 \u4e2d\u6587\u6587\u6863")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://es.xiaoleilu.com/index.html"}),"Elasticsearch \u6743\u5a01\u6307\u5357\uff08\u4e2d\u6587\u7248"))),Object(l.b)("h3",{id:"solr"},"Solr"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://www.solrtutorial.com/basic-solr-concepts.html"}),"SolrTutorial")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"https://examples.javacodegeeks.com/enterprise-java/apache-solr/apache-solr-tutorial-beginners/"}),"Apache Solr Tutorial for Beginners"))),Object(l.b)("h2",{id:"\u673a\u5668\u5b66\u4e60"},"\u673a\u5668\u5b66\u4e60"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("p",{parentName:"li"},Object(l.b)("a",Object(b.a)({parentName:"p"},{href:"https://anandology.com/python-practice-book/getting-started.html"}),"Python getstarted"))),Object(l.b)("li",{parentName:"ul"},Object(l.b)("p",{parentName:"li"},Object(l.b)("a",Object(b.a)({parentName:"p"},{href:"https://codelabs.developers.google.com/codelabs/tensorflow-for-poets/index.html#0"}),"tensorflow-for-poets"))),Object(l.b)("li",{parentName:"ul"},Object(l.b)("p",{parentName:"li"},Object(l.b)("a",Object(b.a)({parentName:"p"},{href:"https://codelabs.developers.google.com/codelabs/tensorflow-for-poets-2-tflite/#0"}),"tf-android"))),Object(l.b)("li",{parentName:"ul"},Object(l.b)("p",{parentName:"li"},Object(l.b)("a",Object(b.a)({parentName:"p"},{href:"https://www.jianshu.com/p/091415b114e2"}),"TensorFlow\u56fa\u5316\u6a21\u578b")))),Object(l.b)("h3",{id:"\u6e90\u7801\u89e3\u6790"},"\u6e90\u7801\u89e3\u6790"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(b.a)({parentName:"li"},{href:"http://www.iocoder.cn/"}),"\u7eaf\u6e90\u7801\u89e3\u6790\u535a\u5ba2"))))}o.isMDXComponent=!0}}]);