ÀÖÓãµç¾º

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

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

    ³¬È«iOSÃæÊÔ×ÊÁÏ£¬¿´ÍêÄ㻹µ£ÐÄÃæÊÔÂð£¿

    ¸üÐÂʱ¼ä:2016Äê03ÔÂ02ÈÕ17ʱ20·Ö À´Ô´:ÀÖÓã²¥¿Í ä¯ÀÀ´ÎÊý:

    ¡¡¡¡

    ¡¡¡¡

    ¡¡¡¡1¡¢ÍøÂç¶àÏß³Ì(¡ï¡ï¡ï)

    ¡¡¡¡Ò»¡¢¶àÏ̵߳ĵײãʵÏÖ


    ¡¡¡¡1> Ê×ÏȸãÇå³þʲôÊÇÏ̡߳¢Ê²Ã´ÊǶàÏß³Ì

    ¡¡¡¡2> MachÊǵÚÒ»¸öÒÔ¶àÏ̷߳½Ê½´¦ÀíÈÎÎñµÄϵͳ£¬Òò´Ë¶àÏ̵߳ĵײãʵÏÖ»úÖÆÊÇ»ùÓÚMachµÄÏß³Ì

    ¡¡¡¡3> ¿ª·¢ÖкÜÉÙÓÃMach¼¶µÄỊ̈߳¬ÒòΪMach¼¶µÄÏß³ÌûÓÐÌṩ¶àÏ̵߳Ļù±¾ÌØÕ÷£¬Ïß³ÌÖ®¼äÊǶÀÁ¢µÄ

    ¡¡¡¡4> ¿ª·¢ÖÐʵÏÖ¶àÏ̵߳ķ½°¸

    ¡¡¡¡• CÓïÑÔµÄPOSIX½Ó¿Ú£º#include?

    ¡¡¡¡• OCµÄNSThread?

    ¡¡¡¡• CÓïÑÔµÄGCD½Ó¿Ú(ÐÔÄÜ×îºÃ£¬´úÂë¸ü¾«¼ò)?

    ¡¡¡¡OCµÄNSOperationºÍNSOperationQueue(»ùÓÚGCD)


    ¡¡¡¡¶þ¡¢Ï̼߳äÔõôͨÐÅ£¿


    ¡¡¡¡http://blog.csdn.net/bawangxx/article/details/50546314


    ¡¡¡¡Èý¡¢ÍøÂçͼƬ´¦ÀíÎÊÌâÖÐÔõô½â¾öÒ»¸öÏàͬµÄÍøÂçµØÖ·ÖØ¸´ÇëÇóµÄÎÊÌ⣿


    ¡¡¡¡ÀûÓÃ×Öµä(ͼƬµØÖ·Îªkey£¬ÏÂÔØ²Ù×÷Ϊvalue)


    ¡¡¡¡ËÄ¡¢ÓÃNSOpertionºÍNSOpertionQueue´¦ÀíA,B,CÈý¸öÏß³Ì,ÒªÇóÖ´ÐÐÍêA,Bºó²ÅÄÜÖ´ÐÐC,Ôõô×ö£¿


    ¡¡¡¡// ´´½¨¶ÓÁÐ

    ¡¡¡¡NSOperationQueue *queue = [[NSOperationQueue alloc] init];

    ¡¡¡¡// ´´½¨3¸ö²Ù×÷

    ¡¡¡¡NSOperation *a = [NSBlockOperation blockOperationWithBlock:^{

    ¡¡¡¡NSLog(@”operationA---“);

    ¡¡¡¡}];

    ¡¡¡¡NSOperation *b = [NSBlockOperation blockOperationWithBlock:^{

    ¡¡¡¡NSLog(@”operationB---“);

    ¡¡¡¡}];

    ¡¡¡¡NSOperation *c = [NSBlockOperation blockOperationWithBlock:^{

    ¡¡¡¡NSLog(@”operationC---“);

    ¡¡¡¡}];

    ¡¡¡¡// Ìí¼ÓÒÀÀµ

    ¡¡¡¡[c addDependency:a];

    ¡¡¡¡[c addDependency:b];

    ¡¡¡¡// Ö´ÐвÙ×÷

    ¡¡¡¡[queue addOperation:a];

    ¡¡¡¡[queue addOperation:b];

    ¡¡¡¡[queue addOperation:c];


    ¡¡¡¡Îå¡¢ÁоÙcocoaÖг£¼û¶Ô¼¸ÖÖ¶àÏ̵߳ÄʵÏÖ£¬²¢Ì¸Ì¸¶àḬ̈߳²È«µÄ¼¸ÖÖ½â¾ö°ì·¨¼°¶àḬ̈߳²È«Ôõô¿ØÖÆ£¿


    ¡¡¡¡1> Ö»ÔÚÖ÷Ïß³ÌˢзÃÎÊUI

    ¡¡¡¡2> Èç¹ûÒª·ÀÖ¹×ÊÔ´ÇÀ¶á£¬µÃÓÃsynchronized½øÐмÓËø±£»¤

    ¡¡¡¡3> Èç¹ûÒì²½²Ù×÷Òª±£Ö¤Ḭ̈߳²È«µÈÎÊÌâ, ¾¡Á¿Ê¹ÓÃGCD(ÓÐЩº¯ÊýĬÈϾÍÊǰ²È«µÄ)


    ¡¡¡¡Áù¡¢GCDÄÚ²¿ÔõôʵÏÖ?


    ¡¡¡¡1> iOSºÍOS XµÄºËÐÄÊÇXNUÄںˣ¬GCDÊÇ»ùÓÚXNUÄÚºËʵÏÖµÄ

    ¡¡¡¡2> GCDµÄAPIÈ«²¿ÔÚlibdispatch¿âÖÐ

    ¡¡¡¡3> GCDµÄµ×²ãʵÏÖÖ÷ÒªÓÐDispatch QueueºÍDispatch Source

    ¡¡¡¡Dispatch Queue £º¹ÜÀíblock(²Ù×÷) ?

    ¡¡¡¡DispatchSource £º´¦Àíʼþ


    ¡¡¡¡Æß¡¢ÄãÓùýNSOperationQueueô?Èç¹ûÓùý»òÕßÁ˽âµÄ»°£¬ÄãΪʲôҪʹÓÃNSOperationQueue£¬ÊµÏÖÁËʲô?ÇëÃèÊöËüºÍGCDµÄÇø±ðºÍÀàËÆµÄµØ·½(Ìáʾ£º¿ÉÒÔ´ÓÁ½ÕßµÄʵÏÖ»úÖÆºÍÊÊÓ÷¶Î§À´ÃèÊö)


    ¡¡¡¡1> GCDÊÇ´¿CÓïÑÔµÄAPI£¬NSOperationQueueÊÇ»ùÓÚGCDµÄOC°æ±¾·â×°

    ¡¡¡¡2> GCDÖ»Ö§³ÖFIFOµÄ¶ÓÁУ¬NSOperationQueue¿ÉÒԺܷ½±ãµØµ÷ÕûÖ´ÐÐ˳Ðò¡¢ÉèÖÃ×î´ó²¢·¢ÊýÁ¿

    ¡¡¡¡3> NSOperationQueue¿ÉÒÔÔÚÇáËÉÔÚOperation¼äÉèÖÃÒÀÀµ¹ØÏµ£¬¶øGCDÐèҪдºÜ¶àµÄ´úÂë²ÅÄÜʵÏÖ

    ¡¡¡¡4> NSOperationQueueÖ§³ÖKVO£¬¿ÉÒÔ¼à²âoperationÊÇ·ñÕýÔÚÖ´ÐÐ(isExecuted)¡¢ÊÇ·ñ½áÊø(isFinished)£¬ÊÇ·ñÈ¡Ïû(isCanceld)

    ¡¡¡¡5> GCDµÄÖ´ÐÐËٶȱÈNSOperationQueue¿ì

    ¡¡¡¡ÈÎÎñÖ®¼ä²»Ì«»¥ÏàÒÀÀµ£ºGCD

    ¡¡¡¡ÈÎÎñÖ®¼äÓÐÒÀÀµ\»òÕßÒª¼àÌýÈÎÎñµÄÖ´ÐÐÇé¿ö£ºNSOperationQueue


    ¡¡¡¡°Ë¡¢ ¼ÈÈ»Ìáµ½GCD£¬ÄÇôÎÊÒ»ÏÂÔÚʹÓÃGCDÒÔ¼°blockʱҪעÒâЩʲô?ËüÃÇÁ½ÊÇÒ»»ØÊ¶ùô?blockÔÚARCÖкʹ«Í³µÄMRCÖеÄÐÐΪºÍÓ÷¨ÓÐûÓÐÊ²Ã´Çø±ð£¬ÐèҪעÒâЩʲô?


    ¡¡¡¡BlockµÄʹÓÃ×¢Ò⣺

    ¡¡¡¡1. blockµÄÄÚ´æ¹ÜÀí?

    ¡¡¡¡2. ·Àֹѭ»·retian?

    ¡¡¡¡·ÇARC(MRC)£º__block?

    ¡¡¡¡ARC£º__weak\__unsafe_unretained


    ¡¡¡¡¾Å¡¢ÔÚÒì²½Ïß³ÌÖÐÏÂÔØºÜ¶àͼƬ,Èç¹ûʧ°ÜÁË,¸ÃÈçºÎ´¦Àí?Çë½áºÏRunLoopÀ´Ì¸Ì¸½â¾ö·½°¸.(Ìáʾ:ÔÚÒì²½Ïß³ÌÖÐÆô¶¯Ò»¸öRunLoopÖØÐ·¢ËÍÍøÂçÇëÇó,ÏÂÔØÍ¼Æ¬)


    ¡¡¡¡1> ÖØÐÂÏÂÔØÍ¼Æ¬

    ¡¡¡¡2> ÏÂÔØÍê±Ï, ÀûÓÃRunLoopµÄÊäÈëÔ´»Øµ½Ö÷Ïß³ÌË¢ÐÂUIImageVIUew


    ¡¡¡¡Ê®¡¢SocketµÄʵÏÖÔ­Àí¼°SocketÖ®¼äÊÇÈçºÎͨÐŵÄ


    ¡¡¡¡http://blog.csdn.net/jiajia4336/article/details/8798421

    ¡¡¡¡http://no001.blog.51cto.com/1142339/555344/


    ¡¡¡¡Ê®Ò»¡¢ httpЭÒéµÄʵÏÖ


    ¡¡¡¡http://www.blogjava.net/crespochen/archive/2008/10/22/235948.html


    ¡¡¡¡Ê®¶þ¡¢Ê²Ã´ÊÇTCPÁ¬½ÓµÄÈý´ÎÎÕÊÖ


    ¡¡¡¡µÚÒ»´ÎÎÕÊÖ£º¿Í»§¶Ë·¢ËÍsyn°ü(syn=j)µ½·þÎñÆ÷£¬²¢½øÈëSYN_SEND״̬£¬µÈ´ý·þÎñÆ÷È·ÈÏ£»

    ¡¡¡¡µÚ¶þ´ÎÎÕÊÖ£º·þÎñÆ÷ÊÕµ½syn°ü£¬±ØÐëÈ·ÈϿͻ§µÄSYN(ack=j+1)£¬Í¬Ê±×Ô¼ºÒ²·¢ËÍÒ»¸öSYN°ü(syn=k)£¬¼´SYN+ACK°ü£¬´Ëʱ·þÎñÆ÷½øÈëSYN_RECV״̬£»

    ¡¡¡¡µÚÈý´ÎÎÕÊÖ£º¿Í»§¶ËÊÕµ½·þÎñÆ÷µÄSYN+ACK°ü£¬Ïò·þÎñÆ÷·¢ËÍÈ·ÈϰüACK(ack=k+1)£¬´Ë°ü·¢ËÍÍê±Ï£¬¿Í»§¶ËºÍ·þÎñÆ÷½øÈëESTABLISHED״̬£¬Íê³ÉÈý´ÎÎÕÊÖ¡£

    ¡¡¡¡ÎÕÊÖ¹ý³ÌÖд«Ë͵İüÀï²»°üº¬Êý¾Ý£¬Èý´ÎÎÕÊÖÍê±Ïºó£¬¿Í»§¶ËÓë·þÎñÆ÷²ÅÕýʽ¿ªÊ¼´«ËÍÊý¾Ý¡£ÀíÏë״̬Ï£¬TCPÁ¬½ÓÒ»µ©½¨Á¢£¬ÔÚͨÐÅË«·½ÖеÄÈκÎÒ»·½Ö÷¶¯¹Ø±ÕÁ¬½Ó֮ǰ£¬TCP Á¬½Ó¶¼½«±»Ò»Ö±±£³ÖÏÂÈ¥¡£¶Ï¿ªÁ¬½Óʱ·þÎñÆ÷ºÍ¿Í»§¶Ë¾ù¿ÉÒÔÖ÷¶¯·¢Æð¶Ï¿ªTCPÁ¬½ÓµÄÇëÇ󣬶Ͽª¹ý³ÌÐèÒª¾­¹ý“ËÄ´ÎÎÕÊÖ”(¹ý³Ì¾Í²»Ï¸Ð´ÁË£¬¾ÍÊÇ·þÎñÆ÷ºÍ¿Í»§¶Ë½»»¥£¬×îÖÕÈ·¶¨¶Ï¿ª)


    ¡¡¡¡Ê®Èý¡¢httpЭÒéµÄ×é³ÉºÍÌØÐÔ


    ¡¡¡¡×é³É£ºhttpÇëÇóÓÉÈý²¿·Ö×é³É£¬·Ö±ðÊÇ£ºÇëÇóÐС¢ÏûÏ¢±¨Í·¡¢ÇëÇóÕýÎÄÌØÐÔ£ºHTTPЭÒéµÄÖ÷ÒªÌØµã¿É¸ÅÀ¨ÈçÏ£º1.Ö§³Ö¿Í»§/·þÎñÆ÷ģʽ¡£2.¼òµ¥¿ìËÙ£º¿Í»§Ïò·þÎñÆ÷ÇëÇó·þÎñʱ£¬Ö»Ðè´«ËÍÇëÇó·½·¨ºÍ·¾¶¡£ÇëÇó·½·¨³£ÓõÄÓÐGET¡¢HEAD¡¢POST¡£Ã¿ÖÖ·½·¨¹æ¶¨Á˿ͻ§Óë·þÎñÆ÷ÁªÏµµÄÀàÐͲ»Í¬¡£ÓÉÓÚHTTPЭÒé¼òµ¥£¬Ê¹µÃHTTP·þÎñÆ÷µÄ³ÌÐò¹æÄ£Ð¡£¬Òò¶øÍ¨ÐÅËٶȺܿì¡£3.Áé»î£ºHTTPÔÊÐí´«ÊäÈÎÒâÀàÐ͵ÄÊý¾Ý¶ÔÏó¡£ÕýÔÚ´«ÊäµÄÀàÐÍÓÉContent-Type¼ÓÒÔ±ê¼Ç¡£4.ÎÞÁ¬½Ó£ºÎÞÁ¬½ÓµÄº¬ÒåÊÇÏÞÖÆÃ¿´ÎÁ¬½ÓÖ»´¦ÀíÒ»¸öÇëÇó¡£·þÎñÆ÷´¦ÀíÍê¿Í»§µÄÇëÇ󣬲¢ÊÕµ½¿Í»§µÄÓ¦´ðºó£¬¼´¶Ï¿ªÁ¬½Ó¡£²ÉÓÃÕâÖÖ·½Ê½¿ÉÒÔ½ÚÊ¡´«Êäʱ¼ä¡£5.ÎÞ״̬£ºHTTPЭÒéÊÇÎÞ״̬ЭÒé¡£ÎÞ״̬ÊÇָЭÒé¶ÔÓÚÊÂÎñ´¦ÀíûÓмÇÒäÄÜÁ¦¡£È±ÉÙ״̬Òâζ×ÅÈç¹ûºóÐø´¦ÀíÐè񻂡̾µÄÐÅÏ¢£¬ÔòËü±ØÐëÖØ´«£¬ÕâÑù¿ÉÄܵ¼ÖÂÿ´ÎÁ¬½Ó´«Ë͵ÄÊý¾ÝÁ¿Ôö´ó¡£ÁíÒ»·½Ã棬ÔÚ·þÎñÆ÷²»ÐèÒªÏÈǰÐÅϢʱËüµÄÓ¦´ð¾Í½Ï¿ì¡£


    ¡¡¡¡Ê®ËÄ¡¢ÔÚÏîĿʲôʱºòÑ¡ÔñʹÓÃGCD£¬Ê²Ã´Ê±ºòÑ¡ÔñNSOperation?


    ¡¡¡¡ÏîÄ¿ÖÐʹÓÃNSOperationµÄÓŵãÊÇNSOperationÊǶÔÏ̵߳ĸ߶ȳéÏó£¬ÔÚÏîÄ¿ÖÐʹÓÃËü£¬»áʹÏîÄ¿µÄ³ÌÐò½á¹¹¸üºÃ£¬×ÓÀ໯NSOperationµÄÉè¼ÆË¼Â·£¬ÊǾßÓÐÃæÏò¶ÔÏóµÄÓŵã(¸´Óᢷâ×°)£¬Ê¹µÃʵÏÖÊǶàÏß³ÌÖ§³Ö£¬¶ø½Ó¿Ú¼òµ¥£¬½¨ÒéÔÚ¸´ÔÓÏîÄ¿ÖÐʹÓá£ÏîÄ¿ÖÐʹÓÃGCDµÄÓŵãÊÇGCD±¾Éí·Ç³£¼òµ¥¡¢Ò×Ó㬶ÔÓÚ²»¸´ÔӵĶàÏ̲߳Ù×÷£¬»á½ÚÊ¡´úÂëÁ¿£¬¶øBlock²ÎÊýµÄʹÓ㬻áÊÇ´úÂë¸üΪÒ×¶Á£¬½¨ÒéÔÚ¼òµ¥ÏîÄ¿ÖÐʹÓá£


    ¡¡¡¡Ê®Îå¡¢OCÖеÄЭÒéºÍjavaÖеĽӿڸÅÄîÓкβ»Í¬?


    ¡¡¡¡OBCÖеĴúÀíÓÐ2²ãº¬Ò壬¹Ù·½¶¨ÒåΪ formalºÍinformal protocol¡£Ç°ÕߺÍJava½Ó¿ÚÒ»Ñù¡£?informal protocolÖеķ½·¨ÊôÓÚÉè¼ÆÄ£Ê½¿¼ÂÇ·¶³ë£¬²»ÊDZØÐëʵÏֵ쬵«ÊÇÈç¹ûÓÐʵÏÖ£¬¾Í»á¸Ä±äÀàµÄÊôÐÔ¡£?Æäʵ¹ØÓÚÕýʽЭÒ飬Àà±ðºÍ·ÇÕýʽЭÒéÎÒºÜÔçǰѧϰµÄʱºò´óÖ¿´¹ý£¬Ò²Ð´ÔÚÁËѧϰ½Ì³ÌÀï?“·ÇÕýʽЭÒé¸ÅÄîÆäʵ¾ÍÊÇÀà±ðµÄÁíÒ»ÖÖ±í´ï·½Ê½“ÕâÀïÓÐһЩÄã¿ÉÄÜÏ£ÍûʵÏֵķ½·¨£¬Äã¿ÉÒÔʹÓÃËûÃǸüºÃµÄÍê³É¹¤×÷”¡£?Õâ¸öÒâ˼ÊÇ£¬ÕâЩÊÇ¿ÉÑ¡µÄ¡£±ÈÈçÎÒÃÅÒªÒ»¸ö¸üºÃµÄ·½·¨£¬ÎÒÃǾͻáÉêÃ÷Ò»¸öÕâÑùµÄÀà±ðȥʵÏÖ¡£È»ºóÄãÔÚºóÆÚ¿ÉÒÔÖ±½ÓʹÓÃÕâЩ¸üºÃµÄ·½·¨¡£?Õâô¿´£¬×ܾõµÃÀà±ðÕâÍæÒâ¶ùÓеãÏñЭÒéµÄ¿ÉѡЭÒé¡£"?ÏÖÔÚÀ´¿´£¬ÆäʵprotocalÒѾ­¿ªÊ¼¶ÔÁ½Õß¶¼Í³Ò»ºÍ¹æ·¶ÆðÀ´²Ù×÷£¬ÒòΪ×ÊÁÏÖÐ˵“·ÇÕýʽЭÒéʹÓÃinterfaceÐÞÊΓ£¬?ÏÖÔÚÎÒÃÇ¿´µ½Ð­ÒéÖÐÁ½¸öÐÞÊδÊ£º“±ØÐëʵÏÖ(@requied)”ºÍ“¿ÉѡʵÏÖ(@optional)”¡£


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