synchronize是平时用得比较多的多线程问题的解决方案,一般说存在多线程问题,加个锁,就用synchronize吧,简单,方便。今天,就来深入了解一下synchronize知识点。 Synchronized可以加在对象上,也可以加在函数上。 Synchronized 介绍 1:Synchronized. 加在对象上 表示对这个对象加锁,当有线程进入函数后先获取对象的锁,如果获取到锁,进入同步块执行,获取失败,放入阻塞队列中。 public void getOneThings(){ synchronized (…

2022-10-05 0条评论 528点热度 0人点赞 admin 阅读全文

Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。 官方地址: https://projectlombok.org/ github地址: https://github.com/rzwitserloot/lombok 在IntelliJ IDEA 中的使用 (1)先安装lombok插件,步骤如下(新版的IDEA已经自带集成了Lombok插件,可以不用安装)。 菜单 File > Settings >…

2022-10-04 0条评论 737点热度 0人点赞 admin 阅读全文

本文将比较 Linux 中 service 和 systemctl 命令,先分别简单介绍这两个命令的基础用法,然后进行比较。 从 CentOS 7.x 开始,CentOS 开始使用 systemd 服务来代替 service服务(daemon),原来管理系统启动和管理系统服务的相关命令全部由 systemctl命令来代替。 一、service 命令 service命令是Redhat Linux兼容的发行版中用来控制系统服务的实用工具,它以启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。 语法:…

2022-10-03 0条评论 969点热度 0人点赞 admin 阅读全文

在开发中有时候经常需要一些Http请求,请求数据,下载内容,也有一些简单的分布式应用直接使用Http请求作为跨应用的交互协议。 在Java中有不同的Http请求方式,主要就是HttpURLConnection或者ApacheHttpClient,另外还有比较注明的OKHttp,或者国内常用的Hutool; Spring也内置了RestTemplate作为Http请求的工具类,简化了很多操作,虽然Spring5推出了WebClient,但是整体感觉还是RestTemplate用起来更简单方便一些。 这里记录分享下Re…

2022-10-02 0条评论 1031点热度 0人点赞 admin 阅读全文

前言 好了,回归到今天的主题,今天分享一下支付系统中异常一些处理方式。 其实这些处理方式并不只是局限于支付系统,也可以适用于其他系统,大家可以借鉴,应用到自己系统中,提高自己系统的健壮性。 异常是系统运行不可避免会发生的问题,如果一切都正常,我们的系统设计将会相当简单。 但是可惜没有人能做到这一点,所以为了处理异常可能导致的问题,我们不得不需要加上很多额外的设计,用来应对这些异常。 可以说系统设计中,异常处理需要我们着重思考,将会占据我们大部分的精力。 下面我们先来看下支付系统中最常见的异常:掉单 掉单异常 一个最…

2022-10-01 0条评论 861点热度 0人点赞 admin 阅读全文

使用flex布局,在每一行上,需要固定X个元素,超过的元素做换行处理。 假设如下Html代码: <div class="parent"> <div class="child"></div> <div class="child"></div> <div class="child"></div> <div class="child"></div> <div class="child"></div…

2022-09-30 0条评论 2399点热度 0人点赞 admin 阅读全文

某些场合下(例如表单填写、需要打印手写签字等地方)需要给文字或者div增加下划线,这里记录下我遇到的几种实现方案。 文字下划线 给文字添加下划线其实比较简单,使用如下属性: text-decoration 属性 这个属性可以给文字设置一下装饰效果,比如删除线,下划线啥的。 text-decoration: overline 上划线 text-decoration: line-through 贯穿线 text-decoration: underline 下划线 text-decoration: blink 闪烁 te…

2022-09-29 0条评论 1827点热度 0人点赞 admin 阅读全文

Redis是一个非常流行的key-value存储系统,而作为其官方推荐的Java版客户端 Jedis也非常强大和稳定。 在单个客户端中,如果需要读写大量数据,可以考虑采用管道(Pipeline)方式。如果采用管道方式,那么多条命令可以通过批量的方式一次性地发送到服务器,而结果也会一次性返回到客户端。 本文将介绍Redis 使用管道(Pipeline)方式提升操作性能。 一、管道(Pipeline) 未使用管道方式执行N条命令,如图所示: 管道(Pipeline):一次向Redis发送多条命令。 客户端可以一次性发送…

2022-09-28 0条评论 739点热度 0人点赞 admin 阅读全文

Tomcat的应用服务器,想让tomcat直接对外服务,所以需要把默认的8080端口直接修改成80端口,用户使用的时候,直接输入IP地址或者域名即可,而不需要在tomcat外面套一个nginx了。 修改Tomcat配置文件夹下的server.xml,找到Connector,把里面的port="8080",修改成80,如图: 重启了tomcat后,发现并不能访问80端口,查看端口情况: netstat -ant|grep LISTEN 监听的端口号里面,也不能找到80端口。 linux下非root用户无法打开80端口…

2022-09-27 0条评论 660点热度 1人点赞 admin 阅读全文

电商当项目经验已经非常普遍了,不管你是包装的还是真实的,起码要能讲清楚电商中常见的问题,比如库存的操作怎么防止商品被超卖 解决方案 分析 基于数据库单库存 基于数据库多库存 基于redis 基于redis实现扣减库存的具体实现 初始化库存回调函数(IStockCallback) 扣减库存服务(StockService) 调用 在日常开发中有很多地方都有类似扣减库存的操作,比如电商系统中的商品库存,抽奖系统中的奖品库存等。 解决方案 使用mysql数据库,使用一个字段来存储库存,每次扣减库存去更新这个字段。 还是使用…

2022-09-26 0条评论 603点热度 0人点赞 admin 阅读全文
1161718192084