我注意到默認的tomcat 7線程池大小似乎是200。
但是普通的CPU似乎有16個內核。
因此只能并行執行16個線程
為什么tomcat使用那么多線程。
參考方案
多年以來,許多單核計算機問世,并且能夠以“偽并行”模式運行功能,也就是說,您可能有16個線程以實際并行模式運行,而其他線程則以偽并行模式運行。
有關更多信息,請參見:Parallel Computing
為了回答您的問題,這些線程對于處理請求很有用,其中許多線程將用于處理http請求,而其他線程將用于調用應用程序邏輯。
Java:線程池如何將線程映射到可運行對象 - java
試圖繞過Java并發問題,并且很難理解線程池,線程以及它們正在執行的可運行“任務”之間的關系。如果我創建一個有10個線程的線程池,那么我是否必須將相同的任務傳遞給池中的每個線程,或者池化的線程實際上只是與任務無關的“工人無人機”可用于執行任何任務?無論哪種方式,Executor / ExecutorService如何將正確的任務分配給正確的線程? 參考方案 …JAVA:字節碼和二進制有什么區別? - java
java字節代碼(已編譯的語言,也稱為目標代碼)與機器代碼(當前計算機的本機代碼)之間有什么區別?我讀過一些書,他們將字節碼稱為二進制指令,但我不知道為什么。 參考方案 字節碼是獨立于平臺的,在Windows中運行的編譯器編譯的字節碼仍將在linux / unix / mac中運行。機器代碼是特定于平臺的,如果在Windows x86中編譯,則它將僅在Win…java:繼承 - java
有哪些替代繼承的方法? java大神給出的解決方案 有效的Java:偏重于繼承而不是繼承。 (這實際上也來自“四人幫”)。他提出的理由是,如果擴展類未明確設計為繼承,則繼承會引起很多不正常的副作用。例如,對super.someMethod()的任何調用都可以引導您通過未知代碼的意外路徑。取而代之的是,持有對本來應該擴展的類的引用,然后委托給它。這是與Eric…Java:BigInteger,如何通過OutputStream編寫它 - java
我想將BigInteger寫入文件。做這個的最好方式是什么。當然,我想從輸入流中讀取(使用程序,而不是人工)。我必須使用ObjectOutputStream還是有更好的方法?目的是使用盡可能少的字節。謝謝馬丁 參考方案 Java序列化(ObjectOutputStream / ObjectInputStream)是將對象序列化為八位字節序列的一種通用方法。但…Java DefaultSslContextFactory密鑰庫動態更新 - java
我有一個使用org.restlet.engine.ssl.DefaultSslContextFactory的現有應用程序和一個在服務器啟動時加載的密鑰庫文件。我有另一個應用程序,該應用程序創建必須添加的證書服務器運行時動態地更新到密鑰庫文件。為此,我在代碼中創建了證書和私鑰,然后將其寫入到目錄。該目錄由bash腳本監視,該腳本檢查是否有新文件,如果出現,它將…