鍍金池/ 問答/ Linux問答
老梗 回答

api為你的請求固定前綴,自行更換

location /api {
  proxy_pass  http://localhost:8080/api;
}

具體可參考 https://www.thinktxt.com/ngin...

舊螢火 回答

主從關(guān)系如果建立正確,在主庫新建表,是會同步到從庫的。我建立的主從庫是這樣的。

生性 回答

執(zhí)行 ./catalina.sh run 會在當(dāng)前控制臺打印出日志信息。我猜測應(yīng)該是啟動報錯了,看了日志之后再具體分析。

墨小白 回答

經(jīng)過自己查詢很多文章了解到,flume所支持elasticsearch版本較為落后,如果要想使用flume直接向es傳輸,需要使用低版本的es,而且需要修改jar包中的一些方法。flume的更新速度也遠(yuǎn)不如es的更新速率,所以應(yīng)該選取其它的日志收集策略

扯不斷 回答

你可以下載一下git history diff這個插件
可以把當(dāng)前文件跟以前的各個版本進(jìn)行對比

風(fēng)畔 回答

那用戶信息是如何獲取的呢?

請求后端獲取的。

臭榴蓮 回答

跨域了,服務(wù)端要對這個請求做處理

只愛你 回答
virt 7070m
你的java程序能訪問的內(nèi)存空間地址, 包括代碼,數(shù)據(jù),共享庫,交換頁等等, 這是一個虛擬映射, 并不是所有地址都有相應(yīng)的物理內(nèi)存對應(yīng), 所以可以是大于物理內(nèi)存的.

res 2.5g
這個可能和你的java啟動參數(shù)有關(guān), 如 -Xmx2500m或比這個還大, 是程序占用的非交換的駐留內(nèi)存.

shr 10m
占用內(nèi)存的可共享部分,可能與其他進(jìn)行共用.

%mem 4.0
占用內(nèi)存的百分比

推測 2.5g/4%=62.5~你的機器有64G的物理內(nèi)存

至于代碼

 List list = new ArrayList<String>(1000);
 list.add("abcd");  

可以這樣理解內(nèi)存使用
new ArrayList<String>(1000); 僅僅是分配并初始化了一個ArrayList對象. 并初始化的內(nèi)部的數(shù)組對象

我們看一下JDK6的源碼

127     public ArrayList(int initialCapacity) {
128         super();  //調(diào)用AbstractList的默認(rèn)構(gòu)造函數(shù),里面什么也沒有做
129         if (initialCapacity < 0)
130             throw new IllegalArgumentException("Illegal Capacity: "+
131                                                initialCapacity);
132         this.elementData = new Object[initialCapacity]; //創(chuàng)建一個數(shù)組對象
133     }

真正消耗內(nèi)存的是 new Object[initialCapacity], 大約是initialCapacity*4個字節(jié), 算下來也不多.
list.add("abcd")增加了一個string對象加對象內(nèi)部字符和屬性(長度等)占用的內(nèi)存.

可以用下面的小程序完成對內(nèi)存使用的檢驗

import java.util.*;

public class test{

        public static void print(){

        long total = Runtime.getRuntime().totalMemory();
        long used  = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
        System.out.println("total="+total+" used="+used);

    }

    public static void main(String[] args)throws Exception {
         print(); //(1)
         List<String> list = new ArrayList<>(1000000);
         print(); //(2)
         Thread.sleep(1000);
         int i=0;
         while(i++<1000000){
          list.add(i+"test1234567890");
         }
         print();//(3)

         Thread.sleep(10000);  
    }
} 

代碼里的Thread.sleep的作用是為了占用內(nèi)存時間長一下,這樣可以用終端指令進(jìn)行監(jiān)控

top -p `pgrep java`

上面的程序執(zhí)行后輸出的結(jié)果為

total=55574528 used=608336        (1)
total=55574528 used=4608352       (2)
total=204472320 used=85200512     (3)

上面(2)-(1) 4608352-608336= 4000016
對應(yīng)的是ArrayList對象占16字節(jié), elementData數(shù)組每個占4字節(jié),共1Mx4=4M內(nèi)存.
放入字符串后, 85200512-4608352=80592160, 大概我的每個測試字符串占用了80字節(jié),實際字符平均20個, 每個字符占用的也是4個字節(jié).

-----實踐出真知-----

遺莣 回答

1.node_modules 不要上傳
2.可以在根目錄建立一個.gitignore,會忽略不必要上傳的文件 .gitignore

初心 回答

剛開始安裝的時候是分布式安裝,后來就用一鍵安裝了,有時間的話,兩種方式都可以研究一下。

喵小咪 回答

找到答案了,是由于linux自帶的是python2.6,它不允許 {k: size[k] for k in ('width', 'height')}這樣的寫法。安裝python3就可以了

汐顏 回答

git push 的數(shù)據(jù)協(xié)議有兩種方式:sshhttp。

題主可以先試一下 http 方式看能否成功。只需在 git config 中修改 remote 地址為 http 方式即可。

如果可以的話,猜測是 gitlab 的 ssh 服務(wù)端(應(yīng)該有個 known_hosts 文件)沒有保存你的客戶端公鑰文件,導(dǎo)致每次連接都得 ssh-add。

安若晴 回答

試試這個:

location ^~/(abc|bdc|utf)/(*.html) {

   rewrite ^(.*) https://test.example.com/$1  permanent;

}
涼薄 回答

多次提交啊
1.git add file1 file2 file2
2.git commit -m 'xxxxxx'
3.git add file4 file5 file6 src1 src2/file*
4.git commit -m 'xxxxxxxxx'

終相守 回答

如果有別的更長的腳本,需要換行寫的話,用以下寫法

command:
  - /bin/sh
  - -c
  - |
    python3 manage.py migrate
    # ...隨意添加任意腳本...
    python3 manage.py runserver 0.0.0.0:8000

參考來源https://github.com/docker-lib...

墨小羽 回答

webpack只是打包依賴的資源,你后端代碼可以單獨的放上去部署

浪蕩不羈 回答

幫你頂一下幫你頂一下幫你頂一下幫你頂一下