![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java项目
文章平均质量分 57
ChaoticNg
八股文颂唱者
展开
-
tomcat部署的三种方式及优缺点对比
Tomcat的三种部署方式:war包方式,sever.xml方式,项目名.xml方式为了演示需要,简单创建了一个web项目tomcat_deploy,编写了 index.jsp 作为欢迎页部署方法一:将编译成功的web项目直接放到webapps目录中(注意是编译成功的web项目,也可以是war包);部署方式二:修改tomcat安装目录下的conf/server.xml文件,修改方式如下:为了不引起歧义,首先删除部署在webapps下面的 tomcat_d...原创 2021-05-26 17:30:38 · 806 阅读 · 1 评论 -
蓝绿发布、灰度发布和滚动发布
应用程序升级面临最大挑战是新旧业务切换,将软件从测试的最后阶段带到生产环境,同时要保证系统不间断提供服务。长期以来,业务升级渐渐形成了几个发布策略:蓝绿发布、灰度发布和滚动发布,目的是尽可能避免因发布导致的流量丢失或服务不可用问题。一、 蓝绿发布项目逻辑上分为AB组,在项目系统时,首先把A组从负载均衡中摘除,进行新版本的部署。B组仍然继续提供服务。当A组升级完毕,负载均衡重新接入A组,再把B组从负载列表中摘除,进行新版本的部署。A组重新提供服务。最后,B组也升级完成,负载均衡原创 2021-07-19 11:23:16 · 109 阅读 · 0 评论 -
简化开发,提升效率
很多if(==null)之类的,JDK1.8的Optional可以优雅高效的处理也可以使用参数校验框架,直接在entity里校验两个类大多数参数相同,进行赋值的话可以使用apache提供的工具类BeanUtils.copyProperties(taskLog,task); ...原创 2021-09-16 16:52:42 · 114 阅读 · 0 评论 -
电商项目相关
1、redis存储的用户信息建议用hash结构https://blog.csdn.net/qq_34412985/article/details/86710018我们要存储一个用户信息对象数据,包含以下信息:用户ID为查找的key,存储的value用户对象包含姓名,年龄,生日等信息,如果用普通的key/value结构来存储,主要有以下2种存储方式:①第一种方式将用户ID作为查找key,把其他信息封装成一个对象以序列化的方式存储,这种方式的缺点是,增加了序列化/反序列化的开销,并且在需要修改其原创 2021-08-12 15:44:53 · 109 阅读 · 0 评论 -
记一次线上服务cpu占用率超过100%的问题排查
关联文章:9种 OOM 常见原因及解决方案https://blog.csdn.net/ChaoticNg/article/details/119345515?spm=1001.2014.3001.5501一、出现问题在发现公司门禁服务无法开门的第一时间,去线上服务器上查看了一下进程的运行情况,具体运行如下:第一次在查看的时候发现并没有我需要的服务entranceguard进程(图片是后续截图的)二、第一时间启动服务在察觉到服务挂了之后,第一时间就是让服务重新启动,所以运.转载 2021-08-04 16:52:50 · 310 阅读 · 0 评论 -
项目中遇到的一些问题
1、There is no getter for property named '*' in 'class*’意思是mapper的参数没有getter方法能接收,歧视问题主要是sql里写了动态if,参与动态sql时,mybatis会以OGNL对象树的形式即String.personName取值,导致异常抛出。我给入参xxxVo添加了@Param("p")注解后,在sql里的属性都取为q.xxx就可以了。具体参考:https://blog.csdn.net/qq_40925189/arti...原创 2021-04-23 09:34:46 · 447 阅读 · 0 评论 -
超卖问题,以及秒杀系统实例
如何解决高并发秒杀的超卖问题由秒杀引发的一个问题秒杀最大的一个问题就是解决超卖的问题。①第一种解决超卖如下方式:update goods set num = num - 1 WHERE id = 1001 and num > 0我们假设现在商品只剩下一件了,此时数据库中 num = 1;但有100个线程同时读取到了这个 num = 1,所以100个线程都开始减库...原创 2020-03-20 18:55:02 · 505 阅读 · 0 评论 -
第三方支付接口响应超时处理方法
问题:调用第三方支付接口超时怎么办?解决方法:调用接口时设置超时时间,当接口超过60秒未返回结果,自动将改订单设置为处理中,然后后由定时任务调用查询接口,同时如果用户下拉刷新页面也会发起单笔交易查询。这样就把,一个实时返回结果的接口,当成一个异步的接口来用了,总比一大堆失败订单等着财务来找好。这类问题应该很多,在分布式中接口响应超时的问题,尤其重要。很多时候,一个请求,会调用很多service服务,如果service之间是串行的话,那么一个service超时,很可能会引起连锁反应,所以在调用别.原创 2021-03-23 09:25:44 · 4348 阅读 · 0 评论 -
前后端分离项目中前端如何调用后端接口?
前端主页:http://localhost:8088/dist/view/index.html后端地址:http://localhost:8089/mall_war/*.do前后端启动项目,无法访问接口。这个问题是跨域引起的这里我只推荐这两种方式跨域,其它的跨域方式都还有很多但都不推荐,真心主流的也就这两种方式。 开发环境 生产环境 方案一 cors cors 方案二 proxy nginx 方案一:cors全称为 Cross ...原创 2021-03-09 16:10:16 · 14616 阅读 · 0 评论 -
电商开发,SKU与SPU是什么?
SPU 属性(不会影响到库存和价格的属性, 又叫关键属性)Oppo R17这是商品的SPU,但Oppo R17只是一个名词,单纯的理解这个名词是没有意义的。这里的SPU是一组商品的属性组合。如下所示【硬件参数】:CPU 型号:高通骁龙™ 670CPU 频率:2.0GHz核心数:八核处理器位数:64 位GPU 型号:Adreno™ 615电池容量:3500mAh(典型值)*【尺寸】:长:约 157.5mm宽:约 74.9mm厚:约 7.5mm重:约 1原创 2021-03-08 13:54:34 · 333 阅读 · 0 评论 -
IDEA里面的Artifact是什么?
我表示,我在刚刚整这个web开发的时候,在配置tomcat的时候,我也是很好奇,这个东西是什么?一般会见到如下的图。Artifact 是maven中的一个概念,表示某个module要如何打包。这又多个模块的概念,不懂的就先当他是个web项目吧,例如war exploded、war、jar、ear等等这种打包形式;一个module有了 Artifacts 就可以部署到应用服务器中了!那么带不带exploded的区别是什么?这个是不带exploded的。和下图的框框对..原创 2021-02-24 15:47:11 · 1461 阅读 · 0 评论 -
IDEA “Cannot resolve symbol XXX”
File->Invalidate Caches / Restart-> Invalidate and Restart原创 2020-08-27 15:09:28 · 85 阅读 · 0 评论