自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 JavaWeb项目中获取项目路径的方法

String contextPath = request.getContextPath(); String realPath = request.getSession(). getServletContext().getRealPath("/"); String basePath = request.getScheme()+"://"+r...

2019-12-20 14:39:17 676

原创 类的初始化

一个类的整个生命周期包括:加载,验证,准备,解析,初始化,使用,卸载初始化运行过程中遇到如下字节码指令时,如果类尚未初始化,那就要进行初始化:new、getstatic、putstatic、invokestatic等。这四个指定对应的Java代码场景是:new: 通过new创建对象;getstatic,putstatic: 读取、设置一个类的静态成员变量(不包括final修饰的静态变量)...

2019-12-03 17:32:08 204

原创 HashMap、TreeMap和HashTable的区别

HashMap是通过hashcode()对其内容进行快速查找的,无序TreeMap中所有的元素都是通过树进行排序。HashMap和TreeMap都不是线程安全的;HashMap继承AbstractMap类;覆盖了hashcode() 和equals() 方法TreeMap继承SortedMap类HashMap:基于hash表实现的;使用HashMap要求添加的键类明确定义了hashco...

2019-12-03 14:56:53 647

转载 IDEA TOMCAT 中文乱码

工程乱码打开File-Setting, 找到File Encodings这个选项,把encoding设置成你工程的编码即可,一般是UTF-8,如下图(红框的地方),然后重新rebuild一下,基本就行了执行main函数时,控制台乱码同样是打开setting,找到 Build,Execution,Deployment > Compiler > Java Compiler, 设置 ...

2019-12-02 17:11:43 167

转载 【分布式】分布式事务解决方案

两阶段提交方案/XA方案1、多个任务都先锁定自己需要的资源,然后发送准备消息给事务管理器2、事务管理器收到所有任务的准备信息后发送确认信息给任务,可以执行3、任务只能使用之前声明占有的资源TCC 方案TCC 的全称是:Try、Confirm、Cancel。Try 阶段:这个阶段说的是对各个服务的资源做检测以及对资源进行锁定或者预留。Confirm阶段:这个阶段说的是在各个服务中执行...

2019-11-28 10:46:06 194

原创 DENIED Redis is running in protected mode

连接sentinel报错在这里插入代码片DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients. In this mode c...

2019-11-07 16:16:37 161

原创 Redis主从配置及JAVA使用笔记

备机repl-diskless-sync no //备机可写requirepass "rd@007321" //主机密码slaveof 192.168.0.1 6379 //配置主机哨兵配置sentinel monitor mymaster 10.8.227.87 60012 1 //主机名称,地址,端口以及几个哨兵投票可确认挂掉sentinel down-after-millise...

2019-11-07 14:46:14 390

转载 Redis配置文件内容详解

#redis.conf# Redis configuration file example.# ./redis-server /path/to/redis.conf################################## INCLUDES ####################################这在你有标准配置模板但是每个redis服务器又需要个性设置的时候很...

2019-11-06 10:29:13 185

原创 消息队列作用与不足

作用1.应用解耦2.异步处理3.流量削峰4.日志处理5.消息通讯不足1.高可用性问题2.数据丢失问题3.如何不重复消费4.如何保证有序

2019-10-23 16:26:35 289

转载 消息队列幂等性

一、什么是幂等性可以参考数据库乐观锁机制,比如执行一条更新库存的 SQL 语句,在并发场景,为了性能和数据可靠性,会在更新时加上查询时的版本,并且更新这个版本信息。可能你要对一个事情进行操作,这个操作可能会执行成百上千次,但是操作结果都是相同的,这就是幂等性。二、消费端的幂等性保障在海量订单生成的业务高峰期,生产端有可能就会重复发生了消息,这时候消费端就要实现幂等性,这就意味着我们的消息永远...

2019-10-14 18:05:31 4205

转载 SpringBoot项目启动时运行方法

在SpringBoot中,有两种接口方式实现启动执行,分别是ApplicationRunner和CommandLineRunner,除了可接受参数不同,其他的大同小异ApplicationRunner :import org.springframework.boot.ApplicationArguments;import org.springframework.boot.Applicat...

2019-10-12 17:22:39 1824

原创 Session共享方法

session复制 每台机器上需要保存所有的session信息,机器多的话太大,已经很少有人会使用nginx通过hash_ip来给不同用户指定固定的机器,session也存在固定的机器上 如果某台服务宕机,则会丢失session利用cookie记录 受限于cookie大小,而且每次响应都需要传递cookie,影响性能,客户还可以禁用cookie,但是由于简单易用,使用很广泛将sess...

2019-10-10 17:01:45 102

原创 SSO单点登录流程记录

单点登录流程向W1发送请求验证页面,重定向到SSO向SSO发送请求,如果存在cookie,则返回token浏览器将token发送给W1,W1到SSO验证token通过后跳转响应验证页面向W1发送请求验证页面,重定向到SSO向SSO发送请求,若不存在cookie,重定向到W1登录页提交登录信息,W1将登录信息发送给SSO验证身份信息SSO验证成功并生成...

2019-09-27 17:13:41 257

原创 Spring注解配置定时任务,运行时间超出间隔时间

@EnableScheduling@Scheduled有三种配置方式cronfixedRatefixedDelaycron是固定时间进行处理fixedRate任务执行间隔是两次任务是开始点,如果执行时长超过间隔,那么会在任务执行结束后立刻执行下一次,除非用@Async注解了fixedDelay任务执行间隔是前次任务结束和下次任务开始点这篇文章主要探讨的是如果任务执行时间超过了定...

2019-09-09 14:03:39 6658 1

原创 利用Redis对MySQL查询做缓存提高查询速度

MySQL配置application.properties中配置数据源spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=falsespring.datasource.use...

2019-09-05 18:11:39 2772

转载 Swagger详解(SpringBoot+Swagger集成)

Swagger-API文档接口引擎Swagger是什么Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。在项目开发中,根据业务代码自动生成API文档,给前端提供在线测试,自动显示JSON格式,方便了后端与...

2019-09-03 20:43:20 1114 1

转载 ElasticSearch教程——汇总篇

https://blog.csdn.net/gwd1154978352/article/details/82781731

2019-08-19 11:05:39 136

原创 [MySQL实战45讲]MySQL笔记之优化

使用长连接数据库内存过大原因:MySQL 在执行过程中临时使用的内存是管理在连接对象里面的。这些资源会在连接断开的时候才释放。所以如果长连接累积下来,可能导致内存占用太大,被系统强行杀掉(OOM),从现象看就是 MySQL 异常重启了。定期断开长连接。使用一段时间,或者程序里面判断执行过一个占用内存的大查询后,断开连接,之后要查询再重连。如果你用的是 MySQL 5.7 或更新版本,可以在...

2019-08-13 20:38:37 281

原创 [MySQL实战45讲]MySQL笔记之数据库锁

备份数据库,全局锁如果全部使用InnoDB引擎,那么直接 mysqldump -single-transaction 即可否则用FTWRL语句,即 flush table with read lock。你发现你的应用程序里有 lock tables 这样的语句表锁一般是在数据库引擎不支持行锁的时候才会被用到的。要么是你的系统现在还在用 MyISAM 这类不支持事务的引擎,那要安排升级换引...

2019-08-13 20:37:46 157

原创 [MySQL实战45讲]MySQL笔记之事务

基本要素ACID1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了钱,...

2019-08-13 20:37:05 142

原创 [MySQL实战45讲]MySQL笔记之索引

B+树索引和Hash索引区别哈希索引适合等值查询,但是无法进行范围查询哈希索引没办法利用索引完成排序哈希索引不支持多列联合索引的最左匹配规则如果有大量重复键值的情况下,哈希索引的效率会很低,因为存在哈希碰撞问题索引失效的情况对于创建的多列索引(复合索引),不是使用的第一部分就不会使用索引对于使用 like 查询, 查询如果是 ‘%aaa’ 不会使用索引,而 ‘aaa%’ 会使...

2019-08-13 20:36:08 210

原创 [MySQL实战45讲]MySQL笔记之数据库基础

MySQL查询过程连接数据库查询缓存,若命中直接返回结果(不推荐使用,更新即失效,利用效率低,8.0已经删除查询缓存)语法分析语句优化查询存储引擎重建表作用:1.重建索引 2.清除空洞,碎片整理,收缩表空间方法:1. alter table t engine=InnoDB 2.optimize table tanalyze table t (只重建索引)...

2019-08-13 20:35:14 153

原创 [vue小白]npm run运行以后无法关闭

本文引用自:https://blog.csdn.net/qq_32107121/article/details/84378217运行时报错解决方法打开项目的package.js或package.json,查找scripts配置,如果如上图所示没有配置dev,则运行需要输入方法npm run serve。当配置如上图所示,才可以以npm run dev运行...

2019-08-12 11:22:11 12599 1

原创 Interceptor拦截器无法拦截根目录的解决方法

今天发现了一个bug,首页home.jsp的某一个值是通过拦截器拦截所有页面,然后赋值的,然而我们的首页是通过index.jsp直接引用首页home.jsp代码(如下),拦截器无法拦截。<%@ include file="./WEB-INF/jsp/home.jsp" %>首先,第一个解决方法就是,将首页的引用文件改为跳转即可<html><head>&...

2019-07-15 15:27:29 1922

转载 log4j2.xml配置笔记

转载自阿豪聊干货:https://www.cnblogs.com/hafiz/p/6170702.htmlConfigurationConfiguration最外层节点status:日志打印级别monitorinterval:重新配置的监测间隔时间–Appenders----Console定义输出到控制台的Appender.name:指定Appender的名字.target:...

2019-06-20 15:11:08 386

原创 JAVA反射使用父类的非public方法(getMethods()和getDeclaredMethods()区别)

getMethods()和getDeclaredMethods()区别虽然是老生常谈了,但是还是要先说一下两者的区别。getMethods():能够获取类的所有public方法,包括自身定义的以及从父类继承的。getDeclaredMethods():能够获取类本身的所有方法,包括private方法,实现的接口方法,但是不能获取从父类继承的方法。因此getDeclaredMethods()...

2019-06-17 15:45:58 2920

原创 Echarts使用笔记--饼图,柱状图

开始做前端了,感觉自己是要变成全栈工程师了。。。今天使用了echart,用之前觉得好高大上好厉害,肯定很复杂。用了以后才发现,使用起来超简单,当然,精通很难,里面的各种配置太多了,本文记录一下自己用到的东西。echart使用现在直接引用js文件就可以了<script src="echarts.min.js"></script>echart组件需要在一个宽高固定的...

2019-05-28 17:59:21 311

转载 深入拆解 Java 虚拟机 】Exception异常笔记

【深入拆解 Java 虚拟机 】Exception异常笔记try-with-resource语法糖finallytry-with-resource语法糖try后对象的close方法都会被运行。package com.exception.demo;public class Foo implements AutoCloseable { private final String name...

2019-05-05 17:12:06 185

转载 tomcat,javax.management.MalformedObjectNameException: Invalid character ':' in value part of propert

转载自https://blog.csdn.net/li_cheng_liang/article/details/75019872NFO: Deploying web application directory /app/project/apache-tomcat-console-8082/webapps/d:Jul 12, 2017 3:31:03 PM org.apache.catalin...

2019-03-18 17:07:33 1327

原创 Spring事务的七种传播行为小结

最常用的属性是1和4。1.PROPAGATION_REQUIRED如果事务存在,则支持当前事务,如果没有事务则开启一个新事务。2.PROPAGATION_SUPPORTS如果存在事务,则支持当前事务,如果不存在,则以非事务方式执行。3.PROPAGATION_MANDATORY如果存在事务,则支持当前事务,如果不存在,则抛出异常。4.PROPAGATION_REQUIRES_NE...

2019-03-08 13:11:39 319

原创 [leetcode]9.回文数

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。我最开始的解法,把数字转换成字符串,然后比较头尾,时间空间复杂度还过得去。当然反转方法也可以用gBuilder的reverse()方法来进行。class Solution { public boolean isPalindrome(int x) { if(x&lt;0){ ...

2019-02-23 12:03:16 142

原创 JS函数执行顺序错乱问题

function A(){ var i = 0; i = B(); C(i);}function B(){ setTimeout(function(){}, 1000); return 2;}function C(i){ console.log(i);}这几天开发前端发现一个问题,两个函数前后顺序写上之后,却没有按顺序执行,如上例所示,控制台输出的其实是0而不是2。...

2018-11-30 17:58:00 5315

原创 严重: Servlet.service() for servlet [jsp] threw exception javax.el.ELException:

严重: Servlet.service() for servlet [jsp] threw exceptionjavax.el.ELException: The identifier [package] is not a valid Java identifier as required by section 1.19 of the EL specification (Identifier :...

2018-11-23 15:54:31 6166

原创 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

导入新项目时可能会报如下错误严重: Error configuring application listener of class [org.springframework.web.context.ContextLoaderListener]java.lang.ClassNotFoundException: org.springframework.web.context.ContextL...

2018-11-16 14:53:55 177

原创 Maven Web项目的导入的完整过程以及JDK版本问题

之前导入maven项目时,经常会遇到各种问题,不是jdk版本不对,就是生成的项目路径不对,或者各种报错,踩了好多坑,大概是由于太基础了,网上也找不到关于项目导入的完整过程,特把自己完善的导入过程记录下来备用,也希望能帮助到一些人。1、导入Existing Maven Projects,选中项目,next,next,finish。之后跳出的Project Migration直接点击Cancel...

2018-11-15 16:16:58 610

原创 前端通过ajax传数组到后端失败的解决方法

前几天做项目,由于获取的数据是内容长度都不定,所以需要传一个数组到后端。var array = [tom, bob, jack];$.ajax({ url: basePath + "/deme", data: array, type: POST, //traditional:true, success: function(data){}})通过...

2018-10-20 10:00:01 3087

转载 请求转发和请求包含

1、Servlet 容器 编程中的容器我们可以理解为程序运行时需要的环境,那么Tomcat 就是Servlet 的运行环境,就是一个Servlet 容器。Servlet 容器的作用是负责处理客户请求,当Servlet 容器获取到用户请求后,调用某个Servlet,并把Servlet 的执行结果返回给用户。 Servlet 容器的工作流程:  ● 当用户请求某个资源时,Servlet 容...

2018-08-12 14:32:32 3054

原创 Enum枚举类的基本应用以及实现单例模式

在看设计模式时看到单例模式的最简便和最安全的方式就是应用枚举类。以前学习java基础的时候都说枚举类没有必要进行学习,现在才发现是因为很多人都对枚举类不了解,并不知道它的强大之处。枚举类对于需要建立有限个对象的类有很大优势,因此很适合用来建立单例模式,但是又不止局限于单例模式。1. 首先是枚举的最基础的应用方式,即单例模式。enum Student{ INSTANT; private...

2018-08-12 14:27:19 475

原创 Strut2环境搭建中的ClassNotFoundException和InstantiationError错误详解

前些天学习Strut2,配置环境的时候一直报错,主要遇到两个错误,特此记录,希望能帮助到其他同学。1.这个错误是由于struts2-core和struts2-convention-plugin 的版本号不匹配,要将它们设为一致。严重: Exception starting filter struts2 java.lang.InstantiationError: com.opensymph...

2018-07-29 11:12:36 358 1

原创 Unsupported major.minor version 52.0 错误解决方法

自己前些天的项目突然出现这个问题,经过仔细排查,发现有两个原因都会导致这个问题。第一个就是POM文件中的dependency重复,如果使用的是maven导入,重复写入dependency就会出现该错误。第二个是版本不匹配,即所引用的jar包太新,并不匹配你的jdk,因为我们正常用的都是jdk7,但是现在已经更新到jdk10了,好多最新版本最新版本的jar包都是基于最新的jdk编写,所以可以...

2018-07-29 11:03:00 2764

空空如也

空空如也

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

TA关注的人

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