ÀÖÓãµç¾º

½ÌÓýÐÐÒµA¹ÉIPOµÚÒ»¹É£¨¹ÉƱ´úÂë 003032£©

È«¹ú×Éѯ/ͶËßÈÈÏߣº400-618-4000

JavaÃæÊÔÌâ¼°´ð°¸»ã×Ü

¸üÐÂʱ¼ä:2019Äê12ÔÂ06ÈÕ11ʱ20·Ö À´Ô´:ÍøÂç ä¯ÀÀ´ÎÊý:

java»ù´¡ÒÔ¼°¶à¸ö“±È½Ï”

1.Collections.sortÅÅÐòÄÚ²¿Ô­Àí

ÔÚJava 6ÖÐArrays.sort()ºÍCollections.sort()ʹÓõÄÊÇMergeSort£¬¶øÔÚJava 7ÖУ¬ÄÚ²¿ÊµÏÖ»»³ÉÁËTimSort£¬Æä¶Ô¶ÔÏó¼ä±È½ÏµÄʵÏÖÒªÇó¸ü¼ÓÑϸñ¡£

2.hashMapÔ­Àí£¬java8×öµÄ¸Ä±ä

´Ó½á¹¹ÊµÏÖÀ´½²£¬HashMapÊÇÊý×é+Á´±í+ºìºÚÊ÷(JDK1.8Ôö¼ÓÁ˺ìºÚÊ÷²¿·Ö)ʵÏֵġ£HashMapÖ»ÔÊÐíÒ»Ìõ¼Ç¼µÄ¼üΪnull£¬ÔÊÐí¶àÌõ¼Ç¼µÄֵΪnull¡£HashMap·ÇḬ̈߳²È«¡£ConcurrentHashMapḬ̈߳²È«¡£½â¾öÅöײ£ºµ±³öÏÖ³åͻʱ£¬ÔËÓÃÀ­Á´·¨£¬½«¹Ø¼ü´ÊΪͬÒå´ÊµÄ½áµãÁ´½ÓÔÚÒ»¸öµ¥Á´±íÖУ¬É¢ÁÐ±í³¤m£¬Ôò¶¨ÒåÒ»¸öÓÉm¸öÍ·Ö¸Õë×é³ÉµÄÖ¸ÕëÊý×éT£¬µØÖ·ÎªiµÄ½áµã²åÈëÒÔT(i)ΪͷָÕëµÄµ¥Á´±íÖС£Java8ÖУ¬³åÍ»µÄÔªËØ³¬¹ýÏÞÖÆ(8)£¬ÓúìºÚÊ÷Ìæ»»Á´±í¡£

3.String ºÍ StringBuilder µÄÇø±ð

1)¿É±äÓë²»¿É±ä£ºString²»¿É±ä£¬Ã¿Ò»´ÎÖ´ÐГ+”¶¼»áÐÂÉú³ÉÒ»¸öжÔÏó£¬ËùÒÔÆµ·±¸Ä±ä×Ö·û´®µÄÇé¿öÖв»ÓÃString£¬ÒÔ½ÚÊ¡ÄÚ´æ¡£

2)ÊÇ·ñ¶àḬ̈߳²È«£ºStringBuilder²¢Ã»ÓжԷ½·¨½øÐмÓͬ²½Ëø£¬ËùÒÔÊÇ·ÇḬ̈߳²È«µÄ¡£StringBufferºÍString¾ùḬ̈߳²È«¡£

4.Vector Óë Array µÄÇø±ð

1)ArrayListÔÚÄÚ´æ²»¹»Ê±Ä¬ÈÏÊÇÀ©Õ¹50% + 1¸ö£¬VectorÊÇĬÈÏÀ©Õ¹1±¶¡£

2)VectorÊôÓÚḬ̈߳²È«¼¶±ðµÄ£¬µ«ÊÇ´ó¶àÊýÇé¿öϲ»Ê¹ÓÃVector£¬ÒòΪḬ̈߳²È«ÐèÒª¸ü´óµÄϵͳ¿ªÏú¡£

5.HashMap Óë Hashtable µÄÇø±ð

1) ÀúÊ·Ô­Òò: Hashtable¼Ì³ÐDictonaryÀà, HashMap¼Ì³Ð×ÔabstractMap

2) HashMapÔÊÐí¿ÕµÄ¼üÖµ¶Ô, µ«Ö»ÄÜÓÐÒ»¸ö¿Õ¶ÔÏ󣬶øHashTable²»ÔÊÐí¡£

3) HashTableͬ²½£¬¶øHashMap·Çͬ²½£¬Ð§ÂÊÉϱÈHashTableÒª¸ß

6.ConncurrentHashMapºÍhashtable±È½Ï(Á½¸öÏ̲߳¢·¢·ÃÎÊmapÖÐͬһÌõÁ´£¬Ò»¸öÏß³ÌÔÚβ²¿É¾³ý£¬Ò»¸öÏß³ÌÔÚÇ°Ãæ±éÀú²éÕÒ£¬ÎÊÎªÊ²Ã´Ç°ÃæµÄÏ̻߳¹ÄÜÕýÈ·µÄ²éÕÒµ½ºóÃæ±»ÁíÒ»¸öÏß³Ìɾ³ýµÄ½Úµã)

ConcurrentHashMapÈÚºÏÁËhashtableºÍhashmap¶þÕßµÄÓÅÊÆ¡£hashtableÊÇ×öÁËͬ²½µÄ£¬¼´Ḭ̈߳²È«£¬hashmapδ¿¼ÂÇͬ²½¡£ËùÒÔhashmapÔÚµ¥Ïß³ÌÇé¿öÏÂЧÂʽϸß¡£hashtableÔڵĶàÏß³ÌÇé¿öÏ£¬Í¬²½²Ù×÷Äܱ£Ö¤³ÌÐòÖ´ÐеÄÕýÈ·ÐÔ¡£µ«ÊÇhashtableÊÇ×èÈûµÄ£¬Ã¿´Îͬ²½Ö´ÐеÄʱºò¶¼ÒªËø×¡Õû¸ö½á¹¹£¬ConcurrentHashMapÕýÊÇΪÁ˽â¾öÕâ¸öÎÊÌâ¶øµ®ÉúµÄ£¬

ConcurrentHashMapÔÊÐí¶à¸öÐ޸IJÙ×÷²¢·¢½øÐУ¬Æä¹Ø¼üÔÚÓÚʹÓÃÁËËø·ÖÀë¼¼Êõ(Ò»¸öArray±£´æ¶à¸öObject£¬Ê¹ÓÃÕâЩ¶ÔÏóµÄËø×÷Ϊ·ÖÀëËø£¬get/putÊ±Ëæ»úʹÓÃÈÎÒâÒ»¸ö)¡£ËüʹÓÃÁ˶à¸öËøÀ´¿ØÖƶÔhash±íµÄ²»Í¬²¿·Ö½øÐеÄÐ޸ġ£ÔÚJDK 1.6ÖУ¬ÓÐHashEntry½á¹¹´æÔÚ£¬Ã¿´Î²åÈ뽫ÐÂÌí¼Ó½Úµã×÷ΪÁ´µÄÍ·½Úµã(ͬHashMapʵÏÖ)£¬¶øÇÒÿ´Îɾ³ýÒ»¸ö½Úµãʱ£¬»á½«É¾³ý½Úµã֮ǰµÄËùÓнڵ㿽±´Ò»·Ý×é³ÉÒ»¸öеÄÁ´£¬¶ø½«µ±Ç°½ÚµãµÄÉÏÒ»¸ö½ÚµãµÄnextÖ¸Ïòµ±Ç°½ÚµãµÄÏÂÒ»¸ö½Úµã£¬´Ó¶øÔÚɾ³ýÒÔºóÓÐÁ½ÌõÁ´´æ ÔÚ£¬Òò¶ø¿ÉÒÔ±£Ö¤¼´Ê¹ÔÚͬһÌõÁ´ÖУ¬ÓÐÒ»¸öÏß³ÌÔÚɾ³ý£¬¶øÁíÒ»¸öÏß³ÌÔÚ±éÀú£¬ËüÃǶ¼Äܹ¤×÷Á¼ºÃ£¬ÒòΪ±éÀúµÄÏß³ÌÄܼÌÐøÊ¹ÓÃÔ­ÓеÄÁ´¡£

Java8ÖУ¬²ÉÓÃvolatile HashEntry±£´æÊý¾Ý£¬tableÔªËØ×÷ÎªËø;´ÓtableÊý×é+µ¥ÏòÁ´±í¼ÓÉÏÁ˺ìºÚÊ÷¡£ºìºÚÊ÷ÊÇÒ»ÖÖÌØ±ðµÄ¶þ²æ²éÕÒÊ÷£¬ÌØÐÔΪ£º1.½ÚµãΪºì»òÕßºÚ 2.¸ù½ÚµãΪºÚ 3.Ò¶½ÚµãΪºÚ 4.Ò»½ÚµãΪºì£¬ÔòÒ¶½ÚµãΪºÚ 5.Ò»½Úµãµ½Æä×ÓËï½ÚµãËùÓз¾¶ÉϵĺڽڵãÊýÄ¿Ïàͬ¡£


7.ArrayListÓë LinkedList µÄÇø±ð?

ÆÄΪÃ÷ÏÔµÄÇø±ðÊÇ

ArrrayList µ×²ãµÄÊý¾Ý½á¹¹ÊÇÊý×飬֧³ÖËæ»ú·ÃÎÊ£¬¶ø LinkedList µÄµ×²ãÊý¾Ý½á¹¹ÊéÁ´±í£¬²»Ö§³ÖËæ»ú·ÃÎÊ¡£Ê¹ÓÃϱê·ÃÎÊÒ»¸öÔªËØ£¬ArrayList µÄʱ¼ä¸´ÔÓ¶ÈÊÇ O(1)£¬¶ø LinkedList ÊÇ O(n)¡£LinkedListÊÇË«ÏòÁ´±í

8.Java ÖУ¬Comparator ÓëComparable ÓÐʲô²»Í¬?

Comparable ½Ó¿ÚÓÃÓÚ¶¨Òå¶ÔÏóµÄ×ÔȻ˳Ðò£¬ÊÇÅÅÐò½Ó¿Ú£¬¶ø comparator ͨ³£ÓÃÓÚ¶¨ÒåÓû§¶¨ÖƵÄ˳Ðò£¬ÊDZȽϽӿÚ¡£ÎÒÃÇÈç¹ûÐèÒª¿ØÖÆÄ³¸öÀàµÄ´ÎÐò£¬¶ø¸ÃÀà±¾Éí²»Ö§³ÖÅÅÐò(¼´Ã»ÓÐʵÏÖComparable½Ó¿Ú)£¬ÄÇôÎÒÃǾͿÉÒÔ½¨Á¢Ò»¸ö“¸ÃÀàµÄ±È½ÏÆ÷”À´½øÐÐÅÅÐò¡£Comparable ×ÜÊÇÖ»ÓÐÒ»¸ö£¬µ«ÊÇ¿ÉÒÔÓжà¸ö comparator À´¶¨Òå¶ÔÏóµÄ˳Ðò¡£

9.³éÏóÀàÊÇʲô?ËüÓë½Ó¿ÚÓÐÊ²Ã´Çø±ð?ÄãΪʲôҪʹÓùý³éÏóÀà?

³éÏóÀàÊÇÖ¸²»ÔÊÐí±»ÊµÀý»¯µÄÀà;Ò»¸öÀàÖ»ÄÜʹÓÃÒ»´Î¼Ì³Ð¹ØÏµ¡£µ«ÊÇ£¬Ò»¸öÀàÈ´¿ÉÒÔʵÏÖ¶à¸öinterface¡£

abstract classºÍinterfaceËù·´Ó³³öµÄÉè¼ÆÀíÄͬ¡£Æäʵabstract class±íʾµÄÊÇ"is-a"¹ØÏµ£¬interface±íʾµÄÊÇ"like-a"¹ØÏµ

ʵÏÖ³éÏóÀàºÍ½Ó¿ÚµÄÀà±ØÐëʵÏÖÆäÖеÄËùÓз½·¨¡£³éÏóÀàÖпÉÒÔÓзdzéÏó·½·¨¡£½Ó¿ÚÖÐÔò²»ÄÜÓÐʵÏÖ·½·¨¡£µ«ÔÚJava8ÖÐÔÊÐí½Ó¿ÚÖÐÓо²Ì¬Ä¬Èϵķ½·¨¡£

½Ó¿ÚÖж¨ÒåµÄ±äÁ¿Ä¬ÈÏÊÇpublic static final ÐÍ£¬ÇÒ±ØÐë¸øÆä³õÖµ£¬ËùÒÔʵÏÖÀàÖв»ÄÜÖØÐ¶¨Ò壬Ҳ²»ÄܸıäÆäÖµ¡£³éÏóÀàÖеıäÁ¿Ä¬ÈÏÊÇ friendly ÐÍ£¬ÆäÖµ¿ÉÒÔÔÚ×ÓÀàÖÐÖØÐ¶¨Ò壬Ҳ¿ÉÒÔÖØÐ¸³Öµ¡£

×ÓÀàÖÐʵÏÖ¸¸ÀàÖеijéÏó·½·¨Ê±£¬¿É¼ûÐÔ¿ÉÒÔ´óÓÚµÈÓÚ¸¸ÀàÖеÄ;¶ø½Ó¿ÚʵÏÖÀàÖÐµÄ½Ó¿Ú ·½·¨µÄ¿É¼ûÐÔÖ»ÄÜÓë½Ó¿ÚÖÐÏàͬ(public)¡£

ÓóéÏóÀàÊÇΪÁËÖØÓ᣼õÉÙ±àÂëÁ¿£¬½µµÍñîºÏÐÔ¡£

10.ÃèÊö Java ÖеÄÖØÔØºÍÖØÐ´?

ÖØÔØºÍÖØÐ´¶¼ÔÊÐíÄãÓÃÏàͬµÄÃû³ÆÀ´ÊµÏÖ²»Í¬µÄ¹¦ÄÜ£¬µ«ÊÇÖØÔØÊDZàÒëʱ»î¶¯£¬¶øÖØÐ´ÊÇÔËÐÐʱ»î¶¯¡£Äã¿ÉÒÔÔÚͬһ¸öÀàÖÐÖØÔØ·½·¨£¬µ«ÊÇÖ»ÄÜÔÚ×ÓÀàÖÐÖØÐ´·½·¨¡£ÖØÐ´±ØÐëÒªÓм̳Ð

ÖØÐ´£º£¨1£©ÔÚ×ÓÀàÖпÉÒÔ¸ù¾ÝÐèÒª¶Ô´Ó»ùÀàÖм̳ÐÀ´µÄ·½·¨½øÐÐÖØÐ´¡££¨2£©ÖØÐ´µÄ·½·¨ºÍ±»ÖØÐ´µÄ·½·¨±ØÐë¾ßÓÐÏàͬ·½·¨Ãû³Æ¡¢²ÎÊýÁбíºÍ·µ»ØÀàÐÍ¡££¨3£©ÖØÐ´·½·¨²»ÄÜʹÓñȱ»ÖØÐ´µÄ·½·¨¸üÑϸñµÄ·ÃÎÊȨÏÞ¡£

ÖØÔØµÄʱºò£¬·½·¨ÃûÒªÒ»Ñù£¬µ«ÊDzÎÊýÀàÐͺ͸öÊý²»Ò»Ñù£¬·µ»ØÖµÀàÐÍ¿ÉÒÔÏàͬҲ¿ÉÒÔ²»Ïàͬ¡£ÎÞ·¨ÒÔ·µ»ØÐͱð×÷ÎªÖØÔØº¯ÊýµÄÇø·Ö±ê×¼¡£


11.CollectionÓëCollectionsµÄÇø±ðÊÇʲô?

CollectionÊÇJava¼¯ºÏ¿ò¼ÜÖеĻù±¾½Ó¿Ú;

CollectionsÊÇJava¼¯ºÏ¿ò¼ÜÌṩµÄÒ»¸ö¹¤¾ßÀ࣬ÆäÖаüº¬ÁË´óÁ¿ÓÃÓÚ²Ù×÷»ò·µ»Ø¼¯ºÏµÄ¾²Ì¬·½·¨¡£


12.JavaÖжà̬µÄʵÏÖÔ­Àí

Ëùν¶à̬£¬Ö¸µÄ¾ÍÊǸ¸ÀàÒýÓÃÖ¸Ïò×ÓÀà¶ÔÏ󣬵÷Ó÷½·¨Ê±»áµ÷ÓÃ×ÓÀàµÄʵÏÖ¶ø²»ÊǸ¸ÀàµÄʵÏÖ¡£¶à̬µÄʵÏֵĹؼüÔÚÓÚ“¶¯Ì¬°ó¶¨”¡£


13.objectÖж¨ÒåÁËÄÄЩ·½·¨?

clone(), equals(), hashCode(), toString(), notify(), notifyAll(),

wait(), finalize(), getClass()

14.Java·ºÐͺÍÀàÐͲÁ³ý?

·ºÐͼ´²ÎÊý»¯ÀàÐÍ£¬ÔÚ´´½¨¼¯ºÏʱ£¬Ö¸¶¨¼¯ºÏÔªËØµÄÀàÐÍ£¬´Ë¼¯ºÏÖ»ÄÜ´«Èë¸ÃÀàÐ͵IJÎÊý¡£ÀàÐͲÁ³ý£ºjava±àÒëÆ÷Éú³ÉµÄ×Ö½ÚÂë²»°üº¬·ºÐÍÐÅÏ¢£¬ËùÒÔÔÚ±àÒëʱ²Á³ý£º1.·ºÐÍÓÃtop1¸¸ÀàÌæ»»;2.ÒÆ³ý¡£


15.˵³ö 5 ¸ö JDK 1.8 ÒýÈëµÄÐÂÌØÐÔ?

Java 8 ÔÚ Java ÀúÊ·ÉÏÊÇÒ»¸ö¿ª´´Ðµİ汾£¬ÏÂÃæ JDK 8 ÖÐ 5 ¸öÖ÷ÒªµÄÌØÐÔ£º

Lambda ±í´ïʽ;ÔÊÐíÏñ¶ÔÏóÒ»Ñù´«µÝÄäÃûº¯Êý Stream API£¬³ä·ÖÀûÓÃÏÖ´ú¶àºË CPU£¬¿ÉÒÔд³öºÜ¼ò½àµÄ´úÂë ;Date Óë Time API£¬×îÖÕ£¬ÓÐÒ»¸öÎȶ¨¡¢¼òµ¥µÄÈÕÆÚºÍʱ¼ä¿â¿É¹©ÄãʹÓà À©Õ¹·½·¨£¬ÏÖÔÚ£¬½Ó¿ÚÖпÉÒÔÓо²Ì¬¡¢Ä¬ÈÏ·½·¨; ÖØ¸´×¢½â£¬ÏÖÔÚÄã¿ÉÒÔ½«ÏàͬµÄ×¢½âÔÚͬһÀàÐÍÉÏʹÓöà´Î¡£

16.javaÖÐpublic£¬private£¬protectedÒÔ¼°Ä¬ÈϹؼü×ֵķÃÎÊ·¶Î§£º

Protected¿ÉÔÚ°üÄÚ¼°°üÍâ×ÓÀà·ÃÎÊ£¬defaultÖ»ÄÜͬһ°üÄÚ·ÃÎÊ£¬prvateÖ»ÄÜͬһÀà


17. ³£ÓÃÊý¾Ý½á¹¹£º

¼¯ºÏ£¬ÏßÐԽṹ(Êý×飬¶ÓÁУ¬Á´±íºÍÕ»)£¬Ê÷Ðνṹ£¬Í¼×´½á¹¹


18.Java ÖÐµÄ TreeMap ÊDzÉÓÃʲôÊ÷ʵÏÖµÄ?(´ð°¸)

Java ÖÐµÄ TreeMap ÊÇʹÓúìºÚÊ÷ʵÏֵġ£


19. ÄäÃûÄÚ²¿ÀàÊÇʲô?ÈçºÎ·ÃÎÊÔÚÆäÍâÃæ¶¨ÒåµÄ±äÁ¿?

ÄäÃûÄÚ²¿ÀàÒ²¾ÍÊÇûÓÐÃû×ÖµÄÄÚ²¿À࣬ÄäÃûÄÚ²¿ÀàÖ»ÄÜʹÓÃÒ»´Î£¬Ëüͨ³£ÓÃÀ´¼ò»¯´úÂë±àд¡£

ÄäÃûÄÚ²¿ÀàÖ»ÄÜ·ÃÎÊÍⲿÀàµÄFinal±äÁ¿. Java 8¸ü¼ÓÖÇÄÜ£ºÈç¹û¾Ö²¿±äÁ¿±»ÄäÃûÄÚ²¿Àà·ÃÎÊ£¬ÄÇô¸Ã¾Ö²¿±äÁ¿Ï൱ÓÚ×Ô¶¯Ê¹ÓÃÁËfinalÐÞÊΡ£


20. ÈçºÎ´´½¨µ¥Àýģʽ?˵ÁËË«ÖØ¼ì²é£¬Ëû˵²»ÊÇḬ̈߳²È«µÄ¡£ÈçºÎ¸ßЧµÄ´´½¨Ò»¸öḬ̈߳²È«µÄµ¥Àý?

Ò»ÖÖÊÇͨ¹ýö¾Ù£¬Ò»ÖÖÊÇͨ¹ý¾²Ì¬ÄÚ²¿Àà¡£


21.poll() ·½·¨ºÍ remove() ·½·¨µÄÇø±ð?

poll() ºÍ

remove() ¶¼ÊÇ´Ó¶ÓÁÐÖÐÈ¡³öÒ»¸öÔªËØ£¬µ«ÊÇ poll() ÔÚ»ñÈ¡ÔªËØÊ§°ÜµÄʱºò»á·µ»Ø¿Õ£¬µ«ÊÇ remove() ʧ°ÜµÄʱºò»áÅ׳öÒì³£¡£


22.дһ¶Î´úÂëÔÚ±éÀú ArrayList Ê±ÒÆ³ýÒ»¸öÔªËØ

ʹÓõü´úÆ÷¡£

Iterator itr = list.iterator();

while(itr.hasNext()) {if(…) { itr.remove();} }

javaÃæÊÔÌâ»ã×Ü


JVM

1.JVMÈçºÎ¼ÓÔØÒ»¸öÀàµÄ¹ý³Ì£¬Ë«Ç×ίÅÉÄ£ÐÍÖÐÓÐÄÄЩ·½·¨

Àà¼ÓÔØ¹ý³Ì£º¼ÓÔØ¡¢ÑéÖ¤(ÑéÖ¤½×¶Î×÷ÓÃÊDZ£Ö¤ClassÎļþµÄ×Ö½ÚÁ÷°üº¬µÄÐÅÏ¢·ûºÏJVM¹æ·¶£¬²»»á¸øJVMÔì³ÉΣº¦)¡¢×¼±¸(×¼±¸½×¶ÎΪ±äÁ¿·ÖÅäÄÚ´æ²¢ÉèÖÃÀà±äÁ¿µÄ³õʼ»¯)¡¢½âÎö(½âÎö¹ý³ÌÊǽ«³£Á¿³ØÄڵķûºÅÒýÓÃÌæ»»³ÉÖ±½ÓÒýÓÃ)¡¢³õʼ»¯¡£

Ë«Ç×ίÅÉÄ£ÐÍÖз½·¨£ºË«Ç×ίÅÉÊÇÖ¸Èç¹ûÒ»¸öÀàÊÕµ½ÁËÀà¼ÓÔØµÄÇëÇ󣬲»»á×Ô¼ºÏȳ¢ÊÔ¼ÓÔØ£¬ÏÈÕÒ¸¸Àà¼ÓÔØÆ÷È¥Íê³É¡£µ±¶¥²ãÆô¶¯Àà¼ÓÔØÆ÷±íʾÎÞ·¨¼ÓÔØÕâ¸öÀàµÄʱºò£¬×ÓÀà²Å»á³¢ÊÔ×Ô¼ºÈ¥¼ÓÔØ¡£µ±»Øµ½·¢ÆðÕß¼ÓÔØÆ÷»¹ÎÞ·¨¼ÓÔØÊ±£¬²¢²»»áÏòÏÂÕÒ£¬¶øÊÇÅ׳öClassNotFoundÒì³£¡£

·½·¨£ºÆô¶¯(Bootstrap)Àà¼ÓÔØÆ÷£¬±ê×¼À©Õ¹(Extension)Àà¼ÓÔØÆ÷£¬Ó¦ÓóÌÐòÀà¼ÓÔØÆ÷(Application )£¬ÉÏÏÂÎÄ(Custom)Àà¼ÓÔØÆ÷¡£ÒâÒåÊÇ·ÀÖ¹ÄÚ´æÖгöÏÖ¶à·ÝͬÑùµÄ×Ö½ÚÂë ¡£

2.GCËã·¨(ʲôÑùµÄ¶ÔÏóËãÊǿɻØÊÕ¶ÔÏ󣬿ɴïÐÔ·ÖÎö)£¬CMSÊÕ¼¯Æ÷

jvmÊÇÈçºÎÅжÏÒ»¸ö¶ÔÏóÒѾ­±ä³ÉÁ˿ɻØÊյēÀ¬»ø”£¬Ò»°ãÊÇÁ½¸ö·½·¨£ºÒýÓüÇÊý·¨ºÍ¸ùËÑË÷Ëã·¨¡£ÒýÓüÇÊý·¨Ã»°ì·¨½â¾öÑ­»·ÒýÓõÄÎÊÌ⣬ËùÒÔÓøùËÑË÷¡£´ÓһϵÁеĔGC Roots“¶ÔÏó¿ªÊ¼ÏòÏÂËÑË÷£¬ËÑË÷×ß¹ýµÄ·¾¶³ÆÎªÒýÓÃÁ´¡£µ±Ò»¸ö¶ÔÏóµ½”GC Roots“Ö®¼äûÓÐÒýÓÃÁ´Ê±£¬±»³ÆÎªÒýÓò»¿É´ï¡£ÒýÓò»¿Éµ½µÄ¶ÔÏó±»ÈÏΪÊǿɻØÊյĶÔÏó¡£

¼¸ÖÖÀ¬»øÊÕ¼¯Æ÷£º1£¬Serial New/Serial Old(´®ÐÐ)£¬2£¬Parrallel New (²¢ÐÐ)£¬3£¬Parrallel Scavenge£¬4£¬Parrallel Old£¬5£¬CMS(CMSÊÕ¼¯Æ÷ÊÇÒ»¸öÒÔ»ñµÃ×î¶Ì»ØÊÕÍ£¶Ùʱ¼äΪĿ±êµÄÊÕ¼¯Æ÷£¬ËüÊÇÒ»ÖÖ²¢·¢ÊÕ¼¯Æ÷£¬²ÉÓõÄÊÇMark-sweepËã·¨¡£)£¬6£¬G1(ÊÇÒ»¿î²¢ÐÐÓë²¢·¢ÊÕ¼¯Æ÷£¬²¢Çҿɽ¨Á¢¿ÉÔ¤²âµÄÍ£¶Ùʱ¼äÄ£ÐÍ£¬ÕûÌåÉÏÊÇ»ùÓÚ±ê¼ÇÇåÀí£¬¾Ö²¿²ÉÓø´ÖÆ)


3.JVM·ÖΪÄÄÐ©Çø£¬Ã¿Ò»¸öÇø¸ÉÂðµÄ?

1)·½·¨Çø(method)£º±»ËùÓеÄÏ̹߳²Ïí¡£·½·¨Çø°üº¬ËùÓеÄÀàÐÅÏ¢ºÍ¾²Ì¬±äÁ¿¡£

2)¶Ñ(heap)£º±»ËùÓеÄÏ̹߳²Ïí£¬´æ·Å¶ÔÏóʵÀýÒÔ¼°Êý×飬Java¶ÑÊÇGCµÄÖ÷񻂿Óò¡£

3)Õ»(stack)£ºÃ¿¸öḬ̈߳üº¬Ò»¸öÕ»Çø£¬Õ»Öб£´æÒ»Ð©¾Ö²¿±äÁ¿µÈ¡£

4)³ÌÐò¼ÆÊýÆ÷£ºÊǵ±Ç°Ïß³ÌÖ´ÐеÄ×Ö½ÚÂëµÄÐÐָʾÆ÷¡£

4.JVMÐÂÉú´ú£¬ÀÏÄê´ú£¬³Ö¾Ã´ú£¬¶¼´æ´¢ÄÄЩ¶«Î÷?

³Ö¾Ã´úÖ÷Òª´æ·ÅµÄÊÇJavaÀàµÄÀàÐÅÏ¢£¬ÓëÀ¬»øÊÕ¼¯ÒªÊÕ¼¯µÄJava¶ÔÏó¹ØÏµ²»´ó¡£ËùÓÐÐÂÉú³ÉµÄ¶ÔÏóÊ×Ïȶ¼ÊÇ·ÅÔÚÄêÇá´úµÄ£¬ÄêÀÏ´úÖдæ·ÅµÄ¶¼ÊÇһЩÉúÃüÖÜÆÚ½Ï³¤µÄ¶ÔÏó¡£


5.ÄÚ´æÒç³öºÍÄÚ´æÐ¹Â©£º

ÄÚ´æÒç³ö£º³ÌÐòÉêÇëÄÚ´æÊ±£¬Ã»ÓÐ×ã¹»µÄÄڴ棬out of memory;ÄÚ´æÐ¹Â©ÖµÀ¬»ø¶ÔÏóÎÞ·¨»ØÊÕ£¬¿ÉÒÔʹÓÃmemory analyzer¹¤¾ß²é¿´Ð¹Â©¡£


6.½ø³ÌÓëỊ̈߳º

½ø³ÌÖµÔËÐÐÖеijÌÐò(¶ÀÁ¢ÐÔ£¬¶¯Ì¬ÐÔ£¬²¢·¢ÐÔ)£¬Ïß³ÌÖ¸½ø³ÌÖеÄ˳ÐòÖ´ÐÐÁ÷¡£Çø±ðÊÇ£º1.½ø³Ì¼ä²»¹²ÏíÄÚ´æ 2.´´½¨½ø³Ì½øÐÐ×ÊÔ´·ÖÅäµÄ´ú¼ÛÒª´óµÃ¶à£¬ËùÒÔ¶àÏß³ÌÔڸ߲¢·¢»·¾³ÖÐЧÂʸß¡£


7.ÐòÁл¯Óë·´ÐòÁл¯£º

ÐòÁл¯Ö¸½«java¶ÔÏóת»¯Îª×Ö½ÚÐòÁУ¬·´ÐòÁл¯Ïà·´¡£Ö÷ÒªÊÇΪÁËjavaÏ̼߳äͨѶ£¬ÊµÏÖ¶ÔÏ󴫵ݡ£Ö»ÓÐʵÏÖÁËSerializable»òExternalizable½Ó¿ÚÀà¶ÔÏó²Å¿É±»ÐòÁл¯¡£


8.64 λ JVM ÖУ¬int µÄ³¤¶ÈÊǶàÊý?

Java ÖУ¬int ÀàÐͱäÁ¿µÄ³¤¶ÈÊÇÒ»¸ö¹Ì¶¨Öµ£¬ÓëÆ½Ì¨Î޹أ¬¶¼ÊÇ 32 λ¡£Òâ˼¾ÍÊÇ˵£¬ÔÚ 32 λ ºÍ 64 λ µÄJava ÐéÄâ»úÖУ¬int ÀàÐ͵ij¤¶ÈÊÇÏàͬµÄ¡£


9.Java ÖÐ WeakReference Óë SoftReferenceµÄÇø±ð?

JavaÖÐÒ»¹²ÓÐËÄÖÖÀàÐ͵ÄÒýÓá£StrongReference¡¢ SoftReference¡¢ WeakReference ÒÔ¼° PhantomReference¡£

StrongReference ÊÇ Java µÄĬÈÏÒýÓÃʵÏÖ, Ëü»á¾¡¿ÉÄܳ¤Ê±¼äµÄ´æ»îÓÚ JVM ÄÚ£¬µ±Ã»ÓÐÈκζÔÏóÖ¸ÏòËüʱ½«»á±»GC»ØÊÕ¡£

WeakReference£¬¹ËÃû˼Òå, ÊÇÒ»¸öÈõÒýÓÃ, µ±ËùÒýÓõĶÔÏóÔÚJVM ÄÚ²»ÔÙÓÐÇ¿ÒýÓÃʱ, ½«±»GC»ØÊÕ¡£

ËäÈ» WeakReference Óë SoftReference ¶¼ÓÐÀûÓÚÌá¸ß GC ºÍ ÄÚ´æµÄЧÂÊ£¬µ«ÊÇ WeakReference £¬Ò»µ©Ê§È¥×îºóÒ»¸öÇ¿ÒýÓ㬾ͻᱻ GC »ØÊÕ£¬¶ø SoftReference »á¾¡¿ÉÄܳ¤µÄ±£ÁôÒýÓÃÖ±µ½ JVM ÄÚ´æ²»×ãʱ²Å»á±»»ØÊÕ(ÐéÄâ»ú±£Ö¤), ÕâÒ»ÌØÐÔʹµÃSoftReference ·Ç³£Êʺϻº´æÓ¦ÓÃ

10.½âÊÍ Java ¶Ñ¿Õ¼ä¼° GC?

µ±Í¨¹ý Java ÃüÁîÆô¶¯

Java ½ø³ÌµÄʱºò£¬»áΪËü·ÖÅäÄÚ´æ¡£ÄÚ´æµÄÒ»²¿·ÖÓÃÓÚ´´½¨¶Ñ¿Õ¼ä£¬µ±³ÌÐòÖд´½¨¶ÔÏóµÄʱºò£¬¾Í´Ó¶Ô¿Õ¼äÖзÖÅäÄÚ´æ¡£GC ÊÇ JVM ÄÚ²¿µÄÒ»¸ö½ø³Ì£¬»ØÊÕÎÞЧ¶ÔÏóµÄÄÚ´æÓÃÓÚ½«À´µÄ·ÖÅä¡£


11.Java ÖжѺÍÕ»ÓÐÊ²Ã´Çø±ð?

JVM ÖжѺÍÕ»ÊôÓÚ²»Í¬µÄÄÚ´æÇøÓò£¬Ê¹ÓÃÄ¿µÄÒ²²»Í¬¡£Õ»³£ÓÃÓÚ±£´æ·½·¨Ö¡ºÍ¾Ö²¿±äÁ¿£¬¶ø¶ÔÏó×ÜÊÇÔÚ¶ÑÉÏ·ÖÅ䡣ջͨ³£¶¼±È¶ÑС£¬Ò²²»»áÔÚ¶à¸öÏß³ÌÖ®¼ä¹²Ïí£¬¶ø¶Ñ±»Õû¸ö JVM µÄËùÓÐÏ̹߳²Ïí¡£


²¢·¢£¬Ëø

1.volatile¹Ø¼ü×Ö£¬ Lock

²¢·¢±à³ÌÖУºÔ­×ÓÐÔÎÊÌ⣬¿É¼ûÐÔÎÊÌ⣬ÓÐÐòÐÔÎÊÌâ¡£

volatile¹Ø¼ü×ÖÄܱ£Ö¤¿É¼ûÐÔ£¬×ÖÄܽûÖ¹Ö¸ÁîÖØÅÅÐò£¬µ«ÊDz»Äܱ£Ö¤Ô­×ÓÐÔ¡£¿É¼ûÐÔÖ»Äܱ£Ö¤Ã¿´Î¶ÁÈ¡µÄÊÇÐÂÖµ£¬µ«ÊÇvolatileû°ì·¨±£Ö¤¶Ô±äÁ¿µÄ²Ù×÷µÄÔ­×ÓÐÔ¡£ÔÚÉú³ÉµÄ»á±äÓï¾äÖмÓÈëLock¹Ø¼ü×ÖºÍÄÚ´æÆÁÕÏ¡£

Lock ʵÏÖÌṩÁ˱ÈʹÓÃsynchronized ·½·¨ºÍÓï¾ä¿É»ñµÃµÄ¸ü¹ã·ºµÄËø¶¨²Ù×÷£¬ËüÄÜÒÔ¸üÓÅÑŵķ½Ê½´¦ÀíÏß³Ìͬ²½ÎÊÌâ¡£ÓÃsychronizedÐÞÊεķ½·¨»òÕßÓï¾ä¿éÔÚ´úÂëÖ´ÐÐÍêÖ®ºóËø×Ô¶¯ÊÍ·Å£¬¶øÓÃLockÐèÒªÎÒÃÇÊÖ¶¯ÊÍ·ÅËø


2.MYSQL³£ÓÃÓÅ»¯(sqlÓÅ»¯£¬±í½á¹¹ÓÅ»¯µÈ)

SQLÓÅ»¯¡¢±í»ú¹¹ÓÅ»¯¡¢Ë÷ÒýÓÅ»¯¡¢»º´æ²ÎÊýÓÅ»¯

3.javaÿ¸ÄÒ»µã¶¼ÐèÒªÖØÐ±àÒë´ò°ü²¿Êð£¬ÓÐûÓиüºÃµÄ·½·¨

¿ÉÒÔʹÓÃÈȼÓÔØ


4.½ø³Ì¼äͨÐÅÓÐÄļ¸ÖÖ·½Ê½?

1)¹ÜµÀ(Pipe)£¬2)ÃüÃû¹ÜµÀ(named pipe)£¬3)ÐźÅ(Signal)£¬4)ÏûÏ¢(Message)¶ÓÁУ¬5)¹²ÏíÄڴ棬6)ÄÚ´æÓ³Éä(mapped memory)£¬7)ÐźÅÁ¿(semaphore)£¬8)Ì×½Ó¿Ú(Socket)


5.SychronizedÐÞÊξ²Ì¬·½·¨£¬Ëø¶¨Àà±¾Éí¶ø²»ÊÇʵÀý£¬·Ç¾²Ì¬·½·¨Ëø¶¨ÊµÀý¡£


6. ²Ù×÷ϵͳʲôÇé¿öÏ»áËÀËø?

ËùνËÀËø£ºÊÇÖ¸¶à¸ö½ø³ÌÔÚÔËÐйý³ÌÖÐÒòÕù¶á×ÊÔ´¶øÔì³ÉµÄÒ»ÖÖ½©¾Ö¡£²úÉúµÄÔ­Òò£º¾ºÕù×ÊÔ´£ºµ±ÏµÍ³Öжà¸ö½ø³ÌʹÓù²Ïí×ÊÔ´£¬²¢ÇÒ×ÊÔ´²»×ãÒÔÂú×ãÐèÒª£¬»áÒýÆð½ø³Ì¶Ô×ÊÔ´µÄ¾ºÕù¶ø²úÉúËÀËø¡£½ø³Ì¼äÍÆ½øµÄ˳Ðò·Ç·¨£ºÇëÇóºÍÊÍ·Å×ÊÔ´µÄ˳Ðò²»µ±£¬Ò²Í¬Ñù»áµ¼Ö²úÉú½ø³ÌËÀËø


7.²úÉúËÀËøµÄËĸöÌõ¼þ£º

1.»¥³âÌõ¼þ(½ø³Ì¶ÀÕ¼×ÊÔ´)2.ÇëÇóÓë±£³Ö(½ø³ÌÒòÇëÇó×ÊÔ´¶ø×èÈûʱ£¬¶ÔÒÑ»ñµÃµÄ×ÊÔ´±£³Ö²»·Å) 3.²»°þ¶áÌõ¼þ(½ø³ÌÒÑ»ñµÃµÄ×ÊÔ´£¬ÔÚĩʹÓÃÍê֮ǰ£¬²»ÄÜÇ¿Ðаþ¶á) 4.Ñ­»·µÈ´ý(Èô¸É½ø³ÌÖ®¼äÐγÉÒ»ÖÖͷβÏà½ÓµÄÑ­»·µÈ´ý×ÊÔ´¹ØÏµ)


8. ÈçºÎÀí½â·Ö²¼Ê½Ëø?

ÓÉÓÚÔÚÆ½Ê±µÄ¹¤×÷ÖУ¬ÏßÉÏ·þÎñÆ÷ÊÇ·Ö²¼Ê½¶ą̀²¿ÊðµÄ£¬¾­³£»áÃæÁÙ½â¾ö·Ö²¼Ê½³¡¾°ÏÂÊý¾ÝÒ»ÖÂÐÔµÄÎÊÌ⣬ÄÇô¾ÍÒªÀûÓ÷ֲ¼Ê½ËøÀ´½â¾öÕâЩÎÊÌâ¡£


9. Ïß³Ìͬ²½Óë×èÈûµÄ¹ØÏµ?ͬ²½Ò»¶¨×èÈûÂð?×èÈûÒ»¶¨Í¬²½Âð?

Ïß³Ìͬ²½Óë·ñ ¸ú ×èÈû·Ç×èÈûû¹ØÏµ£¬Í¬²½ÊǸö¹ý³Ì£¬×èÈûÊÇÏ̵߳ÄÒ»ÖÖ״̬¡£¶à¸öÏ̲߳Ù×÷¹²Ïí±äÁ¿Ê±¿ÉÄÜ»á³öÏÖ¾ºÕù¡£ÕâʱÐèҪͬ²½À´·ÀÖ¹Á½¸öÒÔÉϵÄÏß³Ìͬʱ½øÈëÁÙ½çÇøÄÚ£¬ÔÚÕâ¸ö¹ý³ÌÖкó½øÈëÁÙ½çÇøµÄÏ߳̽«×èÈû£¬µÈ´ýÏȽøÈëµÄÏß³Ì×ß³öÁÙ½çÇø¡£


10. ͬ²½ºÍÒì²½ÓÐÊ²Ã´Çø±ð?

ͬ²½ºÍÒì²½Ã÷ÏÔµÄÇø±ð¾ÍÔÚÓÚ¡£Ò»¸öÐèÒªµÈ´ý£¬Ò»¸ö²»ÐèÒªµÈ´ý¡£Í¬²½¿ÉÒÔ±ÜÃâ³öÏÖËÀËø£¬¶ÁÔàÊý¾ÝµÄ·¢Éú£¬Ò»°ã¹²Ïíijһ×ÊÔ´µÄʱºòÓã¬Èç¹ûÿ¸öÈ˶¼ÓÐÐÞ¸ÄȨÏÞ£¬Í¬Ê±ÐÞ¸ÄÒ»¸öÎļþ£¬ÓпÉÄÜʹһ¸öÈ˶ÁÈ¡ÁíÒ»¸öÈËÒѾ­É¾³ýµÄÄÚÈÝ£¬¾Í»á³ö´í£¬Í¬²½¾Í»á°´Ë³ÐòÀ´Ð޸ġ£


11. Ï̳߳Ø

¸ù¾Ýϵͳ×ÔÉíµÄ»·¾³Çé¿ö£¬ÓÐЧµÄÏÞÖÆÖ´ÐÐÏ̵߳ÄÊýÁ¿£¬Ê¹µÃÔËÐÐЧ¹û´ïµ½ÉмѵÄ״̬¡£Ïß³ÌÖ÷ÒªÊÇͨ¹ý¿ØÖÆÖ´ÐеÄÏ̵߳ÄÊýÁ¿£¬³¬³öÊýÁ¿µÄÏß³ÌÅŶӵȺò£¬µÈ´ýÓÐÈÎÎñÖ´ÐÐÍê±Ï£¬ÔÙ´Ó¶ÓÁÐÍ·ÁËÈ¡³öÈÎÎñÖ´ÐÐ


12. ÈçºÎµ÷Óà wait()·½·¨?ʹÓà if ¿é»¹ÊÇÑ­»·?Ϊʲô?

wait() ·½·¨Ó¦¸ÃÔÚÑ­»·µ÷Óã¬ÒòΪµ±Ï̻߳ñÈ¡µ½ CPU ¿ªÊ¼Ö´ÐеÄʱºò£¬ÆäËûÌõ¼þ¿ÉÄÜ»¹Ã»ÓÐÂú×㣬ËùÒÔÔÚ´¦Àíǰ£¬Ñ­»·¼ì²âÌõ¼þÊÇ·ñÂú×ã»á¸üºÃ¡£

wait()£¬notify()ºÍnotifyall()·½·¨ÊÇjava.lang.ObjectÀàΪÏß³ÌÌṩµÄÓÃÓÚʵÏÖÏ̼߳äͨÐŵÄͬ²½¿ØÖÆ·½·¨¡£µÈ´ý»òÕß»½ÐÑ


13. ʵÏÖÏ̵߳ļ¸ÖÖ·½·¨

(1)¼Ì³ÐThreadÀà£¬ÖØÐ´runº¯Êý

(2)ʵÏÖRunnable½Ó¿Ú£¬ÖØÐ´runº¯Êý

(3)ʵÏÖCallable½Ó¿Ú£¬ÖØÐ´callº¯Êý

14. ʲôÊǶàÏ̻߳·¾³ÏµÄα¹²Ïí(false sharing)?

α¹²ÏíÊǶàÏß³Ìϵͳ(ÿ¸ö´¦ÀíÆ÷ÓÐ×Ô¼ºµÄ¾Ö²¿»º´æ)ÖÐÒ»¸öÖÚËùÖÜÖªµÄÐÔÄÜÎÊÌâ¡£»º´æÏµÍ³ÖÐÊÇÒÔ»º´æÐÐ(cache line)Ϊµ¥Î»´æ´¢µÄ¡£»º´æÐÐÊÇ2µÄÕûÊýÃݸöÁ¬Ðø×Ö½Ú£¬Ò»°ãΪ32-256¸ö×Ö½Ú¡£³£¼ûµÄ»º´æÐдóСÊÇ64¸ö×Ö½Ú¡£µ±¶àÏß³ÌÐ޸Ļ¥Ïà¶ÀÁ¢µÄ±äÁ¿Ê±£¬Èç¹ûÕâЩ±äÁ¿¹²Ïíͬһ¸ö»º´æÐУ¬¾Í»áÎÞÒâÖÐÓ°Ïì±Ë´ËµÄÐÔÄÜ£¬Õâ¾ÍÊÇα¹²Ïí¡£

Ïà¹Ø½Ì³ÌÍÆ¼ö£ºJavaÎÞËø²¢·¢±à³Ì½Ì³Ì

ÍøÂç¡¢Êý¾Ý¿â

1.TCPÈçºÎ±£Ö¤¿É¿¿´«Êä?Èý´ÎÎÕÊÖ¹ý³Ì?

ÔÚTCPµÄÁ¬½ÓÖУ¬Êý¾ÝÁ÷±ØÐëÒÔÕýÈ·µÄ˳ÐòËÍ´ï¶Ô·½¡£TCPµÄ¿É¿¿ÐÔÊÇͨ¹ý˳Ðò±àºÅºÍÈ·ÈÏ(ACK)À´ÊµÏֵġ£TCP Á¬½ÓÊÇͨ¹ýÈý´ÎÎÕÊÖ½øÐгõʼ»¯µÄ¡£Èý´ÎÎÕÊÖµÄÄ¿µÄÊÇͬ²½Á¬½ÓË«·½µÄÐòÁкźÍÈ·ÈϺŲ¢½»»» TCP ´°¿Ú´óСÐÅÏ¢¡£µÚÒ»´ÎÊǿͻ§¶Ë·¢ÆðÁ¬½Ó;µÚ¶þ´Î±íʾ·þÎñÆ÷ÊÕµ½Á˿ͻ§¶ËµÄÇëÇó;µÚÈý´Î±íʾ¿Í»§¶ËÊÕµ½ÁË·þÎñÆ÷µÄ·´À¡¡£

2. LinuxÏÂÄã³£ÓõÄÃüÁîÓÐÄÄЩ?

(1)cdÃüÁîÓÃÀ´¸Ä±äËùÔÚĿ¼¡£cd / תµ½¸ùĿ¼ÖÐcd ~ תµ½Óû§Ä¿Â¼ÏÂ

(2) lsÃüÁîÓÃÀ´²é¿´Ä¿Â¼µÄÄÚÈÝ¡£

(3)cpÃüÁîÓÃÀ´¿½±´Îļþcp

(4)mvÃüÁî mv t.txt Document °ÑÎļþt.txt ÒÆ¶¯µ½Ä¿Â¼DocumentÖС£


3. ³£ÓõÄhashËã·¨ÓÐÄÄЩ?

(1)¼Ó·¨hash£ºËùνµÄ¼Ó·¨Hash¾ÍÊǰÑÊäÈëÔªËØÒ»¸öÒ»¸öµÄ¼ÓÆðÀ´¹¹³É×îºóµÄ½á¹û¡£

(2)λÔËËãhash£ºÕâÀàÐÍHashº¯Êýͨ¹ýÀûÓø÷ÖÖλÔËËã(³£¼ûµÄÊÇÒÆÎ»ºÍÒì»ò)À´³ä·ÖµÄ»ìºÏÊäÈëÔªËØ

(3)³Ë·¨hash£º33*hash + key.charAt(i)


4. ʲôÊÇÒ»ÖÂÐÔ¹þÏ£?

Éè¼ÆÄ¿±êÊÇΪÁ˽â¾öÒòÌØÍøÖеÄÈȵã(Hot spot)ÎÊÌ⣬һÖÂÐÔhashËã·¨Ìá³öÁËÔÚ¶¯Ì¬±ä»¯µÄCache»·¾³ÖУ¬Åж¨¹þÏ£Ëã·¨ºÃ»µµÄËĸö¶¨Ò壺ƽºâÐÔ(Balance) ;µ¥µ÷ÐÔ(Monotonicity) ;·ÖÉ¢ÐÔ(Spread) ;¸ºÔØ(Load)


5. Êý¾Ý¿âÖеķ¶Ê½ÓÐÄÄЩ?

µÚÒ»·¶Ê½----Êý¾Ý¿âÖеıí(ËùÓÐ×Ö¶ÎÖµ)¶¼ÊDz»¿É·Ö¸îµÄÔ­×ÓÊý¾ÝÏî¡£

µÚ¶þ·¶Ê½----Êý¾Ý¿â±íÖеÄÿһÁж¼ºÍÖ÷¼üÏà¹Ø£¬¶ø²»ÄÜÖ»ºÍÖ÷¼üµÄijһ²¿·ÖÏà¹Ø¡£

µÚÈý·¶Ê½----Êý¾Ý¿â±íÖÐÿһÁÐÊý¾Ý¶¼ºÍÖ÷¼üÖ±½ÓÏà¹Ø£¬²»Äܼä½ÓÏà¹Ø¡£·¶Ê½ÊÇΪÁ˼õСÊý¾ÝÈßÓà¡£


6. Êý¾Ý¿âÖеÄË÷ÒýµÄ½á¹¹?ʲôÇé¿öÏÂÊʺϽ¨Ë÷Òý?

Êý¾Ý¿âÖÐË÷ÒýµÄ½á¹¹ÊÇÒ»ÖÖÅÅÐòµÄÊý¾Ý½á¹¹£¬Êý¾Ý¿âË÷ÒýÊÇͨ¹ýBÊ÷ºÍ±äÐεÄB+Ê÷ʵÏֵġ£Ê²Ã´Çé¿öϲ»ÊʺϽ¨Á¢Ë÷Òý£º1.¶ÔÓÚÔÚ²éѯ¹ý³ÌÖкÜÉÙʹÓûò²Î¿¼µÄÁÐ;¶ÔÓÚÄÇЩֻÓкÜÉÙÊý¾ÝÖµµÄÁÐ;¶ÔÓÚÄÇЩ¶¨ÒåΪimage£¬textºÍbitÊý¾ÝÀàÐ͵ÄÁÐ;µ±ÐÞ¸ÄÐÔÄÜÔ¶´óÓÚ¼ìË÷ÐÔÄÜ¡£

¸ù¾Ýϵͳ×ÔÉíµÄ»·¾³Çé¿ö£¬ÓÐЧµÄÏÞÖÆÖ´ÐÐÏ̵߳ÄÊýÁ¿£¬Ê¹µÃÔËÐÐЧ¹û´ïµ½²»´í¡£Ïß³ÌÖ÷ÒªÊÇͨ¹ý¿ØÖÆÖ´ÐеÄÏ̵߳ÄÊýÁ¿£¬³¬³öÊýÁ¿µÄÏß³ÌÅŶӵȺò£¬µÈ´ýÓÐÈÎÎñÖ´ÐÐÍê±Ï£¬ÔÙ´Ó¶ÓÁÐÍ·ÁËÈ¡³öÈÎÎñÖ´ÐÐ


7. concurrent°üÏÂÃæ£¬¶¼Óùýʲô?

java.util.concurrent¡¢java.util.concurrent.atomicºÍjava.util.concurrent.lock


8. ³£ÓõÄÊý¾Ý¿âÓÐÄÄЩ?redisÓùýÂð?

OracleÊý¾Ý¿â¡¢SQLServerÊý¾Ý¿â¡¢DB2Êý¾Ý¿â¡¢MongoDBÊý¾Ý¿â¡¢MySQLÊý¾Ý¿âµÈ


9. ÄãÖªµÀµÄ¿ªÔ´Ð­ÒéÓÐÄÄЩ?

GPL (GNU General Public License) £ºGNUͨÓù«¹²Ðí¿ÉЭÒé

LGPL (GNU Lesser General Public License) £ºGNU¿íͨÓù«¹²Ðí¿ÉЭÒé

BSD(Berkeley Software Distribution) :²®¿ËÀûÈí¼þ·Ö·¢Ðí¿ÉЭÒé

MIT(Massachusetts Institute of Technology)£ºMITÖ®ÃûÔ´×ÔÂéÊ¡Àí¹¤Ñ§Ôº

Apache (Apache License) £ºApacheÐí¿ÉЭÒé

MPL (Mozilla Public License) £ºMozilla¹«¹²Ðí¿ÉЭÒé


10.±íµ¥Ìá½»ÖУ¬getºÍpostÇø±ð

(1)get´Ó·þÎñÆ÷»ñÈ¡ÐÅÏ¢£¬postÏò·þÎñÆ÷´«ÐÅÏ¢

(2)get´«ËÍÊý¾ÝÁ¿±È½ÏС£¬post¿ÉÒԱȽϴó

(3)get°²È«ÐԱȽϵÍ

11. TCP ЭÒéÓë UDP ЭÒéÓÐÊ²Ã´Çø±ð?(answer´ð°¸)

TCP(Tranfer Control Protocol)µÄËõд£¬ÊÇÒ»ÖÖÃæÏòÁ¬½ÓµÄ±£Ö¤´«ÊäµÄЭÒ飬ÔÚ´«ÊäÊý¾ÝÁ÷ǰ£¬Ë«·½»áÏȽ¨Á¢Ò»ÌõÐéÄâµÄͨÐŵÀ¡£¿ÉÒÔºÜÉÙ²î´í´«ÊäÊý¾Ý¡£

UDP(User DataGram Protocol)µÄËõд£¬ÊÇÒ»ÖÖÎÞÁ¬½ÓµÄЭÒ飬ʹÓÃUDP´«ÊäÊý¾Ýʱ£¬Ã¿¸öÊý¾Ý¶Î¶¼ÊÇÒ»¸ö¶ÀÁ¢µÄÐÅÏ¢£¬°üÀ¨ÍêÕûµÄÔ´µØÖ·ºÍÄ¿µÄµØ£¬ÔÚÍøÂçÉÏÒÔÈκοÉÄÜµÄ Â·¾¶´«µ½Ä¿µÄµØ£¬Òò´Ë£¬ÄÜ·ñµ½´ïÄ¿µÄµØ£¬ÒÔ¼°µ½´ïÄ¿µÄµØµÄʱ¼äºÍÄÚÈݵÄÍêÕûÐÔ¶¼²»Äܱ£Ö¤¡£

ËùÒÔTCP±ØUDP¶àÁ˽¨Á¢Á¬½ÓµÄʱ¼ä¡£Ïà¶ÔUDP¶øÑÔ£¬TCP¾ßÓиü¸ßµÄ°²È«ÐԺͿɿ¿ÐÔ¡£

TCPЭÒé´«ÊäµÄ´óС²»ÏÞÖÆ£¬Ò»µ©Á¬½Ó±»½¨Á¢£¬Ë«·½¿ÉÒÔ°´ÕÕÒ»¶¨µÄ¸ñʽ´«Êä´óÁ¿µÄÊý¾Ý£¬¶øUDPÊÇÒ»¸ö²»¿É¿¿µÄЭÒ飬´óСÓÐÏÞÖÆ£¬Ã¿´Î²»Äܳ¬¹ý64K¡£


²ÂÄãϲ»¶£º

JavaÃæÊÔÌâÖ®jspÏà¹ØÖªÊ¶µã

JavaÃæÊÔÌâÖ®javaweb¼¼ÊõÓ¦ÓÃ

JavaÃæÊÔÌâÖ®J2ee³£ÓõÄÉè¼ÆÄ£Ê½

JavaÃæÊÔÌ⣺BSÓëCSµÄÁªÏµÓëÇø±ð
JavaÃæÊÔÌâTomcatµÄÓÅ»¯¾­Ñé

0 ·ÖÏíµ½£º
ºÍÎÒÃÇÔÚÏß½»Ì¸£¡
¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿