自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2021-10-24

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-10-24 22:14:58 281

原创 @RequiredArgsConstructor(onConstructor=@_(@Autowired))

@RequiredArgsConstructor(onConstructor=@_(@Autowired))是lombok的注解,为private final定义的变量进行自动注入,可省略写大量@Autowired

2020-08-17 10:11:37 7869 4

转载 varchar和varchar2的区别

varchar和varchar2的区别varchar是标准sql里面的。 varchar2是oracle提供的独有的数据类型。varchar对于汉字占两个字节,对于数字,英文字符是一个字节,占的内存小,varchar2一般情况下把所有字符都占两字节处理。具体要看数据库使用的字符集,比如GBK,汉字就会占两个字节,英文1个,如果是UTF-8,汉字一般占3个字节,英文还是1个。varchar对空串不处理,varchar2将空串当做null来处理。varchar存放固定长度的字符串,最大长度是2000,v

2020-08-10 14:12:38 3065 2

转载 限流算法

RateLimiter是Guava的concurrent包下的一个用于限制访问频率的类.1.限流每个API接口都是有访问上限的,当访问频率或者并发量超过其承受范围时候,我们就必须考虑限流来保证接口的可用性或者降级可用性.即接口也需要安装上保险丝,以防止非预期的请求对系统压力过大而引起的系统瘫痪.通常的策略就是拒绝多余的访问,或者让多余的访问排队等待服务,或者引流.如果要准确的控制QPS,简单的做法是维护一个单位时间内的Counter,如判断单位时间已经过去,则将Counter重置零.此做法被认为没有

2020-06-04 19:35:26 207

原创 事务的ACID以及传播行为

ACID事务在英文中是transaction,和现实世界中的交易很类似,它有如下四个特性:1、A (Atomicity) 原子性原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。比如银行转账,从A账户转100元至B账户,分为两个步骤:1)从A账户取100元;2)存入100元至B账户。这两步要么一起完成,要么一起不完成,如果只完成第一步,第二步失败,钱会莫名其妙少了100元。2、C (Consis

2020-05-15 14:13:24 133

原创 MAVEN打包springboot项目出错

[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.2.7.RELEASE:repackage (repackage) on project demo: Execution repackage of goal org.springframework.boot:spring-boot-maven-plugin:2.2.7.RELEASE:repackage failed: Unable to l

2020-05-15 11:22:19 4493

原创 Shiro自定义过滤器

最近在学习shiro。由于shiro的过滤器是与的格式,在实际编辑过滤器链的时候/admin/** = authc,roles[admin,passenger]本意是想admin和passenger角色都能够拥有对 /admin/** 的进行访问,但是shiro内部过滤器的逻辑是与,即同时拥有admin和passenger的角色才可以对路径进行访问。因此,需要自己定义一个过滤器,实现或的逻辑,定义一个过滤器如下public class CustomRolesAuthorizationFilter

2020-05-13 11:41:32 1554

原创 shiro身份认证(HelloWorld)

Shiro简介Apache Shiro 是Java 的一个安全框架。目前,使用Apache Shiro 的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro 就足够了。Shiro可以完成:认证、授权、加密、会话管理、与web集成、缓存等功能。基本功能如下所示:Authentication:身份认证/登录,验证用户是不是拥有相应的身份;Authorization

2020-05-09 15:59:55 706

转载 事务隔离级别[转载]

事务隔离级别事务隔离级别分为4个级别,由低到高依次为Read uncommitted 、Read committed 、Repeatable read 、Serializable ,这四个级别可以逐个解决脏读 、不可重复读 、幻读这几类问题。Read UnCommitted(读未提交)最低的隔离级别。一个事务可以读取另一个事务并未提交的更新结果。Read Committed(读提...

2020-05-01 21:09:03 123

原创 Dubbo

在介绍dubbo之前首先了解一下SOA架构和RPC。SOA架构SOA(Service Oriented Ambiguity)架构是一种面向服务的架构,它把项目的功能独立出来便于其他单元或是用户的调用,便于项目的设计,能让开发更有效率。例如,通常,分布式项目中不允许每个项目都能访问数据库,因此,把数据访问独立出一个服务,让其他单元可以调用这个服务,这样可以提高安全性和代码复用。RPCRPC...

2020-04-16 13:00:00 985

原创 监听器

问题作用域对象是什么时候创建和销毁的,数据是什么时候存取,改变和删除的。因为具体的流转过程看不到,所以也就无法再指定的时机对数据和对象进行操作,比如session 销毁的时候,在线人数-1。 因此,有监听器的存在就可以实时监测数据的变化从而进行操作。监听对象RequestSessionApplication监听内容创建、销毁、属性改变事件监听作用在事件发生之前,之后进行一些处理...

2020-04-15 22:02:48 99

原创 过滤器(拦截器)

过滤器的作用Servlet 的作用是针对浏览器发起的请求,进行请求的处理。通过Servlet 技术我们可以灵活的进行请求的处理,但是我们不但要对请求进行处理,我们还需对服务器的资源进行统一的管理,比如请求编码格式的统一设置,资源的统一分配等等,这个时候该怎么办呢?使用过滤器可以在servlet接受到请求前进行拦截进行一些预处理。使用创建一个实现了Filter接口的普通java类覆...

2020-04-15 20:56:08 160

原创 mysql配置主从

mysql配置主从效果:主数据库进行操作时,从数据库同步发生变动。主从原理:主数据库的操作写入到日志中,从数据库从日志中进行读取,进行操作前提:在两个虚拟机中安装好mysql(也可直接克隆)mysql安装:https://blog.csdn.net/weixin_44001681/article/details/105465704系统:cenos 6.5假设:主数据库主机ip为192....

2020-04-12 15:45:00 139

原创 mysql安装

系统:Linux系统 centos 6.5mysql离线安装包:mysql-5.6.31-linux-glibc2.5-x86_64.tar通过ftp工具上传到linux系统/usr/local/tmp解压,复制文件夹到localcd /usr/local/tmptar -zxvf mysql-5.6.31-linux-glibc2.5-x86_64.tarcp -r mysql-5....

2020-04-12 11:42:23 122

原创 mycat进行分库分表

关于mysql安装:关于mysql配置主从:关于mycat安装:mycat的分片规则有:在rule.xml中定义了各种myCat支持的分片规则。取模mod-long自然月分片 sharding-by-month按日期(天)分片sharding-by-date按单月小时拆分sharding-by-hour范围约定,提前规划好分片字段某个范围属于哪个分片,auto-sharding-l...

2020-04-11 21:35:10 834

原创 nginx实现负载均衡

ngin简介Nginx 是一款自由的、开源的、高性能的 HTTP 服务器和反向代理服务器;同时也是一个 IMAP、POP3、SMTP 代理服务器。Nginx 可以作为一个 HTTP 服务器进行网站的发布处理,另外 Nginx 可以作为反向代理进行负载均衡的实现。代理为了保护真实对象,真实对象委托另一对象去完成某项任务,这个过程就是代理。日常生活中有很多体现代理思想的事,例如,董事长委托秘书...

2020-04-10 20:53:01 252

原创 nginx开机自启动

编写shell脚本vi /etc/init.d/nginx输入如下代码#!/bin/bash # nginx Startup script for the Nginx HTTP Server # it is v.0.0.2 version. # chkconfig: - 85 15 # description: Nginx is a high-performance web and...

2020-04-10 20:26:14 623

原创 nginx安装

1.安装gcc环境,因为nginx是用c语言开发的,编译依赖gcc环境yum install gcc-c++ -y2.安装nginx依赖的三个类库2.1安装PCRE库PCRE(Perl Compatible Regular Expressions)是一个 Perl 库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linu...

2020-04-10 20:15:07 108

原创 项目热部署

IDE:eclipse mars已知:Linux安装在本地电脑虚拟机中在Linux系统里安装好tomcat,tomcat的默认开放端口是8080,进入tomcat文件夹下server.xml可找到8080更改为80端口,这样直接输入ip后面不用跟端口也可以访问。去开放本机的80端口,让外部能够访问tomcat,输入下面的命令vim /etc/sysconfig/iptables添加8...

2020-04-09 21:36:18 401

原创 Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000006fff80000, 2863661056, 0

错误事件:在Linux虚拟机启动打包好的dubbo服务,久久未启动查看log文件报错显示JVM内存不足Java HotSpot™ 64-Bit Server VM warning: INFO: os::commit_memory(0x00000006fff80000, 2863661056, 0) failed; error=’Cannot allocate memory’ (errno=12...

2020-04-09 17:03:16 509

原创 zookeeper设置开机自启动

控制台输入vim /etc/rc.local在文件中加入如下代码注:由于zookeeper依赖jdk所以要先在启动文件中配置jdk,接下来只需写入正常zookeeper的启动命令就好,具体路径以个人安装情况为准。export JAVA_HOME=/usr/local/jdk/usr/local/zookeeper/bin/zkServer.sh start保存退出回到控制台,执行s...

2020-04-09 15:51:42 1031

原创 Assembly插件打包dubbo服务步骤

IDE:eclipse mars步骤如下1.假设已经写好了dubbo服务,在project下新建一个folder起名assembly2.复制assembly插件包的文件bin和conf到工程中的assembly文件夹下,3.在assembly文件夹下新建assembly.xml文件,配置如下<?xml version='1.0' encoding='UTF-8'?>&...

2020-04-09 15:25:42 224

原创 mybatis缓存

mybatis缓存应用程序和数据库交互的过程是一个相对比较耗时的过程.缓存存在的意义:让应用程序减少对数据库的访问,提升程序运行.SqlSession缓存mybatis默认SqlSession缓存开启,同一个 SqlSession 对象调用同一个<select>时,只有第一次访问数据库,第一次之后把查询结果缓存到 SqlSession 缓存区(内存)中,缓存的是 stateme...

2020-03-15 17:54:05 66

原创 Mybatis接口绑定方案

实现创建一个接口后把mapper.xml由mybatis 生成接口的实现类,通过调用接口对象就可以获取 mapper.xml 中编写的 sql.实现步骤1.创建一个接口,接口包名和接口名与 mapper.xml 中<mapper>namespace 相同2.接口中方法名和 mapper.xml 标签的 id 属性相同3.如果接口中方法为多个参数,可以省略 parameterTy...

2020-03-15 15:10:19 292

原创 MyBatis简介

简介Mybatis 开源免费框架.原名叫 iBatis,2010 在 google code,2013 年迁移到 github。作用是数据访问层框架,对Dao(或称mapper)层进行封装。优点使用mybatis不需要写实现类,只需要写需要执行的sql命令。(在“实体类名mapper.xml”文件中配置mapper书写sql命令,相当于自动帮你实现类了)流程1.导入jar包2.全局...

2020-03-15 12:53:04 250

原创 单例模式

单例模式单例模式顾名思义就是类中只有一个对象,当某种功能有作用域的需求,如session,产生多例对象只会造成资源的浪费,也不满足需求。因此单例模式成为了必要。**懒汉式:**顾名思义,只有请求时才生成对象,这就是懒汉式,同时还要注意多个用户同时请求,防止多次生成的情况,因此要考虑多线程情况。package com.xcy.singleton;public class Singleton...

2020-03-13 15:36:19 66

原创 MyBatis运行原理

运行过程中涉及到的类1 Resources:   MyBatis 中 IO 流的工具类加载配置文件   1.2 SqlSessionFactoryBuilder() 构建器:   1.2.1 作用:创建 SqlSessionFactory 接口的实现类   1.3 XMLConfigBuilder:    MyBatis 全局配置文件内容构建器类   1.3.1 作用负责读取流内...

2020-03-11 21:04:20 248

原创 静态代理与动态代理

什么是代理?代理(Proxy)模式是一种结构型设计模式,主要解决的问题是:在直接访问对象时带来的问题。代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。代理有什么好处?1.保护真实对象2.让真实对象职责更明确3.扩展静态代理package com.xcy.prox...

2020-03-09 23:41:05 397

原创 EL和JSTL标签学习

EL表达式什么是EL表达式全称:Expression Language,一种写法非常简介的表达式。语法 简单易懂,便于使用。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言。EL 表达式的作用让 jsp书写起来更加的方便。简化在 jsp 中获取作用域或者请 求数据的写法。也会搭配 Jstl 来进行使用。传统方式获取作用域数据:缺点一:导入包缺点二:需要强转缺...

2020-02-29 21:59:28 152

原创 JSP学习

什么是JSPJSP 全名为 Java Server Pages,中文名叫 java 服务器页面,其根 本是一个简化的 Servlet 设计,它 [1] 是由 Sun Microsystems 公司 倡导、许多公司参与一起建立的一种动态网页技术标准。为什么要有JSP进行页面的展现时,如果通过Servlet来条条输入req.getWriter.write(“HTML代码”)进行展现过于麻烦,因此...

2020-02-29 20:49:21 178

原创 Ajax学习

为什么要有Ajax?有时候,我们需要在当前的页面中显示其他请求的内容,但又不需要其他的请求重发一次,例如搜索框中输入一些关键字出现提示的相关热词,此时我们仅仅只需要单独的搜索框显示请求数据,而页面其他内容保持不变,不需要重发请求进行整体页面刷新因而需要这门技术。概括的讲就是局部请求、局部展示。Ajax的概念Ajax是JavaScript、XML、CSS、DOM等多种技术的组合,是一种局部刷新...

2020-02-29 16:13:27 67

原创 ServletContext和ServletConfig学习

ServletContext对象学习:问题:不同的用户使用相同的数据(可以看作是全局的公共资源)解决:ServletContext对象特点:服务器创建作用域:整个项目内生命周期:服务器启动到服务器关闭使用:获取ServletContext对象//第一种方式:ServletContext sc=this.getServletContext();//第二种方式:Serv...

2020-02-23 11:11:20 112

原创 Session学习

问题:一个用户的不同请求处理的数据共享怎么办?解决:使用session技术原理:用户第一次访问服务器,服务器会创建一个session对象给此用户,并将该session对象的JSESSIONID使用Cookie技术存储到浏览器中,保证用户的其他请求能够获取到同一个session对象,也保证了不同请求能够获取到共享的数据。特点:存储在服务器端服务器进行创建依赖Cookie技术...

2020-02-21 23:15:50 117

原创 Cookie学习

问题:HTTP 协议是没有记忆功能的,一次请求结束后,相关数据会被销毁。如果第二次的请求需要使用相同的请求数据怎么办呢? 难道是让用户再次请求书写吗?解决:Cookie技术内容:Cookie技术是在浏览器端进行数据存储的技术,有时候用户如果向服务器发起多次请求需要用到相同的数据,req在请求结束就会被销毁,不能用户数据的存储。因此,Cookie技术就是用于在浏览器端进行数据存储的技术,S...

2020-02-21 21:33:49 93

原创 request对象和respond对象及转发、重定向

request对象和respond对象当浏览器发送请求到服务器后,服务器会生成request对象和respond对象,作为实参传入Servlet中的service方法。其中request对象存储此次请求的请求行、请求头以及用户数据。respond对象则是用于响应的对象。  request对象的作用域问题:如果要从一个Servlet转发给另一个Servlet,如何进行数据的共享?req.s...

2020-02-21 20:07:00 650

原创 什么是Servlet

概念  狭义的 Servlet 是指 Java 语言实现的一个接口,广义的 Servlet 是指任何实现了这个 Servlet 接口的类,一般情况下,人们将Servlet 理解为后者。 Servlet 运行于支持 Java 的应用服务器中。从原理上讲,Servlet 可以响应任何类型的请求,但绝大多数情况下 Servlet 只用来扩展基于 HTTP 协议的 Web 服务器。  简而言之,Ser...

2020-02-21 15:48:16 3786 1

原创 Log4j基本概念

Log4j的作用和级别:  什么是日志:    日志是系统运行过程中的后台输出信息,方便程序员进行系统运行的管控以及Bug的查找.  什么是log4j?    log4j是一个日志输出的插件,专门用来进行日志的管理的.  传统方式获取日志:  问题:   1.日志信息无法保存   2.无法显示完整的日志信息   3.日志的显示没有级别所有日志混杂在一起显示(无法进行日志的筛选)...

2020-02-13 17:17:41 312

原创 尚学堂-第十章答案

一、选择题1.使用Java IO流实现对文本文件的读写过程中,需要处理下列( )异常。(选择一项)A.ClassNotFoundExceptionB.IOExceptionC.SQLExceptionD.RemoteException2.在Java的IO操作中,( )方法可以用来刷新流的缓冲。(选择两项)A.void release()B.void close()C.void r...

2020-02-06 17:58:35 3489

原创 尚学堂-第九章答案

一、 选择题以下选项中关于Java集合的说法错误的是( )。(选择二项)A.List接口和Set接口是Collections接口有两个子接口B.List接口中存放的元素具有有序,不唯一的特点C.Set接口中存放的元素具有无序,不唯一的特点D.Map接口存放的是映射信息,每个元素都是一个键值对如下Java代码,输出的运行结果是( )。(选择一项)public class Tes...

2020-02-04 23:35:21 1985

原创 ArrayList、LinkedList、HashMap模拟底层实现

保存用public class MyArrayList <E>{ private int size; private Object[] elementData; private final int DEFAULT_CAPACITY = 10; public MyArrayList() { size = 0; elementData = new Object[D...

2020-02-02 18:58:57 247

空空如也

空空如也

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

TA关注的人

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