在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/ Java問答
使勁操 回答

kotlin不知道,但Java確實(shí)不允許修改靜態(tài)常量字段的值,非靜態(tài)的可以。

未命名 回答

不好意思~ jwt是不支持主動(dòng)使用戶token過期的。

要知道用戶登錄身份的校驗(yàn),基本就兩種:

①客戶端存儲一個(gè)隨機(jī)串,發(fā)送請求時(shí)攜帶該串。服務(wù)器接收到之后拿著這個(gè)串去存儲中做比對,找到對應(yīng)的數(shù)據(jù)。

②將所有數(shù)據(jù)都存儲到客戶端。這樣就有會(huì)安全問題,因?yàn)榉?wù)器無法確定那些數(shù)據(jù)是有效的,那些數(shù)據(jù)是偽造的。所以就引入了簽名的概念。用算法的方式來保證數(shù)據(jù)的可信性。

早期的網(wǎng)站基本就一個(gè)主站,也沒有分布式的部署。所以多數(shù)都采用第一種方式。
但隨著訪問量的增加,開始做分布式,就涉及到了session共享的問題。比如①中的存儲,使用redis來達(dá)到共享數(shù)據(jù)的效果。但是這樣會(huì)在服務(wù)器中存儲大量的數(shù)據(jù)。

然后呢,就出來另外一種。不在服務(wù)器存儲數(shù)據(jù)。其中一個(gè)就是jwt。
jwt在生成時(shí),可以設(shè)置有效期。理論上 一個(gè)用戶可以產(chǎn)生無數(shù)個(gè)jwt,且jwt的有效期獨(dú)立。

如果你想將一個(gè)還在有效期內(nèi)的jwt置為無效,那就必須要在服務(wù)器存儲數(shù)據(jù),這就違背了他的設(shè)計(jì)原則~

其實(shí)。他的退出,就是客戶端主動(dòng)將jwt扔掉(假設(shè)不會(huì)被其他人撿到)~~~~~ 那么這個(gè)jwt不就不存在了嗎~ 這不就完成注銷功能了嗎~

厭惡我 回答

多種可能,八,十六,三十二進(jìn)制等等,如下圖:

圖片描述clipboard.png

懶洋洋 回答

1、保存線程棧:jstack -l pid > jstack.log
2、保存heap:jmap -dump:format=b,file=heap.hprof pid
3、使用mat分析heap,看是否有內(nèi)存泄露
4、分析gc log(如果之前沒有開啟gc log,要開啟,然后復(fù)現(xiàn),再拿gc log來查看),看是否是gc參數(shù)配置的不恰當(dāng)

附開啟gclog的參數(shù)

  • java8及之前的版本
-XX:+PrintGCDetails 
-XX:+PrintGCDateStamps 
-XX:+PrintGCTimeStamps
-XX:+PrintTenuringDistribution 
-Xloggc:/some-path/gc-$(date +%Y%m%d-%H%M%S).log
-XX:+UseGCLogFileRotation
-XX:NumberOfGCLogFiles=5
-XX:GCLogFileSize=10M
  • java9及以上版本
-Xlog:gc*=info:file=/some-path/gc-%t-%p.log:timemillis,pid:filecount=5,filesize=10M
硬扛 回答

@ResponseBody 接收的是前臺你用 JSON 傳遞過來的一個(gè)整體,所以你前臺需要將 String 和 List 封裝在一個(gè)對象里面。

var json = {};
json['content'] = content;
json['param'] = [{id: 1, name: "hello"}, {id: 2, name: "hello"}];

// ajax data
data:JSON.stringify(json)

后臺接收的話,建議是寫一個(gè)對象來接收比如,

public class SomeModel {
    private String content;
    private List<Tag> param;
    // getter and setter
}

controller

@RequestMapping(value = "add", consumes = "application/json; charset=utf-8")
public String add(@RequestBody SomeModel someModel) {
    String content = someModel.getContent();
    List<Tag> param = someModel.getParam();
}

或者可以偷懶,用 Map 來接收。

瘋浪 回答

webapps/下的所有文件都可以刪掉,沒事的。刪掉host-managermanager只是少了web端的管理界面而已,反正平時(shí)我?guī)缀跏遣挥玫?,發(fā)布程序都是重啟tomcat,所以那倆web界面其實(shí)沒什么卵用。

替身 回答

Windows或者Linux下,我一般都是直接寫的絕對路徑
同時(shí)也建議寫成完整路徑,這些看起來更加清晰易懂

volumes:
  - H:/code:/webser/www  # H是盤符,H:/code是Windows共享目錄
薄荷綠 回答

你理解的左連接是錯(cuò)誤的,左連接是會(huì)匹配所有滿足條件的數(shù)據(jù),如果 trd_goods 中有記錄在 trd_goods_tag_relation 匹配不到數(shù)據(jù)還是會(huì)產(chǎn)生一條記錄,只不過查詢中 trd_goods_tag_relation 中的字段是 null, 這就是以左邊的表為主。

1、首先,先看看正則的基本元字符:

代碼 說明
. 匹配除換行符(n, r)之外的任意 單個(gè) 字符。
\w 匹配大小寫字母、或數(shù)字、或下劃線。等價(jià)于[A-Za-z0-9_]。
\W 跟小寫的 w 正好相反。等價(jià)于1。
\s 匹配任意的空白字符,包括空格、制表符、換頁符等。等價(jià)于[fnrtv]。
\S 跟小寫的 s 正好相反。等價(jià)于2
\d 匹配一個(gè)數(shù)字字符,等價(jià)于[0-9]。
\D 匹配一個(gè)非數(shù)字字符,等價(jià)于3。
\b 匹配一個(gè)單詞的邊界,也就是單詞和空格的位置。
例如, 'erb' 可匹配 'never' 中的 'er',但不匹配 'verb' 中的 'er'。
^ 匹配輸入字符串開始位置。
$ 匹配輸入字符串的結(jié)束位置。
[] 匹配[]中列舉的字符。

2、然后,我們再看看正則的代表重復(fù)的字符

代碼/語法 說明
* 重復(fù)匹配前面的子表達(dá)式零次或更多次
+ 重復(fù)匹配前面的子表達(dá)式一次或更多次
? 重復(fù)匹配前面的子表達(dá)式零次或一次
{n} 重復(fù)匹配前面的子表達(dá)式n次
{n,} 重復(fù)匹配前面的子表達(dá)式n次或更多次
{n,m} 重復(fù)匹配前面的子表達(dá)式n到m次

3、承上,根據(jù)你的例子,我們需要的是這樣一個(gè)正則:

ret=re.search(r'\d+','hello999')
print(ret.group())

4、現(xiàn)在我們來說說你的正則為什么不成功

4.1、首先看看 re.search 函數(shù)的定義

re.search 掃描整個(gè)字符串并返回 第一個(gè) 成功 的匹配。

從字符串最左邊開始匹配,只要匹配到第一個(gè),那就返回,不管其它。

4.2、再看你的正則

ret=re.search(r'd*','hello999')
print(ret.group())

你用了一個(gè) r'd*', 在此表示字符串 d 出現(xiàn)零次或多次,記住出現(xiàn)零次這個(gè)概念,那就是一個(gè)空字符。你的正則就匹配了 hello 最左邊的一個(gè)空字符。

當(dāng)然,我明白題主的意思是為了匹配數(shù)字字符,但是很遺憾,只有 \d 才等價(jià)與 [0-9], d 僅僅是字符串 d 而已。

要想表達(dá)實(shí)現(xiàn)一次或多次,那么你得使用 + ,
所以最終的表達(dá)式應(yīng)該是 r'、d+'。


  1. A-Za-z0-9_ ?
  2. fnrtv ?
  3. 0-9 ?
雨萌萌 回答

這幾個(gè)字段都很小, 如果查詢條件相對固定的話,可以把這幾個(gè)字自段連一塊,形成一個(gè)字個(gè)段, 或物化視圖,并對此字段建索引. 然后只需查一個(gè)字段即可.

還有就是userid!=xxx, 最好改成(userid>xxx and userid<xxx), 也許我的經(jīng)驗(yàn)過時(shí)了, 但至少值得一試.

夢若殤 回答

是自動(dòng)加載還是手動(dòng)加載?看樣子應(yīng)該是自動(dòng)加載的同時(shí)渲染數(shù)據(jù)而卡掉吧,我覺得可以到第九張圖的時(shí)候,渲染新圖前,把 autoplay 改為 false,應(yīng)該就行了吧。

命于你 回答

跟數(shù)據(jù)庫無關(guān),是在通過網(wǎng)絡(luò)請求分頁獲取 jkb 上的消息。

過客 回答

<link rel="stylesheet" type="text/css" media="all"

      href="../../css/gtvg.css" th:href="@{/css/gtvg.css}" />
      
      
      **在你頁面頭部加上這個(gè),立馬解決,官方文檔說這是他的運(yùn)行組件,必備得
      https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#using-thtext-and-externalizing-text
毀憶 回答

一個(gè)插入語句只能插入一張表。

萢萢糖 回答

哪有啟動(dòng)不報(bào)警告的,只要不報(bào)錯(cuò)就行了.兄弟

短嘆 回答

不是viewpager+fragment+tablayout的問題,是你其他代碼的問題

淺淺 回答

相對web項(xiàng)目來說,放到classes下,那是因?yàn)槟抢锸琼?xiàng)目的根目錄,那個(gè)相對路徑是 /

例如你的文件是jdbc.properties,那么就配的相對路徑就是“/jdbc.properties”,也可以是“jdbc.properties”

情已空 回答

jQuery與原生的事件基本上是一一對應(yīng)的。寫法不一樣而已
偽代碼:

let $dom; //jQuery
let dom; //js
$dom.mouseenter(function(event){...});
dom.onmouseenter = function(event){...}