原创 java筆試攻略——進階階段(八種數據結構)

常用的八種數據結構有:數組、鏈表、棧、隊列、堆、樹、圖、散列表。 數組 特點:需要一塊連續的內存空間 優點:進行查詢、遍歷操作速度快 缺點:數組初始化完之後不能改變容量的大小;只能存儲一種類型的數據;進行刪除是需要將後面的元素進行

原创 java筆試攻略——Base系列(時間複雜度和空間複雜度)

首先明確,時間複雜度和空間複雜度都不是指一個具體的數值,只是用來估算的比較接近實際的函數 時間複雜度:一個算法執行所耗費的時間 n表示基本操作模塊被執行的次數,時間複雜度常用大寫O符號表示,叫做大O階記法 1 用常數1表示運行時間

原创 Cannot find module 'node-sass'解決方法

如果使用vue-element-admin安裝完依賴出現Cannot find module 'node-sass’這個問題,沒法正確打開登錄界面,一般是因爲node中缺乏“node-sass”這個組件,安裝這個組件即可,使用這個

原创 java筆試攻略——base系列(十大排序算法 持續更新ing)

十大排序算法解析 排序:對某一序列對象根據某關鍵字進行排序 穩定性:排序前a在b前面,而a=b,排序後a還在b前面 內排序:所有排序在內存中完成 外排序:由於數據太大,因此將數據放到硬盤中,而排序通過磁盤和內存的數據傳輸才能進行

原创 java中冪次方和異或表示

在java中表示冪次方和平時數學的表示方法不一樣,容易混淆。 在數學中2的3次冪可以表示爲2^3, 在java中2^3表示2異或3,想要表示2的3次冪可以使用Math中的方法pow,可以表示爲double number = Mat

原创 String和StringBuffer的區別?

String是不可變的對象,StringBuffer對象的內容可以再次編輯。 String是常量,StringBuffer是變量。 String不是線程安全的,StringBuffer是線程安全的。

原创 java中類型轉換、運算精度丟失問題

在java中使用浮點型數據進行運算會造成精度丟失,比如 public class Test8 { public static void main(String args[]) { int i = 2; double j

原创 Spring中的BeanFactory和FactoryBean的區別

1 BeanFactory接口 BeanFactory是Spring中的根接口,相當於java中的Object。是Spring容器中的核心接口,其主要作用是給各種接口繼承、類實例化,然後用實例化的類使用各種方式可以提供Spring

原创 request.getAttribute()和request.getParameter()的區別

request.getAttribute()獲取後臺傳來的數據,request.getParameter()獲取的是前臺傳過來的數據(get方式提交,表單) request.getAttribute()獲取的數據可以是對象,req

原创 使用Spring實現AOP面向切面編程的特殊性----equals()、hashcode()

在Spring中的代理模式中,對於equals()和hashcode()進行了特殊處理,不對他們進行代理。

原创 JVM中的主動初始化和被動初始化

類的初始化分爲主動初始化和被動初始化,類的主動初始化會對該類進行類加載,類的被動初始化則不會對該類進行類加載。 主動初始化的方式有: 1 通過new實例對象的形式 2 通過反射對類進行調用,如果類還沒初始化,會對類進行初始化 3

原创 mybatis-generator遇到大文本類型BLOB解決方案

在數據庫中使用了text會導致常規的查詢和插入時,無法正確進行。在generatorConfig.xml中的表格裏,進行如下操作可以解決問題。 <table tableName="cms_article" domainObje

原创 預編譯防止SQL注入

當我們討論PreparedStatement和Statement的區別時,我們會考慮到PreparedStatement有預編譯功能,而Statement沒有預編譯功能。PreparedStatement還能提供更好的性能和代碼重

原创 java中不常見關鍵字

transient關鍵字 使用transient關鍵字修飾的變量,不能被持久化,使用序列化完之後不可訪問。 transient只能修飾變量,不能修飾方法和類。自定義類的變量需要使用transient關鍵字修飾時,不用實現序列化接口

原创 java泛型中的上界和下界

在泛型中上界使用關鍵字extend表示,下界使用super表示 上界: List<? extend Fruit> list = new ArrayList<>(); list存儲範圍可以是Fruit及其子類 下界: