打開源代碼發現了個./time.php?source 於是打開點進去 <?php #error_reporting(0); class HelloPhp { public $a; public $b; public function __construct(){ $this->a = "Y-m-d ...
轉自:
http://www.java265.com/JavaMianJing/202110/16349105381543.html
下文筆者講述java中常見的記憶體泄漏和記憶體溢出的相關簡介說明,如下所示:
記憶體泄漏
記憶體泄漏是指對象實例在新建和使用完畢後 仍然被引用,沒能被垃圾回收釋放,一直積累, 直到沒有剩餘記憶體可用 當存在記憶體泄露時,我們需找出泄露的對象是怎麼被GC ROOT引用起來 然後通過引用鏈來具體分析泄露的原因 分析記憶體泄漏的工具有:Jprofiler,visualvm等。
記憶體溢出
記憶體溢出是指當我們新建一個實例對象時, 實例對象所需占用的記憶體空間大於堆的可用空間。 棧(JVM Stack)存放主要是棧幀( 局部變數表, 操作數棧 , 動態鏈接 , 方法出口信息 )的地方。 註意區分棧和棧幀: 棧里包含棧幀。 與線程棧相關的記憶體異常有兩個: 1.StackOverflowError(方法調用層次太深,記憶體不夠新建棧幀) 2.OutOfMemoryError(線程太多,記憶體不夠新建線程) 當出現了記憶體溢出問題, 這種情況通常是程式運行所需的記憶體大於了我們給jvm虛擬機配置的記憶體 這種情況下,我們可以採用調大-Xmx來解決這種問題 例: 定義幾十個超級大的字元串,此時將會直接導致記憶體溢出