最近看了一些 Spring 源码,发现源码分析的文章很多,而底层思想分析的文章比较少,这个系列文章准备总结一下Spring中给我的启示,包括设计模式思想.SOLID设计原则等,涉及一些编程的基本原则,虽然看似简单,实则"小道理.大学问". 我尽量遇到的问题谈起,再说解决方案,同时至少举两个例子. 这些方法都是基于我遇到的一些实际代码,掌握了基本思想,就可以举一反三. 让人头晕眼花的跳转 如果你通过某些培训机构的源码课,就会发现他们的老师在讲源码的时候在类之间.方法之间不停地跳,学员一脸…
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下Star哈 文章首发于我的个人博客: www.how2playlife.com 从JVM结构开始谈多态 Java 对于方法调用动态绑定的实现主要依赖于方法表,但通过类引用调用和接口引用调用的实现则有所不同.总体而言,当某个方法被调用时,JVM 首先要查找相应的常量池,得到方法的符号引用,并查找调用类的方法表以…
之前<零基础带你看Spring源码--IOC控制反转>详细讲了Spring容器的初始化和加载的原理,后面<你真的完全了解Java动态代理吗?看这篇就够了>介绍了下JDK的动态代理. 基于这两者的实现上,这次来探索下Spring的AOP原理.虽然AOP是基于Spring容器和动态代理,但不了解这两者原理也丝毫不影响理解AOP的原理实现,因为大家起码都会用. AOP,Aspect Oriented Programming,面向切面编程.在很多时候我们写一些功能的时候,不需要用到继承这么…
一篇文章,读懂Netty的高性能架构之道 Netty是由JBOSS提供的一个java开源框架,是一个高性能.异步事件驱动的NIO框架,它提供了对TCP.UDP和文件传输的支持,作为一个异步NIO框架,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener机制,用户可以方便的主动获取或者通过通知机制获得IO操作结果. 作为当前最流行的NIO框架,Netty在互联网领域.大数据分布式计算领域.游戏行业.通信行业等获得了广泛的应用,一些业界著名的开源组件也基于Netty的NIO框…
本文主要介绍分布式任务调度平台XXL-JOB(v2.1.0版本),包括功能特性.实现原理.优缺点.同类框架比较等 基本介绍 项目开发中,常常以下场景需要分布式任务调度: 同一服务多个实例的任务存在互斥时,需要统一协调 定时任务的执行需要支持高可用.监控运维.故障告警 需要统一管理和追踪各个服务节点定时任务的运行情况,以及任务属性信息,例如任务所属服务.所属责任人 因此,XXL-JOB应运而生: XXL-JOB是一个开源的轻量级分布式任务调度平台,其核心设计目标是开发迅速.学习简单.轻量级.易扩展…
作者 :潘潘 日期 :2020-11-22 事实上,对于很多Java编程人员来说,可能只需要达到从入门到上手的编程水准,就能很好的完成大部分研发工作.除非自己强主动获取,或者工作倒逼你学习,否则我们好像没必要去真正了解Java编程,或者深入研究JDK运行原理.或者在实际工作中某个模块写一套设计模式.或者纠结一个线程安全问题. 我觉得完全没必要了解,因为很多知识内容,我技术储备上仅仅点到为止,就能胜任工作,何必深入?确实,我也和有些朋友一样,8年编程生涯以来大部分时候都存在这种思想,直到某一天突然…
好文转载,版权归原作者 作为UI设计师,对待用户就像对待婴儿,知道如何通过界面设计诱导用户非常重要,这就需要了解心理学方面的知识了.今天分享一篇日本设计师的好文,结合心理学与设计,教你读懂心理学,提高说服力. 信息不要同时全部展示,阶段性地向用户展示当前场景里必要的信息 设计师经常犯的错误:同时将大量信息展示给用户. 不要一次性大量提供信息,可以在当前场景下只提供必要的信息来满足当前的需求. 如果用户中存在不需要引导的高端用户,同时也会存在需要详细说明的低端用户. 那么,是什么意思呢? ◆ 逐步…
转载自近乎: UGC(User- Generated Content)用户原创生产内容,它是相对于PGC(Professionally-produced Content)专业生产内容的一种内容来源,简单来说,由专业个人.团队针对性输出的较为权威的内容都属于PGC,例如电视节目.报纸刊物.媒体资讯 等,而你朋友圈的图文.微博.知乎的文章.唱吧音乐.秒拍的各*,大都属于UGC. UGC产品(平台)即是以普通用户自发生产内容为基础,并由此引发的人与价值内容的关联.人与人的关联.人与商业的关联,最终为U…
一 前言 写了两篇关于IL指令相关的文章,分别把值类型与引用类型在 堆与栈上的操作区别详细的写了一遍 这第三篇也是最后一篇,之所以到第三篇就结束了,是因为以我现在的层次,能理解到的都写完了,而且个人认为,重要的地方都差不多 写到了, 最后一篇决定把之前的内容全部整合起做一个综合的例子,然后简单的解释下IL指令的含义,及在内存中的变化 如果你没有看前两篇请狂点这里 读懂IL代码就这么简单 (一) 读懂IL代码就这么简单(二) IL指令大全 :IL指令详解 IL反编译工具: ILDasm 注:因本人…
一 前言 IL系列 第一篇写完后 得到高人指点,及时更正了文章中的错误,也使得我写这篇文章时更加谨慎,自己在了解相关知识点时,也更为细致.个人觉得既然做为文章写出来,就一定要保证比较高的质量,和正确率 .感谢 @冰麟轻武 的指点 你没有看第一篇?  点这里看第一篇 读懂IL代码就这么简单(一) IL指令大全 :IL指令详解 IL反编译工具: ILDasm 知识点回顾: Managed Heap(托管堆):用于存放引用类型的值 Evaluation Statck(计算栈):临时存放值类型数据,引用…