首页 java面试基础总结

java面试基础总结

举报
开通vip

java面试基础总结Java的特点语法简单,面向对象,分布式,安全性,健壮性,解释运行,高效率,与平台无关,多线程,动态性。面向对象的特征继承,封装,多态,抽象(1)继承:子类继承父类的方法和属性构造器不能继承子类的构造器一定会调用父类的构造器实例化子类,会分配所有父类的空间(2)多态:重载方法,方法名一样,方法参数不同的方法(3)抽象:在面向对象分析设计时,可将一些实体作高度抽象定义成抽象类,抽象类没有任何对象,只可作为一个模板用于创建子类,以与为面向对象提供更灵活的多态机制。(4)封装:类封装了数据与对数据的操作,是程序中最小的模...

java面试基础总结
Java的特点语法简单,面向对象,分布式,安全性,健壮性,解释运行,高效率,与平台无关,多线程,动态性。面向对象的特征继承,封装,多态,抽象(1)继承:子类继承父类的方法和属性构造器不能继承子类的构造器一定会调用父类的构造器实例化子类,会分配所有父类的空间(2)多态:重载方法,方法名一样,方法参数不同的方法(3)抽象:在面向对象分析设计时,可将一些实体作高度抽象定义成抽象类,抽象类没有任何对象,只可作为一个 模板 个人简介word模板免费下载关于员工迟到处罚通告模板康奈尔office模板下载康奈尔 笔记本 模板 下载软件方案模板免费下载 用于创建子类,以与为面向对象提供更灵活的多态机制。(4)封装:类封装了数据与对数据的操作,是程序中最小的模块,禁止了外界直接操作类中的数据,模块与模块之间只能通过严格控制的接口进行交互,使得模块之间的耦合度大大降低;保证了模块具有较好的独立性,程序维护和修改较容易。java中的8种基本数据类型与数据类型的转换4大类型:逻辑类型:boolean字符类型:char整数类型:byte,short,int,long浮点类型:float,double转换:规则1,当把精度低的变量的值赋给精度高的变量时,系统自动完成数据类型的转换(数据精度从“低”到“高”排序)规则2,当把精度高的变量的值赋给精度低的变量时,必须使用显示类型转换运算。规则3,char与byte或short之间的赋值必须实行强制转换。局部变量与全局变量的区别局部变量:不是声明在类括号里面的变量。方法的参数和方法部的变量都是局部变量。必须要先赋值,后使用,局部变量没有默认初始化值。同一围,不允许2个局部变量命名冲突。什么是形参,什么是实参?实参:方法调用时候实际传递的参数变量(实际的值,相当于赋值)。形参:方法的参数定义,是临时变量(是个空壳子,相当于声明变量而没有赋值)。怎么理解i++与++ii++:先把i的值赋给i++,i的值自增1,再把i++的值赋给i;++i:先把i的值自增1,自增后的i的值赋给i++,,再把++i的值赋给i;7.&与&&的区别&和&&都可以用作逻辑与的运算符, 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str!二null&&!str.equals("”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。If(x==33&++y>0)y会增长,If(x==33&&++y>0)不会增长&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31&0x0f的结果为0x01。switch()括号中可以是哪些数据类型。char/short/int/byte常用的”零”值有哪些?整型的默认值:〔0,0,0〕boolean类型:〔false,false,false〕浮点类型:〔0.0,0.0,0.0〕String类型:[null,null,null]char类型:\u0000数组中的动态初始化与静态初始化静态初始化是指由程序员自己为数组对象每个元素赋值,由系统自动计算出数组长度:如String[]a=newString[]{“Hellow”,”World”,”Yes”};动态初始化是指程序员自己指定数组对象的长度,由系统先自动为其赋值,程序中程序员可以为元素重新赋值;如:String[]b=newString[4];for(inti=0;iarr[j+1]){//这一行的j相当于下标inttemp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}returnarr;}/**插入排序*/publicstaticvoidmain(String[]args){int[]arr={4,33,2,1,46,34};System.out.println(Arrays.toString(insertSort(arr)));}publicstaticint[]insertSort(int[]arr){inti,j,temp;for(i=1;i=0&&temp=0;是第一个元素的位置if(temparr[j]){inttemp=arr[i];arr[i]=arr[j];arr[j]=temp;}}}returnarr;谈谈你对面向对象的理解见白色的java基础教程第46页构造器的作用是什么?用来描述对象的创建过程的。构造器的要点:java中的构造器声明在类部方法名与类名一致的方法叫构造方法构造方法不能声明返回值类型构造方法可以包含参数,参数一般是创建对象实例必须依赖的条件重写与重载的区别Overload是重载的意思,Override是覆盖的意思,也就是重写。重载Overload表示同一个类中可以有多个名称一样的方法,但这些方法的参数列表各不一样(即参数个数或类型不同)。重写Override表示子类中的方法可以与父类中的某个方法的名称和参数完全一样,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全一样的方法给覆盖了,这也是面向对象编程的多态性的一种表现。子类覆盖父类的方法时,只能比父类抛出更少的异常,或者是抛出父类抛出的异常的子异常,因为子类可以解决父类的一些问题,不能比父类有更多的问题。子类方法的访问权限只能比父类的更大,不能更小。如果父类的方法是private类型,那么,子类则不存在覆盖的限制,相当于子类中增加了一个全新的方法。至于Overloaded的方法是否可以改变返回值的类型这个问题,要看你倒底想问什么呢?这个题目很模糊。如果几个Overloaded的方法的参数列表不一样,它们的返回者类型当然也可以不一样。但我估计你想问的问题是:如果两个方法的参数列表完全一样,是否可以让它们的返回值不同来实现重载Overload。这是不行的,我们可以用反证法来说明这个问题,因为我们有时候调用一个方法时也可以不定义返回结果变量,即不要关心其返回结果,例如,我们调用map.remove(key)方法时,虽然remove方法有返回值,但是我们通常都不会定义接收返回结果的变量,这时候假设该类中有两个名称和参数列表完全一样的方法,仅仅是返回类型不同,java就无法确定编程者倒底是想调用哪个方法了,因为它无法通过返回结果类型来判断。override可以 翻译 阿房宫赋翻译下载德汉翻译pdf阿房宫赋翻译下载阿房宫赋翻译下载翻译理论.doc 为覆盖,从字面就可以知道,它是覆盖了一个方法并且对其重写,以求达到不同的作用。对我们来说最熟悉的覆盖就是对接口方法的实现,在接口中一般只是对方法进行了声明,而我们在实现时,就需要实现接口声明的所有方法。除了这个典型的用法以外,我们在继承中也可能会在子类覆盖父类中的方法。在覆盖要注意以下的几点:1、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;2、覆盖的方法的返回值必须和被覆盖的方法的返回一致;3、覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;4、被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。overload对我们来说可能比较熟悉,可以翻译为重载,它是指我们可以定义一些名称一样的方法,通过定义不同的输入参数来区分这些方法,然后再调用时,VM就会根据不同的参数样式,来选择合适的方法执行。在使用重载要注意以下的几点:1、在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同的参数个数,不同的参数顺序(当然,同一方法的几个参数类型必须不一样,例如可以是fun(int,float),但是不能为fun(int,int));2、不能通过访问权限、返回类型、抛出的异常进行重载;3、方法的异常类型和数目不会对重载造成影响;访问控制修饰符有哪些,他们的可见围分别是什么?public:公共的,可以修饰类,方法,成员变量,在任何包中都可以访问。protected:受保护地,可以修饰方法,成员变量,在子类中可以访问(父类和子类)default:默认的,可以修饰类,方法,成员变量,只能在同一包中访问。private:私有的,可以修饰方法,成员变量,只能在类中访问。什么是多态?多态性是指在一般类中定义的属性或方法,被特殊类继承之后,可以具有不同的数据类型或变现出不同的行为。这样,一个程序可以存在同名的不同方法,不同类的对象可以响应同名的方法,具体的实现方法却不同。JavaBean规有哪些?(1)必须有包(2)java类,具有无参构造器(3)有用getXXX()和setXxx()声明的Bean属性必须实现序列化接口18.Static修饰符的使用static修饰的属性,是在类加载时被创建并进行初始化,类加载的过程只进行一次,也就是类变量只会被创建一次。不加static修饰的成员是对象成员,也就是归每个对象所有的。加static修饰的成员是类成员,就是可以由一个类直接调用,为所有对象共有的。Final修饰符的使用final不能用来修饰构造方法。final修饰的类,不能被继承。final修饰的方法不能被覆盖(重写)。final修饰的变量,初始化以后就不能被修改。final+static来定义常量,常量名全部大写。抽象类与接口抽象类:abstract抽象类,包含抽象方法的类,一定是抽象类,抽象类不能创建对象抽象类不能创建实例,可以定义引用类型的变量抽象方法,没有具体的实现。没有方法体抽象类只能被继承,一个类继承抽象类,必须实现抽象方法(5)抽象类必须被继承,抽象方法必须被重写(6)抽象方法只需声明,不需要时间。接口:interface(特殊的抽象类)(1)全部的方法都是抽象方法,全部的属性都是常量(2)接口用来表示纯抽象概念,没有任何具体的方法和属性(3)接口不能实例化,可以定义常量(4)接口变量可以引用具体实现类的实例(5)接口只能被继承,一个具体类实现接口,必须使用全部的抽象方法(6)接口之间可以继承(7)一个具体类可以实现多个接口,实现多继承现象(8)接口中的属性,默认常量是publicstaticfinal(9)接口中的方法一定是publicabstract(10)实现一个接口,使用关键字implements,实现实际上是一种继承方法。21.Object类中常用的方法?toString方法,equals方法,hashCode()方法当需要描述对象的时,重写toString方法。有比较两个对象需求,重写equals方法.当重写equals,同时也会重写hashCode()方法,重写hashCode()方法通常会以对象的ID作为返回值。22.final,finally,finalize的区另final:用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。部类要访问局部变量,局部变量必须定义成final类型。finally:是异常处理语句结构的一部分,是异常的统一出口,表示总是执行。finaliaze:是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。JVM不保证此方法总被调用。23.StringBuffer与StringBuilder的区别StringBuffer与StringBuilder具有一样的API,StringBuffer性能稍慢。StringBuilder是非线程安全的,StringBuffer是线程安全的。24.String与StringBuilder的区别String部采用的char数组存储,还带有算法,不会改变char[]数组容,会使用复制操作生成新对象。StringBuilder容数据采用char数组存储,还带有算法,这些方法通过改变char[]容来实现,如果容量超出会自动扩容。String表示静态字符串,StringBuilder表示动态字符串。如果需要大量的字符串修改的处理,使用StringBuilder025.list与set的区别list与set具有相似性,它们都是单列元素的集合。Set里面不允许有重复的元素。List可有重复元素。List表示有先后顺序的集合。ArrayList、LinkedList、Vector的区另ArrayList是使用变长数组实现的线性表,ArrayList和Vector都是使用数组方式存储数据。ArrayList是非线程安全的,Vector是线程安全的。LinkedList是使用双向链表实现存储。HashMapVSHashtableHashMap采用异步处理方式,性能较高,属于非线程安全。HashTable采用同步处理方式,性能较低,属于线程安全。HashTable允许空键值,允许将null作为一个entry的key或者value,HashTable不允许。Collection与Collections的区别Collection是集合的抽象概念。Collections:集合的工具类,如排序,打乱,填充,二分查找。29parable与Comparator的区别Jcomparable:(1)表示可以比较的(用于类实现)(2)实现这个接口表示:这个类的实例可以比较大小,可以进行自然排序(3)compareTo()返回正数表示大,返回负数表示小,返回0表示相等。(4)Comparable的实现必须与equals()的结果一致,就是相等的对象时,比较结果一定是0。Comparator:比较工具,用于临时定义比较规则,不是默认比较规则。集合框架图自己看书部类分为哪几种,分别有什么特点?部类分为四种:(最大作用:封装)静态部类:使用static修饰,声明在类体中。静态部类中可以访问外部类的静态成员成员部类:声明在类体中,不使用static,具有类的成员特征,也就是具有类的实例才能创建部类。部类实例可以访问共享外部类的成员变量如:链表的节点就可以定义为部类局部部类:把类声明在方法中,就是局部部类,作用域类似局部变量匿名部类:匿名类,非常常见,可以写在任何地方,就像一般语句语法更像是创建对象:Dated=newDate(){....};匿名类是对原类的一个继承,同时创建了实例,{}就是继承以后的类体,类体中可使用所有类的语法。匿名类不能写构造器。匿名类可以从抽象类或者接口继承,必须提供抽象方法的实现。匿名部类应用在接口回调,事件监听。异常的分类Throwable类是java语言中所有异常的超类。它有两个子类:Error和Exception。Exception又分为两类:一种是CheckedException,一种是UncheckedException。这两种类的区别主要是CheckedException需要用trycatch显示捕获,而UncheckedException不需要捕获。通常UncheckedException又叫RuntimeException。常见的RuntimeException有IllegalArgumentException,NullPointerException,IndexOutOfBoundsException等等。我们在编写程序过程中,trycatch捕获的异常都是CheckedException。io包中的IOException与其子类,都是CheckedException。常见的运行时异常有哪些?有NullPointerException:空指针异常ClassNotFounfException:指定的类不存在IndexOutOfBoundsException:下标越界异常ClassCastException:类型转换异常NumberFormatException:数据格式异常字节流与字符流流的分类:按数据方向分:输入流:InputStream/Reader输出流:OutPutStream/Writer按数据类型分:字节流:InputStream/OutPutStream字符流:Reader/Writer字符流和字节流的区别:1,字节流读取的时候,读到一个字节就返回一个字节。字符流使用了字节流读到一个或多个字节(中文对应的字节是两个,UTF—8码表中是三个)时,先去查指定的编码表,将查到的字符返回。2,字节流可以处理所有类型数据,如图片,mp3等。字符流只能处理字符数据。3,字节流输入流都是以InputStream结尾,字节流输出流都是以OutPutStream结尾。在InputStream或者OutPutStream前面代表这个流的作用。字符流输入流都是以Writer,字符流输出流都是以Reader结尾。只要是处理纯文本数据,就要优先考虑使用字符流,除此之外都使用字节流。线程的状态五种状态:1,NewBorn(新建)状态2,Runable(就绪)状态3,Running(运行)状态4,Blocked(堵塞)状态5,Dead(死亡)状态35.创建线程的两种方式1,继承Thread类2,实现Runable接口36.oracle数据库中char、varchar、varchar2的区别char表示定长字符串(方便查询)最长放入n个字符,放入的数据如果不够n个字符则补空格,无论如何都占n个字符长度。varchar表示变长字符串(节省空间)最长放入n个字符,放入的数据是几个长度就占多大空间varchar2Oracle自己定义的变长字符串。37.oracle数据库中常用的函数数字函数:round(数字,小数点后的位数)用于数字的四舍五入trunc(数字,小数点后的位数)用于截取,如果没有第二个参数,默认是0。mod()求余日期函数:sysdate系统当前时间next_day();下一个星期数对应的日期last_day();某月的最后一天的日期trunc();截取日期months_between();两个日期之间的月数add_months();加月数操作转换函数:number——>char:to_char();char——>data:to_date();date——>char:tochar(sysdate,'yyyy-MM-dd');to_date()和to_char()是时间处理函数,to_char()将日期数据按指定格式转换为字符串数据to_date()将字符串数据按指定格式转换为日期数据其他函数:coalesce(参数列表)函数的作用:返回参数列表中第一个非空参数,参数列表中最后一个值通常为常量nvl();处理空值的函数decode()函数是Oracle中等价于casewhen语句的函数Union与Unionall的区别Union,对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;UnionAll,对两个结果集进行并集操作,包括重复行,不进行排序;Intersect,对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;Minus,对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序。Truncate与Delete的区别truncate表示截断表,执行后无法恢复delete表示删除表中所有数据,执行后可恢复40.oracle数据库有哪几种约束条件?有五种约束条件:notnullunique唯一约束建立在表级,unique约束要求不能重复,可以为nullprimarykey主键约束建立在表级foreignkey外键列可以插入空值check检查有哪几种SQL语言,分别包括哪些操作?创建表:createtable修改表:altertable待修改的表名add字段名字段类型删除表:droptable...更新表:update表名set插入表:insertinto表名values()删除表中数据:deletefrom表名连接与外连接的区别部连接要求组成连接的两个表必须具有匹配的记录。外部连接主要是用来解决空值匹配的问题。部连接解决的问题:结果集中只包含匹配的记录外部连接解决的问题:结果集中包含匹配和不匹配的数据结果集中只包含不匹配的数据外连接分为三种类型:右外连接(右表中所有数据,左表中满足条件的数据)左外连接(左表中所有数据,右表中满足条件的数据)全外连接(左外连接和右外连接的合集)事务提交的方式:mysql:自动提交(setAutoCommit)oracle:commit连接JDBC的步骤加载驱动:Class.forName(“驱动”);创建连接:Connectionconn二DriverManager.getConnection(url,username,password);预执行(小推车)Statementstmt二;conn.createStatement();执行的语句:ResultSetrs二null;stmt.executeQuery();stmt.executeUpdate();释放资源:rs.close();stmt.close();conn.close();加载驱动Class.forName(“驱动”);建立连接Connectionconn二DriverManager.getConnection(url,username,password);mysqlurl1=”jdbc:mysql://ip:3306/test”;oracleurl2=”jdbc:oracle:thin:192.168.0.26:1521:tarena”;创建语句Statementstmt=;conn.createStatement();执行sql语句,如果有结果集的话,获得结果集DML(insert,update,delete)stmt.executeUpdate(sql);DQL(select)ResultSetrs二stmt.executeQuery();while(rs.next()){Intid二rs.getInt(“id”);Stringusername二rs.getString(“username”);(5)关闭资源45.JDBC中有哪几种分页策略,分别有什么优缺点?查询分页:每次查询都去数据库中查,多次与数据库进行交互,查询速度较慢缓存分页:一次性查询出所有数据,存储到ResultSet对象上,每次查询都去缓存中获取数据,查询速度较快,缺点占用存servlet是如何运行的?当用户向浏览器地址栏输入localhost:8080/servlet/login.do浏览器根据ip,port建立与服务器的连接。浏览器将请求数据(路径,参数)按照 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 打包,发送给服务器。服务器解析请求数据包,将请求数据封装到request对象中,同时服务器还创建了一个响应对象。服务器根据请求路径,查找对应的servlet,实例化该servlet。服务器调用servlet中的service()方法,调用该方法,服务器会传递request,response对象。程序员可以在servlet方法中,通过request对象获取请求数据并通过response对象给服务器返回处理结果。服务器通过response对象获取到servlet中的处理结果,生成响应的数据包,发送给浏览器。浏览器接收到相应数据包,解析响应数据包,取出处理结果,生成响应界面get与post请求的区别1)get请求的数据在资源路径中,post请求数据在主体容中,比较安全。get请求数据不能大于2K,post无限制。(2)get:超连接,直接在地址栏输入,默认提交方式。Post:method=”post”;servlet的生命周期当有请求servlet的时候,实例化该servlet的实例(只加载一次),实现初始化工作,调用init()方法(只初始化一次),调用service()方法,实现对请求的处理。当卸载servlet时候,会调用destory()方法。转发与重定向的区别(1)重定向目标地址可以是任意地址,转发的地址只能是应用部的web组件。(2)重定向地址栏改变,转发不改变。(3)重定向web组件之间不共享request对象的数据,转发共享。(4)转发是一件事情未完成,重定向是一件事情已经完成。某一个组件里的数据要带到下一个页面的时候用转发。重定向:/服务器的根请求转发:/项目的才艮只有转发使用绝对路径时,路径中只以“/”开头,其他都以“/项目名/”开头。cookie的工作原理浏览器在访问服务器时,服务器将一些数据以set-cookie消息头的形式发送给浏览器。浏览器会将这些数据保存起来。当浏览器再次访问服务器时,会将这些数据以cookie消息头的形式发送给服务器。通过这种方式,可以管理用户的状态。session的工作原理浏览器访问服务器时,服务器会创建一个session对象(该对象有一个唯一的id,一般称为sessionId),服务器在缺省情况下,会将sessionId以cookie机制发送给浏览器。当浏览器再次访问服务器时,会将sessionId发送给服务器。服务器依据sessionld就可以找到对应的session对象。jsp常用的指令有哪些?页面指令:<%pageimport=””%><%pagecontentType=”text/html;charset二utf-8”%>pageEncoding=””编码contentType=””MIME类型和编码import=””导入其他的包,该属性可以多次使用session=jsp是否创建sessionisELIgnored=””是否支持ELerrorPage:指定当前jsp错误处理页面isErrorPage:表示是否是错误处理页面标签库指令:<%taglib%>53.jsp的隐含对象jsp中的隐含9对象requestServletRequestresponseServletResponsesessionSessionapplication>ServletContext|->web.xml|->setAttribute,getArrtibute|->全局唯一后四个用的很少:out>response.getWriter();<%out.print()%>config>ServletConfigexception>Exceptionpagecontext>Object54.Jsp常用的标签有哪些?转发,page属性指定转发的地址。一个jsp在运行过程中,调用另外一个jsp。设置参数name指定参数名value指定参数值。在指定的围绑定一个对象。围指的是四个对象:pageContext,request,session,servletCOntext.也就是说scope的值可以是“page”,”request”,”session”,”application”.依据请求参数给属性赋值使用“自醒机制”给属性赋值55.什么是mvc?是一种软件架构的思想,可以将软件的组成部分化为三部分。M:model(业务逻辑与业务数据)javabeanV:view(显示逻辑)将数据按照用户的要求显示出来。对同一份数据而言,可以以多种形式体现(类表,屏图,柱图)C:controller(控制器,负责程序的流程控制)接收用户请求,根据业务逻辑的执行情况返回响应的结果,用servlet来实现。好处:(1)各司其职,解耦合(2)代码可重用前端控制器的工作指责:a,能够接受所有用户的请求。b,能根据请求的不同调用不同的处理MVC的大致执行顺序:用户发送请求---->获取用户的serlectpath>根据servletpath在配置文件中查找javabean的名字——>返回名字>execute>复杂业务计算>返回下一个页面的URL>根据URL转向下一个页面>把页面返回给用户56.ajax是什么?异步的xml和js,解决等待响应等待57.Struts2的流程浏览器发送请求,核心控制器根据FilterDispatcher根据请求决定调用合适的Action。WebWork的拦截器链自动对请求应用通用功能。回调Action的execute方法(可以是任意方法),该方法先获得用户的请求参数,然后执行某种数据操作,调用业务逻辑组组件来处理用户请求。Action的execute方法处理结果信息将被输出发送给浏览器。58.谈谈你对hibernate的理解hibernate是数据持久层的一个轻量级框架,是开源的。使用简介的hql语句。使用or映射,对象到关系数据库之间的映射。直接由对象直接映射到表。没有侵入性,移植性比较好。支持透明化。缺点:不适合大量数据批量操作,并且不能持久化对象不能映射到多表中。59.Hibernate中get方法与load方法的区别get方法如果数据库中没有记录,会返回null,get方法不支持懒加载(延迟加载)load方法如果数据库中没有记录,会抛出ObjectNotFoundException*load方法支持懒加载(延迟加载)60.oracle与mysql数据库的差别mysql是开源的,免费的,中型。oracle功能强大,性能好,安全性好,大型mysql使用数据库隔离,oracle使用用户隔离数据类型:数值:mysql使用的是int类型,Oracle使用的是number类型字符:varchar2是oracle独有的自增长:Mysql:auto_incrementOracle:sequence事务提交方式:Mysql:自动提交Oracle:commit分页:Mysql:使用limitOracle:使用rownum修改表名:(1)Renameemptonewemp(2)Altertableemprenametonewemp有哪几种SQL语言,分别包括哪些操作?DML(数据操纵语言):insert,update,deleteDDL(数据定义语言):create,alter,drop,truncateDCL(数据控制语言):grant,revokeDTL/TCL(事务控制语言):commit,Rollback,savepointDQL(数据查询语言):select事务的特征原子性:一个事务对数据的更新操作,要么全部执行,要么全部不执行一致性:事务执行之前和之后,数据库都保持一致性状态隔离性:并发的事务之间相互具备隔离性持续性:事务一旦提交,数据的变化将被持久化到数据库表*选择排序*/publicstaticvoidmain(String[]args){int[]arr={12,23,45,66,3,5};System.out.println(Arrays.toString(number(arr)));}publicstaticint[]number(int[]arr){//i的取值围:0〜arr.length-1//j的取值围:i+1〜arr.length
本文档为【java面试基础总结】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥15.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
lizheng
暂无简介~
格式:doc
大小:42KB
软件:Word
页数:30
分类:建筑/施工
上传时间:2022-12-17
浏览量:5