自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小问号的博客

随便写写

  • 博客(65)
  • 资源 (2)
  • 收藏
  • 关注

原创 三分化计划

自由杠铃深蹲。

2023-04-14 10:38:13 136

原创 2022年5月份面试题集合

没回答上来或者回答的不够好的面试题集合目录第一家mysql什么时候使用行锁,什么时候使用表锁?介绍一下mysql的虚拟表?RabbitMQ和RocketMQ的区别?Spring的AOP你在项目中怎么用?第一家mysql什么时候使用行锁,什么时候使用表锁?介绍一下mysql的虚拟表?RabbitMQ和RocketMQ的区别?Spring的AOP你在项目中怎么用?........................

2022-05-17 20:54:14 1120 2

原创 @Async注解使用注意事项

async

2022-04-30 13:56:56 1476

原创 使用 JVM 工具排查线上问题

JVM排查命令

2022-04-28 13:49:23 336

原创 使用Arthas排查问题

简介Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! 是否有一个全局视角来查看系统的运行状况? 有什么办法可以监控

2022-04-20 15:34:19 3579

原创 MobaXterm 登录不进去,忘记密码

MobaXterm忘记主密码MobaXterm从一台机器复制到另外一台机器上/重新安装系统后,需要重新输入主密码(master password)如果想不起来,可以重置主密码,官网给了重置主密码的工具:MobaXterm Xserver and tabbed SSH client - resetmasterpassword...

2021-11-22 16:12:57 3694

原创 java程序报stream has already been operated upon or closed异常错误解决方案

今天写业务的时候使用到了Stream流,用Stream流完成了list的统计和求和,但是划红线那一块我看着重复,于是把Stream流抽成了一个变量,最后导致报错。下图是正确的写法。解决方案:每次创建的stream只能使用一次不要用同一个流来做各种操作,每次都用新的。...

2021-11-04 09:36:18 2840

原创 什么是精神内耗,如何防止?

目录精神内耗的表现精神内耗的底层原因精神内耗的四个方法精神内耗的表现外在1)犹豫不决2)容易被影响(别人的话)3)行动力下降4)注意力分散5)累内在1)紧张、焦虑、自卑、情绪低落精神内耗的底层原因1、偏向于用右脑思考(艺术思维、感性)2、威胁识别引起的恐惧(没经历过、陌生、不知道如何处理的恐惧)过度思考->恐惧感->延申记忆薄弱->拖延逃避->延申记忆更少->焦虑自卑精神内耗的四个方法1)聚焦注意力1、

2021-11-02 22:26:35 1430

转载 多线程不得不聊的Future类

链接: link.多线程不得不聊的Future类生活中的Future模式场景1:场景2:在高性能编程中,并发编程已经成为了极为重要的一部分。在单核CPU性能已经趋于极限时,我们只能通过多核来进一步提升系统的性能,因此就催生了并发编程。由于并发编程比串行编程更困难,也更容易出错,因此,我们就更需要借鉴一些前人优秀的,成熟的设计模式,使得我们的设计更加健壮,更加完美。生活中的Future模式为了更快的了解Future模式,我们先来看一个生活中的例子。场景1:午饭时间到了,同学们要去吃饭了,小王下楼

2021-05-06 17:15:30 400

转载 还在写大量 if 来判断?试试用一个规则执行器来替代它

转载自公众号《Java知音》链接: link.多条件判断场景中规则执行器的设计业务场景规则执行器规则执行器的设计对于规则的抽象并实现规则执行器构建执行器的调用总结优点:缺点:业务场景近日在公司领到一个小需求,需要对之前已有的试用用户申请规则进行拓展。我们的场景大概如下所示:if (是否海外用户) { return false;}if (刷单用户) { return false;}if (未付费用户 && 不再服务时段) { return false}if

2021-04-30 10:37:50 222

原创 如何解决支付接口回调重复,处理业务重复问题?

支付回调特有的幂等处理方式前言解决方案1、什么是幂等?2、如何进行幂等处理前言当订单的状态发生改变后,支付宝通常会以异步的方式通知商家服务器。商家服务器需要返回success这 7 个字符,如果不是,则支付宝则会不断重复通知商家服务器。微信支付也是如此,必须需要得到商家服务器的正确响应。既然这样,支付回调接口就需要进行幂等性处理。解决方案1、什么是幂等?幂等操作的特点是其任意多次执行,所产生的影响均与一次执行的影响相同。细想一下回调接口一般会这样处理:1)查看订单是否存在。2)修改订单状

2021-04-25 15:05:18 2837

面试题:java 对象的创建流程

java 对象的创建流程类加载检查–》虚拟机分配内存–》初始化零值–》设置对象头–》执行init方法。类加载检查当虚拟机遇到一条new的指令的时候,会去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个符号引用是否已经被加载、解析、初始化过,如果没有,就会先去执行类的加载过程。虚拟机分配内存在类加载检查之后,接下来虚拟机会给新生的对象分配内存。对象索需要的内存大小在类加载完成之后就可以确定,为对象分配内存的任务等同于把堆中的一块内存划分出来。主要方法有两种。指针碰撞和空闲列表

2021-03-07 22:28:02 251

原创 2021年3月面试题集合

列举了这几天面试遇到的没回答上来的问题和回答的不够好的问题。面试题集合面试题集合shiro的执行流程HashMap的put方法源码消息队列堆积怎么办有没有遇到线程阻塞的情况,是怎么解决的sql优化方案(答的不够好)面试题集合shiro的执行流程HashMap的put方法源码消息队列堆积怎么办有没有遇到线程阻塞的情况,是怎么解决的sql优化方案(答的不够好)...

2021-03-06 22:51:16 336

原创 面试题:你能说一下Redis的常见应用场景吗?

1. 基础内存数据库redis是一个key-value型的数据库(相比较之下,mysql是关联数据库),也就是说,一个key对应着一个value,这是保证高效的手段之一。另外,redis的所有数据使用的时候都存储在内存之中。这包含了两层含义:1、单台redis能存放多少数据,取决于其内存的大小,如果需要存放更多的数据,可以增加内存或者做集群。2、redis支持将数据持久化到硬盘中(aof和rdb)。但是,不会直接对磁盘进行读取。这种持久化,一般是用于在服务器重启时,先把数据持久化,重启后再从硬盘

2021-01-30 19:56:29 419

原创 面试题:redis两种持久化方式的优缺点

redis两种持久化方式的优缺点1、redis两种持久化的方式(AOF和RDB)2、RDB的优点3、RDB的缺点4、AOF的优点5、AOF 的缺点1、redis两种持久化的方式(AOF和RDB)1、RDB持久化可以在指定的时间间隔内生成数据集的时间点快照。2、AOF持久化记录服务器执行的所有写操作命令,并在服务器启动的时候,通过重新执行这些命令来还原数据集,AOF文件中全部以redis协议的格式来保存,新命令会追加到文件的末尾,redis还可以在后台对AOF文件进行重写,文件的体积不会超出保存数据集状

2020-09-10 16:03:02 1063

原创 面试题:redis

redis1、介绍一下redis2、为什么要用 redis/为什么要用缓存?3、为什么要用 redis 而不用 map/guava 做缓存?4、讲一下redis的线程模型5、redis 和 memcached 的区别6、redis 常见数据结构以及使用场景分析7、redis 设置过期时间8、redis 内存淘汰机制(MySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据?)9、redis 持久化机制(怎么保证 redis 挂掉之后再重启数据可以进行恢复)10、re

2020-06-04 13:27:07 1070

原创 面试题:计算机网络

计算机网络1、OSI与TCP/IP各层的结构与功能,都有哪些协议?2、TCP协议的三次握手和四次挥手三次握手图解为什么要三次握手为什么要传回 SYN传了 SYN,为啥还要传 ACK四次挥手为什么要四次挥手3、TCP,UDP 协议的区别(重点)4、TCP 协议如何保证可靠传输?5、ARQ协议6、滑动窗口和流量控制7、在浏览器中输入url地址 ->> 显示主页的过程(重点)8、HTTP长连接,短连接9、HTTP是不保存状态的协议,如何保存用户状态?10、Cookie的作用是什么?和Session有什

2020-05-31 20:46:28 314

原创 面试题:Spring

Spring面试题1、什么是 Spring 框架?2、@RestController vs @Controller3、谈谈自己对于 Spring IoC 和 AOP 的理解4、Spring Aop和AspectJ Aop的区别5、Bean的生命周期6、Spring MVC执行流程1、什么是 Spring 框架?Spring是一种轻量级框架,主要核心功能是ioc和aop,core组件是spring所有组件的核心,Beans和context是实现ioc的基础,aop是用来实现面向切面编程的。2、@Rest

2020-05-30 15:41:44 283

原创 面试题:JVM

面试题:JVM1、介绍下 JVM和内部结构。2、分别介绍一下程序计数器、虚拟机栈、本地方法栈、堆和方法区。2.1 程序计数器2.2 虚拟机栈2.3 本地方法栈2.4 堆2.5 方法区2.6 永久代和元空间的区别是什么?3、讲一下类加载的过程4、对象创建的过程5、如何判断对象是否死亡?(两种方法)7、垃圾收集有哪些算法,各自的特点?1、介绍下 JVM和内部结构。JVM是java虚拟机的缩写,java虚拟机是一种规范,其中包括了堆、方法区、虚拟机栈、本地方法栈、程序计数器等部分。java虚拟机主要作用是ja

2020-05-29 17:35:35 290

原创 面试题:Java多线程

Java多线程面试题1、什么是进程,什么是线程?2、请简要描述线程与进程的关系,区别及优缺点?3、为什么程序计数器、虚拟机栈、本地方法栈是线程私有的?4、说说并发与并行的区别?5、为什么要使用多线程呢?多线程会产生什么问题?6、说说线程的生命周期和状态?7、什么是上下文切换?8、什么是线程死锁?如何避免死锁?9、说说 sleep() 方法和 wait() 方法区别和共同点?10、为什么我们调用 start() 方法时会执行 run() 方法,为什么我们不能直接调用 run() 方法?11、说一说自己对于 s

2020-05-27 22:04:54 1927

原创 面试题:java集合

Java集合面试题1、说说List、Set、Map的区别?2、Arraylist 与 LinkedList 区别?3、ArrayList 与 Vector 区别呢?为什么要用Arraylist取代Vector呢?4、说一说 ArrayList 的扩容机制吧5、HashMap 和 Hashtable 的区别1、说说List、Set、Map的区别?List:可以存储一组有序可重复的对象。Set:可以存储一组不重复的对象。Map:以K,V键值对存储。在Map中通过key去找value。Map中的Key不能

2020-05-27 11:44:56 247

原创 个人笔记:ActiveMQ从入门到精通

笔记是根据尚硅谷视频而来,笔记也是从b站里的大神的评论里copy的,只是为了自己再复习一下,所以算抄一份。视频地址:www.bilibili.com/video/av55976700文章目录1.课程基本大纲2.入门概述2.1 MQ的产品种类和对比2.2 MQ的产生背景2.3 MQ的主要作用2.4 MQ的定义2.5 MQ的特点3.ActiveMQ安装和控制台3.1 ActiveMQ安装3.2 ActiveMQ控制台4.入门案例、MQ标准、API详解4.1 pom.xml导入依赖4.2 JMS编码总体规范4

2020-05-15 23:47:21 765

原创 面试题:什么是倒排索引?

讲倒排索引之前先讲正牌索引,意思就是我们的所有文档都有唯一一个文档id,根据文档里的内容算出每个文档中关键字的内容和次数,类似于通过key去找value的形式,如果正牌索引,我们每次寻找关键字查询,就得搜索所有的文档去看是否有这个关键字,这样查询效率太慢了。于是有了倒排索引,是通过关键字去查文档,我们建立一个索引库,里面的key是关键字,value是每个文档的id,倒排在构建索引的时候较为耗时且维护成本较高,但是搜索耗时短,所以我们可以定时去更新索引库。查询出来的文档可以通过一个打分算法来进行排序。

2020-05-11 23:07:56 2516 1

原创 面试题:介绍一下springcloud的组件

1、服务发现与注册 Eureka和Nacos2、服务调用 Feign3、负载均衡 Ribbon4、服务网关 Zuul5、配置中心 Config6、熔断器 Hystrix7、服务总线 Bus

2020-05-11 22:55:35 782

原创 面试题:mq如何防止重复消费

1、幂等性简单来说,就是一个数据或者一个请求重复了多次,最后得到的结果都是一样的,不会出错。2、如果防止重复消费在生产者生产消息的时候,在消息中存放一个全局唯一的id,然后消费者从队列中取消息消费后,把id存放到redis中,下次消费的时候先查询redis中有没有该id,没有就消费,有就代表消费过了,不再消费了。...

2020-05-11 22:20:40 2051

原创 面试题:innodb和myisam的区别

1、innodb支持事务,而myisam不支持事务。2、innodb支持外键,而myisam不支持外键。3、innodb是行锁,而myisam是表锁(每次更新增加删除都会锁住表)。4、innodb和myisam的索引都是基于b+树,但他们具体实现不一样,innodb的b+树的叶子节点是存放数据的,myisam的b+树的叶子节点是存放指针的。5、innodb是聚簇索引,必须要有主键,一定会基于主键查询,但是辅助索引就会查询两次,myisam是非聚簇索引,索引和数据是分离的,索引里保存的是数据地址的指针

2020-05-11 21:51:05 20514 2

原创 Redis从入门到高可用、分布式实践(二):redis脑图分析

对redis整体做脑图分析 copy的

2020-03-19 17:20:31 169

原创 回深圳后三次面试总结

三家公司分别是龙华的小工作室、科技园的小公司、龙岗的百来人的公司,但都没进,在面试的时候节奏把握的不好,一到技术面就急于表现自己,说话很快,回想起来有很多错误,但当下自己没发现,太紧张了估计。基础薄弱,面试官问的问题都是以前看过的面试题,但是都忘了。首先罗列一下技术面问到的问题。1、两个单链表,求它们的交集。2、字符串匹配问题,讲一下KMP算法。3、讲一下java的static关键字。4...

2019-12-26 13:28:40 227

原创 面试题:你能说说Spring框架中Bean的生命周期吗?

回答:1、实例化一个Bean --也就是我们常说的new;2、按照Spring的上下文对实例化后的Bean进行配置 --也就是IOC注入;3、如果这个Bean已经实现了BeanNameAware接口,会调用接口的setBeanName(String)方法,此处传递的就是这个spring配置文件中定义的bean的id值。4、如果这个Bean实现了BeanFactoryAware接口的话,会调...

2019-12-15 21:50:32 791

原创 面试题:synchronized和lock有什么区别?用新的lock有什么好处?

回答:1.原始构成synchronized是关键字,属于jvm层面。monitorenter,monitorexit(底层是通过monitor对象来完成,其实wait/notify等方法也依赖于monitor对象,只有在同步块或者方法中才能调wait/notify等方法)lock是具体类,是api层面的锁2.使用方法synchronized不需要用户去手动加锁,当synchronize...

2019-11-29 17:50:47 374

原创 数据库主从同步的作用是什么,如何解决数据不一致问题?

Redis是一种高性能的内存数据库;而MySQL是基于磁盘文件的关系型数据库,相比于Redis来说,读取速度会慢一些,但是功能强大,可以用于存储持久化的数据。在实际工作中,我们常常将Redis作为缓存与...

2019-11-29 17:43:04 8795 2

原创 面试题:讲一下你对volatile关键字的理解?

回答:在讲volatile关键字之前,我需要先讲讲java的内存模型,我们的java的变量都存储在主内存当中,每当有一个线程需要读取内存中的变量的时候,java虚拟机会将主内存中的变量拷贝一份放入线程的工作内存中,多个线程之间并不可见,如果我们要保证可见性,就得使用volatile关键字,volatile可以保证变量的可见性,通过通知的方式让其他线程可见,但volatile并不保证变量的原子性,如...

2019-11-24 17:33:11 1460

原创 面试题:ES和Solr的区别是什么?

es和solr都是基于lucence框架的分词技术的倒排索引进行实现的高性能的搜索引擎框架。Solr 2004年诞生(当时是Solar)。ElasticSearch 2010年诞生。ES更加新。当单纯的对已有的数据进行检索的话,Solr的性能优于es。当实时建立索引的时候,Solr会进行io阻塞,查询性能较差,而es不会。随着数据量的增加,Solr的搜索效率变低,而es没有太多变化。...

2019-11-22 15:32:20 1820

转载 深入计算机组成原理(二十七)SIMD:如何加速矩阵乘法

上一讲,我们讲解了CPU里的黑科技,超标量技术和超长指令字技术。超标量技术能够让取指令以及指令译码也并行进行;在编译的过程,超长指令字技术可以搞定指令前后的依赖关系,使得一次可以取一个指令包。不过,CPU里的各种神奇的优化我们还远远没有说完。这一讲里,我们讲一讲最后两个提升CPU性能的架构设计。它们分别是,超线程技术以及可能没有那么熟悉的单指令多数据流技术。超线程:Intel多卖给你的那一倍...

2019-09-22 10:50:49 4040 7

转载 深入计算机组成原理(二十六)Superscalar和VLIW:如何让CPU的吞吐率超过1?

我们先回顾一下第四讲,不知道你是否还记得这个公式: 程序的 CPU 执行时间 = 指令数 × CPI × Clock Cycle Time这个公式里,有一个叫CPI的指标。我们知道,CPI的倒数,又叫做IPC(Instruction Per Clock),也就是一个时钟周期里面能够执行的指令数,代表了CPU的吞吐率。那么,这个指标,放在我们前面几节反复优化流水线架构的CPU里,能达...

2019-09-20 09:06:21 1104

原创 什么是CAS机制?如何解决ABA问题?

你知道什么是CAS机制吗?CAS和Synchronized的区别是什么?适用场景呢?

2019-08-27 16:20:17 11017 12

转载 深入计算机组成原理(二十五)冒险和预测(四):今天下雨了,明天还会下雨吗?

过去三讲,我为你介绍了结构冒险和数据冒险,以及增加资源、流水线停顿、操作数前推、乱序执行,这些解决各种“冒险”的技术方案。在结构冒险和数据冒险中,你会发现,所有的流水线停顿操作都要从指令执行阶段开始。流水线的前两个阶段,也就是取指令(IF)和指令译码(ID)的阶段,是不需要停顿的。CPU会在流水线里面直接去取下一条指令,然后进行译码。取指令和指令译码不会需要遇到任何停顿,这是基于一个假设。这个...

2019-08-17 10:55:35 1240

转载 深入计算机组成原理(二十四)冒险和预测(三):CPU里的“线程池”

过去两讲,我为你讲解了通过增加资源、停顿等待以及主动转发数据的方式,来解决结构冒险和数据冒险问题。对于结构冒险,由于限制来自于同一时钟周期不同的指令,要访问相同的硬件资源,解决方案是增加资源。对于数据冒险,由于限制来自于数据之间的各种依赖,我们可以提前把数据转发到下一个指令。但是即便综合使用这三种技术,我们仍然会遇到不得不停下整个流水线,等待前面的指令完成的情况,也就是采用流水线停顿的方案。比如...

2019-08-15 08:38:11 961

转载 深入计算机组成原理(二十三)冒险和预测(二):流水线里的接力赛

上一讲,我为你讲解了结构冒险和数据冒险,以及对应这两种冒险的两个解决方案。一种方案是增加资源,通过添加指令缓存和数据缓存,让外面对于指令和数据的访问可以同时进行。这个办法帮助CPU解决了取指令和访问数据之间的资源冲突。另一种方案是直接进行等待。通过插入NOP这样的无效指令,等待之前的指令完成。这样外面就能解决不同指令之间的数据依赖问题。第一种方案,好比在软件开发的过程中,发现效率不够,于是研发负...

2019-08-10 15:59:04 1211

转载 深入计算机组成原理(二十二)冒险和预测(一):hazard是“危”也是“机”

过去两讲,我为你讲解了流水线设计CPU所需要的基本概念。接下来,我们看看,要想通过流水线设计来提升CPU 的吞吐率,我们需要冒哪些险。任何一本讲解CPU的流水线设计的教科书,都会提到流水线设计需要解决的三大冒险,分别是结构冒险(Structural Hazard)、数据冒险(Data Hazard)以及控制冒险(Control Hazard)。这三大冒险的名字很有意思,他们都叫做hazard(...

2019-08-08 14:59:16 5200

redis-windows.rar

windows版本的redis,需要可以下载,或者去github拉,但会很慢

2021-04-22

Everything-1.4.1.1005.x64.rar

Everything-1.4.1.1005.x64.rar

2021-04-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除