自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

勿忘初心的博客

时光机器

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

原创 org.apache.logging.slf4j.SLF4JLoggerContext cannot be cast to org.apache.logging.log4j.core.LoggerCo

日志报错

2022-11-10 11:12:05 5868 1

原创 SpingBoot 集成RabbitMQ使用@Bean 注解无法在项目启动时在MQ服务器端创建队列

【代码】SpingBoot 集成RabbitMQ使用@Bean 注解无法在项目启动时在MQ服务器端创建队列。

2022-09-18 17:25:58 1704 3

原创 RabbitMQ 保证消息可靠性

消息可靠性

2022-08-17 15:04:53 724

原创 多线程与高并发 2022版学习

多线程与高并发

2022-06-10 09:33:57 286

原创 ES搜索引擎-部署文档 7.16亲测上线使用

一、Elasticsearch单节点安装准备工作:需要jdk1.8的开发环境。1、es不允许使用root用户进行启动,新建一个用户useradd espasswd es2、修改一些默认参数vi /etc/sysctl.conf# 在文件最后面添加内容:vm.max_map_count=262144vi /etc/security/limits.conf# 添加如下内容:* hard nofile 65536* soft nofile 65536* soft nproc 204

2022-02-10 09:36:20 1099 1

原创 mybatis-plus 逻辑删除

springboot整合mybatis-plus整合步骤:/**1、导入依赖2、配置 数据源 驱动 链接信息3、注解 启动类加注解 @MapperScan("com.study.gulimall.product.dao")映射文件位置 application.yml 配置 spring: datasource: username: root password: root url: jdbc:mysql://192.168.56.10:3306/guli

2021-03-14 01:20:13 714

原创 请谨慎使用Arrays.asList、ArrayList的subList

ArrayList的subList

2021-02-08 14:30:03 119

原创 vagrant装虚拟机

准备工作1、下载VirtualBox: 地址2、Vagrant: 地址3、下载镜像 https://app.vagrantup.com/centos/boxes/7测试vagrant 装好没,命令行输入vagrant 会有提示。放到一个指定的目录下。cmd 进入命令行,执行命令,后面的镜像名改为自己所下的名称。vagrant box add centos/7 CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.boxvagrant init vagrant

2021-01-21 22:09:01 159

原创 Oracle 不小心delete数据后 恢复数据

误删除全表数据(delete)后恢复数据。思路:可以根据时间段 查询出删除前的数据 再把数据插回去。解释一下下边的sql :eaf_bill : 不小心删除的表后边的日期 :要写成删除前的时间点 才能查询到数据 。select * from eaf_bill as of timestamp to_timestamp('2021-01-14 22:10:45','YYYY-MM-DD HH24:MI:SS')...

2021-01-15 11:01:04 706

原创 Vue 学习 笔记

近期项目使用vue+springboot+mybatis 的技术栈,自己刚换项目组,事情比较多好久没有更新博客,会找时间把自己学习的技术以及心得补充一下,千里之行始于足下。不骄不躁。第一次见到这个es6.0 中的一个语法记录一下。括号中的三个属性皆为vuedata中定义的属性,这么写可以直接进行解构然后赋值这三个变量中。算是比较新颖的写法,简单易懂。constr {queryForm , searchName , Flag } = this;@submit.prevent : 阻止默认

2020-12-31 23:08:58 162 2

原创 Vue组件通信

父组件给子组件传值通过 Prop 向子组件传递数据<!--父组件--><template> <div id="app"> <h2>将msg的值传给Hellovue这个子组件</h2> <Hellovue msg = "hello"/> </div></template><!--子组件--><template> <div>

2020-11-29 21:48:17 87

原创 RabbitMQ的学习笔记

RabbitMQ的学习笔记入门及消息分发机制简介RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端。主要用于分布式系统中存储转发消息,在易用性、扩展性、高可用有明显的优势。RabbitMQ的安装https://www.cnblogs.com/Turbo/p/11784545.htmlsudo rpm -Uvh --nodeps /home/download/erlang-21.3.8.6-1.el7.x86_64.rpm修改配置文件 cd /

2020-10-31 07:29:01 248

原创 java.lang.NoClassDefFoundError: org/apache/curator/RetryPolicy

原因是缺少jar包。 <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>2.8.0</version> </dependency> &lt.

2020-09-08 21:40:29 1724

原创 mycat 中间件学习

数据库中间件为什么需要数据库中间件?一、场景1:数据库存储的数据量不是很大,但是并发的读写操作很大,超过数据库服务器的处理能力。二、场景2:并发的读写操作很大,加缓存,也会有很多问题,比如命不中,还是会有大量的请求到数据库,数据库支撑不住。场景3:读写分离+缓存,增加数据库访问模块----->数据库中间件可以一主多从,数据库中间需要具备负载均衡的特点,将请求均匀的打到多个从服务器上,不允许有多个相同的主库,其实很简单,多个主库间数据同步难以保证数据的一致性 , 数据量大的时候单库存储不下

2020-08-29 23:09:26 233 1

原创 docker 最全学习知识点

Docker学习笔记文章目录Docker学习笔记基础概念Docker与传统虚拟机技术对比传统虚拟机总结Docker优点Docker架构三个基本概念镜像(Image)Docker镜像分层存储容器(Container)仓库(Repository)Docker 安装Docker版本命名Docker在linux安装Docker 常用命令Docker 镜像操作Docker获取镜像Docker运行Docker列出镜像虚悬镜像中间层镜像列出部分镜像成批删除镜像Docker容器操作启动容器新建启动启动已终止的容器后台运行

2020-07-06 13:49:09 894

原创 Nginx学习笔记

文章目录NginxNginx负载均衡简介正向代理和反向代理负载均衡原理负载均衡配置Nginx有四种方案配置配置基于轮询的负载均衡配置基于IP哈希的负载均衡配置基于最少连接least_conn的负载均衡配置基于权重weight的负载均衡Nginx安装Nginx代理缓存机制Nginx缓存Nginx代理缓存配置缓存文件存储位置指定部分请求被缓存缓存有效期指定某些请求不走缓存通过Lua拓展Nginxngx_lua模块协程(Coroutine)Nginx进程模型HTTP请求处理ngx_lua指令OpenResty概念

2020-06-26 13:19:46 446

原创 java内存模型 、多线程可见性、多线程原子性

Java 内存模型问题引入 —> 很多人不清楚 java内存模型 和 jvm运行时数据区,其实它俩是完全不同的俩个概念。引入概念:jvm 虚拟机规范当我们编写的java文件,经过javac编译器,编译为字节码文件,可以在不同的虚拟机却执行出基本相同的效果,原因是各大开发虚拟机的厂商都遵循了一个协议,受到了约束,这就是 Jvm虚拟机规范。每一种语言都会有规范,比如java有java语言规范 、 scala 有scala语言规范。java语言规范:用来描述Java语言应该有什么样的语法,

2020-06-04 17:37:29 204 2

原创 Kafka 学习笔记

kafka学习笔记Kafka是使用scala语言(函数式编程语言)编写的的,具有高水平扩展和高吞吐量的分布式消息系统。kafka对消息保存时根据topic进行归类,topic是kafka划分消息的唯一逻辑单元。发送消息者—Producer,消息接受者—consumer,kafka集群有多个kafka实例组成,每个实例(server)都被称为broker;无论是kafka集群还是,producer和consumer都依赖于zookeeper来保证系统的可用性,为集群保存一些元数据,比如集群名称,实例I

2020-05-27 10:47:36 316

原创 Rocket MQ 学习

RocketMQ学习笔记rocketmq 是一款分布式,队列模型的开源消息件 。一、RocketMQ 的特性原生分布式俩种消息拉取严格消息顺序特有的分布式协调器亿级消息堆积组(group)RocketMQ的基本概念Producer : 消息生产者,负责产生消息,一般由业务系统负责产生消息。​ Consumer:消息消费者,负责消费消息,一般是后台异步系统负责异步消费。​ Push Consumer:封装消息拉取,消费进程和内部 *

2020-05-17 15:45:06 934

原创 java.lang.NoClassDefFoundError: org/apache/http/message/AbstractHttpMessage

将http 改为 tcp

2020-04-14 18:11:02 806 1

原创 Cannot send, channel has already failed: tcp://192.168.xxx.xxx:8161

Caused by: org.apache.activemq.transport.InactivityIOException: Cannot send, channel has already failed: tcp://192.168.xxx.xxx:8161 at org.apache.activemq.transport.AbstractInactivityMonitor.doOneway...

2020-04-14 18:08:06 2891

原创 高性能编程之线程安全问题(原子性)

interrupt()详解:这个方法并不能直接去中断一个线程,执行这个方法之后和线程状态没有什么关系,只是改变了一个中断状态。由默认的false —> true 。如何使用一个interrupt()去中断一个线程?判断条件为当前线程的interrupt状态(isInterrupt())中断状态。当线程处于waiting \ TimedWaiting ,执行interrupt()会从w...

2020-03-18 23:46:57 143

原创 高性能编程之线程池

带着问题去学习 -------1、为什么使用线程池?2、线程是不是越多越好?3、如何确定合适数量的线程数?第一个问题 – 使用线程池是为了更方便的控制线程的数量,不需要频繁的创建和销毁线程。第二个问题 – 线程越多越好,其实不是的,主要从三个方面考虑:时间 -->线程在java中是一个对象,更是一个操作系统的资源,线程创建和销毁都需要时间,如果 创建时间+销毁时间 >= ...

2020-03-17 23:45:17 320

原创 高性能编程之线程安全(可见性,原子性)

java内存模型 VS jvm运行时数据区java内存模型:是由《java语言规范》提出来的,用来描述java语言的特性,实际上java内存模型是描述java多线程程序在执行时的一些规则。jvm运行时数据区:由《java虚拟机规范》提出来的,用来描述虚拟机在内存中应该遵循什么样的特点。总结:java语言规范 只是提出规则,具体需要 jvm规范 去解决。这里写自定义目录标...

2020-03-17 14:52:34 140

原创 Linux装jdk1.8

Centos7-卸载自带的jdk 安装jdk8查询系统是否已安装jdkrpm -qa|grep java卸载已安装的jdkrpm -e --nodeps java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64验证一下是还有jdkrpm -qa|grep java在usr目录下再创建一个java文件夹准备放置我们下载好的jdk安装包mkdir /...

2020-01-15 09:56:43 88

原创 Hystrix熔断器

Hystrix是一种保护机制,主要作用是:用于隔离访问远程服务、第三方库,防止出现级联失败。通俗来讲: 用户调用服务A完成某些操作,而服务A内部需要调用服务B,并且服务B内部需要调用服务C,打个比方C服务发生了问题,宕机了,而B服务却不知道,还在一直调用,处在等待时间,级联导致A服务也无法正常运行,最终导致用户操作失败,也在一直等待,整条服务线崩掉了。(雪崩效应)这就好比,一个汽车生产线,生产...

2019-12-24 17:02:15 257

原创 Ribbon负载均衡

什么是负载均衡?负载均衡:简单的讲就是将用户的请求均匀的分发到多台服务器上。使用Ribbon实现负载均衡–>因为Eureka中已经集成了Ribbon,所以我们无需引入新的依赖,直接修改代码,在调用服务方加注解,本次使用的是spring在RestTemplate的配置方法上添加@LoadBalanced注解:@Bean@LoadBalancedpublic RestTemplate...

2019-12-24 11:17:07 109

原创 Eureka简单学习

打个比方: Eureka就好比是滴滴,负责管理、记录服务提供者(车主司机)的信息。服务调用者(需要打车的用户)无需自己寻找服务,而是把自己的需求告诉Eureka(滴滴),然后Eureka会把符合你需求的服务告诉你。同时,服务提供方与Eureka之间通过“心跳”机制进行监控,当某个服务提供方出现问题,Eureka自然会把它从服务列表中剔除。这就实现了服务的自动注册、发现、状态监控。...

2019-12-19 10:36:53 149 1

原创 ssm整合步骤及原理分析

整合说明:SSM整合可以使用多种方式,本次整合选择XML + 注解的方式。整合思想:1、搭建mybatis的环境 2、搭建springmvc的环境 3、搭建Spring的环境 4、整合spring和springmvc 5、整合spring和my...

2019-11-19 13:58:14 3201 1

原创 springmvc 跨服务器上传图片报错总结

一般有四种报错情况:1、4002、4033、4044、4091、错误400解决方法排除url和参数错误,这里只说在你确认代码无误的情况下报错的情况:不管上传的是什么类型的文件,文件名改成英文名。2、错误403解决方法tomcat服务器默认是不可写操作,只允许读,所以在Tomcat web.xml文件中的servlet标签内加入readonly:false&lt...

2019-11-18 17:33:04 920 9

原创 Spring详解

一丶首先理解耦合和解耦:程序的耦合 耦合:程序间的依赖关系 包括: 类之间的依赖 方法间的依赖 解耦: 降低程序间的依赖关系 实际开发中: 应该做到:编译期不依赖,运行时才依赖。 解耦的思路: ...

2019-11-13 23:36:41 403 1

原创 MyBatis详解

mybatis的概述 mybatis是一个持久层框架,用java编写的。 它封装了jdbc操作的很多细节,使开发者只需要关注sql语句本身,而无需关注注册驱动,创建连接等繁杂过程 它使用了ORM思想实现了结果集的封装。ORM 是什么意思: Object Relational Mappging 对象关系映射 简单的说: ...

2019-11-11 23:39:19 465

原创 Listener

什么是监听器? 监听器就是监听某个域对象的的状态变化的组件监听器的三个概念:(帮助理解)eg: 监听别人的行为-----事件源 = 你想要监听的那个人;监听器 = 你在他身上所装的监听设备;注册监听器 = 你把他身上装监听器的行为;响应行为 = 你听到他说的一些事情,做出的反应;事件源:被监听的对象 主要用来监听域对象 request session servletCo...

2019-10-29 23:09:42 171

原创 Json & Ajax

概念: ASynchronous JavaScript And XML 异步的JavaScript 和 XML 1. 异步和同步:客户端和服务器端相互通信的基础上 * 客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作。 * 客户端不需要等待服务器端的响应。在服务器处理请求的过程中,客户端可以进行其他的操作。(局部刷新页面如百度搜索框,输...

2019-10-16 23:06:54 147 3

原创 会话技术之cookie and session

会话技术从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话。会话技术就是记录这次会话中客户端的状态与数据的。会话技术分为Cookie和Session:Cookie:数据存储在客户端本地,减少服务器端的存储的压力,安全性不好,客户端 可以清除cookieSession:将数据存储到服务器端,安全性相对好,增加服务器的压力 Cookie技术 Cooki...

2019-09-25 08:24:27 136

原创 An invalid character [32] was present in the Cookie value

在addCookie时是不能使用空格的 而在ASCII码中32对应的就是空格。只要把后台代码中的空格删掉就可以了。protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //1、创建cookie Cooki...

2019-09-24 08:40:00 820

原创 httpresponse详解

一 、 HttpServletResponse概述我们在创建Servlet时会覆盖service()方法,或doGet()/doPost(),这些方法都有两个参数,一个为代表请求的request和代表响应response。service方法中的response的类型是ServletResponse ,HttpServletResponse是ServletResponse的子接口,功能和方...

2019-09-23 08:31:50 35655

原创 httprequest 详解

HttpServletRequest概述 我们在创建Servlet时会覆盖service()方法,或doGet()/doPost(),这些方法都有两个参数,一个为代表请求的request和代表响应response。service()方法中写了根据请求方式的不同调用doget()和dopost().service方法中的request的类型是ServletRequest,而doGe...

2019-09-23 08:19:37 67045 2

原创 servlet 以及ServletContext对象 详解

1.什么是Servlet Servlet 运行在服务端的Java小程序,是sun公司提供一套规范(接口),用来处理客户端请求、响应给浏览器的动态资源。但servlet的实质就是java代码,通过java的API 动态的向客户端输出内容。2.Servlet快速入门实现步骤:创建类继承HttpServlet类 覆盖doGet和doPost 在web.xml中进行serv...

2019-09-21 23:02:28 598

原创 FileWriter面试的考法

参数中默认为false,向hi.txt 写入内容时,会把原来的内容覆盖掉,默认会覆盖掉。看下图:接下来大家看一下加上参数 true 的效果,这个参数表示输出内容是否在原有基础上追加。做面试题一定要注意这个小点,平时一定要多积累。...

2019-09-03 17:14:38 76

空空如也

空空如也

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

TA关注的人

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