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条评论 693点热度 1人点赞 admin 阅读全文

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

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

简介 布隆过滤器(BloomFilter)是一种用于判断元素是否存在的方式,它的空间成本非常小,速度也很快。 但是由于它是基于概率的,因此它存在一定的误判率,它的Contains()操作如果返回true只是表示元素可能存在集合内,返回false则表示元素一定不存在集合内。因此适合用于能够容忍一定误判元素存在集合内的场景,比如缓存。 它一秒能够进行上百万次操作(主要取决于哈希函数的速度),并且1亿数据在误判率1%的情况下,只需要114MB内存。 原理 数据结构 布隆过滤器的数据结构是一个位向量,也就是一个由0、1所组…

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

我们都知道,MySQL中关于字符,有char和varchar两种常用的类型,可能在平时的使用过程中,大家不会去关心这两种类型的区别,只是会用就可以了,或者说看到过一些它们的区别,但是没有时间去测试,今天有时间了,我将这两种类型的具体情况实验一把,让大家直观感受下,纯属分享,大神请绕道。 ​ 先说说理论吧。 ​ char类型为固定长度的字符串,比如说char(10),它定义了指定的字符串长度最大为10个字符,如果你现在输入一个字符串为’12345678’,那么它在char类型中到底会占用多少个字符呢?答案是10个,后…

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

要在网页上显示类似O2(氧气)、m2(立方米)这样带上下标的。 先上示例代码,再解释: O<span style="vertical-align: sub;">2</span> m<span style="vertical-align: super;">2</span> 在css中,可以使用vertical-align 属性的sub、super或者text-top、text-bottom属性值来显示文字的上标和下标。下面我们就来介绍一下css vertical-ali…

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

nginx是一款高性能的服务器,用途很多。除了可以作为后端服务的负载均衡反向代理服务器,还有一个用途就是做静态资源的缓存服务器。 当前项目基本上都是前后端分离,为了加速前端页面的响应速度,可以将前端的相关资源,如html,js,css或者image图片都放到nginx指定目录下。访问的时候只需要域名/IP加路径就可以实现高效快速的访问。 一.首先安装好nginx,启动nginx服务且能够正常访问 Welcome to nginx!界面 二.配置静态资源访问核心是配置nginx.conf文件,找到nginx.conf…

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

Redis作为一个高性能内存数据库,在实际业务中应用的非常广泛。虽然Redis的性能很好,但是在实际使用过程中,如果使用不当,也会造成一些性能问题,比如数据中存在大key。 顾名思义就是单个key中的数据比较大。通常来说,单个key的value值不会很大,这种情况下,key的读取、删除操作不会影响性能。如果value过大,读取或删除会相对耗时。 例如一个字符串类型的value最大可以存储512MB的内容,一个列表类型的value最多可以存储2的32次方-1个元素。一般情况下,我们认为字符串类型的key的value值…

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

接口java.util.concurrent.ExecutorService 表述了异步执行的机制,并且可以让任务在后台执行。ExecutorService 的实现就是一个线程池的实现。 一、ExecutorService 示例代码 下面是使用Java 实现的ExecutorService 示例代码: import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class ExecutorSer…

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

MySQL字符串截取,需要用到substr(等价于或者) SUBSTR(string, start, length) substring(string, start, length) mid(string, start, length) 或者: SUBSTR(string FROM start FOR length) substring(string FROM start FOR length) mid(string FROM start FOR length) 参数说明 参数 说明 string 必填。需要处理的…

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

需要做一个简单的订单号生成规则,并发量不是特别高,从订单号上不要体现出订单的真实数量(例如自增长的ID就会暴露订单数量给用户看到) 示例我是写的订单号生成器,生成类似这样子的的16位订单号。 /** * @author Terry E-mail: yaoxinghuo at 126 dot com * @date 2022/3/4 22:57 * @description */ public class OrderUtils { private static int serial = 0; // 序列号倒数5位的前…

2022-09-18 0条评论 938点热度 0人点赞 admin 阅读全文
1171819202185