Easter79 Easter79
4年前
springboot+vue前后端分离,nginx代理配置 tomcat 部署war包详细配置
1.做一个小系统,使用了springbootvue基础框架参考这哥们的,直接拿过来用,链接https://github.com/smallsnailwh/interest前期的开发环境搭建就不说了,太多了,自己找吧。2.发布部署将开发好的前端vue代码执行npmrunbuild默认会生成dist文件夹(里面都是一些js文件)in
Wesley13 Wesley13
4年前
JSP学习笔记
JSP学习笔记一、JSP指令1二、JSP注释和JSP的脚本元素:2三、JSP九大对象2四、九大对象的用法3五、四个域6六、Jsp动作7七、自定义标签7八、web地址的写法7九、el表达式7经常使用的对象El表达式隐含对象域pageContextrequ
Stella981 Stella981
4年前
Redis 持久化方式
针对Redis的话题估计有些读者已经开始反感了,昨天还是有一些读者困惑,这就具体讲述下Redis持久化方式RDB的实现方式~01 触发时机手动触发:save:阻塞当前Redis服务器,直到RDB过程完成为止,对于内存比较大的实例会造成长时间阻塞,线上环境不建议使用bgsav
Stella981 Stella981
4年前
Linux 登陆用户时启动 ssh
文/Fenying使用Git/SSH/SCP之类操作的时候,一般都是用ssh密钥的,但是每次都要先启动sshagent才能注册密钥,挺烦的,于是尝试了一下,能不能在登陆终端的时候自动启动sshagent,然后关闭的时候自动kill掉sshagent。自动启动的原理很简单,就是在~/.bashrc里面加入eva
Stella981 Stella981
4年前
Python 学习笔记
Python(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Flib.csdn.net%2Fbase%2Fpython)里面控制并发,除了多线程和多进程,还可以使用协程(CoRoutine)。他是在一个线程内通过程序员人为的指定来进行切换例1:通过switch()可以人为来回切换到另外
Wesley13 Wesley13
4年前
Mysql性能优化
1,SQL语句中in包含的值不应过多Mysql对于in做了相应的优化,即将in中的常量全部存储在一个数组里面,而这个数组是排好序的。但是对于数值较多,产生的消耗也比较大的;例如:selectidfromtwehrenumin(1,2,3);对于连续的值,能用between别用in,再或者使用连接来替换;
Wesley13 Wesley13
4年前
Java 读写锁 ReentrantReadWriteLock 源码分析
本文内容:读写锁ReentrantReadWriteLock的源码分析,基于Java7/Java8。阅读建议:虽然我这里会介绍一些AQS的知识,不过如果你完全不了解AQS,看本文就有点吃力了。目录使用示例下面这个例子非常实用,我是javadoc的搬运工://这是一个关于缓存操作的故事classCach
Wesley13 Wesley13
4年前
vivo 基于原生 RabbitMQ 的高可用架构实践
一、背景说明vivo在2016年引入RabbitMQ,基于开源RabbitMQ进行扩展,向业务提供消息中间件服务。2016~2018年,所有业务均使用一个集群,随着业务规模的增长,集群负载越来越重,集群故障频发。2019年,RabbitMQ进入高可用建设阶段,完成了高可用组件MQ名字服务以及RabbitMQ集群
Wesley13 Wesley13
4年前
Java 获取资源文件路径
1问题描述通过源码运行时,一般使用如下方式读取资源文件:Stringstr"1.jpg";资源文件与源码文件放在同一目录下,或者拥有同一父级目录:Stringstr"a/b/1.jpg";这样直接编译运行没有问题,但是打成JAR包后会读取不了,直接抛空指针异常。2解
Stella981 Stella981
4年前
PHP利用32进制生成固定长度字符串对id加密解密
我们在实际项目运用中,难免会要求对ID进行加密,生成特定的字符串,比如生成用户邀请码,这样不用查数据库也可以反向解密到id为什么使用32进制因为数字加字母长度为36位,32位生成后不用区别用户输入不用区分大小写<?phpclassIDAES{$baseChar'0123456789