自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (5)
  • 收藏
  • 关注

原创 12-桥接模式(Bridge)

将抽象部分与它的实现部分分离,使他们可以独立地变化。

2024-01-14 23:37:15 979

原创 11-适配器模式(Adapter)

将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能在一起工作的那些类可以一起工作。适配器模式属于结构模式。

2024-01-14 15:38:04 528

原创 10-单例模式(Singleton)

保证一个类只有一个实例,并提供一个访问它的全局访问点。

2024-01-07 16:47:39 631

原创 09-生成器模式(Builder)模式

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

2024-01-07 15:25:40 422

原创 设计模式-GOF对各个模式的定义

以下内容是对设计模式之父GOF的著作《设计模式——可复用面向对象软件的基础》定义的摘抄。

2023-12-17 23:57:01 1086

原创 08-工厂方法

定义一个用于创建对象的接口,让子类决定实例化哪一个类。

2023-12-17 21:18:09 481

原创 07-抽象工厂

抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。抽象工厂模式提供了一种创建一系列相关或相互依赖对象的接口,而无需指定具体实现类。通过使用抽象工厂模式,可以将客户端与具体产品的创建过程解耦,使得客户端可以通过工厂接口来创建一族产品。

2023-12-15 07:16:37 525

转载 06-简单工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。工厂模式提供了一种将对象的实例化过程封装在工厂类中的方式。通过使用工厂模式,可以将对象的创建与使用代码分离,提供一种统一的接口来创建不同类型的对象。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。

2023-12-13 23:37:54 30

原创 05-命令模式

将一个请求封装为一个对象,从而使你可用不同的请求对客户端进行参数化,对请求排队或者记录日志,以及可支持撤销的操作。

2023-12-13 07:44:44 626

原创 04-观察者模式

观察者模式其实很容易理解,应该也是日常工作中使用最多的。

2023-10-30 23:35:20 119

原创 03-装饰者模式(Decorator)

动态地给一个对象添加一些额为的职责。对此,装饰者模式比直接继承父类增加功能更加灵活。

2023-10-29 20:25:39 149

原创 02-状态模式

设计模式 状态模式

2023-08-05 16:01:39 690

原创 设计模式-01策略模式

设计模式原理,策略模式介绍

2023-07-15 18:12:36 523

原创 JAVA 开发pc端桌面软件 基于idea+javafx+maven+springboot

前言:本文只介绍IntelliJ IDEA环境下如何搭建javafx+maven+spring的开发环境和一些必要的知识点,javafx详细开发不在此范畴1 框架搭建1.1 创建一个springboot工程下一步:下一步,注意springboot要使用1.5.X的版本,推荐使用1.5.22.RELEASE:因为只搭建一个简单的框架,所以其他依赖都没选,下一步:创建完成后,pom文件添加javafx的springboot的支持库,支持库有很多,我使用的是springboot-javafx-

2022-02-13 23:26:52 15071 28

转载 Spring事务和事务失效的场景

https://baijiahao.baidu.com/s?id=1661565712893820457&wfr=spider&for=pc

2021-08-30 20:37:05 118

原创 如何读懂火焰图,如arthas生成的火焰图

推荐博客:https://www.ruanyifeng.com/blog/2017/09/flame-graph.html注意上面博客中的这个图是错的应该改为视频讲解:https://www.bilibili.com/video/BV1P4411z79c?from=search&seid=12478809737979902997

2021-08-28 22:18:22 1112

转载 观察者模式

一、定义在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。通俗说就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。二、结构图图中反映了观察者模式的四个角色**抽象被观察者角色:**也就是一个抽象主题,它把所有对观察者对象的引用保存在一个集合中,每个主题都可以有任意数量的观察者。抽象主题提供一个接口,可以增加和删除观察者角色。一般用一个抽象类和接口来实现。**抽象观察者角色:**为所有的具体观察者定义一个接口,在

2021-08-14 17:06:53 96

转载 阻塞io和非阻塞io在发生相应的系统调用的时候,操作系统到底发生了什么,让应用程序有不一样的反应?

https://www.zhihu.com/question/382972191

2021-08-01 17:47:49 84

转载 springboot redis 断线重连_redis主从复制

https://blog.csdn.net/weixin_39811842/article/details/111020517

2021-07-20 23:04:19 626

转载 UML类图中箭头和线条的含义和用法

https://www.cnblogs.com/huaxingtianxia/p/6590351.html

2021-07-17 22:02:55 160

转载 js的同步、异步、回调函数

http://www.ruanyifeng.com/blog/2014/10/event-loop.html

2021-07-08 11:36:40 98

原创 java中什么是回调函数

大家一直觉得回调函数很抽象,最主要是大家都被“回调”这个词迷惑了,其实最简单理解就是在方法中调用通过参数传进来的其他方法,在C++中可以通过参数函数指针实现,在java中可以通过接口实现。这样的效果就是调用同一个方法,可以通过传进来的不同参数实现不同的逻辑。注意与调用者之间是否是多线程无关参考https://blog.csdn.net/cangchen/article/details/44063359...

2021-07-07 23:26:32 268

转载 从ReentrantLock的实现看AQS的原理及应用

转载美团写的:https://tech.meituan.com/2019/12/05/aqs-theory-and-apply.html

2021-06-06 22:26:22 104

转载 MYSQL innodb索引 where 中条件顺序是否对查询效率有影响

转载:https://www.cnblogs.com/acode/p/7489258.html有资料说,where条件的顺序会影响查询的效率,根据的逻辑是:where条件的运行是从右到左的,将选择性强的条件放到最右边,可以先过滤掉大部分的数据(而选择性不强的条件过滤后的结果集仍然很大),在根据其它条件过滤时,需要比较的数据量就少,提高查询的效率。实践是检验真理的唯一标准实验条件:新建表test_condition,主键为id,还有两列表示姓名的name和年龄的age,数据量为10万条,年龄是

2021-06-05 23:36:28 1593

原创 centos7安装单机版redis

redis 安装单机版下载地址:http://redis.io/download安装步骤:# 安装gccyum install gcc# 把下载好的redis-5.0.3.tar.gz放在/usr/local文件夹下,并解压wget https://download.redis.io/releases/redis-5.0.12.tar.gztar xzf redis-5.0.3.tar.gzcd redis-5.0.12# 进入到解压好的redis-5.0.12目录下,进行编译与安装

2021-06-05 13:09:10 84 1

原创 jvm工具官方文档

jps、jstat、jmap、jinfo官方帮助文档https://docs.oracle.com/javase/8/docs/technotes/tools/index.html

2021-06-03 19:53:51 260

转载 G1垃圾回收器详解

https://www.jianshu.com/p/aef0f4765098

2021-05-19 09:02:12 72

原创 强引用、软引用、弱引用、虚引用的应用

在JDK1.2版本之后,java对引用的概念进行了扩充,将引用分为强引用(Strongly Reference)、软引用(Soft Reference)、弱引用(Weak Reference)和虚引用。1、强引用强引用是最传统的“引用”的定义,是指在程序代码之中普遍存在的引用赋值,即类似“Object obj=new Object()”这种引用关系。无论任何情况下,只要强引用关系还存在,垃圾收集器就永远不会回收掉被引用的对象。2、软引用软引用是用来描述一些还有用,但非必须的对象。只被软引用关联着的对

2021-05-16 11:15:19 127

原创 java如何判断某个对象是否可回收

1、可达性分析算法Java 是通过可达性分析(Reachability Analysis)算法来判定对象是否存活的。算法基本思路:通过 一系列称为“GC Roots”的根对象作为起始节点集,从这些节点开始,根据引用关系向下搜索,搜索过 程所走过的路径称为“引用链”(Reference Chain),如果某个对象到GC Roots间没有任何引用链相连, 或者用图论的话来说就是从GC Roots到这个对象不可达时,则证明此对象是不可能再被使用的。常见被选入根对象集合(GC Roots set)的对象

2021-05-16 10:01:46 304

原创 ArrayBlockingQueue源码阅读

结构打开idea,ctrl + shift + alt + u接口Queue初步定义了操作队列增删改查的方法,其中package java.util;public interface Queue<E> extends Collection<E> { //对Collection中的Add方法进行重载,向队列中插入元素,如果成功就返回true,否则抛出ILLegalStateException异常 boolean add(E e); //如果插入成功放回tr

2021-05-01 23:34:02 131

原创 idea导入多模块的maven项目时子模块没有识别为maven项目

idea导入多模块的maven项目时子模块没有识别为maven项目原因是导入项目时没有勾选递归发现子项目的选项

2021-04-24 22:38:43 1554

转载 Syncronized终极原理

Syncronized终极原理

2021-04-22 23:58:44 136

转载 ReentrantLock实现原理深入探究

https://www.cnblogs.com/xrq730/p/4979021.html

2021-04-18 16:43:03 76

转载 MySql事务隔离级别实现:MVCC与Read View

https://blog.csdn.net/SnailMann/article/details/94724197

2021-03-28 23:27:24 112

转载 MySQL执行计划extra中的using index 和 using where using index 的区别

请移步:https://www.cnblogs.com/wy123/p/7366486.html

2021-03-20 21:38:25 106

转载 MySQL中的索引下推

转载自:https://baijiahao.baidu.com/s?id=1664831035473859908&wfr=spider&for=pc索引下推用一句话总结是:索引下推是数据库检索数据过程中为减少回表次数而做的优化。首先介绍下什么是数据库回表,回表是一种数据库检索过程。通常发生在使用二级索引检索非主索引数据的过程中。举个例子:假设有上面一张表(数据库是MYSQL,存储引擎是Innodb),上面的ID字段是主键索引,age是普通索引。对比下面两条SQL语句:select

2021-03-18 14:06:10 2287 1

原创 获取单支股票历史交易数据和当前数据的免费接口 API

获取某只股票当前数据提供商:新浪:接 口 : http://hq.sinajs.cn/list={code}请求方式:GET{code}替换为股票代码,沪市股票代码加前缀sh,深市股票代码加前缀sz。示例:http://hq.sinajs.cn/list=sh601766,sz000002调用结果:var hq_str_sh601766="中国中车,6.500,6.500,6.690,6.760,6.420,6.680,6.690,166952936,1106102505.000,2706

2021-03-13 03:33:43 3681 2

原创 JVM内存模型-类加载数据流程图

2021-03-07 15:53:30 90

转载 java虚拟机栈

强烈推荐收藏:https://www.cnblogs.com/code-duck/p/13559193.html

2021-01-04 22:16:11 66

转载 编译型语言和解释型语言的区别,Java属于哪种?

引言计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码。由来高级编程语言是怎么转换为机器码的?总的来说有两种方式:编译解析因此,高级语言也分为编译型语言和解析型语言区别主要区别: 编译型语言在全部完成编译后才可以在平台上运行,解析型语言是在运行期间才发生编译,前者运行速度快,后者的跨平台性好。编译型语言使用专门的编译器,针对特定的平台,将高级语言源代码一次性的编译成可被

2021-01-02 16:12:16 886

activiti5工作流项目实战.zip

java工作流框架activiti5项目实战

2021-11-21

activiti5工作流学习资料.zip

java工作流框架activiti5学习资料

2021-11-21

7天实战集训营-带你锤碎MySQL(1).pdf

7天实战集训营-带你锤碎MySQL(1).pdf

2021-01-10

google谷歌浏览器安装包

google谷歌浏览器安装包,官方发布最新版(2021)

2021-01-10

oracle客户端sqldeveloper-20.2.0.175.1842-x64

oracle客户端sqldeveloper-20.2.0.175.1842-x64

2021-01-04

空空如也

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

TA关注的人

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