-- ·|­û / µù¥U -- ¡@
¡@±b¸¹¡G
¡@±K½X¡G
¡@ | µù¥U | §Ñ°O±K½X
3/26 ·s®Ñ¨ì¡I 3/19 ·s®Ñ¨ì¡I 3/14 ·s®Ñ¨ì¡I 12/12 ·s®Ñ¨ì¡I
ÁʮѬyµ{¡EQ & A¡E¯¸°È¯d¨¥ª©¡E«ÈªA«H½c
¢x 3ds Max¢x Maya¢x Rhino¢x After Effects¢x SketchUp¢x ZBrush¢x Painter¢x Unity¢x
¢x PhotoShop¢x AutoCad¢x MasterCam¢x SolidWorks¢x Creo¢x UG¢x Revit¢x Nuke¢x
¢x C#¢x C¢x C++¢x Java¢x ¹CÀ¸µ{¦¡¢x Linux¢x ´O¤J¦¡¢x PLC¢x FPGA¢x Matlab¢x
¢x Àb«È¢x ¸ê®Æ®w¢x ·j¯Á¤ÞÀº¢x ¼v¹³³B²z¢x Fluent¢x VR+AR¢x ANSYS¢x ²`«×¾Ç²ß¢x
¢x ³æ´¹¤ù¢x AVR¢x OpenGL¢x Arduino¢x Raspberry Pi¢x ¹q¸ô³]­p¢x Cadence¢x Protel¢x
¢x Hadoop¢x Python¢x Stm32¢x Cortex¢x Labview¢x ¤â¾÷µ{¦¡¢x Android¢x iPhone¢x
¥i¬d®Ñ¦W,§@ªÌ,ISBN,3dwoo®Ñ¸¹
¸Ô²Ó®ÑÄy¤ÀÃþ

¬[ºc±´ÀI¡G±q¹s¶}©l¼g¤À¥¬¦¡ªA°È®Ø¬[

( ²Åé ¦r)
§@ªÌ¡G§õ·~§LÃþ§O¡G1. -> µ{¦¡³]­p -> ºî¦X
ĶªÌ¡G
¥Xª©ªÀ¡G¹q¤l¤u·~¥Xª©ªÀ¬[ºc±´ÀI¡G±q¹s¶}©l¼g¤À¥¬¦¡ªA°È®Ø¬[ 3dWoo®Ñ¸¹¡G 47232
¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I

¡i¯Ê®Ñ¡j
NT°â»ù¡G 395 ¤¸

¥Xª©¤é¡G7/1/2017
­¶¼Æ¡G400
¥úºÐ¼Æ¡G0
¯¸ªø±ÀÂË¡G
¦L¨ê¡G¶Â¥Õ¦L¨ê»y¨t¡G ( ²Åé ª© )
¥[¤JÁʪ«¨® ¢x¥[¨ì§Úªº³Ì·R
(½Ð¥ýµn¤J·|­û)
ISBN¡G9787121319594
§@ªÌ§Ç¡@|¡@ĶªÌ§Ç¡@|¡@«e¨¥¡@|¡@¤º®e²¤¶¡@|¡@¥Ø¿ý¡@|¡@§Ç
(²Åé®Ñ¤W©Ò­z¤§¤U¸ü³sµ²¯Ó®É¶O¥\, ®¤¤£¾A¥Î¦b¥xÆW, ­YŪªÌ»Ý­n½Ð¦Û¦æ¹Á¸Õ, ®¤¤£«OÃÒ)
§@ªÌ§Ç¡G

ĶªÌ§Ç¡G

«e¨¥¡G

±ÀÂ˧Ç
2015¦~¡A§Ú¼g¤F¦Û¤vªº²Ä¤@¥»®Ñ¡m¬[ºc±´ÀI¡G±q¹s¶}©l¼gJava Web®Ø¬[¡n¡A®Ñ¤¤°O¿ý¤F¤@´Ú»´¶q¯ÅJava Web®Ø¬[ªº¾ã­Ó¶}µo¹Lµ{¡C§Ú±N¸Ó®Ø¬[¨ú¦W¬°Smart Framework¡A¦]¬°§Ú»{¬°Java Web®Ø¬[À³¸Ó§ó®e©ö¤W¤â¡A¹B¦æ±o§ó§Ö¡A§ó¥[»´¶q¯Å¡C
¬°¦ó§Ú­n¼g¡§¬[ºc±´ÀI¡¨¡H
§Ú§Æ±æ¦³§ó¦h¬Ý¹L³o¥»®ÑªºªB¤Í¡A¯à°÷¹ïJava Web®Ø¬[ªº©³¼h­ì²z§ó¥[²M·¡¡A¤£¶È¯à¼ô½m¨Ï¥Î®Ø¬[¡A¦Ó¥BÁٯા¹D®Ø¬[©³¼h³£°µ¤F¨Ç¤°¤\¡A°µ¨ì¡§ª¾¨äµM¡Aª¾¨ä©Ò¥HµM¡¨¡A§Ú»{¬°©Ò¦³ªº¶}µoªÌ³£À³¸Ó³o¼Ë­n¨D¦Û¤v¡C
¦¹¥~¡A§Ú»{¬°¾Ç²ß§Þ³Nªº³Ì¦³®Ä¤è¦¡´N¬O¤À¨É¡A¥u¦³¤À¨É¤~¯àÅý¦Û¤v±o¨ì§ó§Öªº¶i¨B¡C¦ý¦b¤À¨É¤§«e¡A§Ú­Ì»Ý­nªá®É¶¡¥h¤£Â_¾Ç²ß¡A³o­Ó¾Ç²ß¹Lµ{¤]³\¬Oµh­Wªº¡A¦ý·í¦Û¤v±N©Ò¾Ç§Þ¯à¤À¨É¥X¥hªº®É­Ô«o¬O§Ö¼Öªº¡C¤£¶È¦p¦¹¡A§Ú­Ì³q¹L¤À¨ÉÁÙ·|¦¬¨ì¤j®a§ó¦hªº¤ÏõX¡A³o¨Ç¤ÏõX¯à°÷À°§U§Ú­Ì±o¨ì§ó¥[¥þ­±ªº¦¨ªø¡C
¬[ºc©M¡§±´ÀI¡¨¦³¦óÃö¨t¡H
¬[ºc»¡Â²³æÂI´N¬O¤@°ï§Þ³N¡B®Ø¬[¡B¤u¨ãªº²Õ¦X¡A¦Ü¤_«ç¤\²Õ¦X¡A³o´N«D±`¦ÒÅç¬[ºc®vªº¸gÅç©M¤ô¥­¡C¤@­ÓÀu¨qªº¬[ºc¡A¥i¥HÅý¶}µo®Ä²vÅܱo§ó¥[°ª®Ä¡A¬°¥ø·~¸`¬Ù§ó¦hªº¦¨¥»¡Cµ{§Ç­û¥i±N¦Û¤v§ó¦hªººë¤O©ñ¦b·~°È»Ý¨Dªº¹ê²{¤W¡A¤£·|³Q©³¼hªº´_Âø§Þ³N²Ó¸`©Ò¤zÂZ¡C
¬[ºc®v¡]©Î±q¨Æ¬[ºc¤u§@ªº¤H¡^´N¹³¬O±´ÀIªÌ¤@¼Ë¡A¥L­Ì¨«¦b¹Î¶¤ªº«e­±¡A¬°¤j®a¾Q¸ô¡A±a»â¤j®a§ä¨ì¦¨¥\±¶®|¡C¦¹¥~¡A°µ¬[ºc¤u§@¤£¯à·Ó·h§O¤H©Ò¿×ªº³Ì¨Î¹ê½î¡A¦Ó­n®Ú¾Ú¦Û¨­¹ê»Ú±¡ªp¡A¦]¦a¨î©y¦aÆF¬¡¿ï¾Ü¡A³]­p³Ì¬°¦X²zªº¬[ºc¡C¬[ºcªº¥Øªº¬O¬°¤FÅý·~°ÈÅܱo§ó¥[®e©ö¸¨¦a¡A­°§C¶}µo¦¨¥»»P²Î¤@¶}µo³W­S¡C¬[ºc®vªºÂ¾³d´N¬OÁקK¤j®a½ò§|¡A¥L­Ì»Ý­n±N¦Û¤vªº¸gÅçÁ`µ²¤U¨Ó¡A¦}±a»â¤j®a¨«³Ì¥¿½Tªº¸ô¡C¬[ºc®v¤£¥u¬O¦bÅéÅç±´ÀIªº¥ûÀI©M§Ö¼Ö¡A¦Ó¬O§â±´ÀI©Ò¿n²Öªº¸gÅç¨IÕà¤U¨Ó¡AÅý¦Z­±§ó¦hªº¤H±q¤¤¨ü¯q¡C
¬[ºc±´ÀI¬O¤@ºØ«H¥õ
¨ä¹ê§Ú­Ì³£¦b¬[ºc¤¤±´ÀI¡A©Î³\¦Û¤v¥Ø«e¥¿¨­³´ÀI¹Ò¡A§Ú­Ì§Æ±æ±o¨ì¤@¥»¡§Ä_¨å¡¨¡A±Ð·|¦Û¤vÀ³¸Ó¦p¦ó§ä¨ì¬[ºcªº¦¨¥\±¶®|¡C§õ·~§L¦Ñ®v¼gªº³o¥»¡m¬[ºc±´ÀI¡G±q¹s¶}©l¼g¤À¥¬¦¡ªA°È®Ø¬[¡n´N¯à¶¶§Q¦a±a»â§Ú­Ì¨«¥XÀI¹Ò¡AÅý§Ú­Ì¹ï¤À¥¬¦¡ªA°È®Ø¬[©Ò¯A¤Îªº§Þ³N¤FµM¤_¯Ý¡A¦}¯à¦X²z¦a§Q¥Î³o¨Ç§Þ³N¡A·f«Ø²Å¦X¦Û¨­»Ý¨Dªº¤À¥¬¦¡ªA°È®Ø¬[¡C
³o¥»®Ñ¶Ç»¼¤F¡§¬[ºc±´ÀI¡¨ªººë¯«¡AÅý§Ú§ó¥[²`¨è¦a·P¨ü¨ì¡A¨ä¹ê¬[ºc±´ÀI¬O¤@ºØ«H¥õ¡A¥¦«ü¤Þ§Ú­Ì¦b¬[ºc¤§¸ô¤WÄ~Äò«e¶i¡C

¶À«i¡P¯SÃÙ¬ì§ÞCTO
2017¦~6¤ë

«e¨¥
½t°_
ÀHµÛ¤¬Ápºô®ö¼é­·°_¤ª¯F¡A¤¬Ápºô¦æ·~µo®i«D±`¨³²r¡C¦¹®É±N©Ò¦³·~°È¶°¤¤¹ê²{¦b¤@­ÓÀ³¥Î¤Wªº°µªk¤w¸gº¡¨¬¤£¤F¤½¥q¤Î·~°Èµo®iªº»Ý­n¤F¡C°ò¤_­±¦VªA°ÈÅé¨t¬[ºc¨Óºc«Ø¨t²Î¦¨¤F¤¬Ápºô¬[ºc®vºc«Ø¨t²Îªº¤£¤G¿ï¾Ü¡A¦Ó­±¦VªA°ÈÅé¨t¬[ºc¯à°÷¸¨¦aªº°ò¦§Þ³N¤§¤@´N¬O¤À¥¬¦¡ªA°È®Ø¬[¡C
­n§¹¥þ´x´¤¤À¥¬¦¡ªA°È®Ø¬[¦s¦b¤@©wªº§Þ³NªùÂe¡A¥«­±¤W¤£¥F¤@¨Ç«D±`¥X¦âªº¶}·½¤À¥¬¦¡ªA°È®Ø¬[¡C¦ý¹ï¤_·s¤â¦Ó¨¥¡Aª½±µ³q¹L¾\Ū·½½X¨Ó´x´¤¤À¥¬¦¡ªA°È®Ø¬[­ì²z¤]¦}¤£¬O¤@¥ó¯S§O®e©öªº¨Æ¡C
²{¦b¥«­±¤W¤]¦³±Mªùªº®ÑÄy¨Ó¤¶²Ð¤À¥¬¦¡ªA°È®Ø¬[¡A¦ý¤j³£¬O±q²z½×©M¤èªk½×ªº¨¤«×¨Ó´y­z¨ä­ì²zªº¡C¦³¥y«U»y¡G¡§¦³¨Ç¨Æ¡AÃø¤£Ãø¡A°µ¤F¤~ª¾¹D¡F¦³¨Ç¤s¡A°~¤£°~¡Aª¦¤F¤~ª¾¹D¡C¡¨¹ï¤_µ{§Ç­û¨Ó»¡¡AÁ`¬O·Q³q¹L¨ãÅ骺¥N½X¨Ó¤F¸Ñ¤@­Ó¤À¥¬¦¡ªA°È®Ø¬[ªº¹ê²{²Ó¸`¡A³o¼Ë§ó¬°ª½Æ[©M²`¨è¡C¬°¤FÀ°§U³¡¤À·Q¤F¸Ñ¤À¥¬¦¡ªA°È®Ø¬[¤º³¡¹ê²{­ì²z¡A¬Æ¦Ü·Q¦Û¤v¹ê²{¤@­Ó¤À¥¬¦¡ªA°È®Ø¬[ªºÅªªÌ¡A§Ú¼g¤F³o¼Ë¤@¥»¤¶²Ð¦p¦ó±q¹s¶}©l¼g¤@­Ó¤À¥¬¦¡ªA°È®Ø¬[ªº®Ñ¡A§Æ±æ¯à°÷¹ï·Q¤F¸Ñ¤À¥¬¦¡ªA°È®Ø¬[¹ê²{²Ó¸`ªºÅªªÌ¦³©ÒÀ°§U¡C
¤º®e¤jºõ
¥þ®Ñ¤@¦@8³¹¡C«ö·Ó¤À¥¬¦¡ªA°È®Ø¬[ªº¦U­Ó²Õ¦¨³¡¤À¤Î¦U­Ó²Õ¦¨³¡¤À©Ò»Ýªºª¾ÃÑÂI©ÎªÌ³o¨Çª¾ÃÑÂI¾A·íªº©µ¦ù¨Ó²Õ´¨C¤@³¹¸`ªº¤º®e¡C«ØijŪªÌ«ö·Ó¥þ®Ñ³¹¸`ªº²Õ´¶¶§Ç¨Ó¾\Ū¡C
²Ä1³¹¥D­n¤¶²Ð¤é±`¶}µo±`¥ÎªºRPC®Ø¬[¡A¥]¬ARMI¡BCXF¡BAxis2¡BThrift¡BgRPC¡BHttpClient¡A¦}´N¨C¤@ºØRPC®Ø¬[µ¹¥X¤F¹ê»Ú¥i¹B¦æªº¥N½X¥Ü¨Ò¡A¥H¤Î¦Û¤v¹ê²{ªº¤@­Ó²©öª©ªºRPC®Ø¬[¡C
²Ä2³¹¹ï¤_°ò¤_ªA°ÈÅé¨t¬[ºc°µ¤F¤¶²Ð¡A¹ï¤À¥¬¦¡ªA°È®Ø¬[Á`Åé¬[ºc¤Î¹ê²{¤À¥¬¦¡ªA°È®Ø¬[©Ò»Ýªº§Þ³N°µ¤F·§­n©Ê¤¶²Ð¡C
²Ä3³¹¤¶²Ð9ºØ§Ç¦C¤Æ/¤Ï§Ç¦C¤Æ¤è®×¡A¨C¤@ºØ§Ç¦C¤Æ/¤Ï§Ç¦C¤Æ¤è®×§¡µ¹¥X¤F¬ÛÀ³ªº¥N½X¥Ü¨Ò¡A¦}µ¹¥X¤F¨ãÅ骺¿ï«¬«Øij¡C¦P®É¡A±N³o9ºØ§Ç¦C¤Æ/¤Ï§Ç¦C¤Æ¹ê²{¶°¦¨¦b¤@°_¡A¹ê²{¤F¥i°t¸m¤Æªº§Ç¦C¤Æ/¤Ï§Ç¦C¤Æ¤u¨ã¤ÞÀº¡A³Ì²×¾ã¦X¦b¤À¥¬¦¡ªA°È®Ø¬[¹ê²{¤º³¡¡C
²Ä4³¹¹ïSpring°µ¤F·§­n©Ê¤¶²Ð¡C¦³°w¹ï©Ê¦a¹ïFactoryBean©PÃ䪾ÃѤΦp¦ó¨Ï¥ÎFactoryBean¹ê²{¤À¥¬¦¡ªA°Èªºµo¥¬©M¤Þ¤J°µ¤F¸Ô²Ó¤¶²Ð¦}µ¹¥X¥N½X¹ê²{¡C
²Ä5³¹¤¶²ÐZooKeeper±`¥Îª¾ÃѤΦp¦ó¨Ï¥ÎZooKeeper¹ê²{ªA°Èªºª`¥U»Pµo²{¡A¦}µ¹¥X¤F¨ãÅ骺¥N½X¹ê²{¡C
²Ä6³¹³ò¶¨t²Î¤§¶¡©³¼h³q«H¬ÛÃöªºª¾ÃÑÂI¨Ó²Õ´¡A±qJava I/O Åé¨t¡]ªý¶ëI/O¡BNIO¡BNIO2¡^¨ìNetty¬ÛÃöª¾Ãѧ¡°µ¤F¸Ô²Ó¤¶²Ð¡C³Ì¦Z´N¨Ï¥ÎNetty¹ê²{¤À¥¬¦¡ªA°È®Ø¬[©³¼h³q«Hµ¹¥X¤F¥N½X¹ê²{¡C
²Ä7³¹¤¶²Ð±`¥Îªº³n­t¸üºâªk¡A¦}°w¹ï¨C¤@ºØºâªkµ¹¥X¤F¥N½X¹ê²{¡C¦P®É±N¹ê²{ªº¦hºØ³n­t¸üºâªk¶°¦¨¥i°t¸mªº³n­t¸ü¤u¨ã¤ÞÀº¡A³Ì²×¾ã¦X¦b¤À¥¬¦¡ªA°È®Ø¬[¹ê²{¤º³¡¡C
²Ä8³¹¤¶²Ð¤À¥¬¦¡ªA°È®Ø¬[ªA°Èªv²z¬ÛÃöªº·§©À¤Î¤èªk½×¡A¦}´N³¡¤ÀªA°Èªv²z¥\¯àµ¹¥X¤F¨ãÅé¹ê²{¡C
¥þ®Ñ§¹¾ã¦a¹ê²{¤F¤@­Ó¥i¥H¹ê»Ú¹B¦æªº¤À¥¬¦¡ªA°È®Ø¬[¡A¥þ®Ñ©Ò¦³¥N½X§¡´£¨Ñ¤U¸ü¡C
­PÁÂ
­º¥ý·PÁ§ڪº©d¤l¡A¦b¼g®Ñ³o¬q®É¶¡¡AÄ_Ä_ªº¥X¥Íµ¹¤F§Ú¤H¥Í¤¤³Ì¦nªºÂ§ª«¡AÄ_Ä_ªº«©§r¾Ç»y¡B¤@­Ó¤£¸g·Nªº¯º®e³£¯àµ¹§Ú²ö¤jªº¤ä«ù©M¹ªÀy¡C
¦P®É¡A·PÁ¿߲´¹q¼v¤½¥qªº¦P¨Æ©M»â¾É¡Aµ¹¤F§Ú¼eªQªº¾Ç²ß»P¤u§@ª^³ò¡A¾Ç¨ì¤F«Ü¦hª¾ÃÑ¡A¤]±o¨ì¤F«Ü¦h¦¨ªøªº¾÷·|¡C
³Ì¦Z¡A·PÁ¨¯­W³Ò§@ªº½s¿è¡A¥»®Ñ¯à°÷¥Xª©¦³§A­Ì«Ü¤jªº¤@¥÷¥\³Ò¡C
¼g¦b³Ì¦Z
³o¥»®Ñ°¾¦V¹ê¾Ô¡A·|¦³«Ü¦h¥N½X¹ê²{²Ó¸`ªº´y­z¡A¥þ®Ñ§¹¾ãªº¥N½X¹ê²{·|¥tµ¹¤U¸üÃì±µ¡C¥»®Ñ©Ò¹ê²{ªº¤À¥¬¦¡ªA°È®Ø¬[¦}¥¼¸g¾úÄY­V¥Í²£Àô¹Òªº¦ÒÅç¡A©w¦³«Ü¦h¤£¨¬¤§³B¡A§Æ±æ¤é¦Z¦³¾÷·|¦AÄ~Äò§¹µ½¡C¼g®Ñ¹ï§Ú¨Ó»¡¬O¤@­Ó¤ñ¸û¤jªº¬D¾Ô¡A¦]¬°¤@­Ó§Þ³NÂI¡A¦Û¤v¯à²z¸Ñ©M·|¥Î¤å¦rªí¹F¥X¨ÓÅý§O¤H¤]¯à²z¸Ñ¬O§¹¥þ¤£¦Pªº¼h¦¸¡C¤ß¤¤¯S§OÊØÊסA¾á¤ß¦]¬°¦Û¤v¹ïª¾ÃѲz¸Ñ¤£°÷²`¤J¡A¥H¤Î¤å¦rªí¹F¤ô¥­¤£°÷¡A¾É­P¹ïŪªÌ¦³©Ò»~¾É¡C®Ñ¤¤Ãø§K¦³¿ù»~©M²¨º|¤§³B¡A¦b¦¹Àµ½ÐŪªÌ§åµû«ü¥¿¡C
§õ·~§L
«e¨¥
½t°_
ÀHµÛ¤¬Ápºô®ö¼é­·°_¤ª¯F¡A¤¬Ápºô¦æ·~µo®i«D±`¨³²r¡C¦¹®É±N©Ò¦³·~°È¶°¤¤¹ê²{¦b¤@­ÓÀ³¥Î¤Wªº°µªk¤w¸gº¡¨¬¤£¤F¤½¥q¤Î·~°Èµo®iªº»Ý­n¤F¡C°ò¤_­±¦VªA°ÈÅé¨t¬[ºc¨Óºc«Ø¨t²Î¦¨¤F¤¬Ápºô¬[ºc®vºc«Ø¨t²Îªº¤£¤G¿ï¾Ü¡A¦Ó­±¦VªA°ÈÅé¨t¬[ºc¯à°÷¸¨¦aªº°ò¦§Þ³N¤§¤@´N¬O¤À¥¬¦¡ªA°È®Ø¬[¡C
­n§¹¥þ´x´¤¤À¥¬¦¡ªA°È®Ø¬[¦s¦b¤@©wªº§Þ³NªùÂe¡A¥«­±¤W¤£¥F¤@¨Ç«D±`¥X¦âªº¶}·½¤À¥¬¦¡ªA°È®Ø¬[¡C¦ý¹ï¤_·s¤â¦Ó¨¥¡Aª½±µ³q¹L¾\Ū·½½X¨Ó´x´¤¤À¥¬¦¡ªA°È®Ø¬[­ì²z¤]¦}¤£¬O¤@¥ó¯S§O®e©öªº¨Æ¡C
²{¦b¥«­±¤W¤]¦³±Mªùªº®ÑÄy¨Ó¤¶²Ð¤À¥¬¦¡ªA°È®Ø¬[¡A¦ý¤j³£¬O±q²z½×©M¤èªk½×ªº¨¤«×¨Ó´y­z¨ä­ì²zªº¡C¦³¥y«U»y¡G¡§¦³¨Ç¨Æ¡AÃø¤£Ãø¡A°µ¤F¤~ª¾¹D¡F¦³¨Ç¤s¡A°~¤£°~¡Aª¦¤F¤~ª¾¹D¡C¡¨¹ï¤_µ{§Ç­û¨Ó»¡¡AÁ`¬O·Q³q¹L¨ãÅ骺¥N½X¨Ó¤F¸Ñ¤@­Ó¤À¥¬¦¡ªA°È®Ø¬[ªº¹ê²{²Ó¸`¡A³o¼Ë§ó¬°ª½Æ[©M²`¨è¡C¬°¤FÀ°§U³¡¤À·Q¤F¸Ñ¤À¥¬¦¡ªA°È®Ø¬[¤º³¡¹ê²{­ì²z¡A¬Æ¦Ü·Q¦Û¤v¹ê²{¤@­Ó¤À¥¬¦¡ªA°È®Ø¬[ªºÅªªÌ¡A§Ú¼g¤F³o¼Ë¤@¥»¤¶²Ð¦p¦ó±q¹s¶}©l¼g¤@­Ó¤À¥¬¦¡ªA°È®Ø¬[ªº®Ñ¡A§Æ±æ¯à°÷¹ï·Q¤F¸Ñ¤À¥¬¦¡ªA°È®Ø¬[¹ê²{²Ó¸`ªºÅªªÌ¦³©ÒÀ°§U¡C
¤º®e¤jºõ
¥þ®Ñ¤@¦@8³¹¡C«ö·Ó¤À¥¬¦¡ªA°È®Ø¬[ªº¦U­Ó²Õ¦¨³¡¤À¤Î¦U­Ó²Õ¦¨³¡¤À©Ò»Ýªºª¾ÃÑÂI©ÎªÌ³o¨Çª¾ÃÑÂI¾A·íªº©µ¦ù¨Ó²Õ´¨C¤@³¹¸`ªº¤º®e¡C«ØijŪªÌ«ö·Ó¥þ®Ñ³¹¸`ªº²Õ´¶¶§Ç¨Ó¾\Ū¡C
²Ä1³¹¥D­n¤¶²Ð¤é±`¶}µo±`¥ÎªºRPC®Ø¬[¡A¥]¬ARMI¡BCXF¡BAxis2¡BThrift¡BgRPC¡BHttpClient¡A¦}´N¨C¤@ºØRPC®Ø¬[µ¹¥X¤F¹ê»Ú¥i¹B¦æªº¥N½X¥Ü¨Ò¡A¥H¤Î¦Û¤v¹ê²{ªº¤@­Ó²©öª©ªºRPC®Ø¬[¡C
²Ä2³¹¹ï¤_°ò¤_ªA°ÈÅé¨t¬[ºc°µ¤F¤¶²Ð¡A¹ï¤À¥¬¦¡ªA°È®Ø¬[Á`Åé¬[ºc¤Î¹ê²{¤À¥¬¦¡ªA°È®Ø¬[©Ò»Ýªº§Þ³N°µ¤F·§­n©Ê¤¶²Ð¡C
²Ä3³¹¤¶²Ð9ºØ§Ç¦C¤Æ/¤Ï§Ç¦C¤Æ¤è®×¡A¨C¤@ºØ§Ç¦C¤Æ/¤Ï§Ç¦C¤Æ¤è®×§¡µ¹¥X¤F¬ÛÀ³ªº¥N½X¥Ü¨Ò¡A¦}µ¹¥X¤F¨ãÅ骺¿ï«¬«Øij¡C¦P®É¡A±N³o9ºØ§Ç¦C¤Æ/¤Ï§Ç¦C¤Æ¹ê²{¶°¦¨¦b¤@°_¡A¹ê²{¤F¥i°t¸m¤Æªº§Ç¦C¤Æ/¤Ï§Ç¦C¤Æ¤u¨ã¤ÞÀº¡A³Ì²×¾ã¦X¦b¤À¥¬¦¡ªA°È®Ø¬[¹ê²{¤º³¡¡C
²Ä4³¹¹ïSpring°µ¤F·§­n©Ê¤¶²Ð¡C¦³°w¹ï©Ê¦a¹ïFactoryBean©PÃ䪾ÃѤΦp¦ó¨Ï¥ÎFactoryBean¹ê²{¤À¥¬¦¡ªA°Èªºµo¥¬©M¤Þ¤J°µ¤F¸Ô²Ó¤¶²Ð¦}µ¹¥X¥N½X¹ê²{¡C
²Ä5³¹¤¶²ÐZooKeeper±`¥Îª¾ÃѤΦp¦ó¨Ï¥ÎZooKeeper¹ê²{ªA°Èªºª`¥U»Pµo²{¡A¦}µ¹¥X¤F¨ãÅ骺¥N½X¹ê²{¡C
²Ä6³¹³ò¶¨t²Î¤§¶¡©³¼h³q«H¬ÛÃöªºª¾ÃÑÂI¨Ó²Õ´¡A±qJava I/O Åé¨t¡]ªý¶ëI/O¡BNIO¡BNIO2¡^¨ìNetty¬ÛÃöª¾Ãѧ¡°µ¤F¸Ô²Ó¤¶²Ð¡C³Ì¦Z´N¨Ï¥ÎNetty¹ê²{¤À¥¬¦¡ªA°È®Ø¬[©³¼h³q«Hµ¹¥X¤F¥N½X¹ê²{¡C
²Ä7³¹¤¶²Ð±`¥Îªº³n­t¸üºâªk¡A¦}°w¹ï¨C¤@ºØºâªkµ¹¥X¤F¥N½X¹ê²{¡C¦P®É±N¹ê²{ªº¦hºØ³n­t¸üºâªk¶°¦¨¥i°t¸mªº³n­t¸ü¤u¨ã¤ÞÀº¡A³Ì²×¾ã¦X¦b¤À¥¬¦¡ªA°È®Ø¬[¹ê²{¤º³¡¡C
²Ä8³¹¤¶²Ð¤À¥¬¦¡ªA°È®Ø¬[ªA°Èªv²z¬ÛÃöªº·§©À¤Î¤èªk½×¡A¦}´N³¡¤ÀªA°Èªv²z¥\¯àµ¹¥X¤F¨ãÅé¹ê²{¡C
¥þ®Ñ§¹¾ã¦a¹ê²{¤F¤@­Ó¥i¥H¹ê»Ú¹B¦æªº¤À¥¬¦¡ªA°È®Ø¬[¡A¥þ®Ñ©Ò¦³¥N½X§¡´£¨Ñ¤U¸ü¡C
­PÁÂ
­º¥ý·PÁ§ڪº©d¤l¡A¦b¼g®Ñ³o¬q®É¶¡¡AÄ_Ä_ªº¥X¥Íµ¹¤F§Ú¤H¥Í¤¤³Ì¦nªºÂ§ª«¡AÄ_Ä_ªº«©§r¾Ç»y¡B¤@­Ó¤£¸g·Nªº¯º®e³£¯àµ¹§Ú²ö¤jªº¤ä«ù©M¹ªÀy¡C
¦P®É¡A·PÁ¿߲´¹q¼v¤½¥qªº¦P¨Æ©M»â¾É¡Aµ¹¤F§Ú¼eªQªº¾Ç²ß»P¤u§@ª^³ò¡A¾Ç¨ì¤F«Ü¦hª¾ÃÑ¡A¤]±o¨ì¤F«Ü¦h¦¨ªøªº¾÷·|¡C
³Ì¦Z¡A·PÁ¨¯­W³Ò§@ªº½s¿è¡A¥»®Ñ¯à°÷¥Xª©¦³§A­Ì«Ü¤jªº¤@¥÷¥\³Ò¡C
¼g¦b³Ì¦Z
³o¥»®Ñ°¾¦V¹ê¾Ô¡A·|¦³«Ü¦h¥N½X¹ê²{²Ó¸`ªº´y­z¡A¥þ®Ñ§¹¾ãªº¥N½X¹ê²{·|¥tµ¹¤U¸üÃì±µ¡C¥»®Ñ©Ò¹ê²{ªº¤À¥¬¦¡ªA°È®Ø¬[¦}¥¼¸g¾úÄY­V¥Í²£Àô¹Òªº¦ÒÅç¡A©w¦³«Ü¦h¤£¨¬¤§³B¡A§Æ±æ¤é¦Z¦³¾÷·|¦AÄ~Äò§¹µ½¡C¼g®Ñ¹ï§Ú¨Ó»¡¬O¤@­Ó¤ñ¸û¤jªº¬D¾Ô¡A¦]¬°¤@­Ó§Þ³NÂI¡A¦Û¤v¯à²z¸Ñ©M·|¥Î¤å¦rªí¹F¥X¨ÓÅý§O¤H¤]¯à²z¸Ñ¬O§¹¥þ¤£¦Pªº¼h¦¸¡C¤ß¤¤¯S§OÊØÊסA¾á¤ß¦]¬°¦Û¤v¹ïª¾ÃѲz¸Ñ¤£°÷²`¤J¡A¥H¤Î¤å¦rªí¹F¤ô¥­¤£°÷¡A¾É­P¹ïŪªÌ¦³©Ò»~¾É¡C®Ñ¤¤Ãø§K¦³¿ù»~©M²¨º|¤§³B¡A¦b¦¹Àµ½ÐŪªÌ§åµû«ü¥¿¡C

§õ·~§L
¤º®e²¤¶¡G

¤À¥¬¦¡ªA°È®Ø¬[¥Ø«e¤w¸g¬O¤¬Ápºô¤½¥q¹ê²{SOAªA°È¤Æ¬[ºcªº¥²³Æ°ò¦³]¬I¡A¹ï¤_¤@¯ëªº¶}µo¦Ó¨¥¡A¦Û¤v­n¿W¥ß¹ê²{¤@­Ó¤À¥¬¦¡ªA°È®Ø¬[¡AÁÙ¬O¦³¬Û·íªºÃø«×ªº¡C¥»®Ñ³ò¶¦p¦ó±q¹s¶}©l¹ê²{¤@­Ó¥i¥Îªº¤À¥¬¦¡ªA°È®Ø¬[¡A¤¶²Ð¤F¹ê²{¤À¥¬¦¡ªA°È®Ø¬[©Ò»Ý§Þ³Nªº¤è¤è­±­±¡C¹ï¤_±q¨Æ¶}µo¦æ·~ªºµ{§Ç­û¦³«Ü¤jªº²{¹ê»ù­È¡C¯à°÷±q¤¤¾Ç²ß¨ì«Ü¦hªº¹ê¥Î§Þ³N¡A¤F¸Ñ¦}´x´¤¹ê²{¤À¥¬¦¡ªA°È®Ø¬[©Ò»Ýªº«ä·Q¥H¤Î§Þ³N¡C

¥Ø¿ý¡G

²Ä1³¹ ±`¥ÎªºRPC®Ø¬[ 1
1.1 RPC®Ø¬[­ì²z 1
1.2 RMI¤¶²Ð 2
1.2.1 ­ì¥ÍRMI¥N½X¥Ü¨Ò 3
1.2.2 RMI¬ï³z¨¾¤õùÙ 5
1.3 CXF/Axis2¤¶²Ð 7
1.3.1 CXF¤¶²Ð 7
1.3.2 Axis2¤¶²Ð 14
1.4 Thrift¤¶²Ð 21
1.4.1 Thrift¤u§@­ì²z¤¶²Ð 23
1.4.2 Thrift IDL»yªk»¡©ú 26
1.4.3 °ò¤_Apache ThriftªºJavaª©§¹¾ã®×¨Ò 28
1.4.4 °ò¤_Javaª`¸ÑªºÂ²¤Æ¹ê²{ 36
1.5 gRPC¤¶²Ð 42
1.5.1 protobuf3»yªk¤¶²Ð 43
1.5.2 gRPC¨Ï¥Î¥Ü¨Ò 45
1.6 HTTP Client¤¶²Ð 53
1.6.1 ºc«ØHttpClient¹ï¶H 54
1.6.2 ºc«ØURI¹ï¶H 55
1.6.3 ºc«Ø½Ð¨D¹ï¶H¡]HttpGet¡BHttpPost¡^ 56
1.6.4 HttpClientµo°_½Õ¥Î¤ÎÀò¨ú½Õ¥Îªð¦^µ²ªG 56
1.7 ¹ê²{¦Û¤vªºRPC®Ø¬[ 61
1.8 RPC®Ø¬[»P¤À¥¬¦¡ªA°È®Ø¬[ªº°Ï§O 68
1.9 ¥»³¹¤pµ² 68
²Ä2³¹ ¤À¥¬¦¡ªA°È®Ø¬[Á`Åé¬[ºc»P¥\¯à 69
2.1 ­±¦VªA°ÈªºÅé¨t¬[ºc¡]SOA¡^ 69
2.1.1 ­±¦VªA°È¬[ºc­S¦¡ 69
2.1.2 ªA°È©î¤À­ì«h 71
2.2 ¤À¥¬¦¡ªA°È®Ø¬[²{¹ê»Ý¨D 72
2.3 ¤À¥¬¦¡ªA°È®Ø¬[Á`Åé¬[ºc¤Î©Ò»Ýªº§Þ³N·§­z 72
2.4 ¥»³¹¤pµ² 74
²Ä3³¹ ¤À¥¬¦¡ªA°È®Ø¬[§Ç¦C¤Æ»P¤Ï§Ç¦C¤Æ¹ê²{ 75
3.1 §Ç¦C¤Æ­ì²z¤Î±`¥Îªº§Ç¦C¤Æ¤¶²Ð 75
3.2 JavaÀq»{ªº§Ç¦C¤Æ 77
3.3 XML§Ç¦C¤Æ®Ø¬[¤¶²Ð 80
3.4 JSON§Ç¦C¤Æ®Ø¬[¤¶²Ð 82
3.5 Hessian§Ç¦C¤Æ®Ø¬[¤¶²Ð 87
3.6 protobuf§Ç¦C¤Æ®Ø¬[¤¶²Ð 88
3.7 protostuff§Ç¦C¤Æ®Ø¬[¤¶²Ð 93
3.8 Thrift§Ç¦C¤Æ®Ø¬[¤¶²Ð 98
3.9 Avro§Ç¦C¤Æ®Ø¬[¤¶²Ð 100
3.9.1 Avro¤¶²Ð 100
3.9.2 Avro IDL»y¨¥¤¶²Ð 101
3.9.3 Schema©w¸q¤¶²Ð 103
3.9.4 Maven°t¸m¤Î¨Ï¥ÎIDL»PSchema¦Û°Ê¥Í¦¨¥N½X 103
3.9.5 Avro§Ç¦C¤Æ/¤Ï§Ç¦C¤Æ¹ê²{ 105
3.10 JBoss Marshalling§Ç¦C¤Æ®Ø¬[¤¶²Ð 110
3.11 §Ç¦C¤Æ®Ø¬[ªº¿ï«¬ 112
3.12 ¹ê²{¦Û¤vªº§Ç¦C¤Æ¤u¨ã¤ÞÀº 113
3.13 ¥»³¹¤pµ² 118
²Ä4³¹ ¹ê²{¤À¥¬¦¡ªA°È®Ø¬[ªA°Èªºµo¥¬»P¤Þ¤J 119
4.1 Spring Framework®Ø¬[·§­z 119
4.1.1 Spring Framework¤¶²Ð 119
4.1.2 Spring Framework©PÃä¥ÍºA¶µ¥Ø¤¶²Ð 121
4.2 FactoryBeanªº¯µ±K 122
4.2.1 FactoryBeanªº§@¥Î¤Î¨Ï¥Î³õ´º 123
4.2.2 FactoryBean¹ê²{­ì²z¤Î¥Ü¨Ò»¡©ú 124
4.3 Spring®Ø¬[¹ï¤_¤w¦³RPC®Ø¬[¶°¦¨ªº¤ä«ù 127
4.3.1 Spring¤ä«ù¶°¦¨RPC®Ø¬[¤¶²Ð 127
4.3.2 °ò¤_RmiProxyFactoryBean ¹ê²{RMI»PSpringªº¶°¦¨ 128
4.3.3 °ò¤_HttpInvokerProxyFactoryBean¹ê²{HTTP Invoker»PSpringªº¶°¦¨ 131
4.3.4 °ò¤_HessianProxyFactoryBean¹ê²{Hessian»PSpringªº¶°¦¨ 133
4.4 ¹ê²{¦Û©w¸qªA°È®Ø¬[»PSpringªº¶°¦¨ 136
4.4.1 ¹ê²{»·µ{ªA°Èªºµo¥¬ 136
4.4.2 ¹ê²{»·µ{ªA°Èªº¤Þ¤J 144
4.5 ¦bSpring¤¤©w¨î¦Û¤vªºXML¼Ðñ 150
4.6 ¥»³¹¤pµ² 158
²Ä5³¹ ¤À¥¬¦¡ªA°È®Ø¬[ª`¥U¤¤¤ß 159
5.1 ªA°Èª`¥U¤¤¤ß¤¶²Ð 159
5.2 ZooKeeper¹ê²{ªA°Èªºª`¥U¤¤¤ß­ì²z 161
5.2.1 ZooKeeper¤¶²Ð 161
5.2.2 ³¡¸pZooKeeper 161
5.2.3 ZkClient¨Ï¥Î¤¶²Ð 164
5.2.4 ZooKeeper¹ê²{ªA°Èª`¥U¤¤¤ß 173
5.3 ¶°¦¨ZooKeeper¹ê²{¦Û¤vªºªA°Èª`¥U»Pµo²{ 175
5.3.1 ªA°Èª`¥U¤¤¤ßªA°È´£¨Ñ¤è 175
5.3.2 ªA°Èª`¥U¤¤¤ßªA°È®ø¶O¤è 176
5.3.3 ªA°Èª`¥U¤¤¤ß¹ê²{ 178
5.4 ¥»³¹¤pµ² 189
²Ä6³¹ ¤À¥¬¦¡ªA°È®Ø¬[©³¼h³q«H¹ê²{ 190
6.1 Java I/O¼Ò«¬¤ÎI/OÃþ®wªº¶i¤Æ 190
6.1.1 Linux¤U¹ê²{ªºI/O¼Ò«¬ 190
6.1.2 Java»y¨¥¹ê²{ªºI/O¼Ò«¬ 194
6.1.3 Java Classic I/O¡]Blocking I/O¡^¤¶²Ð 194
6.1.4 Java Non-blocking I/O¡]NIO¡^¤¶²Ð 211
6.1.5 NIO2¤ÎAsynchronous I/O¤¶²Ð 233
6.2 Netty¨Ï¥Î¤¶²Ð 255
6.2.1 Netty¶}µo¤Jªù 256
6.2.2 NettyÖߥ]/¥b¥]°ÝÃD¸Ñ¨M 265
6.3 ¨Ï¥ÎNettyºc«ØªA°È®Ø¬[©³¼h³q«H 320
6.3.1 ºc«Ø¤À¥¬¦¡ªA°È®Ø¬[NettyªA°ÈºÝ 320
6.3.2 ºc«Ø¤À¥¬¦¡ªA°È®Ø¬[ªA°È½Õ¥ÎºÝNetty«È¤áºÝ 330
6.4 ¥»³¹¤pµ² 347
²Ä7³¹ ¤À¥¬¦¡ªA°È®Ø¬[³n­t¸ü¹ê²{ 348
7.1 ³n­t¸üªº¹ê²{­ì²z 348
7.2 ­t¸ü§¡¿Å±`¥Îºâªk 349
7.2.1 ³n­t¸üÀH¾÷ºâªk¹ê²{ 349
7.2.2 ³n­t¸ü¥[ÅvÀH¾÷ºâªk¹ê²{ 350
7.2.3 ³n­t¸ü½ü¸ßºâªk¹ê²{ 351
7.2.4 ³n­t¸ü¥[Åv½ü¸ßºâªk¹ê²{ 352
7.2.5 ³n­t¸ü·½¦a§}hashºâªk¹ê²{ 354
7.3 ¹ê²{¦Û¤vªº³n­t¸ü¾÷¨î 355
7.4 ³n­t¸ü¦b¤À¥¬¦¡ªA°È®Ø¬[¤¤ªºÀ³¥Î 357
7.5 ¥»³¹¤pµ² 361
²Ä8³¹ ¤À¥¬¦¡ªA°È®Ø¬[ªA°Èªv²z 362
8.1 ªA°Èªv²z¤¶²Ð 362
8.2 ªA°Èªv²zªºÂ²³æ¹ê²{ 364
8.2.1 ªA°È¤À²Õ¸ô¥Ñ¹ê²{ 364
8.2.2 ²³æªA°È¨Ì¿àÃö¨t¤ÀªR¹ê²{ 374
8.2.3 ªA°È½Õ¥ÎÃì¸ô¸òÂܹê²{­ì²z 380
8.3 ¥»³¹¤pµ² 380
ªþ¿ýA ¦p¦ó°t¸m¹B¦æ¥»®Ñ§¹¦¨ªº¤À¥¬¦¡ªA°È®Ø¬[ 381
§Ç¡G