[英]Question about constructors in Java
關於Java構造函數我幾乎沒有問題
編輯
1和3的答案非常清楚。 我仍然不確定2和4,因為我得到了不同的答案。
構造函數可以是私有的嗎? 如果是,那么在哪種情況下?
是。 沒有條件。 當然,除了班級本身之外沒有人可以稱之為。
這實際上是一種常見的模式:擁有static getInstance()
並將構造函數保持為私有。
公共構造函數也可以在內部調用私有構造函數。
構造函數是一種方法嗎?
嗯。 我拒絕”。 至少,它是一種“非常特殊的”方法。 在什么情況下呢? 術語不如您嘗試的那么重要。
如果構造函數沒有返回任何內容,那么為什么每次調用它時我們都會得到一個新的Object。
new
運算符返回一些東西(新實例)。
什么是構造函數的默認訪問修飾符。
與方法相同。 包裝和私營部門。
如果你沒有指定任何構造函數,那么該類將獲得一個默認構造函數,它不帶參數,除了調用父構造函數之外什么都不做,並且是公共的。
new
運算符返回對象,並在創建對象的過程中調用構造函數。 考慮它的另一種方式(雖然這只是一種思考它的方法,但從技術上來說並不正確)只是返回類型是由慣例隱含的。 閱讀更多相關內容的好地方是閱讀C ++上下文中的 new
。 構造函數的作用不是創建對象,而是初始化對象中包含的內存。 關於Tomcat性能和可伸縮性的思考:這是一個基於服務器硬件和請求類型的高度可變情況,當然還有服務於每個請求的代碼的質量,效率和內存占用。
並發請求的下限是500.考慮到您可能希望為每個請求創建一個線程,並為每個線程提供1MB堆棧.5 GB僅用於線程堆棧空間。 這是在堆內存和分配那么多線程的性能開銷之前。 我認為如果需要一次處理那么多請求,你可能需要考慮像JBoss這樣的更重要的服務器。
關於您的Tomcat問題,它取決於Tomcat的哪個版本,它使用的IO模型(例如,NIO與歷史網絡IO模塊)以及您的配置。 單個Tomcat可以一次處理數百個請求,盡管並發是可調的(每個請求將由來自池的不同線程或線程處理)。
構造函數的默認訪問修飾符是CLASS ACCESS MODIFIER,如果類是public,則構造函數的訪問修飾符是public。 如果該類是默認的,那么構造函數也是默認的。
new
調用的。 返回對象的是new
,構造函數只是設置內部狀態。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.