現在位置: 首頁 > 演算法 > 文章
2020年05月21日 演算法 ⁄ 共 1413字 評論關閉
  對於新入門的開發者,如何安裝Ruby,RubyGems和Rails的運行環境可能會是個問題。下面學步園小編來講解下如何快速正確的安裝Ruby,Rails運行環境?   如何快速正確的安裝Ruby,Rails運行環境   系統需求   首先確定操作系統環境,不建議在Windows上面搞,所以你需要用:   MacOSX   任意Linux發行版本(Ubuntu,CentOS,Redhat,ArchLinux...)   以下代碼區域,帶有$打頭的表示需要在控制台(終端)下面執行(不包括$符號) ...
閱讀全文
2020年05月21日 演算法 ⁄ 共 1753字 評論關閉
  大家都知道重載是指在同一個類中,定義了有相同名稱但是有不同參數類型的方法時,到底調用那一個方法會根據參數類型來選擇。下面學步園小編來講解下JAVA重載(overload)和覆蓋(override)有哪些陷阱?   JAVA重載(overload)和覆蓋(override)有哪些陷阱   classParentClass{   }   classChildClassextendsParentClass{   }   publicclassTest{   publicvoidtestOverLoad(ParentClasscls){   System.out.println...
閱讀全文
2020年05月21日 演算法 ⁄ 共 385字 評論關閉
java項目中經常需要用到到當前日期的前若干天、後若干天、前幾小時、後幾小時的時間.在開發中經常會使用到一些日期方面的操作。下面學步園小編來講解下Java中獲取指定日為星期幾及其他日期怎麼操作? Java中獲取指定日為星期幾及其他日期怎麼操作 取得指定日期是星期幾可以採用下面兩種方式取得日期是星期幾: a、使用Calendar類 [java] //根據日期取得星期幾 publicstaticStringgetWeek(Datedate){...
閱讀全文
2020年05月21日 演算法 ⁄ 共 3629字 評論關閉
  在非ajax頁面中,只要在page上設置MaintainScrollPositionOnPostback="true"即可進行記憶滾動條位置.  但是在ajax中,這個功能卻不能正確工作了,那麼我們應當如何讓div自動維護滾動條位置呢?下面學步園小編來講解下如何讓div自動維護滾動條位置?   如何讓div自動維護滾動條位置   首先在頁面上增加asp:panel控制項,然後在aspx.cs後台加入以下方法:   [c#]   protectedvoidDoMaintainScrollPositionForAjax(UpdatePane...
閱讀全文
2020年04月26日 演算法, 編程語言 ⁄ 共 871字 評論關閉
  c++的代碼包含頭文件和實現文件兩部分,頭文件一般是提供給別人(也叫客戶)使用的,但是一旦頭文件發生改變,不管多小的變化,所有引用他的文件就必須重新編譯,編譯就要花時間。下面學步園小編來講解下怎樣減少C++代碼編譯時間?   怎樣減少C++代碼編譯時間   言歸正傳,怎樣介紹編譯時間呢,我知道的就3個辦法:   刪除不必要的#include,替代辦法使用前向聲明(forwarddeclared)   刪除不必要的一大堆私有成員變數,...
閱讀全文
2020年02月25日 演算法 ⁄ 共 967字 評論關閉
  歸併排序   歸併排序(MERGE-SORT)是利用歸併的思想實現的排序方法,該演算法採用經典的分治(divide-and-conquer)策略(分治法將問題分(divide)成一些小的問題然後遞歸求解,而治(conquer)的階段則將分的階段得到的各答案"修補"在一起,即分而治之)。   基本思想   可以看到這種結構很像一棵完全二叉樹,本文的歸併排序我們採用遞歸去實現(也可採用迭代的方式去實現)。分階段可以理解為就是遞歸拆分子序列的過程。   合...
閱讀全文
2020年02月25日 演算法 ⁄ 共 2211字 評論關閉
  類鎖和對象鎖,synchronized修飾static方法與非static方法的區別   當synchronized修飾一個static方法時,多線程下,獲取的是類鎖(即Class本身,注意:不是實例),作用範圍是整個靜態方法,作用的對象是這個類的所有對象。   當synchronized修飾一個非static方法時,多線程下,獲取的是對象鎖(即類的實例對象),作用範圍是整個方法,作用對象是調用該方法的對象。   結論: 類鎖和對象鎖,一個是類的Class對象的鎖,一個...
閱讀全文
2020年02月25日 演算法 ⁄ 共 3518字 評論關閉
  synchronized 加到 static 方法前面是給class 加鎖,即類鎖;而synchronized 加到非靜態方法前面是給對象上鎖。這兩者的區別我用代碼來演示下:   對象鎖和類鎖是不同的鎖,所以多個線程同時執行這2個不同鎖的方法時,是非同步的。   在Task2 中定義三個方法 doLongTimeTaskA和doLongTimeTaskB是類鎖,而doLongTimeTaskC是對象鎖。   public class Task2 {   public synchronized static void doLongTimeTaskA() {  ...
閱讀全文
2020年02月25日 演算法 ⁄ 共 7865字 評論關閉
  通過分析Synchronized和Static Synchronized這兩個用法的分析,我們可以理解java中鎖的概念。一個是實例鎖(鎖在某一個實例對象上,如果該類是單例,那麼該鎖也具有全局鎖的概念),一個是全局鎖(該鎖針對的是類,無論實例多少個對象,那麼線程都共享該鎖)。實例鎖對應的就是synchronized關鍵字,而類鎖(全局鎖)對應的就是static synchronized(或者是鎖在該類的class或者classloader對象上)。下面的文章做了很好的總結:   ...
閱讀全文
2020年02月21日 演算法 ⁄ 共 3749字 評論關閉
  為什麼需要倒排索引   倒排索引,也是索引。   索引,初衷都是為了快速檢索到你要的數據。   每種資料庫都有自己要解決的問題(或者說擅長的領域),對應的就有自己的數據結構,而不同的使用場景和數據結構,需要用不同的索引,才能起到最大化加快查詢的目的。   對 Mysql 來說,是 B+ 樹,對 Elasticsearch/Lucene 來說,是倒排索引。   Elasticsearch 是建立在全文搜索引擎庫 Lucene 基礎上的搜索引擎,它隱藏了 ...
閱讀全文