自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 javaweb--web(1)

HyperText Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。三:Servlet四:RequestRequest:获取请求数据Response:设置响应数据@Override//重定向/*//1.设置响应状态码 302//2. 设置响应头 Location*///简化方式完成重定向//动态获取虚拟目录外部资源也可以请求@Override。

2024-03-30 20:40:36 347

原创 javaweb--JavaScript

五:BOMDOM文档对象模型。也就是JavaScript将HTML文档的各个组成部分封装为对象。DOM其实我们并不陌生,之前在学习XML就接触过,只不过XML文档中的标签需要我们写代码解析,而HTML文档是浏览器解析。封装的对象分为:Document:整个文档对象Element:元素对象Attribute:属性对象Text:文本对象Comment:注释对象作用:JavaScript 通过DOM, 就能够对HTML进行操作了;改变 HTML。

2024-03-23 15:49:22 649

原创 Javaweb--CSS

一:概述一:概述CSS (Cascading Style Sheet(层叠样式表))是一门语言,用于控制网页表现。W3C标准规定了网页是由以下组成:结构:HTML表现:CSS行为:JavaScript二:CSS导入方式。

2024-03-16 10:16:59 620

原创 JavaWeb--HTML

一:HTML简介一:HTML简介*HTML是一门语言,所有的网页都是用HTML这门语言编写出来的;*HTML:超文本标记语言;超文本:超越了文本的限制,比普通文本更强大。除了文字信息,还能定义图片,音频,视频等内容标记语言:由表签构成的语言*HTML运行在浏览器上,HTML标签由浏览器来解析;*标签都是预定义好的。例如:使用展示图片*W3C标准:网页主要由三部分构成结构:HTML;表现:CSS;行为:JavaScript;二:HTML快速入门。

2024-03-14 17:55:11 1121

原创 JavaWeb--Mybatis

一:Mybatis概述一:Mybatis概述1.Mybatis概念MyBatis是一款优秀的,用于简化JDBC开发;MyBatis本是Apache的一个开源项目年这个项目由迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github;官网:负责将数据到保存到数据库的那一层代码。以后开发我们会将操作数据库的Java代码作为持久层。而Mybatis就是对jdbc代码进行了封装。JavaEE。

2024-03-09 21:13:22 992

原创 JavaWeb--Maven

Maven是专门用于管理和构建Java项目的工具,它的主要功能有:提供了一套标准化的项目结构提供了一套标准化的构建流程(编译,测试,打包,发布……提供了一套依赖管理机制2.Maven模型是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档。官网 :3.仓库我们创建Maven项目,在项目中使用坐标来指定项目的依赖,那么依赖的jar包到底存储在什么地方呢?其实依赖jar包是存储在我们的本地仓库中。

2024-03-09 10:10:20 456

原创 JavaWeb--JDBC

一:JDBC概述一:JDBC概述。

2024-03-02 17:21:28 912

原创 JavaWeb----MySQL

英文:,简称SQL结构化查询语言,一门操作关系型数据库的编程语言定义操作所有关系型数据库的统一标准对于同一个需求,每一种数据库操作的方式可能会存在一些不一样的地方,我们称为方言。

2024-02-29 16:50:05 1185 1

原创 MySQL的优化

一:概念在应用的开发过程中,由于初期数据量小,开发人员写SQL语句时更重视功能上的实现,但是当应用系统正式上线后,随着生产数据量的急剧增长,很多SQL语句开始逐渐暴露出性能问题,对生产的影响也越来越大,此时在这些有问题的SQL语句就成为整个系统性能的瓶颈,因此我们必须要对它们进行优化。MySQL的优化方式有很多,大致我们可以从以下几点来优化MySQL:从设计上优化;从查询上优化;从索引上优化;从存储上优化;二:查看SQL执行频率三:定位低效率执行SQL。

2024-02-19 10:40:26 863

原创 MySQL的日志

在任何一种数据库中,都会有各种各样的日志,记录着数据库工作的方方面面,以帮助数据库管理员追踪数据库曾经发生过的各种事件,MySQL也不例外。

2024-02-17 10:11:41 483

原创 MySQL的锁机制

在数据库中,除传统的计算资源(如CPU,RAM,I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性,有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。锁是计算机协调多个进程或线程并发访问某一资源的机制(避免争抢);二:MyISAM表锁。三:InnoDB行锁。

2024-02-17 09:27:15 666

原创 MySQL的事务

lsolate,顾名思义就是将事务与另一个事务隔离开,为什么要隔离呢?如果一个事务正在操作的数据被另一个事务修改或删除了,最后的执行结果可能无法达到预期。如果没有隔离性还会导致其他问题。

2024-02-08 20:34:04 621

原创 MySQL的存储引擎

一:概念二:分类三:操作

2024-02-07 22:28:32 433

原创 MySQL的索引

一般来说,索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储在磁盘上;这样的话,索引查找过程中就要产生磁盘I/O消耗,相对于内存存取,I/O存取的消耗要高几个数量级,所以评价一个数据结构作为索引的优劣最重要的就是在查找过程中磁盘I/O操作次数的渐进复杂度;换句话说,索引的结构组织要尽量减少查找过程中磁盘I/O的存取次数;

2024-02-07 21:48:53 1204

原创 MySQL的触发器

二:基本操作-- 用户表-- 用户信息操作日志表-- 需求1:当user表添加一行数据,则会自动在user_log添加日志记录-- 定义触发器 trigger_test1insert into user_logs values(NULL,now(),'有新用户添加');-- 在user表添加数据,让触发器自动执行insert into user values(1,'张三','123456');-- 需求2:当user表数据被修改时,则会自动在user_log添加日志记录begin。

2024-02-05 21:52:44 820

原创 MySQL的存储过程

MySQL 5.0 版本开始支持存储过程;简单来说,存储过程就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法;存储过程就是数据库SQL语言层面的代码封装与重用;系统变量又分为全局变量与会话变量;全局变量在MYSQL启动的时候由服务器自动将它们初始化为默认值,这些默认值可以通过更改my.ini这个文件来更改;会话变量在每次建立一个新的连接的时候,由MYSQL来初始化。MYSQL会将当前所有全局变量的值复制一份,来做为会话变量;

2024-02-05 17:11:57 1547

原创 MySQL的视图

修改视图是指修改数据库中已存在的表的定义,当基本表的某些字段发生改变时,可以通过修改视图来保持视图和基本表之间一致。安全原因,如果一张表中有很多数据,很多信息不希望让所有人看到,此时可以使用视图,如:社会保险基金表,可以用视图只显示姓名,地址,而不显示社会保险号和工资数等,可以对不同的用户,设定不同的视图。使用视图查询数据时,数据库系统会从原来的表中取出对应的数据,因此,视图中的数据是依赖于原来的表中的数据的,一旦表中的数据发生改变,显示在视图中的数据也会发生改变。

2024-02-02 16:20:52 457 1

原创 MySQL的函数

在窗口中每条记录动态地应用聚合函数( sun(),avg(),max(),min(),count() ),可以动态计算在指定的窗口内的各种聚合函数值。用途:每行按照公式(rank-1)/(rows-1)进行计算,其中,rank为rank()函数产生的序号,rows为当前窗口的记录总数。用途:返回位于当前行的前n行(lag(expr,n))或后n行(lead(expr,n))的expr的值。分类:聚合函数,数学函数,字符串函数,日期函数,控制流函数,窗口函数。case when 语句。

2024-02-02 13:17:33 479

原创 MySQL 的多表查询

1.实际开发中,一个项目通常需要很多张表才能完成,例如:一个商城项目就需要分类表,商品表,订单表等多张表,且这些表的数据之间存在一定的关系。,中间表至少包含两个字段,将多对多的关系,拆分成一对多的关系,中间表至少要有两个外键,这两个外键分别指向原来的那两张表的主键。(1)子查询就是指的是在一个完整的查询语句之中,嵌套若干个不同功能的小查询,从而一起完成复杂查询的一种编写形式,通俗一点就是。实现原则:在多的一方建立外键,指向一的一方的主键。:返回的是一个具体列的内容,可以理解为一个单值数据;

2024-01-29 14:44:04 948

原创 MYSQL数据库基本操作-DQL-基本查询

正则表达式描述了一种字符串匹配的规则,正则表达式本身就是一个字符串,使用这个字符串来描述,用来匹配规则,匹配一系列符合某个语法规则的字符串,在开发中,正则表达式通常被用来检索,替换那些符合某个规则的文本。之前我们做的查询都是横向查询,它们都是根据条件一行一行的进行判断,而使用聚合函数查询是纵向查询,它是对一列的值进行计算,然后返回一个单一的值;如果要进行分组的话,则select字句之后,只能出现分组的字段和统计函数,其他的字段不能出现(分组之后,selete的后面只能写分组字段和聚合函数)

2024-01-24 21:05:11 1039

原创 MYSQL约束

(3)当使用zerofill时,默认会自动加unsigned(无符号)属性,使用unsigned属性后,数值范围是原值的2倍,例如,有符号为-128~+127,无符号为0~256。(2)作用:表在设计的时候加入约束的目的就是为了保证表中的记录完整性和有效性,比如用户表有些列的值(手机号)不能为空,有些列的值(身份证号)不能重复。例如,为id字段加上唯一性约束后,每条记录的id值都是唯一的,不能出现重复的情况。(1)插入数据时,当该字段的值的长度小于定义的长度时,会再该值的前面不上相应的0。

2023-12-22 17:43:28 91 1

原创 MYSQL数据库基本操作--DML

注意:delete和truncate原理不同,delete只删除内容,而truncate类似于drop table,可以理解为是将整个表删除,然后再创建该表。DML是指数据操作语言,英文全称是Data Manipulation Language,用来对数据库中表的数据记录进行更新。关键字:插入insert;

2023-12-21 17:30:39 52

原创 MYSQL数据库基本操作--DDL

(2)数据类型(数据类型是指在创建表的时候为表中字段指定数据类型,只有数据符合类型要求才能储存起来,使用数据类型的原则是:够用就行,尽量使用取值范围小的,而不用范围大的,这样可以更多的节省存储空间)DDL(Date Definition Lauguage),数据定义语言,该语言包括以下部分。3>字符串类型(用''赋值)1.对数据库的常用操作。2.对表结构的常用操作。

2023-12-21 16:12:59 240

原创 JDK8新特性:Stream

Stream流大量的结合了Lambda的语法风格来编程,提供了一种更加强大,更加简单的方式操作集合或者数组中的数据,代码更简洁,可读性更好。:也叫Stream流,是Jdk8开始新增的一套API (java.util.stream.*),可以用于操作集合或者数组的数据。(中间方法指的是调用完成后会返回新的Stream流,可以继续使用(支持链式编程) )收集Stream流:就是把Stream流操作后的结果转回到集合或者数组中去返回。(终结方法指的是调用完成后,不会返回新Stream了,没法继续使用流了)

2023-12-19 20:34:31 65

原创 Map集合

如果键存储的是自定义类型的对象,可以通过重写hashCode和equals方法,这样可以保证多个对象内容一样时,HashMap集合就能认为是重复的。HashMap集合是一种增删改查数据,性能都较好的集合 ,但是它是无序,不能重复,没有索引支持的(由键决定特点)实际上:原来学的Set系列集合的底层就是基于Map实现的,只是Set集合中的元素只要键数据,不要值数据而已。Map集合的所有键是不允许重复的,但值可以重复,键和值是一一对应的,每一个键只能找到自己对应的值。

2023-12-19 19:07:07 27

原创 Collection的其他相关知识

1.可变参数:就是一种特殊形参,定义在方法、构造器的形参列表里,格式是:数据类型...参数名称;特点:可以不传数据给它;可以传一个或者同时传多个数据给它;也可以传一个数组给它。2.Collections提供的常用静态方法。(2)一个形参列表中可变参数只能有一个。(3)可变参数必须放在形参列表的最后面。(1)可变参数在方法内部就是一个数组。好处:常常用来灵活的接收数据。1.是一个用来操作集合的工具类。2.可变参数的特点和好处。

2023-12-18 20:37:59 16

原创 注意事项:集合的并发修改异常问题

由于增强for循环遍历集合就是迭代器遍历集合的简化写法,因此,使用增强for循环遍历集合,又在同时删除集合中的数据时,程序也会出现并发修改异常的错误。用LinkedHashSet集合(有序,不重复,无索引), 底层基于哈希表和双链表。用HashSet集合(无序,不重复,无索引),底层基于哈希表实现的。或者从前往后遍历,但删除元素后做i --操作。1、如果希望记住元素的添加顺序,需要存储重复的元素,又要频繁的根据索引查询数据?4.如果希望记住元素的添加顺序,也没有重复元素需要存储,且希望增删改查都快?

2023-12-17 11:02:01 31

原创 Set集合

结论:如果希望Set集合认为两个内容一样的对象时重复的,必须重写对象的hashCode()和equals()方法。依然是基于哈希表(数组,链表,红黑树)实现的,但是,它的每个元素都额外的多了一个双链表的机制记录它前后元素的位置。HashSet集合默认不能对内容一样的两个不同对象取重复(即相同的两个数据,会认为其不相同,返回两个对象出来)二叉查找树存在的问题: 当数据已经是排好序的,导致查询的性能与单链表一样,查询速度变慢。特点:不重复,无索引,可排序(默认升序排序,按照元素的大小,由小到大排序)

2023-12-17 10:27:30 22

原创 List集合

(1)ArrayList适合:根据索引查询数据,比如根据随机索引取数据(高效),或者数据量不是很大的时候。(1)链表中的结点是独立的对象,再内存中是不连续的,每个节点包含数据值和下一个结点的地址。(只是在首尾增删元素,用LinkedList来实现很合适,先进先出,后进后出)(只是在首部增删元素,用LinkedList来实现很合适,后进先出,先进后出)(2)特点:查询慢,增删相对较快,但对首尾元素进行增删改查的速度是极快的。(2)ArrayList不适合:数据量大的同时,又要频繁的进行增删操作。

2023-12-16 11:19:40 25

原创 Collection集合

是用来遍历集合的专用方式(数组没有迭代器)在Java中迭代器的代表是lterator。(2)遍历集合中的3个电影对象,输出每部电影的详情信息。(1)每部电影都是一个对象,多部电影要使用集合装起来。4.遍历集合中的自定义对象。3.lambda表达式。需求:展示多部电影信息。

2023-12-16 09:15:36 24

原创 异常~~~

Java无法为这个世界上全部的问题都提供异常类来处理,如果企业自己的某种问题想通过异常来表示,以便用异常来管理该问题,那就需要自己来定义异常类了。异常可以作为方法内部的一种特殊返回值,以便通知上层调用者底层的执行情况。ctrl+alt+t选择try...catch。:异常是用来查询系统Bug的关键参考信息。异常就是代表程序出现的问题。(2)捕获异常,尝试修复。

2023-12-15 16:23:07 21

原创 正则表达式

需求1:把下面文本中的电话,邮箱,座机号码,热线都爬取出来。就是用一些特定的字符组成,代表的是一个规则。作用二:在一段文本中查找满足要求的内容。作用一:用来校验数据格式是否合法。五.用于搜索替换,分隔内容。使用正则表达式的代码。

2023-12-14 17:16:59 32

原创 算法~~~

核心思想:每次排除一半的数据,查询数据的性能明显提高极多。Java含有binarySearch方法,可以直接调用。每轮选择当前位置,开始找出后面的较小值与该位置交换。每次从数组中找出最大值放在数组的后面去。开始位置left<=结束位置right。前提条件:数组中的数据必须是有序的。结论:二分查找正常的折半条件应该是。解决某个实际问题的过程和方法。

2023-12-12 20:41:55 19

原创 JDK8新特性:方法引用

如果某个Lambda表达式里只是调用一个实例方法,并且前面参数列表中的第一个参数是作为方法的主调,后面的所有参数都是作为该实例方法的入参的,则此时就可以使用特点类型的方法引用。使用场景:如果某个Lambda表达式里只是调用一个实例方法,并且前后参数的形式一致,就可以使用实例方法引用。使用场景:如果某个Lambda表达式只是调用一个静态方法,并且前后参数的形式一致,就可以使用静态方法。如果某个Lambda表达式里只是在创建对象,并且前后参数情况一致,就可以使用构造器引用。

2023-12-08 21:23:24 28

原创 JDK8新特性:Lambda表达式

2.将来我们见到的大部分函数式接口,上面都可能会有一个@Functionallterface的注解,有该注解的接口就必定是函数式接口。Lambda表达式是JDK8开始新增的一种语法形式;作用:用于简化匿名内部类的代码写法。注意:Lambda表达式只能简化函数式接口的匿名内部类。函数化接口:1.有且仅有一个抽象方法的接口。

2023-12-08 20:05:25 24

原创 Array ,数组排序

1.Array:用来操作数组的一个工具类。2.对数组中的数据进行排序。

2023-12-07 20:56:52 45

原创 API新增时间(Period ,Duration)

-------可以用于计算两个事件对象相差的天数,小时数,分数,秒数,纳秒数;支持LocalTime,LocalDateTime,Instant等时间。-------可以用于计算两个LocalDate对象相差的年数,月数,天数。二.Duration:计算时间间隔(时,分,秒,纳秒)一.Period:计算日期间隔(年,月,日)

2023-12-07 20:31:28 43

原创 API新增时间(DateTimeFormatter)

DateTimeFormatter:格式化器,用于时间的格式化,解析(

2023-12-07 19:42:37 33

原创 API(新增时间) (Instant)

--新增的Instant类,可以精确到纳秒,并且是不可变对象,推荐用Instant代替Date。---作用:可以用来记录代码的执行时间,或用于记录用户某个事件的时间点。---传统的Date类,只能精确到毫秒,并且是可变对象。Instant:时间线上的某个时刻。

2023-12-06 20:32:27 29

原创 API(新增时间)(ZoneId ZonedDateTime)

时区:由于世界各个国家与地区的经度不同,各地区的时间也有所不同,因此会划分为不同的时区。ZoneId (时区) ZonedDateTime(带时区的时间)世界标准时间:UTC。

2023-12-05 20:46:24 30

空空如也

空空如也

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

TA关注的人

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