- 博客(10)
- 收藏
- 关注
原创 设计模式----策略模式
设计模式—策略模式1、定义定义了算法簇,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户2、前置知识了解策略模式需要知道以下设计原则:找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混合在一起针对接口编程,而不是针对实现编程。多用组合,少用继承前置知识到此结束。3、前置场景介绍场景:1、主管让你实现一个实现美丽的女孩、性感的女孩、温柔的女孩…此时你会你想想到先定义一个超类 girl ,分别实现子类美丽的、性感的、温柔的
2020-09-22 01:06:46
166
原创 简单的手写springmvc思路
简单的手写springmvc思路首先,做一个简单的思考,mvc的概念是什么样的。springmvc实现了一个什么样的功能(当然,咱们不能面面俱到,只是一个简单的臆想…)其次,技术上要用到什么,需要考虑哪方面的知识。最后, 整个过程是依赖servlet 来完成的。这次只探讨springmvc大致的实现过程,从请求到映射的过程。其他优秀的地方暂时不在考虑的范围之内mvcMVC是三个单词的首字母缩写,它们是Model(模型)、View(视图)和Controller(控制)。图片来源:菜鸟教
2020-09-14 15:04:56
132
原创 AbstractQueuedSynchronizer(AQS)深入分析
线程进阶1、原子操作CAS什么是原子操作原子操作是指一个或者多个不可再分割的操作。这些操作的执行顺序不能被打乱,这些步骤也不可以被切割而只执行其中的一部分(不可中断性)在Java中,我们可以通过同步锁或者CAS操作来实现原子操作.1.1 CAS操作CAS是Compare and swap的简称,这个操作是硬件级别的操作,在硬件层面保证了操作的原子性。CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。
2020-07-07 01:09:39
187
原创 java获取文件的绝对路径
获取Java当中的文件绝对路径两种情况(都必须在类路径下 src下)获取src下的文件Thread.currentThread().getContextClassLoader().getResource(“文件名”).getPath();这是一种方式获取src下的**.properties文件的Resourcebundle bundle =Resourcebundle.getBundle(“文件名”)bundle.getString(“key”)...
2020-06-25 22:28:07
887
原创 六大设计原则
单一职责原则(Single Responsibility Principle --SRP)不同的类具备不同的职责,各施其责。千万不要让一个类干的事情太多。 2. 开放封闭原则(Open Closed Principle —OCP )对扩展开放,对修改封闭当有需求改动时,尽量用继承或组合的方式来扩展类的功能(多用组合,少用继承) 3. 里氏替换原则(...
2020-01-09 11:55:18
111
原创 手写一个简单的Promise
class Promise { constructor(executorCallback) { let _that = this; // 成功执行之后的返回值 _that.value = ''; // 失败的原因 _that.reason = undefined; // 默认的状态 _...
2020-01-08 10:17:19
87
原创 手写简单的RPC——Java
RPC概述RPC,全称为Remote Procedure Call,即远程过程调用,它是一个计算机通信协议。它允许像调用本地服务一样调用远程服务。并且与语言无关的。1、实现简单的rpc步骤服务提供者,运行在服务器端,提供服务接口定义与服务实现类。服务中心,运行在服务器端,负责将本地服务发布成远程服务,管理远程服务,提供给服务消费者使用。服务消费者,运行在客户端,通过远程代理对象调用远程...
2020-01-07 22:45:05
162
原创 对于所有对象都适用的equals要求
equalsequals 通用约定不需要覆盖equals方法的情况类的每个实例本质上都是唯一的 。对于代表活动实体而不是值( value)的类来说确实如此 ,例如 Thread 。 Object 提供的 equals 实现对于这些类来说正是正确的行为 。值类:值类仅仅是一个表示值的类,例如 Integer 或者 String 。类没有必要提供“逻辑相等”( logical...
2019-11-14 17:52:05
192
转载 垃圾收集器
1、垃圾收集器概述 垃圾收集器是垃圾回收算法(标记-清除算法、复制算法、标记-整理算法、火车算法)的具体实现,不同商家、不同版本的JVM所提供的垃圾收集器可能会有很在差别,本文主要介绍HotSpot虚拟机中的垃圾收集器。1-1、垃圾收集器组合 JDK7/8后,HotSpot虚拟机所有收集器及组合(连线),如下图: ...
2018-08-20 19:28:44
148
原创 Java内存区域记录
程序计数器(Program counter Regiter)PC程序计数器是一块较小的内存空间,可以把它看做是当前线程所执行的字节码的行号指示器。字节码解释器工作就是通过它来选取下一条需要执行的字节码指令、分支、循环、跳转、异常处理、线程恢复等基础功能。Java虚拟机是多线程,所以每一条线程都有一个这样的PC,互不影响,独立存储。这类内存区域是“线程私有的”。如果执行的是Ja...
2018-08-19 19:26:18
130
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人