1.J2EEè½ä»äºä»ä¹å²ä½ï¼
2.各位能推荐一下jvm权威的码分书籍吗?
3.linux内存分析工具linux内存工具
J2EEè½ä»äºä»ä¹å²ä½ï¼
ä¸ãAndroidåºç¨æ们çAndroidææºéï¼åºæ¬ä¸ææçAppåºç¨ï¼å®ä»¬çå¼åè¯è¨å°±æ¯Javaã
ç¸å ³å²ä½ï¼Androidå¼åå·¥ç¨å¸ãAndroidæ¶æå¸ãAndroid驱å¨å¼åãAndroidéåå·¥ç¨å¸ï¼åæµè¯ï¼ç
äºã软件/å¼åé¢å
é¤äºå¼åææºappåºç¨ï¼çµèä¸å¸¸ç¨ç软件ç¨åºä¹å°ä¸äºç¨Javaå¼åã
ç¸å ³å²ä½ï¼è½¯ä»¶å¼åå·¥ç¨å¸ãJavaè¿ç»´å¼åå·¥ç¨å¸ç
åãç½ç«é¢å
å¨çµåé¢å以åç½ç«å¼åé¢åä¹æJavaç身影ã
ç¸å ³å²ä½ï¼webå端å¼åãç½ç«åå°å¼åå·¥ç¨å¸ãé«çº§å端å¼åå·¥ç¨å¸ç
äºãç³»ç»å¼å
æ¯å¦å¾å¤ç交æç³»ç»ï¼ç°å·²æ¯éèæå¡äº§ä¸çä¸ä¸ªå¾å¤§çé¨åï¼å®ä»¬åæ ·ä¹æ¯Javaç¼åã
ç¸å ³å²ä½ï¼åæç³»ç»-JAVAææ¯ä¸å®¶ãjavaç³»ç»æ¶æå¸ãåè¡ä¸éè¦çåå°å¼åçã
å ã大æ°æ®é¢å
没éï¼å¤§æ°æ®é¢åä¸ä¹ä¼åºç¨å°javaã
Hadoop以åå ¶ä»å¤§æ°æ®å¤çææ¯ä¸ä¼æjavaçåä¸ï¼ä¾å¦ApacheçåºäºJavaçHBaseåAccumulo以åElasticSearchasã
ç¸å ³å²ä½ï¼å¤§æ°æ®å¼åï¼java)ãJava大æ°æ®åå°å¼åã大æ°æ®é«çº§JAVAå·¥ç¨å¸ãJava ç åå·¥ç¨å¸ - 大æ°æ®æ¹åçã
Javaé¶åºç¡çå°ä¼ä¼´ï¼æ建议çJavaçå¨çº¿æç¨å»å¦ä¹ ã
第ä¸ï¼å å¦ä¹ Javaçæ ¸å¿åºï¼JavaSEï¼
JavaSEçå 容å æ¬ï¼ç¯å¢æ建ãåºç¡è¯æ³ãé¢å对象ãæ°ç»ãéåã常ç¨ç±»ãIOæµãåå°æºå¶ãç½ç»ç¼ç¨â¦â¦..
第äºï¼MySQLæ°æ®åº
æå®ä¸é¨æ°æ®åºç¸å ³ç课ç¨ï¼ä¾å¦ï¼MySQLãOracleï¼æå®ä¸ä¸ªå°±å¯ä»¥äºï¼ç®åäºèç½å ¬å¸ï¼ä¾å¦ï¼äº¬ä¸ãé¿éçï¼ä»ä»¬é½å¨ä½¿ç¨MySQLï¼æ以建议大家å¦ä¹ MySQLæ°æ®åºï¼å°å·§è½»çï¼å è´¹ã
ç±äºäºèç½å ¬å¸ç项ç®è®¿é®éæ¯è¾å¤§ï¼æ以ä¸è¬ä¼æ建æ°æ®åºçé群ï¼å¯ä»¥ä¸ä¸ªæ°æ®åºä¸å¤ï¼æ以éè¦æ建æ°æ®åºé群ï¼ä¸ºäºåºä»é«å¹¶åãï¼æ建çæ¯è¾å¤çæ¶åï¼å 费就å¾éè¦äºãï¼
第ä¸ï¼WEBå端
以åä»äºJavaå¼åï¼ä»äºJavaEEå¼åï¼ä¸»è¦å¼åçç³»ç»ç»ææ¯B/Sç»æçï¼Bæçæ¯Browserï¼Sæçæ¯Serverãè¦å¼åè¿ç§ç³»ç»ï¼B端è¦ä¼ï¼S端ä¹è¦ç²¾éãWEBå端çå¦ä¹ å°±æ¯å¦ä¹ B端ææ¯ã
å æ¬ï¼HTML ãCSSãJavaScriptï¼JSï¼ãjQueryæ¡æ¶ï¼åºå±å¯¹JSè¿è¡äºå°è£ ï¼â¦
第åï¼JavaWEB
WEBåç«¯å ¶å®å¯ä»¥æ¯å¾å¤ç§ä¸åçç¼ç¨è¯è¨ï¼ä¾å¦ï¼PHPãCãC++ãJavaï¼ä»ä»¬é½å¯ä»¥è¿è¡WEBå端çå¼åï¼æ们æ¢ç¶éæ©äºæ¯è¾ç«ççJavaï¼é£ä¹æ们å¦ä¹ çå端ä¸å®æ¯åºäºJavaè¯è¨å®ç°çã
å æ¬ï¼ServletãFilterãJspãELãJSTLãMVCæ¶æ模å¼ãæ°æ®åºè¿æ¥æ± ï¼é¿éå·´å·´çDruidè¿æ¥æ± ï¼ã代ç模å¼ï¼å¨æ代çï¼ãå¦å¤å端å¦ä¹ äºä¹åï¼è¿è¦å¦ä¹ ä¸ä¸ªå¼æ¥ç¼ç¨ææ¯AJAXãï¼å®æç½é¡µçå±é¨å·æ°ï¼AJAXå ¶å®ä¸å±äºå端ï¼æ¯å端æµè§å¨ä¸çç¨åºãï¼
å¦ä¹ å°è¿é为æ¢ï¼è¡¨ç¤ºJavaåºæ¬/åºç¡çææ¯å·²ç»å¦å®äºãä½æ¯è¿äºæåºå±çææ¯å¨å®é çå¼åä¸ä¸ä¼ä½¿ç¨çï¼ä¸è¬ä¸ºäºå¼åæçï¼é½ä¼ä½¿ç¨å¤§éçæåå°è£ 好çæ¡æ¶ã
第äºï¼æ好è½å¤åçä¸æ¥ï¼åä¸ä¸ªé¡¹ç®ã
è¿ä¸ªé¡¹ç®æ好è½å°ä¹åæå¦å ¨é¨ä¸²èµ·æ¥ãï¼å¯¹ä»¥åçç¥è¯ç¹è¿è¡å·©åºãï¼
è¿ä¸ªé¡¹ç®æ好æ¯åºäºï¼Servlet + Jsp+AJAX+jQuery+MySQLâ¦.
å¨è¿ä¸ªé¡¹ç®çå¼åè¿ç¨ä¸ï¼å¤§å®¶ä¸å®è¦è®°ä½ï¼ç®åæ¯è¾å¥½ç项ç®èªå¨æå»ºå·¥å ·ï¼Mavenæ¯ä¸å®è¦ç²¾éçãè¿æä¸ä¸ªå°±æ¯å¢éåä½å¼åï¼Git/SVNæ¯ä¸å®è¦ä¼ç¨çãï¼ç®å使ç¨Gitæ¯è¾å¤ä¸äºãï¼
第å ï¼å¦ä¹ é«çº§æ¡æ¶
SpringãSpringMVCãMyBatisï¼æä¹ å±æ¡æ¶ï¼è¿ä¸ªæ¡æ¶äºèç½å ¬å¸ä½¿ç¨æ¯è¾å¤ï¼å 为äºèç½é¡¹ç®éè¦è¿è¡SQLä¼åï¼MyBatisçSQLä¼åå¾æ¹ä¾¿ï¼æ以大é¨åé½æ¯ä½¿ç¨MyBatisï¼
Struts2ï¼å¾å°ä½¿ç¨äºï¼ä½¿ç¨è¿ä¸ªçè¯å®æ¯å¾èç项ç®ï¼ãHibernateï¼ä¼ ç»ä¼ä¸ï¼è¿ææ¿åºçå¯è½ä¼ä½¿ç¨Hibernateãï¼
SpringBootï¼æ°é¡¹ç®å¤§é¨å使ç¨çé½æ¯bootäºãæ以å¨é¡¹ç®ä¸éå°è¿å¨ä½¿ç¨SSMçä¸è¬é½æ¯éç项ç®ãï¼
å½ä½ èµ°å°è¿éä¹åï¼åºæ¬ä¸ä½ å¯ä»¥åºå±±äºãï¼å»æ¾å·¥ä½åºè¯¥é®é¢ä¸å¤§ï¼ä½åææ¯ä½ å¦å¾å¥½ãå¦ä¹ ç深度å¤äºï¼å¹¿åº¦å¤äºãï¼
第ä¸ï¼æ好è½æä¸ä¸ªå¤§å项ç®æ¯ä½¿ç¨æ¡æ¶æ¥å®æçã
SpringBootåä¸ä¸ªé¡¹ç®ã
Spring SpringMVC MyBatisåä¸ä¸ªé¡¹ç®ã
è¿ä¸ªé¡¹ç®æ好æ¯æ¾å 个人æä¼åä¸ä¸ãä½éªä¸ä¸å¢éåä½ãï¼å°¤å ¶æ¯ä½¿ç¨ä¸äºåä½çå·¥å ·ãæä¹æ²éï¼æä¹åæ¥æ¥ï¼æä¹å¼ä¼ï¼æä¹ä½¿ç¨Gitï¼ççâ¦.ï¼
ç¬¬å «ï¼å¦æä½ çèªèµæ³è¾¾å°Kçè¯ï¼ä½ å¯è½éè¦è¿è¦å¦ä¹ ä¸äºåå¸å¼ç¸å ³çä¸äºææ¯ã
è½å¤åºä»é«å¹¶åçä¸äºææ¯ï¼ä¾å¦ï¼åå¸å¼æ¡æ¶DubboãSpringCloudãMQãNginxãRedisâ¦..
æåå¨å°å¦ä¸ä¸ï¼ä¸å®è¦å½¢æèªå·±çç¼ç¨ææ³ã
ç¼ç¨ææ³çå½¢æå¾é¾ãéè¦å¤§é代ç çå 积æå¯ä»¥ãæä¹å½¢æç¼ç¨ææ³å¢ï¼
åä¸å«æ»æ代ç ãä¸è¦åè¡å°¸èµ°èè¬çæ代ç ï¼æ²¡æç¨ãåªè½æé«ææ³é度ï¼æ æ³å½¢æç¼ç¨æè·¯ã
1ãæ好åºç¡æ¯éä¸ä¹é
åºç¡é¨åå¯è½å¾æ¯ç¥ï¼ä½æ¯ä¸å®è¦èå¿åæä¸å»ãå 为æåºç¡å¥½æ¯æ¯å¨é è½®åé 汽车ï¼æ²¡ææ好åºç¡å¨åé¢çå¦ä¹ 就好æ¯èµ°è·¯ï¼å¯ä»¥è¯´åé¢éå°çç¾åä¹ä¸å «åçé®é¢é½æ¯åºç¡æ²¡å¦å¥½é æçã
2ãå¤çå®æ¹ææ¡£å¤è¯»æºç
ä¸å®è¦çJDKç¸å ³ç±»åºã常ç¨æ¡æ¶åç§åè½çæºç ï¼å»äºè§£å ¶åºå±å®ç°çåçãæ»çæ¥è¯´è¿ä¸ªä¹æ¯å¨æåºç¡çé¨åï¼Javaåºç¡é常æå®æè½çæï¼å¨æ们å¦ä¹ ä¸ä¸ªç±»çæºç æ¶ï¼è¯å®ä¼è¡çåºå ¶ä»åç§åæ ·çé®é¢ï¼ä¾æ们æ¥äºè§£åå¦ä¹ ï¼è¿ä¹å°±æ¯æ们ä¸ä¸æ¥å¦ä¹ çç®æ åæ¹åãæ ¢æ ¢çï¼æ们就ä¼å¦ä¹ æ´å¤çç¥è¯ï¼å¹¶ç§¯ç´¯æ´å¤çç»éªã
3ãç³»ç»æ§å¦ä¹ ï¼å¾ªåºæ¸è¿
ä¸è¦æ¥äºæ±æï¼æ¯ä¸ªç¥è¯ç¹é½è¦çï¼å¹¶ä¸æ¯ä¸ªç¥è¯ç¹é½è¦å¤å ç»ä¹ ãæçåå¦å¨å¦ä¹ è¿ç¨ä¸è§å¾è¿ä¸ªç¥è¯ç¹ç®åï¼å°±è·³çå¦ä¹ ï¼å ¶å®è¿æ¯ä¸ªå¾å¤§çé®é¢ï¼ç¥è¯ç¹ç»èå¿ é¡»è¦äºè§£ãæ们å¦ä¹ Javaéè¦å¾ªåºæ¸è¿ï¼ä¸æ¥ä¸æ¥æ¥ï¼ä¸è½æä¹è¿æ¥ã
4ãéå°é®é¢
éå°ä¸ä¼åçé®é¢ï¼å½ç¶ä¸è½ç½®ä¹ä¸çãå å¨ç½ä¸æ¥ï¼ç®åç½ç»ä¸é对å¾å¤é®é¢é½æå®ç¾ç解å³æ¹æ¡ï¼å¦æç½ä¸æ²¡æ类似çé®é¢ï¼é£å¯è½æ¯ä½ ç¯äºä»ä¹å°é误ãä¹ä¸è¦å¨è¿ä¸ªé®é¢ä¸è±è´¹å¤ªå¤æ¶é´ï¼è¿éè¦ä¸å®çå¦ä¹ æå·§ãJavaä¸çç¥è¯æå¾å¼ºçç¸å ³æ§ï¼æä¸æçå°æ¹ï¼å¯ä»¥ç¨å ¶ä»å¨è¾¹ç¸å ³ç¥è¯ååè¿å¤´æ¥ç解ï¼è¿æ ·æ¢ä¸ä¼è½è¯¯å¦ä¹ è¿åº¦ï¼åè½ç解èªå·±ä¸æçå°æ¹
1ï¼jvmæå¾å¤ç§ï¼å ¶å®jvmæ¯ä¸ä¸ªæ åï¼sunåçé£ä¸ªå«hotspotï¼ä½è å°±æ¯åæ¥v8çä½è lars bakï¼å ¶ä»å ¬å¸ä¹åè¿jvmï¼å ¶ä¸åå¾æ¯è¾å¥½çæbeaçjrockitï¼å ¶ä»çå æ¬ibmçr9ï¼appleçjvmçå¨å ï¼é½åå¾ä¸è¡ï¼æ以jvm主è¦æ¯æ´åæ·æ±°æè¿äºåå¾ä¸å¥½çjvm(s)ï¼æ´åæä¸ä¸ªç»ä¸çopenjdkã
2ï¼javaæ¯å ¸åçoopè¯è¨ï¼å ¶æ§è¡æççä¼åï¼ææ©å°±æ¯lars bakç人ä»smalltalkçé¿æä¼åçç»éªä¸æ»ç»åºæ¥å¹¶applyå°hotspotä¸å»æ»´ï¼èsmalltalkå¨æ©æappleæºä¸æåºäºé£ç§æææ½æ½å°±å¼ååºappçåæ³ï¼åæ¥vcï¼delphiä¹ç±»çå ¶å®é½æ¯æè¢æè 说åé´appleçsmalltalkçåæ³ï¼jobs说微软ä»å¤´å°å°¾é½å¨æè¢appleæ¯ç©ºç©´æ¥é£ï¼è¿é空穴æ¥é£è·çå 使ç¨ç空穴æ¥é£æ¯ä¸ä¸ªææï¼æ趣çæ¯ï¼javaçgui并没æ继æ¿è¿ç§ææ³ï¼åè对è¿ç§æææ½æ½å°±ä½åºappçåæ³æ¹å¤æå ï¼å°ä»å¤©ï¼å ¶å®javaçguié½è¿ä¸è½çæ£åå°æææ½æ½å°±ä½åºæ¥ï¼é®é¢å¾å¤ï¼ä¸ªäººå»ºè®®å¯¹äºçº¯javaçguiå¼åï¼è¿æ¯ä»¥å代ç 为主ã
3ï¼jeeä¹æ¯ä¸ä¸ªæè 说æ¯ä¸å æ åï¼ç¥ä¹ä¸æäºäººæmavenï¼jenkinsé½ç®åjeeæ¯ä¸å¯¹æ»´ï¼jeeçæ åæ ¸å¿æ¯ejbï¼å ¶å®å°±æ¯ä¸ä¸ªxmlé ç½®åçjavaæ件ï¼è¿ä¸ªæ åå¨4çæ¶åï¼è¾¾å°äºé¡¶å³°ç¶æï¼å ä¹ææçæ¨è¸¢å¤§åé½ä¸»å¨æ¯æ该æ åï¼ä¹åå¼å§èµ°ä¸å¡è·¯ï¼æ¯æçåè¶æ¥è¶å°ã
4ï¼javaåjavascriptçå ³ç³»æ¯å¾å¤äººè®¤ä¸ºçè¦å¯åï¼javascriptéé¢çjavaè¿å个åæ¯å¯ä¸æ¯ç½å«çï¼æ¯å¦jsççæååæ é½æ§å¶å¨oracleæéï¼oracle对äºjsçæ¯æçè³è¶ è¿å ¶å¯¹javaçæ¯æï¼å¹¶ä¸å欢æç»éå®ï¼æ¯å¦jvméé¢å°±æä¸ä¸ªjså¼æã
5ï¼jvméé¢é¤äºjs engine以å¤è¿æä¸ä¸ªæµè§å¨æçå¼æwebkitï¼å°±æ¯apple safariågoogle chromeç¨çé£ä¸ªé£ä¸ªã
6ï¼javaæ¯æç»å¤§å¤æ°èæ¬è¯è¨ï¼ä½ è½å«å¾ä¸ååçèæ¬è¯è¨ï¼å ä¹é½å¯ä»¥å¨jvmä¸æ§è¡ï¼æ¯å¦å¸¸è§çjsï¼rubyï¼pythonï¼çè³phpï¼luaï¼åªä¸è¿é¤äºjs以å¤ä½ éè¦æ¾å°ç¸å ³çèæ¬å¼æã
7ï¼springççæ被æ§å¶å¨vmwareæéï¼å ¶å®springçé£ä¸å¤§å ä¸è¥¿ï¼æ¬è´¨ä¸æ¯ä¸ä¸ªéæ åçjeeå®ç°ï¼æ¯å¦å¨jeeéé¢ç¨çinjectï¼å¨springéé¢å°±æ¯autowireï¼å½ç¶springæ¾ç»æ·±å»æ»´å½±åäºjeeï¼æ以æäºä¸è¥¿æ¯å¦diæ åï¼æ¯springå½±åä¸å¶å®åºæ¥çï¼æ以springçåæ³ä¼æ¯è¾ç¹ä¾ä¸ç¹ã
8ï¼mavenä¸çjarsæ°éå两天çªç ´ä¸ï¼å ¶ä»è¯è¨çç±»åºï¼æå第äºçæ¯npmï¼å¤§æ¦æ°éæ¯mavençååä¹ä¸ï¼ä¹å°±æ¯å åä¸ï¼ä¸ç¥éç°å¨çªç ´ä¸æ²¡æï¼ç¶åæ¯gemï¼ä¹å°±æ¯rubyé£ä¸ªï¼å¤§æ¦æ¯åå ä¸ï¼ä¸æ¥æ¯pythonçmoduleï¼å¤§æ¦æ°é级æ¯å ä¸ï¼æ²¡çªç ´åä¸ã
9ï¼javaçæ åæ¯ç±ä¸ä¸ªå«åjcpçç»ç»å¶å®çï¼æææ åéè¦ç»è¿jcpçæ§è¡å§åä¼éè¿æ¹å¯æ§è¡ï¼jcpå ä¹å æ¬äºä½ æç¥éçç»å¤§å¤æ°ç¥åæ¨è¸¢å ¬å¸åç»ç»ï¼æ¯å¦googleï¼appleï¼ibmï¼intelï¼armï¼red hatï¼twitterçï¼è¿æä¸äºæè²æºæï¼æ¯å¦æå½çå京大å¦ï¼é¿éæè¿ä¸æ¬¡ç³è¯·jcpæ§è¡å§åä¼æåèµæ ¼ï¼ä¼¼ä¹æ票ä¸éè¿ï¼æè¿ä¸æ¬¡æ§è¡å§åä¼æ°å¢ä¸¤ä¸ªæåæ¯armåjetbrainsã
ï¼å¾®è½¯ä¹æ¾ç»æ¯jcpçè³æ¯javaç主è¦è´¡ç®è ï¼ä½æ¯å©ç驱使ä¸ï¼æ³æ©å±javaï¼ä»èç ´åjava跨平å°çç¹æ§ï¼æ以è·suné¹ç¿»ï¼å ¶æ¬è´¨åå å°±æ¯æ³è®©å®¢æ·åçjava代ç è·windowsç»å®ï¼sunåå³ä¸åæï¼é¹ç¿»ï¼ä»å¤©å头çè¿ä¸ªç»æï¼åªè½è¯´ï¼åè¾ï¼sunæäºï¼å¾®è½¯çriaä¹ç¦»æä¸å¤ªè¿äºï¼silverlightå·²ç»æ¾å¼äºï¼æ¯èµ·å½å¹´ieèªå¸¦æjvmçæ¯ææ¥è¯´ï¼é£å®å ¨å°±æ¯ä¸¤åäºã
ï¼é¤äºå¾®è½¯ä»¥å¤ï¼jcpè¿ç¼ºå°ä¸ä¸ªéè¦ç»ç»apacheï¼å 为apacheè·oracleä¹é¹ç¿»äºï¼oracleä¼¼ä¹å¹¶ä¸å¨ä¹å¼æºç»ç»ï¼èæ´å¨æåä¸å ¬å¸çæ¯æã
ï¼javaæ¾ç»æä¸ä¸ªå ç½®çæ°æ®åºï¼9ä¹å被å¥ç¦»ã
ï¼j2meæ¯j2seçåéã
ï¼vert.xä½è tim foxææ©å¨vmwareåspringæ¶åçå°äºnode.jsï¼èçåºäºå¶ä½æ¯æå¤æ ¸çnode.xçæ³æ³ï¼å¹¶å¨ç¦»å¼vmwareåå å ¥red hatå°å ¶å®ç°ï¼vmwareçå°åå¼å§èæ èµï¼claim node.xåæ¥æ¹å«vert.xççæï¼ä¸æè·red hatæå®å¸ï¼åæ¥åæ¹å¦¥åï¼å°å ¶äº¤ç»eclipse foundationã
ï¼oracleå¨æ¶è´beaä¹åï¼ä¸å¼å§çç®æ 并ä¸æ¯beaåbeaçweblogicï¼èæ¯jbossï¼ä½æ¯jboss表ç°åºäºæ为æç§çä¸é¢ï¼å¨oracleæ¶è´æåä¹åï¼æå ¥äºred hatçææ±ï¼å 为é½æ¯å¼æºç»ç»ï¼ä»æ¤jbossæäºred hatçä¸ä¸ªåé¨é¨ï¼oracleæ¶è´jboss失败ä¹åï¼è½¬åbeaï¼åºæ浩æ°æ»äºï¼ä½æ¯æ²¡ç¨ï¼æåè¿æ¯è¢«æ¶ææ¶è´ã
ï¼sunå¨ç©ä¸ä¸å»ä¹åææ©å°è¯æ¥è§¦çç®æ æ¯ibmï¼ibmå«å¤ªè´µï¼æ¾å¼ä¹åï¼è¢«è½¬æç»äºoracleãï¼Javaå¦ä¹ 交æµQQç¾¤ï¼ æ们ä¸èµ·å¦Javaï¼ï¼
ï¼vert.xçä½è tim foxå¨ç¦»å¼red hatä¹åæ¾ç»åè¿twitteræ±æ¨ï¼å¤äººæ¯å¦æ们ï¼çæµæ¯å 为red hatå é¨å·²ç»æäºä¸ä¸ªjbossï¼æ以è·vert.xå¨åºç¨ä¸æäºéå ï¼æ以导è´tim foxçåºèµ°ï¼ä½æ¯åºèµ°ä¹åï¼red hatçåºå¯¹vert.xåæç»æ§çæç¥æå ¥ï¼æ以vert.x coreçå 个developersï¼å ¶å®æ¿çæ¯red hatçå·¥èµï¼ä½æ¯vert.xççæ并ä¸å¨red hatæéï¼èå¨eclipse foundationæéã
ï¼vert.xçå ä¸ªæ ¸å¿å¼å人åé½æ¯google summer of codeç导å¸ï¼æ¯å¹´å¹´åæ¶åä¼ææ¶å¨æ ¡å¤§å¦çæ项ç®ã
ï¼æè²æºæç¸å ³ï¼scalaçä½è 马ä¸æ¯å¾·å½äººï¼ethçå导ï¼groovyç主è¦é¢å¯¼äººæ¯æ³å½äººï¼jrubyèåæ¯ä¸äº¬å¤§å¦ï¼jbossçä½è æ¯æ³å½å¤§å¦æ ¡xçæ ¡åï¼xå°±æ¯ä¼½ç½ç¦èä¸è¿å»çé£æ大å¦ï¼ä¼½ç½ç¦è¿ä¸äºxï¼æ以æ¹è¯»å·´é»é«å¸ï¼tim foxæ¯ä¸äºå¸å½çå·¥ï¼ä¸»å¸å»çé£ä¸ªï¼nettyä½è trustin leeæ¯acmé¶çï¼ç°å¨lineå·¥ä½ï¼æ¯ä¸äºskyéé¢ç延ä¸å¤§å¦ï¼kotlinæ¯æ¯åå ¬å¸jetbrainsçä½åï¼çlinkedinï¼å¾å¤äººæ¯ä¸èªå£å½¼å¾å ¡å¤§å¦ï¼springä½è rod johnsonæ¯æ尼大å¦çé³ä¹å士ï¼hibernateä½è gavin kingæ¯æ¾³æ´²è«é£ä»å¤§å¦çæ°å¦æ¬ç§æ¯ä¸çï¼james goslingè¿ç§cmuåcalgoryç估计ç大è¡äºï¼sunæ¯æ¯å¦ç¦å¤§å¦ç½ç»çææï¼å¤¹å¸¦ä¸¤ä¸ªç§è´§ï¼aspectjæä¸ä¸ªç»´æ¤å°ç»å¨mcgillï¼hbaseè·waterlooå ³ç³»å¯åã
ï¼javaæ©æè¢«äººè®¤ä¸ºæ ¢ï¼è·javaåæä¸ç¨ç¡¬ä»¶å é渲ææå ³ï¼æ»æ´»å°±æ¯ä¸è¯æ¥å ¥directxåopenglï¼7ä¹åæ»ç®å¼çªï¼æäºä¸ä¸ªå¾å½¢å¼ææ¥å ¥äºdirectxï¼openglã
ï¼casssandraæ¯facebookå失败ç项ç®ï¼è¢«è´¡ç®ç»äºapacheä¹åèæ å¼è±ã
ï¼groovy被贡ç®ç»äºapacheï¼ç°å¨å«åapache groovyï¼ceylon被贡ç®ç»äºeclipseï¼ç°å¨å«åeclipse ceylonã
ï¼netflixç°å¨æ¯java shopï¼ä¹åæ¯ç¨.netçã
å æ³å°è¿ä¹å¤ï¼æ空ååã
各位能推荐一下jvm权威的书籍吗?
推荐JVM权威书籍如下:
初学者(8本):
1. 《深入理解Java虚拟机:JVM高级特性与实践(第3版)》
2. 《深入Java虚拟机(原书第2版)---SUN公司核心技术丛书》
3. 《实战JAVA虚拟机 JVM故障诊断与性能优化》
4. 《深入理解JVM & G1 GC》
5. 《Java虚拟机精讲》
6. 《自己动手写Java虚拟机》 - 张秀宏,使用Go实现的码分
7. 《自己动手写Python虚拟机》
8. 《深入浅出:Java虚拟机设计与实现》
进阶者(本):
1. 《揭秘Java虚拟机:JVM设计原理与实现》
2. 《虚拟机设计与实现:以JVM为例》
3. 《Java虚拟机规范-JavaSE8》
4. 《深入理解JVM字节码/Java核心技术系列》
5. 《解析Java虚拟机开发--权衡优化高效和安全的最优方案》
6. 《Java虚拟机基础教程》
7. 《深入解析Java虚拟机HotSpot》
8. 《深入理解Android:Java虚拟机ART (Chinese Edition)》
9. 《JRockit权威指南:深入理解JVM》
. 《深入Java虚拟机:JVM G1 GC的算法与实现》
. 《垃圾回收算法与实现》
. 《HotSpot实战》
深入者(5本):
1. 《虚拟机:系统与进程的通用平台》
2. 《JVM G1源码分析和调优》
3. 《深入剖析Java虚拟机 : 源码剖析与实例详解(基础卷)》
4. 《垃圾回收算法手册-自动内存管理的艺术》
5. 《GraalVM与Java静态编译:原理与应用林子熠》
这些书籍涵盖了JVM学习的各个方面,从初学者到深入者,码分适合不同层次的码分学习者。希望对你有所帮助。码分
linux内存分析工具linux内存工具
linux如何看内存颗粒信息?查看内存信息(显示插槽个数和每个插槽里内存条的码分dwa源码大小)
dmidecode-tmemory|grepSize查看内存条厂家dmidecode-tmemory|grepManufacturerfree查看当前内存使用情况
linux下有什么检测内存溢出的工具?
内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的码分消失,而是码分应用程序分配某段内存后,由于设计错误,码分失去了对该段内存的码分控制,因而造成了内存的码分浪费。
可以使用相应的码分软件测试工具对软件进行检测。
1.ccmalloc-Linux和Solaris下对C和C++程序的码分简单的使用内存泄漏和malloc调试库。
2.Dmalloc-DebugMallocLibrary.
3.Electric
Fence-Linux分发版中由BrucePerens编写的码分malloc()调试库。
4.Leaky-Linux下检测内存泄漏的码分攒片cms源码程序。
5.LeakTracer-Linux、Solaris和HP-UX下跟踪和分析C++程序中的内存泄漏。
6.MEMWATCH-由Johan
Lindh编写,是一个开放源代码C语言内存错误检测工具,主要是通过gcc的precessor来进行。
7.Valgrind-DebuggingandprofilingLinuxprograms,aimingat
programswritteninCandC++.
8.KCachegrind-Avisualizationtoolfortheprofilingdata
generatedbyCachegrindandCalltree.
9.Leak
Monitor-一个Firefox扩展,能找出跟Firefox相关的泄漏类型。
.IELeakDetector
(Drip/IESieve)-Drip和IESieveleak
detectors帮助网页开发员提升动态网页性能通过报告可避免的因为IE局限的内存泄漏。
.WindowsLeaks
Detector-探测任何Win应用程序中的任何资源泄漏(内存,句柄等),基于WinAPI调用钩子。
.SAPMemory
Analyzer-是一款开源的JAVA内存分析软件,可用于辅助查找JAVA程序的内存泄漏,能容易找到大块内存并验证谁在一直占用它,最新云商城源码它是基于Eclipse
RCP(RichClientPlatform),可以下载RCP的独立版本或者Eclipse的插件。
.DTrace-即动态跟踪Dynamic
Tracing,是一款开源软件,能在Unix类似平台运行,用户能够动态检测操作系统内核和用户进程,以更精确地掌握系统的资源使用状况,提高系统性能,减少支持成本,并进行有效的调节。
.IBMRationalPurifyPlus-帮助开发人员查明C/C++、托管.NET、Java和VB6代码中的性能和可靠性错误。PurifyPlus
将内存错误和泄漏检测、自动提交链接源码应用程序性能描述、代码覆盖分析等功能组合在一个单一、完整的工具包中。
.ParasoftInsure++-针对C/C++应用的运行时错误自动检测工具,它能够自动监测C/C++程序,发现其中存在着的内存破坏、内存泄漏、指针错误和I/O等错误。并通过使用一系列独特的技术(SCI技术和变异测试等),彻底的检查和测试我们的代码,精确定位错误的准确位置并给出详细的诊断信息。能作为Microsoft
VisualC++的一个插件运行。
.CompuwareDevPartnerforVisualC++BoundsChecker
Suite-为C++开发者设计的运行错误检测和调试工具软件。作为MicrosoftVisualStudio和C++6.0的生产vba源码下载一个插件运行。
.ElectricSoftwareGlowCode-包括内存泄漏检查,code
profiler,函数调用跟踪等功能。给C++和.Net开发者提供完整的错误诊断,和运行时性能分析工具包。
.CompuwareDevPartnerJava
Edition-包含Java内存检测,代码覆盖率测试,代码性能测试,线程死锁,分布式应用等几大功能模块。
.QuestJProbe-分析Java的内存泄漏。
.ej-technologiesJProfiler-一个全功能的Java剖析工具,专用于分析J2SE和J2EE应用程序。它把CPU、执行绪和内存的剖析组合在一个强大的应用中。JProfiler可提供许多IDE整合和应用服务器整合用途。JProfiler直觉式的GUI让你可以找到效能瓶颈、抓出内存泄漏、并解决执行绪的问题。4.3.2注册码:A-G#F-1olm9mv1i5uuly#
.BEAJRockit-用来诊断Java内存泄漏并指出根本原因,专门针对Intel平台并得到优化,能在Intel硬件上获得最高的性能。
.SciTechSoftwareAB.NETMemory
Profiler-找到内存泄漏并优化内存使用针对C#,VB.Net,或其它.Net程序。
.YourKit.NETJavaProfiler-业界领先的Java和.NET程序性能分析工具。
.AutomatedQAAQTime-AutomatedQA的获奖产品performanceprofiling和memory
debugging工具集的下一代替换产品,支持Microsoft,Borland,Intel,Compaq和
GNU编译器。可以为.NET和Windows程序生成全面细致的报告,从而帮助您轻松隔离并排除代码中含有的性能问题和内存/资源泄露问题。支持.Net
1.0,1.1,2.0,3.0和Windows/位应用程序。
.JavaScriptMemoryLeakDetector-微软全球产品开发欧洲团队(GlobalProduct
Development-Europeteam,GPDE)
发布的一款调试工具,用来探测JavaScript代码中的内存泄漏,运行为IE系列的一个插件。
如何限制linux所有进程可使用的总内存?
下面的shell脚本可以实时的监控系统中各个进程的CPU和内存的占用情况,用于限制进程CPU占用率更加合理。
#!/bin/shPIDS=`top-bn1|grep^*|awk’{ if($9>||$>id-u$2>)print$1}’`forPIDin$PIDSdorenice+$PIDechorenice+$PIDdone能够将这个脚本放到cron中运行,比如每分钟检查一次,只需以root身份添加crontab项:
#crontab-e*****limit.sh以后每个一分钟就会检查一次,调整占用%以上CPU或%内存的进程的nice值,从而使这样的进程优先级变低,被调度的机会减少,同时会向root发邮件提示该进程被调整过。
但是,限制内存使用最好还是用PAM,RedHat能够在/etc/security/limits.conf中配置。
如何让linux生成内存dump?
在Linux上只要打开coredump文件开关,当程序crash时系统生成相应的core文件。下面是简单的一些步骤:
1.查看当前是否已经打开了此开关通过命令:ulimit-c如果输出为0,则代表没有打开。如果为unlimited则已经打开了,就没必要在做打开。
2.通过命令打开ulimit-cunlimited.然后通过步骤1,可以监测是否打开成功。
3.如果你要取消,很简单:ulimit-c0就可以了通过上面的命令修改后,一般都只是对当前会话起作用,当你下次重新登录后,还是要重新输入上面的命令,所以很麻烦。我们可以把通过修改/etc/profile文件来使系统每次自动打开。步骤如下:1.首先打开/etc/profile文件一般都可以在文件中找到这句语句:ulimit-S-c0>/dev/null2>1.ok,根据上面的例子,我们只要把那个0改为unlimited就ok了。然后保存退出。2.通过source/etc/profile使当期设置生效。3.通过ulimit-c查看下是否已经打开。其实不光这个命令可以加入到/etc/profile文件中,一些其他我们需要每次登录都生效的都可以加入到此文件中,因为登录时linux都会加载此文件。比如一些环境变量的设置。还有一种方法可以通过修改/etc/security/limits.conf文件来设置,这个方法没有试过,也是网上看到。不过上面两种就可以了!最后说一下生成coredump文件的位置,默认位置与可执行程序在同一目录下,文件名是core.***,其中***是一个数字。coredump文件名的模式保存在/proc/sys/kernel/core_pattern中,缺省值是core。通过以下命令可以更改coredump文件的位置(如希望生成到/tmp/cores目录下)echo“/tmp/cores/core”>/proc/sys/kernel/core_pattern设置完以后我们可以做个测试,写个程序,产生一个异常。然后看到当前目录会有个core*的文件。
Linux释放内存页由什么程序实现?
释放内存页由命令free来实现。