自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 io.seata.common.exception.FrameworkException: can‘t register RM,err:can‘t connect to services-server

然后我仔细检查了一下seata client端配置的一些conf配置文件里面的ip地址信息都没有问题,ip地址就是我linux服务器的ip地址(问题就出在这里)。然后大概知道了问题原因:我的linux服务器的ip为196.128开头(公网),但seata server注册到eureka时却已172.17开头(内网)的这个IP注册进去的。Seata 使用db数据库注册到Eureka集群的服务使用了内网IP最后导致项目不能连接到Seata。今天在使用seata+eureka时。再次启动服务,发现问题解决了。

2022-11-12 13:30:39 978 1

原创 分布式文件系统—FastDFS

天猫,淘宝等购物网站,大量的图片和视频,文件太多,如何存储?用户访问量大又如何保证下载速度?分布式文件系统就是解决这些问题的!文件数据是如何存储的??

2022-08-18 19:00:58 740

原创 JSON基本使用

Fastjson是一个Java库,可以将Java对象转换为JSON格式,当然它也可以将JSON字符串转换为Java对象。FastJson特点如下能够支持将javabean序列化成JSON字符串,也能够将JSON字符串反序列化成Javabean。顾名思义,FastJson操作JSON的速度是非常快的。无其他包的依赖,使用比较方便。......

2022-07-19 10:33:41 631

原创 Mybatis-Plus详解

RedirectMyBatis-Plus(简称MP)是⼀个MyBatis的增强⼯具,在MyBatis的基础上只做增强不做改变,为简化开发、提⾼效率⽽⽣。

2022-07-15 17:32:43 22230 6

原创 解决Mysql (1064) 错误: 1064 - You have an error in your SQL syntax;

报错信息:起因: 发现问题不要慌,找原因找办法!这个错误是在执行查询语句时发生的,一般这种报错就是语法的问题。通过查阅MYSQL中的保留字发现:" READ " 这个词在mysql中属于保留字,就像JAVA中的关键词一样,所以 必须要用英文的反单引号(`)包裹,就ok了!错误方式一:无单引号。 错误方式二:有单引号,but...非反单引号。这种虽不会报错,但是数据无法显示。总结:一句话就是表中字段尽量不要用mysql中的关键字,如果用了就请用英文中的反单引号(`)给保护起来!!!...

2022-06-22 18:02:45 9697

原创 Java语言基础五(File类)

目录File类基本概念常用的方法 :(文件的操作)常用的方法 :(目录的操作)File类基本概念--java.io.File类主要用于描述文件或目录路径的抽象表示信息,可以获取文件或目录的特征信息,如:大小等。常用的方法 :(文件的操作)方法声明 功能介绍 File(String pathname) 根据参数指定的路径名来构造对象 File(String parent, String child) 根据参数指定的父路径和子路径信息构造对象.

2022-05-20 17:37:40 151

原创 Java语言基础三(String类、StringBuilder类、日期类)

String类java.lang.String类用于描述字符串,Java程序中所有的字符串字面值都可以使用该类的对象加以描述; 该类由final关键字修饰,表示该类不能被继承; 从jdk1.9开始该类的底层不使用char[](2字节)来存储数据,而是改成byte[](1字节)加上编 码标记,从而节约了一 些空间; 该类描述的字符串内容是个常量不可更改,因此可以被共享使用。什么是常量池?-- 由于String类型描述的字符串内容是常量不可改变,因此Java虚拟机将首次出现的字符串..

2022-05-17 17:21:31 237

原创 Java语言基础二(类和对象, 方法和封装, static 关键字和继承, 多态和特殊类)

面向对象-- 指以属性和行为的观点区分析现实生活中的事物。面向对象编程-- 指以面向对象的思想进行分析,然后使用面向对象的编程语言进行表达的过程,是软件产业化发展的需求。理解面向对象的思想 (封装, 继承, 多态)。C: 面向过程语言C++: 面向过程和面向对象语言Java: 面向对象语言类和对象对象主要指现实生活中客观存在的实体。在 Java 语言中对象体现为内存空间中的一块存储区域。类是对具有相同特征和行为的多个对象共性的抽象描述。在 Java 语言中体现为一种引用数据类型。..

2022-05-12 17:56:30 419

原创 Java语言基础一(变量、数据类型、运算符、流程控制、数组)

初识java语言Java SE-- Java Platform, Standard Edition 是 Java 平台的基础 Java SE 以前称为 J2SE, 可以编写桌面应用和基于 web 的应用程序。 JDK > JRE > JVM。 Javac.exe -- 编译器, 主要用于将高级 Java 源代码翻译成字节码文件。 Java.exe -- 解释器, 主要用于启动 JVM 对字节码文件进行解释并执行。 不同的操作系统提供了 JVM.

2022-04-04 16:33:00 352

原创 Spring Boot:数据访问和视图技术

SpringBoot 数据访问Spring Boot 整合 MyBatisMyBatis 是一款优秀的持久层框架,Spring Boot 官方虽然没有对 MyBatis 进行整合,但是 MyBatis 团队自行适配了对应的启动器,进一步简化了使用 MyBatis 进行数据的操作。因为 Spring Boot 框架开发的便利性,所以实现 Spring Boot 与数据访问层框架(例如 MyBatis)的整合非常简单,主要是引入对应的依赖启动器,并进行数据库相关参数设置即可。 基础环境搭建

2021-11-20 16:49:12 2902

原创 Spring Boot:基本应用和源码解析

SpringBoot 基本应用约定优于配置约定优于配置(Convention over Configuration),又称按约定编程,是一种软件设计范式。本质上是说,系统、类库或框架应该假定合理的默认值,而非要求提供不必要的配置。比如说模型中有一个名为 User 的类,那么数据库中对应的表就会默认命名为 User。只有在偏离这一个约定的时候,例如想要将该表命名为 person,才需要写有关这个名字的配置。比如平时架构师搭建项目就是限制软件开发随便写代码,制定出一套规范,让开发人员按统一的要求

2021-11-13 20:43:21 1271

原创 RabbitMQ 集群

RabbitMQ 集群RabbitMQ 有 3 种模式,其中 2 种是集群模式。单一模式:即单机情况不做集群,就单独运行一个 RabbitMQ 而已。普通模式:默认模式,以两个节点(A、B)为例来进行说明:当消息进入 A 节点的 Queue 后,Consumer 从 B 节点消费时,RabbitMQ 会在 A 和 B 之间创建临时通道进行消息传输,把 A 中的消息实体取出并经过通过交给 B 发送给 Consumer。 当 A 故障后,B 就无法取到 A 节点中未消费的消息实体;如果做了消息

2021-11-08 17:55:29 3204

原创 RabbitMQ 消息队列

什么是 RabbitMQMQ(Message Queue)消息队列消息队列中间件,是分布式系统中的重要组件;主要解决异步处理、应用解耦、流量削峰等问题,从而实现高性能,高可用,可伸缩和最终一致性的架构。使用较多的消息队列产品:RabbitMQ,RocketMQ,ActiveMQ,ZeroMQ,Kafka 等。异步处理用户注册后,需要发送验证邮箱和手机验证码。将注册信息写入数据库,发送验证邮件,发送手机,三个步骤全部完成后,返回给客户端。传统:客户端 <-> 注

2021-11-08 16:55:40 3576 2

原创 Redis(二) - Jedis

JedisJava 和 Redis 打交道的 API 客户端。<dependencies> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.1.0</version> </dependency>

2021-11-04 17:03:53 532

原创 Redis 详解

概述互联网架构的演变历程第 1 阶段:数据访问量不大,简单的架构即可搞定。 适合小型项目。app -> dao -> mysql第 2 阶段:数据访问量大,使用缓存技术来缓解数据库的压力。 不同的业务访问不同的数据库。 适合中型项目。app -> dao -> cache -> [mysql1, mysql2, mysql3]第 3 阶段:主从读写分离。 之前的缓存确实能够缓解数据库的压力,但是写和读都集中在一个数据库上,压力又了

2021-11-04 16:36:13 283

原创 Dubbo 分布式系统架构

Dubbo 概述什么是分布式系统分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统。分布式系统(distributed system)是建立在网络之上的软件系统。简单来说:多个(不同职责)人共同来完成一件事。任何一台服务器都无法满足淘宝的双十一的数据吞吐量,一定是很多台服务器公共来完成的。 单一应用架构 当网站流量很小时,只需要一个应用,将所有的功能部署到一起(所有业务都放在一个 tomcat 里),从而减少部署节点和成本;此时,用于简化增删改查工作量

2021-11-04 16:10:23 914

原创 Zookeeper详解

Zookeeper 概述概述Zookeeper 是一个开源的分布式(多台服务器干一件事)的,为分布式应用提供协调服务的 Apache 项目工作机制从设计模式角度来理解:Zookeeper 是一个基于观察者模式设计的分布式服务管理框架观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新Zookeeper 负责存储和管理重要的数据;然后接受观察者的注册,一旦这些数据的发生变化,Zookeeper 就将负责通知已经注册的那些观察

2021-10-18 17:33:19 1533

原创 MyBatis 的 `<if test=““>` 语句里面使用反单引号的问题

如下是 MyBatis 的映射文件。<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.zm.dao.CourseMapper"> <!--

2021-10-18 17:16:39 725

原创 Nginx

Nginx什么是Nginx?Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP / POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上 Nginx 的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用 Nginx 网站用户有:新浪、网易、 腾讯等。优点:占用内存少,并发能力强 Nginx 专为性能优化而开发,在高连接并发的情况下,能够支持高达 50000 个并发连接数的响应 Nginx 支持热部署,可以

2021-10-12 17:59:50 332

原创 版本控制系统 - GIT

版本控制系统概述 开发中的实际场景 场景一:代码备份场景二:代码还原【版本控制】场景三:协同开发场景四:追溯问题代码 版本控制系统 版本控制系统能追踪项目,从开始到结束的整个过程。对编程人员而言,版本控制技术是团队协作开发的桥梁,助力于多人协作同步进行大型项目开发。软件版本控制系统的核心任务:查阅项目历史操作记录、实现协同开发。常见的两种版本控制类型 集中式版本控制工具:集中式版本控制工具,版本仓库是集中存放在中央服务器的,team 里每个人工作时,从中央服务器

2021-10-11 17:45:44 501

原创 Maven 项目管理工具

Maven 基础知识 Maven 介绍 Maven 是一个项目管理工具,主要作用是在项目开发阶段对 Java 项目进行依赖管理和项目构建。依赖管理:是对 jar 包的管理。通过导入 maven 坐标,就相当于将仓库中的 jar 包导入了当前项目中。项目构建:通过 maven 的一个命令就可以完成项目从清理、编译、测试、报告、打包,部署整个过程。 Maven 的仓库类型 本地仓库远程仓库Maven 中央仓库(http://repo2.maven.org/maven2/)

2021-10-10 20:26:09 642

原创 SSM整合

前言在分别了解spring,springmvc和mybatis后,这篇文章将以实现一个小的需求的形式,对其进行整合。需求和步骤分析需求:使用 SSM 框架完成对 account 表的增删改查操作。步骤分析:准备数据库和表记录 创建 web 项目 编写 MyBatis 在 SSM 环境中可以单独使用 编写 Spring 在 SSM 环境中可以单独使用 Spring 整合 MyBatis 编写 SpringMVC 在 SSM 环境中可以单独使用 Spring 整合 SpringM

2021-10-10 19:28:34 79

原创 SpringMVC 二(Ajax 异步交互、RESTful、文件上传、异常处理、拦截器)

Ajax 异步交互SpringMVC 默认用 MappingJackson2HttpMessageConverter 对 JSON 数据进行转换,需要加入 Jackson 的包;同时在 spring-mvc.xml 使用 <mvc:annotation-driven />...<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>

2021-10-09 17:06:50 254

原创 SpringMVC(一):基本应用

SpringMVC 简介 MVC 模式 MVC 是软件工程中的一种软件架构模式,它是一种分离业务逻辑与显示界面的开发思想。M(model)模型:处理业务逻辑,封装实体 V(view) 视图:展示内容 C(controller)控制器:负责调度分发(1.接收请求、2.调用模型、3.转发到视图) SpringMVC 概述 SpringMVC 是一种基于 Java 的实现 MVC 设计模式的轻量级 Web 框架,属于Spring Framework 的后续产品,已经融合在 Spring

2021-10-08 16:45:54 200

原创 Spring(三):JDBC Template,声明式事务

Spring 的 JdbcTemplate JdbcTemplate 是什么? JdbcTemplate 是 spring 框架中提供的一个模板对象,是对原始繁琐的 JDBC API 对象的简单封装。核心对象:JdbcTemplate jdbcTemplate = new JdbcTemplate(DataSource dataSource);核心方法:int update(); // 执行增、删、改语句List<T> query(); // 查询多个

2021-09-28 17:38:49 477

原创 Spring(二):AOP 面向切面编程

转账案例需求:使用 spring 框架整合 DBUtils 技术,实现用户转账功能 基础功能 步骤分析:创建 java 项目,导入坐标 编写 Account 实体类 编写 AccountDao 接口和实现类 编写 AccountService 接口和实现类 编写 spring 核心配置文件 编写测试代码1 . 创建 java 项目,导入坐标<dependencies> <dependency> <groupId&g

2021-09-27 17:56:58 168

原创 Spring(一):IOC 控制反转

Spring 概述Spring 是什么Spring 是分层的 Java SE/EE 应用 full-stack (全栈式) 轻量级开源框架。全栈式:对各种主流技术和框架都进行了整合,同时对三层架构都提供解决方案。轻量级和重量级的划分主要依据就是看它使用了多少服务,启动时需要加载的资源多少以及耦合度等等。提供了表现层 Spring MVC 和持久层 Spring JDBC Template 以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最

2021-09-26 17:16:18 339

原创 MyBatis(三):延迟加载,缓存,注解应用

MyBatis 加载策略 什么是延迟加载? 实际开发过程中很多时候并不需要总是在加载用户信息时就一定要加载他的订单信息。此时就是我们所说的延迟加载。在一对多中,当有一个用户,它有个100个订单;在查询用户时,用户下的订单应该是,什么时候用,什么时候查询;在查询订单时,订单所属的用户信息应该是随着订单一起查询出来。延迟加载:就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据。延迟加载也称懒加载。优点:先从单表查询,需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比

2021-09-24 17:58:53 461

原创 MyBatis(二):复杂映射,配置深入

MyBatis 高级查询 ResultMap 属性 -- resultType- 如果实体的属性名与表中字段名一致,将查询结果自动封装到实体类中-- resutlMap- 如果实体的属性名与表中字段名不一致,可以使用 resutlMap 实现手动封装到实体类中编写 UserMapper 接口List<User> findAllResultMap();编写 UserMapper.xml<!-- id: 标签的唯一标识,type: 封装后实体类型 -..

2021-09-24 16:46:55 378

原创 MyBatis(一):基本应用

框架简介SSM = Spring MVC + Spring + MyBatis 三层架构 软件开发常用的架构是三层架构,之所以流行是因为有着清晰的任务划分。一般包括以下三层:持久层:主要完成与数据库相关的操作,即对数据库的增删改查。因为数据库访问的对象一般称为 Data Access Object(简称 DAO),所以有人把持久层叫做 DAO 层。 业务层:主要根据功能需求完成业务逻辑的定义和实现。因为它主要是为上层提供服务的,所以有人把业务层叫做 Service 层或 Business

2021-09-23 17:17:09 174

原创 Linux 操作系统

Linux 系统概述计算机的体系结构计算机由计算机硬件和计算机软件两个部分组成,其中计算机软件可分为系统软件和应用软件,系统软件就是操作系统,是其他软件的基础。Application -- OS Shell (KDE bash csh) -- OS Kernel -- Hardware应用程序 / Java 应用 -- 操作系统外壳(GUI / 命令)-- 操作系统内核 -- 硬件目前主流的操作系统有:Windows 系列、Unix 系列、Linux 系列、Android 系列、

2021-09-18 20:05:28 852

原创 JavaWeb(五) - Filter 和 Listener

Filter 过滤器 基本概念 Filter 本意为”过滤“的含义,是 JavaWeb 的三大组件之一,三大组件为:Servlet、Filter、Listener。过滤器是向 Web 应用程序的请求和响应处理添加功能的 Web 服务组件。过滤器相当于浏览器与 Web 资源之间的一道过滤网,在访问资源之前通过一系列的过滤器对请求进行修改、判断以及拦截等,也可以对响应进行修改、判断以及拦截等。 工作方式 浏览器发出请求,过滤器对请求进行“身份认证”、“资源审核”、“资源加密访问”等等

2021-09-18 14:39:15 145

原创 JavaWeb(四) - EL表达式 和 JSTL

EL - (Expression Language)表达式语言 基本概念 EL 表达式提供了在 JSP 中简化表达式的方法,可以方便地访问各种数据并输出。 主要功能 -- 依次访问 pageContext、request、session 和 application 作用域对象存储的数据。-- 获取请求参数值。-- 访问 Bean 对象的属性。-- 访问集合中的数据。-- 输出简单的运算结果。1. 访问内置对象的数据<%= request.getAttribut

2021-09-17 17:57:39 236

原创 JavaWeb(三) - JSP:概述和语法,内置对象,JavaBean 组件,MVC 设计模式

JSP 的概述 概念 JSP 是 Java Server Pages 的简称,跟 Servlet 一样可以动态生成 HTML 响应, JSP 文件命名为 xxx.jsp。与 Servlet 不同,JSP 文件以 HTML 标记为主,然后内嵌 Java 代码段,用于处理动态内容。示例:<%@ page import="java.util.Date" %><%@ page contentType="text/html;charset=UTF-8" language

2021-09-17 13:55:28 251

原创 JavaWeb(二) - Servlet:重定向和转发,状态管理,Cookie和Session技术

Servlet + JDBC 应用在 Servlet 中可以使用 JDBC 技术访问数据库,常见功能如下:查询 DB 数据,然后生成显示页面,例如:列表显示功能。 接收请求参数,然后对 DB 操作,例如:注册、登录、修改密码等功能。为了方便重用和便于维护等目的,经常会采用 DAO(Data Access Object)模式对数据库操作进行独立封装。DAO 工厂(工厂模式):工厂类封装了对象的创建细节,为调用者提供符合要求的对象。重定向和转发 重定向的概述 --概念首先客户.

2021-09-14 13:34:19 718

原创 JavaWeb(一) - Servlet:基本概念,HTTP 协议,Tomcat 服务器

基本概念 C/S 架构 C/S 架构(Client/Server,客户端/服务器模式),是一种比较早的软件体系结构,也是生活中很常见的结构。这种结构将需要处理的业务合理地分配到客户端和服务器端,客户端通常负责完成与用户的交互任务,服务器通常负责数据的管理。主要优点:客户端的界面和功能可以很丰富;应用服务器的负荷较轻;响应速度较快。主要缺点:适用面窄,用户群固定;维护和升级的成本高,所有的客户端都需要更新版本。 B/S 架构 B/S 架构(Browser/Server,浏览器/服务

2021-09-08 17:03:12 840

原创 数据库技术六:XML

XML基本介绍XML -- Extensible Markup Language,即可扩展标记语言。XML 特点:可扩展的,标签都是自定义的;语法十分严格。 XML的作用 存储数据:通常,我们在数据库中存储数据。不过,如果希望数据的可移植性更强,我们可以把数据存储 XML 文件中。配置文件:更多是作为各种技术框架的配置文件使用。在网络中传输:客户端可以使用 XML 格式向服务器端发送数据,服务器接对 XML 格式数据进行解析。XML的语法 XML 文档声明格式 文档声

2021-09-02 13:09:08 1375

原创 数据库技术五:数据库连接池,Commons DbUtils,批处理,元数据

数据库连接池 连接池介绍 实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程,为了解决此类性能问题,通常情况我们采用连接池技术,来共享连接 Connection。这样我们就不需要每次都创建连接、释放连接了,因为这些操作都交给了连接池。连接池的好处:使用池来管理 Connection,这样可以重复使用 Connection。当使用完 Connection 后,调用 Connection 的 close() 方法也不会真的关闭 Connection,而是把 Connection “归

2021-08-25 20:39:27 415

原创 数据库技术四:JDBC,预处理对象,JDBC事务控制

JDBC概述 什么是JDBC JDBC (Java Data Base Connectivity) 是 Java 访问数据库的标准规范。是一种用于执行 SQL 语句的 Java API,可以为多种关系数据库提供统一访问,它由一组用 Java 语言编写的类和接口组成。是 Java 访问数据库的标准规范。 JDBC原理 JDBC 是接口,驱动是接口的实现,没有驱动将无法完成数据库连接,从而不能操作数据库。每个数据库厂商都需要提供自己的驱动,用来连接自己公司的数据库,也就是说驱动一般都由数据库

2021-08-24 21:06:04 560

原创 数据库技术三:索引,视图,存储过程,触发器,数据控制,数据备份与恢复

MySQL 索引 什么是索引? -- 索引就是排好序的,帮助我们进行快速查找的数据结构.-- 简单来讲,索引就是一种将数据库中的记录按照特殊形式存储的数据结构。通过索引,能够显著地提高数据查询的效率,从而提升服务器的性能.-- 专业一点来说呢,索引是一个排好序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址。在数据库十分庞大的时候,索引可以大大加快查询的速度,这是因为使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址然后.........

2021-08-21 19:28:27 853

空空如也

空空如也

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

TA关注的人

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