详情

全站展示位

Spring框架如何巧妙运用9种设计模式_吴师兄学算法

1.简单工厂(非23种设计模式中的一种) 实现方式: BeanFactory。Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象,但是否是在传入参数后创建还是传入参数前创建这个要根据具体情。。。

推荐

Innodb中的事务隔离级别和锁的关系_吴师兄学算法

前言 我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,可以说就是数据库对于事

【轻松一刻】生活中用过的那些高级算法知识_吴师兄学算法

打牌排序 回家过年要和小伙伴们打牌,为了显示我的逼格不一样,我不想使用 插入排序,决定带四个桶去打牌!!! 缓存 前几天去交房租,房东突然问我: 小吴呀,你是程序员,问你个问题哈,我孩子的玩具现在多起来了,弄的满屋子都是,然后他要玩什么玩具

SpringBoot事件监听的4种实现方式_吴师兄学算法

springboot进行事件监听有四种方式: 手工向ApplicationContext中添加监听器 将监听器装载入spring容器 在application.properties中配置监听器 通过@EventListener注解实现事件监

阿里二面:main 方法可以继承吗?_吴师兄学算法

main方法能重载么? main方法能被其他方法调用么? main方法可以继承么? 阿里二面:main 方法可以继承吗? 昨天,微信群里一位网友,在群里发了自己面试阿里的过程。其中一个面试,他在群里 PUA 其他网友。这道面试题就是:Jav

心灵鸡汤

哲理小故事、佛塔上的老鼠

  一只四处漂泊的老鼠在佛塔顶上安了家。

  佛塔里的生活实在是幸福极了,它既可以在各层之间随意穿越,又可以享受到丰富的供品。它甚至还享有别人所无法想象的特权,那些不为人知的秘笈,它可以随意咀嚼;人们不敢正视的佛像,它可以自由休闲,兴起之时,甚至还可以在佛像头上留些排泄物。

  每当善男信女们烧香叩头的时候,这只老鼠总是看着那令人陶醉的烟气,慢慢升起,它猛抽着鼻子,心中暗笑:“可笑的人类,膝盖竟然这样柔软,说跪就跪下了!”

  有一天,一只饿极了的野猫闯了进来,它一把将老鼠抓住。

  “你不能吃我!你应该向我跪拜!我代表着佛!”这位高贵的俘虏抗议道。

  “人们向你跪拜,只是因为你所占的位置,不是因为你!”

  野猫讥讽道,然后,它像掰开一个汉堡包那样把老鼠掰成了两半。

  【人生感悟】人生中,很多人都有得意的时候,要客观地想一想,别人对你毕恭毕敬时,是因为你自身的人格、学识,恩德,还是因为你临时所处的位置。

列表展示

主站展示位

微服务之间是如何通讯的?_吴师兄学算法

第一种:远程过程调用(Remote Procedure Invocation) 直接通过远程过程调用来访问别的service。 示例:REST、gRPC、Apache、Thrift 优点: 简单,常见。因为没有中间件代理,系统更简单 缺点:

微服务有哪些优缺点?_吴师兄学算法

优点: 独立的可扩展性,每个微服务都可以独立进行横向或纵向扩展,根据业务实际增长情况来进行 快速扩展; 独立的可升级性,每个微服务都可以独立进行服务升级、更新,不用依赖于其它服务,结合持 续集成工具可以进行持续发布,开发人员就可以独立快速完

BASE理论了解过吗?_吴师兄学算法

BASE是 Basically Available (基本可用) Soft state(软状态) Eventually consistent(最终一 致性)这几个单词的缩写,是从CAP理论发展而来的,其核心思想是:即使无法做到强一致性,但每

SOA和微服务架构有哪些区别?_吴师兄学算法

微服务是在SOA的基础上发展而来,从粒度上来说,微服务的粒度要比SOA更细. 微服务由于粒度更细,所以微服务架构的耦合度相对于SOA架构的耦合度更低. 微服务的服务规模相较于SOA一般要更大,所能承载的并发量也更高.

说下进程的状态_吴师兄学算法

就绪:进程已处于准备好运行的状态,即进程已分配到除CPU外的所有必要资源后,只要再获 得CPU,便可立即执行 执行:进程已经获得CPU,程序正在执行状态 阻塞:正在执行的进程由于发生某事件(如I/O请求、申请缓冲区失败等)暂时无法继续执行

创建线程有哪些方式?_吴师兄学算法

1)继承Thread类创建线程类 2)通过Runnable接口创建线程类 3)通过Callable和Future创建线程 4)通过线程池创建

Eureka的基本架构是什么?_吴师兄学算法

Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务注册和发现(请对比 Zookeeper)。 Eureka 采用了 C-S 的设计架构。Eureka Server 作为服务注册功能的服务器,它是服务注

什么是 Eureka服务注册与发现?_吴师兄学算法

Eureka是Netflix的一个子模块,也是核心模块之一。Eureka是一个基于REST的服务,用于 定位服务,以实现云端中间层服务发现和故障转移。服务注册与发现对于微服务架构来说是非 常重要的,有了服务发现与注册,只需要使用服务的标识符

“伪共享”出现的原因是什么?_吴师兄学算法

因为CPU缓存和内存交换数据的单位是缓存行,而同一个缓存行里的多个变量不能同时被多个 线程修改。

线程池的优点?_吴师兄学算法

1)重用存在的线程,减少对象创建销毁的开销。 2)可有效的控制最大并发线程数,提高系统资源的使用率,同时避免过多资源竞争,避免堵 塞。 3)提供定时执行、定期执行、单线程、并发数控制等功能。

Spring Cloud 解决了哪些问题?_吴师兄学算法

与分布式系统相关的复杂性 – 包括网络问题,延迟开销,带宽问题,安全问题。 处理服务发现的能力 – 服务发现允许集群中的进程和服务找到彼此并进行通信。 解决冗余问题 – 冗余问题经常发生在分布式系统中。 负载平衡 – 改进跨多个计算资源(例

什么是悲观锁?什么是乐观锁?_吴师兄学算法

当我们要对一个数据库中的一条数据进行修改的时候,为了避免同时被其他人修改,最好的办 法就是直接对该数据进行加锁以防止并发。 这种借助数据库锁机制在修改数据之前先锁定,再修改的方式被称之为悲观并发控制(又名 “悲观锁”,Pessimistic

并发编程三要素?_吴师兄学算法

1)原子性 原子性指的是一个或者多个操作,要么全部执行并且在执行的过程中不被其他操作打断,要么 就全部都不执行。 2)可见性 可见性指多个线程操作一个共享变量时,其中一个线程对变量进行修改后,其他线程可以立即 看到修改的结果。 3)有序性

Redis中的热key怎么处理?_吴师兄学算法

1、对热key进行分散处理。比如:在key上加上不同的前后缀,缓存多个key,使得各个key分 散到不同的节点上。 2、采用多级缓存。

使用位运算处理一道难题:获取所有钥匙的最短路径_吴师兄学算法

点击蓝色“五分钟学算法”关注我哟 加个“星标”,天天中午 12:15,一起学算法 作者 | P.yh 来源 | 五分钟学算法 今天分享的题目来源于 LeetCode 第 864 号问题:获取所有钥匙的最短路径。题目难度为 Hard,如果不借

LeetCode 第 199 号问题:二叉树的右视图_吴师兄学算法

本文首发于公众号「五分钟学算法」,是图解 LeetCode 系列文章之一。 个人网站:,目前通过

说说Tomcat 组成与工作原理_吴师兄学算法

Tomcat是什么 开源的 Java Web 应用服务器,实现了 Java EE(Java Platform Enterprise Edition)的部 分技术规范,比如 Java Servlet、Java Server Page、JSTL

你还在为 TCP 重传、滑动窗口、流量控制、拥塞控制发愁吗?看完图解就不愁了_吴师兄学算法

每日一句英语学习,每天进步一点点: 前言 前一篇「硬不硬你说了算!近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题」得到了很多读者的认可,在此特别感谢你们的认可,大家都暖暖的。 来了,今天又来图解 TCP 了,小林可能会迟到,

LeetCode 例题精讲 | 18 前缀和:空间换时间的技巧_吴师兄学算法

本文将教会你「前缀和」的算法套路,做出以下 LeetCode 例题: LeetCode 724. Find Pivot Index(Easy) LeetCode 560. Subarray Sum Equals K 和为K的子数组(Medi

计算机网络太难?了解这一篇就够了_吴师兄学算法

计算机网络、计算机操作系统这两个“兄弟”是所有开发岗位都需要“结拜”的,不管你是 Java、C++还是测试。对于后端开发的童鞋来说,计算机网络的重要性不亚于语言基础,毕竟平时开发经常会和网络打交道,比如:抓个包等等。所以对这一块知识点的准备

博客寄语:

    博主很懒什么都没留下!

实时播报:

博客号-学习成长

相信每一分耕耘都有每一分收获,致力帮助博客主所创作的博客能更快的被收录! 如果有其它需求,可联系下方邮箱。