- 博客(76)
- 资源 (51)
- 收藏
- 关注
原创 HotFrameLearning 热门框架学习(前言)
HotFrameLearning 热门框架学习(前言)-一、初衷 知识是共享的,知识是大家的,本人也只是尽人事,帮助能帮助的人,将知识取之于民,用之于民。 原本是想将每个点按照之前的原理分析法点点剖析,但是发现还是有点散乱,没有很好的做到一个系统的全面的囊括,因此突发奇想,弄了这么个专辑,意图将一些知识点能更好的汇聚起来,让看过的人温故而知新,让没看过的人尽量...
2018-07-01 11:18:19 506
原创 HotFrameLearning 热门框架学习(目录)
HotFrameLearning 热门框架学习-I、项目介绍-II、专辑栏目一、RedisRedis 简介Redis 环境安装配置Redis 客户端连接Redis 常用命令Redis 集群搭建Redis 分布式锁二、ZookeeperZookeeper 简介Zookeeper 环境安装配置Zookeeper 基本特性Zookee...
2018-06-30 19:56:34 470
原创 几个月后收到学习心得:通过实战场景推导出 Dubbo 核心内幕
本专栏从最简单的单体架构演进成微服务入手,从遇到的几个问题引出 Dubbo 框架,并从日常普通的实战场景引出 Dubbo 最基础的一些配置属性,然后在解决日常疑难案例场景时带出 Dubbo 高级的一些底层逻辑设计,继续带着为什么需要这样的技术支撑的灵魂拷问来深入至源码底层一探究竟,最后挑选几个大型项目中及其普遍存在的一些问题在 Dubbo 框架中又是如何巧妙应用解决的。...
2022-08-07 23:12:51 279 1
原创 原理剖析(第 013 篇)应用系统性能调优
原理剖析(第 013 篇)应用系统性能调优-一、大致介绍1. 本人接手的一个打车系统,因为出现了一次响应十分缓慢的情况,因此才有了应用调优的篇章;2、由于过程中可能没有阐述的太清楚,如想详细了解可以留言之类的,希望其中的点点滴滴对大家有所帮助;二、调优背景 在某一个月黑风高的夜晚,21点多以后,许许多多的小伙伴都相继下班了,然后大家开始习惯性的掏出自己心...
2018-09-15 16:50:57 644
原创 HotFrameLearning Redis_01_简介
HotFrameLearning Redis_01_简介-一、大致介绍1、介绍Redis之前,我有一堆的疑问,Redis是什么?有什么用?它能干什么?有什么特性?能解决我们日常的哪些问题? 为什么要用Redis?Redis好在哪里?除了Redis外还有其他替代方案么?2、对于还没了解过Redis的童鞋,可以带着这些疑问往下看,而对于了解过Redis的童鞋那就走过路过不要...
2018-07-03 00:02:51 534
原创 原理剖析(第 012 篇)Netty之无锁队列MpscUnboundedArrayQueue原理分析
原理剖析(第 012 篇)Netty之无锁队列MpscUnboundedArrayQueue原理分析-一、大致介绍1、了解过netty原理的童鞋,其实应该知道工作线程组的每个子线程都维护了一个任务队列;2、细心的童鞋会发现netty的队列是重写了队列的实现方法,覆盖了父类中的LinkedBlockingQueue队列,但是如今却换成了JCTools的一些并发队列,因为JCTools是一款对jdk并
2018-03-31 00:42:18 3742
原创 原理剖析(第 011 篇)Netty之服务端启动工作原理分析(下)
原理剖析(第 011 篇)Netty之服务端启动工作原理分析(下)-一、大致介绍1、由于篇幅过长难以发布,所以本章节接着上一节来的,上一章节为【原理剖析(第 010 篇)Netty之服务端启动工作原理分析(上)】;2、那么本章节就继续分析Netty的服务端启动,分析Netty的源码版本为:netty-netty-4.1.22.Final;二、三、四章节请看上一章节详见 原理剖析(第 010 篇)N
2018-03-25 19:07:45 503
原创 原理剖析(第 010 篇)Netty之服务端启动工作原理分析(上)
原理剖析(第 010 篇)Netty之服务端启动工作原理分析(上)-一、大致介绍1、Netty这个词,对于熟悉并发的童鞋一点都不陌生,它是一个异步事件驱动型的网络通信框架;2、使用Netty不需要我们关注过多NIO的API操作,简简单单的使用即可,非常方便,开发门槛较低;3、而且Netty也经历了各大著名框架的“摧残”,足以证明其性能高,稳定性高;4、那么本章节就来和大家分享分析一下Netty
2018-03-25 19:06:48 476
原创 原理剖析(第 009 篇)ReentrantReadWriteLock工作原理分析
原理剖析(第 009 篇)ReentrantReadWriteLock工作原理分析-一、大致介绍1、在前面章节了解了AQS和Semaphore后,想必大家已经对获取独占锁、获取共享锁有了一定的了解了;2、而JDK中有一个关于读锁写锁分离的工具类,读锁是共享锁,写锁是排他锁,也是基于AQS实现的;3、那么本章节就和大家分享分析一下JDK1.8的ReentrantReadWriteLock的工作原理
2018-03-14 23:39:08 446
原创 原理剖析(第 008 篇)CyclicBarrier工作原理分析
原理剖析(第 008 篇)CyclicBarrier工作原理分析-一、大致介绍1、在前面章节了解了CountDownLatch/Semaphore后,想必大家已经对同步器有了一定的了解了;2、而JDK中有一个关于线程之间相互等待的工具类,它是直接由独占锁ReentrantLock实现的,间接的也是基于AQS实现的;3、那么本章节就和大家分享分析一下JDK1.8的CyclicBarrier的工作原
2018-03-13 22:51:30 639
原创 原理剖析(第 007 篇)CountDownLatch工作原理分析
原理剖析(第 007 篇)CountDownLatch工作原理分析-一、大致介绍1、在前面章节了解了CAS、AQS后,想必大家已经对这块知识有了深刻的了解了;2、而JDK中有一个关于计数同步器的工具类,它也是基于AQS实现的;3、那么本章节就和大家分享分析一下JDK1.8的CountDownLatch的工作原理; 二、简单认识CountDownLatch2.1 何为CountDownLatch?
2018-03-12 16:34:36 1022
原创 原理剖析(第 006 篇)Semaphore工作原理分析
原理剖析(第 006 篇)Semaphore工作原理分析-一、大致介绍1、在前面章节了解了CAS、AQS后,想必大家已经对这块知识有了深刻的了解了;2、而JDK中有一个关于信号量的工具类,它也是基于AQS实现的,可以认为是synchronized的升级版(结尾处会讲解到);3、那么本章节就和大家分享分析一下JDK1.8的Semaphore的工作原理; 二、简单认识Semaphore2.1 何为S
2018-03-11 23:01:06 633
原创 原理剖析(第 005 篇)AQS工作原理分析
原理剖析(第 005 篇)AQS工作原理分析-一、大致介绍1、前面章节讲解了一下CAS,简单讲就是cmpxchg+lock的原子操作;2、而在谈到并发操作里面,我们不得不谈到AQS,JDK的源码里面好多并发的类都是通过Sync的内部类继承AQS而实现出五花八门的功能;3、本章节就和大家分享分析一下AQS的工作原理; 二、简单认识AQS2.1 何为AQS?1、AQS是一个抽象类,类名为Abstra
2018-03-11 23:00:08 530
原创 原理剖析(第 004 篇)CAS工作原理分析
原理剖析(第 004 篇)CAS工作原理分析-一、大致介绍1、关于多线程竞争锁方面,大家都知道有个CAS和AQS,也正是这两个东西才引申出了大量的线程安全类,锁类等功能;2、而随着现在的硬件厂商越来越高级,在硬件层面提供大量并发原语给我们Java层面的开发带来了莫大的利好;3、本章节就和大家分享分析一下CAS的工作原理;二、原理分析2.1 何为CAS?1、CAS,compare and swap
2018-03-08 12:42:58 546
原创 原理剖析(第 003 篇)ThreadPoolExecutor工作原理分析
原理剖析(第 003 篇)ThreadPoolExecutor工作原理分析-一、大致介绍1、相信大家都用过线程池,对该类ThreadPoolExecutor应该一点都不陌生了;2、我们之所以要用到线程池,线程池主要用来解决线程生命周期开销问题和资源不足问题;3、我们通过对多个任务重用线程以及控制线程池的数目可以有效防止资源不足的情况;4、本章节就着重和大家分享分析一下JDK8的ThreadPo
2018-03-07 22:11:15 430
原创 原理剖析(第 002 篇)synchronized工作原理分析
原理剖析(第 002 篇)synchronized工作原理分析-一、大致介绍1、用过synchronized的童鞋都知道这个关键字是Java中用于解决并发情况下数据的同步访问;2、保证方法或者代码块在运行时,同一时刻只有一个方法可以进入到临界区,同时它还可以保证共享变量的内存可见性;3、总的来说,其作用有三个特性:互斥性(确保线程互斥的访问同步代码)、可见性(保证共享变量的修改能够及时可见)、有
2018-03-04 22:09:02 599
原创 原理剖析(第 001 篇)Volatile工作原理分析
原理剖析(第 001 篇)Volatile工作原理分析-一、大致介绍1、用过这个关键字的童鞋都知道,都知道这个关键字很强大,主要作用是保证变量在多线程之间的可见性;2、volatile在concurrent包中起着举足轻重的作用,为大量的并发类提供了有力的援助;3、接下来我们从了解CPU缓存开始,然后再深入原理剖析,循序渐进的了解volatile;二、CPU缓存2.1 传输链路CPU(线程)
2018-02-14 23:36:46 739
原创 SpringCloud(第 057 篇)CentOS7 安装 maven 编译工具
SpringCloud(第 057 篇)CentOS7 安装 maven 编译工具-一、大致介绍1、maven 相信大家一点都不陌生,由于jenkins的需要,所以这不就来了一篇maven的安装环节;2、注意:下面的 my_host_ip 字符串,请大家换成你们自己的宿主机ip地址即可;二、安装步骤2.1 下载maven安装包// 创建存放安装包的文件夹目录[root@svr01 ~]# mkd
2018-02-10 20:11:44 516
原创 SpringCloud(第 056 篇)CentOS7 安装 jenkins 持续集成工具
SpringCloud(第 056 篇)CentOS7 安装 jenkins 持续集成工具-一、大致介绍1、jenkins 的作用相信大家也耳熟能详了,为开发过程的持续交付提供了莫大的帮助;2、本章节我们就尝试着自己安装一套持续集成工具,建立一套持续交付的平台工具;3、注意:下面的 my_host_ip 字符串,请大家换成你们自己的宿主机ip地址即可;二、安装步骤2.1 jenins 下载//
2018-02-10 20:11:05 954
原创 SpringCloud(第 055 篇)CentOS7 搭建 docker-registry 私有库及管理界面
SpringCloud(第 055 篇)CentOS7 搭建 docker-registry 私有库及管理界面-一、大致介绍1、基于前面docker的部署,容器一多非常不便于管理,于是急需一个自己的docker私有库;2、而目前市面上大多数的私有库基本上都是后台服务加前台ui构成,于是选来选去,最后选择了portainer管理界面;3、之所以选择portainer这款管理界面,我就简述阐述一下,
2018-02-10 20:09:46 713
原创 SpringCloud(第 054 篇)简单 Quartz-Cluster 微服务,采用注解配置 Quartz 分布式集群
SpringCloud(第 054 篇)简单 Quartz-Cluster 微服务,采用注解配置 Quartz 分布式集群-一、大致介绍1、因网友提到有没有采用注解式配置的Quartz例子,因此本人就贴上了这样一个样例;2、至于如何修改定时任务的 cronExpression 表达式值的话,大家可以参照之前的(第 010 篇)样子看看如何修改;3、注意:配置文件中的 mysql 数据库链接配置大家
2017-12-17 15:17:53 3264 3
原创 SpringCloud(第 053 篇)CentOS7 中用 Docker 部署一个简单的基于 Eureka 服务治理发现的项目
SpringCloud(第 053 篇)CentOS7 中用 Docker 部署一个简单的基于 Eureka 服务治理发现的项目-一、大致介绍1、纠结了一下下,这么简单的部署流程是否需要详细的贴出来,然而纠结了一下还是将这个简单的部署流程补充完整了;2、经过上节的讲解,相信大家已经对docker的命令操作都有了一定的了解,这里我就暂且默认大家都拥有了可操作的环境以及了解操作指令;
2017-12-16 12:44:07 766
原创 SpringCloud(第 052 篇)CentOS7 安装 Docker 以及常用操作命令讲解
SpringCloud(第 052 篇)CentOS7 安装 Docker 以及常用操作命令讲解-一、大致介绍本章节主要带入大家初步进入 Docker,体验一下docker的安装步骤以及操作命令。二、安装步骤2.1 Docker环境部署要求1、Docker 需要运行在 64-bit 的操作系统上并且要求Linux 内核版本不小于 3.10,OS7满足这个要求;2、其余低版本的可以使用yum upd
2017-12-15 11:08:05 1380 1
原创 SpringCloud(第 051 篇)EurekaServer集群高可用注册中心以及简单的安全认证
SpringCloud(第 051 篇)EurekaServer集群高可用注册中心以及简单的安全认证-一、大致介绍1、前面章节分析了一下 Eureka 的源码,我们是不是在里面注意到了 Peer 节点的复制,为什么要复制节点同步信息呢,其实就是为了同一个集群之间的EurekaServer一致性方案的一个实现;2、于是我们在本章节就真正的来通过代码来实现一下EurekaServer之间的高可用注册
2017-10-25 21:53:04 2264
原创 Reflect 通过反射获取自定义注解值给另外一个对象赋值
Reflect 通过反射获取自定义注解值给另外一个对象赋值-一、大致介绍1、今天刚完成这么一个功能模块,需求场景是这样的,我们需要对接许多银行的接口,我们解析银行XML报文后,根据每个银行每个接口我们会解析得到很多BankDTO;2、然后我们需要在BankDTO挑出一些必要的字段放到另外一个 ResultDTO 中去,然后将 ResultDTO 的数据入库处理;
2017-10-24 23:42:34 776 1
原创 SpringCloud(第 050 篇)Netflix Eureka 源码深入剖析(下)
SpringCloud(第 050 篇)Netflix Eureka 源码深入剖析(下)-一、大致介绍1、鉴于一些朋友的提问并提议讲解下eureka的源码分析,由此应运而产生的本章节的内容;2、所以我站在自我的理解角度试着整理了这篇Eureka源码的分析,希望对大家有所帮助;3、由于篇幅太长不能在一篇里面发布出来,所以拆分了上下篇;二、基本原理1、Eureka Server 提供服务注册服务,各
2017-10-23 21:40:58 1862 1
原创 SpringCloud(第 049 篇)Netflix Eureka 源码深入剖析(上)
SpringCloud(第 046 篇)注解式Schedule配置定时任务,不支持任务调度-一、大致介绍1、很多时候我们需要隔一定的时间去执行某个任务,为了实现这样的需求通常最普通的方式就是利用多线程来实现;2、但是有时候这个任务还真得去处理一些非常复杂非常耗时的动作,那么在SpringCloud生态圈中,Scheduled不失为一种好的解决方案;3、不过我们这里介绍的Scheduled如果部署
2017-10-22 23:04:51 1081 1
原创 SpringCloud(第 048 篇)使用AOP统一处理Web请求日志
SpringCloud(第 048 篇)使用AOP统一处理Web请求日志-一、大致介绍1、AOP是Spring框架中的一个重要内容,它通过对既有程序定义一个切入点,然后在其前后切入不同的执行内容,比如常见的有:打开数据库连接/关闭数据库连接、打开事务/关闭事务、记录日志等;2、基于AOP不会破坏原来程序逻辑,因此它可以很好的对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高
2017-10-21 14:38:56 4296
原创 SpringCloud(第 047 篇)注解式Async配置异步任务
SpringCloud(第 047 篇)注解式Async配置异步任务-一、大致介绍1、有时候我们在处理一些任务的时候,需要开启线程去异步去处理,原有逻辑继续往下执行;2、当遇到这种场景的时候,线程是可以将我们完成,然后在SpringCloud中也有这样的注解来支撑异步任务处理;二、实现步骤2.1 添加 maven 引用包<?xml version="1.0" encoding="UTF-8"?>
2017-10-21 14:38:15 4770
原创 SpringCloud(第 046 篇)注解式Schedule配置定时任务,不支持任务调度
SpringCloud(第 046 篇)注解式Schedule配置定时任务,不支持任务调度-一、大致介绍1、很多时候我们需要隔一定的时间去执行某个任务,为了实现这样的需求通常最普通的方式就是利用多线程来实现;2、但是有时候这个任务还真得去处理一些非常复杂非常耗时的动作,那么在SpringCloud生态圈中,Scheduled不失为一种好的解决方案;3、不过我们这里介绍的Scheduled如果部署
2017-10-21 14:37:35 8187
原创 SpringCloud(第 045 篇)链接Mysql数据库简单的集成Mybatis、ehcache框架采用MapperXml访问数据库
SpringCloud(第 045 篇)链接Mysql数据库简单的集成Mybatis、ehcache框架采用MapperXml访问数据库-一、大致介绍1、数据库频繁的操作也会影响性能,所以本章节准备给访问数据库前面添加一层缓存操作;2、虽然说缓存框架存在很多且各有各的优势,本章节仅仅只是为了测试缓存的操作实现,所以就采用了一个简单的缓存框架ehcache;二、实现步骤2.1 添加 maven 引用
2017-10-19 17:30:49 1351
原创 SpringCloud(第 044 篇)链接Mysql数据库简单的集成Mybatis框架采用MapperXml访问数据库
SpringCloud(第 044 篇)链接Mysql数据库简单的集成Mybatis框架采用MapperXml访问数据库-一、大致介绍1、前面章节讲解的是在方法上面添加sql语句操作,虽然说仅仅只是一种简单的操作,在测试期间可以多试试;2、但是对于复杂的操作,那种简单也仅仅只是简单的自己用用而已,复杂的还是得采用xml配置;3、因此本章节就试试采用Mybatis框架通过mapperxml进行对数
2017-10-19 17:30:09 986
原创 SpringCloud(第 043 篇)链接Mysql数据库简单的集成Mybatis框架访问数据库
SpringCloud(第 043 篇)链接Mysql数据库简单的集成Mybatis框架访问数据库-一、大致介绍1、访问数据库,自然少不了一些持久化框架,而我本身也是Mybatis框架的支持者;2、Mybatis是那种专注于sql的框架,对象映射以及输入输出都是由框架自动完成;3、因此本章节就简单小试牛刀尝试下如何使用Mybatis持久化框架进行对数据的操作;二、实现步骤2.1 添加 maven
2017-10-19 17:29:32 7038 2
原创 SpringCloud(第 042 篇)链接Mysql数据库,通过JdbcTemplate编写数据库访问,而且支持事物处理机制
SpringCloud(第 042 篇)链接Mysql数据库,通过JdbcTemplate编写数据库访问,而且支持事物处理机制-一、大致介绍1、在数据库操作中,当遇到异常时,我们最关心的是部分回滚还是整体回滚还是不理会,怎么操作怎么来;2、所以本章节就着重讲解了如何运用Transactional注解来处理事物回滚机制;3、rollbackFor 属性:抛出的异常是 rollbackFor 异常的
2017-10-19 12:54:37 2860
原创 SpringCloud(第 041 篇)链接Mysql数据库,通过JdbcTemplate编写数据库访问
SpringCloud(第 041 篇)链接Mysql数据库,通过JdbcTemplate编写数据库访问-一、大致介绍1、前面章节提到了JPA操作访问数据库,本章节我们讲解一下如何用JdbcTemplate操作访问数据库;2、使用JdbcTemplate是一个相对更底层的操作,可以直接编写sql语句操作数据,更具灵活性;3、另外配置文件中的mysql数据库配置,那么就得大家自己用自己的了哈;二、
2017-10-19 12:53:52 2785
原创 SpringCloud(第 040 篇)链接Mysql数据库,通过CrudRepository编写数据库访问
SpringCloud(第 040 篇)链接Mysql数据库,通过CrudRepository编写数据库访问-一、大致介绍1、前面章节提到了用JpaRepository访问数据库,而本章节则是用CrudRepository访问数据,那么他们之间都可以访问数据库,有啥联系呢?2、从源码我可知JpaRepository继承PagingAndSortingRepository,而PagingAndSor
2017-10-19 12:52:55 866
原创 SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问-一、大致介绍1、本章节开始讲解一下访问数据库的操作,不过其实这还不算是SpringCloud的范畴,应该说是SpringBoot的操作范畴,这些就先抛开了,我们就还是讲解数据库的操作;2、JpaRepository操作数据库访问,其实有许多同事都建议最好不要采用,因为我们平常的业务处理中并没
2017-10-19 12:52:16 1420
原创 SpringCloud(第 038 篇)idea环境热部署微服务开发
SpringCloud(第 038 篇)idea环境热部署微服务开发-一、大致介绍1、我们在开发过程中,会经常需要启动、停止微服务,而且有时候会比较频繁,需要不停的操作启停动作;2、而我们本章节主要讲解下如何在开发环境中进行热部署,这样的话可以在一定程度上专心敲代码,两耳不闻窗外事,一心只想敲代码;二、实现步骤2.1 添加 maven 引用包<?xml version="1.0" encoding
2017-10-19 12:51:18 2011
原创 SpringCloud(第 037 篇)通过bus/refresh半自动刷新ConfigClient配置
SpringCloud(第 037 篇)通过bus/refresh半自动刷新ConfigClient配置-一、大致介绍1、上章节我们讲到了手动刷新配置,但是我们假设如果微服务一多的话,那么我们是不是需要对每台服务进行手动刷新呢?2、答案肯定是不需要的,我们也可以采用 rabbitmq 消息中间件产品来增强刷新机制;
2017-10-19 12:49:43 4311
原创 SpringCloud(第 036 篇)单点手动动态刷新ConfigClient配置
SpringCloud(第 036 篇)单点手动动态刷新ConfigClient配置-一、大致介绍1、当ConfigServer启动后,假如我们新增配置内容的话,是不是要重新启动一下ConfigServer呢?2、答案肯定是不需要重新启动的,因为 SpringCloud 给我们提供了一个刷新的触发机制,这样便可以在不重新的情况下重新加载最新配置文件内容;3、这里还顺便列举下配置路径的规则:/**
2017-10-19 12:48:46 682
CustomViewDragItemDeleteDemo
2014-10-19
CustomViewPathMenu
2014-10-19
EDA课程设计报告_数字钟
2011-04-27
VHDL课程设计(数字钟)
2011-04-25
无线报警器+无线发送接收LCD显示课程设计
2011-04-22
单片机各种期末考试类型和教学大纲
2011-04-21
通信原理实验报告_基带传输系统分析_二进制键控系统分析
2011-04-21
通信原理实验_2ASK与2FSK_基带传输
2011-04-21
高频仿真报告_二极管峰值检波_MC1595模拟相乘调幅
2011-04-21
高频实验_锁相环频率解调器_压控振荡器频率调制器
2011-04-21
高频实验_模拟相乘器混频器_差分峰值鉴频器
2011-04-21
EDA实验报告_正弦信号发生器_序列检测器
2011-04-21
EDA实验报告_时序逻辑电路_组合逻辑电路
2011-04-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人