- 博客(36)
- 收藏
- 关注
原创 面试题-redis布隆过滤器
二、计数布隆过滤器。在标准的布隆过滤器下,是无法得知当前某一位它是被哪些具体数据进行了引用,但是计数布隆过滤器它是在这一位上额外的附加的计数信息,表达出该位被几个数据进行了引用。一、定时异步重建布隆过滤器。比如说我们每过 4 个小时在额外的一台服务器上,异步去执行一个任务调度,来重新生成布隆过滤器,替换掉已有的布隆过滤器。redis bitmap类型 创建布隆过滤器。google guava布隆过滤器。
2023-11-05 17:23:49 230
原创 面试题-redis-为什么Redis只取16384个槽
Redis主节点的配置信息中它所负责的哈希槽是通过一张bitmap的形式来保存的,在传输过程中会对bitmap进行压缩,但是如果bitmap的填充率slots / N很高的话(N表示节点数),bitmap的压缩率就很低。因为每秒钟,redis节点需要发送一定数量的ping消息作为心跳包,如果槽位为65536,这个ping消息的消息头太大了,浪费带宽。(1)如果槽位为65536(2^16),发送心跳信息的消息头达8k,发送的心跳包过于庞大。(3)槽位越小,节点少的情况下,压缩比高,容易传输。
2023-11-01 15:20:08 294
原创 面试题-多线程-Java多线程同步
Java多线程同步的机制包括synchronized关键字、Lock接口和AtomicInteger等类。其中synchronized关键字是Java线程同步的最基本机制,可以用于方法或代码块的同步。以上是Java实现多线程同步的几种常用方法,它们可以根据不同的场景选择合适的方法来实现多线程同步。主要是为了解决多个线程操作同一个资源而引发的一些并发问题。Java多线程同步是指。
2023-10-24 10:36:27 76
原创 面试题-多线程-解释什么是死锁( deadlock )
死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。产生死锁的4个必要条件:
2023-10-24 10:30:21 63
原创 面试题-多线程-概括的解释下Java线程的几种可用状态
6 同步阻塞(Blocked on Synchronization):等待获取锁。3 等待中(Waiting):线程处于阻塞的状态,等待外部的处理结束。1 就绪(Runnable):线程准备运行,不一定立马就能开始执行。5 I/O阻塞(Blocked on I/O):等待I/O操作完成。2 运行中(Running):进程正在执行线程的代码。4 睡眠中(Sleeping):线程被强制睡眠。7 死亡(Dead):线程完成了执行。
2023-10-24 09:39:55 26
原创 面试题-多线程篇-Java语言创建线程有几种不同的方式
你可以创建一个ExecutorService,然后使用它的submit()方法提交一个Callable对象,这会返回一个Future对象。:如果你有一个已经存在的类,而你不想让它继承Thread类,你可以让这个类实现Runnable接口。然后你可以创建一个Thread对象,把你的Runnable对象作为参数传递给Thread的构造函数,然后调用start()方法启动新线程。:Java中的Thread类是实现线程的最基本方法。然后你可以创建Thread的实例,并调用start()方法启动新线程。
2023-10-24 09:33:53 56
原创 面试题-消息中间件篇-主流的消息中间件
ActiveMQ: ActiveMQ 是一个基于 JMS(Java 消息服务)规范的开源消息中间件,提供了高可用性、可扩展性和消息传输的多种方式,支持多种协议和编程语言,如 AMQP、STOMP、REST、C++、Python 和 Perl 等,适合于企业级的消息传输和集成解决方案。RabbitMQ: RabbitMQ 是一个可靠、灵活、易于部署和管理的开源消息代理,采用 AMQP(高级消息队列协议)实现,支持多种消息传输方式,如点对点和发布/订阅模式,适合于异步通信和任务队列等应用场景。
2023-10-18 15:22:49 190
原创 面试题-springboot篇-SpringBoot的注解
Controller:定义控制器类,在Spring 4.x版本之后,增加了@RestController注解,原来在@Controller中返回json需要@ResponseBody来配合,如果直接用@RestController替代@Controller就不需要再配置@ResponseBody,默认返回json格式。@RequestMapping:提供路由信息,负责URL到Controller中的具体函数的映射。@Bean:用在方法上,将方法的返回值添加到容器中,容器中这个组件默认的id就是方法名。
2023-10-18 14:53:28 130
原创 itxet 5.5.13设置两种不同类型(一部分左对齐,一部分右对齐)在一个单元格,并同行显示
/设置这个行间距为了使段落在单元格内。//设置这个行间距为0,是为了使段落在同一行。// 设置段落的对齐方式为左对齐。// 设置段落的对齐方式为右对齐。
2023-09-24 20:33:00 444
原创 大数据-flink - java使用 flink 1.7/1.10版本
1、docker 安装kafka版本 KAFKA_VERSION 2.5.0 SCALA_VERSION 2.122、flink-connector maven 配置,注意红色部分<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-kafka_${scala.binary.version}</ar...
2020-07-17 11:29:56 1459 1
原创 docker-compose 设置 hostname
version: '3.1'services: zookeeper: container_name: docker-kafka_zookeeper image: zookeeper:3.6 hostname: zookeeper001
2020-07-17 10:43:35 11397 1
原创 influxdb数据量缺少
influxdb数据量少的问题,可能是以下两个参数配置问题influxdb配置参数:max-values-per-tag一个tag最大的value数,0取消限制,默认值:DefaultMaxValuesPerTag = 100000max-series-per-database限制数据库的级数,该值为0时取消限制,默认值:DefaultMaxSeriesPerDa...
2020-03-19 11:28:51 1475 1
转载 docker探索-Docker私有仓库搭建及镜像删除(四)
原文:http://www.louisvv.com/archives/1130.html创建私有仓库1.下载registry镜像[root@uat-app01 ~]# docker pull registry查看image[root@uat-app01 docker]# docker imagesREPOSITORY ...
2019-08-01 14:34:00 973
转载 docker探索-docker常用的脚本(三)
参考:https://www.jianshu.com/p/f82351669d75一、批量构建镜像buildDockerImages.sh#!/usr/bin/env bashecho "==================== start build docker images =========================="cd /www/docker/images/...
2019-05-19 01:04:48 237
原创 docker探索-在centos7中安装docker及问题处理(二)
参考(包含其它系统方法):https://www.runoob.com/docker/centos-docker-install.html推荐中文教程:菜鸟教程https://www.runoob.com/docker/主要讲一下使用脚本安装 Docker1、使用sudo或root权限登录 Centos。2、确保 yum 包更新到最新。$ sudo yum upda...
2019-05-18 17:14:43 536
原创 docker探索-Win10 Docker 安装使用(一)
具体详情请看请看这篇博客https://blog.csdn.net/shi1451042748/article/details/52996046注意点一:下载完打开一直卡下载boot2docker.iso文件方法一:将你安装的Docker Toolbox文件夹下的boot2docker.iso复制到C:\Users\xxx\.docker\machine\cache下,然后断开网络,...
2019-05-18 16:12:06 310
转载 Linux 使用nexus搭建maven私服
Maven:参考博客:http://www.cnblogs.com/muzi1994/p/6030181.html(maven 版本选择 http://mirror.bit.edu.cn/apache/maven/maven-3/)参考博客:https://www.cnblogs.com/muzi1994/p/6026144.html https:/...
2019-04-29 23:00:45 164
原创 netty学习-简单Socket(一)
package com.xin;/** * 〈一句话功能简述〉<br> * 〈〉 * * @author xinGuiYuan * @create 2019-01-09 22:48 * @since 1.0.0 */public class ServerBoot { private static final int PORT = 8000; ...
2019-01-10 00:19:02 218
转载 (转)IntelliJ IDEA使用教程 (总目录篇)
博客 https://blog.csdn.net/qq_27093465/article/details/77449117
2019-01-07 22:03:02 130
原创 Springboot项目修改静态资源后不需要重启
1.application.yml添加cache-period: 0resources: # 指定静态资源的路径 static-locations: classpath:/static/,classpath:/views/ cache-period: 02.勾选project->build automatically3.去掉spring-boot-d...
2018-10-19 01:06:46 8408
原创 maven中的scope标签类别详解
scope的分类1.compile:默认值 表示被依赖项目需要参与当前项目的编译,还有后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去2.test:依赖项目仅仅参与测试相关的工作,包括测试代码的编译和执行,不会被打包,例如:junit3.runtime:表示被依赖项目无需参与项目的编译,不过后期的测试和运行周期需要其参与。与compile相比,跳过了编译而...
2018-08-26 00:30:45 462
转载 有return的情况下try catch finally的执行顺序(最有说服力的总结)(转)
原文地址: https://www.cnblogs.com/fery/p/4709841.html结论:1,不管有没有出现异常,最后块中代码都会执行; 2,当尝试和捕获中有返回时,最后仍然会执行; 3,最后是在返回后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,不管最后中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在最后执行前确定的;...
2018-08-22 00:50:25 14598
转载 Eclipse自动补全设置与Eclipse源代码下载(转载)
原文出处:http://www.cnblogs.com/pelloz/p/4343208.html以前使用VisualStudio和Sublime写代码的时候有很完善的代码提示,但是最近开始使用Eclipse弄JAVA的时候发现它的代码提示不是很习惯。上网找了一些资料,修改了代码提示的方式,记录在博客上供大家查阅。本文主要参考了以下文章http://www.cnblogs.com/a-zx/p/3...
2018-06-11 22:42:57 1646 3
转载 hibernate缓存机制详细分析 (转)
篇随笔里将会分析一下hibernate的缓存机制,包括一级缓存(session级别)、二级缓存(sessionFactory级别)以及查询缓存,当然还要讨论下我们的N+1的问题。随笔虽长,但我相信看完的朋友绝对能对hibernate的 N+1问题以及缓存有更深的了解。一、N+1问题首先我们来探讨一下N+1的问题,我们先通过一个例子来看一下,什么是N+1问题:list()获得对象:
2017-03-16 22:33:44 201
转载 HIBERNATE与 MYBATIS的对比
我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和学习,使自己在做项目中更加得心应手。第一方面:开发速度的对比就开发速度而言,Hibernate的真正掌握要比Mybatis来得难些。Mybatis框架相对简单很容易上手,但也相对简陋些。个人觉
2017-03-16 16:49:34 292
原创 servlet学习一
两个图方便理解servletServlet 架构下图显示了 Servlet 在 Web 应用程序中的位置。servlert生命周期Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程: 1、Servlet 通过调用init () 方法进行初始化。 2、Servlet 调用servi
2017-03-11 23:20:05 215
转载 JAVA常见面试题之Forward和Redirect的区别
阅读目录一:间接请求转发(Redirect)二:直接请求转发(Forward) 用户向服务器发送了一次HTTP请求,该请求可能会经过多个信息资源处理以后才返回给用户,各个信息资源使用请求转发机制相互转发请求,但是用户是感觉不到请求转发的。根据转发方式的不同,可以区分为直接请求转发(Forward)和间接请求转发(Redirect),那么这两种转发方式有何区别呢?本篇在回答该问题的
2017-03-09 16:26:01 309
转载 in、or、exists区别
in 和or区别:如果in和or所在列有索引或者主键的话,or和in没啥差别,执行计划和执行时间都几乎一样。如果in和or所在列没有 索引的话,性能差别就很大了。在没有索引的情况下,随着in或者or后面的数据量越多,in的效率不会有太大的下降,但是or会随着记录越多的话性能下降 非常厉害 因此在给in和or的效率下定义的时候,应该再加上一个条件,就是所在的列是否有索引或
2017-03-07 20:04:54 4761
转载 Statement和Prestatement的区别(转)
1.PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程2.使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理。PreparedStatement 对象的开销比Statement大,对于一次性操作并不会带来额外的好处。3.statement每次执行sql语句,相关数据库都要执行sql语句的编译
2017-02-17 17:01:09 3310
转载 java虚拟机学习
Java栈和局部变量操作(二)2通用栈操作操作码操作数说明nop(无)不做任何操作pop(无)从操作数栈弹出栈顶部的一个字pop2(无)从操作数栈弹出最顶端的两个字swap(无
2017-02-17 11:35:58 226
原创 接口、类与抽象类
一、抽象类使用场景 如果你想设计这样一个类,该类包含一个特别的成员方法,该方法的具体实现由它的子类确定,那么你可以在父类中声明该方法为抽象方法。Abstract关键字同样可以用来声明抽象方法,抽象方法只包含一个方法名,而没有方法体。抽象方法没有定义,方法名后面直接跟一个分号,而不是花括号。二、抽象类总结规定 1. 抽象类不能被实例化(初学者很容易犯的错),如果被实例...
2017-02-16 21:36:04 270
转载 java继承1——类与继承
一.你了解类吗? 在Java中,类文件是以.java为后缀的代码文件,在每个类文件中最多只允许出现一个public类,当有public类的时候,类文件的名称必须和public类的名称相同,若不存在public,则类文件的名称可以为任意的名称(当然以数字开头的名称是不允许的)。 在类内部,对于成员变量,如果在定义的时候没有进行显示的赋值初始化,则Java会保证类的每个成员变量都得
2017-02-08 20:24:45 341
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人