自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(602)
  • 资源 (11)
  • 收藏
  • 关注

原创 深入理解:设计模式中的七大设计原则

文章目录深入理解:设计模式中的七大原则一、单一原则二、开闭原则(目标)三、里氏代换原则(基础)四、依赖倒转原则(手段)五、接口隔离原则六、合成复用原则七、迪米特法则深入理解:设计模式中的七大原则一、单一原则概念理解: 1个类只负责一个功能领域中的相应职责。二、开闭原则(目标)概念理解: 抽象是开闭原则的关键。怎么做: 面向接口、抽象类机制编程三、里氏代换原则(基础)概念理解: 开闭原则的最重要实现方式之一;所有引用基类的地方必须能透明的使用其子类的对象).怎么做:1.设计时: 将父

2020-06-07 19:33:11 339

原创 springboot2原理实战(20)--微服务自己实现注册发现,负载均衡小demo

文章目录概要服务端代码地址:客户端代码地址:概要之前了解了很多的springboot的基础知识,现在实战下,做个微服务,什么是微服务呢?就是按业务拆分模块,然后模块间通过restful或者rpc调用。本文主要写①一个服务端,一个客户端,服务端写个接口,客户端通过restful查询。②加个注册中心:服务端把注册地址到给zookeeper,客户端通过zookeeper查询数据③多个服务...

2020-03-24 14:40:26 259

原创 springboot2原理实战(19)--日志配置

本文主要来了解下springboot2的日志配置...

2020-03-24 09:02:37 748

原创 springboot2原理实战(18)--自定义starter

文章目录目录一、写个starter二、项目中如何使用自定义的starter1.@Enable*方式启动自定义starter①写个注解:通过import注入自定义的starter的注入②.入口中启动自动配置redis的starter注解并测试2.META/INF的factories.properties配置方式使用starter:①配置starter②入口中测试目录本文学习下如何在springb...

2020-03-23 15:51:40 384

原创 springboot2原理实战(17)--aop开发必知必会

文章目录目录一、使用aop小demo认识开发流程二、了解springboot的代理和切换代理操作三、使用aop获取切面参数四、EnableAspectJAutoProxy目录本文的主要内容如下:一、使用aop小demo认识开发流程二、了解springboot的代理和切换代理操作三、使用aop获取切面参数四、EnableAspectJAutoProxy个人微信公号:搜索: 怒放d...

2020-03-23 14:05:52 508

原创 springboot2原理实战(16)--jdbc数据源和事务

文章目录目录:一、jdbc操作mysql1.加入数据库驱动2.加入配置在application.properties3.测试是否加入数据源3.测试mysql的新增数据二、数据源切换:1.springboot内置的数据源和默认的数据源是什么:2.springboot切换内置的数据源:方式1:jar包+配置文件配置实现方式2:通过排除+jar包2.配置自己的的数据源 阿里的druid。1)添加jar包...

2020-03-23 11:32:06 566

原创 springboot原理实战(15)--springboot优化和定制tomcat

文章目录目录一、配置方式:二、代码方式定制tomcat容器的2种方式1.实现WebServerFactoryCustomizer接口,并把实现类纳入到spring容器中管理2. 配置类中装配一个WebServerFactoryCustomizer对象方式3.定制的原理:目录本文主要是学习下springboot内置的tomcat的相关配置,通过配置文件或者代码方式来调优定制tomcat。概要如下...

2020-03-23 08:58:34 774

原创 springboot原理实战(14)--springbootweb

文章目录目录:第一部分:一、请求method二、传递参数的3种方式1.RequestParam2.url方式 @PathVariable3.HttpServletRequest方式三、@RestController四、springboot的数据渲染到jsp页面1.配置文件:2.加入 tomcat-embed-jasper的依赖3.测试:五、springboot渲染数据到freemarker页面:1...

2020-03-23 05:51:53 260

原创 springboot原理实战(13)--运行流程分析

文章目录运行流程:运行流程:1.判断是否是web环境2.加载所有classpath下面的META-IINF/spring.factories --ApplicaionContextInitializer3.加载所有classpath下面的META-INF/spring.factories-ApplicationListener4.推断main方法所在的类5.开始执行run方法6.设...

2020-03-22 15:07:35 233

原创 springboot原理实战(12)--扫描包,banner,配置属性默认值的3种方式

文章目录目录概要:一、SpringBootApplication扫描包:①添加扫描包②排除指定的类,配置类二、启动banner相关目录概要:本文是springoot的扩展分析补充,主要了解一些springboot扫码包,排除包,banner设置,和配置默认属性这3方面的知识。脑图:一、SpringBootApplication扫描包:有几个属性:exclude根据类排除扫描的类...

2020-03-17 15:33:20 1170

原创 springboot原理实战(11) -- springboot扩展分析CommandLineRunner

文章目录目录一、ApplicationContextInitializer①使用步骤:②注册方法3种:演示 1.app.addInitializers方式演示 2:通过配置项context.initializer.classes指定3.spring.factories机制(注册listener监听器也可以使用这种方式)二、CommandLineRunner①使用步骤:三、ApplicationR...

2020-03-17 14:42:44 576

原创 springboot实战原理(10)--配置事件监听的4种方式和原理

文章目录目录:目录:

2020-03-16 11:40:32 1666 1

原创 springboot原理实战(9)--@EnableAutoConfigration注解使用和原理

文章目录目录:一、@EnableAutoConfigration原理概要:二、手动添加自动配置类项加载bean演示配置·spring.boot.enableautoconfiguration`来增加bean到spring容器中:三、禁用自动配置功能四、排除自动配置项的2种方式根据类也可以按照类名:五、springboot提供的自动配置项有哪些六、GsonAutoConfiguration注解说明七...

2020-03-15 22:53:25 1187 1

原创 springboot原理实战(8)--enable前缀注解之开启特性的原理和案例

文章目录目录一、前言二、作用和案例1.@EnableConfigurationProperties2.@EnableAync实现异步方法三、enable*等注解能够实现的原理1.使用import导入一个bean或者配置bean2.使用@import导入一个bean前加点自己的逻辑①.实现了ImportBeanDefinitionRegistrar接口的处理器②.实现了ImportSelector接...

2020-03-12 21:33:45 1206

原创 springboot原理实战(7)--使用Conditional实现按条件注入bean

文章目录目录一、Conditional按照条件注入bean原理二、自定义condition接口注入bean三、springboot提供的@Conditional工具类1.@ConditionalOnProperty2.@ConditionalOnClass3.@ConditionalOnBean目录本系列博客第一篇就是如何利用spring4+注解方式注入bean,在springboot中提供了...

2020-03-11 16:07:27 292

原创 springboot原理实战(6)--配置文件注入集合,动态注入,切换profile环境

文章目录目录一、配置文件后缀的2种方式二、配置文件属性注入扩展:集合和数组三、EnvironmentPostProcessor 动态加载配置文件四、指定多个profile①硬编码编程方式:②参数方式:在启动参数中配置:bean注入的时候: 方法或者类上添加@Profile目录本篇文章是上篇文章的补充,主要内容概要如下:一、配置文件后缀的2种方式配置文件有2种*.properties和*...

2020-03-11 13:27:34 1176

原创 springboot原理实战(5)-配置文件操作

文章目录

2020-03-11 09:35:09 158

原创 springboot原理实战(4)-springboot入口分析

文章目录目录一、环境搭建2种方式①继承父组件②第2种引入方式:2.@SpringBootApplication注解分析案例1:入口替换为@ComponentScan案例2:@SpringBootConfiguration替换@Configuration三、两种启动方式①默认的静态方法运行②new SpringApplication()方式启动目录从现在开始进入springboot项目入门,先来...

2020-03-10 14:58:48 579

原创 springboot原理实战(3)-- spring扩展接口BeanPostProcessor,BeanFactoryPostProcessor

文章目录目录:1.BeanPostProcessor2.MyBeanFactoryPostProcessor3.BeanDefinitionRegistryPostProcessor扩展:也可以用AnnotationConfigApplicationContext注入目录:入门springboot前,先了解spring的下面这三个接口扩展,很有必要。先看下脑图:1.BeanPostPro...

2020-03-10 13:19:18 1206

原创 springboot原理实战(2)-- applicationContext获取的3种方式和原理

文章目录目录方式1:@Autowire方式2:构造方法方式3:实现ApplicationContextAware1.获取方式demo2.获取原理实现BeanPostProcessor接口①BeanPostProcessor是啥?有啥用?②利用BeanPostProcessor做个代理对象的小demo②方式3通过BeanPostProcessor就获取applcationContext具体做法:方式...

2020-03-10 09:45:25 2322

原创 springboot原理实战(1)--注解方式装配bean

文章目录1.Configurable2.@Beana.@bean注入b.通过工厂方式注入①官方提供,实现FactoryBean方式②自定义工厂方式3.初始化bean前后做一些事情:1)方式1:实现InitializingBean(初始化后触发), DisposableBean(销毁的时候触发)2)方式2:根据@Bean注解属性配置:3)方式3:@PostContruct4.组件注入方式①普通组件@...

2020-03-09 14:59:44 673

原创 数据结构(8) -- 算法应用实例

文章目录1.最大子列和问题算法1:算法2:算法3:算法4,在线处理:总结:1.最大子列和问题算法1:public class Demo5 { static int[] list = {-2, 11, -4, 13, -5, -2}; //算法1: public static int maxSubseqSum1(int[] list) { int l...

2020-02-16 20:24:32 268

原创 数据结构(7)--复杂度的渐进表示法

文章目录渐进表示法不同级别函数的表现渐进分析小窍门渐进表示法不同级别函数的表现渐进分析小窍门完

2020-02-08 22:26:51 467

原创 数据结构(6)--什么是好的算法

算法复杂度例子1: 打印1--N递归方式打印循环方式例子2: 求不定多项式什么是好的算法例子1: 打印1–N递归方式打印循环方式例子2: 求不定多项式什么是好的算法完...

2020-02-08 12:39:15 286

原创 数据结构(5) -- 算法的定义

算法的定义案例:选择排序案例:选择排序第一趟比较:程序将记录定位在数组的第一个位置,拿第一个数据与后面的每个数据对比,用一个变量mix记录比第一个数小的数据的索引,通过比较不断更新mix,最后得到整个数组中最小的元素的索引,将第一个数与第mix个数交换,则最小数位于数组的其实位置了第二趟比较:程序将记录定位在数组的第二个位置,拿第二个数据与后面的每个数据对比,得到从第二个数据开...

2020-02-07 22:41:31 180

原创 数据结构(4) -- 抽象数据类型

文章目录到底什么是数据结构抽象数据类型例子: 矩阵的抽象数据类型定义到底什么是数据结构数据对象在计算机的组织方式数据对象必定与一系列加载其上的操作相关联完成这项操作所用的方法就是算法抽象数据类型例子: 矩阵的抽象数据类型定义类型名称: 矩阵(Matrix)完...

2020-02-07 19:46:51 472

原创 数据结构(3) -- 关于算法效率

关于算法效率例子:例子:有2种写法:最容易想到的方法: //方式1: 比较low的写法 private static double getF1(int n, double[] a, double x) { int i; double p = a[0]; for (i = 1; i <= n; i++) { ...

2020-02-07 18:41:59 197

原创 数据结构(2) --关于空间使用

关于空间使用例子:例子:我们实现可以有2种方法:public class Demo1 { public static void main(String[] args) { int n = 1000; long startTime = System.currentTimeMillis(); System.out.println(star...

2020-02-07 16:13:40 196

原创 数据结构-(1) -- 关于数据组织

文章目录官方定义--没有如何在书架上摆放书操作1:新书怎么插入操作2: 怎么找到某本指定的书官方定义–没有如何在书架上摆放书图书的摆放要使得2个相关操作方便实现:操作1:新书怎么插入操作2: 怎么找到某本指定的书...

2020-02-07 15:06:50 205

原创 java并发原理实战(17) -- 重排序

文章目录重排序什么是重排序数据依赖性as-if-serial语义指令重排序分类重排序会产生什么问题happen-before概述·1)程序顺序规则:·2)监视器锁规则:·3)volatile变量规则:·4)传递性:5)start()规则:6)join()规则:锁的内存语义1.锁的释放-获取建立的happens-before关系2.锁的释放和获取的内存语义volatile内存语义1.volatile...

2020-02-06 19:26:20 329

转载 java并发原理实战(16) --jdk8新增读写锁的升级—StampedLock

文章目录StampedLock有三种读/写模式:写、读、乐观读。写。独占锁读。共享锁乐观读。方法tryOptimisticRead()转换转载:https://blog.csdn.net/panweiwei1994/article/details/78824505StampedLock是JDK1.8新增的一个锁,是对读写锁ReentrantReadWriteLock的改进。前面已经学习了Ree...

2020-02-05 14:36:45 255

转载 java并发原理实战(15)-- jdk8新增LongAdder原子性操作类原理

LongAdder原理介绍接下来进行LongAdder代码简单分析介绍LongAdder类是JDK1.8新增的一个原子性操作类。AtomicLong通过CAS算法提供了非阻塞的原子性操作,相比受用阻塞算法的同步器来说性能已经很好了,但是JDK开发组并不满足于此,因为非常搞并发的请求下AtomicLong的性能是不能让人接受的。如下AtomicLong 的incrementAndGet的代码,...

2020-02-05 11:57:39 264

原创 java并发原理实战(14)--自己实现简易web服务器

简易web服务器0.web服务器知识储备1.简易web服务器-版本12.简易web服务器版本2-多线程版3.简易web服务器版本3-访问图片资源3.简易web服务器版本3-访问外链地址测试简易web服务器-版本4-连接池版0.web服务器知识储备web服务器知识储备,了解网络编程,其实就是java的socket。如果实现网络请求,也就是服务端能够接收客户端的请求,然后服务端再对客户端进行响应。...

2020-02-04 21:17:22 344

转载 java并发原理实战(13)--线程池和Executors

线程池一. 线程池简介1. 线程池的概念:2. 线程池的工作机制3. 使用线程池的原因:二. 5种常见的线程池详解1. 线程池的返回值ExecutorService简介:2. 具体的5种常用的线程池实现如下:(返回值都是ExecutorService)①Executors.newCacheThreadPool():② Executors.newFixedThreadPool(int n):③Exe...

2020-02-04 20:09:42 235

转载 java并发原理实战(12)--同步并发容器

文章目录1.fork/join框架示例代码:2.同步容器和并发容器①同步容器:②并发容器ConcurrentHashMapCopyOnWriteArrayListCopyOnWriteArraySetBlockingQueueLinkedBlockingQueueArrayBlockingQueueDelayQueueLinkedTransferQueueSynchronousQueue1.fo...

2020-02-04 12:53:01 236

原创 java并发原理实战(11)--线程间通信

线程间通信1.线程间通信之wait notify2.通过生产者和消费者理解等待唤醒机制3. condition的使用4.简易连接池实现①wait notifyAll方式②lock condition方式5.线程之间的通信--join① 使用案例:②原理6.ThreadLocal原理和使用使用原理7.并发工具类:等待多线程完成的CountDownLatch案例: 对一个文本中的所有数字并行求和8.并...

2020-02-02 14:51:50 314

原创 java并发原理实战(10)--AQS 和公平锁分析

文章目录AQSAQS底层使用了模板方法模式ReentrantLock锁的实现分析公平锁和非公平锁公平锁FairSync非公平锁NonfairSyncReentrantLock等待队列中元素的唤醒线程安全性问题总结AQSAQS原理AQS:AbstractQuenedSynchronizer抽象的队列式同步器。是除了java自带的synchronized关键字之外的锁机制。AQS的全称为(Ab...

2020-01-29 13:12:29 451

原创 java并发原理实战(9)--手动实现一个可重入锁

文章目录自定义个锁测试:线程安全测试:是否可重入自定义个锁import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;public class MyLock implements Lock { pr...

2020-01-27 20:45:04 257

原创 java并发原理实战(8)-- lock接口使用和认识

文章目录lock接口lock的使用lock的本质ReentrantLock的调用过程锁实现(加锁)Sync.nonfairTryAcquireAbstractQueuedSynchronizer.addWaiterAbstractQueuedSynchronizer.acquireQueued解锁Lock VS Synchronizedlock接口lock的使用lock的方法:l...

2020-01-27 11:04:09 264

原创 java并发原理实战(7) -- 原子类使用和原理理解

原子类使用和原理理解使用原子类AtomicInteger原理使用原子更新基本类型原子更新数组原子更新抽象类型原子更新字段public class Sequence { private int value; public int getNext() { return value++; } public static void main...

2020-01-26 18:44:35 200

OA软件解决企业的日常管理规范化、增加企业的可控性、提高企业运转的效率的基本问题,范围涉及日常行政管理、各种事项的审批、办公资源

java实现

2022-06-28

Java内存泄漏排除工具mat

Java内存泄漏排除工具mat

2022-04-22

elasticsearch-analysis-pinyin-7.3.2.zip

elasticsearch7.3.2 拼音分词器

2021-09-02

sentinel-dashboard-1.7.0.zip

sentinel-dashboard-1.7.0.jar包,网上下载实在是慢。这个版本是比较新的,1分提供给后面需要的。算是辛苦费吧,

2020-04-13

nacos-server-1.2.1.zip

nacos官网下载慢的很啊,网上找了个源码编译了下,看到很多需要很多分哎,发布个吧 ,1分算辛苦费,这个是zip的。

2020-04-11

nacos-server-1.2.1.tar.gz

nacos官网下载慢的很啊,网上找了个源码编译了下,看到很多需要很多分哎,发布个吧 ,1分算辛苦费。

2020-04-11

sonar的环境搭建.pdf

sonar的环境搭建 1 centos7上安装mysql5.7 1.下载YUM源 (http://dev.mysql.com/downloads/repo/yum/ 2.安装mysql源 3.检查mysql源是否安装成功 4 安装MySQL 5.启动Mysql服务 6.修改root本地登录密码, 7.Sonar要求mysql必须是InnoDB存储引擎 8.设置mysql缓存参数 2 centos7虚拟机上安装mysql5.7 1.在mysql中新建一个sonarQube数据库 2.从官网下载LTS版本的sonarQuba安装包 a linux命令行下执行下载: b 解压安装并更名 3 编辑sonar配置 4.启动sonarQubeweb service 5.坑 6.Sonarweb下载汉化包 3.使用SonarQubeScanner分析代码 4.使用maven插件分析代码 方式1: 方式2(比较灵活):

2019-08-04

git-2.8.3的tar压缩包

git压缩包,因为linux上自动g下载版本很低,这里提供高点版本的下下载包

2019-01-20

tomcat9 tar.tz压缩包

1、新增HTTP/2支持和TLS虚拟主机。 2、实现当前Servlet4.0规范草案 3、BIO connectors 不再支持Windows Itanium 和 Comet 4、Tomcat 9.0设计用于运行在Java se 8及以后的版本。

2018-11-12

aes-jre1.6.jar

微信开发的实用jar报,maven上没有,特此提供下mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz

2018-09-15

log4j-1.2.11

Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

2014-10-26

空空如也

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

TA关注的人

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