mybatis是這么用的嗎??寫注解,這多麻煩啊,我們都是生成的xml文件,里面基本的增刪改查語(yǔ)句都有了
簡(jiǎn)單的做就是不要用session、cookie這些,直接自己處理token
shiro 注冊(cè)了過(guò)濾器一類的東西去操作這些,話說(shuō) session id 不是 web 容器 在負(fù)責(zé)嗎。
如果使用jdk1.8,嘗試升級(jí)spring到spring4
參考:Context initialization failed org.springframework.beans.factory.BeanDefinitionStoreException
@smilesnake 首先感謝分享代碼,可能是我的問(wèn)題,沒(méi)有把問(wèn)題描述清楚,我目前就是按照你的思路來(lái)做的,但問(wèn)題是最后給用戶生成的這個(gè)doc文檔是xml類型的(另存為的時(shí)候能夠看到)并且用戶打開(kāi)編輯后再去另存的時(shí)候就變成了xml為后綴的文檔了,導(dǎo)致后面打不開(kāi),所以我的問(wèn)題是如何能生成word類型的文檔
想要保存狀態(tài),使用 localStorage 等
我猜是等比例縮放,
長(zhǎng)圖大圖是顯示中間
側(cè)重點(diǎn)不同吧,ConcurrentHashMap 本質(zhì)就是一種數(shù)據(jù)結(jié)構(gòu) hash map,基于內(nèi)存;而ehcache是一種緩存解決方案,例如會(huì)考慮 緩存數(shù)據(jù)淘汰、緩存數(shù)據(jù)過(guò)期、數(shù)據(jù)持久化 等等,更加偏向于是一種類庫(kù),功能比較全面。看你的應(yīng)用場(chǎng)景了,如果僅僅是儲(chǔ)存,當(dāng)然選擇ConcurrentHashMap;緩存則選擇ehcache(當(dāng)然你也可以基于現(xiàn)有的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)一套自己的緩存框架)
ssh-copy-id -p
修改Port為你的端口號(hào)
不需要對(duì)下載鏈接進(jìn)行斷言,你也可以在點(diǎn)擊按鈕之后,過(guò)一段時(shí)間檢測(cè)文件是否保存到本地磁盤
當(dāng)所有線程運(yùn)行結(jié)束,或者只剩下守護(hù)線程時(shí) JVM 進(jìn)程就會(huì)退出。
如下帶有 daemon 的就是守護(hù)線程。
"Attach Listener" #84 daemon prio=9 os_prio=0 tid=0x00007f9a60001000 nid=0x485e waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"ajp-nio-8009-Acceptor-0" #80 daemon prio=5 os_prio=0 tid=0x00007f9a94303800 nid=0x475c runnable [0x00007f9a293e1000]
java.lang.Thread.State: RUNNABLE
如果還有線程是非守護(hù)線程并且是 RUNNABLE 狀態(tài)的 JVM 進(jìn)程是不會(huì)退出的,如下。
"nioEventLoopGroup-3-1" #44 prio=10 os_prio=0 tid=0x00007f9a0c004800 nid=0x475d runnable [0x00007f9a79e2b000]
java.lang.Thread.State: RUNNABLE
所以題主只要在 ServletContextListener.destroy 的時(shí)候?qū)⑦@些非守護(hù)線程停止或者讓他自動(dòng)結(jié)束,那 JVM 進(jìn)程就會(huì)運(yùn)行結(jié)束了。
你確實(shí)理解錯(cuò)意思了。給的 n 是最后要生成的魔法幣數(shù)量,是從最開(kāi)始的 0 個(gè),怎么使用 1 和 2 這 2 個(gè)魔法機(jī)器生成 n。
解法:
1 號(hào)機(jī)器是 2x+1,是一個(gè)奇數(shù);2 號(hào)機(jī)器是 2x+2,是一個(gè)偶數(shù)。所以可以考慮從后往前推。比如給的示例 10,最后一步只能通過(guò) 2 號(hào)機(jī)器獲得,用 (10 - 2)/ 2 得到倒數(shù)第二步的結(jié)果是 4;說(shuō)明還是用 2 號(hào)機(jī)器,用 (4 - 2)/ 2 得到倒數(shù)第三步的結(jié)果是 1;是奇數(shù),那肯定是用 1 號(hào)機(jī)器了。
最后將結(jié)果反過(guò)來(lái),就是 122 了
問(wèn)題原因
我在問(wèn)題描述的時(shí)候忘記貼controller的頭部信息了;
@Autowired
private HttpServletResponse response;
因?yàn)槲以谡?qǐng)求層注入了response,后面的文件請(qǐng)求對(duì)象返回都使用了這個(gè),導(dǎo)致了報(bào)錯(cuò);
修改為
@RequestMapping("/see/{id}")
public void seeUrl(@PathVariable("id")Integer id, HttpServletResponse httpServletResponse) {
sysFileService.fileDownload(id, false, true, httpServletResponse);
}
切片后在上傳吧,這樣就能跳過(guò)限制,還能顯示進(jìn)度條
不用spring mvc ?spring mvc 可以解決你的疑惑
個(gè)人覺(jué)得你的問(wèn)題不在于連接不釋放,而在于連接持有時(shí)間過(guò)長(zhǎng),在處理SQL期間,連接持有是沒(méi)有意義的,所以可以改為:
1. 持有Redis連接,執(zhí)行前置邏輯(如果有的話),釋放連接
2. 執(zhí)行SQL邏輯(可能耗時(shí)較久)
3. 再次持有連接,執(zhí)行后置邏輯(如果有的話),釋放連接
在有連接池的條件下,連接的開(kāi)銷會(huì)很小,所以不必要長(zhǎng)時(shí)間占用連接
i標(biāo)簽在哪呢?
解釋下棧的壓入和彈出:比如操作數(shù)組,壓入就是push進(jìn)去,彈出就是pop。
如:壓棧順序:1,2,3,4,5 判斷彈出序列可以為4,5,3,2,1或者4,3,5,1,2
第一個(gè):(成立)
1,2,3,4入棧,4出棧 彈出4
剩1,2,3 這時(shí)5入棧,棧內(nèi)1,2,3,5 5出棧, 彈出5 棧內(nèi)1,2,3 依次出棧
用代碼實(shí)現(xiàn)就是:
var arr = []
arr.push(1)
arr.push(2)
arr.push(3)
arr.push(4)
arr.pop()
arr.push(5)
arr.pop()
arr.pop()
arr.pop()
arr.pop()
第二個(gè):(比較特殊)
1,2,3,4入棧,4,3出棧
剩1,2 這時(shí)5入棧 棧內(nèi)1,2,5 5出棧 剩1,2 棧底彈出1,2
用代碼實(shí)現(xiàn)就是:
var arr = []
arr.push(1)
arr.push(2)
arr.push(3)
arr.push(4)
arr.pop()
arr.pop()
arr.push(5)
arr.pop()
arr.shift()
arr.shift()
arr還剩[1,2] 無(wú)法pop出1,2 除非可以前置arr.shift()你說(shuō)的對(duì)方給你一個(gè)session,需要自己記錄一下session,然后每次提交別的api請(qǐng)求的時(shí)候需要攜帶
function doPost($url, $data){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$data = curl_exec($ch);
curl_close($ch);
return json_decode($data, true);
}
$url = 'http://xxx.com/api/login';
$data = [
'email' => 'abc@abc.com',
'password' => '123456'
];
$res = doPost($url, $data);
// 判斷$res結(jié)果 這一部分需要看具體api文檔
if($res['errcode'] == 0){
// 記錄session
$session = $res['data']['session'];
}
// 下次請(qǐng)求別的接口的時(shí)候攜帶一些參數(shù),具體看接口文檔,有的可能要求是放到header頭信息中,有的可能要求是直接作為一個(gè)參數(shù)傳遞代碼等同于這句:
c=c+(a==null?"":a+b==null?"":b)北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。