自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用easyExcel工具类去导出excel

测试controller。

2023-07-10 23:53:44 308

原创 mysql存储过程

用户变量不需要提前声明, 用的时候直接@变量名 使用就可以,其作用域为当前连接,不需要对其声明或者初始化,没有初始化获取到null赋值:set可以一次为多个变量赋值select 字段名 into @var_name from 表名;使用。

2023-07-05 13:14:26 159

原创 java基础

常用的11中方法getClass()方法是获得调用该方法的对象的类;getClass().getName()可以得到该类的路径;(2)通过getClass()方法得到该对象类Class后,可以通过Class获取这个类中的相关属性和方法;深克隆:复制对象复制一份权限的,属性内容一致的对象 但是内存中的地址不一样浅克隆:复制引用。

2023-06-29 23:24:22 77

原创 一些知识点整理java篇

常用的11中方法getClass()方法是获得调用该方法的对象的类;getClass().getName()可以得到该类的路径;(2)通过getClass()方法得到该对象类Class后,可以通过Class获取这个类中的相关属性和方法;深克隆:复制对象复制一份权限的,属性内容一致的对象 但是内存中的地址不一样浅克隆:复制引用。

2023-06-28 11:05:44 56

原创 力扣简单题2

用指针 ,如果下一个指针不是空且下个指针的值和现在指针值相等,就再指向下下个,如果不相等 就指针移到下一个。以此类推找到规律 n阶等于n-1的加上n-2 的。

2023-06-27 19:37:18 33

原创 Java实现定时任务

jdk自带的api ,timer是一种定时器工具 用来是是心啊定时任务,可以用来执行一次或定期执行多次。

2023-06-16 14:23:37 383

原创 爱心点餐项目笔记

根据产品原型明确业务的需求重点分析数据的流转和数据格式 前端页面发送json数据到服务端controller ,服务端处理完 json响应回去通过debug断点和调试跟踪程序执行过程文件上传是指将本地图片 视频 音频等文件上传到服务器上 可以供其他用户浏览或下载的过程服务端要接受客户端页面上传的文件通常都会使用apache的两个组件:commons-fileupload commons-io。

2023-06-02 17:23:27 60

原创 力扣简单题1

题目描述我的笨笨解法思路就是用目标值减去数组第一个值的差去数组里比较有没有这个差,有就返回下标别人的解法两层for循环查找,时间复杂度是O(n^2),需要通过值去判断下标的位置,所以需要用map的key 和value 因为需要找的是下标 所以用key做值 value存下标。

2023-05-30 12:07:55 50

原创 JVM部分总结

私有的,有两个作用 第一个作用是字节码解释器是通过程序计数器来依次读取指令,从而实现了代码的流程控制,在多线程的情况下程序计数器用来记录当前线程执行的位置,从而当线程切换时有正确的位置程序计数器是唯一不会出现outofmemory的内存区域,随线程创建而创建,随线程灭亡而灭亡。

2023-05-10 01:14:54 33

原创 innodb存储引擎

更改缓冲区 ,针对于非唯一二级索引页,在执行dml语句时,如果这些数据page 没有在buffer pool中,不会直接操作磁盘 ,而会将数据变更存在更改缓冲区中,在未来数据读取时,再将数据合并恢复到buffer pool 中,再将合并后的数据刷到磁盘中。buffer pool:缓冲池上主内存中的一个区域,里面可以缓存磁盘上经常操作的真实数据,在执行增删改查操作是,先操作缓冲池中的数据,如果缓冲池中没有数据 ,会从磁盘加载并缓存,再以一定的频率刷新到磁盘,从而减少磁盘io,加快处理速度。

2023-05-09 00:05:26 44

原创 事务& MVCC

事务是一组操作的整体,要么同时成功,要么同时失败acid持久性由redo log 保证redolog: 重做日志 记录该是事务提交数据页的物理修改 用来实现事务的持久性该日志文件由两部分组成: 重做日志缓冲 以及重做日志文件,前者是在内存中的后者是在磁盘中,当事务提交后会把所有修改信息都存到该日志文件中, 用于在刷新脏页到磁盘发生错误时,恢复数据 保证数据持久性顺序磁盘IO 的性能高于随机磁盘IO。

2023-04-28 12:38:05 39

原创 锁的知识点

对整个数据库实例加锁 ,加锁后整个实例就处于只读状态,后续的DML 的写语句,DDL 语句 以及更新操作的事务提交居于都将被阻塞比如对全库进行逻辑备份时需要对所有的表锁定 ,从而获取表的一致性视图保证数据的完整性。

2023-04-27 18:58:27 44

原创 视图/存储过程/触发器

存储过程是事先经过编译并存储在数据库中的一段sql语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率有好处存储过程的思想很简单就是数据库sql语言层面的代码封装与重启。

2023-04-27 15:21:49 49

原创 SQL 优化

页合并:当删除一行记录时,并没有真的物理删除,只是被标记了删除 并且它的空间记录变得允许被其他记录声明使用,当页中删除的记录达到默认页的50% innodb会开始寻找最靠近的ye,看看是否可以将两个页合并优化空间待使用,合并页的阈值可以自己设置,在创建表或者创建索引时指定即可。using filesort :通过表的索引或全表扫描 , 读取满足条件的数据行,然后在排序缓冲区sort buffer 中完成排序操作 ,所有不是通过索引直接返回排序结构的都叫 filesort排序。

2023-04-27 14:20:52 56

原创 mysql 索引

索引是帮助sql高效获取数据的数据结构 并且是有序的,在数据之外数据库系统还维护着一些高级查找算法的数据结构,这些数据结构以某种方式指向数据 可以在这些数据结构上实现高级查找算法,这种数据结构就是索引索引的优点:高效获取数据降低了io成本 通过索引列对数据进行排序可以降低数据排序成本降低cpu的消耗劣势: 索引需要维护占用空间 提高了查找速度但是也降低了表的更新速度。

2023-04-26 19:05:40 63

原创 mysql 存储引擎

简介:存储数据 建立索引 更新查找数据等技术的实现方式引擎是基于表而非数据库,也被称为表类型创建表时可以指定存储引擎show engines 查看当前数据库支持那些存储引擎。

2023-04-25 20:13:55 43

原创 Redis 入门

现在可以混合 ,在写入的时候把当前的数据以rdb 的形式写入文件的开头,再将后续的操作命令以aof格式存入文件,以rdb做全量备份,以aof做增量备份,提高备份的效率 既可以保证redis重启的速度,又能防止数据丢失的风险。incr key 将key对应的value +1 decr key 将key对应的value -1。java操作redis的客户端: redission(侧重分布式) ,jedis,导入依赖,导入配置文件yaml文件,导入jedis配置在这个文件里,加载配置文件,

2023-04-24 02:09:05 30

原创 springboot

包含的基础文件: pom.xml application类自动配置 起步依赖(简化依赖) 辅助功能(内置服务器)

2023-03-29 22:20:42 35

原创 Spring MVC

与servlet技术同等 均属于web开发代码更简洁用于接口测试是一款功能强大的网页调试与发送网页http请求的谷歌插件。

2023-03-21 15:09:14 36

原创 spring 事务简介

事务作用: 在数据层保障一系列的数据库操作同时失效同时成功spring事务作用:在数据层或业务层保障一系列的数据库操作同时成功同时失败。

2023-03-02 15:57:12 40

原创 Spring-AOP

面向切面编程:进行功能增强,不改动原始设计oop 面向对象编程aop是一种编程思想无侵入式编程切入点:追加功能的方法,匹配连接点的式子抽出共性功能 做通知类,通知类里面是通知方法,然后定义切入点匹配某些方法,绑定通知集合切入点就可以增强某些连接点功能连接点:程序执行过程中任意的位置,粒度为执行方法,抛出异常,设置变量,连接点范围大通知:在切入点执行操作,即共性功能切面:描述通知与切入点对应的关系通知类 定义通知的类。

2023-03-01 20:19:14 37

原创 spring 整合 mybatis 整合Junit

将配置文件里的 整合 成@bean。设定类运行器 专用的类运行器。

2023-03-01 17:32:24 38

原创 spring-注解开发

业务层使用@service ,数据层使用@ Repository ,控制层@ controller注解使用@component (service,controller,repository) @componentscanxml配置使用bean 标签 id属性和class属性。

2023-03-01 16:15:01 43

原创 容器-spring

一: 类路径加载配置文件二:文件路径加载配置文件三:加载多个配置文件获取bean方式一:方式二:方式三:方式三就是依赖注入中的按类型注入容器中的类是一层层叠加的,最上层父接口是beanfactory使用beanfactory来创建ioc容器的具体实现方式:beanfactory和applicationcontext的区别beanfactory 是延迟加载,只有获取bean对象时才会创建bean对象applicationcontext 是立即加载,加载时就会创建bean对象,可以加上懒加载beanfactor

2023-02-27 16:21:22 46

原创 spring -依赖注入

依赖注入的方式:setter 注入(简单类型,引用类型),构造器注入(简单类型,引用类型)可以同时使用,使用构造器完成强依赖注入,使用setter注入完成可以使用选依赖注入。强制依赖使用构造器注入,使用setter注入有概率不进行注入导致null对象出现。spring框架倡导使用构造器,第三方内部框架使用构造器注入,更严谨。向类里传递数据的方式: 普通方法 set,构造方法。如果没有提供setter 需要使用构造器。可选依赖使用setter注入,灵活性强。自己开发的模块推荐使用setter。

2023-02-27 13:28:19 55

原创 Spring 简介-bean

spring 框架 ,了解配置,学习注解,spring 5 ,对应jdk1.8以上spring boot 简化开发spring cloud 分布式开发。

2023-02-26 14:56:58 266

原创 算法分析简介

时间复杂度分析事后分析,写测试程序去算,不方便消耗人力物力事前分析:算法执行的时间和问题的输入的规模有关分析算法的运行时间,最重要的就是把核心操作的次数和输入的规模关联起来,关心的是当输入规模不断增大时,算法的增长量的一个抽象归规律。

2023-02-21 00:58:56 43

原创 java io基础知识总结

io是input 和output,输入和输出,在java中分为输入流和输出流也可以根据数据的处理方式分为字节流,字符流java的io流的40 多个类,是从以下的四个抽象类基类中抽象出来的inputstream /reader,前者字节输入,后者字符输入outputstream/writerinputstream 字节输入流:用于从源头通常是文件 读取数据到内存中,是所有字节输入流的父类read():返回输入流中的下一个字节数据read(byte b[]) 从输入流中读取一些字节存储到数组b中,如果数组长度为

2023-02-20 21:55:58 243

原创 Spring 简介,配置文件

Bean 的依赖注入分析 是spring框架核心IOC的具体实现,在编写程序时通过控制反转,把对象交给了Spring,但是代码中不能出现没有依赖的情况,ioc解耦只是降低他们的依赖关系,但不会消除,业务层仍然会调用持久层方法,持久层和业务层的关系在使用spring之后就由spring来处理维护,框架会把持久层的对象传入业务层。优势:方便解耦 简化开发,aop的编程支持,声明式的事务支持,方便测试,方便集成各种优秀的框架,降低java ee api 的使用难度,Java源码经典学习典范。

2023-02-08 02:11:25 108

原创 会话&cookie&session&filter&listener

http协议是无状态的,每次浏览器向服务器请求时,服务器都会将该请求视为新的请求,因此需要会话跟踪技术来实现会话内数据共享。会话跟踪:一种维护浏览器状态的方法,服务器需要识别多次请求是否来自于同一浏览器,以便在同义词会话的多次请求见共享数据。用户打开浏览器,访问web服务器资源,会话建立,直到有一方断开连接,会话结束,再一次会话中可以包含多次请求和响应。分类: servletcontest,session,request 监听。拦截路径的配置: 拦截具体资源,目录拦截,后缀名拦截,拦截所有。

2023-02-06 17:24:24 59

原创 HTTP &tomcat&servlet

Tomcat: 开源轻量级web 服务器,是一个应用程序,对http协议的操作进行封装,主要功能是提供网上信息浏览服务,也称为 web 容器,servlet 容器。在一个方法里使用另一个方法的局部变量:把局部变量的作用域提升,将局部变量提升到成员变量里,在使用this关键字在方法里给成员变量赋值,总之域提升以后就可以使用。get 请求和post请求:get请求参数在请求行中,没有请求体,post请求参数在请求体中。httpservlet原理: 获取请求方式,根据不同的请求方式,调用不同的doxxxx方法。

2023-02-03 20:49:31 80

原创 Maven & Mybatis

在映射配置文件中的resultType 属性需要配置数据封装的类型(类的限定全名),但是比较麻烦,mybatis 提供了typeAliases 可以简化这部分书写,首先需要给核心配置文件类型起别名,就意味着给配置的包下的所有类起了别名。专门用于管理和构建java项目的工具,主要功能:提供标准化的项目结构,提供标准化夫人构建流程,提供了依赖管理机制。管理项目所依赖的第三方资源(jar 包 ,插件),此前的操作是下载对应的jar包再复制到lib路径下。

2023-01-27 18:39:24 173

原创 JDBC练习

在pojo包下实体类 brand。

2023-01-26 19:18:42 80

原创 JDBC简介

2.流程:创建工程导入驱动jar 包(放在lib目录下), 注册驱动(mysql5之后的驱动包可以省略注册驱动的步骤), 获取连接,获取数据库,定义sql,获取sql 的对象,执行sql,打印,关闭资源。xxx getXxx(参数):获取数据 如 int getInt(参数)这类型的参数是列的编号 从1 开始,String getString(参数)这类参数是列的名称。mysql 服务端会对sql 语句进行如下操作 检查sql 语句 编译sql语句,将sql语句编译成可执行的函数,执行sql语句。

2023-01-26 14:33:57 41

原创 数据库设计

数据库设计就是根据业务系统的具体需求,结合我们所选用的DBMS ,为这个业务系统构造出最优的数据存储模型,建立数据库中的表结构以及表与表之间的关联关系的过程。eg 员工与部门表,一个部门对应多个员工,一个员工对应一个部门,所以在员工表里添加外键,指向部门表的主键。note: mysql 中的事务是自动提交的,即使不添加执行语句,语句执行完毕也会自动提交。一对一关系多用于表拆分,将经常使用的字段放一张表,不经常的放另一张表,用于提升查询性能。子查询语句如果是单行单列,子查询语句作为条件值,使用=!

2023-01-25 15:19:45 57

原创 Mysql 基础

条件查询(where),分组查询(group by),排序查询(order by),分页查询(limit)添加数据 给指定列添加 insert into 表名(列名1,列名2) values (值1 ,值2)分页查询 limit(起始索引,查询条目数)起始索引从0开始,起始索引=(当前页面-1)*每页显示的条数。聚合函数:count(列名) max (列名)min (列名) sum(列名) avg(列名)批量添加数据 insert into 表名 ()values(),(),

2023-01-24 17:32:24 59

原创 深入Web请求过程

B/S架构的好处客户端统一使用的浏览器浏览器的使用简单服务端基于统一的Http,统一的HTTP协议简化了开发模式,基于HTTP协议的服务器有 Apache IIS Nginx Tomcat JBoos,这些服务器可以直接使用 不需要单独开发 开发者提供简单的逻辑 ,其他一切平台和框架都可以直接拿来使用1.1 B/S网络架构概述基于http 来交互数据 传统的C/S采用的长连接交互模式 http采用短连接的通信方式,一般一次请求就完成了一次数据交互 对应一个业务逻辑网络结构比较复

2023-01-24 14:11:37 136

原创 Java web 学习 之servlet

介绍: 提供动态Java web资源开发技术是一种 接口 需要定义servlet 实现类实现 接口,并且 由web 服务器运行动态web 资源是不同用户访问得到不同的结果 由tomcat 创建接口有五个方法 需要实现类 全部实现快速入门:创建 web项目 导入servlet 依赖坐标<dependency>创建:定义一个类 实现servlet 接口 并且重写接口中所有的方法 ,并且在 service 方法中输出一句话,代表被执行,配置 在 类上使用@w

2023-01-23 12:52:08 1380

空空如也

空空如也

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

TA关注的人

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