- 博客(53)
- 资源 (5)
- 收藏
- 关注
原创 11-适配器模式(Adapter)
将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能在一起工作的那些类可以一起工作。适配器模式属于结构模式。
2024-01-14 15:38:04
605
原创 07-抽象工厂
抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。抽象工厂模式提供了一种创建一系列相关或相互依赖对象的接口,而无需指定具体实现类。通过使用抽象工厂模式,可以将客户端与具体产品的创建过程解耦,使得客户端可以通过工厂接口来创建一族产品。
2023-12-15 07:16:37
555
转载 06-简单工厂模式
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。工厂模式提供了一种将对象的实例化过程封装在工厂类中的方式。通过使用工厂模式,可以将对象的创建与使用代码分离,提供一种统一的接口来创建不同类型的对象。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。
2023-12-13 23:37:54
62
原创 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
23372
31
转载 Spring事务和事务失效的场景
https://baijiahao.baidu.com/s?id=1661565712893820457&wfr=spider&for=pc
2021-08-30 20:37:05
155
原创 如何读懂火焰图,如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
1200
转载 观察者模式
一、定义在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。通俗说就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。二、结构图图中反映了观察者模式的四个角色**抽象被观察者角色:**也就是一个抽象主题,它把所有对观察者对象的引用保存在一个集合中,每个主题都可以有任意数量的观察者。抽象主题提供一个接口,可以增加和删除观察者角色。一般用一个抽象类和接口来实现。**抽象观察者角色:**为所有的具体观察者定义一个接口,在
2021-08-14 17:06:53
121
转载 阻塞io和非阻塞io在发生相应的系统调用的时候,操作系统到底发生了什么,让应用程序有不一样的反应?
https://www.zhihu.com/question/382972191
2021-08-01 17:47:49
118
转载 springboot redis 断线重连_redis主从复制
https://blog.youkuaiyun.com/weixin_39811842/article/details/111020517
2021-07-20 23:04:19
721
原创 java中什么是回调函数
大家一直觉得回调函数很抽象,最主要是大家都被“回调”这个词迷惑了,其实最简单理解就是在方法中调用通过参数传进来的其他方法,在C++中可以通过参数函数指针实现,在java中可以通过接口实现。这样的效果就是调用同一个方法,可以通过传进来的不同参数实现不同的逻辑。注意与调用者之间是否是多线程无关参考https://blog.youkuaiyun.com/cangchen/article/details/44063359...
2021-07-07 23:26:32
302
转载 从ReentrantLock的实现看AQS的原理及应用
转载美团写的:https://tech.meituan.com/2019/12/05/aqs-theory-and-apply.html
2021-06-06 22:26:22
130
转载 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
1814
原创 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
118
1
原创 jvm工具官方文档
jps、jstat、jmap、jinfo官方帮助文档https://docs.oracle.com/javase/8/docs/technotes/tools/index.html
2021-06-03 19:53:51
312
原创 强引用、软引用、弱引用、虚引用的应用
在JDK1.2版本之后,java对引用的概念进行了扩充,将引用分为强引用(Strongly Reference)、软引用(Soft Reference)、弱引用(Weak Reference)和虚引用。1、强引用强引用是最传统的“引用”的定义,是指在程序代码之中普遍存在的引用赋值,即类似“Object obj=new Object()”这种引用关系。无论任何情况下,只要强引用关系还存在,垃圾收集器就永远不会回收掉被引用的对象。2、软引用软引用是用来描述一些还有用,但非必须的对象。只被软引用关联着的对
2021-05-16 11:15:19
162
原创 java如何判断某个对象是否可回收
1、可达性分析算法Java 是通过可达性分析(Reachability Analysis)算法来判定对象是否存活的。算法基本思路:通过 一系列称为“GC Roots”的根对象作为起始节点集,从这些节点开始,根据引用关系向下搜索,搜索过 程所走过的路径称为“引用链”(Reference Chain),如果某个对象到GC Roots间没有任何引用链相连, 或者用图论的话来说就是从GC Roots到这个对象不可达时,则证明此对象是不可能再被使用的。常见被选入根对象集合(GC Roots set)的对象
2021-05-16 10:01:46
366
原创 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
171
原创 idea导入多模块的maven项目时子模块没有识别为maven项目
idea导入多模块的maven项目时子模块没有识别为maven项目原因是导入项目时没有勾选递归发现子项目的选项
2021-04-24 22:38:43
1662
转载 MySql事务隔离级别实现:MVCC与Read View
https://blog.youkuaiyun.com/SnailMann/article/details/94724197
2021-03-28 23:27:24
141
转载 MySQL执行计划extra中的using index 和 using where using index 的区别
请移步:https://www.cnblogs.com/wy123/p/7366486.html
2021-03-20 21:38:25
133
转载 MySQL中的索引下推
转载自:https://baijiahao.baidu.com/s?id=1664831035473859908&wfr=spider&for=pc索引下推用一句话总结是:索引下推是数据库检索数据过程中为减少回表次数而做的优化。首先介绍下什么是数据库回表,回表是一种数据库检索过程。通常发生在使用二级索引检索非主索引数据的过程中。举个例子:假设有上面一张表(数据库是MYSQL,存储引擎是Innodb),上面的ID字段是主键索引,age是普通索引。对比下面两条SQL语句:select
2021-03-18 14:06:10
2432
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
4555
2
转载 编译型语言和解释型语言的区别,Java属于哪种?
引言计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码。由来高级编程语言是怎么转换为机器码的?总的来说有两种方式:编译解析因此,高级语言也分为编译型语言和解析型语言区别主要区别: 编译型语言在全部完成编译后才可以在平台上运行,解析型语言是在运行期间才发生编译,前者运行速度快,后者的跨平台性好。编译型语言使用专门的编译器,针对特定的平台,将高级语言源代码一次性的编译成可被
2021-01-02 16:12:16
1412
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人