自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 探究常用设计模式(六)代理模式

代理模式是很多框架中非常重要且常用的设计模式,分为静态代理和动态代理,下面我们从一个简单的例子一起走进代理模式。需求:现在需要实现加减乘除功能新增一个功能接口interface Calculator{ int add(int a ,int b); int sub(int a ,int b); int mul(int a ,int b); int div(int a ,int b); }实现功能class MyCalcula

2021-09-13 11:15:21 102

原创 一图带你理解JVM类加载过程

看图说话,类的加载->创建对象->垃圾回收流程图相关资料JVM 关于对象分配在堆、栈、TLAB的理解

2021-07-25 22:07:34 133

原创 探究常用设计模式(六)策略模式

要义:一个类的行为或其算法可以在运行时更改。就好比坦克大战里面吃道具,吃一个道具,便可以在本身基础上增强自身“装备”。有点像装饰器模式呀,其实他们还是有本质区别的,策略模式更倾向是N选1的模式,也即根据条件选择相应的算法,但各种算法是互斥的,装饰模式是在主体逻辑的基础上的附加逻辑,另外,策略模式是不需要与组件有相同的接口的,装饰模式需要装饰器与组件有相同的接口。下面我们来看看策略模式的实现需求:现在游戏中有数种鸟,要求实现鸟的叫,展示功能。创建两只鸟public abstract class

2021-07-15 00:30:58 133

原创 探究常用设计模式(五)适配器模式

适配器模式,简单来说就是将一个类的接口转换为客户想要的接口,适配器模式可以将原本不兼容的类一起工作,就好比下图话不多说,先来个简单的demo,服务端写一个计算类class Calc { public int add(int a, int b) { return a + b; }}//=============================================public class Test { public static void main(String[] ar

2021-07-14 00:00:22 95

原创 探究常用设计模式(四)建造者模式

建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。话不多说,上demo先构建一个电脑实体类public class Computer { private String cpu; private String gpu; private String Hd; private String RAM; public Strin

2021-07-07 01:18:39 91

原创 JVM中原始快照(Snapshot-At-The-Beginning)到底是如何实现的?

是什么docker的理念将运行的环境打包形成容器运行,运行可以伴随容器,但是我们对数据的要求是希望持久化,容器之间可以共享数据,Docker容器产生的数据,如果不通过docker commit生成新的镜像,使得数据作为容器的一部分保存下来,那么当容器被删除之后,数据也就没了,为了能够保存数据,在docker容器中使用卷。卷就是目录或者文件,存在于一个或者多个容器中,但是不属于联合文件系统,因此能够绕过Union File System提供一些用于持久化数据或共享数据的特点能干嘛?卷的设计目的就是数据的

2021-07-06 00:02:42 3104 18

原创 探究常用设计模式(三)装饰器模式

因为Java继承的存在,装饰器模式也广泛应用于java开发中,装饰器模式的出现巧妙的避开了继承类爆炸的问题,让我们的代码变得优雅~装饰器模式(Decorator Pattern)也叫作包装器模式(Wrapper Pattern),指在不改变原有对象的基础上,动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活,属于结构型设计模式。简单的说就是装饰器模式能在不改变现有对象结构的情况下,为现有对象添加新功能。玩过换装游戏吗?对,就是那种模式~关于装饰器模式,Head First

2021-07-04 11:57:07 196

原创 wget命令安装 :Package wget-1.14-18.el7_6.1.x86_64 already installed and latest version,

Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, subscription-managerThis system is not registered with an entitlement server. You can use subscription-manager to register.Repository epel is listed more than once in the conf

2021-07-03 18:42:49 744

原创 探究常用设计模式(二)原型模式

设计模式(英语 design pattern)是对面向对象设计中反复出现的问题的解决方案,学习设计模式也是深入体会面向对象魅力的过程。设计模式大致分为23种,下面,我将介绍一些常用的设计模式。原型模式原型模式,和字面意思一样,是以一个实例为原型,通过拷贝方式,创建出属性完全相同的新实例。不用原型模式时,创建一个相同属性的实例一般是这样的:public class negtive { /*==============服务端=======================*/ static

2021-07-01 22:32:38 69

原创 探究常用设计模式(一)工厂模式

设计模式(英语 design pattern)是对面向对象设计中反复出现的问题的解决方案,学习设计模式也是深入体会面向对象魅力的过程。设计模式大致分为23种,下面,我将介绍一些常用的设计模式。工厂模式工厂顾名思义就是创建产品,根据产品是具体产品还是具体工厂可分为简单工厂模式和工厂方法模式,根据工厂的抽象程度可分为工厂方法模式和抽象工厂模式。该模式用于封装和管理对象的创建,是一种创建型模式。本文从一个具体的例子逐步深入分析,来体会三种工厂模式的应用场景和利弊。不用工厂模式的代码是这样的public

2021-06-30 23:28:10 96

原创 深入理解JAVA虚拟机(一)内存管理

本博客仅做初学JVM记录自动内存管理运行时数据区域Java运行时数据区:1)程序技术器线程私有。是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来获取下一条需要执行的字节码指令,他是程序控制流程的指示器。多线程是通过线程轮流切换,分配处理器执行时间的方式来实现,在任何一个确定的时刻,一个处理器都只会执行一条线程中的指令。因此,为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,互不影响,独立存储。如果线

2021-06-24 00:42:51 55

转载 LinkedList插入数据与ArrayList性能对比

测试代码public class ListDemo { static final int N = 10000000; static long timeList(List list) { long start = System.currentTimeMillis(); for (int i = 0; i < N; i++) { list.add(0, Math.random()*1000);// 插入头部//

2021-06-06 22:09:04 995

sql server 2005 sp4补丁包

sql server 2005 sp4补丁。 sql server 2005 sp4补丁 sql server 2005 sp4补丁 希望有人能用到。

2020-09-23

空空如也

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

TA关注的人

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