开发工具

Idea报错:Java 常量字符串过长

报错:Error:(77, 27) java: 常量字符串过长 解决方案: 在做一个非常长的json转对象的测试时Intellij IDEA 编译不通过,报”常量字符串太长”,做如下调整即可: 使用 Eclipse编译器 解决问题。 IDEA的操作流程:File -> Settings -> Build,Execution,Deployment -> C...
3年前 (2021-05-23) 阅读(2091) 赞一个 (2) 评论(0) 链接直达
Java开发

Java 实现 AES/CBC/PKCS7Padding 对称加密算法

AES,高级加密标准(英语:Advanced Encryption Standard,缩写:AES)在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。严格地说,AES 和 Rijndael加密法并不完全一样(虽然在实际应用中二者可以互换),因为Rijndael加密法可以支持更大范围的区块和密钥长度:AES的区块长度固定为128 比特,密钥长度则可以...
3年前 (2021-05-08) 阅读(3760) 赞一个 (2) 评论(0) 链接直达
Java开发

你到底是对称加密还是不对称加密?

大家先读读这个字”钥”,是读”yao”,还是读”yue”。看下图一 、对称加密对称加密,顾名思义,加密方与解密方使用同一钥匙(密钥)。具体一些就是,发送方通过使用相应的加密算法和密钥,对将要发送的信息进行加密;对于接收方而言,使用解密算法和相同的密钥解锁信息,从而有能力理解对方的信息。1、常见的对称加密算法无论是数据库的信息存储,还是为了避免用户的Cookie发生泄漏,通常都会使用相应的加密算法进行加密,尽最大能力的去保护敏感信息。(1...
3年前 (2021-05-07) 阅读(1633) 赞一个 (3) 评论(0) 链接直达
数据库

Redis Stream 使用

Redis Stream 是 Redis 5.0  版本新增加的数据结构(适用于简单的需求,要求必须及时消费,否者会造成内存堆积OOM,高业务要求建议rocketmq和kafka)。Redis Stream 主要用于消息队列(MQ,Message Queue),Redis 本身是有一个 Redis 发布订阅 (pub/sub) 来实现消息队列的功能,但它有个缺点就是消息无法持久化,如果出现网络断开、Redis 宕机等,消息就会...
3年前 (2021-04-28) 阅读(2877) 赞一个 (4) 评论(0) 链接直达
开发工具

超好用的 Kafka 客户端管理工具 Offset Explorer

我们在项目开发中根据实际业务需求会使用到一些中间件,比如缓存redis、消息队列Kafka/RocketMQ/RabbitMQ等,在代码中集成后,可以通过命令来查看数据的走向,但我们更希望的是有一些可视化的辅助工具,来帮助我们快速的查看和监控服务以及数据的走向。很多中间件官方并没有给我们提供一些比较好的可视化工具。以Kafka为例介绍kafka可视化工具offset explorer的使用,更加方便我们对kafka数据的直观感受。一、下...
3年前 (2021-04-21) 阅读(19454) 赞一个 (14) 评论(0) 链接直达
Java开发

Java中java.lang.Void和void有什么区别?

Java中java.lang.Void和void有什么区别?void关键字表示函数没有返回结果,是java中的一个关键字。java.lang.Void是一种类型。例如给Void引用赋值null。Void nil = null;通过Void类的代码可以看到,Void类型不可以继承与实例化。public final class Void {   &n...
3年前 (2021-04-05) 阅读(1743) 赞一个 (4) 评论(0) 链接直达
Java开发

Java 中try、catch、finally带return的执行顺序总结

异常处理中,try、catch、finally的执行顺序,大家都知道是按顺序执行的。如果try中没有异常,则顺序为try→finally,如果try中有异常,则顺序为try→catch→finally。但是当try、catch、finally中加入return之后,就会有几种不同的情况出现,下面分别来说明一下。也可以跳到最后直接看总结。一、try中带有return/**  * try:2  * ...
3年前 (2021-03-02) 阅读(1714) 赞一个 (5) 评论(0) 链接直达
Java开发

如何实现三个线程按顺序执行?

在多线程中有多种方法让线程按特定顺序执行,可以用线程类的join()方法在一个线程中启动另一个线程,另外一个线程完成该线程继续执行。为了确保三个线程的顺序你应该先启动最后一个(T3调用T2,T2调用T1),这样T1就会先完成而T3最后完成。实际上先启动三个线程中哪一个都行,因为在每个线程的run方法中用join方法限定了三个线程的执行顺序。实例一public static void main(String[...
3年前 (2021-02-22) 阅读(2204) 赞一个 (4) 评论(0) 链接直达
数据库

Redis 集群的三种方式

redis有三种集群方式: 主从复制 , 哨兵模式 和 集群 。一、主从复制主从复制模式中包含一个主数据库实例(master)与一个或多个从数据库实例(slave)原理(工作机制)slave启动后,向master发送 sync 命令master接收到 sync 命令后通过 bgsave 保存快照(RDB持久化)并使用缓冲区记录保存快照这段时间内执行的写命令master将保存的快...
3年前 (2021-02-22) 阅读(6496) 赞一个 (11) 评论(0) 链接直达
数据库

Redis 数据内部存储的数据结构

我们知道 Redis 常用的五种类型有: String 、Hash、List 、 Set 、 Ordered Set ,但是对于内部是怎么扭转的大部分都不太清楚。一、redis 内部内存管理大致如下图1、redisDbredisDb 就是数据库实例,存储了真实的数据,每个 Redis 实例都会有 16 个 redisDb。redisDb 结构定义如下typedef struct redi...
3年前 (2021-02-18) 阅读(1415) 赞一个 (7) 评论(0) 链接直达
Java开发

24张图弄懂九大常见数据结构

数据结构想必大家都不会陌生,对于一个成熟的程序员而言,熟悉和掌握数据结构和算法也是基本功之一。数据结构本身其实不过是数据按照特点关系进行存储或者组织的集合,特殊的结构在不同的应用场景中往往会带来不一样的处理效率。常用的数据结构可根据数据访问的特点分为线性结构和非线性结构。线性结构包括常见的链表、栈、队列等,非线性结构包括树、图等。数据结构种类繁多,本文将通过图解的方式对常用的数据结构进行理论上的介绍和讲解,以方便大家掌握常用数据结构的基...
3年前 (2021-02-09) 阅读(1692) 赞一个 (4) 评论(0) 链接直达
Java开发

一个HTTP请求的曲折经历

一、经典的面试题从输入URL到页面展现的过程输入URL后,会先进行域名解析。优先查找本地host文件有无对应的IP地址,没有的话去本地DNS服务器查找,还不行的话,本地DNS服务器会去找根DNS服务器要一个域服务器的地址进行查询,域服务器将要查询的域名的解析服务器地址返回给本地DNS,本地DNS去这里查询就OK了。浏览器拿到服务器的IP地址后,会向它发送HTTP请求。HTTP请求经由一层层的处理、封装、发出之后,最终经由网络到达服务器,...
3年前 (2021-02-09) 阅读(1311) 赞一个 (4) 评论(0) 链接直达

程序喵 www.ibloger.net

文章归档 站内留言 给我写信 文章订阅