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 · 1074 阅读 · 1 评论 -
蓝绿发布、灰度发布和滚动发布
应用程序升级面临最大挑战是新旧业务切换,将软件从测试的最后阶段带到生产环境,同时要保证系统不间断提供服务。 长期以来,业务升级渐渐形成了几个发布策略:蓝绿发布、灰度发布和滚动发布,目的是尽可能避免因发布导致的流量丢失或服务不可用问题。 一、 蓝绿发布 项目逻辑上分为AB组,在项目系统时,首先把A组从负载均衡中摘除,进行新版本的部署。B组仍然继续提供服务。 当A组升级完毕,负载均衡重新接入A组,再把B组从负载列表中摘除,进行新版本的部署。A组重新提供服务。 最后,B组也升级完成,负载均衡原创 2021-07-19 11:23:16 · 249 阅读 · 0 评论 -
简化开发,提升效率
很多if(==null)之类的,JDK1.8的Optional可以优雅高效的处理 也可以使用参数校验框架,直接在entity里校验 两个类大多数参数相同,进行赋值的话可以使用apache提供的工具类BeanUtils.copyProperties(taskLog,task); ...原创 2021-09-16 16:52:42 · 210 阅读 · 0 评论 -
电商项目相关
1、redis存储的用户信息建议用hash结构 https://blog.youkuaiyun.com/qq_34412985/article/details/86710018 我们要存储一个用户信息对象数据,包含以下信息:用户ID为查找的key,存储的value用户对象包含姓名,年龄,生日等信息,如果用普通的key/value结构来存储,主要有以下2种存储方式: ①第一种方式将用户ID作为查找key,把其他信息封装成一个对象以序列化的方式存储,这种方式的缺点是,增加了序列化/反序列化的开销,并且在需要修改其原创 2021-08-12 15:44:53 · 210 阅读 · 0 评论 -
记一次线上服务cpu占用率超过100%的问题排查
关联文章:9种 OOM 常见原因及解决方案https://blog.youkuaiyun.com/ChaoticNg/article/details/119345515?spm=1001.2014.3001.5501 一、出现问题 在发现公司门禁服务无法开门的第一时间,去线上服务器上查看了一下进程的运行情况,具体运行如下: 第一次在查看的时候发现并没有我需要的服务entranceguard进程(图片是后续截图的) 二、第一时间启动服务 在察觉到服务挂了之后,第一时间就是让服务重新启动,所以运.转载 2021-08-04 16:52:50 · 406 阅读 · 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.youkuaiyun.com/qq_40925189/arti...原创 2021-04-23 09:34:46 · 582 阅读 · 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 · 644 阅读 · 0 评论 -
第三方支付接口响应超时处理方法
问题:调用第三方支付接口超时怎么办? 解决方法:调用接口时设置超时时间,当接口超过60秒未返回结果,自动将改订单设置为处理中,然后后由定时任务调用查询接口,同时如果用户下拉刷新页面也会发起单笔交易查询。 这样就把,一个实时返回结果的接口,当成一个异步的接口来用了,总比一大堆失败订单等着财务来找好。 这类问题应该很多,在分布式中接口响应超时的问题,尤其重要。很多时候,一个请求,会调用很多service服务,如果service之间是串行的话,那么一个service超时,很可能会引起连锁反应,所以在调用别.原创 2021-03-23 09:25:44 · 5148 阅读 · 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 · 15534 阅读 · 0 评论 -
电商开发,SKU与SPU是什么?
SPU 属性(不会影响到库存和价格的属性, 又叫关键属性) Oppo R17这是商品的SPU,但Oppo R17只是一个名词,单纯的理解这个名词是没有意义的。 这里的SPU是一组商品的属性组合。如下所示 【硬件参数】: CPU 型号:高通骁龙™ 670 CPU 频率:2.0GHz 核心数:八核 处理器位数:64 位 GPU 型号:Adreno™ 615 电池容量:3500mAh(典型值)* 【尺寸】: 长:约 157.5mm 宽:约 74.9mm 厚:约 7.5mm 重:约 1原创 2021-03-08 13:54:34 · 527 阅读 · 0 评论 -
IDEA里面的Artifact是什么?
我表示,我在刚刚整这个web开发的时候,在配置tomcat的时候,我也是很好奇,这个东西是什么? 一般会见到如下的图。 Artifact 是maven中的一个概念,表示某个module要如何打包。这又多个模块的概念,不懂的就先当他是个web项目吧, 例如war exploded、war、jar、ear等等这种打包形式; 一个module有了 Artifacts 就可以部署到应用服务器中了! 那么带不带exploded的区别是什么? 这个是不带exploded的。和下图的框框对..原创 2021-02-24 15:47:11 · 1735 阅读 · 0 评论 -
IDEA “Cannot resolve symbol XXX”
File->Invalidate Caches / Restart-> Invalidate and Restart原创 2020-08-27 15:09:28 · 139 阅读 · 0 评论
分享