摘要: 需求:前端传递不同的显示参数(中文),根据不同的参数查询不同的值(列名)。 通过简单的enum实现。 阅读全文
posted @ 2021-01-18 12:10 孤身! 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 1.环境:jdk,maven,tomcat,jenkins(安装就不介绍了) 所使用的版本:jdk1.8,maven3.6.1,tomcat7,jekins2.253 /etc/profile 文件 export JAVA_HOME=/usr/java/jdk1.8.0_212-amd64/ exp 阅读全文
posted @ 2020-08-26 15:00 孤身! 阅读(249) 评论(0) 推荐(0) 编辑
摘要: # server模式的特点是启动速度比较慢,但运行时性能和内存管理效率很高,适用于生产环境# -Xms:表示 Java 初始化堆的大小,-Xms 与-Xmx 设成一样的值,避免 JVM 反复重新申请内存# -Xmx:表示最大 Java 堆大小,当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢 阅读全文
posted @ 2020-08-11 14:45 孤身! 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 需求:就是当后台操作完大量的数据之后,需要通知前端修改状态,于是第一时间想到了使用WebSocket。 概念的话这里就不解释了。 直接贴上我的代码,在springBoot中的使用。 首先在pom.xml中加入依赖 <dependency> <groupId>org.springframework.b 阅读全文
posted @ 2020-07-15 16:57 孤身! 阅读(5326) 评论(0) 推荐(1) 编辑
摘要: 我在批量插入140w+的数据到hive和mysql的时候,服务器插入到90w的时候OOM了。 Java.lang.OutOfMemeoryError:GC overhead limit exceeded 这时候我tomcat设置的最大堆内存为1G。 于是我将tomcat的jvm改成这样 tomcat 阅读全文
posted @ 2020-07-10 15:59 孤身! 阅读(571) 评论(0) 推荐(0) 编辑
摘要: 1.volatile 关键字是什么意思? volatile的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。 2.你了解到的什么地方使用了 volatile 关键字?解决了 阅读全文
posted @ 2020-07-03 15:34 孤身! 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 问题描述:在请求协议不是Https的情况下,使用Http协议会让参数被抓包抓取,为了防止用户信息被获取,将登录请求传递的参数进行加密处理。 1.客户端首先发送一个请求,服务端返回一个随机数,并保存到session。 2.客户端将密码以及随机数组合,然后进行加密,发送到服务端。 3.服务端接收到用户名 阅读全文
posted @ 2020-07-02 14:58 孤身! 阅读(1330) 评论(0) 推荐(0) 编辑
摘要: 分布式的令牌桶算法 redis+lua脚本 自定义注解+aop实现 直接贴代码,不懂清细品 自定义的限流注解,加在controller的方法上即可 limitKey为redis的key limit为允许的流量 @Target(ElementType.METHOD) @Retention(Retent 阅读全文
posted @ 2020-06-18 16:11 孤身! 阅读(493) 评论(0) 推荐(0) 编辑
摘要: 场景:在高并发的查询场景下,如果查询的参数都是相似的,类似id=1,id=2,id=3这种那么就可以通过请求合并来解决 请求合并就是每隔一段时间就将这段时间内的请求合并到一起进行批量查询,减少查询数据库的操作。 请求合并是以时间换空间的方式 类似于Redis就是以空间换时间的方式 技术实现要求: L 阅读全文
posted @ 2020-06-12 16:02 孤身! 阅读(2057) 评论(0) 推荐(2) 编辑
摘要: 漏桶:漏桶可以看作是一个漏斗类似,水可以以任意速度流入,桶保存一定量的水,水以一定的速率流出。 令牌桶:桶会以一个恒定的速度往桶里放入令牌,而如果请求需要被处理,则需要先从桶里获取一个令牌,当桶里没有令牌可取时,则拒绝服务。 从原理上看,令牌桶算法和漏桶算法是相反的,一个“进水”,一个是“漏水”。 阅读全文
posted @ 2020-06-10 15:42 孤身! 阅读(2327) 评论(0) 推荐(0) 编辑