自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

本博主是 Java 全站工程师(后端+前端+运维),当然也是 C/C++ 程序员;

博主一共有 4000 万字笔记,才刚开始坚持写博客;都是博主看书笔记,后续有时间就会更新;不收费,有问题给我私信;

  • 博客(52)
  • 收藏
  • 关注

原创 《JSP+Servlet+Tomcat》原书读书笔记(第 7 章)

过滤器和监听器是 Servlet 规范里的两个高级特性,过滤器通过对 request、response 的修改实现特定的功能,例如请求数据字符编码、IP 地址过滤、异常过滤、用户身份认证等。监听器的作用是监听 Web 程序中正在执行的程序,根据发生的事件做出特定的响应。第4 章讲解了Servlet 的原理、生命周期、部署的方法等,从而让读者了解了如何编写一个 Servlet,如何完成一个动作流程。(2)监听器的作用是什么以及如何编写和部署监听器。(3)过滤器的作用是什么以及如何使用过滤器。

2025-11-14 22:21:13 83

原创 《JSP+Servlet+Tomcat》原书读书笔记(第 6 章)

在人机交互过程中,会话管理是指保持用户的整个会话活动的交互与计算机系统跟踪的过程。会话管理分为桌面会话管理、浏览器会话管理、Web 会话管理。本书讨论的是 Web 会话管理(通常指的是 session 以及Cookie),也称为会话跟踪。(3)HttpSession 会话管理的实例演示。(2)HttpSession 会话管理。(1)会话管理的基本原理。

2025-11-12 20:57:57 202

原创 《JSP+Servlet+Tomcat》原书读书笔记(第 5 章)

在 JSP 开发中,请求与响应是最基本的两个内置对象。一个 Web 应用系统,必须得有请求和响应才能构建一个完整的程序。了解请求与响应的原理和方法可以有效提高前端人员的开发效率。(2)如何读取 Body 内容,取得上传文件、调派请求。(3)如何输出字符、二进制流对象。(1)掌握请求和响应的基本概念。

2025-11-05 11:20:25 89

原创 《JSP+Servlet+Tomcat》原书读书笔记(第 4 章)

在 Web 应用中,Servlet 是一项重要的技术。Servlet 是利用 Java 类编写的服务器端程序,与平台架构、协议无关。JSP 的实质是 Servlet,因为 JSP 在执行第一次后,会被编译成 Servlet 的类文(即 .class),当再重复调用执行 JSP 时,就直接执行第一次所产生的 Servlet,而不再重新把 JSP 编译成 Servelt,所以 Servlet 至关重要。(4)Servlet 与 JSP 之间的关联与区别。(1)Servlet 的基本概念和技术特点。

2025-11-03 17:21:24 215

原创 《JSP+Servlet+Tomcat》原书读书笔记(第 3 章)

JSP 内置对象是指可以直接在 JSP 页面中使用的对象,使用前不需要声明它们。若能熟悉并了解 JSP 内置对象,则可以方便读者更好地操作页面、开发页面,完成更复杂的业务流程。本章主要涉及的知识点有:(1)讲解 8 个内置对象 request、response、session、application、out、page、config、pageContext 的作用和使用方法。(2)了解 JSP 的 4 个作用域。

2025-10-31 14:16:31 975

原创 《JSP+Servlet+Tomcat》原书读书笔记(第 2 章)

JSP 基础语法:与编写 HTML 一样容易上一章介绍了 Web 开发所需的基础知识以及如何安装 JDK、IntelliJ IDE 以及 Tomcat 应用服务器,本章将要介绍 JSP 的基本语法、如何在 JSP 页面中嵌套 Java 以及 JSP 的指令等。从本章开始,读者将正式开始学习 JSP技术。本章主要涉及的知识点有:(1)JSP 中的注释表达式(2)JSP 中的声明表达式(3)JSP 中指令标签的作用和使用方法。

2025-10-31 13:25:48 931

原创 《JSP+Servlet+Tomcat》原书读书笔记(第 1 章)

上一节简单介绍了 web 开发的一些背景知识,读者已经了解了 Web 访问的基本原理、超文本传输协议、静态网页与动态网页的区别,以及主流的浏览器和 Web 服务器。本节将介绍 JSP 的基本概念、执行过程等,让读者了解 JSP 是什么、能做些什么。JSP 技术是由 SUN 公司(现被 Oracle 收购)提出、多家公司参与的,于1999年推出的一款建设动态网页的方法。它基于 Java Servlet 技术来开发动态的、高性能的 Web 应用程序。

2025-10-31 11:18:05 982

原创 Java核心技术卷Ⅰ(第12版 第四章)

对象:具有状态(属性)和行为(方法)的实体类:创建对象的模板/蓝图四大支柱:封装:隐藏内部实现细节(private字段 +public方法)继承:子类复用父类特性(extends关键字)多态:同一方法在不同对象的不同行为抽象:提取共性特征形成接口/抽象类// 日期处理// 字符串操作// 数学计算// 类的属性,也叫字段,或者是类的状态// 构造对象的构造器,也叫构造方法// 将参数传入,会自动赋值,构造此对象// 属性赋值操作。

2025-10-12 14:31:09 558

原创 Java核心技术卷Ⅰ(第12版 第三章)

关键点详细说明容器作用类是Java程序的基本组织单元,封装程序逻辑和行为命名规则字母开头,可包含字母/数字,不能使用保留字(如public/class)文件命名要求公共类必须保存在同名文件中(命名规范大驼峰命名法(CamelCase),如字节码文件编译后生成同名.class文件(

2025-07-19 18:42:39 1447

原创 Java核心技术卷Ⅰ(第12版 第二章)

在 Windows 上,启动安装程序,会询问你要把 JDK 安装到哪里。最好不要接受默认位置(这个路径名中有空格),如:C:\Program Files\Java\jdk-17\。取出路径名中的 Program Files 部分就可以了。

2025-07-19 18:28:41 771

原创 Java 核心技术卷Ⅰ(第12版 第一章)

1996年 Java 第一次发布就引起了人们的极大兴趣。关注 Java 的人士不仅限于计算机出版界,还有诸如《纽约时报》《华盛顿邮报》和《商业周刊》这样的主流媒体。Java 是第一个也是唯一一个在 National Public Radio上占用了 10分钟 时间进行介绍的程序设计语言,并且还得到了 100 000 000 美元的风险投资基金。这些基金全部用来支持用这种特别的计算机语言开发的产品。你可能想了解 Java 语言的发展,这一章就会带你简单地重温这段历史。

2025-07-19 18:06:00 1048

原创 《HTML 从入门到精通》原书 读书笔记(第3章)

在浏览器中的正文部分,可以显示标题文字,所谓标题文字就是以某种固定的字号显示文字 HTML 文档中的标题文字分别用来指明页面上的 1~6 级标题。

2025-02-22 19:31:17 188

原创 《HTML 从入门到精通》原书 读书笔记(第2章)

在 HTML 语言的头元素中,一般需要包括标题、基底信息、元信息等。HTML 的头元素是以 <head> 为开始标记,以 <head> 为结束标记的。一般情况下,CSS 和 JavaScript 都定义在头元素中的,而定义在 HTML 语言头部的内容往往不会在网页上直接显示。它用于包含当前文档的相关信息。常用的头部标记内容如表 2.1所示。

2025-02-22 14:20:00 264

原创 《HTML 从入门到精通》原书 读书笔记(第1章)

WWW(World Wide Web,万维网)是一种建立在 Internet 上的、全球性的、交互的、多平台的、分布式的信息资源网络。它采用 HTML 语言描述超文本(Hypertext)文件。这里所说的超文本指的是包含有链接关系的文件,并且包含了多媒体对象的文件。WWW 有 3个基本组成部分,分别是 URL(统一资源定位器)、HTTP(超文本传输协议)和 HTML(超文本标识语言)。

2025-02-22 14:12:23 948

原创 《JavaScript 从入门到精通》原书 读书笔记(第7章)

该方法可以返回某个子字符串在字符串中最后出现的位置。参数说明:stringObject:String 对象名或字符变量名。substring:必选参数。要在字符串中查找的子字符串。startindex:可选参数。用于指定在字符串中开始查找的位置,在这个位置从后向前查找。它的取值范围是 0 到 stringObject.length-1。如果省略该参数,则从字符串的最后一个字符开始查找。如果要查找的子字符串没有出现,则返回 -1。例如,在字符串“你好零零七,我是零零发”中进行不同的检索。

2025-02-21 09:43:20 839

原创 《JavaScript 从入门到精通》原书 读书笔记(第6章)

在 JavaScript 中数组也是一种对象,这种对象被称为数组对象。因此在定义数组时,也可以使用构造函数。JavaScript 中定义数组的方法主要有4种。使用不带参数的构造函数可以定义一个空数组。顾名思义,空数组中是没有数组元素的,可以在定义空数组后再向数组中添加数组元素。参数说明:arrayObject:必选项。新创建的数组对象名。例如,创建一个空数组,然后向该数组中添加数组元素。<html><head></head><body></body>// 1. 创建数组。

2025-02-21 09:33:17 711

原创 《JavaScript 从入门到精通》原书 读书笔记(第5章)

对象的概念首先来自于对客观世界的认识,它用于描述客观世界存在的特定实体。比如,“人”就是一个典型的对象,“人”包括身高、体重等特性,同时又包含吃饭、睡觉等动作。“人”对象示意图如图 1 所示。图1 “人”对象在计算机的世界里,不仅存在来自于客观世界的对象,也包含为解决问题而引入的比较抽象的对象。例如,一个用户可以被看作一个对象,它包含用户名、用户密码等特性,也包含注册、登录等动作。其中,用户名和用户密码等特性,可以用变量来描述;而注册、登录等动作,可以用函数来定义。因此,对象实际上就是一些变量和函数的集合。

2025-02-21 09:30:59 599

原创 《JavaScript 从入门到精通》原书 读书笔记(第4章)

在 JavaScript 中,可以使用 function 语句来定义一个函数。这种形式是由关键字 function、函数名加一组参数以及置于大括号中需要执行的一段代码构成的。函数就是重复执行的代码块函数是指完成指定功能的一个代码块可以通过函数的名字实现重复的调用注意:js 的函数,语法上,不用任何情况下都有返回值function 函数名([参数1, 参数2,……]){语句[return 返回值]functionName 函数名:必选,用于指定函数名。

2025-02-21 09:29:14 718

原创 《JavaScript 从入门到精通》原书 读书笔记(第3章)

流程控制语句对于任何一种编程语言来说都是至关重要的,JavaScript 也不例外。在 JavaScript 中,提供了 if 条件判断语句、switch 多路分支语句、while 循环语句、do...while 循环语句、for 循环语句、break 语句 和 continue 语句等流程控制语句。

2025-02-21 09:07:13 694

原创 《JavaScript 从入门到精通》原书 读书笔记(第2章)

未定义值就是 undefined,表示变量还没有赋值(如 var a;

2025-02-21 09:02:18 892

原创 《JavaScript 从入门到精通》原书 读书笔记(第1章)

JavaScript 是 Web 页面中的一种脚本编程语言,也是一种通用的、跨平台的、基于对象和事件驱动并具有安全性的脚本语言。它不需要进行编译,而是直接嵌入在 HTML 页面中,把静态页面转变成支持用户交互并响应相应事件的动态页面。

2025-02-21 08:57:35 1033

原创 《MyBatis 核心技术全解与项目实战》原书 读书详细笔记 (第15章 全书 SQL 脚本)

【代码】书名《MyBatis 核心技术全解与项目实战》原书 读书详细笔记 (第15章)

2025-02-21 08:23:13 154

原创 《MyBatis 核心技术全解与项目实战》原书 读书详细笔记 (第14章)

在以上案例中,使用的是 MyBatis-Plus 默认分页。在实际的开发过程中,我们还时常需要依据需求自定义分页查询。例如,查询账户余额大于 300元的账户信息。第一步:在接口文件 AccountMapper.java 中声明方法 selectPageByMoney()。/*** 分页查询* @param accountPage 分页对象* @param money 金额* @return 分页对象*/该方法的第一个参数表示分页对象,它必须位于所有参数的最前面;

2025-02-20 09:42:57 799

原创 《MyBatis 核心技术全解与项目实战》原书 读书详细笔记 (第13章)

在项目开发尤其是微服务架构开发中,我们经常遇到纯粹多库、读写分离、一主多从等多数据源的情况。在类似情况下,我们可采用 MyBatis-Plus 提供的解决方案快速集成多数据源。该方案支持数据源分组,每个数据库独立初始化表结构和数据库,并能够快速集成 Druid、HikariCp、Dbcp2、BeeCp等数据源。为确保数据安全,该方案支持数据库敏感配置信息加密,并提供MyBatis环境下的纯读写分离方案。本章相关示例的完整代码请参见随书配套源码中的MyBatis MPDatasource 项目。

2025-02-20 09:42:02 681

原创 《MyBatis 核心技术全解与项目实战》原书 读书详细笔记 (第12章)

在之前的章节中,我们介绍了 MBG 根据表快速生成对应的映射文件、接口文件和 POJO。与此类似,MyBatis-Plus 也有专门的代码生成器,它功能强大、操作简单,能够依据数据表自动生成 entity,mapper接口文件和映射文件、Service 接口及其实现类、controller。本章相关示例的完整代码请参见随书配套源码中的 MyBatis_MPGenerator 项目。

2025-02-20 09:41:07 853

原创 《MyBatis 核心技术全解与项目实战》原书 读书详细笔记 (第11章)

接下来,我们分别详细介绍 MyBatis-Plus 开发中常用的注解及其用法。

2025-02-20 09:40:06 918

原创 《MyBatis 核心技术全解与项目实战》原书 读书详细笔记 (第10章)

在本案例中,我们介绍了 MyBatis-Plus 最简单的用法。从这个案例中可以发现,相较 MyBatis,使用MyBatis-Plus 省去了映射文件的编写,只需声明一个非常简单的接口文件即可。读者可能对于接口文件中的BaseMepper 有些疑惑:它的工作原理是什么?它为何功能如此强大?关于 BaseMapper,我们将在 10.3节中详细介绍。虽然 MyBatis-Plus 的 BaseMapper 内置了常用的 CRUD 相关方法,但是它们并不能满足实际开发中(例如多表联查)的全部需求。

2025-02-20 09:38:41 847

原创 《MyBatis 核心技术全解与项目实战》原书 读书详细笔记 (第9章)

MyBatis 虽然是一个简单易学、灵活便捷的轻量级框架,但是在开发过程中创建 POJO、编写接口文件和映射文件是一个略微有些烦琐的过程。尤其是当项目中存在大量对象时,很难避免技术含量偏低的重复劳动,从而降低了开发效率。为此,MyBatis 官方专门开发了逆向工程工具 MyBatisGenerator(简称 MBG)。MBG 是一个专门为 MyBatis 框架使用者定制的代码生成器,它可以快速根据表生成对应的映射文件、接口文件和 POJO。

2025-02-20 09:36:59 945

原创 《MyBatis 核心技术全解与项目实战》原书 读书详细笔记 (第8章)

MyBatis 是一个应用广泛的、优秀的 ORM 开源框架,提供了非常灵活而且功能强大的插件机制。MyBatis 允许开发人员在映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis 允许使用插件来拦截 Executor、ParameterHandler、ResultSetHandler、StatementHandler 所涉及的方法。MyBatis 插件的用法十分简单,只需实现 Interceptor 接口并指定想要拦截的方法签名即可。

2025-02-20 09:34:29 745

原创 书名《MyBatis 核心技术全解与项目实战》原书 读书详细笔记 (第7章)

我们先来了解 MyBatis 中最常用的注解并在稍后的案例中实际应用。@select用于映射查询语句,其作用等效于映射文件中的<select>标签@Insert用于映射插入语句,其作用等效于映射文件中的<insert>标签。@Update用于映射更新语句,其作用等效于映射文件中的<update>标签。@Delete用于映射删除语句,其作用等效于映射文件中的<delete>标签。@param用于指定 SQL语句中的参数别名,常用于传递多个参数。@Result。

2025-02-20 09:32:19 757

原创 书名《MyBatis 核心技术全解与项目实战》原书 读书详细笔记 (第6章)

我们在之前案例的基础上验证一级缓存失效的情况。

2025-02-20 09:30:31 646

原创 书名《MyBatis 核心技术全解与项目实战》原书 读书详细笔记 (第5章)

在项目开发中,编码人员经常需要根据不同的条件拼接 SQL 语句。在组拼 SQL 语句的过程中除了实现核心功能以外,还需要处处小心,时时警惕,确保不遗漏必要的标点符号、空格以及关键字。总体而言,开发人员在使用JDBC 或其他持久层框架进行开发时,SQL 拼接烦琐、效率低、易出错、复用性差。为解决此类问题带来的不便,MyBatis 提供了动态 SQL。

2025-02-20 09:24:19 704

原创 书名《MyBatis 核心技术全解与项目实战》原书 读书详细笔记 (第4章)

在 MyBatis 中通过 resultMap 实现自定义结果映射。简单来说,我们在 <select> 标签中利用 resultMap 替代 resultType,可以自行决定将表中的字段映射成 POJO 的哪个属性。请注意,在 <select> 标签中不能同时使用 resultMap 和 resultType。一般而言,符合开发规范的简易查询使用 resultType,需自定义结果映射时使用 resultMap。resultMap 的常用属性及其作用如表 4-1所示。

2025-02-20 09:22:45 986

原创 《MyBatis 核心技术全解与项目实战》原书 读书详细笔记 (第3章)

在第 2章 中,我们学习了 MyBatis 全局配置文件、关键 API 和运行原理,而且实现了最常见的增删改查操作。本章将在人门案例的基础上详细介绍 MyBatis 开发的进阶技能,重点关注项目开发中的实际应用场景和使用方式。

2025-02-20 09:21:14 906

原创 书名《MyBatis 核心技术全解与项目实战》原书 读书详细笔记 (第2章)

在编写 MyBatis 全局配置文件时,我们需要严格遵循上述结构的先后顺序和嵌套层次,否则,MyBatis 框架在解析和读取该 XML 文件时将发生错误并终止程序的运行,接下来,我们逐一详解 mybatis-config.xml 中的常用配置及其使用方式。在以上所有方法中都存在一个 string 类型的参数 statement,该参数为映射文件中某条 SQL 语句的完整路径,即 Mapper 的 namespace+.+ 标签的 id 值。在此情况下,类的全限定名的别名为类名且不区分大小写。

2025-02-20 09:19:04 991

原创 书名《MyBatis 核心技术全解与项目实战》原书 读书详细笔记 (第1章)

这是我们第一次用 MyBatis 进行开发。虽然案例本身不复杂,逻辑也很简单,但是有必要对本案例进行全面的梳理和总结。在本案例中,我们初次体会到了 ORM 的魅力和 MyBatis 的便捷。当然,我们之所以能够享受框架开发带来的快乐,是因为我们遵守了开发规范和流程。例如,划分每个包的用途、明确各文件的存放位置、表和类之间一一对应、接口文件和映射文件成对出现并各司其职等等。在此,我们大致梳理一下本章案例的执行流程。程序以单元测试的 testselectUserById() 方法为入口,

2025-02-20 09:11:57 716

原创 书名《学透 Spring 》原书 读书详细笔记(第16章)

除了 REST 服务,现实生产中还有很多通信方式,同步调用可以选择 RPC,例如 Java 世界中早期的 RMI、如今阿里巴巴开源的 Dubbo 框架(国内有很多公司在使用);如果希望使用异步通信,基于消息的形式也是很好的选择,像 Kafka、RocketMQ 和 RabbitMQ 的使用都很广泛。基于微服务架构的系统链路往往很复杂,一个业务请求会经过很多系统,为了搞明白请求是怎么流转的,链路追踪相关的功能在后期也是必不可少的。在本书的最后一章,就让我们来聊聊这些和服务集成有关的话题吧!

2025-02-20 08:46:48 128

原创 书名《学透 Spring 》原书 读书详细笔记(第15章)

在微服务系统中,业务操作由多个服务协作完成,在这个过程中涉及的服务多了,出问题的概率自然也就变高了。如果下游服务出问题了,上游又不设防,就会被拖累;如果请求量陡增,超过服务的承受能力,也会引发问题……当我们遇到的问题多了,自然就会沉淀出不少经验,本章就让我们来看看如何基于常见的容错模式,使用一些框架来保护我们的系统。

2025-02-19 16:56:24 206

原创 书名《学透 Spring 》原书 读书详细笔记(第14章)

在一个复杂系统中,一定会存在大量的配置,特别是这个系统由大量微服务构成时,问题会更加严重,因为这些配置可能散落在各处,管理起来非常麻烦。Spring Cloud 既然是大量优秀实践的沉淀,自然也注意到了这个问题,为我们提供了一套比较成熟的解决方案。例如,在上一章介绍 Netflix OSS 时就提到了分布式配置中心 Archaius。本章中,让我们看看如何在 Spring Cloud Config 的帮助下解决微服务的配置管理难题。

2025-02-19 16:52:43 211

原创 书名《学透 Spring 》原书 读书详细笔记(第13章)

为了提供稳定的服务,系统通常都会采取一些高可用方案,其中集群化就是比较常用的做法。系统一般会部署为一个或者多个集群,集群内的实例都是无状态的,此时就需要考虑如何将请求合理地分发到集群中的各个实例上——这就是负载均衡。负载均衡有很多种方案,有硬件的,也有软件的,有集中式的,也有分布式的。本章就让我们来了解一下 Spring Cloud 为我们提供的微服务负载均衡方案——这是一套分布式的软负载解决方案,而且还支持多种注册中心,使用起来非常方便灵活。

2025-02-19 16:51:37 199

空空如也

空空如也

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

TA关注的人

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