自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 2021-11-10:如何从spring容器中获取想要的bean

如何从spring容器中获取想要的beanstep1step2step3step4 step1 自定义类实现org.springframework.context.ApplicationContextAware这个接口。 step2 给自定义类添加@Component注解,交给spring管理。 step3 定义静态的ApplicationContext ,实现setApplicationContext方法。 private static ApplicationContext context; @Overr

2021-11-10 09:48:46 199

原创 Java的深拷贝和浅拷贝

好久没有写博客了感觉自己好多的知识点都有点模糊了哎! 最近几天在看alibaba的cloud,也不知道怎么的就想起了Java中的GC又联想到Java的传递方式(值传递,引用传递),在后来就到了对象的copy,对象的copy一般通过Object类的clone()方法来实现,而想要实现这个方法有两个必要条件。 1.要继承Object类 我们的所有类默认继承Object类。 2.实现Cloneable接口 Cloneable接口实际上相当与一个标记,用来告诉编译器这个类可以调用Object的clone()方法,

2020-12-06 21:50:09 202

原创 数据库连接池实现原理

一. 数据库连接池的实现原理 当访问数据库时需要创建数据库连接,当对数据库操作结束时会释放数据库资源接触连接,当对数据库进行频繁操作时会将cpu资源大量的运用到数据库的连接和释放,从而浪费了计算机资源,线程池就解决了频繁的连接与释放。 要想实现数据库连接池就需要在对数据库操作结束时不立刻释放连接,而是处于等待状态,当有新的数据库操作时,获取这个连接进行数据库的操作。 实现原理很简单,对数据库连接进...

2020-04-24 18:29:20 639

原创 SQL(内联、外联、左联、右联、全联)

sql查询内联:select * from 左表 inner join 右表 where 查询条件 查询结果:只有两个表都匹配的数据才会查找出来 sql查询左(外)联:select * from 左表 left join 右表 where 查询条件 查询结果:左表数据全部显示,和右表不匹配的数据全置为空 sql查询右(外)联:select * from 左表 right join 右表 ...

2020-04-21 11:39:36 2153

原创 Spring 记录一

再使用Spring框架时如果Service接口有多个实现类的话,如何指定具体的那个实现类有如下几个方法: 1…在Controller中注入时可以使用@Resource(type = 类名.class)来指定你要注入的是哪一个具体的实现类。 2.在Service的Impl具体实现类里指定名称:如@Service(“名称”)。 3.在Controller中注入service使使用@Autowired自...

2020-03-27 09:46:22 132

原创 Zookeeper+kafka搭建+验证

一. Zookeeper主要用来协调kafka的各个Broker,不仅实现Broker的负载均衡,而且增加了Broker或者某个Broker故障了,Zookeeper将会通知生产者和消费者,这可以保证整个系统正常运转。 二.JDK配置 1. Zookeeper和kafka都依赖于JDK因此首先需要在服务器上安装JDK,在官网下载或者百度下载JDK8.linux版本的压缩包。 2. 将下载好的压缩到...

2020-03-24 17:57:54 616

原创 MySQL学习四

俩表的连接 内连接:仅显示符合条件的记录 select 属性 from 表名1 inner join 表名2 on 连接条件 外连接分为 左外连接:左表中的全部和右表中符合条件的,不符合的为null 右外连接:右表中的全部和左表中符合条件的,不符合的为null 多表连接 和两张表连接类似 select 属性 from 表名1 inner join 表名2 on 连接条件 inner join ...

2020-01-02 15:08:58 148

原创 数据库学习三

数据类型 TINYINT 有符号值:-128到127 无符号值:0到255 SMALLINT 有符号值:-32768到32767 无符号值:0到65535 MEDIUMINT 有符号值:-838868到8388607 无符号值:0到16777215 INT 有符号值:-2147483648到2147483647 无符号值:0到4294967295 BIGINT ...

2019-12-24 17:58:07 150

原创 MySQL学习二

关键字与函数名称全部大写 数据库名称,表名称,字段名称全部小写 SQL语句必须以分号结尾 显示数据库编码方式 SHOW CREATE DATABASE 数据库名称 数据库修改 ALTER DATABASE 数据库名称 CHARACTER SET= 编码方式(utf8) 数据库的删除 DROP DATABASE IF EXISTS 数据库名称 ; 显示错误信息 SHOW WARNINGS; ...

2019-12-23 15:56:55 105

原创 MySQL学习一

启动MySQL net start MySQL 关闭MySQL net stop MySQL 登录MySQL MySQL -u 用户名 -p 密码 MySQL退出 exit quit \q MySQL修改提示符 MySQL -u 用户名 -p 密码 --prompt 提示符 prompt 提示符 \D 完整的日期 \d 当前数据库 \h 服务器名称 \u 当前用户 ...

2019-12-21 13:37:38 114

原创 欧拉回路

从一个点出发,沿着边行走,经过每一条边回到出发点。 对于无向联通图 每个点的度是偶数,图存在欧拉回路 算法 1,回溯 2,Fleury 3,Hierholzer:使用两个栈,curpath:当前位置 loop: ...

2019-11-10 11:24:17 114

原创 哈密尔顿回路和哈密尔顿路径

哈密尔顿回路:从一个点出发,沿着边行走,经过每个顶点恰好一次,之后再回到出发点 旅行推销员问题(Travelling Salesman Problem ,TSP) 带权图,完全图 NP难问题,指数级问题 ...

2019-11-10 09:27:00 2054

原创 BFS遍历树和DFS遍历树(寻找桥)

DFS遍历树可以找到后向边(找到祖先节点) BFS遍历树不能找到后向边(找不到祖先节点)

2019-11-09 11:23:00 480

原创 Mybatis的#{}占位符和¥{}拼接符的区别

#{}占位符:占位 如果传入的基本数据类型,那么#{}中的变量名称可以随意写 如果传入的参数是POJO类型,那么#{}中的变量名称必须是POJO中的属性 {}拼接符:字符串原样拼接如果传入的是基本数据类型,那么{}拼接符:字符串原样拼接 如果传入的是基本数据类型,那么{}拼接符:字符串原样拼接如果传入的是基本数据类型,那么{}中的变量名必须是value 如果传入的参数是POJO类型,那么${}中的...

2019-08-26 10:39:26 1204

原创 Spring IOC

1.背景 由于类与类之间存在复杂的依赖关系,当需要更改业务逻辑时会造成,牵一发而动全身的情形,因此引入了控制反转IOC(Inversion of Control)别名依赖注入 DI(Dependency Injection)来解除类与类之间的耦合 2.IOC解耦过程 IOC相当于一个第三方容器,用来调度类与类之间的联系,之前的类与类之间的链接交给IOC进行管理,当一个类需要调用另一个类的对象时,...

2019-08-26 10:26:20 148

原创 Struts框架

@Struts框架TOC 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设...

2019-08-13 15:08:29 119

翻译 String,StringBuilder,StringBuffer,三者关系

String:是字符串常量,一旦创建不能被修改。 StringBuilder:是字符串变量,可以被修改。 StringBuffer: 是字符串变量,可以被修改。 就执行速度而言:StringBuilder>StringBuffer>String 。 StringBuilder属于非线程安全,用于单线程。 StringBuffer属于线程安全,可用于多线程。 ...

2019-07-01 12:23:54 153

原创 抽象工厂模式

抽象工厂模式和工厂模式基本相同工厂模式是只生产一类产品,而抽象工厂模式是生产多类产品,当需要增加一类产品时只需要定义一个接口,使子类去实现这个接口,在工厂接口中添加该产品的实例化对象的抽象方法就行。 ...

2019-06-28 17:43:54 117

原创 简单工厂模式与工厂方法模式模式的差异

简单工厂模式 简单工厂定义一个总的产品工厂里面生产各种产品的实例化对象,当增加或者减少商品类型时就需要去对工厂进行修改,这样违背了OCP(开放封闭原则)。 工厂方法模式 在简单工厂模式下进行修改,把工厂设置为一个接口,里面定义一个对象实例化的抽象方法,产品类只需要去实现工厂接口覆写这个方法就好,当需要增加或减少时,只需要创建相应的类去实现工厂接口就可以了,遵循了OCP原则。 ...

2019-06-28 16:47:20 160

原创 接口的定义与使用

接口 接口与抽象类相比 一个普通类只能继承一个抽象类但却可以实现多个接口,接口中可以实现,抽象方法,全局变量(一般不使用),接口与抽象类都不能自身创建对象,需要子类去实例化对象 接口中只允许使用public权限,抽象类不做要求,但加有abstract 关键字的不能使用private权限, 接口的使用 接口一般只提供抽象方法,很少在接口中提供全局变量; 阿里编码规约:接口中的方法和属性不要加任何修饰...

2019-06-28 11:29:00 392

原创 模板模式

模板方法模式 定义一个抽象类,把功能相同的在抽象类中进行方法定义,把具有相似功能的方法块设置成抽象方法,在子类中具体实现,最后在抽象类中定义一个算法的骨架。 ...

2019-06-28 10:56:19 88

空空如也

空空如也

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

TA关注的人

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