自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring核心之AOP

文章目录SpringAOPSpring AOP相关概念AspectJ 对 AOP 的实现注解方式实现AOPSpringAOPSpring AOP相关概念Spring的AOP实现底层就是对上面的动态代理的代码进行了封装,封装后我们只需要对需要关注的部分进行代码编写,并通过配置的方式完成指定目标的方法增强。Target(目标对象)要被增强的对象,一般是业务逻辑类的对象。Proxy(代理)一个类被 AOP 织入增强后,就产生一个结果代理类。Aspect(切面)表示增强的功能,就是一些

2021-09-21 21:28:48 310 2

原创 手撸spring-ioc,两种方法实现DI

文章目录手撸spring-ioc,两种方法实现DI项目目录结构pom.xmlDiyClassPathXmlApplicationContextapplication.xmlstudent手撸spring-ioc,两种方法实现DI具备以下知识,看起来可能会更舒服:dom4j解析xml文件java反射机制项目目录结构pom.xml <dependencies> <dependency> <groupId>org

2021-09-13 15:53:39 266 2

原创 阿里云服务器的部署

文章目录如何简单的去部署一个阿里云服务器第一步直接搜索阿里云,点第一个直接进入官网第二步 进入官网后点登陆,推荐用支付宝扫码登录第三步在活动页面找到新用户专享进去之后选这个,然后点击购买然后在系统镜像这里点击自己需要的操作系统然后购买时长选择自己想买的月数,点击购买然后就跳转到了订单页啦买完之后在首页点击首页控制台,然后点击产品与服务,就能看到自己已有资源随后点击服务器进入服务器后台管理进入之后第一件事要记得重置密码。重置完密码之后就是防火墙配置了,开放我们需要的对应端口第四步使用xshell远程连接云服务

2021-09-11 10:59:42 1021

原创 手撸一个mvc框架有多简单

文章目录手撸一个mvc框架有多简单手撸一个mvc框架有多简单在web配置类中定义一个处理前端请求的servletweb.xml 配置<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoca

2021-09-05 22:11:31 1137 12

原创 使用smartupload.jar实现文件上传下载

使用smartupload.jar实现文件上传下载准备上传的页面<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>文件上传下载</title></head><body><form action="/uploadtest" method="post" enctype="multip

2021-08-29 16:00:16 200

原创 Ajax实现注册时用户名不允许重复

Ajax实现注册时用户名不允许重复最近遇到了一个很经典的需求就是在注册账号时,账号不能重复的问题。实现效果如下图所示:当光标从输入框失去焦点时,触发onblur事件,掉用ajax请求实现页面局部更新。废话少说直接上代码:Servletdao...

2021-08-29 15:43:50 1672

原创 JavaWEB MVC

文章目录JavaWEB MVC1.MVC设计模式2.三层架构3.三层架构和MVC的区别与联系JavaWEB MVC写Java Web项⽬时会发现,⼀个中型或者⼤型项⽬ 随着代码的增多,会发现:代码既可以写在src⽬录下,也可以写在WebContent⽬录下。src下可以建很多包 ,WebContent下可以建很多⽂件夹。所以问题就来了:⼀个新的类 到底往哪个⽬录下的哪个⽂件夹⾥写?此时解决办法就是:需要⼀个模式去规范,到底哪个类该往哪⾥写1.MVC设计模式Web MVC中的M(模型)-V(视图)

2021-08-29 15:19:02 148

原创 EL表达式和JSTL

文章目录EL表达式JSTLEL表达式(1)什么Expression Language 表达式语⾔最初定义于JSTL1.0部分在JSP2.0中,EL从JSTL中剥离出来,放置在JSP规范中,称为JSP2.0规范的⼀部分在JSP中使⽤EL表达式,可以简化对象和变量的访问是EL表达式(2)EL表达式语法语法格式:${需要展示信息的名字}注意:当表达式没有指定变量或者对象的范围时,那么容器会依次从pageContext—>request—>session—>applicatio

2021-08-29 11:46:31 92

原创 jsp9大内置对象

文章目录JSP的原理JSP的内置对象1、request对象2、response对象3、session对象4、application对象5、out 对象6、pageContext 对象7、config 对象8、page 对象9、exception 对象JSP的原理当浏览器访问一个jsp页面时。服务器发现后缀为.jsp,它会根据路径找到index.jsp⽂件,会将index.jsp翻译成index_jsp.java⽂件,对这个java⽂件进⾏编译,产⽣⼀个index_jsp.class⽂件,将class⽂

2021-08-29 11:24:54 154

原创 过滤器和监听器

文章目录过滤器(Filter)1.什么是过滤器2.过滤器的语法格式2.1.创建⼀个类实现Filter接⼝2.2.重写接⼝中的⽅法2.3.在web.xml⽂件中配置3.使⽤场景监听器(Listener)1.什么是监听器2.监听器分类3.监听三⼤域对象的创建与销毁的监听器过滤器(Filter)1.什么是过滤器过滤器实际上就是对web资源进⾏拦截,做⼀些处理后再交给下⼀个过滤器或servlet处理,通常都是⽤来拦截request进⾏处理的,也可以对返回的response进⾏拦截处理2.过滤器的语法格式

2021-08-29 11:05:08 85

原创 Session和Cookie

文章目录Session适用场景CookieCookie的应用保持用户登录状态记录⽤户名Cookie的设置和获取通过HttpServletResponse.addCookie的⽅式设置Cookie浏览器中查看cookie的内容服务端获取客户端携带的cookie:通过HttpServletRequest获取删除CookieCookie的有效时间Session和Cookie的区别Sessionrequest存的值只能在单次请求中保存,保存的数据不能跨⻚⾯,当重定向时,request存的值会丢失.sessio

2021-08-24 22:14:33 91

原创 转发和重定向

文章目录转发重定向重定向与转发的区别转发简单来说就是请求的转发,我们在前端页面向后台servlet提交请求的时候,我们的请求被转发到了另外一个页面,大致代码如下:前端请求页面:<form role="form" class="form-horizontal" action="${pageContext.request.contextPath}/login" method="post" id="form"> <div class="form-group">

2021-08-24 21:46:20 101

原创 Servlet生命周期

文章目录Servlet的生命周期Servlet的生命周期当客户端⾸次发送第⼀次请求后,由容器(web服务器(tomcat))去解析请求, 根据请求找到对应的servlet,判断该类的对象是否存在,不存在则创建servlet实例,调取init()⽅法 进⾏初始化操作,初始化完成后调取service()⽅法,由service()判断客户端的请求⽅式,如果是get,则执⾏doGet(),如果是post则执⾏doPost().处理⽅法完成后,作出相应结果给客户端.单次请求处理完毕。当⽤户发送第⼆次以后的请求时

2021-08-23 17:38:44 64

原创 http请求响应过程

文章目录HTTP 请求/响应步骤客户端连接到Web服务器发送HTTP请求服务器接受请求并返回HTTP响应释放TCP连接客户端浏览器解析HTML内容HTTP 请求/响应步骤客户端连接到Web服务器⼀个HTTP客户端,通常是浏览器,与Web服务器的HTTP端⼝(默认为80)建⽴⼀个TCP套接字连接。例如:http://www.baidu.com。发送HTTP请求通过TCP套接字,客户端向Web服务器发送⼀个⽂本的请求报⽂,⼀个请求报⽂由请求⾏、请求头部、空⾏和请求数据4部分组成。服务器接受请求并返回

2021-08-23 17:32:42 570

原创 mysql 进阶、事务管理

文章目录第一章 事务1.1 事务的语法1.2 事务的ACID特性1.3 事务的并发问题1.4 事务隔离级别1.5 不同的隔离级别的锁的情况(了解)1.6 隐式提交(了解)第一章 事务事务(Transaction)是由一系列对系统中数据进⾏访问与更新的操作所组成的⼀个程序执行逻辑单元。(1) 事务的语法(2) 事务的特性(3) 事务并发问题(4) 事务隔离级别(5) 不同隔离级别的锁的情况(了解)(6) 隐式提交(了解)1.1 事务的语法start transaction; begin

2021-08-19 16:01:51 102

原创 Mysql数据完整性、 多表查询、数据库优化

文章目录第一章 数据完整性1.1 数据库的完整性1.2 实体完整性1.2.1 主键约束(primary key)1.2.2 唯一约束(unique)1.2.3 自动增长列(auto_increment)1.3 域完整性1.3.1 数据类型1.3.2 非空约束1.3.3 默认值约束1.4 引用完整性第二章 多表查询2.1 多表的关系2.1.1 一对多/多对一关系2.1.2 多对多关系2.1.3 一对一关系2.2 多表查询2.2.1 合并结果集2.2.2 连接查询2.2.3 子查询第四章:扩展4.1 多行新增4

2021-08-19 15:48:26 278

原创 数据库基础练习题

文章目录练习1:练习2:练习3:练习4:聚合函数练习练习5:分组练习练习6:综合练习练习1:Manager(管理员表):mid 编号 int (主键)mname 名字 varchar(20)age 年龄 intsex 性别 char(2)password 密码 varchar(20)address 地址 varchar(20)phone 电话 varchar(20)数据:1 王子 18 男 123 北京 1102 公主 20 女 456 上海 2203 太子 23 男 789 南京

2021-08-19 13:44:20 1206

原创 MySQL数据库密码重置

MySQL数据库密码重置停⽌mysql服务器运⾏输⼊services.msc 停⽌mysql服务在cmd下,输⼊mysqld --console --skip-grant-tables 启动服务器,出现以下⻚⾯,不要关闭该窗⼝3. 新打开cmd,输⼊mysql -uroot 不需要密码, 然后输⼊以下SQL语句, 完成密码的修改use mysql;update user set password=password('root') WHERE user='root';4.关闭两个cmd窗口

2021-08-18 11:11:24 81

原创 设计模式(Gof)六大原则之一单一职责原则

文章目录设计模式(Gof)六大原则之一单一职责原则单一职责原则的定义单一职责原则的优点设计模式(Gof)六大原则之一单一职责原则这是一个备受争议的原则,跟人吵架的时候这个是屡试不爽的一个梗。 为什么会备受争议呢?怎么就能吵起来呢?主要就是对职责如何定义,什么是类的职责,以及怎么划分类的职责。 举个栗子:我们新职课的老师对学生有很多的工作要做:例如了解个人信息、每天的学习情况、记录考勤;回答学 生问题,帮助解决bug,重难点串讲;行业经验分享等。如果将这些工作交给一位老师负责显然不合理,正确的做法是不同

2021-08-18 10:41:58 117

原创 设计模式(Gof)六大原则之一开闭原则

文章目录Gof六原则之开闭原则开闭原则:Open Closed Principle,OCP开闭原则的定义开闭原则的作用1. 对软件测试的影响2. 可以提高代码的可复用性3.可以提高软件的可维护性Gof六原则之开闭原则开闭原则:Open Closed Principle,OCP开闭原则的定义开闭原则由勃兰特·梅耶(Bertrand Meyer)提出,他在 1988 年的著作《面向对象软件构造》(Object Oriented Software Construction)中提出:软件实体应当对扩展开放,

2021-08-18 10:10:29 158

原创 java 基于反射的内省

文章目录内省内省基于反射 , java所提供的一套应用到JavaBean的API一个定义在包中的类 ,拥有无参构造器所有属性私有,所有属性提供get/set方法实现了序列化接口这种类, 我们称其为 bean类 . Java提供了一套java.beans包的api , 对于反射的操作, 进行了封装 !相比较于反射 我们可以更加便捷的拿到class类的set和get方法。//通过内省的方式获得javabean的set、get方法public class Demo06 { pu

2021-08-17 22:52:23 75

原创 JSON解析

文章目录JSON解析JAVA对象转换为JSON字串方法一 Gson方法二 FastjsonJSON转换为JAVA对象方式一 Gson方式二 FastjsonJSON解析JAVA对象转换为JSON字串方法一 Gson可以在pom.xml中导入依赖 <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --> <dependency> <groupId>com

2021-08-17 16:03:57 79

原创 Java公平锁和非公平锁

目录显示锁ReentrantLock()也是非公平锁公平锁显示锁ReentrantLock()也是非公平锁顾名思义就是在锁代码块的时候可以自己指定开始位置和结束位置不能被线程共享,非公平锁在线程进入就绪状态时是抢占式占有时间片的。如下:public class Demo08 { public static void main(String[] args) { Runnable t = new Ticket(); new Thread(t).start();

2021-08-16 22:58:50 107

原创 javaIO异常之EOFException

文章目录错误描述解决方法错误描述今天在用对象流反序列化文件时遇到一个特别无语的错误,EOFException,表示流异常到底文件末尾。刚开始我一直觉得这个异常是程序错误导致的,后面才发现这个其实是正常的,就像是字节流读到文件末尾返回-1一样,对象流不是返回值,而是直接抛出异常,所以说这个异常并不是程序错误导致的,而是表示正常读到了文件末尾。解决方法解决方法也很简单,直接catch 而不给打印出来就行了。...

2021-08-16 11:40:23 8603 3

原创 Comparable和Comparator的用法和区别

文章目录Comparable和Comparator的用法和区别ComparableComparatorComparable和Comparator的用法和区别Comparablejava中在用TreeSet集合存储一些基本数据类型或者String时都会有自动的排序规则,但是在当我们存储自定义对象的时候就会出现问题会报出格式转换异常的错误。所以要把当前类作为Comparable的接口 重写里面的compareTo方法才能让自定义对象能相互比较大小,才能用于TreeSet集合的存储,代码如下:public

2021-08-15 15:14:36 98

原创 Java进阶异常处理机制

文章目录Java进阶异常处理机制什么是异常处理异常try+catch的处理流程finally异常体系结构throws关键字throw关键字RuntimeExcepion与Exception的区别异常处理常见面试题Java进阶异常处理机制什么是异常异常是在程序中导致程序中断运行的一种指令流。 例如,现在有如下的操作代码: public class ExceptionDemo01{ public static void main(String argsp[]){ int i = 10 ; in

2021-08-13 12:13:44 69

原创 Java进阶篇 玩转synchronized

文章目录Java进阶篇 玩转synchronizedsynchronized出现在实例方法上总结Java进阶篇 玩转synchronized相信通过前面的线程终止三大方法、线程调度、线程安全(同步锁synchronized)讲解,大家对synchronized有了一个初步的了解,本篇就主要讲解一下,在面试中synchronized的一些要点synchronized出现在实例方法上synchronized出现在实例方法上,一定锁的是this。没得挑。只能是this,不能是其他对象所以这种方法是不灵活

2021-08-09 20:16:32 65

原创 Java进阶篇多线程详解(线程终止三大方法、线程调度、线程安全(同步锁synchronized))

文章目录Java进阶篇线程栈详解Thread.sleep()方法interrupt()方法总结Java进阶篇线程栈详解一些有关的多线程基础小编就不过多赘述了,在前面的java基础篇(网络编程多线程)有详细的介绍,这篇主要是讲解一下我们面试中需要知道的一些要点。Thread.sleep()方法经过查jdk1.8帮助文档,我们发现此方法具有以下特性/* 关于线程的sleep方法 static void sleep(long millis) 1.静态方法 2.参数是毫秒 3.作用:让

2021-08-08 21:22:19 247

原创 mysql(操作数据库 操作表结构 操作表记录)

文章目录第⼀章 数据库介绍1.1 数据库概述1.2 数据库管理系统1.3 Java类和数据表的对应关系1.4 常⻅数据库第2章 MySql数据库2.1 MySql安装2.2 连接Mysql数据库2.3 MySQL图形化开发⼯具第3章 SQL语句3.1 SQL概述SQL语句介绍SQL语句分类SQL语句的书写语法SQL中数据的常用数据类型3.2 数据库操作: database创建数据库查看数据库删除数据库使⽤数据库3.3 表操作:table创建表查看表删除表修改表结构格式3.4 表中记录操作插⼊表记录更新表记录

2021-08-07 18:29:24 552

原创 第十七章 注解、反射、单元测试、lombok

第十七章 注解、反射、单元测试、lombok第十七章 注解、反射、单元测试、lombok17.1 类的加载器17.1.1 类的加载器时机17.1.2 引导类加载器17.1.3 扩展类加载器17.1.4 应用类加载器17.1.5 类加载器的双亲委派17.1.6 Class对象创建17.2 反射17.2.1 反射的概念17.2.2 获取Class对象的方法17.2.3 反射获取构造方法获取无参数构造方法获取有参构造方法17.2.4 反射获取构造方法的简单方式17.2.5 反射成员方法执行Class类中与Meth

2021-08-06 17:39:01 395

原创 第十六章 网络编程多线程(TCP 线程的创建)

Java基础16第十六章 网络编程多线程(TCP 线程的创建)16.1 多线程的概念16.1.1 概述16.1.2 线程与进程16.1.3 线程16.2 线程的创建-继承方式16.2.1 继承Thread类方式16.2.2 线程的执行流程16.2.3 线程内存图16.2.4 run()方法和start()方法16.2.5 线程名字的设置和获取16.2.6 获取运行main方法线程的名字16.3 线程的创建-实现方式16.3.1 实现Ruunable接口方式16.3.2 Thread和Runnable的区别1

2021-08-05 16:13:26 727

原创 第十五章 IO流(转换流 字符流 字符缓冲流 打印流)

Java基础15第十五章 IO流(转换流 字符流 字符缓冲流 打印流)15.1 字符编码和字符集15.1.1 字符编码15.1.2 字符集15.1.3 String类getBytes()方法介绍15.2 转换流15.2.1 转换流OutputStreamWriter15.2.2 OutputStreamWriter常用方法构造方法写出数据方法15.2.3 转换流InputStreamReader15.2.4 InputStreamReader常用方法构造方法读取数据方法15.3 字符流便捷类15.3.

2021-08-03 21:21:36 121

原创 第十四章 IO流(文件 字节流 字节缓冲流)

java基础14第十四章 IO流(文件 字节流 字节缓冲流)14.1 File类14.1.1 概述14.1.2 File类构造方法14.1.3 File类的获取方法绝对路径和相对路径14.2 IO流14.2.1 什么是IO14.2.2 IO的分类14.2.3 IO的流向说明图解14.2.4 IO流顶层父类14.3 字节流14.3.1 一切都是字节14.3.2 字节输出流OutputStream14.3.3 FileOutputStream类构造方法写出字节数据数据追加续写14.3.4 字节输入流Input

2021-07-24 21:41:13 172

原创 第十三章 集合(HashSet HashMap)

java基础13第十三章 集合(HashSet HashMap)13.1 Set集合13.1.1 概述13.1.2 Set集合存储并遍历13.1.3 HashSet集合特点13.1.4 HashSet存储自定义类型13.1.5 哈希表13.2 LinkedHashSet集合13.2.1 概述13.3 Map集合13.3.1 概述13.3.2 Map接口中的常用方法12.3.3 Map集合遍历方式1:键找值方式方式2:键值对方式13.3.4 HashMap集合13.3.5 HashMap存储自定义对象1

2021-07-23 23:17:44 138

原创 第十二章 集合(Collection ArrayList LinkedList 泛型)

java基础12第十二章 集合(Collection ArrayList LinkedList 泛型)12.1 数组对象12.2 Collection集合12.2.1 概述12.2.2 集合类的继承体系12.2.3 Collection接口方法12.3 迭代器12.3.1 Iterator接口12.3.2 迭代器的实现原理12.3.3 并发修改异常12.4 增强for循环12.4.1 概述12.4.2 格式12.4.3 遍历数组、集合12.4.4 增强for循环原理12.5 数据结构12.5.1 数据结构

2021-07-22 16:14:23 295 1

原创 第十一章 常用类库(Object String Date Calender Arrays StringBuilder System Arrays Math)

文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport p

2021-07-21 16:12:42 174

原创 第十章 面向对象【final,static,权限修饰符,内部类】

Java基础 10第十章 面向对象【final,static,权限修饰符,内部类】二、使用步骤1.引入库2.读入数据总结第十章 面向对象【final,static,权限修饰符,内部类】二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarnings('igno

2021-07-20 11:40:27 148

原创 第九章 面向对象【接口,多态】

Java基础09第九章 面向对象【接口,多态】9.1 接口9.1.1 概述9.1.2 定义格式含有抽象方法含有默认方法和静态方法9.1.3 基本的实现实现的概述抽象方法的使用默认方法的使用静态方法的使用成员变量的使用9.1.4 接口的多态实现抽象方法默认方法静态方法9.1.5 接口的多继承9.1.6 抽象类和接口对比(小结)9.2 多态9.2.1 概述引入定义前提条件【重点】9.2.2 多态的体现9.2.3 多态的好处9.2.4 引用类型转换向上转型向下转型为什么要转型转型的异常9.3 综合案例9.3.1

2021-07-19 17:32:29 120

原创 第八章 面向对象(类对象封装构造方法、继承、抽象类)

Java基础08第八章 面向对象(类对象封装构造方法)8.1 面向对象思想概述一、pandas是什么?二、使用步骤1.引入库2.读入数据总结第八章 面向对象(类对象封装构造方法)8.1 面向对象思想概述一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as plt

2021-07-18 15:49:43 307

原创 第七章 数组/方法传参

Java基础入门06第七章 数组/方法传参7.1 数组定义和访问7.1.1 容器概述案例分析容器概念7.1.2 数组概念7.1.3 数组的定义7.1.4 数组的初始化方式一方式二方式三7.1.5 数组的访问7.2 数组原理内存图7.2.1 内存概述7.2.2 Java虚拟机的内存划分7.2.3 数组在内存中的存储一个数组内存图两个数组内存图两个变量指向一个数组7.3 数组操作的常见问题7.3.1 数组越界异常7.3.2 数组空指针异常7.4 数组练习7.4.1 数组遍历【重点】7.4.2 数组获取最大

2021-07-18 11:10:00 383

空空如也

空空如也

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

TA关注的人

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