- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 B+树、LSM树学习与思考
一、B+树:传统关系型数据库使用较多。如mysql的InnoDB引擎,默认就是B+树特点:①针对磁盘存储而优化的N叉排序树,自小而大顺序链接。②N棵子树的结点中含有M个关键字,每个关键字不保存数据,只用来索引,所有数据都保存在叶子节点③B+树最多三层,最多需要5次访问,3次获得数据索引,一次数据文件读,一次数据文件写④B+树读快速,因为有顺序。但是写的时候,如果跨度大,随机IO访问,效率低,磁盘寻道速度不快(技术停滞)影响性能下图来自网络二、LSM(Log..
2022-01-14 18:15:37
528
原创 (解答):StringBuilder的扩容时,为什么要将容量设置为原来容量的2倍+2
private int newCapacity(int minCapacity) { // overflow-conscious code int newCapacity = (value.length << 1) + 2; if (newCapacity - minCapacity < 0) { newCapacity = minCapacity; } return (n.
2022-01-14 17:55:14
475
原创 JAVA权重算法(如Dubbo的负载均衡权重)
首先了解一下负载均衡。顾名思义,jiu's负载均衡loadbalance参数设置①:随机权重(Random LoadBalance)。(dubbo默认)A:权重40 占比2/5B:权重20 占比1/5C:权重40 占比2/5则每次请求,都是随机访问的,可能A,可能B,可能C。数据量大的情况下,就会形成权重的比例。②:轮询(RoundRobin LoadBalance)轮循,按公约后的权重设置轮循比率。(可以根据权重轮询,如2/5,1/5,2/5。5个请求,则 A-B-C-A...
2021-06-15 16:19:47
4259
4
原创 Java防伪造ip,Nginx方法
问题:伪造ip发送请求,获取到的ip为:111.111.111.111效果:经处理,获取的ip为真实的:182.106.239.76后续可通过真实ip进行限流解决:配置nginx即可。若项目没有使用代理,如nginx,则只需修改代码。String ip = request.getRemoteAddr();...
2021-06-15 13:48:09
3041
3
原创 windows使用命令(脚本)启动+停止jar包
因公司技术部的副主管询问,项目有没有自动生成一套增删改查的代码。于是,我决定使用velocity 进行模板生成velocity 使用,请移步:
2021-06-03 16:27:44
2544
7
原创 vue关于keep-alive的使用
vue关于keep-alive的使用起因:公司项目使用vue需要实现跳转页面之后再返回,保留原页面状态技术,需要使用keep-alive分享今天vue,跳转页面再返回时,保持原页面状态,使用keep-alive遇到的小问题:接手别人的项目,已经定义了keep-alive,但是返回原页面还是会清除之前的状态。各种方式都尝试过了,还是无效果,VUE创建,销毁,路由离开等方法。随后对比开源的vue(vue-element-admin),和自己项目里面的vue,为什么都用了keep-alive
2021-06-03 15:31:13
155
原创 Java加载数据库驱动的方法
Java加载数据库驱动的方法1.Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");2.DriverManager.registerDriver(new com.mysql.jdbc.Driver());3.System.setProperty("jdbc.drivers", "com.mysql.jdbc.Driver");
2021-03-09 18:13:54
257
原创 重定向(redirect)和转发(forward)
重定向(redirect)和转发(forward)redirect:请求重定向。客户端行为,本质上为2次请求,地址栏改变,前一次请求对象消失。举例:你去银行办事(forward.jsp),结果告诉你少带了东西,你得先去***局办(index.html)临时身份证,这时你就会走出银行,自己前往***局,地址栏变为index.html.forward:请求转发。服务器行为,地址栏不变。举例:你把钱包落在出租车上,你去警察局(forward.jsp)报案,警察局说钱包落在某某公司的出租..
2021-03-09 18:12:17
491
原创 AWT和Swing之间的区别
AWT和Swing之间的区别AWT 是基于本地方法的C/C++程序,其运行速度比较快;Swing是基于AWT的Java程序,其运行速度比较慢。 AWT的控件在不同的平台可能表现不同,而Swing在所有平台表现一致。在实际应用中,应该使用AWT还是Swing取决于应用程序所部署的平台类型。例如: 1)对于一个嵌入式应用,目标平台的硬件资源往往非常有限,而应用程序的运行速度又是项目中至关重要的因素。在这种矛盾的情况下,简单而高效的AWT当然成了嵌入式Java的第一选择。...
2021-03-09 18:09:29
130
原创 JavaServlet的生命周期
Servlet的生命周期加载——>创建——>初始化init()——>处理客户请求;doPost(),doGet(),Service()等——>卸载,销毁;destroy()1.加载:容器通过类加载器使用Servlet类对应的文件来加载Servlet2.创建:通过调用Servlet的构造函数来创建一个Servlet实例3.初始化:通过调用Servlet的init()方法来完成初始化工作,这个方法是在Servlet已经被创建,但在向客户端提供服务之前调用。4.处.
2021-03-09 17:57:52
95
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人