1. 程式人生 > 其它 >log4j2在mybatis下使用,以及log4j2配置檔案詳解

log4j2在mybatis下使用,以及log4j2配置檔案詳解

01、java入門

01、Java特性和優勢

簡單性、面向物件、可移植性、高效能、分散式、動態性、多執行緒、安全性、健壯性

02、java三大版本

JavaSE:標準版(桌面程式,控制檯開發...)
JavaME:嵌入式開發(手機,小家電…)
JavaEE:企業級開發(web端,伺服器開發...)

03、JDK、JRE、JVM

JDK: Java development kit

java開發者工具

JRE: Java Runtime environment

java執行時環境

JVM: Java Virtual machine

java虛擬機器 

04、java開發環境搭建

JDK下載與安裝
配置環境變數
JDK目錄介紹
Helloworld及簡單語法規則
Notepad++安裝和使用

05、hello world編譯

  1. 建立一個資料夾,存放程式碼
  2. 新建一個java檔案
  3. 編寫程式碼
    public class Hello{ 
       public static void main(String[] args){
           System.out.print("Hello World!");
       }
    }
  4. 編譯javac java檔案,會生成一個class檔案
  5. 執行class檔案,java class檔案

可能遇到的問題

  1. 每個單詞的大小不能出現問題,java是大小寫敏感
  2. 儘量使用英文。
  3. 檔名和類名必須保證一致,並且首字母大寫
  4. 符號使用了中文。

06、編譯型和解釋型

程式執行機制

07、IDEA安裝

什麼是IDE
整合開發環境(IDE,Integrated Development Environment )是用於提供程式開發環境的應用程式,一般包括程式碼編輯器、編譯器、偵錯程式和圖形使用者介面等工具。
IDEA介紹
lntelliJ IDEA(簡稱 IDEA),是 Java 語言開發的整合環境,IDEA 在業界被公認為最好的 Java 開發工具之一,尤其在智慧程式碼助手、程式碼自動提示、重構、J2EE 支援、各類版本工具(Git、SVN、GitHub 等)、JUnit、CVS 整合、程式碼分析和創新的 GUI 設計等方面的功能都值得稱道。

IDEA官網https://www.jetbrains.com/

02、JAVA基礎

01、註釋

java中註釋有三種:

單行註釋(快捷鍵:)

//單行註釋

多行註釋(快捷鍵:)

 /*    多行註釋 */

文件註釋(快捷鍵:)

/**
 *文件註釋
 *文件註釋
*/

02、識別符號和關鍵詞

關鍵詞


Java所有組成的部分都需要名字、類名、變數名以及方法名都被稱為識別符號

識別符號注意點

1、所有的識別符號都應該以字母(A-z或者a-z),美元符($$)、或者下劃線()開頭
2、首字元之後可以是字母(AZ或者a-z),美元符($)、下劃線(
)或數字的任何字元組合
3、不能使用關鍵字作為變數名或方法名
4、識別符號是大小寫敏感的
5、合法識別符號舉例:age、$salary、value、__1_value
6、非法識別符號舉例:123abc、-salary、#abc

public static void main(String[] args){
    String 王者榮耀 = "最強王者";
    System.out.println(王者榮耀);
}    

7、可以使用中文命名,但是一般不建議這樣去使用,也不建議使用拼音,很Low

03、資料型別講解

強型別語言

要求變數的使用要求嚴格符合規定,所有變數都必須先定義後才能使用

弱型別語言

????

java的資料型別分為兩大類

基本型別(primitive type)

public class Demo01 {
    public static void main(String[] args) {
        //八大基本資料型別
        //整數
        int num1 = 10;  //最常用
        byte num2 = 20;
        short num3 = 30;
        long num4 = 30L;  //Long型別要在數字後面加個L

        //小數、浮點數
        float num5 = 50.1F; //Lfloat型別要在數字後面加一個F
        double num6 = 3.1415926535;

        //字元
        char name = 'A';
        //字串,String不是關鍵字。類
        String names = "青江";

        //布林值
        boolean flag = true;
        //boolean flag = false;
    }
}

引用型別(reference type)

面試題:(多看!)

public class Demo02 {
    public static void main(String[] args) {
        //整數拓展:     進位制      二進位制0b       十進位制     八進位制0        十六進位制0x
        int i = 10;
        int i2 = 010; //八進位制
        int i3 = 0x10;  //十六進位制 0~9 A~F 16
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        //=====================================================================================
        //浮點數拓展
        //=====================================================================================
        //float     有限      離散      舍入誤差        大約      接近但不等於
        //double
        //最好完成使用浮點數進行比較
        //最好完成使用浮點數進行比較
        //最好完成使用浮點數進行比較
        float f = 0.1f; //0.1
        double d  = 1.0/10; //0.1
        System.out.println(f==d);//false
        float d1 = 23131312131231f;
        float d2 = d1+1;
        System.out.println(d1==d2);//true
        //=====================================================================================
        //字元拓展
        //=====================================================================================
        char c1 = 'a';
        char c2 = '中';
        System.out.println(c1);
        System.out.println((int)c1);//強制轉換
        System.out.println(c2);
        System.out.println((int)c2);//強制轉換
        //所有的字元本質還是數字
        //編碼 Unicode 2位元組 0~65536(2的16次方)
        char c3 = '\u0061';
        System.out.println(c3);
        //=====================================================================================
        //轉義字元
        //=====================================================================================
        //  \t 製表符
        //  \n 換行
        System.out.println("Hello\tWord");
        //=====================================================================================
        //布林值擴充套件
        //=====================================================================================
        boolean flag = true;
        if (flag==true){} //新手
        if (flag){} //老手
    }
}

## 04、型別轉換

由於java是強型別語言,所以要進行有些運算的時候,要用到型別轉換。
![](D:\Program Files\Typora\leanote:\file\getImage?fileId=616ff5c1b6d7a15d7f000000)
運算中,不同型別的資料型別先轉化為同一型別,然後再進行運算在java程式碼中分為強制型別轉換和自動型別轉換

public class Demo03 {
    public static void main(String[] args) {
        int i = 128;
        byte b = (byte)i; //記憶體溢位

        System.out.println(i);
        System.out.println(b);
        //強制轉換 (型別)變數名  高--低

        int j = 128;
        double k = j; //記憶體溢位
        //自動轉換  低--高

        System.out.println(j);
        System.out.println(k);

        /*
            注意點:
            1、不能布林值進行轉換
            2、不能把物件型別轉換為不相干的型別
            3、在把高容量轉換到低容量的時候,強轉換
            4、轉換的時候可能存在記憶體溢位,或出現精度問題
         */
        System.out.println("==================================================");
        System.out.println((int)23.7);
        System.out.println((int)-45.89f);
        System.out.println("==================================================");
        char c = 'a';
        int d = c+1;
        System.out.println(d);
        System.out.println((char)d);
    }
}
public class Demo04 {
    public static void main(String[] args) {
        //操作比較大的數的時候,注意溢位問題
        //JDK7新特性,數字之間可以用下劃線分割
        int money  = 10_0000_0000;
        int years = 20 ;
        int total = money*years;//-1474836480,計算的時候溢位了
        long total2 = money*years;//預設是int,轉換之前已經存在問題了
        long total3 = money*((long)years);//先把一個數轉換為Long
        System.out.println(total);
        System.out.println(total2);
        System.out.println(total3);
    }
}