java易混淆知識小結

1.java的基本數據類型,及所佔字節和範圍

byte:  字節型,佔1個字節,8位,範圍是   -2^7 ~   2^7-1html

short:短整型,佔2個字節,16位,範圍是 -2^15 ~ 2^15 -1java

int: 整形,佔4個字節,32位,範圍是-2^31 ~ 2^31 -1數組

long: 長整型 ,佔8個字節,64位,範圍是 -2^63  ~  2^63-1瀏覽器

float: 單精度浮點型,佔4個字節,32位,不能表示精確的值。變量值後邊必須加F或f,不然會編譯不經過tomcat

double:雙精度浮點型,是浮點數的默認類型。佔8個字節,64位,也不能表示精確的值服務器

boolean:布爾型,佔1個字節,8位post

char:字符型,佔2個字節,16位,範圍爲(0~65535)this

 2.數組的定義及相關操做

public static void main(String[] args) { //正確的定義
        int[] arr = {1,2,2,4,5,6}; int arr1[] = {1,2,3,4};  //不推薦
        int[] arr2 = new int[] {1,2,3}; int[] arr3; arr3 = new int[] {1,2,3}; int[] arr4 = new int[3]; //數組的複製
        System.arraycopy(arr1, 0, arr4, 0, 3); System.out.println(arr4[2]); int[] arr5 = Arrays.copyOf(arr, 3); //推薦使用這種方法,能對數組進行擴容 //數組排序。默認爲升序
 Arrays.sort(arr); //二分法查詢某個元素是否在數組中,存在返回元素的索引,不在則返回一個負數的插入點
        int binarySearch = Arrays.binarySearch(arr, 10); System.out.println(binarySearch); //多維數組
        int[][] mrr = new int[2][3]; // 2指包含了2個一維數組,3指每一個一維數組包含3個元素
 }

 3.java中內存分配

棧:存儲正在調用方法中的全部局部變量(包括參數),編碼

  調用方法時,在棧中爲該方法分配一塊對應的棧幀,棧幀中存儲方法中全部的局部變量(包括參數),方法調用完成後,棧幀被清除,局部變量一併消失spa

堆:存儲全部new出來的對象(包括成員變量)

方法區:存儲.class字節碼文件(包括方法),方法只有一份,經過this來區分具體的對象

常量池: 常量池是方法區的一部分,主要用來存放常量和類中的符號引用等信息。

4.java中各類變量的生命週期

成員變量:建立對象時存在堆中,對象被回收時一併消失

局部變量:調用方法中存在棧幀中,方法調用結束時與棧幀一併消失

靜態變量:類首次被加載時靜態變量被分配空間,程序結束後由系統釋放.

5.Web項目中幾種設置編碼做用 

 

 a. 設置JSP編譯成Servlet時使用的編碼: pageEncoding=」UTF-8」

  b. 指定服務器響應給瀏覽器的編碼: 

    1>response.setContentType("text/html;charset=UTF-8")

    2>response.setCharacterEncoding("UTF-8");

  c. 對請求參數的編碼設置:

    post請求時:request.setCharacterEncoding(「UTF-8」);  必須放在全部的getParams()前面

    get請求時:1>修改tomcat的server.xml中的 URIEncoding屬性 

           2>str = new String(str.getBytes("iso-8859-1"),"utf-8");

相關文章
相關標籤/搜索