面試準備-根據自己簡歷

==================== javaSE部分開始 ==============

JDK與JRE跟JVM的關係

JDK就是java開發工具包,其中包含了JRE其中裏面bin目錄包含了java.exe,跟javac.exe一個運行一個編譯的還有一個javadoc編譯成文檔
JRE是java運行時環境,裏面包含了JVM,如果普通用戶使用的話,只需要一個JRE就可以了
JVM也就是java虛擬機JVM是java跨平臺的核心
JDK > JRE > JVM
在這裏插入圖片描述

java關鍵字(瞭解 不記那麼多)

在這裏插入圖片描述

數據類型

數據類型分爲兩大類

  1. 基本數據類型
    整數類型:byte、short、int、long
    浮點類型:float、double
    字符型:char
    布爾型:boolean
  2. 引用數據類型
    類:class
    接口:interface
    數組
    String

數據類型默認初始值

在這裏插入圖片描述
從測試可以看出他們的默認值

== 與 equals的區別

== 是一個運算符比較,而equals是一個方法,底層源碼就有 ==
對於基本類型和引用數據類型作用效果是不同的
基本類型比較的值是否相同
引用類型:比較的引用是否相同
演示代碼

public static void main(String[] args) {
    String x = "string";
    String y = "string";
    String z = new String("string");
    System.out.println(x==y); // true
    System.out.println(x==z); // false
    System.out.println(x.equals(y)); // true
    System.out.println(x.equals(z)); // true
  }

在這裏插入圖片描述
因爲 x 和 y 指向的是同一個引用,所以 == 也是 true,而 new String()方法則重寫開闢了內存空間,所以 == 結果爲 false,而 equals 比較的一直是值,所以結果都爲 true。

final在java中有什麼作用

final 修飾的類叫最終類,改類不能被繼承
final 修飾的方法不能被重寫
final 修飾的變量叫常量,常量必須初始化,初始化值後就不能被修改

Java操作字符串有哪些類?他們之間有什麼區別?

操作字符串的類有String、StringBuffer、StringBuilder,都實現了序列化接口
在這裏插入圖片描述
區別是:String : final修飾,String類的方法都是返回new String。即對String對象的任何改變都不影響到原對象,對字符串的修改操作都會生成新的對象。
StringBuffer : 對字符串的操作的方法都加了synchronized,保證線程安全。
StringBuilder : 不保證線程安全,在方法體內需要進行字符串的修改操作,可以new StringBuilder對象,調用StringBuilder對象的append、replace、delete等方法修改字符串。
StringBuffer的安全性能高,適合多線程使用;Stringbuider性能更低適合單線程操作。

參考鏈接地址

String str="i"與 String str=new String(“i”)一樣嗎

不一樣,因爲內存的分配方式不一樣。String str="i"的方式,java 虛擬機會將其分配到常量池中;而 String str=new String(“i”) 則會被分到堆內存中。

面向對象

java是一種面向對象的語言

  1. 什麼是對象
    在我剛學習Java的時候,就有這麼一句話蹦出來,萬物皆對象,可以理解爲我們所看到的一切當成一個對象,比如桌子是一個對象,椅子,電腦等等
  2. 什麼是面向對象
    人關注的一切都是對象,從程序設計的角度出發:面向對象就是把一個對象描述,設計出其中的屬性跟方法
  3. 什麼是類
    從生活的角度出發:比如人是一個類(Person),自己本身就是一個對象,別人也是對象,類中描繪了面向對象,其中的屬性,方法
  4. 類和對象的關係
    對象是類的實例,類就是對象的類型
    5.什麼是屬性和方法
    屬性:對象的特徵,比如人這個類有我這個對象,我有名字(name),年齡(age),身高(height)
    方法:對象具有的各種動態行爲,就是我這個對象能做什麼,我能喫東西對吧這個方法,看電影等等,也就是我能幹什麼
    ============================= 代碼實現上述 ==============================
/**
 5. Created with IntelliJ IDEA.
 6.  7. @Auther: Adger
 8. @Date: 2020/06/08/19:06
 9. 這是一個人(Person)類
 */
public class Person {
  //屬性:姓名、年齡、體重、
  String name;
  int age;
  int height;

  //方法
  public void eat(){
    System.out.println("喫飯");
  }

  public void watchMovie(){
    System.out.println("看電影");
  }
}
/**
 10. Created with IntelliJ IDEA.
 11.  12. @Auther: Adger
 13. @Date: 2020/06/08/19:14
 */
public class PersonTest {
  public static void main(String[] args) {
    //實列化對象
    Person person = new Person();
    person.name = "劉傑";
    person.age = 19;
    person.height = 168;
    System.out.println(person.name);
    System.out.println(person.age);
    System.out.println(person.height);
    person.eat();
    person.watchMovie();
  }
}

在這裏插入圖片描述
如果你要搞成誰喫飯,誰看電影就得重載了,這裏爲什麼會寫兩個類執行,不在一個類執行,下面原則清楚的說了

單一職責原則

簡單來說就是一個類最好只幹一個功能,如果一個類中功能越多,耦合性會越高,能被複用的可能性越低,就比如過馬路的時候,一邊玩手機一邊打電話,現在就是把不同類中的職責封裝到不同類當中
其他原則還有
在這裏插入圖片描述

面向過程與面向對象的區別

面向過程(POP)和麪向對象(OOP)兩者本質區別在於一個在於面向過程在於實現這個方法,依次調用而面向對象就相當於有很多人去幹這件事,這也是 java分佈式的積澱

面向對象三大特徵(封裝、繼承、多態)

  1. 什麼是封裝(重點)
    將類的某些信息隱藏在類內部,不允許外部程序直接訪問,通過該類提供的公開方法來實現對隱藏信息的操作與訪問
    在這裏插入圖片描述
  2. 什麼是繼承(重點)
    從生活角度很容易理解:比如我繼承我爸的億萬財產😂,從程序的角度出Person類,人這個類,都有姓名,年齡,身高,能喫飯,劉傑有這些屬性跟方法,朱次斌(我朋友)也有這些屬性跟方法,都可以繼承這個類(父類)降低了代碼冗餘,利於代碼複用,需要注意的是:java沒有多繼承,C我記得好像是有多繼承的
  3. 什麼是多態
    封裝和繼承都是爲了多態準備的
    什麼是多態
    每個人都有姓名,身高,年齡,喫飯會喫不同的飯,程序角度出發:父類型的引用指向子類型的對象。用一句比較通俗的話:同一操作作用於不同的對象,可以產生不同的效果。這就是多態。
    多態在程序設計中的優勢
    提高了代碼的維護性(繼承能看出來)
    提高了代碼的擴展性(多態看出) 向上轉型,向下轉型

static 關鍵字

方便在沒有創建對象的情況下進行調用(方法/變量),在以後自己的DbUtils會被用到,一個數據庫鏈接,裏面自己定義的方法基本是靜態的方法,方便調用

特點:是一個修飾符,可以修飾成員變量和成員函數(方法),隨着類的加載而加載,隨着類的消失而消失,生命週期最長
靜態代碼塊:隨着類的加載而加載,並且執行一次,並優先於主函數的執行
靜態方法只能訪問靜態變量和靜態成員方法
靜態方法不可以定義this super關鍵字

冒泡排序

直接來代碼吧

/**
 1. Created with IntelliJ IDEA.
 2.  3. @Auther: Adger
 4. @Date: 2020/06/09/18:56
 5. 冒泡排序
 */
public class TheBubbling {
  /**
 6. 冒泡排序原理:就是比較數組中,兩個相鄰的元素,如果第一個數比第二個數大,就交換他們兩個的位置
 7. 每一次比較,都會產生一個最大,或者最小的數
 8. 下一輪可以少一次排序
 9. 依次循環,直到結束
 10. @param args
   */
  public static void main(String[] args) {
    int[] a= {1,10,3,2,5,9,5,7,8};
    int[] sort = sort(a);
    System.out.println(Arrays.toString(sort));
  }

  public static int[] sort(int[] arr){
    //臨時變量
    int temporary = 0;
    //外層循環,判斷我們要走多少次 其中 -1 是爲了數組訪問越界
    for (int i = 0; i < arr.length-1; i++) {
      //內層循環 如果第一數比第二數大,則交換位置
      for (int j = 0; j < arr.length-1-i ; j++) {
        //如果 arr[j+1] 後面的一位數 大於arr[j] 當前位置
        if(arr[j+1] < arr[j]){
          //臨時變量裝載
          temporary = arr[j];
          //值給arr[j]
          arr[j] = arr[j+1];
          //兩個交換位置
          arr[j+1] = temporary;
        }
      }
    }
    return arr;
  }

在這裏插入圖片描述

重寫和重載(面試可能會問)

Overload是重載的意思、表示同一個類中、允許存在一個以上同名的方法,只要他們的參數個數不同或者參數類型不同就可以了
Override代表重寫的意思、他與返回值類型無關,只看參數列表

範圍不同

overload在相同的類範圍內內執行,override發生在兩類具有繼承(繼承)的關係。

參數不同

overload參數必須不同。 override參數必須相同。

抽象類

抽象類的特點:
1、抽象方法和抽象類使用 abstract 修飾

2、抽象類不能實例化。
3、抽象方法只有只有方法名字沒有實現

4、抽象類中可以寫普通方法
5、抽象方法必須在抽象類中,相當於一個約束

接口(重點)

以後會經常聽到面向接口編程
接口是什麼:在我的腦海裏面,我更感覺他是一個約束
接口的特點:
1.接口中所有的定義其實都是抽象的
2.接口不能實列化
3.類實現接口不是繼承,而是 實現,可以多實現幾個接口
4.接口關鍵字:interface
5.實現的關鍵字:implements

異常

什麼是異常從這個字面意思來說就是意外的意思,從程序的角度出發就是程序出現了錯誤,這裏的異常可以分爲兩類:編譯時異常、運行時異常
程序當中是通過Throwable進行描述的,他是異常的根類,重要的兩個子類是Error、Exception,Error指代是程序無法處理的錯誤,表示運行應用程序中比較嚴重的問題,比如VirtualMachineError(JVM虛擬機錯誤)、OutOfMemoryError(內存溢出)、ThreadDeath(線程死鎖),Exception代表程序本身可以處理的異常,異常處理通常指針對這種類型異常的處理,有一個編譯時的異常,運行時異常,RuntimeException裏面又很多異常,比如空值異常,數組下標越界異常,算數異常,類型轉換異常

內部類

什麼是內部類:可以將一個類定義在另一個類裏面或者一個方法裏面,這樣稱之爲內部類
特點:內部類隱藏在外部類之內,更好的實現了隱藏信息
內部類的分類:

1.成員內部類
2.靜態內部類
3.方法內部類
4.匿名內部類

包裝類

爲什麼有包裝類:基本數據類型沒有屬性、方法、無法對象化交互,通過包裝類擁有屬性、方法、可以對象化交互
包裝類:
在這裏插入圖片描述

拆箱與裝箱

裝箱: 基本數據類型 變成包裝類。
拆箱:包裝類變成基本數據類型

集合(重點 面試問爛的)

什麼是集合:在我的印象裏面集合是一個裝載數據的容器,以後用的非常多
集合的分類:主要爲兩類Collection、Map,在Collection就會存儲類的對象,Map的話就是以鍵值對的形式來存儲信息
Collection是一個接口,他的下面主要有三個子接口List(序列)、Queue(隊列)、Set(集)
List和Queue存放的數據要求是有序的,並且允許重複的,而Set存放的數據是無序的,不允許重複的,每個接口下面又有各自的實現類、List下面有一個常用的實現類ArrayList(長度動態增長的數組),Queue下面的實現類LinkedList,這個實現類同時也實現了List接口,表示的是鏈表的內容,Set的實現類主要是HashSet,也就是hash集,Map的主要實現類是HashMap
在這裏插入圖片描述

List 屬於java.util包中

List是元素有序並且可以重複的集合,稱爲序列
List可以精確的控制每個元素的插入位置,或刪除某個位置的元素
List主要兩個實現類是ArrayList和LinkedList,其中ArrayList底層是數組實現的
ArrayList中的元素可以爲空

Set

Set是元素無序並且不可以重複的集合、被稱爲集
重要的實現類是HashSet,HashSet是Set的一個重要實現類,稱爲哈希集
HashSet中元素無序,並且不可以重複,HashSet中只允許一個Null元素

Map

是以鍵值對的形式存儲(Key,Value),這個在我用用戶登錄註冊的時候用的比較多
其中主要的實現類是HashMap,基於哈希表的Map接口的實現,允許使用null值和null鍵
key值不允許重複
HashMap中的Entry對象是無序排列的

Iterator

Iterator接口以統一的方式對各種集合元素進行遍歷

多線程(重點)

什麼是線程:就比如你用的QQ是一個進程,但是你會在QQ這個進程裏面,跟很多人聊天很多窗口,每個窗口就相當於一個線程

線程的創建
創建線程的方式有三種

  1. 創建一個Thread類,或者一個Thread字類的對象
  2. 創建一個Runnanble接口的類的對象
  3. 實現Callable接口,接口中要覆蓋的方法是 public call() 注意:此方法可以拋異常,而前兩種不能 而且此方法可以有返回值
    在這裏插入圖片描述
    在這裏插入圖片描述

Runnable接口

只有一個方法Run();Runnable是java中實現線程的接口,任何實現線程功能的類都必須實現該接口

IO

Java中IO是以流爲基礎進行輸入輸出的
輸入輸出流,就比如下面代碼段

System.out.println()

向控制檯輸出一個你寫的內容,輸出到控制檯上,通常輸出流是以流的方式輸出過去,中間是以流(stream)的方式寫出write,流就是指一連串流動的字符串,以先進先出的方式發送信息的通道,System.out輸出流

輸入流,比如

Scanner sc = new Scanner(System.in)

在這裏插入圖片描述
System.in輸入流
文件輸入------- 讀
文件輸出--------寫

字節流

字節輸入流:InputStream
字節輸出流:OutputSteam

字符流

字符輸入流Reader
字符輸出流Writer

註解

註解是jdk1.5引入過來的新特性,一種特殊的接口類型,在interface加上一個@符號,註釋是給人看到,註解是給程序看的,可以聲明在類上、方法上、屬性上、

反射

反射是框架設計的靈魂,將類的各個組成部分封裝爲其他對象,這就是反射機制

================== javaWeb ===================

Tomcat

tomcat容器是如何創建servlet類實例?用到了什麼原理?

當容器啓動時,會讀取在webapps目錄下所有的web應用中的web.xml文件,然後對xml文件進行解析,
並讀取servlet註冊信息。然後,將每個應用中註冊的servlet類都進行加載,並通過反射的方式實例化。
(有時候也是在第一次請求時實例化)在servlet註冊時加上如果爲正數,則在一開始就實例化,

如果不寫或爲負數,則第一次請求實例化
參考鏈接

javaWeb三大組件

Servlet、Filter、Listener
他們的區別與作用可以看這個鏈接
生命週期與區別 詳細參考

Servlet的生命週期

大致分三部分生命週期

  1. 第一個階段:Servlet 通過調用 init () 方法進行初始化。
  2. 第二個階段:Servlet 調用 service() 方法來處理客戶端的請求。
  3. 第三個階段:Servlet 通過調用 destroy() 方法終止(結束)。
  4. 第四個階段:最後,Servlet 是由 JVM 的垃圾回收器進行垃圾回收的。
    詳細瞭解

Servlet執行的原理

1.當服務器接受到客戶端瀏覽器的請求後,會解析這個請求的URL路徑,獲取訪問的Servlet的資源路徑
2.查找web.xml文件是否有對應的<url-pattern>標籤體內容
3.如果有則在找到對應的<servlet-class>全類名
4.tomcat會將字節碼文件加載進內存,並且創建其對象
5.調用其方法

Servlet與Jsp的區別

Jsp經過編譯後就成了Servlet,Servlet沒有內置對象,Jsp有內置對象,Jsp更側重於視圖,Servlet更重於邏輯,就像一個控制器
Servlet就是一個接口,定義了Java類被瀏覽器訪問到(tomcat)識別的規則
JSP的本質就是Servlet,

JSP九大內置對象

  1. request 請求對象
  2. response 響應對象
  3. session 會話對象
  4. application 頁面上下文對象
  5. out 輸出對象
  6. pageContext 頁面上下文對象
  7. config 配置對象
  8. page 頁面對象
  9. exception 列外對象

重定向與轉發

轉發forward()

  1. 地址欄不發生變化,顯示的是上一個頁面的地址
  2. 請求次數:只有1次請求
  3. 請求域中數據不會丟失

重定向sendRedirect()
     5. 地址欄發生變化
     6. 請求次數:2次
     7. 請求域中的數據會丟失,因爲是2次請求

Cookie和Session

這兩個都是會話技術,什麼是會話:一次會話中包含多次請求和響應
一次會話指的是:瀏覽器訪問服務器,第一次給服務器資源發送請求,會話建立,直到一方斷開爲止
學習會話技術能幹嘛:在一次會話範圍內、共享數據
由於HTTP是一種無狀態的協議,
客戶端會話技術:Cookie
服務端會話技術:Session
大概不同,我覺得跟面試官說出這些應該夠了,記不到太多,詳細以後自己看下面
1.存儲方式不同
2.存儲位置不同
3.存儲容量不同
區別參考地址
應用場景等參考地址

================= 框架部分(SSM) ==================

Spring中的IOC跟AOP(面試問到爛)

什麼是IOC:控制反轉,IOC是一種設計思想,他只能幹一件事就是解耦合,其中的他底層的設計模式是:工廠模式,是Spring的核心,在有的時候也叫依賴注入
什麼叫IOC中的控制反轉其中的控制指的是:控制對象的創建和銷燬,指對象的生命週期
什麼叫IOC中的反轉:之前我們創建對象都是new出來的,有了IOC之後,對象的控制權交給了IOC容器

什麼是AOP:面向切面編程,是OOP(面向對象)的一種延續,AOP在不修改源碼的方式上,在主幹功能上添加功能

Spring中的IOC屬於哪種設計模式

SpringIOC中的設計模式是工廠

Spring中的AOP屬於哪種設計模式

Spring中AOP底層模式是:代理模式

談談Spring IoC 和 DI 的理解,它們有什麼區別?

推薦這篇文章

簡單談談 IoC 容器的原理。

推薦這篇文章

springmvc執行的流程(問到機率很高)

springMVC的執行流程,大致講下就可以

mybatis中的緩存

清楚概念

PageHelper

大概講下怎麼使用的

mybatisplus

mybatisplus是一個mybatis的擴展

#{}和${}的區別是什麼?

#{}是預編譯處理,${}是字符串替換。

Struts2(瞭解)

Struts2面試題

hibernate(瞭解)

hibernate常見面試題

mybatis逆向工程

這個是什麼,這個是可以幫我們快速搭建出許多實體類,跟封裝了一些對增刪改查的操作,但是隻針對單表的增刪改查非常有用

Springcloud

還有這篇
這篇文章

SpringBoot常用的註解有哪些

1.@SpringBootApplication 標註SpringBoot啓動類
2. @Service: 註解在類上,表示這是一個業務層bean
3. @Controller:註解在類上,表示這是一個控制層bean
4. @Repository: 註解在類上,表示這是一個數據訪問層bean
5. @Component: 註解在類上,表示通用bean ,value不寫默認就是類名首字母小寫
6. @Autowired:按類型注入
7. @Configuration:註解在類上,表示這是一個IOC容器,相當於spring的配置文件
8. @Bean: 註解在方法上,聲明當前方法返回一個Bean
9. @Value:註解在變量上,從配置文件中讀取。
10.@SpringBootTest 測試類註解

Springboot啓動過程

推薦

=============== 數據庫跟中間件 ===================

redis

Redis是一個非關係型的數據庫,以key,value的形式存儲,其中五種類型有:String,Hash,List,Set,Zset

什麼是Redis持久化

持久化就是把內存的數據寫道磁盤中去,防止服務器宕機丟失了內存數據,Redis提供了兩種持久化方式:RDB形式,這個是Redis默認的和AOF其中AOF是寫入保存

rabbitmq

rabbitmq是實現了高級消息隊列代理軟件,一般叫爲中間件

使用rabbitmq的好處

  1. 解耦和,程序的設計思想就是,高內聚,低耦合,
  2. 異步,將消息寫入消息隊列,非必要的業務邏輯以異步的方式進行,加快響應速度
  3. 削峯:併發量大的時候,所有的請求直接訪問數據庫,造成數據庫連接異常

消息基於什麼傳輸

由於TCP的創建和銷燬開銷比較大,併發數手系統資源限制,會造成性能瓶頸,RabbitMq使用信道的方式來傳輸數據,信道是建立在真實的TCP連接內的虛擬連接,,並且每條TCP連接信息上沒有數量限制

使用了消息隊列有什麼缺點

1.系統可用性降低,如果消息隊列掛了,其他也就沒了
2.系統複雜性變高,會考慮到很多方面,一致性問題,消息不被重複消費

Oracle

oracle是一個關係型數據庫

Oracle中的表中間的概念

表空間是一個邏輯概念,但屬於表空間的數據文件是存於磁盤上的物理文件,用戶的數據存在於表中,而表就存在於表空間中,一個表空間可以有多個屬於自己的數據文件,但一個數據文件只能屬於一個表空間

Oracle的體系結構
  1. 數據庫實例,包括:系統全局區(SGA),和後臺進程(數據寫入進程,重做日誌進程,檢查點進程,用戶監控進程等),實例在啓動時首先到初始化參數文件中找到控制文件,再從控制文件中找到日誌文件和數據文件
  2. 數據庫文件,包括:數據文件(.dbf)日誌文件(.log)控制文件(.ctl)
    其中數據文件又分 系統數據文件 用戶數據文件 臨時數據文件和回滾數據文件
    日誌文件可以有多組,一組寫滿換另一組,在切換時有檢查點進程保證數據的完成性
    控制文件是二進制文件,最大可以爲64M
Oracle中表空間和數據文件有什麼關係

一個表空間可以有多個屬於自己的數據文件,但一個數據文件只能屬於一個表空間

MySQL

Mysql存儲引擎都有哪些?

1)InnoDB存儲引擎
InnoDB 是事務型數據庫的首選引擎,支持事務安全表(ACID),支持行鎖定和外鍵, InnoDB 是默認的 MySQL 引擎。

2)MyISAM存儲引擎
MyISAM 基於 ISAM 存儲引擎,並對其進行擴展。它是在 Web、數據倉儲和其他應用環境下 最常使用的存儲引擎之一。MyISAM 擁有較高的插入、查詢速度,但不支持事物。

3)MEMORY存儲引擎
MEMORY 存儲引擎將表中的數據存儲到內存中,未查詢和引用其他表數據提供快速訪問。
推薦這篇文章

============== Linux ==========================

Liunx

說出十個Linux命令
  1. 查找文件
    find / -name 文件名
  2. 查看一個程序是否運行
    ps -ef|grep 程序名(tomcat)
  3. 終止線程
    kill -9 線程數
  4. 查看文件 包括隱藏文件
    ls -al
  5. 查看當前工作目錄
    pwd
  6. 創建文件夾
    mkdir 文件夾名字
  7. 刪除文件夾
    rmdir 文件夾
  8. 刪除文件包括子文件
    rm -rf 文件
  9. 切換用戶
    su -用戶名
  10. 修改文件權限
    chmod 777 文件名
  11. 壓縮命令
    tar -czf 壓縮文件名
  12. 解壓縮文件
    tar -xvzf test.tar.gz
  13. 查看ip地址
    ifconfig
  14. 啓動Vi編輯器
    vi

================== 前端部分 ====================

常用CSS選擇器有哪些

  1. 標籤選擇器(重要)
  2. id選擇器(重要)
  3. 類選擇器(重要)
  4. 子選擇器(重要)
    演示列子:

div > p

  1. 包含選擇器(重要)

div p

  1. 兄弟選擇器
  2. 相鄰選擇器
  3. 通配符選擇器
  4. 羣選擇器(重要)

div,p

  1. 屬性選擇器
  2. 僞類選擇器

Javascript

javascript是一個腳本語言

javascript中的變量類型:分爲基本數據類型和引用數據類型

1.基本數據類型:Undefined、Null、Boolean、Number、String
2.引用數據類型:稱爲Object對象,主要包括對象、數組和函數

基本類型和引用數據類型的區別

基本類型和引用類型存儲於內存不同的位置、基本類型直接存儲在棧中、而應用類型的對象存儲在堆中、與此同時棧中存儲了指針

undefined和not defined在JavaScript中有什麼區別?

not defined::未定義;一個未定義的變量是沒有聲明的變量,這樣的變量在使用時會直接報錯誤。
undefined::不明確的,一個定義了但未賦值的變量

什麼是JavaScript中的“閉包”?

閉包就是指能夠讀取其他函數內部變量的函數

Bootstarp

Bootstarp是一個前端樣式框架

Bootstarp的優點

1:響應式設計
2:非常容易上手

什麼是BootStarp的柵格系統

系統最多自動分爲12列,柵格系統用於通過一行一列的組合來創建頁面佈局,你的內容就會放如這些創建好的佈局裏面

Bootstarp的原理

其中他的原理是媒體查詢

jquery

jquery是一個javascript的庫,不是框架

JQuery有哪些經典應用

文檔選擇,文檔操作,動畫, ajax, json, js擴展等.

node.js

node是什麼

node是一個運行javascript的環境

Vue

對於Vue中的MVVM理解
其中M是Model層,就是模型層,V代表View視圖的意思嘛,然後就是VM這是一個比較頭疼的問題,就是數據模型發生改變的時候視圖層也會去改變,數據雙向綁定,在我做後端用Vue的時候就是一個感覺,通過js中的數據,去渲染數據

Vue中的生命週期
這篇文章不錯

=============== 版本控制工具(git) ===============

git

常用的git命令

  1. git init需要一個乾淨的倉庫初始化,該目錄下會新增一個隱藏的.git文件夾
  2. git add添加緩存區
  3. git commit -m “要提交的信息”
  4. git checkout 將單個文件代碼回滾到上個版本
  5. git clone url克隆遠程倉庫
  6. git push 推送到遠程本地倉庫
  7. git pull如果push的時候,本地和文件和遠端文件有衝突,就要先pull、然後手動解決衝突,才能繼續push,先拉取到遠程倉庫到本地倉庫,就比如遠程倉庫你有初始化的.md文件,本地倉庫卻沒得,就會發生衝突
  8. git checkkout 分支 切換分支
  9. git add . 代表所有文件提交其中注意是 .

Swagger2

swagger2是什麼

Swagger是一個RESTFUL 接口的文檔在線自動生成和功能測試的框架。
經常使用的註解有

  1. @EnableSwagger2 啓用Swagger2
  2. @Api:用在類上,說明該類的作用
  3. @ApiOperation:用在方法上,說明方法的作用
  4. @ApiParam 定義在參數上
  5. @ApiModel 描述一個數據模型類的信息
  6. @ApiModelProperty 描述數據模型的屬性
    到後面的東西太多了,寫不完,如果你願意看到最後,說明你可以的😂
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章