自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(267)
  • 资源 (12)
  • 收藏
  • 关注

原创 51. 测试题(答案详析)

目录索引测试题201. redis操作string类型常用命令(至少5个)?2. redis操作hash类型常用命令(至少5个)?3. redis操作list类型常用命令(至少5个)?4. redis操作set类型常用命令(至少5个)?5. redis操作zset(Sorted Set)类型常用命令(至少5个)?6. maven中怎么解决jar包冲突,怎么保证jar包的版一致?7. session共享有什么方案,具体怎么实现?8. 介绍一下索引,索引有什么优缺点。9. MySQL中Int(10)和int(1

2020-11-21 15:43:41 131

原创 50. 测试题(答案详析)

面试题汇总,附有详细解析

2020-11-10 11:36:06 324

原创 53. sleep()和 wait() 有什么区别?

sleep() 与 wait() 相同点:两者都可以暂停线程的执行两者区别:类的不同,sleep() 是 Thread 线程类的静态方法,wait() 是 Object 类的方法。是否释放锁:sleep() 不释放锁;wait() 释放锁。用途不同:wait() 通常被用于线程之间的通信;sleep() 通常被用于暂停执行。用法不同:wait() 方法被调用后,线程不会自动苏醒,需要别的线程调用同一个对象上的notify() 或者 notifyall() 方法。sleep() 方法执行完成后,

2020-11-25 19:10:41

原创 52.为什么我们调用 start() 方法时会执行 run() 方法,为什么我们不能直接调用run()方法?

首先,new 一个Thread,线程进入了新建状态。调用 start() 方法,会启动一个线程并使线程进入了就绪状态,当分配到时间片就可以开始了。start() 方法会执行线程的相应准备工作,然后自动执行 run() 方法的内容,这是真正的的多线程工作。而直接执行run() 方法,会把run() 方法当成一个main() 线程下的普通方法去执行,并不会在某个线程中执行它,所以这并不是多线程工作。总结:调用start() 方法方可启动线程并使线程进入就绪状态,而run() 方法只是 thread() 的.

2020-11-25 17:34:55 1

原创 JavaScript入门——函数定义案例分析

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><script> /** * 函数: * 1. 绝对值函数 */ //定义方式1 function abs(x) { //手动抛出异常来判断

2020-11-13 14:48:35 22

原创 JavaScript——使用iterator遍历迭代map,set集合元素

代码演示:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><script> /** * 需求: * 使用iterator遍历迭代map,set集合 */ 'use strcit'; var array .

2020-11-13 14:23:07 11

原创 JavaScript——数据类型

数据类型数值,文本,图形,音频,视频变量var lanumber:js不区分小数整数123 //整数12312.1 // 浮点数12.11.123e3 //科学计数法-99 //负数NaN //not a numberInfinity //表示无限大字符串‘abc’“abc”布尔值truefalse逻辑运算&&||!比较运算符===:类型不一样,值一样,也会判断为true=

2020-11-12 22:05:51 12

原创 JavaScript基础语法入门——简单案例演示

多行注释与单行注释定义变量与变量类型条件控制语法浏览器控制台打印变量语法<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title><!--JavaScript严格区分大小写--> <script> /** * 多行注释 ..

2020-11-12 21:05:39 11

原创 52. 什么时候会发生类初始化?

52. 什么时候会发生类初始化?类的主动引用(一定会发生类的初始化)当虚拟机启动,先初始化main方法所在的类new一个类的对象调用类的静态成员(除了final常量)和静态方法使用java.lang.reflect包的方法对类进行反射调用当初始化一个类,如果其父类没有被初始化,则先会初始化它的父类类的被动引用(不会发生类的初始化)当访问一个静态域时,只有真正声明这个域的类才会被初始化。如:当通过子类引用父类的静态变量,不会导致子类初始化通过数组定义类引用,不会触发此类的初始化

2020-11-12 10:17:32 130 3

原创 51. 反射:Class类的创建方式有哪些?

反射:Class类的创建方式有哪些?代码演示如下:package test; /** * <p> * 反射: * Class类的创建方式有哪些? * </p> * @author 江湖@小小白 * @create 2020/11/11 15:09 */ public class Test { public static void main(String[] a

2020-11-12 08:38:00 21 1

原创 测试题10(答案解析)

1. MyBatis中collection和assosication区别?第一个是用来关联实体类的,第二个是用来关联集合的,也就是平时的一对一(assocication),一对多(collection)所以association是用于一对一和多对一,而collection是用于一对多的关系2. 什么是MyBatis的一级缓存和二级缓存?一级缓存Mybatis的一级缓存是指Session缓存。一级缓存的作用域默认是一个SqlSession。Mybatis默认开启一级缓存。也就是在同一个SqlSe

2020-11-11 10:38:31 81 2

原创 测试题09(答案解析)

数据库表的增删改查案例学生表:| 学号 | 姓名 | 专业 | 班级 |成绩表:| 学号 | 课程编号 | 成绩 |查找显示成绩表中"学号"字段的全部数据,要求查询结果中不包含重复记录select distinct 学号 from 成绩;在成绩表中,找出02号课程成绩中的最高分select max(成绩) from 成绩表 where 课程编号=‘02’ ;在学生表中找出姓刘或姓李的学生select *from 学生表 where 姓名 like ‘刘%’ or 姓名 like

2020-11-11 10:38:18 35

原创 测试题08(答案解析)

1. 数据库索引的作用及其索引原理作用:提高查询效率 全表扫描索引原理:采用某种数据结构存储索引,二叉树、平衡树、Hash表、BTree、B+Tree主键索引(聚集索引)、唯一索引、联合索引、普通索引create unique index 索引名(字段)...

2020-11-11 10:38:01 51

原创 测试题07(答案解析)

1.

2020-11-11 10:37:40 125

原创 测试题06(答案解析)

1. SpringMVC中常用的注解有哪些?@RequestMapping@ResponseBody@PathVariable@SessionAtrributes@Controller/@Service/@Repository/@Component/@Autowired/@Resource/@Value@ControllerController控制器是通过服务接口定义的提供访问应用程序的一种行为,它解释用户的输入,将其转换成一个模型然后将试图呈献给用户。@RequestMapp

2020-11-11 10:37:24 44

原创 测试题05(答案解析)

1. @Resource和@Autowired区别?@Resource(这个注解属于J2EE的),默认按照名称进行装配,名称可以通过name属性进行指定,如果没有指定name属性,当注解写在字段上时,默认取字段名进行安装名称查找,如果注解写在setter方法上默认取属性名进行装配。当找不到与名称匹配的bean时才按照类型进行装配。但是需要注意的是,如果name属性一旦指定,就只会按照名称进行装配。@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法

2020-11-11 10:37:06 63 1

原创 测试题11(答案解析)

1. InnoDB和MyISAM的区别InnoDB:支持事务、主外键,效率要低,(B+Tree)索引结构不同(索引和数据在一起)MyISAM:都不支持,效率高(索引和数据是分开)2. 使用synchronized修饰静态方法和非静态方法有什么区别类文件对象3. 高并发下,如何做到安全的修改同一行数据乐观锁:版本号 v 1悲观锁: select *from 表 where 条件 for update4. int和Integer有什么区别地址:https://blog.csdn.

2020-11-11 10:36:36 85 1

原创 测试题12(答案解析)

1. Ajax的状态码有哪些?readyState 属性表示Ajax请求的当前状态。它的值用数字代表。0 代表未初始化。 还没有调用 open 方法1 代表正在加载。 open 方法已被调用,但 send 方法还没有被调用2 代表已加载完毕。send 已被调用。请求已经开始3 代表交互中。服务器正在发送响应4 代表完成。响应发送完毕常用状态码(status)及其含义:404 没找到页面(not found)403 禁止访问(forbidden)500 内部服务器出错(intern

2020-11-11 10:36:14 68

原创 测试题14(答案详析)

1. SpringMVC的执行流程Dispatcher->HandlerMapping->HanderAdapter->Handler->ViewResolver->View2. Integer a= 128 与 Integer b = 128相等吗?不相等,两个不同的对象3. Mybatis的一级、二级缓存一级缓存Mybatis的一级缓存是指Session缓存。一级缓存的作用域默认是一个SqlSession。Mybatis默认开启一级缓存。也就是在同一个Sq

2020-11-11 10:35:46 40

原创 循环结构(代码示例详析)
原力计划

循环结构程序中的循环概念:通过某个条件,重复执行一段逻辑代码while循环语法:​ while(布尔表达式) {​ //逻辑代码(循环操作)}执行流程:先对布尔表达式进行判断,结果为true,则执行了逻辑代码本次执行完毕后,再次进行判断,结果仍为true,则再次执行逻辑代码直至布尔表达式的结果为false时,才会退出循环结构,执行后续代码循环的组成package demo;public class TestWhile { public sta

2020-11-11 10:35:18 586

原创 测试题04(答案详析)

1. 数据库的隔离级别有哪些?isolation 隔离级别名称描述default(默认值)(采用数据库的默认的设置) (建议)read-uncommited读未提交read-commited读提交 (Oracle数据库默认的隔离级别)repeatable-read可重复读 (MySQL数据库默认的隔离级别)serialized-read序列化读隔离级别由低到高为:read-uncommited < read-commited &l

2020-11-10 14:37:36 80

原创 java_方法介绍(实例分析)

方法方法概念:实现特定功能的一段代码,可反复使用定义语法:​ public static void 方法名称(){​ //方法主体}经验:将需要多个位置重复使用的一组代码,定义在方法内部定义的位置://位置1public class TestDefinitionFunction { //位置2 public static void main(String[] args) { //位置3 } //位置4}//位置5正确位置:

2020-11-10 14:34:19 65

原创 测试题03(答案详析)

1. Spring 是什么?Spring是一个项目管理框架,同时也是一套Java EE解决方案。Spring是众多优秀设计模式的组合(工厂、单例、代理、适配器、包装器、观察者、模板、策略)。Spring并未替代现有框架产品,而是将众多框架进行有机整合,简化企业级开发,俗称"胶水框架"。官方网站:https://spring.io/下载地址:http://repo.spring.io/release/org/springframework/spring/2. 谈谈对Spring 的

2020-11-10 14:33:34 107 1

原创 测试题02(答案详析)

1. char 和 varchar 的区别是什么?char 的长度是固定的,而varchar2的长度是可以变化的, 比如,存储字符串“abc",对于char (10),表示你存储的字符将占10个字节(包括7个空字符),而同样的varchar2 (10)则只占用3个字节的长度,10只是最大值,当你存储的字符小于10时,按实际长度存储。char的效率比varchar2的效率稍高。目前varchar是varchar2的同义词。工业标准的varchar类型可以存储空字符串,但是oracle不这样做,尽管它

2020-11-10 14:33:15 43

原创 测试题01(答案详析)

1. jsp有哪些内置对象?作用分别是什么内置对象对应Servlet类作用requestjavax.servlet.http.HttpServletRequest客户端的请求信息:Http协议头信息、Cookie、请求参数等responsejavax.servlet.http.HttpServletResponse用于服务器响应客户端请求返回数据pageContextjavax.servlet.jsp.PageContext页面的上下文sessionj

2020-11-10 14:32:46 230

原创 测试题15(答案详析)

1 如何实现数组和 List 之间的转换1.1 数组转List:使用Arrays.asList(array) 进行转换1.2 List 转数组:使用自带的 toArray()方法代码示例://list to arrayList<String> list = new ArrayList<String>();list.add("123");list.add("456");list.toArray();//array to listString[] array =

2020-11-10 14:31:23 1755 7

原创 测试题16(答案解析)

测试题16(答案解析)1. 说一下 HashSet 的实现原理?HashSet 是基于HashMap 实现的,HashSet的值存放于 HashMap 的 key 上,HashMap 的 value 统一为 PRESENT,因此 HashSet 的实现比较简单,相关 HashSet 的操作,基本上都是直接调用底层 HashMap 的相关方法来完成,HashSet 不允许重复的值。2. HashSet 如何检查重复?HashSet 是如何保证数据不可重复的?向 HashSet 中add()添

2020-11-10 14:30:17 25

原创 测试题13-17汇总(答案解析)

day13测试1. SpringMVC的执行流程Dispatcher->HandlerMapping->HanderAdapter->Handler->ViewResolver->View2. Integer a= 128 与 Integer b = 128相等吗?不相等,两个不同的对象3. Mybatis的一级、二级缓存一级缓存Mybatis的一级缓存是指Session缓存。一级缓存的作用域默认是一个SqlSession。Mybatis默认开启一级缓存。也

2020-11-10 14:03:05 5194 1

原创 需求:采用 spring 将数据添加到数据库中,并将添加信息在控制台展示

1. 项目总览2. 运行结果3. 数据库成功插入数据

2020-10-13 20:47:39 39

原创 48. session 的实现原理

1. 什么是 session?session 是保存在服务器上的数据,用户不能私自进行修改,提高了安全性。session 是一种服务端存储信息的方式。2. session 原理session 是一种基于 cookie 的存储方法,通俗来说就是,session 负责存储数据,cookie 负责告诉后台,是哪一个数据。当建立一个新 session 时,向客户端下发一个 session-id,让客户端保存 session-id 在 cookie 中,下一次发起请求时,将 session-id 发回

2020-10-13 20:19:17 29

原创 47. cookie 实现原理

1. cookie概念Cookie是一段文本信息,客户端请求服务器时,如果服务器需要记录用户状态,就在响应用户请求时发送一段Cookie信息。客户端浏览器保存该Cookie信息,当用户再次访问该网站时,浏览器会把Cookie作为请求信息的一部分提交给服务器服务器检查 Cookie 内容,以此来判断用户状态,服务器还会对Cookie信息进行维护,必要时会对Cookie内容进行修改。2. Cookie的特点存储在浏览器中,浏览器记录上次请求的数据,下一次请求发给后台,并记录这次返回的信息,也可以

2020-10-13 19:58:14 22

原创 46. 执行以下程序的结果是什么?(答案详析)

1. 程序代码public class Test { private String name = "abc"; public static void main(String[] args) { Test test = new Test(); Test testB = new Test(); String result = test.equals(testB) + ","; result += test.name.equals(

2020-10-12 08:55:45 180 3

原创 45. JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?

jsp和servlet的区别和联系:jsp 经编译后就变成了 Servlet ( jsp 的本质就是 Servlet,JVM 只能识别 java 的类,不能识别 jsp 的代码,Web 容器将 jap 的代码编译成 JVM 能够识别的java类)。jsp更擅长表现于页面显示,servlet更擅长于逻辑控制。Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到。Jsp是Ser

2020-10-02 10:48:06 54

原创 44. 举例说明 sychronized 修饰符应用的场景

synchronized 关键字是JAVA中内置的语言级同步原语,可以通过使用这个关键字实现多线程间访问之间的同步。synchronized 关键字可以作为函数的修饰符,也可以直接在函数语句中使用,也就是平时说的同步方法和同步语句。从作用域上来看,它可以分为作用于某个实例对象内和某个类的范围内。也可以实现在类的范围内的某个方法的同步,或是让一个类的所有对象都在某个代码块的使用上同步: public synchronized static void test(){ } public class.

2020-10-02 10:42:18 744

原创 43.char 型变量能不能存储一个中文汉字,为什么?

java 采用 unicode ,2个字节(16位)来表示一个字符,无论是汉字还是数字字母,或其他语言。char 在 java 中是两个字节,所以,可以存储中文。

2020-10-02 10:33:24 43

原创 42. 同步和异步有何异同,在什么情况下分别使用它们?举例说明

如果数据将在线程间共享,例如正在写的数据以后可能被另外一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。...

2020-10-02 10:20:42 23

原创 41. 请简述 Servlet 的生命周期中的方法及作用

Servlet 生命周期分为三个阶段:(1)初始化阶段:调用 init() 方法(2)响应客户端请求阶段:调用 service() 方法(3)终止阶段:调用 destroy() 方法生命周期:Servlet 是一种可以在 Servlet 容器中运行的组件,那么理所当然就应该有一个从创建到销毁的过程,这个过程我们可以称之为 Servlet 生命周期。Servlet 的生命周期可以分为加载、实例化、初始化、处理客户请求和卸载五个阶段,体现在方法上主要是init()、service()、和destr

2020-10-02 10:14:15 83

原创 40. 递归排序算法面试选择题分享与分析

1. 线性表如果要频繁的执行插入和删除操作,该线程表采取的存储结构应该是()A. 散列B. 顺序C. 链式D. 索引答:C 链表无序,仅仅关联上一个数据以及下面的一个元素,不用进行遍历就可以查询,链表结构是查询慢,增删快。2. 在下列排序方法中,不稳定的方法有()A. 归并排序与基数排序B. 插进排序与希尔排序C. 堆排序与快进排序D. 选择排序与冒泡排序答:C3. 一个递归算法包括()A. 递归部分B. 终止条件和递归部分C. 迭代部分D. 终止条件和迭代部分答:B

2020-09-27 20:36:58 65

原创 39. 简单说明什么是递归?什么情况会使用?并使用 java 实现一个简单的递归程序

什么是递归?递归函数,通俗的讲就是函数本身自己调用自己,如n! = n(n - 1)!,定义函数 f(n) nf(n - 1),而f(n - 1)又是这个定义的函数,这就是递归。为什么要用递归?递归的目的是简化程序设计,使程序易读。递归的弊端虽然非递归函数效率高,但较难编程,可读性较差。递归函数的缺点是增加了系统开销,也就是说,每递归一次,栈内存就多占用一截。递归的条件需要完成任务的语句,需满足递归的要求(减少而不是发散)。递归阶乘程序package com.fy.test;

2020-09-27 19:39:35 87

原创 38. 请简述 forward 和 redirect 的区别

(1). 从地址栏显示来说forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.(2). 从数据共享来说forward:转发页面和转发到的页面可以共享request里面的数据.redirect:不能共享数据.(3). 从运用地方来说f

2020-09-27 09:06:50 45

zhu-spring-tx.zip|zhu-spring-tx.zip

采用spring将数据添加到数据库中,并将添加信息在控制台展示

2020-10-13

java——数组.xmind

一维数组概念:一组连续的存储空间,存储多个相同数据类型的值。数组的创建。数组的组成。数组的遍历。数组的默认值。

2020-07-10

面向对象.xmind

程序是为了模拟现实世界,解决现实问题而使用计算机语言编写的指令集合。类的抽取。类的定义。对象的创建。实例变量与局部变量的区别。

2020-07-10

继承的特点.xmind

继承——功能越精细,重合点越多,越接近直接父类;功能越粗略,重合点越少,越接近Object类(万物皆对象的概念)

2020-07-10

父类的抽象.xmind

现实⽣活中,很多类别之间都存在着继承关系,都满⾜“is a”的关系。 狗是⼀种动物、狗是⼀种⽣物、狗是⼀种物质。 多个类别都可作为“狗”的⽗类,需要从中选择出最适合的⽗类。

2020-07-10

java_方法思维导图.xmind

方法概念:实现特定功能的一段代码,可反复使用。定义语法。经验:将需要多个位置重复使用的一组代码,定义在方法内部。方法的参数。形参与实参。如何定义参数。返回值与返回值类型。

2020-07-10

二维数组.xmind

二维数组:概念:一维数组中的一维数组;数组中的元素,还是数组。使用双下标访问二维数组中的元素,第一个下标代表:行号(高维下标);第二个下标代表:列号(低维下标)。二维数组创建语法。

2020-07-10

Java语言基础.xmind

变量的概念:计算机内存中的一块存储空间,是存储数据的基本单元。变量的定义流程。变量的定义方式。数据类型。转义字符。类型转换——自动类型转换;强制类型转换。

2020-07-10

java循环结构.xmind

while循环 do while循环 for循环 流程控制,break:终止,跳出switch、循环条件;continue:结束本次,进入下一次循环(案例)

2020-07-10

JavaSE知识内容.xmind

java语言基础 (1)NotePad++设置:菜单栏->设置->语言格式设置->设置字体consolas。设置字号大小等。 编码:编码字符集->中文->GB2312(中文的字符集)。菜单栏--------->编码--------->编码字符集-------->中文------------->GB2312(中文的字符编码)。 如果每次更改字符集麻烦:菜单栏--------->设置---------->首选项--------->新建--------->右侧编码选择GB2312

2020-07-10

java的三大特性.xmind

知识点包括:封装、公共访问方法、继承、访问修饰符、方法重写、super关键字、super访问方法、super访问属性、继承中的对象创建、继承后的对象创建过程、super调用父类无参构造,super调用父类有参构造、多态、装箱与拆箱

2020-07-10

JavaSE.xmind

案例 + 知识点:其中包括了方法,数组,继承多态封装,基本数据类型与引用数据类型;super关键字,方法的重载,构造方法的重载,排序(冒泡排序、选择排序、JDK排序案例)并对各个知识点进行了相应的案例进行分析。

2020-07-10

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除