![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 84
树叶要走风怎么挽留
六块腹肌的程序员小哥哥
展开
-
kubernetes微服务学习之k8高级概念和应用
文章目录K8s存储卷抽象Volume容器重启数据丢失的问题Petclinic微服务配置VolumeVolume存储的必要性什么是Volume存储卷?mysql pod 挂载本地hostpath存储卷k8s存储解藕PVC和PVk8s存储解藕机制pv和pvc yaml配置pvc/pv小结K8s资源请求和限额(Request/Limit)Request/limitlimit /request yaml配置K8s的Metrics Server组件Metrics Server实现流程K8s就绪探针和存活探针就绪探针和原创 2021-11-26 13:04:06 · 2112 阅读 · 1 评论 -
kubernetes微服务学习之阿里云k8s部署
文章目录学习内容将Petclinic单体解耦拆分为微服务架构petclinic微服务架构DeckerFile文件描述springcloud gateway 微服务yamlK8s部署配置文件进入dashboard页面Petclinic微服务的阿里云K8S发布部署架构Petclinic微服务配置阿里云环境配置配置本地kubectl 连接k8s集群部署configMap学习内容将Petclinic单体解耦拆分为微服务架构在阿里云部署发布微服务将Petclinic单体解耦拆分为微服务架构petclin原创 2021-10-22 22:30:48 · 1864 阅读 · 0 评论 -
Kubernetes微服务学习之Kubernetes基本概念和应用(下)
文章目录K8s内部反向代理ClusterIp Service主要学习内容内部服务如果相互访问?传统内部反向代理K8s内部反向代理ClusterIP Service 内部访问MySql Pod 配置ClusterIP Service学习小结K8S名字空间Namespace和Kube-Dns主要学习内容K8s架构部署回顾K8s名字空间抽象NamespaceNamespace相关脚本内部DNS域名服务解析流程Namespace和Dns域名解析学习小结K8s配置抽象ConfigMap主要学习内容K8s配置抽象Con原创 2021-10-13 22:21:09 · 203 阅读 · 0 评论 -
Kubernetes微服务学习之Kubernetes基本概念和应用(上)
文章目录k8s架构简介k8s Master节点与Worker节点k8s执行流程案例K8s总体架构K8s各组件作用k8s虚拟机抽象Podk8s和PodPetClinic项目模拟Pod应用Pod发布规范Pod相关指令如何访问Podpod小结K8s反向代理Service传统反向代理与K8s Service反向代理对比传统反向代理K8s NodePort Service反向代理Label和SelectorService 发布Service 发布样例规范PetClinic Service发布规范Petclinic-p原创 2021-10-12 23:06:49 · 233 阅读 · 0 评论 -
Kubernetes微服务学习之SpringCloud(PetClinic)微服务应用
文章目录spring社区版PetClinic微服务项目技术栈及架构简介PetClinic微服务Docker Compose 部署文件简析PetClinic微服务的基本功能描述Springcloud版PetClinic微服务 与 K8s版PetClinic微服务架构和技术栈差异微服务公共关注点系统架构对比技术栈差异Springcloud版PetClinic微服务 VS K8s版PetClinic微服务spring社区版PetClinic微服务项目技术栈及架构简介PetClinic微服务Docker C原创 2021-09-25 15:34:18 · 514 阅读 · 0 评论 -
进阶学习之旅-多线程之阻塞队列
阻塞队列ArrayBlockingQueueLinkedBlockingQueueDelayQueueSynchrosQueue操作方法插入元素add/offer()/put删除/获取元素remove/poll/take源码分析public class BlockingQueueDemo{ // add method /** * 将元素插入队列中 * @param e * @return */ pu原创 2021-09-22 16:43:08 · 150 阅读 · 0 评论 -
进阶学习之旅-多线程之深入concurrentHashMap
文章目录学习内容不同版本区别基本的数据结构put的实现过程源码分析源码中位运算巧妙的应用初始化tab以及sizeCtl的作用初始化tabsizeCtl的作用addCount是做什么的?CounterCell为什么基于CounterCell来计算容器大小?扩容扩容源码分析将当前的链表分为高低链,提高扩容的效率为什么可以提高扩容的效率?学习内容总结学习内容put的实现过程不同版本区别源码分析为什么使用CounterCell来计算容器大小?学习内容总结不同版本区别HashMap?Concurr原创 2021-09-14 22:09:15 · 344 阅读 · 0 评论 -
进阶学习之旅-多线程之JUC工具类原理及Semaphore使用及源码分析
文章目录学习内容Semaphore的使用停车场案例源码分析学习内容Semaphore的使用Semaphore源码分析Semaphore的使用semaphore 常用于限流的使用他使用了AQS的共享锁在使用的过程中可以通过构造参数指定公平锁还是非公平锁停车场案例/** * @PackageName: com.raven.multithreaded.concurrentutil.semaphore * @ClassName: SemaphoreTest * @Blame: rave原创 2021-09-01 20:24:03 · 200 阅读 · 0 评论 -
进阶学习之旅-多线程之JUC工具类原理及CountDownLatch、CyclicBarrier使用及源码分析
文章目录学习内容CountDownLatch的使用计数器demo模拟并发DemoCountDownLatch源码分析CountDownLatch源码分析流程图解CyclicBarrier使用CyclicBarrierDemo 模拟所有文件上传完毕后进行数据分析CyclicBarrier源码分析学习内容CountDownLatch的使用CountDownLatch源码分析CyclicBarrier的使用CyclicBarrier源码分析CountDownLatch的使用CountDownLa原创 2021-09-01 20:22:41 · 146 阅读 · 0 评论 -
进阶学习之旅-多线程之JUC工具类原理及Condition使用及源码分析
文章目录学习内容condition的使用demo案例condition同步过程AQS队列和conditon队列状态变化流程AQS队列的作用源码分析学习内容condition的使用源码分析condition的使用我们通过syncsynchronize 、wait、notify、notifAll 可以完成线程间通信,完成生产者消费者功能同样也可以通过Lock、condition(await、signal、signalAll)实现demo案例ConditionWait/** * @Pack原创 2021-09-01 20:10:05 · 194 阅读 · 0 评论 -
进阶学习之旅-多线程之深入AQS(Lock锁基本使用、ReentrantLock重入锁、AQS原理分析、AQS源码分析)
文章目录学习内容J.U.CLock的基本使用ReentrantLock(重入互斥锁)什么是重入锁?Reentrentlock 实现过程类图引用关系Lock.lock()-UML时序图基于ReentrantLock进行AQS源码分析多个线程争夺锁过程公平锁和非公平锁区别线程中断回顾ReentrantLock和Synchronized的区别学习内容了解J.U.CLock的基本使用ReentrantLock重入锁AQS原理分析AQS源码分析J.U.Cj.u.c(java.util.concur原创 2021-08-30 17:31:27 · 227 阅读 · 0 评论 -
进阶学习之旅-多线程之内存可见性的本质(volatile、JMM内存模型、Happens-Before原则)
文章目录学习内容初步认识Volitalevolatile的作用如何保证可见性可见性到底是什么?从硬件层面了解内存可见性的本质最大化的利用CPU资源CPU的高速缓存缓存一致性协议(MESI)MESI 带来的CPU阻塞问题内存屏障指令什么是JMM?java内存模型语言级别的内存屏障Happens-Before规则volatile规则程序的顺序规则传递性规则线程启动规则join规则sync 监视器锁学习内容初步认识Volitale从硬件层面了解可见性的本质什么是JMMHappens-Before规则原创 2021-08-17 16:57:49 · 233 阅读 · 0 评论 -
进阶学习之旅-多线程之Synchronized(Synchronized的使用、锁的存储、锁升级原理、wait¬ify)
文章目录1.学习收获2.学习方法3.如何保证线程安全性4.synchronized的基本使用5.锁存储以及锁升级原理?5.1锁的实现5.1.1偏向锁5.1.2轻量级锁5.1.3重量级锁5.2锁在内存中的存储5.3锁升级原理**synchronized在不同情况下使用不同的锁:**6.wait 和 notify1.学习收获学习方法如何保证线程安全性?Synchronized的基本使用锁的存储Synchronized锁的升级原理wait/notify实现线程通信2.学习方法场景->需原创 2021-08-14 20:11:08 · 230 阅读 · 0 评论 -
进阶学习之旅-多线程之多线程基础(应用场景、生命周期、中断、复位)
文章目录1.学习内容2.学习方法3.并发的发展历史3.1真空管/穿孔打卡3.2晶体管/批处理系统3.3集成电路/多道程序设计4.线程在java中的应用5.多线程的实际应用场景6.并发基础6.1 线程的声明周期6.2 线程中断6.3 线程的复位6.4中断一个处于阻塞状态的线程6.5总结1.学习内容并发编程的发展历史线程在java中的应用多线程的实际应用场景线程的生命周期线程的基本操作-启动/停止2.学习方法公式:场景->需求->解决方案->应用->原理例子:Do原创 2021-08-13 19:57:23 · 215 阅读 · 0 评论 -
进阶学习之旅之设计模式总结
文章目录1.学习目标2.内容定位3.GOF 23种设计模式简介3.1设计模式归类3.3设计模式之间的关系4.容易混淆的设计模式4.1单例模式和工厂模式4.2策略模式和工厂模式4.3策略模式和委派模式4.4模板方法模式和策略模式4.5装饰者模式和静态代理模式4.6装饰者模式和适配器模式4.7适配器模式和静态代理模式4.8适配器模式和策略模式5.spring中的常用设计模式对比1.学习目标1.了解GOF23种设计模式和设计原则,做整体认知。2.了解各设计模式之间的关联,解决设计模式混淆的问题。3.了解s原创 2021-08-09 21:12:42 · 234 阅读 · 0 评论 -
进阶学习之旅-设计模式之(装饰者模式&观察者模式)
文章目录1.课程目标2.装饰者模式2.1装饰者模式的定义2.2装饰者模式的适用场景2.3 Demo案例2.4装饰者模式和适配器模式的对比2.5源码中的装饰者模式2.6装饰者模式的优点2.7装饰者模式的缺点2.8装饰者模式和静态代理的区别3.观察者模式3.1观察者模式的定义3.2 Demo 案例社区问答案例:event事件监听案例guava3.3观察者模式的适用场景3.4观察者模式的优点3.5观察者模式的缺点3.6观察者模式在源码中的应用1.课程目标1.掌握装饰者模式的特征和应用场景。2.掌握装饰者模式原创 2021-08-08 11:33:33 · 300 阅读 · 0 评论 -
技术使用总结-旷视人脸识别-(APP中H5接入)
1.applicationserver: port: 80megvii: appKey: XXX secret: XXX # 验证通过后跳转的页面 returnUrl: https://www.pilipili.com/ # 验证后回调的接口 notifyUrl: https://www.pilipili.com/ webTitle: 代码生涯2.dto原创 2021-08-06 14:35:35 · 1403 阅读 · 0 评论 -
进阶学习之旅-设计模式之(模板模式&适配器模式)
文章目录1.课程目标2.内容定位3.模板模式3.1模板模式的定义3.2 模板模式的适用场景3.3 Demo案例**1.上课案例****2.JDBC案例**3.4源码中的模板模式应用3.5模板模式的优点3.6模板模式的缺点4.适配器模式4.1适配器模式的定义:4.2适配器模式的适用场景4.3 Demo案例**4.3.1.变压器案例****4.3.2.登录案例**1.课程目标1.学会用模板模式梳理使用工作中流程标准化的业务场景。2.通过学习适配模式,优雅地解决代码功能的兼容问题。3.了解JDK源码和sp原创 2021-08-06 11:25:20 · 441 阅读 · 0 评论 -
进阶学习之旅-设计模式之(委派模式&策略模式)
文章目录1.课程学习目标2.内容定位3.委派模式详解3.1委派模式的定义3.2 demo案例3.2.1模拟Boss指派任务给Leader 由员工完成任务执行3.2.2 模拟spring mvc dispatchServlet 根据不同的uri 执行不同的controller代码3.3 spring中的委派模式4.策略模式详解4.1策略模式的定义4.2策略模式的适用场景4.3策略模式优点4.4策略模式的缺点4.5策略模式案例Demo4.5.1模拟选购商品不同活动采用不同的优惠策略4.5.2根据不同的支付方式进原创 2021-08-01 18:23:55 · 264 阅读 · 0 评论 -
搭建spring-cloud项目并使用nacos作为注册中心
文章目录1.项目目录结构2.各模块责任及maven依赖、yml、重要注解2.0.spring-cloud-nacos2.1.raven-common2.2.raven-nacos2.3.raven-service2.4.raven-service-api3.需要注意可能会踩坑的地方:3.1.nacos config配置文件bootstrap.properties3.2.@EnableFeignClients注解 basePackages3.3.spring-cloud-starter-alibaba-nac原创 2021-07-08 21:21:08 · 739 阅读 · 2 评论 -
linux 下 安装jdk 并配置环境变量
文章目录1.下载2.解压安装包3.配置环境变量4.测试5.遇到的问题5.1 export命令找不到1.下载第一步:下载Linux环境下的jdk1.8安装包(现在在oracel官网下载安装包好像要注册~~~个人觉得有点麻烦不贴图了,不过也可以在非官网下载2.解压安装包第二步:将我们下载好的安装包上传至服务器,进行解压tar -zxvf jdk-8u131-linux-x64.tar.gz3.配置环境变量第三步: 编辑配置文件,修改环境变量vi /etc/profile<br>按原创 2021-07-02 14:59:19 · 127 阅读 · 0 评论 -
进阶学习之旅-设计模式之单例设计模式
0.单例设计模式的学习目标0.1掌握IDEA环境下的多线程调试方式0.2掌握保证线程安全的单例模式策略0.3掌握反射暴力攻击单例解决方案及原理分析0.4掌握序列化破坏单例的原理及解决方案0.5掌握常见的单例模式的写法1.单例模式的定义单例模式(Singleton Pattern) 是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。隐藏其所有的构造方法。属于创建型模式。2.单例模式的使用场景确保任何情况下都绝对只有一个实例。ServletContext、Servlet原创 2021-06-22 18:05:27 · 238 阅读 · 0 评论 -
进阶学习之旅-设计模式之工厂模式
0.设计模式Spring不同技术中的体现1、简单工厂模式1.1简单工厂模式的定义简单工厂模式(Simple Factory Pattern) 是指由一个工厂对象决定创界出哪一种产品类的实例。简单工厂模式属于创建型模式,但是他不属于GOF,23中设计模式。1.2简单工厂模式的实现calender、loggerFactory1.3简单工厂模式的适用场景1.3.1工厂类负责创建的对象较少。1.2.2客户端只需要传入工厂类的参数,对于如何创建对象的逻辑不需要关心。1.4简单工厂模式的优点只原创 2021-06-19 09:37:17 · 245 阅读 · 0 评论 -
基于rocketMQ延时队列+redis分布式锁 实现自动支付
业务需求:默认情况下符合条件的订单都需要进行人工支付,耗费大量时间成本,产生需求:在指定时间内对符合支付条件的订单进行系统自动支付实现思路:rocketMQ 生成消息时,定义消息队列为延时队列,指定时间。分布式情况下可能多台服务器同时执行产生消息,所以消费消息时,需要通过redis 分布式锁来保证同一时刻,只有一台服务器在进行执行消费消息的操作,并通过业务查询判断是否已经支付成功,今在为消费成功的情况下,才进行消费,从而解决消息的重复消费幂等性。ymlrocketmq:是否开启自动配置isEn原创 2021-02-25 11:35:41 · 1182 阅读 · 0 评论 -
分布式事务解决方案(fescar+本地事务)
1.分布式事务解决方案1.1 事务回顾事务四大特性ACID :原子性atomicity /ˌætəˈmɪsəti/ 是不可分割的最小操作单位,要么同时成功,要么同时失败。一致性 consistency /kənˈsɪstənsi/ 事务操作前后,数据总量不变隔离性 isolation /ˌaɪsəˈleɪʃn/ 多个事务之间,相互独立。持久性 durability /ˌdjʊə...原创 2020-02-29 22:05:49 · 241 阅读 · 0 评论 -
FastDFS分布式文件存储系统
FastDFS 介绍1). 为什么图片不存在服务器本地 , 而要存储在FastDFS这个分布式文件系统中 ?2). FastDFS架构FastDFS 是一个分布式文件系统 (阿里巴巴) ;FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的 问题。特别适合以文件为载体的在线服务,如...原创 2020-02-12 20:52:53 · 394 阅读 · 0 评论 -
跨域及解决方案
什么是跨域只要 协议 , 主机/域名/IP , 端口号 有任何一个不同, 那么就是跨域 ;跨域 :http://localhost:9001/brandhttps://localhost:9001/brandhttp://192.168.190.129:9001/brandhttp://192.168.190.128:9001/brandhttp://192.168.190.1...原创 2020-02-11 19:06:21 · 144 阅读 · 0 评论 -
Rest 风格的接口
Rest 风格的接口1). 通过请求路径来决定对哪个资源进行操作 ;http://localhost:9011/brandhttp://localhost:9011/brand2). 通过请求方式(GET , POST , PUT , DELETE)来决定对这个资源采用何种(增删改查)操作 ;GET http://localhost:9011/brand -----> 查询操...原创 2020-02-10 20:09:45 · 245 阅读 · 0 评论 -
ECMAScript6
ECMAScript6ECMAScript6是前端js的语法规范,Javascript完成遵从了该语法规则。变量声明和模板字符串变量声明var:全局变量let:局部变量const:常量,常量的值一旦声明后就不允许在修改。模板字符串 Title </tbody></table><script&g...原创 2020-02-09 13:16:53 · 181 阅读 · 0 评论 -
node.js
什么是node.js???chrome浏览器能运行前端所写的javascript代码,原因是浏览器内置了一个能够解析js的V8引擎。有人V8引擎单独抽取出来,后台进行运行。这就是现在大家看到的node.js。node.js就是一个运行环境,后台运行js的环境。 [JVM:后台运行环境,后台运行的是java代码编译的class文件]编写JS代码,以前是怎么写javascript代码,现在同样是...原创 2020-02-09 13:12:58 · 143 阅读 · 0 评论 -
SpringCloud小结
系统架构的演变单体架构垂直架构分布式之RPC分布式之SOA分布式之微服务微服务架构简介微服务: 微:小 服务: 以前面向SOA的时候,服务—>Service层 现在微服务中的服务—>完整的模块对应的独立项目(controller->service->Mapper->domain…) 微服务虽小五脏俱全。服务间的系统调用微服务和微服...原创 2020-02-05 19:56:04 · 233 阅读 · 0 评论 -
SpringBoot知识总结
SpringBoot概述是什么? SpringBoot是一个非常优秀的用来【快速构建Spring开发环境】的一个脚手架。Spring的开发存在的问题? (1) Spring项目所依赖的jar包导入过于繁琐 [版本与版本之间的相互依赖,jar包之间的相互依赖…] SpringBoot解决方案: Maven的依赖传递和继承 spring-boot-starter-parent ...原创 2020-02-05 19:45:14 · 236 阅读 · 0 评论 -
SpringBoot
SpringBoot第一天概述SpringBoot是一个用来快速构建Spring开发环境的一个具体的框架。(1) 项目所依赖的jar包Maven的继承和依赖传递(2) 项目applicationContext.xml配置文件自动装配SpringBoot快速入门步骤:(1)创建一个maven项目(jar)jar为什么能直接启动,通过浏览器访问?SpringBoot直接嵌入应用服...原创 2020-01-19 17:08:50 · 414 阅读 · 0 评论 -
SpringCloud(二)
SpringCloud第二天内容回顾(1)系统架构的演变过程单体架构垂直架构分布式之RPC架构分布式之SOA架构分布式之微服务架构(2)微服务概念理解微服务: 虽小五脏俱全。开发项目所用到的所有内容【前端、后台】,微服务里面都包含。基于SpringBoot来构建的。(3)微服务与微服务之间肯定要进行系统调用RPC 【dubbo Socket /ServerSocket】...原创 2020-01-19 15:59:17 · 211 阅读 · 0 评论 -
SpringCloud(一)
SpringCloud(1)什么是SpringCloudSpring Cloud是将现在非常流行的一些技术整合到一起,实现了诸如:配置管理,服务发现,智能路由, 负载均衡,熔断器,控制总线,集群状态等功能(2)SpirngCloud能做什么事协调分布式环境中各个系统,为各类服务提供模板性配置。(3)如何实现,怎么做微服务架构:微服务虽小,五脏俱全。解决的问题:微服务与微服务之间的系...原创 2020-01-19 15:30:13 · 376 阅读 · 0 评论 -
系统架构的演变
单体应用架构垂直应用架构分布式之RPC架构分布式之SOA架构分布式之微服务架构微服务架构:微服务虽小,五脏俱全。解决的问题:微服务与微服务之间的系统调用...原创 2020-01-19 15:20:28 · 145 阅读 · 0 评论 -
Redis集群方案
单机Redis的读写速度非常快,能够支持大量用户的访问。虽然Redis的性能很高,但是对于大型网站来 说,每秒需要获取的数据远远超过单台redis服务所能承受的压力,所以我们迫切需要一种方案能够解决 单台Redis服务性能不足的问题。这就需要使用到Redis的集群了。Redis集群有多种方案,下面分别进 行讲解2.1 主从复制Replicationredis支持主从复制的模式。 在主从复制模...原创 2020-01-05 11:35:15 · 100 阅读 · 0 评论 -
单例设计模式&枚举
1,单例设计模式1.1 设计模式软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。也就是说,它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用。1.2 单例设计模式使一个类只能创建一个...原创 2020-01-01 21:15:43 · 181 阅读 · 0 评论 -
spring security框架学习总结
1,spring security框架1.0 概念认证:登陆,校验用户名和密码授权:认证成功后可以做哪儿些操作涉及到的表:权限模块共涉及到7张表。在这7张表中,角色表起到了至关重要的 作用,其处于核心位置,因为用户、权限、菜单都和角色是多对多关系。认证过程:只需要用户表就可以了,在用户登录时可以查询用户表t_user进行校验,判断 用户输入的用户名和密码是否正确。授权过程:用户必须完...原创 2020-01-01 21:09:03 · 216 阅读 · 0 评论 -
mybatis——javaType和ofType的区别
javaType和ofType的区别javaType用来指定对象所属的java数据类型,也就是private Listposts 的ArrayList类型ofType用来指定对象的所属javaBean类,也就是尖括号的泛型private Listposts例如:publicclass User { privateint id; privateString username;...原创 2019-12-28 19:12:46 · 567 阅读 · 0 评论