Java面试题复习笔记(数据库)】的更多相关文章

1.数据库分类? 关系型数据库和非关系型. 常用关系型:Myspl.Oracle.SQLServer 非关系型:Redis.Hadoop.Memcache.Mogobd 2.关系数据库三范式? 范式就是设计数据库表时要遵循的规范. 要想满足第二范式必须先满足第一范式,要想满足第三范式必须先满足第二范式. 第一范式(1NF):数据表的每一列都是不可分割的数据项,同一列中不能有多个值(或者说不能有两个表示属性相同的列),即实体中的某个属性不能有多个值或者不能有重复属                 …
1.Http中get和post请求的区别? 共同点:都是Http请求方式,用户可以通过不同的请求方式完成对资源(Url)的操作.具体来讲就是get一般用于获取/查询资源信息,post用于更新资源信息. 增,删,改,查——put.delete.post.get 区别: (1)get请求的数据会在地址栏显示出来,而post不会. 原因:get提交,请求的数据会附在Url之后,以?分割Url和数据,多个参数之间用&连接:post提交的数据放在Http包的包体中. (2)传输数据大小不同. 原因:浏览器…
1.什么是框架? 为解决一个开放性问题而设计的具有一定约束性的支撑结构,再次结构上可以根据具体问题扩展,安插更多的组成部分,从而更迅速和方便地构建完整解决问题的方案. 2.MVC模式? 用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑. 最简单的:JSp(View)+Servlet(Controller)+JavaBean(model) 工作流程: (1)控制器收到来自用户的请求 (2)控制器调用Jav…
1.Html,CSS,Jsp在网页开发中的定位? Html——定义网页结构(超文本标记语言) CSS——层叠样式表,用来美化界面 Jsp——主要用来验证表单,做动态交互(Ajax) 2.介绍Ajax? 是异步的Jsp和xml 作用:使用Ajax可以不刷新界面就能动态交互 实现:AjaxXmlHttpRequest对象,使用这个对象可以异步向服务器发送请求,获取响应,完成局部更新:Open send response Text/responseXml局部响应 使用场景:登陆失败不跳转界面,注册时提…
Java二次复习笔记(1) Java采用的默认字符编码集是Unicode. byte=byte+byte报错,值为int,而byte+=byte不报错.同样short = short+short报错,值为int:short += short不报错. float和double小数计算有时会出现误差,原因是计算机底层为二进制,有些小数无法用二进制准确表示.如:0.5可以用2的-1次表示,0.3则无法用二进制表示. static方法是类级别的:非static方法是对象级别的. 对象可以 -> new一…
前言 纵观几年来的Java面试题,你会发现每家都差不多.你仔细观察就会发现,HashMap的出现几率未免也太高了吧!连考察的知识点都一样,什么hash碰撞啊,并发问题啊!再比如JVM,无外乎考内存结构,GC算法等!因此,如果是为了面试,完全是有套路可以准备的!记住,基础再好,也架不住面试官天马行空的问,所以刷面试题还是很有必要的! 1.Map 的底层结构?(HashMap) 评注:老题目了,各位面试的人员必须熟记! 回答:Map是以键值对来存储对象的,它的底层实际上是数组和链表来组成的,经典的一…
61.jdbc的操作步骤 加载驱动:Class.forName("oracle.jdbc.driver.OracleDriver"); 创建连接:Connection con =DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "tiger"); 创建查询语句:PreparedStatement ps = con.prep…
51.实现多线程的方法 一种是继承Thread类:另一种是实现Runnable接口.两种方式都要通过重写run()方法来定义线程的行为,推荐使用后者,因为Java中的继承是单继承,一个类有一个父类,如果继承了Thread类就无法再继承其他类了,显然使用Runnable接口更为灵活.5以后还有Callable接口,该接口的call方法在线程结束时产生一个返回值. 52.举例说明同步和异步 答:如果系统中存在临界资源(资源数量少于竞争资源的线程数量的资源),例如正在写的数据以后可能被另一个线程读到,…
转自于:https://zhuanlan.zhihu.com/p/39804394 1.MySQL的delete与truncate区别? 回答:delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行回滚操作,不清空AUTO_INCREMENT记录数: truncate则直接将表删除并重新建表,不会把单独的删除操作记录记入日志保存,删除行是不能恢复的,AUTO_INCREMENT将置为0,效率比delete高. 2.MySQL的存储过程是什么?…
71.如何通过反射创建对象? 方法1:通过类对象调用newInstance()方法,例如:String.class.newInstance()  方法2:通过类对象的getConstructor()或getDeclaredConstructor()方法获得构造器对象并调用其newInstance()方法创建对象 72.如何通过反射获取和设置对象私有字段的值? 可以通过类对象的getDeclaredField()方法字段(Field)对象,然后再通过字段对象的setAccessible(true)…
41.阐述final.finally.finalize的区别 final:修饰符(关键字)有三种用法:如果一个类被声明为final,意味着它不能再派生出新的子类,即不能被继承,因此它和abstract是反义词.将变量声明为final,可以保证它们在使用中不被改变,被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取不可修改.被声明为final的方法也同样只能使用,不能在子类中被重写. - finally:通常放在try…catch…的后面构造总是执行代码块,这就意味着程序无论正…
31.内部类可以引用它的外部类的私有成员吗? 可以,内部类对象可以访问创建它的外部类对象的成员 32.final关键字有哪些用法? 修饰类时该类不能被继承,修饰方法时,该方法不能被重写,修饰变量时表示为常量 33.java创建对象时构造器调用顺序? 先初始化静态成员(只会初始化一次),然后调用父类构造器,再初始化非静态成员,最后调用自身构造器. class A { static { System.out.print("Astatic"); } public A() { System.o…
21.静态嵌套类和内部类的不同? 答:静态嵌套类是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化.而通常的内部类需要在外部类实例化后才能实例化.//还是考的static的知识 下面的代码哪些地方会产生编译错误? class Outer { class Inner {} public static void foo() { new Inner(); } public void bar() { new Inner(); } public static void main(St…
//我又回来了 11.数组有没有length()方法?String有没有length()方法? 数组只有length属性,String有length()方法.注意:JavaScript获取字符串长度使用length属性.//写个数组和字符串,再来个点+(alt+/)来看看 12.Java中,如何跳出当前的多重嵌套循环? 在最外层前加上标记然后用“break 标记”,可以跳出多重循环. 13.构造器(constructor)是否可被重写(override) 当然不能了,构造器都不能被继承,所以不能…
//基础最重要,如果面试官问一个答不上一个,那有难度的都都不用问了,直接就pass了,就像我,嘿嘿. //每天最好熟记10个问题,这些问题在编程是会很厚帮助,帮你避免很多不应该出现的错误. 一.面向对象的特征 先说说啥叫面向对象.这个对象可不是你谈的那个对象啊.我还记的我刚学Java的时候,老师说:“万物皆对象,但如果你敢在面试官面前这样说,就别想被录取了”.万物皆对象有点假大空的意思.解释对象时最好具体为一类事物.面向对象就是考虑这类对象具有的属性和功能.比面向过程更容易扩展补充. 抽象:抽象…
1.面向对象的特征主要有哪些?   封装.继承.多态.抽象 2.final.finally.finalize的区别? final主要用于修饰类.方法.属性(变量)等. 通常被final修饰的类不能够被继承. 被final修饰的方法不能够重写. 被final修饰的变量是常量(赋值后,其值不再改变). finally是在异常处理时提供finally块来执行任何清除操作,不管有没有异常抛出或者捕获,finally最后都会被执行. finalize是一个方法名. 3.Exception.Error.运行…
1.java 反射的作用(好处): (1)能够使我们很方便的创建灵活的代码,这些代码可以在运行时装配(运行时获取一个类实例),就不用在组件之间进行源代码链接了,大大提高系统的灵活性和扩展性. (2)与Java动态编译相结合,可以实现无比强大的功能. 2.java的反射的负作用: (1)使用反射的性能较低 (2)使用反射相对来说不安全 (3)破坏了类的封装性,可以通过反射获取这个类的私有方法和属性 3.反射实现要做的事: (1)反编译:.class->.java (2)通过反射机制访问java对象…
1.有3 个表,表结构如下: Student 学生表(学号,姓名,性别,年龄,组织部门) Course 课程表(编号,课程名称) Sc 选课表(学号,课程编号,成绩).    1)写一个SQL 语句,查询选修了’计算机原理’的学生学号和姓名. select student.sno, student.sname from student left join sc on student.sno=sc.sno left join course on sc.cno=course.cno where co…
1.集合分四类:set,map,list,queue 位于java.util包下. 集合类和数组的区别,数组可以保存基本类型的值或者是对象的引用,而集合里只能保存对象的引用. 集合类主要由两个接口派生而出:Collection和Map collection集合里面一共10个可用的类. 其中, set里面4个: EnumSet, TreeSet, HashSet, LinkedHashSet Queue里面2个: ArrayDeque, PriorityQueue, List里面3个: Array…
1.字符串从概念上讲,Java字符串就是Unicode字符序列.Java没有内置的字符串类型,而是在标准Java类库中提供了一个预定义类,叫String. 每个用双引号括起来的字符串都是 String类的一个实例 子串(截取字符)String类的substring方法可以从一个较大的字符串提取出一个子串. public String substring(int beginIndex, int endIndex)第一个int为开始的索引,对应String数字中的开始位置,第二个是截止的索引位置,对…
1.数据类型包含八种基本类型,其中四种整形(int/short/long/byte),两种浮点类型(float/double), 一种用于表示Unicode编码的字符类型char,一种表示真值的boolean类型整形大小排序long(接近正无穷)>int(2147483647)>short(32767)>byte (127)浮点类型大小排序 double>float 浮点计算建议使用BigDecima类 关于类型强转 整型值和布尔值之间不能进行相互转换 2.变量变量是指内存中的一个…
面向对象1.面向对象设计概述 1.1.面向对象是什么 面向对象是一种程序设计范型(简称OOP),是针对对象进行开发,简化开发过程的一种设计方式 1.2.类 类是构造对象的模板,相当于一个烘焙模板,而对象相当于烘焙出来的面包,而烘焙的过程被称为创建类的实例(instance) 封装 是将数据和行为组合在一个包中,并对对象的使用者隐藏了数据的实现方式. 对象中的数据被称为实例域(instance field), 操纵数据的过程被称为方法(method).实现封装的过程在于 绝对不能让类中的方法直接地…
此系列为面试笔试题的视频讲解,以下均为超链接,点击即可进入每个知识点的讲解. Java面试题01.面试的整体流程 Java面试题02.java的垮平台原理 Java面试题03.搭建一个java的开发环境 Java面试题04.java中int占几个字节 Java面试题05.java面向对象的特征 Java面试题06.装箱和拆箱 Java面试题07.==和equals的区别 Java面试题08.String Java面试题09.讲一下java中的集合 Java面试题10.ArrayList 和Lin…
前言 很多朋友对面试不够了解,不知道如何准备,对面试环节的设置以及目的不够了解,因此成功率不高.通常情况下校招生面试的成功率低于1%,而社招的面试成功率也低于5%,所以对于候选人一定要知道设立面试的初衷以及每个环节的意义,有的放矢... 通过现场分析互联网的JD,让面试者掌握分析公司对技术的要求和定位,进而知道自己是否适合该岗位以及应该如何准备.想提高面试成功率一定要了解公司的业务,去分析公司对应业务的站点了解他们使用的技术栈,进而去准备相关的知识,最后一小节关于自我介绍,大多数面试失败都是简历…
Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之间,海底光缆是如何横跨太平洋的.“所谓的铺设,就是直接扔进海里,只不过再扔之前需要勘探光缆经过的地区的年水流数据,海域水深等情况,基本都是扔在水比较浅且水流平稳的地区.”目前,同样有卫星无线通信. 网络通信的协议约束:通信协议的分层思想(编程的时候,无需了解光缆,还是宽带): 在网络编程中,有两个问…
Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图开始讲起.线程状态转换图.图很简单不要想得太复杂.了解了线程的基本的生命周期,那么我们要使用好它,就离不开了经常使用的几个方法:先来一段代码: public class TestSleep { public static void main(String[] args){ MyThread t =…
Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一个水桶上. 字节:字符:字:管道对01010的封装. java.io.*包中的类.类的分类.Java提供的流的这些类,可以帮你把原始的数据010101转换成字符串.为数据的读取提供了更强大的功能. 程序从文件中读010101的数据. inputStream和outputStream 一个字节是8位.…
Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String s2 = “hello”:结论:s1 == s2. 字符串常量放在data区. 3. String s3 = new String("hello"); String s4 = new String("hello");结论:s3 != s4.但s3.equals(s4).…
Java基础复习笔记系列之 数组 1.数组初步介绍? Java中的数组是引用类型,不可以直接分配在栈上.不同于C(在Java中,除了基础数据类型外,所有的类型都是引用类型.) Java中的数组在申明时,不能指定其长度.不同于C 数组的小标可以是整型常量或整型表达式. .length方法是显示数组的长度:数组.length;String.length();一个是属性,一个是方法.注意区分. 2.数组的内存分析? Array a[]; a = new Integer(15); /*这个a在栈中,在堆…
Java基础复习笔记基本排序算法 1. 排序 排序是一个历来都是很多算法家热衷的领域,到现在还有很多数学家兼计算机专家还在研究.而排序是计算机程序开发中常用的一种操作.为何需要排序呢.我们在所有的系统中几乎都要检索数据,而这些欲检索的数据如果有规律的话,比如按照某些字段.属性降序排序的话,那么从这些有规律的数据查询结果或者结果集的话就快速得多. 2. 常用算法 常用的算法有:直接选择排序.堆排序.冒泡排序.快速交换排序.直接插入排序.折半插入排序.Shell排序.归并排序.桶式排序.基数排序.这…