I/O多路復用是指利用單個線程來同時監聽多個Socket ,并在某個Socket可讀、可寫時得到通知,從而避免無效的等待,充分利用CPU資源。目前的I/O多路復用都是采用的epoll模式實現,它會在通知用戶進程Socket就緒的同時,把已就緒的Socket寫入用戶空間,不需要挨個遍歷Socket來判斷是否就緒,提升了性能。查看全文>>
在Java中,靜態變量和實例變量是兩種不同的變量類型,它們有以下的區別:1.靜態變量屬于類,而不是類的任何實例。實例變量屬于類的實例。查看全文>>
當使用final關鍵字修飾一個變量時,這個變量就成為了一個常量,它的值不能被修改,但是它所引用的對象本身是可以被修改的。查看全文>>
在以往Java項目的開發中,需要在項目中引入許多JAR包以便于調用JAR包中封裝好的常用類集。但由于JAR包占用的內存空間較大,給項目的打包和發布帶來了極大的不便,基于以上原因,Apache公司開發了項目管理工具Maven。Maven使用Maven倉庫管理JAB包,使用Maven管理項目不需要再引入一個個的JAR包,只需將JAR包的依賴引入項目的pom.xml文件中就可以調用JAR包中的類。極大提高了開發人員的編程效率由于IDEA中集成了Mavern,所以直接使用IDEA中默認的Maven進行項目構建是十分方便的。查看全文>>
MyBatis是一個支持普通SQL查詢、存儲及高級映射的持久層框架,它幾乎消除了JDBC的冗余代碼。使Java開發人員可以使用面向對象的編程思想來操作數據庫。對于MyBatis的工作原理和操作流程的理解,我們先來看下面的工作流程圖。查看全文>>
a.hashCode()是一個Java對象方法,用于返回對象的哈希碼值。哈希碼是一個整數,是根據對象的內容計算出來的,用于快速比較對象是否相等。查看全文>>