原创 java中的深複製和淺複製

       Java語言的一個優點就是取消了指針的概念,但也導致了許多程序員在編程中常常忽略了對象與引用的區別,本文會試圖澄清這一概念。並且由於Java不能通過簡單的賦值來解決對象複製的問題,在開發過程中,也常常要要應用clone()方

原创 BeanUtils的使用

BeanUtils工具包是由Apache公司所開發,主要是方便程序員對Bean類能夠進行簡便的操作。 在使用BeanUtils工具包之前我們需要的Jar包有以下幾種: (1)   BeanUtils相關包 commons-beanutil

原创 Bean複製的幾種框架性能比較(Apache BeanUtils、PropertyUtils,Spring BeanUtils,Cglib BeanCopier)

作爲一個新員工,一個首要的工作就是閱讀別人的代碼,閱讀代碼的諸多好處就不說了,我就直奔主題,通過預讀代碼,發現了幾種實現兩個不同類型的Bean之間實

原创 反射機制

    反射,當時經常聽他們說,自己也看過一些資料,也可能在設計模式中使用過,但是感覺對它沒有一個較深入的瞭解,這次重新學習了一下,感覺還行吧!            一,先看一下反射的概念:               主要是指程序可以

原创 堆排序(Java實現)

在程序設計相關領域,堆(Heap)的概念主要涉及到兩個方面: 一種數據結構,邏輯上是一顆完全二叉樹,存儲上是一個數組對象(二叉堆)。垃圾收集存儲區,是軟件系統可以編程的內存區域。 本文所說的堆,指的是前者。 堆排序的時間複雜度是O(n

原创 設計包含min函數的棧

前言   這是一道經常遇見的面試題。好像網易和google都曾出過此題。這道題解法也勝多。這裏給出普遍的一種解法。即增加一個輔助堆棧來存儲最小值。     本系列文章均系筆者所寫,難免有一些錯誤或者紕漏,如果小夥伴們有好的建議或者更好的

原创 《Spring技術內幕》學習筆記1——IoC容器體系結構

1. BeanFactory類結構體系: BeanFactory接口及其子類定義了spring IoC容器體系結構,由於BeanFactory體系非常的龐大和複雜,因此要理解Spring IoC,需要先理清BeanFactory的繼承機構

原创 阿里校招面試

寫在前面 : 2015 年 7 月初,參加阿里巴巴校招內推, 8 月 15 日拿到研發工程師 JAVA 的 offer 。我的專業並非計算機,也沒有在互聯網公司實習過,只有一些學習和麪試心得,供大家參考。阿里巴巴 90%以上使用 Java

原创 Servlet是如何實現MVC的

Servlet是一種服務器端的編程語言,是J2EE中比較關鍵的組成部分,Servlet技術的推出,擴展了Java語言在服務器端開發的功能,鞏固了Java語言在服務器端開發中的地位,而且現在使用非常廣泛的JSP技術也是基於Servlet的原

原创 Java NIO原理

一.java NIO 和阻塞I/O的區別      1. 阻塞I/O通信模型      2. java NIO原理及通信模型 二.java NIO服務端和客戶端代碼實現 具體分析: 一.java NIO 和阻塞I/O的區別 1. 阻塞I

原创 concurrentHashMap學習(一)

       集合是編程中最常用的數據結構。而談到併發,幾乎總是離不開集合這類高級數據結構的支持。比如兩個線程需要同時訪問一箇中間臨界區(Queue),比如常會用緩存作爲外部文件的副本(HashMap)。這篇文章主要分析jdk1.5的3種

原创 冒泡排序

是不是覺得冒泡算法很簡單? 是的,確實很簡單,中心思想是兩兩交換。   那你能寫出冒泡算法嗎? 你能解釋冒泡算法中的各層含義是什麼嗎? 你又能寫出幾種冒泡算法呢?     曾經在面試中,遇到過冒泡算法,我能模糊的寫出,卻

原创 《Spring技術內幕》學習筆記2——IoC定位Bean定義資源

1.IoC容器初始化: spring的IoC容器初始化包括:Bean定義資源文件的定位、載入和註冊3個基本過程。 (1).Bean定義資源文件的定位: Bean定義資源文件定位由ResourceLoader通過統一的Resource接口來

原创 選擇排序

選擇排序    選擇排序(Selection Sort)的基本思想是:每一趟從待排序的記錄中選出關鍵字最小的記錄,順序放在已排好序的子文件的最後,直到全部記錄排序完畢。       常用的選擇排序方法有簡單選擇排序和堆排序。    

原创 struts上傳和下載

在做B/S系統時,通常會涉及到上傳文件和下載文件,在沒接struts2框架之前,我們都是使用apache下面的commons子項目的FileUpload組件來進行文件的上傳,但是那樣做的話,代碼看起來比較繁瑣,而且不靈活,在學習了stru