鍍金池/ 問答/ Linux問答
尕筱澄 回答

我測試驗證了下,主線程會等待,因為ScheduledExecutorService沒有被shutdown,你的需求是什么?如果你希望執(zhí)行結(jié)束后結(jié)束進(jìn)行,那么shutdown即可。

你參考下以下例子:

public static void main(String[] args) throws IOException {
        Object agentInfo = null;
        Integer samplingInterval = 30;

        ScheduledExecutorService executorService = new ScheduledThreadPoolExecutor(10);
        executorService.schedule(new WatchAgent(agentInfo), 1, TimeUnit.SECONDS);
//        executorService.scheduleAtFixedRate(new WatchAgent(agentInfo), 0, samplingInterval, TimeUnit.SECONDS);
        System.err.println("FINISH");
}

static class WatchAgent implements Runnable {

    public WatchAgent(Object info){

    }

    public void run(){
        try{
            System.out.println("Running " + this.hashCode() + " - started on/at " + (new Date()));
            Thread.sleep(6000);
            System.out.println("Running " + this.hashCode() + " - finished on/at " + (new Date()));
        }catch(Exception ex){
            ex.printStackTrace();
        }
    }
}
歆久 回答

不是線程安全是一定的,使用30,300個線程試試就知道了,讓你產(chǎn)生安全的錯覺在System.out.println是一個耗時的同步方法,就是它在很大程度上掩蓋了i++的可見性和原子性的問題。使用AtomicIntegersynchronized

安于心 回答

https://www.lfd.uci.edu/~gohl...
從這個網(wǎng)站下載編譯好的包試一試

解夏 回答

fiddler是攔截不到代理服務(wù)器發(fā)出的請求的,

所以你得弄清這個錯誤是代理服務(wù)器響應(yīng)的,還是111.231.0.208 通過代理服務(wù)器響應(yīng)給你的。

不歸路 回答
  1. docker是做什么用的?
    應(yīng)該可以視作一種部署的環(huán)境,用它可以將部署在其中的應(yīng)用/內(nèi)容同操作系統(tǒng)相隔離開,操作系統(tǒng)可以看到它,但在它里邊是看不到操作系統(tǒng)和其它docker容器的。
  2. 和虛擬機之間有啥關(guān)系?
    虛擬機必須在宿主機的基礎(chǔ)之上再模擬一套虛擬硬件出來,給裝在里邊的Guest OS用;docker就省事了,直接用宿主機現(xiàn)成的內(nèi)核和硬件資源,本質(zhì)上來說比較像是帶有隔離功能的進(jìn)程,所以速度更快。
    就好像一套臺式機,以前必須整套賣、不拆零;有虛擬機了以后,那么可以拆成主機、顯示器、鍵盤鼠標(biāo)套這種大塊的配件單獨出售了;有docker了以后呢,主機也能拆開賣了,居然可以一塊板子一塊板子的買。壞了或者想升級,以前得整套一起換,現(xiàn)在呢直接換塊板子居然就解決了。
  3. 優(yōu)勢是什么?
    速度更快,粒度更細(xì)(可以隔離單個應(yīng)用或部分資源)
夏夕 回答

一定要配置root,不然根本找不到文件

怣痛 回答

git push 推送到本地創(chuàng)建的分支, 然后在服務(wù)器pull拉取本地分支的代碼就可以了

裸橙 回答

按照你的提問內(nèi)容,你這個是屬于計算密集型應(yīng)用服務(wù),不是IO密集型服務(wù),通過redis或者M(jìn)Q可能不會有太大的幫助,

計算密集型的應(yīng)用提高處理速度對代碼質(zhì)量和算法有更高的實現(xiàn)要求。或者轉(zhuǎn)而使用其他編譯型語言實現(xiàn)。

如果你的問題是要處理類A+B計算結(jié)果,或者對某些固定的請求做計算,那你需要的是緩存。

如果你要處理計算量很大,并發(fā)數(shù)很高的請求,請求的客戶端不要求立即返回處理結(jié)果,那你可以使用MQ,將計算任務(wù)通過消息隊列分發(fā)至其他服務(wù)器處理或本機自身延時處理。

久舊酒 回答

不可能,資源是有限的,如果有方式讓一份資源有大于一份的產(chǎn)出,顯然這是違背物理邏輯的。

除非說容器內(nèi)跑得東西并無任何優(yōu)化(資源占用,線程調(diào)度等等),那么拆分兩個容器會有一種好像計算能力超出宿主機的能力的錯覺。

docker 是為了屏蔽差異,但是這種抽象層本身就會消耗資源的一部分。

如果真的要極致性能,還不如從頭寫一個內(nèi)核讓它只負(fù)責(zé)一個任務(wù)來獨占一切計算資源。

兩個容器只能盡可能的壓榨宿主的性能,多數(shù)情況下(編碼水平)可能還做不到。

病癮 回答

任何一個php的版本在其安裝的根目錄下有一個bin文件夾,這個文件夾下有兩個文件phpize和php-config,如下圖:
圖片描述

你裝任何的擴(kuò)展都要先把phpize掛起,假設(shè)進(jìn)入了bin目錄

./phpize

你想給哪個php裝擴(kuò)展就掛起哪個目錄下的phpize,這樣系統(tǒng)就知道你想把擴(kuò)展裝到哪個php版本上。
之后進(jìn)入你要安裝的擴(kuò)展的目錄配置一下php-config的路徑。

./configure --with-php-config="這里是php-config的絕對路徑"

當(dāng)然極少擴(kuò)展不是這種方式,這個自己另行搜索吧
到這里,你就已經(jīng)為你裝的擴(kuò)展選好php版本了。
另外,在裝擴(kuò)展的時候要看好版本,有的擴(kuò)展支持php5但是不支持7

女流氓 回答

我只想說你去百度百科搜一下 就知道了!
傳送門

離夢 回答

根據(jù)你的代碼片段,只有線程池持有對[new WriteESRunnable]的引用,所以第二情況可能性比較大。
每個任務(wù)的處理太長, 任務(wù)隊列沒有限制導(dǎo)致過長,然后就發(fā)生堆積情況了。

撥弦 回答

nginx 配置文件

### 強制把域名下的所有http都轉(zhuǎn)到https
server {
    listen 80;
    server_name ineedtm.com www.ineedtm.com;
    rewrite ^(.*) https://$server_name$1 permanent;
}
# HTTPS server
#
server {
    # listen 80;
    listen       443 ssl;
    server_name  ineedtm.com www.ineedtm.com;

    ssl_certificate   cert/2xxx50.pem;
    ssl_certificate_key  cert/2xx50.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    root /xxx/blog;

    location / {
        index index.html;
    }
    
    # 后端接口反向代理設(shè)置,請忽略
    location /api/ {
       proxy_pass http://api.ineedtm.com/api/;
    }
    
    # socket代理配置
    location /socket.io/ {
        proxy_pass http://192.54.2.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

注意:
配置前端socket連接時別帶端口,但要配置到https://ineedtm.com/而不是htt...://ineedtm.com/socket.io/

枕邊人 回答

頁面的鏈接應(yīng)該用絕對路徑,你這可能是相對路徑了,檢查檢查。javaweb類有相應(yīng)的方法

病癮 回答
  1. 首先談?wù)勀銓Ω卟l(fā)和多線程的理解
  2. 再談?wù)勀銈冺椖康膶嶋H業(yè)務(wù),因為脫離業(yè)務(wù)談高并發(fā)都是耍流氓。
  3. 再根據(jù)你們的項目,說說你是如何做高并發(fā)和多線程的。
  4. 然后一定要說你做了什么,達(dá)到了什么效果,一定要有前后數(shù)據(jù)對比,就是用數(shù)據(jù)說你達(dá)到的成就效果。
  5. 再說說你這樣的設(shè)計或者實現(xiàn)有什么好處,對項目或者業(yè)務(wù)的發(fā)展能有什么幫助。
  6. 最后說說,你一直期望能多學(xué)習(xí)不同項目不同公司的多線程和高并發(fā)的經(jīng)驗。如果可以,你期望到貴公司學(xué)習(xí)更多經(jīng)驗。
  7. 另外,如果你項目中沒有用到太多的高并發(fā)和多線程,那么你就談?wù)勀阄磥砥谕绾稳ヒ?guī)劃,還是按照上面那幾點的套路來回答。