Java项目中classpath路径
摘要:1、src不是classpath, WEB-INF/classes、lib、resources才是classpath,WEB-INF/是资源目录, 客户端不能直接访问。 2、WEB-INF/classes目录存放src目录java文件编译之后的class文件,xml、properties等资源配置文
阅读全文
Explain详解
摘要:在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL
阅读全文
SpringBoot 一个接口同时支持 form 表单、form-data、json 的优雅写法
摘要:而在 Java 中,一个接口只支持一种 content-type,json 就用 @RequestBody,form 表单就用 @RequestParam 或不写,form-data 就用 MultipartFile。 兼容版本 如果要把在一个接口中同时兼容三种,比较笨的办法就是获取 HttpSer
阅读全文
SpringCloud项目中接入Nacos作为配置中心
摘要:前言 通过前两篇文章: Nacos(二):Nacos与OpenFeign的对接使用 Nacos(三):SpringCloud项目中接入Nacos作为注册中心 相信大家已经对Nacos作为注册中心的基本使用已经有了一定的了解。 然而,Nacos远远不止于此,本文我们来看一下Nacos作为配置中心在Sp
阅读全文
Nacos与OpenFeign的对接使用
摘要:前言 上篇文章中,简单介绍了如何在SpringCloud项目中接入Nacos作为注册中心,其中服务消费者是通过RestTemplate+Ribbon的方式来进行服务调用的。 实际上在日常项目中服务间调用大都用的是OpenFeign, OpenFeign自身整合了Ribbon和Hystrix,为服务调
阅读全文
SpringCloud项目中接入Nacos作为注册中心
摘要:前言 通过上一篇文章:Nacos介绍 简单了解了Nacos的发展历程和现状,本文我们开始Nacos试水的第一步: 使用Nacos做注册中心 上周末(7.6)Nacos发布了V1.1.0版本,这次更新支持灰度配置、地址服务器模式、配置文件导入导出等其他功能。感觉社区的老哥们都很高产呐… 本文主要通过两
阅读全文
Nacos介绍
摘要:前言 6月份阿里开源的Nacos出了1.0.1版本,从去年7月份第一个release版本到现在一直在默默关注 官方的版本规划为:Nacos从0.8.0开始支持生产可用,1.0版本可大规模生产可用,2.0版本接入k8s、SpringCloud、ServiceMesh、ServerLess 公司目前的项
阅读全文
springboot集成虹软人脸识别
摘要:关于虹软 虹软是计算机视觉行业领先的算法服务提供商及解决方案供应商,服务于世界各地的客户,将领先的计算机视觉技术商业化应用在智能手机、智能汽车、智能家居、智能零售、互联网视频等领域,并且仍在不断探索新的领域与方向简单的说它是为各种各样的应用程序提供视觉算法服务的第三方厂商,是一个在计算机视觉技术上优
阅读全文
springboot与elasticsearch整合
摘要:资源下载:ElasticSearch官方下载地址:https://www.elastic.co/downloads/elasticsearchcurl下载地址:http://curl.haxx.se/download.htmlKibana下载地址:https://www.elastic.co/gui
阅读全文
springboot整合三 共享session,集成springsession
摘要:官网介绍 - spring:session:https://docs.spring.io/spring-session/docs/current/reference/html5/ 1. Mave依赖 <!-- springboot - Redis --> <dependency> <groupId>
阅读全文
mybatis一级缓存二级缓存
摘要:一级缓存 Mybatis对缓存提供支持,但是在没有配置的默认情况下,它只开启一级缓存,一级缓存只是相对于同一个SqlSession而言。所以在参数和SQL完全一样的情况下,我们使用同一个SqlSession对象调用一个Mapper方法,往往只执行一次SQL,因为使用SelSession第一次查询后,
阅读全文
Mybatis二级缓存
摘要:一、序言 本文承接[Mybatis缓存体系探究],提供基于MybatisPlus技术可用于生产环境下的二级缓存解决方案。 1、前置条件 掌握MyBatis二级缓存的原理 有关MyBatis缓存原理内容,参考[Mybatis缓存体系探究] 选择符合条件的MybatisPlus版本 本方案对Mybati
阅读全文
rabbitmq的六种工作模式
摘要:RabbitMQ的六种工作模式: 1、Work queues2、Publish/subscribe3、Routing4、Topics5、Header 模式6、RPC 一、Work queues 多个消费端消费同一个队列中的消息,队列采用轮询的方式将消息是平均发送给消费者; 特点: 1、一条消息只会被
阅读全文
线上故障排查(高内存占用)
摘要:搞Java开发的,经常会碰到下面两种异常: 1、java.lang.OutOfMemoryError: PermGen space 2、java.lang.OutOfMemoryError: Java heap space 要详细解释这两种异常,需要简单重提下Java内存模型。 Java内存模型是描
阅读全文
线上故障排查(高cpu占用)
摘要:高CPU占用 一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环。 根据top命令,发现PID为28555的Java进程占用CPU高达200%,出现故障。 通过ps aux | grep PID命令,可以进一步确定是tomcat进程出现了问题。但是,怎么定位到具体线程或者
阅读全文
JVM内存结构
摘要:所有的Java开发人员可能会遇到这样的困惑?我该为堆内存设置多大空间呢?OutOfMemoryError的异常到底涉及到运行时数据的哪块区域?该怎么解决呢?其实如果你经常解决服务器性能问题,那么这些问题就会变的非常常见,了解JVM内存也是为了服务器出现性能问题的时候可以快速的了解那块的内存区域出现问
阅读全文
ehcache、memcache、redis三大缓存比较
摘要:Ehcache 在Java项目广泛的使用。它是一个开源的、设计于提高在数据从RDBMS中取出来的高花费、高延迟采取的一种缓存方案。正因为Ehcache具有健壮性(基于java开发)、被认证(具有apache 2.0 license)、充满特色(稍后会详细介绍),所以被用于大型复杂分布式web app
阅读全文
MyBatis持久层框架使用总结
摘要:yBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。 2013年11月迁移到Github,MyBatis的Github地址:https://github.co
阅读全文
最常用的动态sql语句梳理Mybatis(转)
摘要:公司项目中一直使用Mybatis作为持久层框架,自然,动态sql写得也比较多了,最常见的莫过于在查询语句中使用if标签来动态地改变过滤条件了。Mybatis的强大特性之一便是它的动态sql,免除了拼接sql带来的各种麻烦,在开发项目的过程中,常见的和不常见的你都有可能会用到,现在就来把这一块总结一下
阅读全文
Sentinel 主从+哨兵
摘要:总体部署 一主二从三哨兵 ip地址分配分别为 主 127.0.0.1:6379 从 127.0.0.1:6389 从 127.0.0.1:6399 哨兵 127.0.0.1:26379 哨兵 127.0.0.1:26389 哨兵 127.0.0.1:26399 一主二从的配置文件 redis.con
阅读全文
Redis的两种备份(持久化)方式:RDB和AOF
摘要:在 Redis 中存在两种方式的备份:一种是快照恢复(RDB),通过快照(snapshotting)实现的,它是备份当前瞬间 Redis 在内存中的数据记录。另一种是只追加文件(Append-Only File,AOF),其作用就是当 Redis 执行写命令后,在一定的条件下将执行过的写命令依次保存
阅读全文
redis缓存穿透、缓存击穿、缓存雪崩区别和解决方案
摘要:缓存穿透 描述: 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求。由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。 在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们
阅读全文
redis的5种数据类型
摘要:1.redis的5种数据类型: string 字符串(可以为整形、浮点型和字符串,统称为元素) list 列表(实现队列,元素不唯一,先入先出原则) set 集合(各不相同的元素) hash hash散列值(hash的key必须是唯一的) sort set 有序集合 2.string类型的常用命令:
阅读全文
Java正确获取客户端真实IP方法整理
摘要:在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。 如果使用了反向代理软件,将http://192.168.1.110:2046/的URL反
阅读全文
JAVA8 十大新特性详解
摘要:场景:今天在翻看jdk的java.util.Comparator接口的时候发现了下面这段代码 1 interface Formula { 2 double calculate(int a); 3 default double sqrt(int a) { 4 return Math.sqrt(a);
阅读全文
解决Oracle用户被锁定的方法
摘要:1,cmd控制台: 使用sqlplus 命令:sqlplus sys/密码@ip/orcl as sysdba; 2,先设置具体时间格式,以便查看具体时间 SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'; 3,查看具体的被
阅读全文
df -h统计的信息与du -sh不一致的原因
摘要:有时候会遇到这样的问题:df -h统计一个目录,显示有约100M可用空间,使用了5G;而用du -sh统计该目录下的文件大小,却发现总共才占用了1G。也就是说,二者统计结果差距巨大。 例如: 1、df -h /tmp/ 结果: Size Used Avail Use% Mounted on3.9G
阅读全文