自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java 设计模式之TemplateMethod(模板方法模式)

模板方法模板方法思想:模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。用大白话来说:就是把重复的抽取出来,不一致的单独实现!假设我们不使用模板方法设计模式场景:(1)我们做一个电商系统中商品有一个需求(2)一个商品有多种优惠政策(3)但是不同的优惠政策在计算价格时,都有一些通用的基础计算逻辑(4)每种优惠

2021-10-10 18:33:17 107

原创 java 设计模式之Adapter(适配器模式)

适配器模式适配器思想:把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。大白话说就是原本只能支持一种方式的方法,现在要变成可以支持多种,类似于插座跟插排的意思。场景介绍:(1)假设我们做一个系统V1.0,这个系统有一个接口跟一个实现类(2)紧接着我们迭代开发V2.0时,这个系统我们定义了一个新的接口跟新的实现类(3)但是我们同时在第二版的系统中,也是要使用老接口和老实现类不用任何设计模式我们的思路是,同时保留两套代码。 /** *

2021-10-10 17:33:35 203

原创 java算法基础(一)

java算法基础(一)排序算法之选择排序对数器排序算法之冒泡排序排序算法之插入排序排序算法之选择排序选择排序是从数组中取出一个元素与其他元素挨个比较,符合条件则替换位置。 public void selectionSort(int[] array){ //如果数组长度为零或者为1都是不用排序的,直接返回 if(array.length==0 || array.length == 1){ return; } // 遍历数组 for(int i=0,i<array.leng

2021-09-20 21:41:47 280

原创 redis安装配置主从模式,主从模式下的哨兵模式

redis安装配置主从模式,主从模式下的哨兵模式redis安装redis各个版本下载的连接安装环境CentOS 7redis版本:redis-5.0.9.tar.gz将压缩包放到linux的某个目录中我这里是放到 /opt下cd /opt将压缩包解压tar -zxvf redis-5.0.9.tar.gz得到 redis-5.0.9 包cd redis-5.0.9 目录下ll执行 yum install gcc 命令接着执行 make再执行 make install P

2021-03-14 17:26:00 93 1

原创 Windows版本RocketMQ开箱即用

Windows版本RocketMQ开箱即用需要环境jdk1.8,maven,git下载地址http://rocketmq.apache.org/release_notes/release-notes-4.3.0/在Binary中点击下载将下载好的zip解压配置环境变量在我的电脑右击选择属性接着点击高级系统设置点击环境变量在系统变量中点击新建,新建一个环境变量变量名固定写成:ROCKETMQ_HOME变量值写你刚刚解压的RocketMQ的地址启动到RocketMQ文件下的

2021-01-03 13:23:24 101 1

原创 MySQL主从复制

MySQL主从复制为什么需要主从复制在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不饿能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运作做数据的热备架构的扩展,业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能什么使MySQL的主从复制MySQL 主从复制是指数据可以从一个MySQL数据服务器主节点复制到

2020-10-10 11:46:59 93

原创 linux用yum命令安装mysql5.7版

linux用yum命令安装mysql5.7版打开https://developer.aliyun.com/mirror/ 更换yum源,选择国内阿里镜像根据自己的CentOS版本选择不同的镜像执行命令 yum install wget -y改变某些文件的名称mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup执行换yum源的命令(我这里选的是CentOS-6的版本)

2020-09-17 16:18:54 320

原创 java设计模式之装饰模式

用一句话来说明白装饰模式:在不改变原有代码基础上做修饰!装饰模式的定义与特点定义: 指在不改变现有对象结构的情况下,动态地给对象增加一些职责(怎加额外的功能),它属于结构型模型特点:装饰类和被装饰类可以独立发展,而不会产生耦合(装饰类怎么改变都不会影响到被装饰类)采用装饰模式比继承更加灵活更易于扩展与维护,不会产生类爆炸情况缺点: 多层装饰会给系统带来复杂度,不易维护(装饰太多层不易定义与排查问题的源头)。尽量减少多层装饰装饰模式的结构Component抽象构件: Component是

2020-08-31 15:35:11 154

原创 JUC并发包下的AQS锁源码解析(一)

JUC并发包下的AQS锁源码解析AQS的定义谈到并发就不得不说AQS(AbstractQueuedSynchronizer)所谓的AQS翻译过来就是抽象队列同步器,是用来构建锁或者其他同步组件的基础框架,它使用了一个int成员变量来表示同步状态,通过CLH对列来完成资源获取线程的排队工作。说白了就是 采用了volatile+CAS来保证加锁解锁,用队列来完成线程的排队,用park/unpark来实现线程的等待与唤醒同步器的实现同步器主要是通过继承的方式来实现,AQS采用模板方式,让子类来继承同步器并

2020-07-25 16:17:01 105 1

原创 线程之间的通信二(面试题)

线程之间的通信二要求用线程顺序打印AaBbCc…Zz这道题一开始想到的就是sync加wait跟notify解法。这也是最经典的解法,同时也是这道题最想要的答案,但是但我们学了神奇的JUC并发包之后,解法就变得多种多样了,以下是我目前能想到的解法,分享给大家!解法一:sync加wait跟notifypublic class T01_00_sync_wait_notify { //定义两个数组,一个小写字母,一个大写字母 static char[] lowers=new char[26];

2020-07-22 09:53:46 136 1

原创 线程之间的通信(面试题)

实现一个容器,提供两个方法,add,size写两个线程,线程1添加10个元素到容器中, 线程2实现监控元素的个数,当个数到5个时,线程2给出提示并结束这是一道线程的面试题,看起来挺简单的,做起来实际上有不少小坑,是一道很有意思的面试题,目前我能想到的是大概七种解法,下面把我的解法分享给大家。你们有不一样的解法欢迎到评论区留言解法一:传统的wait and notify实现public class WithoutVolatile {//创建一个线程安全的ArrayList集合,其实在这个解法中不用

2020-07-09 14:00:12 1503 5

原创 AtomicInteger类多次调用不能保证原子性

AtomicInteger类多次调用不能保证原子性AtomicInteger是JUC下并发包的一个原子操作类,那就不得不提到原子性这个概念了原子性指的就是这个区间内是不可分割的,保证了这个区间内的执行语句是一个整体。(个人理解)原⼦(atomic)本意是“不能被进⼀步分割的最⼩粒⼦”,⽽原⼦操作(atomic operation)意为“不可被中断的⼀个或⼀系列操作”。<摘自《java并发编程的艺术》>AtomicInteger的原子性在AtomicInteger中怎么保证了原子性的

2020-07-07 10:41:59 795

原创 java 设计模式之Strategy(策略模式)

策略模式策略模式的定义策略模式(Strategy Pattern) 是一种比较简单的模式,也叫做政策模式(Policy Pattern)其定义如下:Define a family of algorithms,encapsulate each one,and make them interchangeable.(定义一组 算法,将每个算法都封装起来,并且使它们之间可以互换。)ps:摘取《设计模式之禅》这个定义非常明确,清晰的。“定义一组算法”。简单来说就是一个方法可以有多种方式来实现他,定义多种策略。

2020-06-27 13:06:18 144 1

原创 java 设计模式之Singleton(单例模式)

java 设计模式之Singleton(单例模式)单例模式饿汉模式懒汉式单例模式创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入单例模式单例设计模式是一种比较常用到的模式之一,但是项目中自己手动写的情况下很少,因为有spring的Bean工厂直接接手了,框架内实现了单例模式。单例模式创建时保证了在java程序中一个类只有一个实例对象的存在。

2020-06-22 19:21:39 140

原创 MyBatis--将查询结果进行修改操作

Mbatis–将查询结果进行修改操作Mysql–将查询结果进行修改操作为了实现老板天马行空的需求,今天发现了一个好玩的技能点,按捺不住提前分享一下!!!需求:考试系统中学生进行了不正当的操作(掉线,断网等)情况需要让改考生重新考试新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界...

2019-11-06 16:13:40 2344 1

原创 基于SSM做站内消息系统(二)

基于SSM做站内消息系统(二)java程序编写上回写的是站内信的理论知识,相信很多人看起来会很枯燥无味,其实我自己也是这么觉得的。我一直在想怎么解决这个问题!如果有什么好的建议欢迎在评论区留言。一起探讨学习~实体类的编写package com.taotao.pojo;import java.util.Date;/** * 站内信消息之消息表 * @author 盛 * */...

2019-11-03 22:04:03 777 1

原创 基于SSM做站内消息系统(一)

基于SSM做站内 消息系统(一)项目需求:后台管理人员给用户发信息与用户给后台管理人员交互这是我第一次写博客,有哪些写的不好的地方请多多指正!!!这是我亲身经历的一个需求,作为一个初入职场的攻城狮的我来说这是一个挑战!我找个各大网站,博客发现都没有我想要的答案,虽然最后还是在CSDN的大佬们的博客中找到了思路,从而把这个需求做出来了。所想把它分享出来,我总觉得有很多问题没有处理好。所以想跟大...

2019-10-26 22:41:36 1295 1

空空如也

空空如也

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

TA关注的人

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