java常用的框架有哪些?优缺点是什么?在什么时候使用?每种框架介绍详细一点,谢谢了 java框架有哪些常用框架
Java\u6709\u54ea\u4e9b\u5f00\u6e90\u7684\u6743\u9650\u7ba1\u7406\u6846\u67b6??\u8bf7\u5177\u4f53\u4ecb\u7ecd\u4e0b,\u54ea\u4e9b\u6bd4\u8f83\u5e38\u7528,\u4f18\u7f3a\u70b9spring\u81ea\u5e26\u7684\u6709\u4e00\u4e2a\u6743\u9650\u6846\u67b6\u4e0d\u8fc7\u76ee\u524d\u505a\u9879\u76ee\u5f88\u5c11\u91c7\u7528spring\u81ea\u5e26\u7684\u6743\u9650\u6846\u67b6\u3002\u57fa\u672c\u6743\u9650\u6846\u67b6\u90fd\u662f\u81ea\u5df1\u5199\u7684. \u601d\u8def\uff1a\u6743\u9650\u5206\u4e3a\u4e09\u4e2a\u8868\uff1a\u7528\u6237\u8868\u3001\u89d2\u8272\u8868\u3001\u6743\u9650\u8868\uff0c\u4f9d\u6b21\u5173\u7cfb\uff1a1\uff1an \u767b\u9646\u65f6\uff0c\u628a\u6743\u9650\u8868\u8bb0\u5f55\u505a\u6210list\u653e\u5230session\u4e2d\uff0c\u9875\u9762\u63a7\u5236\u53ef\u4ee5\u901a\u8fc7\u81ea\u5b9a\u4e49\u6807\u7b7e\u6765\u5b9e\u73b0.
\u5341\u5927\u5e38\u7528\u6846\u67b6\uff1a
\u4e00\u3001SpringMVC
\u4e8c\u3001Spring
\u4e09\u3001Mybatis
\u56db\u3001Dubbo
\u4e94\u3001Maven
\u516d\u3001RabbitMQ
\u4e03\u3001Log4j
\u516b\u3001Ehcache
\u4e5d\u3001Redis
\u5341\u3001Shiro
\u5ef6\u5c55\u9605\u8bfb\uff1a
\u4e00\u3001SpringMVC
Spring Web MVC\u662f\u4e00\u79cd\u57fa\u4e8eJava\u7684\u5b9e\u73b0\u4e86Web MVC\u8bbe\u8ba1\u6a21\u5f0f\u7684\u8bf7\u6c42\u9a71\u52a8\u7c7b\u578b\u7684\u8f7b\u91cf\u7ea7Web\u6846\u67b6\uff0c\u5373\u4f7f\u7528\u4e86MVC\u67b6\u6784\u6a21\u5f0f\u7684\u601d\u60f3\uff0c\u5c06web\u5c42\u8fdb\u884c\u804c\u8d23\u89e3\u8026\uff0c\u57fa\u4e8e\u8bf7\u6c42\u9a71\u52a8\u6307\u7684\u5c31\u662f\u4f7f\u7528\u8bf7\u6c42-\u54cd\u5e94\u6a21\u578b\uff0c\u6846\u67b6\u7684\u76ee\u7684\u5c31\u662f\u5e2e\u52a9\u6211\u4eec\u7b80\u5316\u5f00\u53d1\uff0cSpring Web MVC\u4e5f\u662f\u8981\u7b80\u5316\u6211\u4eec\u65e5\u5e38Web\u5f00\u53d1\u7684\u3002
\u6a21\u578b\uff08Model \uff09\u5c01\u88c5\u4e86\u5e94\u7528\u7a0b\u5e8f\u7684\u6570\u636e\u548c\u4e00\u822c\u4ed6\u4eec\u4f1a\u7ec4\u6210\u7684POJO\u3002
\u89c6\u56fe\uff08View\uff09\u662f\u8d1f\u8d23\u5448\u73b0\u6a21\u578b\u6570\u636e\u548c\u4e00\u822c\u5b83\u751f\u6210\u7684HTML\u8f93\u51fa\uff0c\u5ba2\u6237\u7aef\u7684\u6d4f\u89c8\u5668\u80fd\u591f\u89e3\u91ca\u3002
\u63a7\u5236\u5668\uff08Controller \uff09\u8d1f\u8d23\u5904\u7406\u7528\u6237\u7684\u8bf7\u6c42\uff0c\u5e76\u5efa\u7acb\u9002\u5f53\u7684\u6a21\u578b\uff0c\u5e76\u628a\u5b83\u4f20\u9012\u7ed9\u89c6\u56fe\u6e32\u67d3\u3002
Spring\u7684web\u6a21\u578b - \u89c6\u56fe - \u63a7\u5236\u5668\uff08MVC\uff09\u6846\u67b6\u662f\u56f4\u7ed5\u7740\u5904\u7406\u6240\u6709\u7684HTTP\u8bf7\u6c42\u548c\u54cd\u5e94\u7684DispatcherServlet\u7684\u8bbe\u8ba1\u3002
Spring Web MVC\u5904\u7406\u8bf7\u6c42\u7684\u6d41\u7a0b
\u5177\u4f53\u6267\u884c\u6b65\u9aa4\u5982\u4e0b\uff1a
1\u3001 \u9996\u5148\u7528\u6237\u53d1\u9001\u8bf7\u6c42\u2014\u2014\u2014\u2014>\u524d\u7aef\u63a7\u5236\u5668\uff0c\u524d\u7aef\u63a7\u5236\u5668\u6839\u636e\u8bf7\u6c42\u4fe1\u606f\uff08\u5982URL\uff09\u6765\u51b3\u5b9a\u9009\u62e9\u54ea\u4e00\u4e2a\u9875\u9762\u63a7\u5236\u5668\u8fdb\u884c\u5904\u7406\u5e76\u628a\u8bf7\u6c42\u59d4\u6258\u7ed9\u5b83\uff0c\u5373\u4ee5\u524d\u7684\u63a7\u5236\u5668\u7684\u63a7\u5236\u903b\u8f91\u90e8\u5206\uff1b\u56fe2-1\u4e2d\u76841\u30012\u6b65\u9aa4\uff1b
2\u3001 \u9875\u9762\u63a7\u5236\u5668\u63a5\u6536\u5230\u8bf7\u6c42\u540e\uff0c\u8fdb\u884c\u529f\u80fd\u5904\u7406\uff0c\u9996\u5148\u9700\u8981\u6536\u96c6\u548c\u7ed1\u5b9a\u8bf7\u6c42\u53c2\u6570\u5230\u4e00\u4e2a\u5bf9\u8c61\uff0c\u8fd9\u4e2a\u5bf9\u8c61\u5728Spring Web MVC\u4e2d\u53eb\u547d\u4ee4\u5bf9\u8c61\uff0c\u5e76\u8fdb\u884c\u9a8c\u8bc1\uff0c\u7136\u540e\u5c06\u547d\u4ee4\u5bf9\u8c61\u59d4\u6258\u7ed9\u4e1a\u52a1\u5bf9\u8c61\u8fdb\u884c\u5904\u7406\uff1b\u5904\u7406\u5b8c\u6bd5\u540e\u8fd4\u56de\u4e00\u4e2aModelAndView\uff08\u6a21\u578b\u6570\u636e\u548c\u903b\u8f91\u89c6\u56fe\u540d\uff09\uff1b\u56fe2-1\u4e2d\u76843\u30014\u30015\u6b65\u9aa4\uff1b
3\u3001 \u524d\u7aef\u63a7\u5236\u5668\u6536\u56de\u63a7\u5236\u6743\uff0c\u7136\u540e\u6839\u636e\u8fd4\u56de\u7684\u903b\u8f91\u89c6\u56fe\u540d\uff0c\u9009\u62e9\u76f8\u5e94\u7684\u89c6\u56fe\u8fdb\u884c\u6e32\u67d3\uff0c\u5e76\u628a\u6a21\u578b\u6570\u636e\u4f20\u5165\u4ee5\u4fbf\u89c6\u56fe\u6e32\u67d3\uff1b\u56fe2-1\u4e2d\u7684\u6b65\u9aa46\u30017\uff1b
4\u3001 \u524d\u7aef\u63a7\u5236\u5668\u518d\u6b21\u6536\u56de\u63a7\u5236\u6743\uff0c\u5c06\u54cd\u5e94\u8fd4\u56de\u7ed9\u7528\u6237\uff0c\u56fe2-1\u4e2d\u7684\u6b65\u9aa48\uff1b\u81f3\u6b64\u6574\u4e2a\u7ed3\u675f\u3002
\u4e8c\u3001Spring
2.1\u3001IOC\u5bb9\u5668\uff1ahttp://www.cnblogs.com/linjiqin/archive/2013/11/04/3407126.html
IOC\u5bb9\u5668\u5c31\u662f\u5177\u6709\u4f9d\u8d56\u6ce8\u5165\u529f\u80fd\u7684\u5bb9\u5668\uff0cIOC\u5bb9\u5668\u8d1f\u8d23\u5b9e\u4f8b\u5316\u3001\u5b9a\u4f4d\u3001\u914d\u7f6e\u5e94\u7528\u7a0b\u5e8f\u4e2d\u7684\u5bf9\u8c61\u53ca\u5efa\u7acb\u8fd9\u4e9b\u5bf9\u8c61\u95f4\u7684\u4f9d\u8d56\u3002\u5e94\u7528\u7a0b\u5e8f\u65e0\u9700\u76f4\u63a5\u5728\u4ee3\u7801\u4e2dnew\u76f8\u5173\u7684\u5bf9\u8c61\uff0c\u5e94\u7528\u7a0b\u5e8f\u7531IOC\u5bb9\u5668\u8fdb\u884c\u7ec4\u88c5\u3002\u5728Spring\u4e2dBeanFactory\u662fIOC\u5bb9\u5668\u7684\u5b9e\u9645\u4ee3\u8868\u8005\u3002
2.2\u3001AOP\uff1ahttp://blog.csdn.net/moreevan/article/details/11977115
\u7b80\u5355\u5730\u8bf4\uff0c\u5c31\u662f\u5c06\u90a3\u4e9b\u4e0e\u4e1a\u52a1\u65e0\u5173\uff0c\u5374\u4e3a\u4e1a\u52a1\u6a21\u5757\u6240\u5171\u540c\u8c03\u7528\u7684\u903b\u8f91\u6216\u8d23\u4efb\u5c01\u88c5\u8d77\u6765\uff0c\u4fbf\u4e8e\u51cf\u5c11\u7cfb\u7edf\u7684\u91cd\u590d\u4ee3\u7801\uff0c\u964d\u4f4e\u6a21\u5757\u95f4\u7684\u8026\u5408\u5ea6\uff0c\u5e76\u6709\u5229\u4e8e\u672a\u6765\u7684\u53ef\u64cd\u4f5c\u6027\u548c\u53ef\u7ef4\u62a4\u6027\u3002AOP\u4ee3\u8868\u7684\u662f\u4e00\u4e2a\u6a2a\u5411\u7684\u5173\u7cfb
AOP\u7528\u6765\u5c01\u88c5\u6a2a\u5207\u5173\u6ce8\u70b9\uff0c\u5177\u4f53\u53ef\u4ee5\u5728\u4e0b\u9762\u7684\u573a\u666f\u4e2d\u4f7f\u7528:
Authentication \u6743\u9650 Caching \u7f13\u5b58 Context passing \u5185\u5bb9\u4f20\u9012 Error handling \u9519\u8bef\u5904\u7406 Lazy loading\u3000\u61d2\u52a0\u8f7d Debugging\u3000\u3000\u8c03\u8bd5 logging, tracing, profiling and monitoring\u3000\u8bb0\u5f55\u8ddf\u8e2a\u3000\u4f18\u5316\u3000\u6821\u51c6 Performance optimization\u3000\u6027\u80fd\u4f18\u5316 Persistence\u3000\u3000\u6301\u4e45\u5316 Resource pooling\u3000\u8d44\u6e90\u6c60 Synchronization\u3000\u540c\u6b65 Transactions \u4e8b\u52a1
\u4e09\u3001Mybatis
MyBatis \u662f\u652f\u6301\u666e\u901a SQL\u67e5\u8be2\uff0c\u5b58\u50a8\u8fc7\u7a0b\u548c\u9ad8\u7ea7\u6620\u5c04\u7684\u4f18\u79c0\u6301\u4e45\u5c42\u6846\u67b6\u3002MyBatis \u6d88\u9664\u4e86\u51e0\u4e4e\u6240\u6709\u7684JDBC\u4ee3\u7801\u548c\u53c2\u6570\u7684\u624b\u5de5\u8bbe\u7f6e\u4ee5\u53ca\u7ed3\u679c\u96c6\u7684\u68c0\u7d22\u3002MyBatis \u4f7f\u7528\u7b80\u5355\u7684 XML\u6216\u6ce8\u89e3\u7528\u4e8e\u914d\u7f6e\u548c\u539f\u59cb\u6620\u5c04\uff0c\u5c06\u63a5\u53e3\u548c Java \u7684POJOs\uff08Plain Old Java Objects\uff0c\u666e\u901a\u7684 Java\u5bf9\u8c61\uff09\u6620\u5c04\u6210\u6570\u636e\u5e93\u4e2d\u7684\u8bb0\u5f55\u3002
\u603b\u4f53\u6d41\u7a0b\uff1a
(1)\u52a0\u8f7d\u914d\u7f6e\u5e76\u521d\u59cb\u5316 \u89e6\u53d1\u6761\u4ef6\uff1a\u52a0\u8f7d\u914d\u7f6e\u6587\u4ef6 \u5c06SQL\u7684\u914d\u7f6e\u4fe1\u606f\u52a0\u8f7d\u6210\u4e3a\u4e00\u4e2a\u4e2aMappedStatement\u5bf9\u8c61\uff08\u5305\u62ec\u4e86\u4f20\u5165\u53c2\u6570\u6620\u5c04\u914d\u7f6e\u3001\u6267\u884c\u7684SQL\u8bed\u53e5\u3001\u7ed3\u679c\u6620\u5c04\u914d\u7f6e\uff09\uff0c\u5b58\u50a8\u5728\u5185\u5b58\u4e2d\u3002
(2)\u63a5\u6536\u8c03\u7528\u8bf7\u6c42 \u89e6\u53d1\u6761\u4ef6\uff1a\u8c03\u7528Mybatis\u63d0\u4f9b\u7684API \u4f20\u5165\u53c2\u6570\uff1a\u4e3aSQL\u7684ID\u548c\u4f20\u5165\u53c2\u6570\u5bf9\u8c61 \u5904\u7406\u8fc7\u7a0b\uff1a\u5c06\u8bf7\u6c42\u4f20\u9012\u7ed9\u4e0b\u5c42\u7684\u8bf7\u6c42\u5904\u7406\u5c42\u8fdb\u884c\u5904\u7406\u3002
(3)\u5904\u7406\u64cd\u4f5c\u8bf7\u6c42 \u89e6\u53d1\u6761\u4ef6\uff1aAPI\u63a5\u53e3\u5c42\u4f20\u9012\u8bf7\u6c42\u8fc7\u6765 \u4f20\u5165\u53c2\u6570\uff1a\u4e3aSQL\u7684ID\u548c\u4f20\u5165\u53c2\u6570\u5bf9\u8c61
\u5904\u7406\u8fc7\u7a0b\uff1a
(A)\u6839\u636eSQL\u7684ID\u67e5\u627e\u5bf9\u5e94\u7684MappedStatement\u5bf9\u8c61\u3002
(B)\u6839\u636e\u4f20\u5165\u53c2\u6570\u5bf9\u8c61\u89e3\u6790MappedStatement\u5bf9\u8c61\uff0c\u5f97\u5230\u6700\u7ec8\u8981\u6267\u884c\u7684SQL\u548c\u6267\u884c\u4f20\u5165\u53c2\u6570\u3002
(C)\u83b7\u53d6\u6570\u636e\u5e93\u8fde\u63a5\uff0c\u6839\u636e\u5f97\u5230\u7684\u6700\u7ec8SQL\u8bed\u53e5\u548c\u6267\u884c\u4f20\u5165\u53c2\u6570\u5230\u6570\u636e\u5e93\u6267\u884c\uff0c\u5e76\u5f97\u5230\u6267\u884c\u7ed3\u679c\u3002
(D)\u6839\u636eMappedStatement\u5bf9\u8c61\u4e2d\u7684\u7ed3\u679c\u6620\u5c04\u914d\u7f6e\u5bf9\u5f97\u5230\u7684\u6267\u884c\u7ed3\u679c\u8fdb\u884c\u8f6c\u6362\u5904\u7406\uff0c\u5e76\u5f97\u5230\u6700\u7ec8\u7684\u5904\u7406\u7ed3\u679c\u3002
(E)\u91ca\u653e\u8fde\u63a5\u8d44\u6e90\u3002
(4)\u8fd4\u56de\u5904\u7406\u7ed3\u679c\u5c06\u6700\u7ec8\u7684\u5904\u7406\u7ed3\u679c\u8fd4\u56de\u3002
MyBatis \u6700\u5f3a\u5927\u7684\u7279\u6027\u4e4b\u4e00\u5c31\u662f\u5b83\u7684\u52a8\u6001\u8bed\u53e5\u529f\u80fd\u3002\u5982\u679c\u60a8\u4ee5\u524d\u6709\u4f7f\u7528JDBC\u6216\u8005\u7c7b\u4f3c\u6846\u67b6\u7684\u7ecf\u5386\uff0c\u60a8\u5c31\u4f1a\u660e\u767d\u628aSQL\u8bed\u53e5\u6761\u4ef6\u8fde\u63a5\u5728\u4e00\u8d77\u662f\u591a\u4e48\u7684\u75db\u82e6\uff0c\u8981\u786e\u4fdd\u4e0d\u80fd\u5fd8\u8bb0\u7a7a\u683c\u6216\u8005\u4e0d\u8981\u5728columns\u5217\u540e\u9762\u7701\u7565\u4e00\u4e2a\u9017\u53f7\u7b49\u3002\u52a8\u6001\u8bed\u53e5\u80fd\u591f\u5b8c\u5168\u89e3\u51b3\u6389\u8fd9\u4e9b\u75db\u82e6\u3002
\u56db\u3001Dubbo
Dubbo\u662f\u4e00\u4e2a\u5206\u5e03\u5f0f\u670d\u52a1\u6846\u67b6\uff0c\u81f4\u529b\u4e8e\u63d0\u4f9b\u9ad8\u6027\u80fd\u548c\u900f\u660e\u5316\u7684RPC\uff08\u8fdc\u7a0b\u8fc7\u7a0b\u8c03\u7528\u534f\u8bae\uff09\u8fdc\u7a0b\u670d\u52a1\u8c03\u7528\u65b9\u6848\uff0c\u4ee5\u53caSOA\u670d\u52a1\u6cbb\u7406\u65b9\u6848\u3002\u7b80\u5355\u7684\u8bf4\uff0cdubbo\u5c31\u662f\u4e2a\u670d\u52a1\u6846\u67b6\uff0c\u5982\u679c\u6ca1\u6709\u5206\u5e03\u5f0f\u7684\u9700\u6c42\uff0c\u5176\u5b9e\u662f\u4e0d\u9700\u8981\u7528\u7684\uff0c\u53ea\u6709\u5728\u5206\u5e03\u5f0f\u7684\u65f6\u5019\uff0c\u624d\u6709dubbo\u8fd9\u6837\u7684\u5206\u5e03\u5f0f\u670d\u52a1\u6846\u67b6\u7684\u9700\u6c42\uff0c\u5e76\u4e14\u672c\u8d28\u4e0a\u662f\u4e2a\u670d\u52a1\u8c03\u7528\u7684\u4e1c\u4e1c\uff0c\u8bf4\u767d\u4e86\u5c31\u662f\u4e2a\u8fdc\u7a0b\u670d\u52a1\u8c03\u7528\u7684\u5206\u5e03\u5f0f\u6846\u67b6\u3002
1\u3001\u900f\u660e\u5316\u7684\u8fdc\u7a0b\u65b9\u6cd5\u8c03\u7528\uff0c\u5c31\u50cf\u8c03\u7528\u672c\u5730\u65b9\u6cd5\u4e00\u6837\u8c03\u7528\u8fdc\u7a0b\u65b9\u6cd5\uff0c\u53ea\u9700\u7b80\u5355\u914d\u7f6e\uff0c\u6ca1\u6709\u4efb\u4f55API\u4fb5\u5165\u3002
2\u3001\u8f6f\u8d1f\u8f7d\u5747\u8861\u53ca\u5bb9\u9519\u673a\u5236\uff0c\u53ef\u5728\u5185\u7f51\u66ff\u4ee3F5\u7b49\u786c\u4ef6\u8d1f\u8f7d\u5747\u8861\u5668\uff0c\u964d\u4f4e\u6210\u672c\uff0c\u51cf\u5c11\u5355\u70b9\u3002
3\u3001 \u670d\u52a1\u81ea\u52a8\u6ce8\u518c\u4e0e\u53d1\u73b0\uff0c\u4e0d\u518d\u9700\u8981\u5199\u6b7b\u670d\u52a1\u63d0\u4f9b\u65b9\u5730\u5740\uff0c\u6ce8\u518c\u4e2d\u5fc3\u57fa\u4e8e\u63a5\u53e3\u540d\u67e5\u8be2\u670d\u52a1\u63d0\u4f9b\u8005\u7684IP\u5730\u5740\uff0c\u5e76\u4e14\u80fd\u591f\u5e73\u6ed1\u6dfb\u52a0\u6216\u5220\u9664\u670d\u52a1\u63d0\u4f9b\u8005\u3002
\u8282\u70b9\u89d2\u8272\u8bf4\u660e\uff1a Provider: \u66b4\u9732\u670d\u52a1\u7684\u670d\u52a1\u63d0\u4f9b\u65b9\u3002 Consumer: \u8c03\u7528\u8fdc\u7a0b\u670d\u52a1\u7684\u670d\u52a1\u6d88\u8d39\u65b9\u3002 Registry: \u670d\u52a1\u6ce8\u518c\u4e0e\u53d1\u73b0\u7684\u6ce8\u518c\u4e2d\u5fc3\u3002 Monitor: \u7edf\u8ba1\u670d\u52a1\u7684\u8c03\u7528\u6b21\u8c03\u548c\u8c03\u7528\u65f6\u95f4\u7684\u76d1\u63a7\u4e2d\u5fc3\u3002 Container: \u670d\u52a1\u8fd0\u884c\u5bb9\u5668\u3002
\u4e94\u3001Maven
Maven\u8fd9\u4e2a\u4e2a\u9879\u76ee\u7ba1\u7406\u548c\u6784\u5efa\u81ea\u52a8\u5316\u5de5\u5177\uff0c\u8d8a\u6765\u8d8a\u591a\u7684\u5f00\u53d1\u4eba\u5458\u4f7f\u7528\u5b83\u6765\u7ba1\u7406\u9879\u76ee\u4e2d\u7684jar\u5305\u3002\u4f46\u662f\u5bf9\u4e8e\u6211\u4eec\u7a0b\u5e8f\u5458\u6765\u8bf4\uff0c\u6211\u4eec\u6700\u5173\u5fc3\u7684\u662f\u5b83\u7684\u9879\u76ee\u6784\u5efa\u529f\u80fd\u3002
\u516d\u3001RabbitMQ
\u6d88\u606f\u961f\u5217\u4e00\u822c\u662f\u5728\u9879\u76ee\u4e2d\uff0c\u5c06\u4e00\u4e9b\u65e0\u9700\u5373\u65f6\u8fd4\u56de\u4e14\u8017\u65f6\u7684\u64cd\u4f5c\u63d0\u53d6\u51fa\u6765\uff0c\u8fdb\u884c\u4e86\u5f02\u6b65\u5904\u7406\uff0c\u800c\u8fd9\u79cd\u5f02\u6b65\u5904\u7406\u7684\u65b9\u5f0f\u5927\u5927\u7684\u8282\u7701\u4e86\u670d\u52a1\u5668\u7684\u8bf7\u6c42\u54cd\u5e94\u65f6\u95f4\uff0c\u4ece\u800c\u63d0\u9ad8\u4e86\u7cfb\u7edf\u7684\u541e\u5410\u91cf\u3002
RabbitMQ\u662f\u7528Erlang\u5b9e\u73b0\u7684\u4e00\u4e2a\u9ad8\u5e76\u53d1\u9ad8\u53ef\u9760AMQP\u6d88\u606f\u961f\u5217\u670d\u52a1\u5668\u3002
Erlang\u662f\u4e00\u95e8\u52a8\u6001\u7c7b\u578b\u7684\u51fd\u6570\u5f0f\u7f16\u7a0b\u8bed\u8a00\u3002\u5bf9\u5e94\u5230Erlang\u91cc\uff0c\u6bcf\u4e2aActor\u5bf9\u5e94\u7740\u4e00\u4e2aErlang\u8fdb\u7a0b\uff0c\u8fdb\u7a0b\u4e4b\u95f4\u901a\u8fc7\u6d88\u606f\u4f20\u9012\u8fdb\u884c\u901a\u4fe1\u3002\u76f8\u6bd4\u5171\u4eab\u5185\u5b58\uff0c\u8fdb\u7a0b\u95f4\u901a\u8fc7\u6d88\u606f\u4f20\u9012\u6765\u901a\u4fe1\u5e26\u6765\u7684\u76f4\u63a5\u597d\u5904\u5c31\u662f\u6d88\u9664\u4e86\u76f4\u63a5\u7684\u9501\u5f00\u9500(\u4e0d\u8003\u8651Erlang\u865a\u62df\u673a\u5e95\u5c42\u5b9e\u73b0\u4e2d\u7684\u9501\u5e94\u7528)\u3002
AMQP(Advanced Message Queue Protocol)\u5b9a\u4e49\u4e86\u4e00\u79cd\u6d88\u606f\u7cfb\u7edf\u89c4\u8303\u3002\u8fd9\u4e2a\u89c4\u8303\u63cf\u8ff0\u4e86\u5728\u4e00\u4e2a\u5206\u5e03\u5f0f\u7684\u7cfb\u7edf\u4e2d\u5404\u4e2a\u5b50\u7cfb\u7edf\u5982\u4f55\u901a\u8fc7\u6d88\u606f\u4ea4\u4e92\u3002
\u4e03\u3001Log4j
\u65e5\u5fd7\u8bb0\u5f55\u7684\u4f18\u5148\u7ea7\uff0c\u5206\u4e3aOFF\u3001FATAL\u3001ERROR\u3001WARN\u3001INFO\u3001DEBUG\u3001ALL\u6216\u8005\u60a8\u5b9a\u4e49\u7684\u7ea7\u522b\u3002
\u516b\u3001Ehcache
EhCache \u662f\u4e00\u4e2a\u7eafJava\u7684\u8fdb\u7a0b\u5185\u7f13\u5b58\u6846\u67b6\uff0c\u5177\u6709\u5feb\u901f\u3001\u7cbe\u5e72\u7b49\u7279\u70b9\uff0c\u662fHibernate\u4e2d\u9ed8\u8ba4\u7684CacheProvider\u3002Ehcache\u662f\u4e00\u79cd\u5e7f\u6cdb\u4f7f\u7528\u7684\u5f00\u6e90Java\u5206\u5e03\u5f0f\u7f13\u5b58\u3002\u4e3b\u8981\u9762\u5411\u901a\u7528\u7f13\u5b58,Java EE\u548c\u8f7b\u91cf\u7ea7\u5bb9\u5668\u3002\u5b83\u5177\u6709\u5185\u5b58\u548c\u78c1\u76d8\u5b58\u50a8\uff0c\u7f13\u5b58\u52a0\u8f7d\u5668,\u7f13\u5b58\u6269\u5c55\uff0c\u7f13\u5b58\u5f02\u5e38\u5904\u7406\u7a0b\u5e8f\uff0c\u4e00\u4e2agzip\u7f13\u5b58servlet\u8fc7\u6ee4\u5668\uff0c\u652f\u6301REST\u548cSOAP api\u7b49\u7279\u70b9\u3002
\u4f18\u70b9\uff1a 1\u3001 \u5feb\u901f 2\u3001 \u7b80\u5355 3\u3001 \u591a\u79cd\u7f13\u5b58\u7b56\u7565 4\u3001\u7f13\u5b58\u6570\u636e\u6709\u4e24\u7ea7\uff1a\u5185\u5b58\u548c\u78c1\u76d8\uff0c\u56e0\u6b64\u65e0\u9700\u62c5\u5fc3\u5bb9\u91cf\u95ee\u9898 5\u3001 \u7f13\u5b58\u6570\u636e\u4f1a\u5728\u865a\u62df\u673a\u91cd\u542f\u7684\u8fc7\u7a0b\u4e2d\u5199\u5165\u78c1\u76d8 6\u3001\u53ef\u4ee5\u901a\u8fc7RMI\u3001\u53ef\u63d2\u5165API\u7b49\u65b9\u5f0f\u8fdb\u884c\u5206\u5e03\u5f0f\u7f13\u5b58 7\u3001 \u5177\u6709\u7f13\u5b58\u548c\u7f13\u5b58\u7ba1\u7406\u5668\u7684\u4fa6\u542c\u63a5\u53e3 8\u3001\u652f\u6301\u591a\u7f13\u5b58\u7ba1\u7406\u5668\u5b9e\u4f8b\uff0c\u4ee5\u53ca\u4e00\u4e2a\u5b9e\u4f8b\u7684\u591a\u4e2a\u7f13\u5b58\u533a\u57df 9\u3001\u63d0\u4f9bHibernate\u7684\u7f13\u5b58\u5b9e\u73b0
\u7f3a\u70b9\uff1a 1\u3001\u4f7f\u7528\u78c1\u76d8Cache\u7684\u65f6\u5019\u975e\u5e38\u5360\u7528\u78c1\u76d8\u7a7a\u95f4\uff1a\u8fd9\u662f\u56e0\u4e3aDiskCache\u7684\u7b97\u6cd5\u7b80\u5355\uff0c\u8be5\u7b97\u6cd5\u7b80\u5355\u4e5f\u5bfc\u81f4Cache\u7684\u6548\u7387\u975e\u5e38\u9ad8\u3002\u5b83\u53ea\u662f\u5bf9\u5143\u7d20\u76f4\u63a5\u8ffd\u52a0\u5b58\u50a8\u3002\u56e0\u6b64\u641c\u7d22\u5143\u7d20\u7684\u65f6\u5019\u975e\u5e38\u7684\u5feb\u3002\u5982\u679c\u4f7f\u7528DiskCache\u7684\uff0c\u5728\u5f88\u9891\u7e41\u7684\u5e94\u7528\u4e2d\uff0c\u5f88\u5feb\u78c1\u76d8\u4f1a\u6ee1\u3002
2\u3001 \u4e0d\u80fd\u4fdd\u8bc1\u6570\u636e\u7684\u5b89\u5168\uff1a\u5f53\u7a81\u7136kill\u6389java\u7684\u65f6\u5019\uff0c\u53ef\u80fd\u4f1a\u4ea7\u751f\u51b2\u7a81\uff0cEhCache\u7684\u89e3\u51b3\u65b9\u6cd5\u662f\u5982\u679c\u6587\u4ef6\u51b2\u7a81\u4e86\uff0c\u5219\u91cd\u5efacache\u3002\u8fd9\u5bf9\u4e8eCache\u6570\u636e\u9700\u8981\u4fdd\u5b58\u7684\u65f6\u5019\u53ef\u80fd\u4e0d\u5229\u3002\u5f53\u7136\uff0cCache\u53ea\u662f\u7b80\u5355\u7684\u52a0\u901f\uff0c\u800c\u4e0d\u80fd\u4fdd\u8bc1\u6570\u636e\u7684\u5b89\u5168\u3002\u5982\u679c\u60f3\u4fdd\u8bc1\u6570\u636e\u7684\u5b58\u50a8\u5b89\u5168\uff0c\u53ef\u4ee5\u4f7f\u7528Bekeley DB Java Edition\u7248\u672c\u3002\u8fd9\u662f\u4e2a\u5d4c\u5165\u5f0f\u6570\u636e\u5e93\u3002\u53ef\u4ee5\u786e\u4fdd\u5b58\u50a8\u5b89\u5168\u548c\u7a7a\u95f4\u7684\u5229\u7528\u7387\u3002
\u4e5d\u3001Redis
redis\u662f\u4e00\u4e2akey-value\u5b58\u50a8\u7cfb\u7edf\u3002\u548cMemcached\u7c7b\u4f3c\uff0c\u5b83\u652f\u6301\u5b58\u50a8\u7684value\u7c7b\u578b\u76f8\u5bf9\u66f4\u591a\uff0c\u5305\u62ecstring(\u5b57\u7b26\u4e32)\u3001list(\u94fe\u8868)\u3001set(\u96c6\u5408)\u3001zset(sorted set \u2013\u6709\u5e8f\u96c6\u5408)\u548chash\uff08\u54c8\u5e0c\u7c7b\u578b\uff09\u3002\u8fd9\u4e9b\u6570\u636e\u7c7b\u578b\u90fd\u652f\u6301push/pop\u3001add/remove\u53ca\u53d6\u4ea4\u96c6\u5e76\u96c6\u548c\u5dee\u96c6\u53ca\u66f4\u4e30\u5bcc\u7684\u64cd\u4f5c\uff0c\u800c\u4e14\u8fd9\u4e9b\u64cd\u4f5c\u90fd\u662f\u539f\u5b50\u6027\u7684\u3002\u5728\u6b64\u57fa\u7840\u4e0a\uff0credis\u652f\u6301\u5404\u79cd\u4e0d\u540c\u65b9\u5f0f\u7684\u6392\u5e8f\u3002\u4e0ememcached\u4e00\u6837\uff0c\u4e3a\u4e86\u4fdd\u8bc1\u6548\u7387\uff0c\u6570\u636e\u90fd\u662f\u7f13\u5b58\u5728\u5185\u5b58\u4e2d\u3002\u533a\u522b\u7684\u662fredis\u4f1a\u5468\u671f\u6027\u7684\u628a\u66f4\u65b0\u7684\u6570\u636e\u5199\u5165\u78c1\u76d8\u6216\u8005\u628a\u4fee\u6539\u64cd\u4f5c\u5199\u5165\u8ffd\u52a0\u7684\u8bb0\u5f55\u6587\u4ef6\uff0c\u5e76\u4e14\u5728\u6b64\u57fa\u7840\u4e0a\u5b9e\u73b0\u4e86master-slave(\u4e3b\u4ece)\u540c\u6b65\u3002
Redis\u6570\u636e\u5e93\u5b8c\u5168\u5728\u5185\u5b58\u4e2d\uff0c\u4f7f\u7528\u78c1\u76d8\u4ec5\u7528\u4e8e\u6301\u4e45\u6027\u3002\u76f8\u6bd4\u8bb8\u591a\u952e\u503c\u6570\u636e\u5b58\u50a8\uff0cRedis\u62e5\u6709\u4e00\u5957\u8f83\u4e3a\u4e30\u5bcc\u7684\u6570\u636e\u7c7b\u578b\u3002Redis\u53ef\u4ee5\u5c06\u6570\u636e\u590d\u5236\u5230\u4efb\u610f\u6570\u91cf\u7684\u4ece\u670d\u52a1\u5668\u3002
1.2\u3001Redis\u4f18\u70b9\uff1a
\uff081\uff09\u5f02\u5e38\u5feb\u901f\uff1aRedis\u7684\u901f\u5ea6\u975e\u5e38\u5feb\uff0c\u6bcf\u79d2\u80fd\u6267\u884c\u7ea611\u4e07\u96c6\u5408\uff0c\u6bcf\u79d2\u7ea681000+\u6761\u8bb0\u5f55\u3002
\uff082\uff09\u652f\u6301\u4e30\u5bcc\u7684\u6570\u636e\u7c7b\u578b\uff1aRedis\u652f\u6301\u6700\u5927\u591a\u6570\u5f00\u53d1\u4eba\u5458\u5df2\u7ecf\u77e5\u9053\u50cf\u5217\u8868\uff0c\u96c6\u5408\uff0c\u6709\u5e8f\u96c6\u5408\uff0c\u6563\u5217\u6570\u636e\u7c7b\u578b\u3002\u8fd9\u4f7f\u5f97\u5b83\u975e\u5e38\u5bb9\u6613\u89e3\u51b3\u5404\u79cd\u5404\u6837\u7684\u95ee\u9898\uff0c\u56e0\u4e3a\u6211\u4eec\u77e5\u9053\u54ea\u4e9b\u95ee\u9898\u662f\u53ef\u4ee5\u5904\u7406\u901a\u8fc7\u5b83\u7684\u6570\u636e\u7c7b\u578b\u66f4\u597d\u3002
\uff083\uff09\u64cd\u4f5c\u90fd\u662f\u539f\u5b50\u6027\uff1a\u6240\u6709Redis\u64cd\u4f5c\u662f\u539f\u5b50\u7684\uff0c\u8fd9\u4fdd\u8bc1\u4e86\u5982\u679c\u4e24\u4e2a\u5ba2\u6237\u7aef\u540c\u65f6\u8bbf\u95ee\u7684Redis\u670d\u52a1\u5668\u5c06\u83b7\u5f97\u66f4\u65b0\u540e\u7684\u503c\u3002
\uff084\uff09\u591a\u529f\u80fd\u5b9e\u7528\u5de5\u5177\uff1aRedis\u662f\u4e00\u4e2a\u591a\u5b9e\u7528\u7684\u5de5\u5177\uff0c\u53ef\u4ee5\u5728\u591a\u4e2a\u7528\u4f8b\u5982\u7f13\u5b58\uff0c\u6d88\u606f\uff0c\u961f\u5217\u4f7f\u7528(Redis\u539f\u751f\u652f\u6301\u53d1\u5e03/\u8ba2\u9605)\uff0c\u4efb\u4f55\u77ed\u6682\u7684\u6570\u636e\uff0c\u5e94\u7528\u7a0b\u5e8f\uff0c\u5982Web\u5e94\u7528\u7a0b\u5e8f\u4f1a\u8bdd\uff0c\u7f51\u9875\u547d\u4e2d\u8ba1\u6570\u7b49\u3002
1.3\u3001Redis\u7f3a\u70b9\uff1a \uff081\uff09\u5355\u7ebf\u7a0b \uff082\uff09\u8017\u5185\u5b58
\u5341\u3001Shiro
Apache Shiro\u662fJava\u7684\u4e00\u4e2a\u5b89\u5168\u6846\u67b6\uff0c\u65e8\u5728\u7b80\u5316\u8eab\u4efd\u9a8c\u8bc1\u548c\u6388\u6743\u3002Shiro\u5728JavaSE\u548cJavaEE\u9879\u76ee\u4e2d\u90fd\u53ef\u4ee5\u4f7f\u7528\u3002\u5b83\u4e3b\u8981\u7528\u6765\u5904\u7406\u8eab\u4efd\u8ba4\u8bc1\uff0c\u6388\u6743\uff0c\u4f01\u4e1a\u4f1a\u8bdd\u7ba1\u7406\u548c\u52a0\u5bc6\u7b49\u3002Shiro\u7684\u5177\u4f53\u529f\u80fd\u70b9\u5982\u4e0b\uff1a
\uff081\uff09\u8eab\u4efd\u8ba4\u8bc1/\u767b\u5f55\uff0c\u9a8c\u8bc1\u7528\u6237\u662f\u4e0d\u662f\u62e5\u6709\u76f8\u5e94\u7684\u8eab\u4efd\uff1b
\uff082\uff09\u6388\u6743\uff0c\u5373\u6743\u9650\u9a8c\u8bc1\uff0c\u9a8c\u8bc1\u67d0\u4e2a\u5df2\u8ba4\u8bc1\u7684\u7528\u6237\u662f\u5426\u62e5\u6709\u67d0\u4e2a\u6743\u9650\uff1b\u5373\u5224\u65ad\u7528\u6237\u662f\u5426\u80fd\u505a\u4e8b\u60c5\uff0c\u5e38\u89c1\u7684\u5982\uff1a\u9a8c\u8bc1\u67d0\u4e2a\u7528\u6237\u662f\u5426\u62e5\u6709\u67d0\u4e2a\u89d2\u8272\u3002\u6216\u8005\u7ec6\u7c92\u5ea6\u7684\u9a8c\u8bc1\u67d0\u4e2a\u7528\u6237\u5bf9\u67d0\u4e2a\u8d44\u6e90\u662f\u5426\u5177\u6709\u67d0\u4e2a\u6743\u9650\uff1b
\uff083\uff09\u4f1a\u8bdd\u7ba1\u7406\uff0c\u5373\u7528\u6237\u767b\u5f55\u540e\u5c31\u662f\u4e00\u6b21\u4f1a\u8bdd\uff0c\u5728\u6ca1\u6709\u9000\u51fa\u4e4b\u524d\uff0c\u5b83\u7684\u6240\u6709\u4fe1\u606f\u90fd\u5728\u4f1a\u8bdd\u4e2d\uff1b\u4f1a\u8bdd\u53ef\u4ee5\u662f\u666e\u901aJavaSE\u73af\u5883\u7684\uff0c\u4e5f\u53ef\u4ee5\u662f\u5982Web\u73af\u5883\u7684\uff1b
\uff084\uff09\u52a0\u5bc6\uff0c\u4fdd\u62a4\u6570\u636e\u7684\u5b89\u5168\u6027\uff0c\u5982\u5bc6\u7801\u52a0\u5bc6\u5b58\u50a8\u5230\u6570\u636e\u5e93\uff0c\u800c\u4e0d\u662f\u660e\u6587\u5b58\u50a8\uff1b
\uff085\uff09Web\u652f\u6301\uff0c\u53ef\u4ee5\u975e\u5e38\u5bb9\u6613\u7684\u96c6\u6210\u5230Web\u73af\u5883\uff1b Caching\uff1a\u7f13\u5b58\uff0c\u6bd4\u5982\u7528\u6237\u767b\u5f55\u540e\uff0c\u5176\u7528\u6237\u4fe1\u606f\u3001\u62e5\u6709\u7684\u89d2\u8272/\u6743\u9650\u4e0d\u5fc5\u6bcf\u6b21\u53bb\u67e5\uff0c\u8fd9\u6837\u53ef\u4ee5\u63d0\u9ad8\u6548\u7387\uff1b
\uff086\uff09shiro\u652f\u6301\u591a\u7ebf\u7a0b\u5e94\u7528\u7684\u5e76\u53d1\u9a8c\u8bc1\uff0c\u5373\u5982\u5728\u4e00\u4e2a\u7ebf\u7a0b\u4e2d\u5f00\u542f\u53e6\u4e00\u4e2a\u7ebf\u7a0b\uff0c\u80fd\u628a\u6743\u9650\u81ea\u52a8\u4f20\u64ad\u8fc7\u53bb\uff1b
\uff087\uff09\u63d0\u4f9b\u6d4b\u8bd5\u652f\u6301\uff1b
\uff088\uff09\u5141\u8bb8\u4e00\u4e2a\u7528\u6237\u5047\u88c5\u4e3a\u53e6\u4e00\u4e2a\u7528\u6237\uff08\u5982\u679c\u4ed6\u4eec\u5141\u8bb8\uff09\u7684\u8eab\u4efd\u8fdb\u884c\u8bbf\u95ee\uff1b
\uff089\uff09\u8bb0\u4f4f\u6211\uff0c\u8fd9\u4e2a\u662f\u975e\u5e38\u5e38\u89c1\u7684\u529f\u80fd\uff0c\u5373\u4e00\u6b21\u767b\u5f55\u540e\uff0c\u4e0b\u6b21\u518d\u6765\u7684\u8bdd\u4e0d\u7528\u767b\u5f55\u4e86\u3002
struts mvc框架,分离页面和后台实现
spring 依赖注入,降低耦合
SSH MVC
绛旓細Struts + Spring + Hibernate 杩欐槸褰撳墠闈炲父涓绘祦鐨勫紑鍙戞ā寮忋 鍏朵腑鐨凷truts妗嗘灦鏄礋璐e弬鏁扮殑鎺ユ敹锛堜篃鍖呮嫭涓氬姟閫昏緫鐨勫垽鏂級鍜岄〉闈㈢殑璺宠浆銆丠ibernate妗嗘灦鏄暟鎹寔涔呭寲鐨勯噸瑕佺粍鎴愰儴鍒嗭紙灏辨槸涓昏鍜屾暟鎹簱鎵撲氦閬撶殑锛変篃鏈夌殑浼佷笟鍜屼釜浜轰細鑷繁鎵嬪姩缂栧啓搴曞眰鐨勬暟鎹簱鐩稿叧浠g爜銆係pring妗嗘灦鏄竴瀹氳鐢ㄧ殑锛屽畠鐪佸幓浜嗙▼搴...
绛旓細3銆佸0鏄庡紡浜嬪姟鐨勬敮鎸佷竴鑸彧闇瑕侀氳繃閰嶇疆灏辫兘澶熷畬鎴愬浜庝簨鍔$殑绠$悊锛屽苟涓斾笉闇瑕佹墜鍔ㄨ繘琛岀紪绋嬨傜己鐐癸細1銆丼pring鏄竴涓緢杞婚噺绾鐨勬鏋锛屼絾鏄粰浜烘劅瑙夊ぇ鑰屽叏銆2銆丼pring閫氬父渚濊禆鍙嶅皠锛岃屽弽灏勪細褰卞搷鎬ц兘銆3銆佷娇鐢ㄩ棬妲涙瘮杈冮珮锛屽叆闂⊿pring鐨勮瘽闇瑕佽緝闀挎椂闂淬2銆丼pring鐨勫簲鐢ㄥ満鏅鏈夊摢浜涳紵Spring鐨勫簲鐢ㄥ満鏅湁JavaEE浼佷笟...
绛旓細鑷充簬SpringMVC.杩欎釜鐩稿浜嶴2SH鏉ヨ姣旇緝杞婚噺绾,鏁版嵁搴撴搷浣滃眰鍙互閫夋嫨ibatis,缁熶竴绠$悊sql鐢氭槸鏂逛究,閲囩敤绾敞瑙f洿濂,鍐嶈jFinal,杩欎釜鏄垰鍑烘潵涓嶅氨寰楁柊妗嗘灦,涓汉瑙夊緱鏄釜寰堥嗗ぉ鐨勬鏋,闆秞ml鏂囦欢(鏈変釜鏁版嵁搴撻厤缃殑txt鏂囦欢)鎵鏈変笢瑗垮惎鍔ㄩ渶瑕佸姞杞界殑閮藉湪java绫婚噷闈(***Config.java)璋冭瘯绁為┈鐨勫氨澶柟渚夸簡浠ヨ嚦浜庝綘鑳...
绛旓細鎴戠敤杩嘕Creator锛孍clipse锛孨etBeans銆傛渶鍚庡埌鐜板湪杩樻槸鐢↗Creator銆傛湁杩欏嚑鏂归潰鐨勬劅瑙夛細1.閫熷害锛欽Creator蹇殑澶氥侲clipse鏋佹參锛屾垜鐢佃剳涓嶅ソPIII鐨勶紝杈撳叆浠g爜鍗$殑1鍒嗛挓涔熻緭涓嶅畬1琛屻侼etBeans涔熷緢鎱紝鐣ュソ浜嶦clipse銆2.鍔熻兘锛欵clipse鍙互鍔燦澶氭彃浠躲傚姛鑳芥墿鍏呮柟渚(涓嶈繃鑳界敤鍒板灏戝氨涓よ浜)銆侸Creator鍔熻兘鏈灏戯紝...
绛旓細Hibernate鏄疛DBC鐨勮交閲忕骇鐨勫璞″皝瑁咃紝瀹冩槸涓涓嫭绔嬬殑瀵硅薄鎸佷箙灞傛鏋躲侶ibernate鍙互鐢ㄥ湪浠讳綍JDBC鍙互浣跨敤鐨勫満鍚堬紝渚嬪Java搴旂敤绋嬪簭鐨勬暟鎹簱璁块棶浠g爜锛孌AO鎺ュ彛鐨勫疄鐜扮被锛岀敋鑷冲彲浠ユ槸BMP閲岄潰鐨勮闂暟鎹簱鐨勪唬鐮併2)Hibernate鏄竴涓拰JDBC瀵嗗垏鍏宠仈鐨勬鏋锛屾墍浠ibernate鐨勫吋瀹规у拰JDBC椹卞姩锛屽拰鏁版嵁搴撻兘鏈変竴瀹氱殑鍏崇郴锛...
绛旓細spring鑷甫鐨勬湁涓涓潈闄妗嗘灦涓嶈繃鐩墠鍋氶」鐩緢灏戦噰鐢╯pring鑷甫鐨勬潈闄愭鏋躲傚熀鏈潈闄愭鏋堕兘鏄嚜宸卞啓鐨. 鎬濊矾锛氭潈闄愬垎涓轰笁涓〃锛氱敤鎴疯〃銆佽鑹茶〃銆佹潈闄愯〃锛屼緷娆″叧绯伙細1锛歯 鐧婚檰鏃讹紝鎶婃潈闄愯〃璁板綍鍋氭垚list鏀惧埌session涓紝椤甸潰鎺у埗鍙互閫氳繃鑷畾涔夋爣绛炬潵瀹炵幇....
绛旓細浜嬪姟澶勭悊锛JavaEE骞冲彴鎻愪緵浜嗗己澶х殑浜嬪姟澶勭悊鏈哄埗锛屽彲浠ヤ繚璇佷簨鍔$殑涓鑷存у拰鍙潬鎬с傚ぇ鍨嬩紒涓氬簲鐢ㄧ▼搴忥細JavaEE閫傜敤浜庡ぇ鍨嬩紒涓氬簲鐢ㄧ▼搴忓紑鍙戯紝鍙互鏀寔楂樺苟鍙戙侀珮鍚炲悙閲忓拰澶ц妯℃暟鎹鐞嗐傜己鐐癸細瀛︿範鏇茬嚎锛氫笌鍏朵粬璇█鐩告瘮锛孞avaEE鏈夎緝澶х殑瀛︿範鏇茬嚎锛岄渶瑕佸涔犱紬澶鐨勬鏋鍜屾妧鏈傚鏉傛э細JavaEE搴旂敤绋嬪簭閫氬父姣旇緝澶嶆潅锛...
绛旓細Java鐨娴嬭瘯妗嗘灦鍖呮嫭JUnit銆乀estNG绛夛紝鑰孭ython鐨勬祴璇曟鏋跺垯鍖呮嫭unittest銆乸ytest绛夈備綘鍙互鏍规嵁椤圭洰闇姹傚拰涓汉鍠滃ソ閫夋嫨閫傚悎鑷繁鐨勬祴璇曟鏋躲傜ぞ鍖烘敮鎸丣ava鍜孭ython閮芥湁搴炲ぇ鐨勭ぞ鍖烘敮鎸侊紝杩欐剰鍛崇潃浣犲彲浠ュ湪閬囧埌闂鏃舵洿瀹规槗鍦版壘鍒拌В鍐虫柟妗堛備袱鑰呭湪鑷姩鍖栨祴璇曟柟闈㈤兘鏈夊箍娉涚殑绀惧尯鏀寔鍜屾椿璺冪殑寮鍙戣呯ぞ鍖恒傞泦鎴愬紑鍙戠幆澧冿紙...
绛旓細鏄撲簬瀹夎鍜岄厤缃佹敮鎸佺殑骞冲彴涓板瘜銆佽皟璇曞姛鑳藉己澶с7.)寮婧Java IDE jEdit http://www.jedit.org/ 鍐呭祵鐨凚eanshell寮曟搸銆佺伒娲汇佹墽琛屾晥鐜囬珮銆8.)寮婧怞ava IDE JCreater http://www.jcreator.com/ 灏忚屼笖蹇紝甯哥敤鐨鍔熻兘閮芥敮鎸侊紝寰堥傚悎鍒濆鑰呫侸ava鍚勬祦琛孖DE浼樼己鍒嗘瀽锛歨ttp://www.evget.com/article/...
绛旓細鍦ㄨ繘琛岃蒋浠跺紑鍙戣繃绋嬩腑锛屼负浜嗚兘澶熸洿鏈夋晥鐨勬墽琛岀郴缁熸灦鏋勶紝涓鑸儏鍐典笅闇瑕佽繘琛屽垎灞傜粨鏋勭殑褰㈠紡鏉ユ瀯鎴愩傞偅涔堝湪浣跨敤鍒嗗眰鏋舵瀯鐨勮繃绋嬩腑鏈夊摢浜涗紭缂虹偣鍛紵涓嬮潰鐢佃剳鍩硅涓哄ぇ瀹跺叿浣撲粙缁嶃備竴銆佷粈涔堟槸鍒嗗眰鏋舵瀯鍒嗗眰浣撶郴缁撴瀯涓昏鏄牴鎹按骞冲垎鍓插皢杞欢妯″潡鍒掑垎涓哄涓眰娆°傜郴缁熺敱澶氬眰缁勬垚锛屾瘡涓灞傜敱澶氫釜妯″潡缁勬垚銆傞偅涔堝灏戝眰鎵嶆槸...