自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 Servlet面试题梳理

文章目录一、Servlet1.什么是Servlet2、servlet生命周期是什么(1)服务器启动时创建(2)初始化(3)提供服务器(4)关闭3.get和post请求的区别是什么4.什么是请求转发和重定向(1)请求转发request(2)重定向response(3)请求转发和重定向的区别二、JSP1.jsp和servlet的联系与区别2.说一说静态包含和动态包含的区别3.九大内置对象是什么?4.Session(1)什么是Session对象?(2)session对象的原理是什么?(3)谈一谈session对象

2021-06-01 17:00:13 328

原创 javaSE全套梳理

文章目录一、java与c的区别二、面向对象1.什么是面向对象2.面向对象的特点是什么3.什么是封装4.什么是继承5.什么是重写6.什么是重载7.什么是多态三、面向过程1.什么是面向过程2.面向对象与面向过程的区别与联系四、java是一种跨平台的语言五、java的特点六、线程与进程一、java与c的区别java是一门面向对象的语言C语言是一门面向过程的语言java是跨平台的语言二、面向对象1.什么是面向对象我面对你,就是面向对象,面向对象是一种思想,世间万物都是对象.2.面向对象的特

2021-05-28 07:46:19 206

原创 MySQL一遍过

文章目录一、MySQL引擎1.概述2.Innodb3.myisam二、索引1.概述2.索引分类3.索引创建原则4.索引的数据结构5.聚簇索引和非聚簇索引三、事务1.概念2.事务特性3.事务设置一、MySQL引擎1.概述引擎就是数据在处理数据时的机制不同的引擎执行策略/机制不同不同的需求选用不同的引擎,到达最优选择2.InnodbInnodb是一个事务型的存储引擎,有行级锁和外键约束适应场景:需要事务,并发大,支持外键约束,主键自增以前版本不支持全文检索3.myisam不支持事

2021-07-25 16:36:14 222 1

原创 线程一卡通

文章目录一、线程1.进程2.线程3.多线程4.线程创建方式5.线程状态6.多线程安全问题7.守护线程8.线程间通信二、并发编程1.并发和并行2.安全问题3.CPU内存模型的问题4.线程安全问题5.volatile关键字6.如何保证原子性7.ConcurrentHashMap8.CAS原则9.锁的分类10. 锁的状态三、ThreadLocal线程变量1.线程封闭2.ThreadLocal是什么3.ThreadLocal原理分析4.ThreadLocal内存泄漏问题四、线程池1.概述2. ThreadPool

2021-07-22 22:53:51 199

原创 JVM的一键入脑

文章目录一、JVM概述1.简述JVM,JRE,JDK2.JVM,JRE,JDK的联系3.JVM的特点4.JVM的组成5.JVM的组成的用途二、类加载1.类加载子系统的作用2.类加载Class Loader的角色3.类加载的过程4.类加载器分类5.双亲委派机制6.沙箱安全机制7.类的主动使用/被动使用三、JVM运行时数据区1.运行时数据区组成2.程序计数器3.Java 虚拟机栈4.本地方法栈5.Java 堆内存6.堆中对象创建内存分配过程7.分代收集思想 Minor GC、Major GC、Full GC8.

2021-07-20 23:30:19 238 1

原创 简述理解Maven,框架,mybatis框架

文章目录一、Maven1.描述2.分列二、框架描述三、mybatis框架1.描述2.缓存3.缓存的失效一、Maven1.描述用来帮助开发者管理项目中的jar,将常用的jar包在他的服务器上收集管理起来,每个jar包都会有一个坐标(地址),在项目开发时,只需要在pom.xml文件中导入项目坐标即可,打包时,才会将jar打包到项目中的lib目录中2.分列pom:项目对象模型根目录下有pom.xml文件在其中配置项目基本信息一旦在pom.xml中配置好,将会自动下载相应的构建

2021-07-18 21:26:14 522

原创 java反射机制

文章目录java反射机制1.示例2.描述3.应用java反射机制1.示例设计类 new+构造方法() eg:UserDao userdao = new UserDao();弊端:不灵活,在程序中直接写死web.xml底层:解析xml读取到类的地址根据类的地址,通过反射机制创建类的对象class.forName(“com.mysql.cj.jdbc.Dreiver”)2.描述上述应用场景:配置servlet,过滤器… class.forName

2021-07-18 21:09:02 70

原创 Spring小知识

文章目录一、spring1.什么是spring2.spring有哪些模块3.核心模块Core Container:4.AOP(切面编程)5.DAO6.WEB7. BeanFactory和ApplicationContext8.spring Bean的生命周期一、spring1.什么是springspring是一个轻量级,非侵入式,IOC和AOP的一站式开发框架轻量级:jar小,运行资源少,运行效率高非侵入式:业务类不能继承spring特性的类IOC:由spring IOC

2021-07-18 20:57:37 223 2

原创 从Redis到SpringBoot集成redis再到redis三大缓存问题

文章目录一、Redis1.Redis描述2.缓存3.关系型数据库与非关系型数据库4.Redis基本设置5.Redis基本使用6.Redis五种数据类型(1)String(2)Hash(3)List(4)Set(5)zset(sorted set:有序集合)7.Redis设置失效时间二、springBoot 集成使用 redis1.添加redis依赖2.配置连接redis3.serve类里面注入RedisTemplate 标签4.将工具类导入cofig中可完成序列化5.序列化键值6.在service层编写逻辑

2021-07-16 19:33:17 365 1

原创 数据结构八、AVL平衡二叉树(不仅满还完全的二叉树)以及红黑树(单一黑平衡的二叉树)

文章目录平衡二叉树(1)平衡二叉树描述(2)平衡二叉树的搭建(3)平衡二叉树的初始化(4)判断该树是否为平衡二叉树测试(5)AVL的左旋转和右旋转(5)AVL的增(6)AVL的删平衡二叉树(1)平衡二叉树描述一棵满二叉树和完全二叉树的组合就是平衡二叉树线段树也是平衡二叉树平衡二叉树的要求:对于任意一个结点,左子树和右子树的高度差不能超过1(2)平衡二叉树的搭建我们由改版形成,源代码请看二分搜索树(3)平衡二叉树的初始化平衡二叉树在二分搜索树中引进了树的高的,平衡因子在平衡

2021-07-12 20:54:20 242 1

原创 数据结构七、堆和优先队列

文章目录堆优先队列堆(最大)堆:是一个可以被看成一棵树的数组对象,满足如下性质:堆中的父亲结点优先级总大于等于其左右孩子结点的值总是一棵完全二叉树可以把数字大的看做优先级高的,也可以把数字小的看做优先级低的满二叉树:每一层的节点树都为2^(h-1)每一层都是满的完全二叉树把元素顺序排列成树的形状堆的性质根节点没有父亲结点除根节点之外的任意结点(i)的父亲结点的索引为: parent = i/2任意结点的左孩子结点的索引为: leftIndex = 2

2021-07-05 10:38:41 147

原创 数据结构六、set与map(链表与二分搜索树的延续)

文章目录setset

2021-06-30 17:36:08 199 1

原创 数据结构五、二分搜索树(最细递归)

文章目录二分搜索树描述二分搜索树创建1.创建一个二分搜索树类2.创建一个节点(内部类)3.初始化二叉树二分搜索树描述树为什么要有树结构树结构本身是一种天然的组织结构高效的访问查询我们要的元素二叉树如上图所示每个节点在分叉时至多分俩个叉的树叫做二叉树与链表一样,是动态数据结构,不需要考虑扩容问题最上面的节点叫做根节点,二叉树具有唯一的根节点每一个节点都可以有俩个子节点,我们把他称作左孩子节点,右孩子节点最下面的节点,也就是左右孩子为空的节点叫叶子节点二叉树每个节点,

2021-06-29 11:08:41 238 2

原创 数据结构四、实现链表(链表为底层的动态栈and队列)与递归(猴子吃peach)以及单链表的递归

文章目录链表描述创建链表1.创建一个动态链表了2.创建一个节点(内部类)3.初始化链表4.链表的增5.链表遍历6.链表查询7.链表更新8.链表删除数组,栈,队列底层都是静态数组靠resize解决固定容量的问题链表是真正的动态数据结构链表描述链表数据存在节点(node)中,(Node next)指向下一个节点的引用优点:不需要处理固定容量的问题,真正的动态增删快缺点:丧失了随机访问的能力查询慢,没有索引,需要逐个查询创建链表1.创建一个动态链表了p

2021-06-27 22:18:54 448 1

原创 数据结构三、队列还有循环队列在这里

文章目录队列描述创建队列1.先创建一个队列接口2.实现队列循环队列描述创建循环队列队列描述队列也是一种线性数据结构只能从一端(队尾)添加元素,从另一端(队首)取出元素队列是一种先进先出的数据结构 FIFO队列就像食堂排队从第一个到最后一个第一个打饭的人向出去,最后一个打饭的人后出去也就是先进先出第一个打饭的叫做队首,先出的那个最后一个打饭的叫做队尾,后进的那个创建队列1.先创建一个队列接口public interface QueueInterface<T> {

2021-06-26 18:49:24 169

原创 数据结构二、简单的栈简单点

文章目录栈描述创建数组1.先创建一个栈接口2.实现栈栈的应用栈描述栈也是一种线性数据结构规定只能从栈顶添加元素,也只能从栈顶取出元素栈是一种后进先出的数据结构栈就相当于是一个箱子,入栈就是向箱子里面放书,出栈就是从箱子里面取书,因为取书只能取最后一本书,所以栈是一个先进后出的数据结构创建数组1.先创建一个栈接口public interface StackInterface<T> { //判断栈有多少元素 public int getSize(); /

2021-06-26 16:16:33 124

原创 数组的应用

文章目录一、二分查找法二、双向链表三、计数排序法四、三路快排一、二分查找法在一个有序的数字数组中查询一个元素的下标可以将数组分半,然后用中间那个值和要查询元素的值进行比较若相等则查出若小于该元素,则弃掉右半部分开始对左边的进行二分查找法若大于该元素,则弃掉左半部分开始对右边的进行二分查找法一直这样循环,直到查到为止 ,若查不到返回-1public int Binary(int[] arr,int ele) throws IllegalAccessException {

2021-06-20 20:35:09 94

原创 数据结构一、数组(玩转动态数组)

文章目录数组描述创建数组1.先创建一个数组类2.数组的声明3.扩容与缩容4.向数组中添加元素5.查询数组中的元素6.修改指定位置元素7.移除指定位置的元素8.根据元素判断数组中是否存在9.重新toString数组描述数组就是一个容器数组的声明 int[] arr = new int[10];数组的优缺点数组的优点:快速查询数组的缺点:增删慢索引数组最好应用在索引有语义的情况下索引最好有语义,也可以没有语义并非所有有语义的数字都可以作为数组的索引,eg:身

2021-06-20 20:10:50 114 1

原创 Servlet(七)AJAX

文章目录AJAX一、同步与异步的区别1.客户端与服务端同步2.客户端与服务端异步AJAX一、同步与异步的区别1.客户端与服务端同步请求转发login.jsp把整个页面内容重新响应给了浏览器会刷新页面打断客户端的操作当客户端与服务器交互时,是不能进行其他操作需等待服务器的响应,器件客户端的操作会被打断2.客户端与服务端异步当客户端与服务端交互时并不影响客户端的操作使用浏览器中的XMLHttpRequest在更新到内容的页面,整过程在页面不刷新...

2021-06-01 19:12:18 81

原创 Servlet(六)相对路径和绝对路径

文章目录相对路径绝对路径相对路径jsp使用的是相对路径相对路径前面会自动补全会受到浏览器地址栏的影响绝对路径js/jquery相对路径的解决办法…/向上回退使用绝对路径注:重定向要给绝对路径request.getContextPath()+...

2021-06-01 18:55:22 121

原创 MYSQL(五)之数据库事务

文章目录数据库事务1.什么是事务2.事务eg3.原子性4.如何是指事务数据库事务1.什么是事务由若干个操作组成的一次对数据库的操作(原子性)2.事务eg银行转账 A-100 B+100网购下订单:下订单(商家)支付(电商平台)3.原子性上述的操作要么成功,要么失败jdbc默认执行完成后自动事务提交,数据库只有在事务提交后才会真正的执行sql4.如何是指事务设置手动提交事务connection.setAutoCommit(false);当一次操作没有问题后,提交事

2021-06-01 18:49:49 82

原创 Servlet(五)EL表达式

文章目录一、EL1.什么是EL表达式2.EL表达式的特点3.EL表达式的方法二、JSTL1.什么是JSTL2.JSTL环境搭建3.条件标签4.迭代标签(1)循环数组(2)循环列表一、EL1.什么是EL表达式简化页面代码在JSP开发中对对象的引用用来获得四个作用域对象中的属性2.EL表达式的特点EL表达式可以包含获取对象中的数据,自动类型转换,并且输出获取数据强制类型转换响应输出数据3.EL表达式的方法只可完成加减法不可与字符串一起加减${str1+str2}emp

2021-06-01 18:23:34 226 1

原创 Servlet(四)web.xml配置

文章目录web.xml配置web.xml配置 //进入登录界面 <welcome-file-list> <welcome-file>login.jsp</welcome-file> </welcome-file-list> <!--配置servlet--> <servlet> <servlet-name>login</servlet-

2021-06-01 11:43:48 217

原创 Servlet(三)过滤器与监听器

文章目录一、过滤器Filter1.什么是过滤器2.web.xml配置过滤器3.验证用户是否已经登录4.过滤器生命周期二、监听器Listener1.什么是监听器2.web.xml配置监听器3.过滤器生命周期一、过滤器Filter1.什么是过滤器在请求到达服务器资源(servlet/jsp)之前 , 过滤器可以拦截某些请求在过滤器中就可以添加一些相应的代码处理,可以减少代码冗余2.web.xml配置过滤器 <!--配置过虑器--> <filter>

2021-06-01 11:34:13 132

原创 Servlet(二)Servlet,jsp,九大内置对象,session,四个作用域,cookie

文章目录一、Servlet1.什么是Servlet2.jsp和servlet的联系与区别3.请求转发和重定向(1)什么是请求转发request(2)什么是重定向response(3)请求转发和重定向的区别二、JSP三、九大内置对象1.请求转发(1)什么是请求转发request2.重定向(1)什么是重定向response(2)请求转发和重定向的区别3.Session对象(1)什么是Session对象(2)session对象的原理(3)session对象的生命周期(4)从请求对象获得与之对应的session对象

2021-05-31 19:13:52 366 2

原创 Servlet(一)servlet的搭建和生命周期

文章目录一、servlet搭建1.继承HttpServlet2.重写父类方法(1)重写构造方法(2)重写init() 响应(3)重写service() 服务(4)重写destroy() 清空(关闭时使用)二、构建xml,配置servlet三、servlet生命周期1.服务器启动时创建2.初始化3.提供服务器4.关闭四、http协议1.请求2.什么是请求3.说一说get请求和post请求(1)get请求(2)post请求(3)区别4.servlet重写get()和post()(1)重写doGet()(2)重写

2021-05-31 18:22:00 329 1

原创 HTML(CSS)(二)

文章目录一、修饰文本二、display三、div&span四、css语法样式五、绝对定位六、设置背景八、行级块标签分类九 、表格使用单一边框十、盒子模型十一、列表十二、伪类十三、选择器一、修饰文本<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> .p0{

2021-05-30 21:54:55 110

原创 HTML(CSS)(一)

文章目录一、什么是HTML二、表格table1.表格框架2.合并表格三、表单四、常用标签五、插入图片六、超链接七、特殊符号一、什么是HTML<!-- 声明html语言版本是html5,告诉浏览器 --><!-- html是网页文件的根,所有内容都必须写在html中 --><!DOCTYPE html><html> <head> <!-- 头标签 title定义网页的标签--> <meta charset=

2021-05-30 21:37:55 76

原创 MySQL(四)之JDBC小封装

文章目录一、获取数据库连接二,封装JDBCUtil三、查询操作四、增删改操作一、获取数据库连接连接数据库的四个要素,相应的数据库驱动URL地址账号密码//一、加载数据库驱动Class.forName("com.mysql.cj.jdbc.Driver");//二、数据库的URL地址String url = "jdbc:mysql://127.0.0.1:3306/student_db?characterEncoding=utf8&useSSL=false&serve

2021-05-28 02:28:58 138

原创 MySQL(三)之dql

文章目录前言一、查询的结果处理1.查询的结果为常量2.查询的结果为函数3.查询的结果为查询表数据4.查询特定列(建议)5.去除重复数据(重复指多行数据,所有列相同)(针对查询出的结果去重)6.算术运算7.单行函数(会对每行进行处理) 字符函数8.合并CONCAT(str1,str2......)9.大小写的转换10.字符串的截取11.查找指定字符出现的位置12.去掉前后空格或者去掉前后指定字符13.LPAD 在左边前添加指定字符到指定个数14.REPLACE 把I换成A二、查询的逻辑处理1.逻辑处理2.if

2021-05-28 02:10:19 93 1

原创 MySQL(二)之dml

文章目录1.删除stu表2.DML 数据操作语言3.DQL数据查询语言4.修改表数据5.删除语句6.清空表中数据1.删除stu表– 删除stu表DROP TABLE stu2.DML 数据操作语言– DML 数据操作语言– 增删改3.DQL数据查询语言– DQL数据查询语言– 方法AINSERT INTO t_student(NAME,sex,birthday,grade,score,phone,reg_time)VALUES( ‘jim’,‘男’,‘2000-3-17’

2021-05-28 01:46:33 72

原创 MySQL(一)之ddl

文章目录1.注释2. DDL3.数据库的创建删除4.设计表5.创建表,先不添加约束6.删除表7.创建表,添加约束8.创建表 先不添加任何事物,通过DDL语句修改表中结构9.删除表10.添加主键约束11.删除主键约束12.设置自动增长13.删除自动增长14.设置不能为空15.删除不能为空16.添加唯一约束17.约束名唯一18.删除唯一约束19.添加检查约束20.删除检查约束21.添加列22.删除列名23.修改列的类型24.修改列名25.结构修改语法26.删除表27.修改表名28.复制表结构 但不包含数据 添

2021-05-28 01:41:53 128

原创 线程(二)之线程同步 死锁

文章目录一、前言二、同步代码块三、同步方法四、Lock方法五、总结synchronized和Lock的区别一、前言解决线程同步问题有三种方式:同步代码块、同步方法、锁(JDK5新增)使用synchronized 解决线程同步问题要时时刻刻注意要使用同一个同步监视器,特别是在继承创建多线程是要格外注意。二、同步代码块1、语法synchronized(同步监视器){ 需要被同步的代码}2、对语法的说明​ 需要被同步的代码就是操作共享数据的代码​ 同步监视器可以是任何类的对象

2021-05-28 01:25:24 168

原创 线程(一)之线程,进程,多线程都是什么?如何创建多线程,那有如何使用线程,以及他的声明周期是什么

文章目录前言 什么是线程什么是进程,那多线程呢?1.名词解释2.线程和进程之间的关系3.多线程一、线程的创建和使用1、继承Thread类2、实现Runnable接口3、两种方式的比较4、JDK5新增的两种方式二、线程的常用方法三、线程的优先级1、线程的优先级等级2、获取和设置当前线程的优先级四、线程的生命周期前言 什么是线程什么是进程,那多线程呢?1.名词解释程序:即为完成某种特定任务,用某种语言编写的一组指令的集合。即一段静态的代码。进程:即就是正在执行的程序,线程:进程可进一步细化为线程,是进

2021-05-28 00:43:38 107

原创 网络编程java版

文章目录网络编程一.网络编程概述1.概述2.OSI参考模型3.网络通信的三要素:二、IP以及端口号三、TCP协议1.服务端2.客户端四、UDP协议1.服务端2.客户端网络编程一.网络编程概述1.概述Java是 Internet 上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序Java提供的网络类库,可以实现网络连接,联网的底层细节被隐藏在 Java 的本机安装系统里,由 JVM 进行控制。并且 Java 实现了一个跨平台的网络库,程序员面对的是一个统一的网

2021-05-28 00:26:29 120

原创 IO流(二)之字节流,字符流,对象流

文章目录一、字节流1.通过字节流对文件进行读取2.通过字节流对字符进行输出3.单个字节流和数组进行复制效率二、字符流1、FileReader1、使用read()读取数据2、使用read(char[] cbuf)读取数据(效率高)2、FileWriter3、字符文件的复制4、转换流三、对象流1.简历2.对象的序列化一、字节流1.通过字节流对文件进行读取package com.wenhua.project.bytestream;import java.io.FileInputStream;impor

2021-05-27 23:51:41 129

原创 IO流(一)之File类

文章目录前言一、创建File类的对象二、常用方法1、获取方法2、判断功能3、创建功能4、删除功能5、遍历1.遍历方式12.遍历方式2前言File类的一个对象,代表一个文件或者文件夹File类声明在IO包下File类涉及到文件的创建、删除、重命名、修改时间、文件大小等方式;并未涉及到数据的写入与读取等操作,如果需要读取或者写入数据,必须使用IO流来完成后续File类的对象常常被当做参数传递到流的构造器中,指明读取或写入的位置一、创建File类的对象相对路径:相较于某个路径下,指明的路径绝

2021-05-27 23:49:50 91

原创 集合(二)之Collection的接口List,Set,Iterator,Map,以及泛型的掌握

文章目录引入一、Java集合二、Collection接口方法三、Iterator迭代器接口四、Collection子接口一:ListList接口的常用方法List的遍历(三种方式)ArrayList源码分析:五、Collection子接口二:Set1、Set的理解1.1、无序性1.2、不可重复性1.3、向set中添加元素的过程2、treeSet六、Map接口1、Map接口的框架结构2、key-value的理解3、HashMap的底层实现原理4、Map接口中常用方法5、Map的遍历七、Collection工具

2021-05-27 23:11:32 143 1

原创 集合(一)之出入集合

文章目录集合一.集合的基本概念二.集合的体系1.单列集合collection--(接口)2.双列集合Map--()接口三.# ArrayList,LinkedList的特点,以及两者的区别1.ArrayList2.LinkedList(双链表实现)集合一.集合的基本概念集合是用来装东西的,就好像一个容器.数组是一个容器,但数组只能存储同一类型的数据,同时数组的长度一旦确定无法改变java为什么要提供许多集合类来存储数据1.因为要求集合类的长度是可变的2.不同的数据存储,操作

2021-05-27 17:08:21 189 1

原创 异常之如何玩好异常

文章目录异常一.什么是异常1.数组越界 java.lang.ArrayIndexOutOfBoundsException2.空指针异常 java.lang.NullPointerException3.类型转换异常 java.lang.ClassCastException4.数字格式化异常 java.lang.NumberFormatException5.算术异常 java.lang.ArithmeticException二. 异常分为运行期异常,编译期异常1.try,catch2.finally3.

2021-05-27 17:00:37 89

空空如也

空空如也

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

TA关注的人

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