java oschina_简单说说 OSChina 的技术架构
OsChina.NET 這個(gè)域名是在去年 08年8月16日申請(qǐng)的,然后花了不足一個(gè)月的時(shí)候開發(fā)了第一個(gè)版本的OsChina,包含有項(xiàng)目展示、新聞、后臺(tái)管理、會(huì)員注冊(cè)等功能,以后的每次的改進(jìn)就沒那么集中,有空的話就完善完善一直到今天,當(dāng)然了,還會(huì)一直完善下去。
OsChina.NET 是用 Java 開發(fā)的(一個(gè)朋友說,不是PHP就是ASP.NET,肯定不是Java,不幸猜錯(cuò)了)。
目前整個(gè)工程的Java代碼行數(shù)是 1.5 萬包含注釋,其中真正的代碼行是 1 萬剛好,整個(gè)項(xiàng)目目錄不足十兆,包括所有的jar包。
Java 開發(fā)Web網(wǎng)站一般都有很多的框架可以選擇,但在OsChina中幾乎沒有用到什么框架,除了:Lucene(搜索)、Velocity(頁(yè)面模板)、EhCache(緩存)。其中參考了 Struts 的 DispatchAction 的思路自己寫了一個(gè)只有一個(gè) Java 文件的控制器(詳情),還有一個(gè)URL映射的(詳情)。之前的很多項(xiàng)目都用了 Hibernate 來訪問數(shù)據(jù)庫(kù),但覺得配置太煩、jar包太大,于是決定在 OsChina 項(xiàng)目中嘗試不用 Hibernate,后來選擇了 DbUtils ,結(jié)果是:配置沒了、代碼比用 Hibernate 來得更少,程序更簡(jiǎn)潔。例如:
/**
* 列出某人的好友
* @param user
* @return
*/
public static List ListFriendsOfUser(long user) {
String sql = "SELECT friend FROM osc_friends WHERE user=?";
return QueryHelper.query_cache(long.class, CACHE, user, sql, user);
}
其他方面:不在項(xiàng)目中啟動(dòng)線程來自動(dòng)構(gòu)建索引,而是提供一個(gè)程序讓通過操作系統(tǒng)的crontab來定期調(diào)用。
歡迎關(guān)注我的個(gè)人微信公眾號(hào)(紅薯胡說):
總結(jié)
以上是生活随笔為你收集整理的java oschina_简单说说 OSChina 的技术架构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 玩剑网3笔记本需要什么配置才能玩?
- 下一篇: dw怎么在框架中加入网页_怎样使用ifr