Java老楚
码龄10年
关注
提问 私信
  • 博客:69,817
    69,817
    总访问量
  • 51
    原创
  • 1,096,991
    排名
  • 11
    粉丝
  • 0
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2015-03-07
博客简介:

工作总结博客

博客描述:
Java
查看详细资料
  • 原力等级
    成就
    当前等级
    2
    当前总分
    178
    当月
    2
个人成就
  • 获得29次点赞
  • 内容获得9次评论
  • 获得106次收藏
创作历程
  • 2篇
    2023年
  • 24篇
    2021年
  • 25篇
    2020年
成就勋章
TA的专栏
  • neo4j
    4篇
  • 数据库
    5篇
  • mongo
    5篇
  • 基础
    3篇
  • 面试
    5篇
  • Spring
    3篇
  • Hadoop
    1篇
  • Zookeeper
    1篇
  • Linux
    1篇
  • Kubernetes
    1篇
  • ElasticSearch
    1篇
  • 网络
    1篇
  • mysql
    4篇
  • 消息队列
    5篇
  • 中间件
    3篇
  • docker
  • 集群
    1篇
  • Java
    3篇
兴趣领域 设置
  • 大数据
    hadoophivesparketl
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

175人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Zookeeper面试题

zookeeper采用了全局递增的事务id来标识,所有的proposal在提出的时候都会加上一个zxid,zxid是一个64位的数字,高32位是epoch(时期),用来标识Leader的周期,如果有新的Leader产生,epoch会递增,低32位用来自增计数。当新的proposal产生的时候会经历二阶段提交过程,首先会向其他server发送事务请求,当过半的server都能够执行并且执行成功的时候,那么就开始执行。
原创
发布博客 2023.12.11 ·
209 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

HashMap常见面试问题

put的第一步是计算hash值,key的hash&key的hash>>>16.其目的就是:让key的高16位不变,低16位与高16位做一个异或,目的就是减少碰撞。
原创
发布博客 2023.12.11 ·
261 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

简述dubbo的spi思想

面试官心理分析继续深挖,前面一些基础性的东西问完了,确定你应该都ok,了解dubbo的一些基本东西,那么问个稍微难一点点的问题,就是spi,先问问你什么是spi。然后再问一下dubbo的spi是怎么实现的?其实就是看看你对dubbo的掌握程度如何。面试题剖析spi,简单来说,就是service provider interface,说白了是什么意思呢,比如你有个接口,现在这个接口有3个实现类,那么在系统运行的时候对这个接口到底选择哪个实现类呢?这就需要spi了,需要根据指定的配置或者是默认的配置,去找
原创
发布博客 2021.09.26 ·
263 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Dubbo服务相关面试题

请介绍一下Dubbo服务消费者调用服务提供者的过程?整体流程图通过上面的流程图可以看到,服务消费者通过代理对象Proxy发起远程调用,接着通过网络客户端Client将编码后的请求发送给服务提供方的网络层上,也就是Server。Server在收到请求后,首先要做的事情是对数据包进行解码。然后将解码后的请求发送至分发器Dispatcher,再由分发器将请求派发到指定的线程池上,最后由线程池调用具体的服务。这就是一个远程调用请求的发送与接收过程。执行流程1. 生成动态代理类当调用服务方法的时候,会被I
原创
发布博客 2021.09.26 ·
199 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Neo4j程序访问

Neo4j访问的两种方式嵌入式数据库服务器模式(通过REST的访问)它是由应用程序的性质(neo4j是独立服务器还是和程序在一起),性能,监控和数据安全性来决定架构选择。An embedded database(嵌入式数据库)嵌入式Neo4j数据库是性能的最佳选择。通过指定数据库存储的路径已变成的方式访问嵌入式数据库。我们选择嵌入式数据库处于一下原因:使用Java作为我们项目的编程语言时应用程序是独立的程序追求很高的性能Neo4j Server(服务器模式)Neo4j Serv
原创
发布博客 2021.09.11 ·
203 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Neo4j优化思路

增加服务器内存和调整neo4j配置文件# java heap 初始化dbms.memory.heap.initial_size=1g# java heap最大值,一般不超过可用物理内存的80%dbms.memory.heap.max_size=16g# pagecache大小,官方建议设为(总内存-dbms.memeory.heap.max_size)/2dbms.memory.pagecache.size=2gneo4j刚启动数据是冷的需要预热match(n)optional matc
原创
发布博客 2021.09.11 ·
655 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Neo4j之Admin管理员操作

Neo4j-数据库备份和恢复在对Neo4j数据进行备份、还原、迁移得到操作时,首先要关闭Neo4j./bin/neo4j stop数据备份到文件./bin/neo4j-admin dump --datebase=graph.db --to=/root/qyn.dump还原、迁移之前,关闭neo4j服务。操作同上./bin/neo4j-admin load --form=/root/qyn.dump --database=graph.db --force重启服务./bin/neo4j s
原创
发布博客 2021.09.11 ·
420 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

Neo4j CQL高级

CQL 函数字符串函数功能描述UPPER它用于将所有字母改为大写字母LOWER它用于将所有字母改为小写字母SUBSTRING它用于获取给定String的字符串REPLACE它用于替换一个字符串的子字符串举例:MATCH (p:Person)RETURN ID(p), LOWER(p.character)聚合函数聚合功能描述COUNT它返回由MATCH命令返回的行数MAX它从MATCH命令返回一组行返回最大值
原创
发布博客 2021.09.11 ·
181 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Neo4j CQL

CQL简介CQL代表Cypher查询语言。像关系型数据库的查询语言SQL,Neo4j使用CQL作为查询语言。Neo4j CQL它是Neo4j图形数据库的查询语言它是一种声明性模式匹配语言它遵循SQL语言它的语言是非常简单且人性化、可读的格式。常用的Neo4j CQL命令、条款如下:No.CQL命令/条作用1CREATE创建创建节点,关系和属性2MATCH匹配检索有关节点,关系和属性数据3RETURN返回返回查询结果4WHERE条件提
原创
发布博客 2021.09.10 ·
168 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

MongoDB安全认证

安全认证概述MongoDB默认是没有账号的,可以直接链接,无须身份验证。在实际的项目中的肯定是要权限验证的,否则后果不堪设想。从2016年开始发生了多起MongoDB黑客赎金时间,大部分MongoDB安全问题暴露出来的安全短板其实是用户,首先用户对数据库的安全不重视,其次用户在使用过程中没有养成定期备份的好习惯,最后是企业可能缺乏有经验和技术的专业人员。所以对MongoDB进行安全认证是有必要的。用户相关操作切换到admin数据库对用户进行添加use admin;db.createUser(use
原创
发布博客 2021.09.01 ·
187 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MongoDB分片集群搭建

分片集群搭建过程配置并启动config节点集群config部分的ymlversion: '3'services: # config server配置 mongo_config_server_node_1: image: mongo:latest container_name: mongo_config_server_node_1 ports: - 27010:27017 volumes: - ./config_server/node_
原创
发布博客 2021.08.31 ·
385 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

MongoDB复制集搭建

前言最开始使用MongoDB作为NoSQL数据库的时候,使用的是单节点,后面随着业务量增加,引入了集群模式,最初引入的是ReplicaSet。刚开始使用的时候还好,后面却发现了性能上还是有瓶颈,尤其在写数据方面比较的明显。后面深入研究了一下,发现原来真正高性能的是Shared Cluster,因为做了数据分片的缘故,单机的数量量更小,读写性能也就越高。然而我们使用的ReplicaSet只是Master-Slave模式,所有的节点上的数据仍然是一致的,同时因为需要保证一致性,事务是多进程之间同步等待的,因此
原创
发布博客 2021.08.29 ·
294 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MongoDB分片集群

简介分片(Sharding)是MongoDB用来将大型集合水平分割到不同服务器(或者复制集)上所采用的方法。不需要功能强大的大型计算机就可以存储海量的数据,处理高负载。为什么要分片存储容量超出单机磁盘的容量活跃的数据超出单机内存的容量,导致很多请求都要从磁盘读取数据,影响性能。IOPS超出单个MongoDB节点的服务能力,随着数据的增长,单机实例的平静会越来越明显。副本集具有极诶耽数量限制。垂直扩展:增加更多的CPU和存储资源来扩展容量。水平扩展:酱数据集分布在多个服务器上,水平扩展即分
原创
发布博客 2021.08.28 ·
488 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Mongo复制集集群结构原理

简介一个复制集中Primary节点上能够完成读写操作,Secondary节点仅能用于读操作。Primary节点需要记录所有改变数据库状态的操作,这些记录保存在oplog中,这个文件存储在local数据库,各个Secondary节点通过此oplog来复制数据并应用于本地保持本地的数据与主节点的一致。oplog具有幂等性,即无论执行了多少次,其结果始终保持一致,这一点要优于mysql的二进制日志更好用。oplog的组成结构{ "ts": Timestamp(1446011590), "h": Numb
原创
发布博客 2021.08.27 ·
151 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MongoDB存储引擎

存储引擎概述存储引擎是MongoDB的核心组件,负责管理数据如何存储在硬盘和内存上。MongoDB支持的存储轻音有MMAPv1,WiredTiger和InMemory。InMemory表示只将数据存储在内存中,并且只把诊断日志和元数据(meta-data)信息存储在硬盘文件中,由于不需要和磁盘进行IO操作,就可以获取到所需要的数据,InMemroy引擎大幅度降低了查询的延迟(latency)。从MongoDB3.2开始,默认的存储引擎是WiredTiger,3.2之前默认的存储引擎是MMAPv1,Mong
原创
发布博客 2021.08.21 ·
853 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

MongoDB架构

MongoDB逻辑结构MongoDB与MySQL中的架构差不多,底层都使用了可插拔的存储引擎以满足不同的用户需求,用户可以根据自己所需要的特性来选择不同存储引擎。在最新版本的MongoDB中使用了WiredTiger作为默认的存储引擎,WiredTiger提供了不同粒度的并发控制和压缩机制,能为不同的应用提供更好的性能和存储率。MongoDB的数据模型内嵌内嵌的方式是指,一个文档嵌入到另外一个文档中,MongoDB中允许一个字段或者数组中的值为一个对象。引用通过引用的方式来存储对象之间的关联,
原创
发布博客 2021.08.19 ·
134 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java访问MongoDB

maven依赖 <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.12.10</version> </dependency>添加操作 MongoC
原创
发布博客 2021.08.19 ·
243 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MongoDB应用场景

MongoDB的适用场景网站数据:MongoDB非常适合实时插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。缓存:由于性能很高,Mongo也适合作为信息存储的缓存层。在系统重启之后,由Mongo搭建的持久化缓存层可以避免下层数据资源过载。大尺寸、低价值的数据:使用传统的关系型数据库存储一些大尺寸低价值数据时比较浪费资源,在此之前,很多程序员往往选择使用传统文件存储的方式。高伸缩性的场景:Mongo非常适合由数十台或数百台服务器组成的数据库,Mongo的线路图中已经包含对MapRed
原创
发布博客 2021.08.16 ·
3565 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

MongoDB索引底层实现原理分析

简介MongoDB是文档型的数据库,它使用BSON格式保存数据,比关系型数据库存储更方便,比如之前关系型数据库中处理用户、订单等数据要建立对应的表,还要建立它们之间的关联关系。但是BSON就不一样了,我们可以把一条数据和这条数据对应的数据都存入一个BSON对象中,这种形式更简单,通俗易懂。MySql是关系型数据库,数据的关联性是非常强的,区间访问是常见的一种情况,底层索引组织数据使用B+树,B+树由于数据都存储在叶子节点,并且通过指针串在一起,这样就很容易的进行区间遍历货值全部遍历。MongoDB使用B
原创
发布博客 2021.08.16 ·
1480 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

MongoDB索引

什么是MongoDB索引索引是一种单独的、物理的对数据库中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的页的逻辑指针清单。索引的作用相当于图书中的目录,可以根据目录中的页码快速找到所需的内容。索引目标是提高数据库的查询效率,没有索引的话,查询会进行全表扫描(scan every docuemtn in a collection),数据量最大时严重降低了查询效率。默认情况下Mongo在一个集合(collection)创建时,自动的对集合的_id创建了
原创
发布博客 2021.08.15 ·
357 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏
加载更多