原创 JVM之走進Java(一)

1、Java特點 不僅是一門編程語言,還是有一系列計算機軟件和規範形成的技術體系;除了是一門結構嚴謹、面向對象的編程語言之外: (1)、跨平臺:一次編寫,到處運行,主要是java採用中間體(字節碼),而非是依賴平臺的機器碼,並

原创 Linux學習-shell(二)

1、什麼是shell? shell是位於操作系統最外一層,爲用戶使用操作系統提供界面的軟件,也即是命令解釋器(用戶命令解釋爲內核識別的機器語言)。shell分爲圖形界面shell(GUI shell 如Windows 圖形界面 win

原创 Linux學習-常用文件目錄操作命令(一)

1、Linux特點 Linux是Unix的衍生版本,Mac os則是Unix 基礎上的另一種操作系統。Linux版本主要分爲內核版本和發行版本,內核版本主要是操作系統內核,一般我們無法直接使用,而是使用社區或廠商在linux內核基礎上

原创 前端寫項目經驗

1、最近在寫一個項目遇到一些問題,記錄一下,首先是在做動態增加表格tr,忽然發現設置的日期input不能使用,這個需要一段js代碼初始化datetimepicker,如這段 $('.form_datetime').datetimep

原创 面試之排序算法(持續更新)

本文根據個人需要,相對排序算法進行學習。 且主要分爲兩部分: 常用排序算法實現(快速、二分查找、計數排序) 多種算法比較 ———————————————————————————————————— 1、快速排序 主要思想:選取一

原创 面試小知識點

1、ArrayList與LinkedList相同點與區別 繼承接口:都繼承並實現了接口List與cloneable接口等,且是淺克隆,並且LinkedList繼承和實現了deque接口可以被當做棧或者隊列使用。 底層實現結構:

原创 設計模式之裝飾者模式

裝飾器模式:允許向現有的一個類增加(增強)其新功能,但是卻不改變其結構,比繼承會更靈活! 解決的問題:有時候爲了擴展一個類,用繼承會產生子類膨脹的問題。 關鍵代碼:Component類充當抽象類(可以是接口);裝飾類引用和繼承Comp

原创 Java實例對象的Clone以及equals方法重寫

實例對象的clone 對於八種基本數據類型clone則比較簡單: int m=10; int n=m; 這樣就可以實現基本數據類型的clone,但是實例對象就不可以,因爲上述操作對象,只是兩個變量都指向同一個對象,因此通過任何一個變量來修

原创 自定義類加載器

轉:https://blog.csdn.net/seu_calvin/article/details/52315125 先介紹自定義類加載器的應用場景: (1)加密:Java代碼可以輕易的被反編譯,如果你需要把自己的代碼進行加密以防止反

原创 JVM之類加載及執行子系統的案例與實戰(九)

在Class文件格式與執行引擎這部分中,用戶能直接影響的內容並不多。能通過程序進行操作的,主要是字節碼生成和類加載器這兩部分功能,但僅僅在如何處理這兩點上,就已經出現了許多值得欣賞和借鑑的思路,這些思路後來成爲了許多常用的功能和程序實現的

原创 JVM之Java內存模型與線程(十二)

硬件的效率與一致性 在執行併發多任務的時候,由於處理器至少要與內存交互,而他們間速度相差幾個數量級,因此計算機增加了一層高速緩存作爲緩衝,解決了速度矛盾。但是卻對多處理器系統帶來一個新的問題:由於每一個處理器都有自己的高速緩存,並且他們

原创 JVM之早期(編譯期)優化(十)

      java語言的編譯期是一段不確定的過程,因爲它可能是指一個前端編譯器(sun的javac、eclipse JDT中的ECJ),把.java文件轉爲..class文件;也可能是指虛擬機的後端運行期編譯器(JIT:C1、C2)把字

原创 JVM之線程安全與鎖優化(十三)

      在軟件業發展初期,程序編寫都是以算法爲核心的,程序員會把數據和過程分別作爲獨立的部分來考慮,數據代表問題空間中的客體,程序代碼則用於處理這些數據,這種思維的方式直接站在計算機的角度去抽象問題和結局問題,稱爲面向過程的編程思想。

原创 java中char到底佔幾個字節的問題

前些天被問到一個問題:java中一個char可以表示一個漢字嗎? 我一想char不是佔一個字節嗎?漢字在utf-8中佔三個字節(還有四字節的),char不能夠表示!對方一笑,讓我後面查查 所以網上搜了一些資料查查,並做一個例子: pu

原创 Java之基礎算法(找出其中任意一個重複數字、去除鏈表重複元素、去除鏈表所有重複元素)

1、在長度爲n的數組中,數組值爲範圍0-n-1範圍內的整數,請找出其中任意一個重複的數字。 取值範圍0-n-1 找出其中一個就可以 算法思想:從第一個開始,把數組值放在對應的下標值數組中,比如下標爲0的值爲5,那麼就把5放在下標爲0