远景能源--电面
IO的基本操作;将c盘的一个文件内容一行一行打印到控制台
File f = new File("E:\\a.txt"); FileInputStream fi = null; try { fi = new FileInputStream(f); int len = 0; byte[] b = new byte[1024 * 1024]; String s = ""; while((len = fi.read(b)) > 0){ s += new String(b, 0, len); } System.out.println(s); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { fi.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } |
数据库为什么要用范式?
设计中更好的解决数据冗余,数据有效性检查,提高存储效率。
学生表里面,存在宿舍楼号,和其他宿舍信息,那么每次添加数据,都要去维护其他宿舍信息和宿舍表的内容,如果放在宿舍表里,就不用双边修改,减少数据冗余,提高存储效率。
static用在哪里,static代码块与main方法那个先执行
类加载过程,加载连接初始化,连接阶段,会为静态变量或者静态代码块分配内存空间,赋默认值,如果这种情况算执行顺序,static肯定先于main方法,如果不算,分两种情况,如果main方法和静态代码块在同一个类中,那么在执行运行指令后,当前类优先初始化,从上到下执行,先静态代码块和成员,然后静态方法是在类加载之后就可以运行,但是运行前必须进行加载连接初始化,即运行java test,test类首先进行初始化,从上到下,此时static块比main早;另外一个情况,如果main在A类,static在B类,main调用B类的构造函数new实例,此时main在B类static块之前执行
having 和where的区别,
having改善了where不能使用聚集函数的缺点,where用于查询结果前的条件设置,having用于group by结果后的条件设置
三个字段,学生、班级、成绩
查询出班级id,这个班级学生成绩大于等于90分的学生超过两个
select classid from t where grade >= 90 group by classid having count(sid) >= 2
前台参数怎么与后台交互
①通过表单,确定需要传递的参数name让用户输入,通过submit提交到后台
②通过JQuery封装的ajax传递参数,
$.ajax({
Type:post;
Data:{“roleId” : roleID};
url:
success
});
get和post的区别,
普通答案:
get把请求放在url上,以?分割url和数据,参数之间&相连,中文使用BASE64加密,用%加上两位16进制ASCII码表示;post把数据放在HTTP的请求体内
get提交的数据最大是2k,post理论没有限制,但取决与IIS的容量
get只能进行url编码,post支持多种编码
get请求参数会被完整保存在历史记录中,而post中的参数不会保留
get效率较post效率高
不普通答案:
Get和post其实本质上都是TCP连接,通过tcp来传输数据,没有什么区别,HTTP只是给他们一个标志,定义了协议规则,让GET把数据放到url中,post把数据放在请求体中,
get产生一个TCP包,浏览器会把http header和data一并发送,服务器响应200返回;post产生两个TCP包,浏览器先发送 header服务器响应100,浏览器再发送data,响应200
JVM JDK JRE什么区别
JVM:英文全称Java Virtual Machine,字面意思“Java虚拟机”,加载并运行class文件的软件
JRE:java运行时环境,包含了JVM和Java的一些常用的类库。JRE是运行java程序的最小环境
JDK:java开发工具包,包含JVM和JRE,还有将java文件变成.class文件的编译工具
SSM框架前后台怎么交互?
---见SSM框架原理,作用及使用方法
Webservice----restful?