一、問題描述:
最近在使用stanfordcorenlp時,遇到了我在運行時代碼不報錯但同時也沒有結果的問題,等了很久也沒有出結果。其實是很簡單的一個步驟,但卻花了好幾天的時間都沒有成功!網上更多的是成功的例子,沒找到失敗的,所以記錄下這個問題。希望遇到這個問題的同學能夠少走些彎路!
二、問題原因:
其實真正出現問題的原因是我的筆記本的內存不夠。在運行stanfordcorenlp的工具時,他需要最少4g的內存,但是我的筆記本一共只有4g內存,所以才導致無法運行java虛擬機。但該工具如果不設置的話是不會報錯的,所以需要設置下參數,才會知道真正的問題在哪里。
代碼如下:
三、解決方法:
說到底,還是自己的設備太差了,解決辦法非財力不能辦到!我后來在一個同學的推薦下,使用了google的colab的免費雲服務器解決的這個問題。實名誇一波谷歌爸爸,確實比國內的互聯網公司大氣一點。雖然后來還是陷入了谷歌的圈套(花錢擴了個容),但感覺還好,不是很貴。一個月十幾塊錢。下面附個我參考的連接,希望對你有用。
-------------------------------------------------------------------------------------------------------
補充:
后來我又回去看了一下,其實我之前並未找到最主要的問題,這個最主要的問題是因為我的java環境是32位的。而32位的java環境支持的最大的jvm的內存是4g。而stanfordcorenlp這個工具所需要的內存也是4g。所以java環境拒絕創建jvm,所以才導致了程序最終無法運行。
如果你遇到了和我相同的問題的話,可以去看下你的java環境是32位的還是64位的。我后來講自己的環境換成了64位的,就不會報錯了。
附:
如何查看自己的java環境是不是64位的:
cmd輸入:java -version
如果顯示如下,則是64位的。
這是我遇到的這個問題的最終解決方法。完......