- 博客(141)
- 收藏
- 关注
原创 关于Redis面试题
降低消息大小:一万六千多个槽,心跳包大小为2K,相比与6万多的槽,小很多,可以节省带宽。集群规模设计考虑:集群最多支持1000个分片,假如1万六千个槽在分配均匀的情况下,分片平均分到的槽不至于太小。
2023-12-27 14:41:43 939
原创 关于RabbitMQ面试题
之前为了准备面试,收集整理了一些面试题。本篇文章更新时间2023年12月27日。最新的内容可以看我的原文:https://www.yuque.com/wfzx/ninzck/cbf0cxkrr6s1kniv前提:手动确认消息。指定死信交换机:同时指定死信交换机的路由key:一些延迟任务的场景:过期队列+死信队列。RabbitMQ本身不直接保证。
2023-12-27 14:38:30 427
原创 关于MySQL、分布式系统、SpringCloud面试题
微服务标签:一种架构风格、拆分成多个小服务、独立进程、服务围绕业务功能而构建、可独立开发、部署、扩展、轻量级通信、多语言&不同存储技术简单地说,微服务架构风格就是一种将单个应用拆分成一组小服务开发的方法,每一个小服务运行在它自己的进程中并且使用轻量的协议通信,通常是一个HTTP资源API。这些服务围绕业务能力构建并且由自动化部署机器部署。这些服务有着最小化的中央管理,这个中央管理可以使用不同语言编写并使用不同的数据存储技术。—— James Lewis and Martin Fowler(马丁·福勒)
2023-12-27 14:36:45 575
原创 关于Java并发、JVM面试题
线程是CPU资源调度的基本单位,CPU的执行需要线程的状态数据,比如寄存器信息、程序计数器等,这些信息称为上下文信息。程序计数器:存储了指令的内存地址。指令寄存器(寄存器的一种):存储了将要执行的指令(指令来自程序计数器中内存地址指向的值),CPU会对指令进行分析,交由对应的目标(逻辑运算单元或控制单元)去执行;CPU在处理新任务前,将上下文信息存储到系统内核,并加载新任务的上下文到寄存器和程序计数器。产生死锁要满足四个必要条件:请求保持、互斥性、不可剥夺、循环等待。
2023-12-27 11:45:50 996
原创 关于设计模式、Java基础面试题
为了方便程序而设计的特殊语法。对编程功能没有影响,主要是让代码更加简洁。检查异常(Checked Exceptions):这类异常是Exception及其子类的成员,它们在编译时被强制要求处理,否则程序无法通过编译。例如,如果程序要访问一个文件,但该文件不存在,就会出现一个IOException,这是一个检查异常。运行时异常(Runtime Exceptions):这类异常是RuntimeException类及其子类的成员,它们在程序运行时可能发生,但不强制要求处理。
2023-12-27 11:22:56 1114
原创 谈谈产品方面
产品和开发是两条不同的路线,产品 初看简单,深入之后就就会发现,这是一个跟开发不同的陌生的森林。开发者不用深入到森林,在森林边缘看看,了解森林的外貌,也能影响我们的开发思维,它也许会在某一天成为撬动你决策的杠杆。
2023-12-27 10:44:21 357
原创 开发效率之把握需求、减少返工
当年初入软件开发行业的我,拿到需求就莽,要设计没设计,要分析没分析,结果就是没理清楚需求,致使频频返工。不是每个人都能遇到带人的前辈,入行时只能去小公司。
2023-12-27 10:11:51 398
原创 项目管理之新项目起步优先级
公司启动了一个新项目,但是迟迟未能推进,市场部、经理部痛斥软件部门进度缓慢,导致资金汇款慢。原因为何?项目经理力求细节样样做好做美,业务流程迟迟没跑通;底层人员基于自己认知,在执行过程出现偏差;没有集中精力做哪些可以推进项目的需求等
2023-12-27 09:42:11 441
原创 IDEA使用之打包Jar,指定main方法
在某些场景,可能会遇到将非Spring项目打包的情况,我们不需要Tomcat部署,只需要指定main方法即可,这种情况打包成jar就比较方便了。
2023-12-26 17:51:48 1183
原创 强烈推荐,提高开发效率的IDEA插件
他山之石,可以攻玉”,当你不知道如何优雅地给变量命名时,可以 使用命名工具,快速搜索大型项目中的变量命名,看其他大型项目源 码是如何命名的,哪些变量名的使用频率高。tt:方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测(可以重新触发,周期触发,唯一缺点对于ThreadLocal 信息丢失[隐含参数]、引用对象数据变更无效)watch:能方便的观察到指定方法的调用情况,返回值、抛出异常、入参(特殊值、异常没有捕获排查)logger:动态更新日志等级。
2023-12-26 17:45:49 632
原创 Maven之调试插件
C:\Users\admin.m2\repository(仓库位置)\org\springframework\boot\experimental\spring-boot-thin-maven-plugin(groupId+artifactId)\1.0.28.RELEASE(version)\xxx.jar(.jar后缀文件)在本地仓库中找到插件对应的 jar 包,添加到Idea的lib中,然后打开jar,放置断点,最后通过debugger方式执行mvn命令。
2023-12-26 17:42:21 700
原创 Maven之插件入门
本地项目通过下面配置可以引入刚才安装的插件。在编译的时候,插件生效。模板可能不是最新的,建议升级到较新的版本。将插件安装到本地仓库。所在的目录,执行命令。
2023-12-26 17:39:58 559
原创 Jmeter之JSON断言
我们发送一个请求,结果返回json数据,我们需要根据json数据中code的值来判断此次请求是否成功。如何取第一本书的名称?
2023-12-26 17:35:50 1273
原创 MyBatis缓存机制流程分析
在进行分析之前,建议快速浏览之前写的理解MyBatis原理、思想,这样更容易阅读、理解本篇内容。看到这里,我们回顾一下,在之前的分析中,我们看到装饰者模式出现得比较频繁;此外还是用到动态代理技术。整个分析下来,相信你收获的不止这些,源码阅读能力应该能得到一些提升,对设计模式、动态代理的理解也会有一些加深。好了,如果你感兴趣的话,可以进一步深入分析缓存如何刷新、生效,如何做到缓存会话级别、Mapper级别的隔离的。开启二级缓存之后,为什么之后二级缓存才生效?
2023-12-12 09:29:57 860
原创 快速搭建MyBatis源码调试环境
创建 数据源配置文件 和测试用的 Mapper XML文件。现在,可以创建测试类了。先去github将mybatis(3.5.8)源码拉下来。然后在src目录下创建一个。目录,右键标记为资源目录。
2023-12-08 10:11:26 429
原创 理解MyBatis原理、思想
通过手写一个简单的ORM框架,了解到SQL映射配置、SQL执行、结果映射的基本原理,在上面的案例中,没有实现参数处理、缓存机制、插件机制,感兴趣的可以继续完善。
2023-12-08 10:07:55 933
原创 了解Docker的文件系统&网络模式的基本原理
一个Linux系统运行需要两个文件系统: bootfs + rbootfsbootfs 即引导文件系统,Linux内核启动时使用的文件系统。对于同样的内核版本的不同Lunx发行版本,其bootfs是一样的。引导文件系统包括:启动所需的映像文件 和 引导加载程序(bootloader)。在 Linux 系统中,bootfs 通常是一个小型的文件系统,容纳了以下重要的组件:bootfs 只是引导过程中的一个阶段,一旦 Linux 内核成功加载并初始化,它将卸载 bootfs 并切换到其他文件系统,如根文件系统(
2023-10-30 16:51:41 2606
原创 基于Docker搭建Elasticsearch集群
集群由多个Node组成,Node可以有不同的类型,通过下面配置文件设置:node.master=true :作为的候选节点,标志着此节点可以产于选举。node.data=true :此节点作为数据节点,存储数据以及处理数据的写入、查询等。两者都为false的时候,说明此节点只担任请求转发、结果聚合工作,在处理大量请求的时候,可以达到负载均衡效果。核心概念Cluster 集群ES集群由多个节点组成,“集群名称”作为一个集群的标识。一个ES实例代表一个Node。Node具有多种类型,一般这样组合
2023-08-22 08:43:44 1076
原创 Spring Bean生命周期与常用接口
实现该接口可以在 Spring 容器加载 Bean 定义之后、实例化 Bean 之前修改 Bean 的定义信息。通过重写 postProcessBeanFactory() 方法,可以对 Bean 的定义进行修改,例如修改属性值、添加额外的 Bean 定义等。BeanFactoryPostProcessor接口与bean定义进行交互和修改,但是不会与bean实例进行交互。这样做可能导致过早的bean实例化,违反容器规则并导致意外的副作用。
2023-07-24 21:12:39 280
原创 vue动态组件使用依赖注入时发现组件没有被渲染
在处理过程中,本着不该配置文件的想法,换一种思路,也达到 响应式数据 依赖注入的要求。方法如下:不再注入一个普通变量,而是注入一个函数,这样,也能够实时拿到变化的最新值。,但是在加载动态组件的时候出现的问题,没有渲染。由于疏忽,没有按 配置要求 添加配置。安装官方要求,我引入代码。
2023-03-01 17:49:00 731 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人