复习

java基础篇

一、JDK常用的包

  • java.lang:这是系统的基础类,比如String、Math、Integer、System和Thread,提供常用功能。在java.lang包还有一个子包:java.long.reflect用于实现java类
  • java.io:这里面是所有输入输出有关的类,比如文件操作等
  • java.net:这里面是与网络有关的类,比如URL,RULConnection等
  • java.util:这里面是系统辅助类,特别是集合类Collection,list,map等
  • java.sql:这里面是数据库操作的类,Connection,Statemem他,ResultSet等

二、Get和Post的区别

1.get是从服务器上获取数据post是向服务器传送数据
2.get传送的数据量较小,不能大于2KB。post的传输量比较大,一般被默认为不受限制。
3.get的安全性能非常低,post安全性能较高。但是执行效率get比post要好
4.在进行文件上传时只能使用post而不能使用get

三、java多态的具体体现

面向对象编程有四个特征:封装继承抽象多态
多态的四种体现形式:接口和接口的继承类和类的继承重写重载

其中重载和重写为核心。
重写:重写发生在子类继承父类的关系中,父类的方法被子类继承,方法名,返回值类型,参数完全一样,但是方法体不一样,那么说明父类中的该方法被子类重写了。
重载:重载发生在同一个类中,在该类中如果存在多个方法名相同,但是方法的参数类型和参数个数不一样,那么就说明该方法被重载了。

四、StringBuffer、StringBuilder、String 的区别

String字符串常量不可变使用字符串拼接时是不同的2个空间
StringBuffer字符串变量可变线程安全,字符串拼接直接在字符串后面追加
StringBuilser字符串变量可变非线程安全,字符串拼接直接在字符串后面追加

1.String是一个常量,是不可变的,所以对于每一次+=赋值都会创建一个新的对象,StringBuffer和StringBuilder都是可变的,当进行字符串拼接时采用append方法,在原来的基础上进行追加,所以性能比String要高,又因为StringBuffer是线程安全的而StringBuilder是线程非安全的,所以StringBuilder的效率要高于StringBuffer。
2.StringBuilder执行效率高于StringBuffer高于String
3.对于大量的字符串的拼接,采用StringBuffer,StringBuilder

五、Hashtable与HashMap的区别

HashMapHashTable
非线程安全线程安全
允许空(null)的键和值不允许空的键和值

Map:Map是一个以键值对存储的接口。Map下有两个具体的实现,分别是HashMap和HashTable
HashMap线程是非安全的,而且允许存储空的键和值所以说HashMap的效率要高于HashTable

六、九大隐式对象

九大隐式对象,以及四个作用域介绍
输入/输出对象:request response out
作用域通信对象:session application pageContext
Servlet对象:page config
错误对象:exception

七、Forword(请求转发)与Redirect(重定向)

Forword(请求转发)与Redirect(重定向)详情介绍
1.从数据共享上
Forword是一个请求的延续,可以共享request的数据
Redirect开启一个新的请求,不可以共享request的数据
2.从地址栏
Forword转发地址栏不发生变化
Redirect转发地址栏发生变化

八、JQurer总结

jquery是一个轻量级的js框架,具有跨浏览器的特性,兼容性好,并且封装了很多工具,方便使用。、常用的有,dom操作,ajax(ajax不能跨域),特效,工具类。
jQuery是一个轻量级的"写的少,做的多"的JavaScript库。

九、XML和JSON的特点

XML特点:
1.有且只有一个根节点
2.数据传输的载体
3.所有的标签都需要自定义
4.是纯文本文件

JSON特点:=>=>
JSON分为两种规格:=>=>
=>=>json对象(就是在{}中存储键值对,键和值之间用冒号分隔,键值对之间用逗号分隔);
"A":[{“B”,“C”},{“B”,“C”}]
=>=>json数组(就是[]中存储多个json对象,json对象之间用逗号分隔)
[{“A”,“B”},{“A”,“B”}]

十、Requset.getSession()、Requset.getSession(false)和Requset.getSession(true)

Session问题
getSession()/getSession(true): 当session存在时返回该session,否则新建一个,session并返回该对象
getSession(false): 当session存在时返回改session,否则返回NULL
参数为true时,若存在会话,则返回该会话,否则新建一个会话;
参数为false时,如存在会话,则返回该会话,否则返回NULL;

十一、Ajax

Ajax全称:异步javaScript及XML <=翻译过来=> (Asynchronous JavaScript And XML)
AJAX是一种用于创建快速动态网页的技术
通过在后台与服务器进行少量的数据交换,AJAX可以使网页实现异步更新。
这意味着可以在不重新记载整个网页的情况,对网页的某部分进行更新。
传统的网页(不使用AJAX)如果需要更新内容,必须重新加载整个网页

  • 使用AJAX我们的JavaScript可使用JavaScript的 XML HttpRequest对象来直接与服务器进行通信。通过这个对象,我们的javaScript可以在不重载页面的情况下与web服务器交换数据,即可局部刷新。
  • AJAX在浏览器与web服务器之间使用异步数据传输(HTTP请求),这样就可使网页从服务器请求少量信息,而不是整个页面,减轻服务器的负担,提升站点的性能
  • AJAX是基于标准化并被广泛支持的技术,并且不需要插件和下载小程序

十二、Page和PageContext的区别

Page是Servlet对象,使用this关键字,他的作用范围是在同一个页面
PageContext作用域通信对象,通常使用setAttribute()getAttribute来设置和获取存放的对象的值。

十三、Java的基本数据类型

数据类型字节位数范围
Byte(字节型)18位-128~127
Short(短整型)216位-32768~32767
int(整型)432位-2147483648~2147483647
Long(长整型)864位-9223372036854775808 ~ 9223372036854775807
Float(浮点型)432位-3.4E38~3.4E38
Double(双精度)864位-1.7E308~1.7E308
Char(字符型)216位从字符型对应的整型数来划分,其表示范围是0~65535
Boolean(布尔型)18位true或false

十四、冒泡排序

    /*主函数*/
    public static void main(String[] args) {
        /*调用冒泡方法*/
        sort();
    }

    /*冒泡方法*/
    public static void sort(){
        /*Scanner类*/
        Scanner in=new Scanner(System.in);
        /*定义一个长度为10的数组*/
        int sort[]=new int[10];
        /*中间商*/
        int temp;
        System.out.println("请输入10个排序的数据:");
        /*根据sort数组的长度循环*/
        for (int i=0;i<sort.length;i++){
            /*像sort数组内输入数据*/
            sort[i] = in.nextInt();
        }
        /*轮:有多少个数就循环多少轮*/
        for (int i=0;i<sort.length-1;i++){
            /*次:每一轮有循环多少数减去第几轮*/
            for (int j=0;j<sort.length-i-1;j++){
                /*判断排出最大或者最小*/
                if(sort[j]<sort[j+1]){
                    /*A把值给中间商*/
                    temp=sort[j];
                    /*B把值给A*/
                    sort[j]=sort[j+1];
                    /*中间商把值给B*/
                    sort[j+1]=temp;
                }
                /*这样每一次比较相近的两个根据大小调换顺序*/
            }
            /*这样每一轮都能排出一个最大或者最小的*/
        }
        System.out.println("最后排序的顺序为:");
        /*循环输出数据*/
        for (int i=0;i<sort.length;i++){
            System.out.println(sort[i]+"~");
        }
    }

十五、JDK、JRE、JVM

JDK(Java Development[开发] Kit[装备]) 是语言的软件开发工具包。
在JDK的安装目录下有一个JRE目录,里面有两个文件夹bin和lib,可以认为bin里就是JVM,lib中就是JVM工作是需要的类库,JVM+lib=JRE。
JRE(Java Runtime Environment,Java运行环境),包含了JVM标准实现及Java核心类库。JRE是Java的运行环境,并不是开发环境。
JVM(Java Virtual Machine,Java虚拟机),JVM是一种用于计算设备的规范,他是一个虚构出来的计算机,是通过在实际中的计算机上仿真各种计算机功能来实现的。
在这里插入图片描述

十六、#{}和${}的区别

#{}是预编译处理${}是字符串处理
Mybatis在处理#{}时,会将SQL中的#{}替换为?号,调用PreparedStatement的Set方法来赋值。
Mybatis在处理 ${}时,就是把 ${}替换成变量的值。
使用#{}可以有效的防止SQL注入,提高系统的安全性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值