ÖøÃûÉç½»ÍøÕ¾LinkedInµÄJava¼Ü¹¹¼¼Êõ
Ç¿ÁÒÍÆ¼ö£ºÖøÃûÉç½»ÍøÕ¾LinkedInµÄJava¼Ü¹¹¼¼Êõ
ÔÚJavaOne 2008µÄ»áÒéÉÏ£¬ÖøÃûÉç½»ÍøÕ¾LinkedInµÄ¿ª·¢Õß×öÁË2¸ö¹ØÓÚLinkedIn
ÍøÕ¾µÄ¼Ü¹¹¼¼ÊõµÄÑݽ²£¬Ä¿Ç°ÕâÁ½¸öÑݽ²µÄPPTÒѾ¿ÉÒÔÏÂÔØÁË¡£ÏÂÔØµØÖ·ÈçÏ£º
LinkedIn - A Professional Social Network Built with Java™ Technologies and Agile Practices
LinkedIn Communication Architecture
ÐèҪע²á²Å¿ÉÒÔÏÂÔØ£¬ÄÜÏÂÔØPDF°æ±¾¡£
¿ÉÒÔ¿´Ò»ÏÂLinkedInÍøÕ¾µÄ»ù±¾Çé¿ö£º
1¡£2ǧ2°ÙÍòÓû§
2¡£Ã¿¸öÔÂ4°ÙÍò¶ÀÁ¢Óû§·ÃÎÊ
3¡£Ã¿Ìì4ǧÍòpage view
4¡£Ã¿Ìì2°ÙÍòËÑË÷Á÷Á¿
5¡£Ã¿Ìì25ÍòÑûÇë·¢ËÍ
6¡£Ã¿Ìì1°ÙÍòµÄ»Ø´ðÌá½»
7¡£Ã¿Ìì2°ÙÍòµÄemailÏûÏ¢·¢ËÍ
ÕâÊÇÒ»¸öÊÀ½ç¶¥¼â¼¶±ðÁ÷Á¿µÄÍøÕ¾ÁË£¬¿´¿´LinkedInµÄϵͳ¼Ü¹¹£º
* ²Ù×÷ϵͳ£ºSolaris (running on Sun x86 platform and Sparc)
* Ó¦Ó÷þÎñÆ÷£ºTomcat and Jetty as application servers
* Êý¾Ý¿â£ºOracle and MySQL as DBs
* ûÓÐORM£¬Ö±½ÓÓÃJDBC No ORM (such as Hibernate); they use straight JDBC
* ÓÃActiveMQÔÚ·¢ËÍJMS. (It’s partitioned by type of messages. Backed by MySQL.)
* ÓÃlucene×öËÑË÷Lucene as a foundation for search
* Spring×öÂß¼¼Ü¹¹Spring as glue
ÏÂÃæÊÇËæ×ÅÁ÷Á¿Ôö¼Ó£¬LinkedInµÄ¼Ü¹¹ÑÝ»¯£º
2003£2005
1¡£Ò»¸öÕûÌåµÄweb³ÌÐò£¬
2¡£Ò»¸öºËÐÄÊý¾Ý¿â£¬
3¡£ÔÚCloudÖлº´æËùÓÐnetworkͼ£¬CloudÊÇÓÃÀ´×ö»º´æµÄ¶ÀÁ¢server¡£
4¡£ÓÃlucene×öËÑË÷£¬Ò²ÅÜÔÚCloudÖС£
2006Äê
1¡£¸´ÖÆÁíÍâÒ»¸öÊý¾Ý¿â£¬¼õÉÙÖ±½ÓloadºËÐÄÊý¾Ý¿â£¬ÁíÍâÒ»¸öserverÀ´¹ÜÀí·ÇÖ»¶ÁÊý¾Ý¿âµÄÊý¾Ý¸üС£
2¡£°ÑËÑË÷´ÓCloudÖÐÒÆ³öÀ´£¬µ¥¶ÀÒ»¸öserverÅÜËÑË÷
3¡£Ôö¼ÓDatabusÊý¾Ý×ÜÏßÀ´¸üÐÂÊý¾Ý£¬ÕâÊÇͨ¹ý·Ö²¼Ê½¸üеĺËÐÄ×é¼þ£¬ÈκÎ×é¼þ¶¼ÐèÒªDatabus
2008Äê
1¡£WebApp²»ÔÙÈκÎÊÂÇé¶¼Ëü×Ô¼º×ö£¬°ÑÒµÎñÂß¼·Ö³ÉºÜ¶à²¿·Ö£¬Í¨¹ýserverȺÀ´×ö¡£WebAppÈÔÈ»ÌṩÓû§½çÃæ¸øÓû§£¬µ«ÊÇ£¬Í¨¹ýserverȺÀ´¹ÜÀíÓû§×ÊÁÏ£¬Ð¡×éµÈµÈ¡£
2¡£Ã¿¸ö·þÎñÓÐ×Ô¼ºµÄÓòÊý¾Ý¿â
3¡£Ðµļܹ¹ÔÊÐíÆäËûÓ¦ÓÃÁ´½ÓLinkedIn£¬±ÈÈçÔö¼ÓµÄÕÐÆ¸ºÍ¹ã¸æÒµÎñ¡£
The Cloud
1¡£CloudÊÇÕû¸ö¼Ü¹¹×îÖØÒªµÄ²¿·Ö£¬Õû¸öLinkedInµÄÍøÂçͼ¶¼»º´æÔÚCloudÀïÃæ
2¡£Cloud´óС£º22M nodes, 120M edges
3¡£ÐèÒª12GB RAM
4¡£ÔÚÉú²ú»·¾³Òª
Ïà¹ØÎĵµ£º
JCP SE/EE Ö´ÐÐίԱ»á
Õýʽ½ÓÊÜÁË
JSR 330
—— Dependency Injection for Java¡£¸Ã¹æ·¶ÓÚ ½ñÄê 5 Ô 9 ÈÕ
ÓÉ Google µÄ Bob Lee ÒÔ¼° SpringSource µÄ Rod Johnson ×÷Ϊ¹æ·¶Áìµ¼Ìá½»¸ø JCP£¬ÏÖÔÚÒѾÕýʽ·¢²¼£¬²»µÃ²»¸Ð̾¸Ã¹æ·¶±ê×¼»¯¹ý³ÌÖ®¿ì¡£ÔÚ ×îÖÕͶƱ½á¹ûÖÐ
£¬14 Ʊͨ¹ý£¬1 ƱδͶ£¬1 Ʊ·´¶Ô¡£
J ......
ÕâÊÇÒ»¸öÓÃJAVA W3C DOM ½øÐÐXML²Ù×÷µÄÀý×Ó£¬°üº¬Á˲éѯ¡¢Ôö¼Ó¡¢Ð޸ġ¢É¾³ý¡¢±£´æµÄ»ù±¾²Ù×÷¡£½ÏÍêÕûµÄÃèÊöÁËÒ»¸öXMLµÄÕû¸ö²Ù×÷Á÷³Ì¡£ÊʺϸÕÈëÃÅJAVA XML²Ù×÷µÄÅóÓѲο¼ºÍѧϰ¡£
¼ÙÉèÓÐXMLÎļþ£ºtest1.xml
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book>
< ......
1¡¢FACTORY£¨¹¤³§Ä£Ê½£©
2¡¢BUILDER£¨½¨Ôìģʽ£©
3¡¢FACTORY METHOD£¨¹¤³§·½·¨Ä£Ê½£©
4¡¢PROTOTYPE£¨ÔʼģÐÍģʽ£©
5¡¢SINGLETON£¨µ¥Àýģʽ£©
6¡¢ADAPTER£¨ÊÊÅäÆ÷ģʽ£©
7¡¢BRIDGE£¨ÇÅÁºÄ£Ê½£©
8¡¢COMPOSITE£¨ºÏ³Éģʽ£©
9¡¢DECORATOR£¨×°ÊÎģʽ£©
10¡¢FACADE£¨ÃÅÃæÄ£Ê½£©
11¡¢FLYWEIGHT£¨ÏíԪģʽ£© ......
¼òµ¥µÄ˵µ¥Àý¾ÍÊÇ Ö»ÄÜÓÐÒ»¸öʵÀý£¬ËùÒԵط½Óõ½µÄʵÀý¶¼ÊÇͬһ¸ö¡£
¾ÍºÃÏñ¼ÒÈ˳Է¹£¬×À×ÓÊǵ¥ÀýµÄ£¬´ó¼ÒÓõÄÊÇͬһ¸ö¡£¶øÍëÊǶàÀýµÄ£¬Ã¿È˶¼ÓÐ×Ô¼¸µÄ¡£ ÏÂÃæÊǾßÌåµÄÀý×Ó£º
Javaģʽ֮µ¥Àýģʽ£º
µ¥Àýģʽȷ±£Ò»¸öÀàÖ»ÓÐÒ»¸öʵÀý£¬×ÔÐÐÌṩÕâ¸öʵÀý²¢ÏòÕû¸öÏµÍ ......
package org.bupt.test;
import java.util.ArrayList;
class MyResource {
ArrayList<Integer> arrList= new ArrayList<Integer>();
public MyResource(ArrayList<Integer> arrList) {
this.arrList = arrList;
&nbs ......