TypechoJoeTheme

王子博客

用户名
密码
用户名
邮箱
2023-07-31

还在用 list.contain 做去重?该换换了!

还在用 list.contain 做去重?该换换了!
最近又是一轮代码review , 发现了一些实现去重的代码,在使用 list.contains ......我沉思,是不是其实很多初学者也存在这种去重使用问题?所以我选择把这个事情整出来,分享一下。1首先是造出一个 List<String> 模拟数据,一共2W条,里面有一半数据1W条是重复的:public static List<String> getTestList() { List<String> list = new ArrayList<>(); for (int i = 1; i <= 10000; i++) { list.add(String.valueOf(i)); } for (int i = 10000; i >= 1; i--) { list.add(String.valueOf(i)); } return list; } 先看看我们用 contain 去重的代码:/** * 使用 list.contain 去重 * ...
王子
2023-07-31

技术与技巧

191 阅读
1 评论
2023年07月31日
191 阅读
1 评论
2023-07-20

ES的集群部署

ES的集群部署
一、集群部署操作1、先下载ES安装包到一台服务器上2、配置文件详解2.1、elasticsearch.yml配置2.1.1、cluster.name与node.name2.1.2、node.master与node.data2.1.3、network.host2.1.3、path.data(要加上全路径/usr/local/elasticsearch-7.6.2,否则会找不到路径)2.1.3、path.logs(要加上全路径/usr/local/elasticsearch-7.6.2,否则会找不到路径)2.1.4、discovery.seed_hosts 2.1.5、action.destructive_requires_name2.1.6、gateway.recover_after_nodes2.1.7、cluster.initial_master_nodes2.1.8、http.port2.2、elasticsearch-env配置2.3、jvm.options配置2.4、Linux服务器的一些硬件配置2.4.1、/etc/sysctl.conf配置vm.max_map_cou...
王子
2023-07-20

Elasticsearch

172 阅读
0 评论
2023年07月20日
172 阅读
0 评论
2022-10-11

利用nginx+keepalived实现高可用

利用nginx+keepalived实现高可用
最近在离线环境下做 nginx+keepalived 实现高可用的负载均衡,离线环境下安装真的是十分费劲。以下就以国产麒麟为例安装 keepalived-2.2.7 + nginx1.23.1。概述Nginx 可以用来作为反向代理服务器,来提供负载均衡的能力,使我们的 Web 服务器,能够水平扩容,从而处理更多的用户请求,但是反向代理服务器又变成了一个单点,当反向代理服务器挂了,整合 Web 服务器就不能被外界访问到,所以我们必须要保证反向代理服务器的高可用。而 Keepalived 是一种高性能的服务器高可用或热备解决方案,Keepalived 可以用来防止服务器单点故障的发生,通过配合 Nginx 可以实现 Web 前端服务的高可用。方案规划注:VIP 为虚拟 IP ,不被占用前提下可自定义。VIP服务器 IP主机名nginx 端口默认主从192.168.5.200192.168.5.249ethan380MASTER192.168.5.200192.168.5.103localhost.localdomain80BACKUP外网用户方案3.1 安装 Nginx两个服务器上安...
王子
2022-10-11

技术与技巧

192 阅读
0 评论
2022年10月11日
192 阅读
0 评论
2022-09-21

RABC权限系统,你会设计吗,老王教你设计

RABC权限系统,你会设计吗,老王教你设计
RBAC权限分析RBAC 全称为基于角色的权限控制,本段将会从什么是RBAC,模型分类,什么是权限,用户组的使用,实例分析等几个方面阐述RBAC思维导图绘制思维导图如下什么是RBACRBAC 全称为用户角色权限控制,通过角色关联用户,角色关联权限,这种方式,间阶的赋予用户的权限,如下图所示对于通常的系统而言,存在多个用户具有相同的权限,在分配的时候,要为指定的用户分配相关的权限,修改的时候也要依次的对这几个用户的权限进行修改,有了角色这个权限,在修改权限的时候,只需要对角色进行修改,就可以实现相关的权限的修改。这样做增加了效率,减少了权限漏洞的发生。模型分类对于RBAC模型来说,分为以下几个模型 分别是RBAC0,RBAC1,RBAC2,RBAC3,这四个模型,这段将会依次介绍这四个模型,其中最常用的模型有RBAC0.RBAC0RBAC0是最简单的RBAC模型,这里面包含了两种。用户和角色是多对一的关系,即一个用户只充当一种角色,一个角色可以有多个角色的担当。用户和角色是多对多的关系,即,一个用户可以同时充当多个角色,一个角色可以有多个用户。 此系统功能单一,人员较少,这里举个栗...
王子
2022-09-21

Java,springboot,技术与技巧

250 阅读
0 评论
2022年09月21日
250 阅读
0 评论
2022-09-21

为了使用新技术,我从 Java8 升到了 Java11

为了使用新技术,我从 Java8 升到了 Java11
把一个项目从 Java 8 迁移到 Java 11,我该怎么办呢?最简单的办法,当然是直接强行升级,遇到一个错就改一个错,别看它 low,但是对于一个小型且非核心的项目来说,已经足够了。当然,对于比较重要的项目,且代码行数不少的情况,最标准的姿势就是对着官方文档,就是这份 Java 11 的迁移说明文档。https://docs.oracle.com/en/java/javase/11/migrate/index.html里面详细说明了 Java 8 到 Java 11 可能出现的兼容性问题,并给出了修改措施或建议。理论上来说,对着官方文档一个字一个字去读,并且把代码的每一行都肉眼扫描一遍,该修改的地方就做出修改,肯定是可以完美迁移的。但人毕竟不是机器,自己写的代码可能就有上千甚至上万行,还得算上引入的第三方类库,这显然就不是人干的事情了。所以,就有一款神奇的工具,可以帮我们自动扫描 JDK 升级过程中需要修改或注意的地方,并直接生成一个可视化的 HTML 报告,厉害了!它是什么这款工具的名字叫做 EMT4J,即 Eclipse Migration Toolkit for Jav...
王子
2022-09-21

Java,技术与技巧

413 阅读
0 评论
2022年09月21日
413 阅读
0 评论