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");

相关文章
相关标签/搜索