-
面向对象的基本特征?分别什么含义
封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。
继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。
多态:多态性是指允许不同类的对象对同一消息作出响应。 -
重载和重写的区别?
重载:在同一个类中,方法名相同,参数不同(个数或类型不同),返回值和访问级别无关,称为重载。
重写:在子类继承父类的方法,方法名相同,参数名相同,参数相同,返回值相同,访问级别不低于父类,称为重写。 -
什么是动态?
- 能法实现搜索、购买、登录等交互功能
- 能对静态页面的内容进行实时更新
-
什么是装箱和拆箱?
- 把值类型转换成引用类型,称为装箱
- 把引用类型转换成值类型,称为拆箱
-
泛型如何使用,举例说几个泛型集合?
- List泛型集合:
List<类型> 集合名 = new ArrayList<类型>();
- Map泛型集合:
Map<键的类型,值的类型> map = new HashMap<键的类型,值的类型>();
- List泛型集合:
-
基本数据类型有哪些?
整型:byte,short,int,long
浮点数:float,double
布尔型:boolean
字符型:char -
值传递(传值)和引用传递(传址)的区别?
值传递:指的是在方法调用时,传递的参数是按值的拷贝传递,传递的是值的拷贝,也就是说传递后就互不相关了。
引用传递:指的是在方法调用时,传递的参数是按引用进行传递,其实传递的引用的地址,也就是变量所对应的内存空间的地址。传递的是值的引用,也就是说传递前和传递后都指向同一个引用(也就是同一个内存空间)。 -
字节流和字符流的区别?
-
接口和抽象类的区别?
参数 接口 抽象类 声明 接口使用interface关键字声明 抽象类使用abstract关键字声明 实现 子类使用implements关键字来实现接口。它需要提供接口中所有声明的方法的实现 子类使用extends关键字来继承抽象类。如果子类不是抽象类的话,它需要提供抽象类中所有声明的方法的实现 构造器 接口不能有构造器 抽象类可以有构造器 访问修饰符 接口方法默认修饰符是public。并且不允许定义为 private 或者 protected 抽象类中的方法可以是任意访问修饰符 多继承 一个类可以实现多个接口 一个类最多只能继承一个抽象类 字段声明 接口的字段默认都是 static 和 final 的 抽象类的字段声明可以是任意的 -
Mysql,sqlserver,Oracle三种数据库的区别?
-
分页怎么做(思路代码)?
- 放入参数:当前第几页,每页多少条。
- 计算出要分页的条数(共计条)select count(*) from 表名
- 算出总页数:总页数=总条数/每页条数 如果有余数,需要加一页
- 根据当前页,算出上页,下页, 上页=当前页-1;判断,如果上页<1,则上页=1;判断:如果下页>尾页,则下页=尾页
- 查询当前页的数据:
- sqlserver:top关键字
- Oracle:rownum关键字
- mysql:limit关键字
- 在页面显示当前页面数据,首页,上页,下页,尾页,以及共多少条,多少也,当前第几页等。
-
上传图片注意事项?
-
使用SmartUpload组件需要在项目中引入jspsmartupload.jar文件
-
将japsmartupload.jsp添加到WEB-INF\lib目录下
-
需要设置表单的enctype属性
<form enctype="multipart/form-data" method="post">
-
-
转发和从定向的区别,代码?
- 转发是在服务器端发挥作用,通过forward方法将提交信息在多个页面进行传递
- 转发是在服务器内部控制权的转移,客户端浏览器地址栏不会显示转向后的地址
request.getRequestDispatcher("login.jsp");
- 重定向是在客户端发挥作用,通过请求新的地址实现页面跳转
- 重定向是在客户端的转移,客户端浏览器地址栏显示转向后的地址
response.sendRedirect("login.jsp");
-
9大内置对象的概念和含义?
- request:请求【客户端发出请求】
- response:响应【服务器端作出的响应】
- pageContext:页面上下文【当前页面共有资源的对象】
- session:会话【每个用户创建一个,从第一个访问,到最后一次访问30分钟】
- application:应用【整个项目只有一个对象,可以共享资源】
- config:servlet配置【通过配置,可以获取servlet参数】
- out:输出【在页面输出html代码】
- page:页面【当前页面】
- throwable:异常
-
Cookie和session的区别?
- session是在服务器保存用户信息,Cookie是在客户端保存用户信息
- session中保存的对象,Cookie保存的是字符串
- session随会话结束而关闭,Cookie可以长期保存在客户端
- Cookie通常用于保存不重要的用户信息,重要的信息使用session保存
-
session和application的区别?
-
请求request和响应response的区别?
客户端发出请求
服务器端作出的响应 -
pageContext,request,session,application的区别?
-
List集合和Set集合的区别?
List存放的顺序和放入的顺序一致,称有序集合,可重复
Set存放的顺序和放入的顺序不一致,称无序集合,不可重复 -
ArrayList和LinkedList的区别?
ArrayList是队列,先进先出,存放的顺序和取出的顺序一致。 遍历(查询)速度快,添加,删除慢
ArrayList是链表,能从一个对象找到下一个对象 添加,删除快,遍历(查询)速度慢 -
写一个冒泡排序的例子
public void bubbleSort(int[] arr) { int temp = 0; boolean swap; for (int i = arr.length - 1; i > 0; i--) { // 每次需要排序的长度 // 增加一个swap的标志,当前一轮没有进行交换时,说明数组已经有序 swap = false; for (int j = 0; j < i; j++) { // 从第一个元素到第i个元素 if (arr[j] > arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; swap = true; } } if (!swap){ break; } } }
-
jdbc连接数据库进行查询?
public ResultSet query(String sql, Object... args) { open(); try { PreparedStatement ps = conn.prepareStatement(sql); if (args != null) { for (int i = 0; i < args.length; i++) { ps.setObject(i + 1, args[i]); } } ResultSet rs = ps.executeQuery(); return rs; } catch (SQLException e) { e.printStackTrace(); } return null; }
-
jdbc连接数据库进行修改?
public boolean execute(String sql, Object... args) { open(); try { PreparedStatement ps = conn.prepareStatement(sql); if (args != null) { for (int i = 0; i < args.length; i++) { ps.setObject(i + 1, args[i]); } } return ps.executeUpdate() > 0; } catch (SQLException e) { e.printStackTrace(); } finally { close(); } return false; }
-
异常处理的五个关键字,及使用方法?
try,catch,finally,thorw,thorws
-
面向对象编程和面向过程编程的区别?
- 面向对象:优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护;缺点:性能比面向过程低
- 面向过程:优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素;缺点:没有面向对象易维护、易复用、易扩展
数据库:
添加:
insert into 表(列1,列2) values(值1,值2)
insert into 表 values(值1,值2)
删delete from 表 where 条件 (一般都是主键=值)
查询select * from 表 where 条件
查询前5条select top 5 * form 表
where条件id=1//精确查询
模糊查询likename like '张%'查询性张的
范围查询in:id in (1,3,5) id在1、3、5三个值的范围内
not in :id not in (1,3,5) id不在1、3、5三个值的范围内
between...and:id between 3 and 5(在3-5范围内)
列 between 时间1 and 时间2(在两个时间段内)
>或<:id>=3 and id <= 5
排序 order by 列:升序order by 列(asc)
降序order by 列 desc
子查询:select * from 表 where id in (select id form 表 where 条件)
连接查询:select * from a,b where a.aid = b.aid;
inner join内连接:select a.id,b.name from a inner join b on a.id = b.aid;
left join左连接:select a.aid,b.name from a left jion b on a.id = b.aid;
right join右连接:select a.id,b.name from a right join b on a.aid=b.aid;
full join 全连接:select a.id,b.name form a full join b on a.aid = b.aid;
修改
update 表 set 列=值,列2=值2 where 主键=值
update users set uname='xxx',pwd='yyy' where userid = 1
去重查询:select dictinct(ename) from emp;
合并查询:select * from emp where sex = '男'
union select * from emp where age < 20
数据的三大范式怎么划分。
建数据库 create database 数据库名
建表,含主键,非空,唯一索引,外键,检查,默认值约束
查询总条数count(),最大值max,最小值min,平均值avg
mysql,Oracle,SQL server三种数据库的区别
标签:面试题,java,查询,aid,抽象类,where,id,select From: https://www.cnblogs.com/wenyuan519/p/18205727