JAVA程序员面试笔试宝典4
1.HTTP中GET与POST方法有什么区别?
- GET方法上传数据时,数据添加在URL后面。同时,数据大小有限制,通常在1024Byte左右。POST方法传递数据是通过HTTP请求的附件进行的,传递的数据量默认是不受限制的。
- GET方法存在安全隐患,而POST方法向服务器提交的内容在URL中并没有明文显示,对用户是不可见的,所以POST安全性更好一些。
2.cookie和session有什么区别
- cookie数据存放在客户的浏览器上,session数据保存在服务器上,因此session安全性更高。
- cookie性能更高一些,session在一定时间内保存在服务器上,因此当访问量增多时,会降低服务器性能。
- 单个cookie保存的数据不能超过4KB,而session不存在此问题。
3.什么是IoC
控制反转,有时也称为依赖注入,是一种降低对象之间耦合关系的设计思想。具体而言IoC有以下两个方面的优点:
- 通过IoC容器,开发人员不需要关注对象如何被创建,同时增加新类也非常方便,只需要修改配置文件即可实现对象的“热插拔”。
- IoC容器通过配置文件来确定需要注入的实例化对象,因此非常便于进行单元测试。
尽管如此,IoC也有自身的缺点:
- 对象通过反射实例化出来,对系统的性能有一定影响
- 创建对象的流程变得复杂
4.内连接与外连接有什么区别
内连接:返回的结果集选取了两个表所有相匹配的数据,舍弃了不匹配的数据。(可能造成信息丢失)
外连接:外连接不仅包含符合条件的所有数据行,而且还包括左表(左外连接)、右表(右外连接)或连个连接表中的所有数据行(全外连接)。
5.什么是事务
事务必须满足4个属性:
- 原子性:即当数据修改时,要么全执行,要么全不执行,即不允许事务部分的完成
- 一致性:一个事务执行前和执行之后,数据库数据必须保持一致性状态,例如银行转账
- 隔离性:多个事务并发执行时,将一个事务内部的操作与事务的操作隔离起来,不被其他正在进行的事务看到。例如,对事务T1和T2,T2要么在T1开始之前就已经结束,要么在T1完成之后再开始执行。
- 持久性:事务完成以后,对数据库中的修改是永久性的。
6.什么是游标?
游标提供了一种对从表中检索出的数据进行操作的灵活手段,它实际上是一种能从包含多条数据记录的结果集中每次提取一条记录的机制。
7.如果数据库日志满了,会出现什么情况
只能执行查询等读操作,不能执行更改等写操作,原因是任何写擦做都要记录日志。
8.什么是视图
在数据库中,存放的只是视图的定义,而不存放视图包含的数据项,这些项目仍然存放在原来的表结构中。
- 简化数据查询语句
- 使用户能从多角度看待同一数据
- 提高数据的安全性
- 提供了一定程度的逻辑独立性
JAVA程序员面试笔试宝典4的更多相关文章
- 《Java程序员面试笔试宝典》终于在万众期待中出版啦~
<Java程序员面试笔试宝典>终于在万众期待中出版啦~它是知名畅销书<程序员面试笔试宝典>的姊妹篇,而定价只要48元哦,恰逢求职季节,希望本书的出版能够让更多的求职者能够走进理 ...
- 《Java程序员面试笔试宝典》之为什么需要public static void main(String[] args)这个方法
public staticvoid main(String[] args)为Java程序的入口方法,JVM在运行程序的时候,会首先查找main方法.其中,public是权限修饰符,表明任何类或对象都可 ...
- 《Java程序员面试笔试宝典》之Java程序初始化的顺序是怎样的
在Java语言中,当实例化对象时,对象所在类的所有成员变量首先要进行初始化,只有当所有类成员完成初始化后,才会调用对象所在类的构造函数创建对象. Java程序的初始化一般遵循以下三个原则(以下三原则优 ...
- JAVA程序员面试笔试宝典1
1.为什么Java中有些接口没有任何方法? 这些没有任何方法声明的接口又被称为标识接口,标识接口对于实现它的类没有任何语义上的要求,它仅仅充当一个标识的作用,用来表明它的类属于一个特定的类型. 2.j ...
- 《Java程序员面试笔试宝典》之Static关键字有哪些作用
static关键字主要有两种作用:第一,只想为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关.第二,希望某个方法或属性与类而不是对象关联在一起,也就是说,在不创建对象的情况下就可以通过 ...
- 《Java程序员面试笔试宝典》之字符串创建与存储的机制是什么
在Java语言中,字符串起着非常重要的作用,字符串的声明与初始化主要有如下两种情况: (1) 对于String s1=new String("abc")语句与Strin ...
- 《Java程序员面试笔试宝典》之Java与C/C++有什么异同
Java与C++都是面向对象语言,都使用了面向对象思想(例如封装.继承.多态等),由于面向对象有许多非常好的特性(继承.组合等),使得二者都有很好的可重用性. 需要注意的是,二者并非完全一样,下面主要 ...
- 《Java程序员面试笔试宝典》之为什么Java中有些接口没有任何方法
由于Java不支持多重继承,即一个类只能有一个父类,为了克服单继承的缺点,Java语言引入了接口这一概念.接口是抽象方法定义的集合(接口中也可以定义一些常量值),是一种特殊的抽象类.接口中只包含方法的 ...
- 《Java程序员面试笔试宝典》之组合与继承有什么区别
组合和继承是面向对象中两种代码复用的方式.组合是指在新类里面创建原有类的对象,重复利用已有类的功能.继承是面向对象的主要特性之一,它允许设计人员根据其它类的实现来定义一个类的实现.组合和继承都允许在新 ...
- 《Java程序员面试笔试宝典》之switch使用时有哪些注意事项
switch语句用于多分支选择,在使用switch(expr)的时候,expr只能是一个枚举常量(内部也是由整型或字符类型实现)或一个整数表达式,其中整数表达式可以是基本类型int或其对应的包装类In ...
随机推荐
- Servlet+JSP 原理
Servlet是用Java编写的Server端程序,与协议和平台无关,可移植行较强. Servlet在编辑时须要导入特定的Servlet API 的包,类似于普通Java程序的写法. Servlet採 ...
- Ubuntu 16.04 + github page + hexo 搭建博客
1. 安装nodejs: sudo apt-get install nodejs-legacy 2.安装nvm : wget -qO- https://raw.github.com/creatio ...
- regulator_get 调用过程【转】
本文转载自:http://blog.csdn.net/u012719256/article/details/52083961 Touch panel DTS 分析(MSM8994平台,Atmel 芯片 ...
- mysql —— 利用Navicat 导出和导入数据库
Navicat for MySql 导出数据库方法: 打开Navicat for MySql,在要导出的数据库上面右击鼠标,点击“转储SQL 文件”→“数据和结构”. 找到合适的路径,点击“保存”. ...
- Linux查找和替换目录下所有文件中字符串(转载)
转自:http://rubyer.me/blog/1613/ 单个文件中查找替换很简单,就不说了.文件夹下所有文件中字符串的查找替换就要记忆了,最近部署几十台linux服务器,记录下总结. 查找文件夹 ...
- bzoj 1660: [Usaco2006 Nov]Bad Hair Day 乱发节【单调栈】
开一个单调递减的单调栈,然后用sum数组维护每个点的答案,新加点的时候一边退栈一边把退掉的点的sum加进来 #include<iostream> #include<cstdio> ...
- $Hdu1381\ Crazy\ Search$
前置芝士 :string 的 基本用法 string s = "hello world" ; string tmp(s,0,5) ; cout << tmp <& ...
- Hdu 5285 wyh2000 and pupil (bfs染色判断奇环) (二分图匹配)
题目链接: BestCoder Round #48 ($) 1002 题目描述: n个小朋友要被分成两班,但是有些小朋友之间是不认得的,所以规定不能把不认识的小朋友分在一个班级里面,并且一班的人数要比 ...
- 状压DP UVA 10817 Headmaster's Headache
题目传送门 /* 题意:学校有在任的老师和应聘的老师,选择一些应聘老师,使得每门科目至少两个老师教,问最少花费多少 状压DP:一看到数据那么小,肯定是状压了.这个状态不好想,dp[s1][s2]表示s ...
- Git学习笔记(2)-创建仓库
一.Git简介 1.Git是什么 Git是分布式版本控制系统 2.Git有什么特点 (1)Git是分布式的SCM,SVN是集中式的 (2)Git每个历史版本存储完整的文件,SVN存储文件差异 (3)G ...