你難道是在主線程中直接new server()的?這樣主線程當然會被一直block住。應該新開一個線程new Thread();把new server()放到新線程里面去。
創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網(wǎng)站建設、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的瓊結(jié)網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
線程是可以嵌套的??梢詤⒖家幌逻@個思路:要啟的服務的時候,先在主線程中new一個server的線程,在server中new多個socket或lisner的線程去發(fā)布你的服務。
說說自己總結(jié)的幾個點。設計支持高并發(fā)的應用步驟如下。1,根據(jù)app的實際業(yè)務設計合適的數(shù)據(jù)模型。這里說的數(shù)據(jù)模型主要是指業(yè)務實體有哪些,彼此的關(guān)聯(lián)是怎樣。2,思考每個業(yè)務實體,數(shù)據(jù)量,訪問的頻率和讀寫比率,查詢的復雜程度等方面,設計整個應用的數(shù)據(jù)管理方案。數(shù)據(jù)訪問盡可能簡單獨立,避免復雜的sql,便于后續(xù)性能擴展。對接關(guān)系型數(shù)據(jù)庫用ibatis比較靈活,容易管理。3,數(shù)據(jù)管理方案確定之后就成功一大半啦~ spring可以幫助你更好的管理代碼的依賴結(jié)構(gòu),便于理解和重構(gòu),如果只是簡單的后端接口加上native的app,基本上不需要mvc框架。對于支持大并發(fā)應用,制定的數(shù)據(jù)管理方案,選擇合適的數(shù)據(jù)管理中間件是重點。而框架往往用來是幫助提升開發(fā)效率,優(yōu)化代碼組織結(jié)構(gòu),用的好也不會提升性能,用不好會大概率影響性能和并發(fā)量。
分別設置過期時間的時候,應該要用單獨的key
你可以設置String pre="vid_" 這個前綴,
用直接用key去存, 并且用expire 分別設置時間,這樣多張圖片之間就不會沖突,并且有這個前綴,也不會和別的業(yè)務沖突,
ps: 我們公司都用 前綴 + 業(yè)務自身名字 + 后綴 這種模式的
理解Java編程思想:萬物都是對象。
寫Java代碼最重要是厘清做一件事成員、責任應該放在哪一邊
另外如果代碼寫不好,可以多讀一些經(jīng)典代碼,從小模塊開始,看看別人怎么設計的。
慢慢開始模仿,
另外就是有機會的話可以重寫一下自己的代碼,
一般在網(wǎng)上有免費的界面提供下載,有一定的html,css,腳本方面的知識,即使不懂,也能自我修改達到你要求的效果 算了我直接給你代碼得了
*************************************test.html*********************************************************
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312" /
title3列固定寬度居中+頭部+尾部——a href=""標準之路;/a/title
link href="layout.css" rel="stylesheet" type="text/css" /
/head
body
div id="container"
div id="header"This is the Header/div
div id="mainContent"
div id="sidebar"This is the sidebar/div
div id="sidebar2"This is the sidebar2/div
div id="content"3列固定寬度居中+頭部+尾部——a href=""標準之路;/a/div
/div
div id="footer"This is the footer/div
/div
/body
/html
********************************************layout.css *************************************************
body { font-family:Verdana; font-size:14px; margin:0;}
#container {margin:0 auto; width:900px;}
#header { height:100px; background:#6cf; margin-bottom:5px;}
#mainContent { height:500px; margin-bottom:5px;}
#sidebar { float:left; width:200px; height:500px; background:#9ff;}
#sidebar2 { float:right; width:200px; height:500px; background:#9ff;}
#content { margin:0 205px !important; margin:0 202px; height:500px; background:#cff;}
#footer { height:60px; background:#6cf;}