自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Session

当客户端再次访问服务器时,会在请求中带着sessionId给服务器,服务器通过sessionId到session池中找到session对象,这就可以完成会话跟踪了。HttpSession类它提供了setAttribute()和getAttribute()方法存储和检索对象,提供了一个会话ID关键字,一个参与会话行为的客户端在同一会话的请求中存储和返回它。sessionId是服务器通过Cookie发送给客户端浏览器的,这个Cookie的maxAge为-1,即只在浏览器内存中存在。配置位于web.xml。

2022-11-30 20:44:25 186 1

原创 Servlet

此外,Servlet对象对Web应用进行了封装,提供了Servlet对Web应用的编程接口,还可以对HTTP请求进行相应的处理,如提交数据、会话跟踪、读取和设置HTTP头信息。Java语言是跨平台的,所谓跨平台是不依赖于操作系统,它可以运行到多个系统平台中,如目前常用的操作系统Windows、Linux和UNIX等,由于Servlet使用Java语言编写,所以Servlet继承了Java语言的优点,程序一次编码,多平台运行,拥有超强的可移植性。- 4、Servlet是一个早期的不完善的产品,代码编写复杂.

2022-11-30 20:40:04 449

原创 CSS选择器

本质上就是通过一个一个矩形盒子包起来,然后进行排版组合,那么接下来要详细研究这个标签盒子的细节结构,以帮助学习如何使用它,但是在开始研究它之前,我们先来讲解一个概念,选择器的概念。此时,三个家庭成员都选中了这个男人,干同样的事情,但提出不同的需求,此时这个男人的心中就自然而然做出了排序,就有了谁在他心中更优先的问题。选择器优先级最高,导致一些交互性的选择器无法生效,因此前端规范要求,在设置标签样式时,只使用class。选择器优先级问题,是指当多个选择器选中一个标签,设置相同的样式时谁优先生效的问题。

2022-11-28 21:16:13 403

原创 CSS3基础

由于创建高级的布局非常耗时,使用模板是一个快速的选项。通过搜索引擎可以找到很多免费的网站模板(您可以使用这些预先构建好的网站布局,并优化它们)通过编辑单一的文件,就可以改变所有页面的布局。浏览器上如果是盒子跟盒子平级,对应的代码中,就是标签跟标签平级。浏览器上如果是盒子跟盒子嵌套,对应的代码中,就是标签跟标签嵌套。注释是用来解释你的代码,并且可以随意编辑它,浏览器会忽略它。CSS描述了在屏幕、纸质、音频等其它媒体上的元素应该如何被渲染的问题。页面上的盒子按照从左到右,从上到下的方式排列盒子。

2022-11-24 20:01:48 299

原创 HTML文档基本结构

现实生活中,任何一个文档都是具有一定的格式,不同的文档,基本格式不同,例如:请假条、调休单、剧本、年中总结、十九大报告、等等,而我们所编写等html。文档的第一行是文档中唯一个非标签字符,起文档说明作用,用来告知浏览器,当前文档是一个支持html5。比如不能在文本中使用大于,小于标记或者尖括号,因为浏览器可能会误认为它们是标记。是文档中唯一个非标签字符,指示浏览器按照哪种标记语言规则编写,不可省略,以确保浏。base标记是一个基链接标记,是一个单标记。提供有关页面的元数据,即与文档相关联的名值对,

2022-11-22 21:02:05 92

原创 Web应用开发

在客户机上对数据的处理被进一步简化,将浏览器作为客户端的应用程序,以实现对数据的显示。这样,在客户端只需要安装一套内置浏览器的操作系统,就可以实现服务器上数据的访问。是一个基于请求与响应模式的、无状态 的、应用层的协议,常基于TCP。程序的首选,因为Tomcat运行时占用的系统资源小、扩展性好、性能稳定,已经成为目前比较流行的。是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。文件以及图像文件等组成。长度有限制,一般采用的是数据包头的方式传输数据,只能传输ASCII。

2022-11-21 20:06:31 1872

原创 H5的基础

有标记(用尖括号包围的文字),标记告解析包围文本的所诉浏览器文本的结构和意义。通过使用标记可以告诉浏览器哪些文本是标题,哪些是内容。实际使用过程中,浏览器的种类繁多,并且统一浏览器还拥有不同的软件版本,因此在开发学习过程中,如何适配不同浏览器也是我们着重注意的点。浏览器本质:特殊的文件查看器,能够对.html文档中的特殊字符进行识别,自动渲染。应用提供了标准新的标准解决了三大问题:浏览器兼容问题,解决了文档结构不明确的问题,解决了Web。的目标是:它通过一些新标签,新功能为开发更加简、独立、标准的通用。

2022-11-19 14:43:56 426

原创 http基础

(长链接),客户端和服务器之间建立的连接可以复用,默认请求结束后保持连接一段时间,在这一段时间,对方都没有新的请求,就可以主动断开连接,或者客户端在最后一个请求时,主动告诉服务端要断开连接。协议规定浏览器与服务器只保持短暂连接,请求结束就断开连接这虽然减少了空连接的资源占用,但是增加了连接次数,连接的复用性降低,每次有新的请求就要重新建立一次连接。进行了二进制分帧(应用层和传输层之间的二进制分帧层),将传输信息分为更小的多个不同类型的帧,并进行标记,确保请求和响应的有序重组。这是一个很慢的过程。

2022-11-18 19:59:58 599

原创 WEB基础

WEB服务器就是一台连接到互联网的计算机,等待处理用户的各种请求(浏览网页、看电影、听音乐等)按照网站处理的业务不同,将网站可以分为:政府部门网站、电子商务网站、企业信息网站、信息资源网站、信息导航网站。上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet。逻辑结构是文档间关系的描述,它定义了文档间的链接,而物理结构则描述了文档的实际位置。的、全球性的、动态交互的、跨平台的分布式图形信息系统。从制作的角度,建立一个网站可分为十个阶段,每一个阶段都有不同的目标和要求。

2022-11-18 19:52:43 313

原创 JDBC事务实现

因为实际开发中,每次获取的连接,不一定是新的连接,而是从连接池中获取的旧的连接,而且关闭也不是真关闭,而是还给连接池,供别人接着用。以防别人拿到后,以为是自动提交的,而没有commit。,最终数据没有成功。希望这两个语句要么一起成功,要么一起回滚。)在订单明细表中添加多条订单明细的记录,表示该订单买了什么东西。执行多条语句,并要求组成一个事务一起执行的话。默认每一个连接是自动提交事务的。、在执行之前关闭自动提交,设置手动提交事务。的对象之前,把连接对象设置回自动提交,、如果执行成功,手动提交事务。

2022-11-17 20:15:33 306

原创 mysql中的悲观锁和乐观锁

唯一索引只有锁住多条记录或者一条不存在的记录的时候,才会产生间隙锁,指定给某条存在的记录加锁的时候,只会加记录锁,不会产生间隙锁。锁:间隙锁是封锁索引记录中的间隔,或者第一条索引记录之前的范围,又或者最后一 条索引记录之后的范围。使用间隙锁锁住的是一个区间,临键锁是记录锁与间隙锁的组合,它的封锁范围,既包含索引记录,又包含索引区间,是一个左开。于索引实现的,临键锁只与非唯一索引列有关,在唯一索引列(包括主键列)上不存在临键锁。锁是记录锁与间隙锁的组合,它的封锁范围,既包含索引记录,又包含索引区间。

2022-11-17 20:12:07 1832

原创 MySQL事务

不同的隔离级别对应不同的干扰程度,隔离级别越到,数据的一致性就越号,但是并发性越差。作为访问数据库的缓存,读取和修改操作都会涉及到缓存的操作,缓存会定期刷新到磁盘中,但是写入缓存的数据在系统宕机时会丢失,事务的持久性则无法保证。数据库重要的功能就是实现数据共享,对于同时运行的多个事务,当多个事务同时访问数据库中相同的数据时,如果没有采取必要的隔离机制,则会导致出现各种并发问题。多版本并发控制引入快照机制,每个事务都有自己的数据快照,即使其它事务提交数据,也不影响当前事务相关行的数据快照。

2022-11-16 20:10:53 92

原创 Innodb中的锁机制

Innodb:更新删除操作效率要求较高或者要求保证数据的完整性,同时考虑并发量要求高的场景下使用,例如OA。注意:所谓的行锁并不是直接锁定特定行的数据,实际上是锁定一个子范围,所以也称为间隙锁。采用的是全表锁,具有较高的查询执行速度,不支持事务和外键,并发性能差,但是占用。采用的是行级锁,可以提供具有提交、回滚和恢复能力的事务安全,支持自增长类,支持。采用的是全表锁,存储数据在内存中,速度快,但是占用和数据量成正比的内存空间,而。锁主要包括全局锁、表锁、行锁、乐观锁和悲观锁,需要解决的问题是死锁。

2022-11-16 19:57:33 123

原创 mysql数据库中的索引-2

中索引不建议使用过长的字段作为主键,因为所有的辅助索引都要使用主索引,过长的主索引会导致辅助索引变大,建议使用整型数据充当主键,占用空间少,比较速度快。当建立索引时默认使用字段的全部内容建立索引,可以指定使用字段的前10。使用前缀索引的前提是:字段的前缀标识度比较高,例如口令比较适合创建前缀索引,因为各个密码几乎都不相同。data域中的地址值,最后根据地址值获取对应行的数据,这种叶子节点不存储具体数据的方式叫做非聚集索引。如果添加个别字段的索引就可能出现索引覆盖,可以考虑为该字段建立索引。

2022-11-16 19:49:14 157

原创 数据库中的索引

磁盘的读取并不是严格的按需读取,每次都会预读,这是依据局部性原理:当一个数据被用到时,其附近的数据也通常会被用到。首先需要建立索引的数据规模比较大,所以造成索引的数据量也不会太小,不可能全部存储在内存中,索引经常需要以文件的形式存储在磁盘上,所以索引查找过程中就需要有磁盘IO。实际上在具体开发中通常不会删除主键,因为主键有自然主键和代理主键两种,建议的使用的是代理主键,代理主键和业务规则无关。树,只是查找时,如果非叶子节点上的关键字等于给定值时,并不终止,而是继续沿着指针指到叶子节点位置。

2022-11-14 20:41:14 92

原创 数据库中的范式

应用范式可以减少数据冗余,但是范式级别越高,则创建表的数量越多,查询效率则越低。所以在具体开发中经常采用降低范式要求,采用合理冗余数据的方式以提高查询效率考虑查询效率,所以一般只达到NF3即可,甚至有时会了提高查询效率会有意降低范式要求【反范式】设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。外码:一个属性(或属性组),它不是码,但是它别的表的码,它就是外码。全码:如果一个码包含了所有的属性,这个码就是全码。

2022-11-01 19:55:31 267

原创 mysql数据库中的函数

函数在计算机语言的使用中贯穿始终,函数的作用是什么呢?提供了丰富的内置函数,这些函数使得数据的维护与管理更加方便,能够更好地提供数据的分析与统计功能,在一定程度上提高了开发人员进行数据分析与统计的效率。提供的内置函数从实现的功能角度可以分为数值函数、字符串函数、日期和时间函数、流程控制函数、加密与解密函数、获取MySQL。内置函数是系统内置的通用函数,而自定义函数是根据自己的需要编写的。从函数定义的角度出发,可以将函数分成内置函数和自定义函数。函数的代码可移植性是很差的,因此在使用函数的时候需要特别注意。

2022-11-01 19:40:53 194

原创 数据库中的视图

如果在实际数据表的基础上创建了视图,那么,如果实际数据表的结构变更了,就需要及时对相关的视图进行相应的维护。将经常使用的查询操作定义为视图,可以使开发人员不需要关心视图对应的数据表的结构、表与表之间的关联关系,也不需要关心数据表之间的业务逻辑和查询条件,而只需要简单地操作视图即可,极大简化了开发人员对数据库的操作。所以,在使用的时候,要通过定义视图的查询语句来获取结果集。数据库中如果存在复杂的查询逻辑,则可以将问题进行分解,创建多个视图获取数据,再将创建的多个视图结合起来,完成复杂的查询逻辑。

2022-10-10 14:49:52 224

原创 跨数据库平台分页显示和特殊占位符

非运行时异常,必须在编码过程中针对异常进行处理。但是大部分出现的异常是不能通过编码解决,例如SQL。而且SQLException的颗粒度太粗,不能明确表达异常的原因。真正在数据显示时,不能一次性加载所有数据,建议采用的是按需加载。对象中关于字段的信息,提供了对应的方法获取字段相关的信息。//在当前行上执行修改指定列数据的操作。转换为运行时异常,由上层调用方进行处理。,可以用于获取查询结果集中的部分数据。的条件判断中,可以使用。

2022-10-10 14:36:51 230

原创 大对象Lob字段的处理

方法单向的读取数据;如果在读取数据库中的记录时不用逐个逐个的读取,而可以根据具体需要跳过几条记录再进行读取,或者从后向前读取。以前的老版本的驱动,官方 已经不再建议使用;值,如果需要返回自增长的主键值,则需要添加一个常量值作为参数。结果集的时候只能够只读访问,也就是只能读取里面的内容,不能做更改。如果批处理优势不明显,则没有必要使用批处理了,因为限制太多了。往数据库的表格中添加一条记录,其中有一个字段是自增的。之后,就可以使用结果集的方法使行指针任意滚动的方法。,所以只要驱动支持,加载驱动的操作可以省略。

2022-09-28 20:41:37 211

原创 MySQL运算符

15 查询孙权、黄盖、张三以及李四同学的成绩值。运算符时指定的值是离散的数据,不是连续值。查询成绩及格并且不属于优秀的所有学生信息。主要针对字符串类型数据进行模糊查询,通配符。用于判断某个列的取值是否为指定的值,使用。用于判断数据是否在指定的范围内,连续值。中针对字符串类型进行正则式进行判断,查询张三以及李四同学的成绩。判断是否为空,为空则返回。中的数据个数没有限制。

2022-09-26 21:03:33 59

原创 SQL概述

MySQL中的SQL语句是不区分大小写的,因此SELECT和select的作用是相同的,但是,许多开发。面试:select *,在阿里的开发规范中强制规则,不允许使用星号,要求指明需要查询的列名称。关系模式:就是关系的描述,表示方法【关系名(属性列表,...)】,例如学生(学号,姓名,性。在查询语句中使用星号代表获取表中的所有列,如果只获取其中一部分列,例如只查询用户的名称。关系就是一个带有表头的二维表格,表中的每行数据就是一个元组,元组的集合就是关系,每个列。同一个表中,字段不能重名。

2022-09-23 09:34:27 206

原创 数据库概论

关系型数据库是建立在关系数据模型基础上的数据库,借助集合代数的概念和方法处理数据库中的数据,同时也是一个被组织成具有描述的二维表格,表格的实质就是装载数据项的收集器,这些表格中的 数据能以不同的方式被存取或者重新召集,而不需要更新组织数据库的表格。结构化查询语言是一种数据库操作的非过程式编程语言,用于存取数据以及查询、更新和管理关系型数据库系统,一般脚本文件后缀为.sql。组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并在一定的范围 内可以被多个用户共享。

2022-09-21 20:06:23 72

原创 java中的反射机制

比如很多框架Spring都是配置化的(比如通过XML文件配置Bean),为了保证框架的通用性,可能需要根据配置文件加载不同的类或者对象,调用不同的方法,这个时候就必须使用到反射了,运行时动态加载需要的加载的对象。在运行时获得类的各种内容,进行反编译,对于Java这种先编译再运行的语言,能够很方便的创建灵活的代码,这些代码可以在运行时装配,无需在组件之间进行源代码的链接,更加容易实现面向对象。动态获取类的信息以及动态调用对象的方法称为Java的反射Reflection机制。

2022-09-15 19:48:18 208

原创 java网络编程中的粘包处理

NIO Socket是非阻塞的通讯模式,与IO阻塞式的通讯不同点在于NIO的数据要通过Channel放到一个缓存池ByteBuffer中,然后再从这个缓存池中读出数据,而 IO 的模式是直接从InputStream中read。粘包问题主要是由于数据包界限不清,最好的解决办法就是在发送数据包前事先发送一个int型数据,该数据代表将要发送的数据包的大小,这样接收端可以每次触发OP_READ的时候先接受一个int大小的数据段到缓存池中,然后,紧接着读出后续完整的大小的包,这样就会处理掉粘包问题。

2022-09-14 19:56:25 481

原创 Java网络编程

它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。URL对象代表统一资源定位器,是指向互联网资源的指针,资源可以是简单的文件或目录,也可以是对复杂对象的引用,例如对数据库或搜索引擎的查询。发送方和接收方的成对的两个socket之间必须建立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接时,另一个socket可以要求进行连接,一旦这两个socket连接起来,它们就可以进行双向数据传输,双方都可以进行发送 或接收操作。

2022-09-13 20:17:10 247

原创 ConcurrentHashMap

hash冲突严重时,Node链表越来越长,将导致严重的锁竞争,此时会进行扩容,将Node进行再散列。- 减小锁粒度:将Node链表的头节点作为锁,若在默认大小16情况下,将有16把锁,大大减小了锁竞争(上下文切换),就像开头所说,将串行的部分最大化缩小,在理想情况下线程的put操作都为并行操作。在get操作的源码中,会判断Node中的hash是否小于0,是否还记得我们的占位Node,其hash为MOVED,为常量值-1,所以此时判断线程正在迁移,委托给fwd占位Node去查找值。

2022-09-06 19:59:56 223

原创 hashmap和hashtable基础理论

hashmap和hashtable

2022-09-01 20:28:45 208

原创 hash表

哈希表和map

2022-08-31 20:52:53 89

原创 java中的集合框架基础-3

各种Set的区别,Collection和Collections的区别,以及Objects工具类

2022-08-30 21:22:22 72

原创 泛型,栈和队列

泛型以及栈和队列

2022-08-29 19:33:01 213

原创 java中集合框架的基础-1

集合

2022-08-27 15:03:10 248

原创 java中的线程基础-6

Lock接口和synchronized关键字的区别

2022-08-26 19:54:16 80

原创 java中的线程基础-5

生产者和消费者模式

2022-08-26 19:40:51 77

原创 java中的线程基础-4

线程基础

2022-08-18 20:23:50 108

原创 java中的线程基础-3

线程

2022-08-17 20:37:19 108

原创 java中的线程基础-2

线程

2022-08-16 19:14:53 50

原创 java中的线程基础-1

并发:通过cpu调度算法,让用户看上去同时执行,实际上从cpu操作层面不是真正的同时并发往往在场景中有公用的资源,那么针对这个公用的资源往往产生瓶颈,我们会用TPS(每秒钟处理的事务数)或者QPS(每秒钟处理的请求数)来反应这个系统的处理能力。1.线程是进程中的一个实体,用来描述进程的执行,它负责执行包括在进程的地址空间中的代码。结果只可以在计算完成之后获取,- 并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可以并发执行,一个进程至少有一个线程(单进程单线程),一个线程必须隶属于某个进程。

2022-08-15 20:29:21 101

原创 java中的NIO基础

java中的NIO基础

2022-08-12 20:21:35 80

原创 java中的BIO基础-6

可以自由移动该记录指针RandomAccessFile包含两个方法来操作文件记录指针:文件指针是按照字节数进行统计,取值范围为[0,file.length()]如果文件中间的内容需要进行修改,注意新内容中的字串和原始文件内容的长度应该一致,否则可能会导致修改数据后面的内容无法正常读取。输出流体系中功能最丰富的文件内容访问类,既可以读取文件内容,也可以向文件输出数据。类似,只是仅对文件的内容同步更新到磁盘,而不修改文件的元数据。对象时,该对象的文件记录指针对于文件头(也就是。指定的文件执行写入方法则会抛出。

2022-08-11 20:39:58 80

空空如也

空空如也

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

TA关注的人

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