java面试
monody666
这个作者很懒,什么都没留下…
展开
-
对面向对象的理解
面向对象有三大特性,封装、继承和多态。 封装就是将一类事物的属性和行为抽象成一个类,使其属性私有化,行为公开化,提高了数据的隐秘性的同时,使代码模块化。这样做使得代码的复用性更高。 继承则是进一步将一类事物共有的属性和行为抽象成一个父类,而每一个子类是一个特殊的父类--有父类的行为和属性,也有自己特有的行为和属性。这样做扩展了已存在的代码块,进一步提高了代码的复用性。 ...转载 2018-12-16 22:31:49 · 121 阅读 · 0 评论 -
tcp三次握手 tcpudp区别
3次握手第一次握手:主机A发送位码为syn=1,随机产生seq number=x的数据包到服务器,客户端进入SYN_SEND状态,等待服务器的确认;主机B由SYN=1知道,A要求建立联机;第二次握手:主机B收到请求后要确认联机信息,向A发送ack number(主机A的seq+1),syn=1,ack=1,随机产生seq=y的包,此时服务器进入SYN_RECV状态;第三次握手:主机A收...转载 2019-03-17 01:20:40 · 210 阅读 · 0 评论 -
事务控制语言(DTL)
什么是事务通常,在此之前,我们说,一条语句使用一个分号(;)来结束,并得到执行。 那么我们说,这个“一次性执行”的过程,可以称为“一个事务”。 简单来说,“一条sql语句,就是一个事务”。 则: 数据库(自然包括mysql数据库)中的事务,是指,可以将“多条语句”的执行,当作“一条语句”来看到的一种内部机制。即:“事务”是一种可以保证“多条语句一次性执行完成”或“一条都不执行”的机制。...转载 2019-03-17 01:27:33 · 318 阅读 · 0 评论 -
Java中的String,StringBuilder,StringBuffer三者的区别
首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String String最慢的原因: String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。以下面一段代码为例:1 ...转载 2019-03-17 01:32:22 · 79 阅读 · 0 评论 -
spring特点
一、非侵入式编程 Spring框架的API不会再业务逻辑上出现,即业务逻辑是POJO(Plain Ordinary Java Object)。由于业务逻辑中没有Spring的API,所以业务逻辑可以从Spring框架快速的移植到其他框架。二、容器Spring作为一个容器,可以管理对象的生命周期、对象与对象之间的依赖关系。可以通过配置文件来定义对象,以及设置其他对象的依赖关系。...转载 2019-03-17 01:39:44 · 119 阅读 · 0 评论 -
冒泡排序
原理:比较两个相邻的元素,将值大的元素交换至右端。/** 冒泡排序*/public class BubbleSort { public static void main(String[] args) { int[] arr={6,3,8,2,9,1}; System.out.println("排序前数组为:"); for(int num:arr){ ...转载 2019-03-17 01:44:47 · 219 阅读 · 0 评论 -
二叉树遍历
转载 2019-03-17 01:49:21 · 107 阅读 · 0 评论 -
final、finally与finalize的区别
final当用final修饰类的时,表明该类不能被其他类所继承。当我们需要让一个类永远不被继承,此时就可以用final修饰,但要注意:final类中所有的成员方法都会隐式的定义为final方法。final成员变量表示常量,只能被赋值一次,赋值后其值不再改变。类似于C++中的const。 当final修饰一个基本数据类型时,表示该基本数据类型的值一旦在初始化后便不能发生变化;如果f...转载 2019-03-17 02:00:18 · 204 阅读 · 0 评论 -
数据库表连接
表的连接分成好几种类型。内连接(inner join) 外连接(outer join) 左连接(left join) 右连接(right join) 全连接(full join) 很容易看出,一共有四种处理方法。 只返回两张表匹配的记录,这叫内连接(inner join)。 返回匹配的记录,以及表 A 多余的记录,这叫左连接(left join)。...转载 2019-03-17 02:03:18 · 6631 阅读 · 2 评论 -
java 堆和栈的区别
1,在栈中存放的是基本类型变量和对象的引用变量,当一段代码定义一个变量时,java就在栈内为这个变量分配内存空间,当超过变量的作用域时,java会自动回收分配的内存。 局部变量在栈内存2,堆内存放的是new创建的对象和数组,有java jvm的垃圾回收器来管理。同时会在栈内定义一个特殊变量,让这个变量的取值等于数组或对象在堆内的首地址,这个特殊变量就成了引用变量。...转载 2019-03-17 02:06:21 · 136 阅读 · 0 评论 -
jdbc
JDBC代表Java数据库连接(Java Database Connectivity),它是用于Java编程语言和数据库之间的数据库无关连接的标准Java API,换句话说:JDBC是用于在Java语言编程中与数据库连接的API。JDBC库包括通常与数据库使用相关,如下面提到的每个任务的API - 连接到数据库 创建SQL或MySQL语句 在数据库中执行SQL或MyS...转载 2019-03-17 01:14:22 · 118 阅读 · 0 评论 -
对mvc的简单理解
MVC是Model—View—Controler的简称。即模型—视图—控制器。MVC是一种设计模式,它强制性的把应用程序的输入、处理和输出分开。 MVC中的模型、视图、控制器它们分别担负着不同的任务。视图: 视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并接受用户的输入。视图不进行任何业务逻辑处理。 模型: 模型表示业务数据和业务处理。相当于JavaBean。一个模型能为多...转载 2019-01-03 23:42:59 · 271 阅读 · 0 评论 -
Servlet生命周期
Servlet生命周期可以分成四个阶段:加载和实例化、初始化、服务、销毁。 当客户第一次请求时,首先判断是否存在Servlet对象,若不存在,则由Web容器创建对象,而后调用init()方法对其初始化,此初始化方法在整个Servlet生命周期中只调用一次。 完成Servlet对象的创建和实例化之后,Web容器会调用Servlet对象的service()方法来处理请求。 当Web容...转载 2019-01-03 23:33:06 · 105 阅读 · 0 评论 -
java重载与重写区别
重载,在一个类定义中,可以编写几个同名的方法,但是只要它们的签名参数列表不同,Java就会将它们看做唯一的方法。简单的说,一个类中的方法与另一个方法同名,但是参数表不同,这种方法称之为重载方法。重写当一个子类继承一父类,而子类中的方法与父类中的方法的名称,参数个数、类型都完全一致时,就称子类中的这个方法重写了父类中的方法。...转载 2018-12-16 22:31:29 · 112 阅读 · 0 评论 -
string类的方法
1、求字符串长度public int length()//返回该字符串的长度1 String str = new String("asdfzxc");2 int strlength = str.length();//strlength = 72、求字符串某一位置字符public char charAt(int index)//返回字符串中指定位置的字符;注意字符串中第一个字符索引是0...转载 2019-01-03 18:44:14 · 144 阅读 · 0 评论 -
线程的生命周期
新当我们使用new运算符创建一个新的Thread对象时,线程状态是New Thread。此时,线程不活动,它是Java编程内部的状态。可运行当我们在Thread对象上调用start()函数时,它的状态被更改为Runnable。控制权被赋予Thread调度程序以完成它的执行。是否立即运行此线程或在运行之前将其保留在可运行的线程池中,取决于线程调度程序的OS实现。运行当线程正在执行...转载 2019-01-03 19:18:34 · 127 阅读 · 0 评论 -
多线程
1. 进程和线程之间有什么不同?一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是一个包含了不同的类和程序的单一进程。线程可以被称为轻量级进程。线程需要较少的资源来创建和驻留在进程中,并且可以共享进程中的资源。2. 多线程编程的好处是什么?在多线程程序中,多个线程被并发的执行以提高程序的效率...转载 2019-01-03 19:19:04 · 126 阅读 · 0 评论 -
servlet
1、servlet生命周期初始化:web容器加载servlet,调用init()方法;处理请求:允许service()方法,service()自动运行与请求对应的doXXX方法(doGet或doPost) 销毁:服务结束后,web容器调用servlet的distory()方法销毁servlet2、jsp与servlet 有什么区别。jsp在本质上就是servlet,但是两者的创...转载 2019-01-03 20:05:59 · 167 阅读 · 0 评论 -
springmvc流程
用户请求通过http协议到达前端控制器,前端控制器将请求代理给控制器。控制器处理业务逻辑生成业务数据返还给前端控制器。前端控制器将业务数据分发给业务视图, 呈现用户页面,将呈现好的用户页面返还给前端控制器。前端控制器将用户页面返回给用户。...原创 2019-01-03 21:47:04 · 142 阅读 · 0 评论 -
数据库索引的作用
为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二,可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。第四,在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第五,通过使用索引,可以在查...转载 2019-01-03 22:36:35 · 10670 阅读 · 0 评论 -
hashmap
哈希表:相比上述几种数据结构,在哈希表中进行添加,删除,查找等操作,性能十分之高,不考虑哈希冲突的情况下,仅需一次定位即可完成,时间复杂度为O(1),接下来我们就来看看哈希表是如何实现达到惊艳的常数阶O(1)的。 我们知道,数据结构的物理存储结构只有两种:顺序存储结构和链式存储结构(像栈,队列,树,图等是从逻辑结构去抽象的,映射到内存中,也这两种物理组织形式),而在上面我们提到过,在数组中...转载 2019-01-03 23:06:17 · 127 阅读 · 0 评论 -
ajax实现原理
jax的使用及实现步骤 (1) 创建XMLHttpRequest对象,也就是创建一个异步调用对象. (2) 创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息. (3)设置响应HTTP请求状态变化的函数. (4)发送HTTP请求. (5)获取异步调用返回的数据. (6)使用JavaScript和DOM实现局部刷新.以下步骤,如果不能理解你死...转载 2019-01-03 23:32:28 · 212 阅读 · 0 评论