¸üÐÂʱ¼ä: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();} }

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µÄÓÅ»¯¾Ñé
±±¾©Ð£Çø