自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

茅坤宝骏氹的博客

Learning and Review。转载文章来源网络,转载链接不一定是原文,如有侵权请联系删除

  • 博客(2406)
  • 收藏
  • 关注

原创 博客文章列表(二)——算法、数据结构、数据库、ABCD

七、编程基础数据结构详情列表算法 详情列表算法.排序 详情列表算法.加密 ...

2018-09-22 11:10:26 723

原创 博客文章列表(一)——JAVA

一、成长系列面试 详情列表编程难题 详情列表java总结 详情列表java技能 ...

2018-09-22 11:06:30 1024 6

转载 java中调用谷歌的无界浏览器对页面元素进行截图

版本根据自己电脑上的谷歌浏览器匹配就好,有可能你装的64位的,但驱动只有32位的,这没关系,我自己是64位的浏览器,用32位的驱动照样可以。最好把这些地址都做成配置文件,我用的是springboot,就直接放在properties文件里了。调用谷歌的无界浏览器,最起码得先装一个谷歌浏览器,然后进行下一步,selenium的版本选高一点,我用3.x的版本报错了。#调用的Chrome浏览器驱动存放位置。或者直接用这个链接下载,版本自己选。#调用的Chrome浏览器安装位置。然后下载谷歌浏览器的无界驱动。

2023-12-30 10:21:33 189

原创 Redis集群key查询和批量查询key

【代码】Redis集群key查询和批量查询key。

2023-01-25 20:35:56 4232 1

原创 Window7 docker安装

上github下载boot2docker放到C:\Users\[userName]\.docker\machine\cache目录,重新启动虚拟机。双击 Docker Quickstart Terminal启动。-ce后缀的是免费的版本,其他是收费版本。一、下载docker toolbox。启动拉boot2docker镜像失败。三、启动docker。

2022-10-02 12:32:58 1083

原创 SpringBoot2.1.9 MongoDB的聚合连接

【代码】SpringBoot2.1.9 MongoDB的聚合连接。

2022-10-01 21:14:34 741

原创 SpringBoot2.1.9 MongoDB的Query语法

(6)数组满足所有条件,不一定是同一元素满足所有条件。(4)数组至少存在一个元素满足所有条件。(5)数组元素包含所有指定元素。

2022-10-01 20:43:03 281

原创 SpringBoot2.1.9 MongoDB逻辑操作

【代码】SpringBoot2.1.9 MongoDB逻辑操作。

2022-10-01 18:25:20 401

原创 SpringBoot2.1.9 多MongoDB配置自动扫描

(1)第一个mongodb配置(主)(2)第二个mongo配置。(3)mongo导入配置。

2022-10-01 17:41:16 466

原创 K8S Learning(12)——Pod调度

一、Pod调度在默认情况下,一个Pod在哪个Node节点上运行,是由Scheduler组件采用相应的算法计算出来的,这个过程是不受人工控制的。但是在实际使用中,这并不满足的需求,因为很多情况下,我们想控制某些Pod到达某些节点上,那么应该怎么做呢?这就要求了解kubernetes对Pod的调度规则,kubernetes提供了四大类调度方式: 自动调度:运行在哪个节点上完全由Scheduler经过一系列的算法计算得出 定向调度:NodeName、NodeSelector 亲和性调

2022-02-02 12:49:29 1734

原创 K8S Learning(11)——Pod生命周期

一、Pod生命周期一般将pod对象从创建至终的这段时间范围称为pod的生命周期,它主要包含下面的过程: pod创建过程 运行初始化容器(init container)过程 运行主容器(main container) 容器启动后钩子(post start)、容器终止前钩子(pre stop) 容器的存活性探测(liveness probe)、就绪性探测(readiness probe) pod终止过程 在整个生命周期中,Pod会出

2022-02-02 11:05:43 309

原创 K8S Learning(10)——Pod配置

pod.spec.containers属性是pod配置中最为关键的一项配置。kubectl explain pod.spec.containersKIND: PodVERSION: v1RESOURCE: containers <[]Object> # 数组,代表可以有多个容器FIELDS: name <string> # 容器名称 image <string> # 容器需要的镜像地址 imagePul...

2022-02-01 12:26:53 3224

原创 K8S Learning(9)——Pod介绍

一、 Pod结构每个Pod中都可以包含一个或者多个容器,这些容器分为两类: 用户程序所在的容器,数量没有限制 Pause容器,这是每个Pod都会有的一个根容器,它的作用有两个: 可以以它为依据,评估整个Pod的健康状态 可以在根容器上设置Ip地址,其它容器都此Ip(Pod IP),以实现Pod内部的网路通信 这里是Pod内部的通讯,Pod的之间的通讯采用虚拟二层网络技术来实现,当前环境用的是Flannel 二、Pod定义Pod的资源清单

2022-02-01 11:45:55 712

原创 K8S Learning(8)—— Service

一、Service简介利用Deployment来创建一组Pod来提供具有高可用性的服务,每个Pod都会分配一个单独的Pod IP,却存在以下两个问题: Pod IP 会随着Pod的重建产生变化 Pod IP 仅仅是集群内可见的虚拟IP,外部无法访问 对于访问这个服务带来了难度。kubernetes设计了Service来解决这个问题。Service可以看作是一组同类Pod对外的访问接口。借助Service,应用可以方便地实现服务发现和负载均衡。二、Service配置

2022-01-31 19:12:20 969

原创 K8S Learning(7)—— Deployment

一、Deployment简介在kubernetes中,Pod是最小的控制单元,但是kubernetes很少直接控制Pod,一般都是通过Pod控制器来完成的。Pod控制器用于pod的管理,确保pod资源符合预期的状态,当pod的资源出现故障时,会尝试进行重启或重建pod。在kubernetes中Pod控制器的种类有很多,如:Deployment、ReplicaSet、DaemonSet、Job、CronJob。二、Deployment操作(1) 命令操作# 命令格式: kubectl

2022-01-31 19:00:15 710

原创 K8S Learning(6)——Label

一、Label简介Label是kubernetes系统中的一个重要概念。它的作用就是在资源上添加标识,用来对它们进行区分和选择。Label的特点: 一个Label会以key/value键值对的形式附加到各种对象上,如Node、Pod、Service等等 一个资源对象可以定义任意数量的Label ,同一个Label也可以被添加到任意数量的资源对象上去 Label通常在资源对象定义时确定,当然也可以在对象创建后动态添加或者删除 可以通过Label实现资源的多维度分组,以便灵

2022-01-31 18:47:05 689

原创 K8S Learning(5)——Pod

一、Pod简介Pod是kubernetes集群进行管理的最小单元,程序要运行必须部署在容器中,而容器必须存在于Pod中。Pod可以认为是容器的封装,一个Pod中可以存在一个或者多个容器。kubernetes在集群启动之后,集群中的各个组件也都是以Pod方式运行的。通过命令查看kube-system命名空间下的组件pod: kubectl get pod -n kube-system二、命令式管理pod(1)创建并运行kubernetes没有提供单独运行Pod的命令,都...

2022-01-03 22:25:37 1103

原创 K8S Learning(4)——Namespace

一、Namespace简介Namespace是kubernetes系统中的一种非常重要资源,它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。默认情况下,kubernetes集群中的所有的Pod都是可以相互访问的。但是在实际中,可能不想让两个Pod之间进行互相的访问,那此时就可以将两个Pod划分到不同的namespace下。kubernetes通过将集群内部的资源分配到不同的Namespace中,可以形成逻辑上的"组",以方便不同的组的资源进行隔离使用和管理。可以通过kubernet

2022-01-03 22:03:12 281

原创 K8S Learning(3)——资源管理

一、资源在kubernetes中,所有的内容都抽象为资源,用户需要通过操作资源来管理kubernetes。kubernetes的本质上就是一个集群系统,用户可以在集群中部署各种服务,所谓的部署服务,其实就是在kubernetes集群中运行一个个的容器,并将指定的程序跑在容器中。kubernetes的最小管理单元是pod而不是容器,所以只能将容器放在Pod中,而kubernetes一般也不会直接管理Pod,而是通过Pod控制器来管理Pod的。Pod可以提供服务之后,就要考虑如何访问Pod中服

2022-01-03 15:51:52 193

原创 K8S Learning(2)——集群环境搭建

一、部署Kubernetes 集群有两种方式:(1)kubeadmKubeadm 是一个K8s 部署工具,提供kubeadm init 和kubeadm join,用于快速部署Kubernetes 集群。官方地址:Kubeadm | Kubernetes(2)二进制包从github 下载发行版的二进制包,手动部署每个组件,组成Kubernetes 集群。Kubeadm 降低部署门槛,但屏蔽了很多细节,遇到问题很难排查。如果想更容易可控,推荐使用二进制包部署Kubernetes 集

2022-01-03 15:14:45 194

原创 K8S Learning(1)——简介

一、Kuberneteskubernetes,是一个全新的基于容器技术的分布式架构领先方案,是谷歌严格保密十几年的秘密武器——Borg系统的一个开源版本,于2014年9月发布第一个版本,2015年7月发布第一个正式版本。kubernetes的本质是一组服务器集群,它可以在集群的每个节点上运行特定的程序,来对节点中的容器进行管理。目的是实现资源管理的自动化,主要提供了如下的主要功能: 自我修复:一旦某一个容器崩溃,能够在1秒中左右迅速启动新的容器 弹性伸缩:可以根据需要,自动对集群中正

2022-01-03 15:07:09 493

原创 Java Jenkins Api

一、Maven<dependency> <groupId>com.cdancy</groupId> <artifactId>jenkins-rest</artifactId> <version>0.0.20</version></dependency>github地址:https://github.com/cdancy/jenkins-rest如果需要最新的代码版本,则拉取源码编译安装

2021-11-14 21:28:47 2162

原创 Java 证书pem转KeyStore、jks文件

一、服务端pem转KeyStore CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509"); FileInputStream caInputStream = new FileInputStream(caPath); List<X509Certificate> caList = certificateFactory.generateCert.

2021-10-24 00:37:28 2520

原创 Java RSA私钥的格式pkcs1和pkcs8、PrivateKey转换

()一、私钥格式(1)pkcs1格式:-----BEGIN RSA PRIVATE KEY-----...-----END RSA PRIVATE KEY-----(2)pkcs8格式:-----BEGIN PRIVATE KEY-----...-----END PRIVATE KEY-----pkcs1私钥生成openssl genrsa -out pkcs1.pem 1024pkcs1转pkcs8私钥 :openssl pkcs8 -in pkcs8....

2021-10-17 16:38:49 8566

原创 Java SSL与TLS客户端证书配置

一、证书存储格式1、pem格式:pem、crt、key。编码方式base64、pkcs1、pkcs82、p123、jks(依赖jdk版本,小版本差异会报错)二、TLS安全概念(1)PKIPKI是 Public Key Infrastructure的简称,意思是公钥基础设施。公钥基础设施是提供公钥加密和数字签名服务的系统或平台,目的是为了管理密钥和证书。通过证书和秘钥来确认通讯双方是否可信任。(2)CACA是Certificate Authority的简称,即证书的签发机构

2021-10-17 15:52:08 5126

原创 Java 并发总结——AQS

一、AQSJava并发包(JUC)中提供了很多并发工具,ReentrangLock、Semaphore,它们的实现都用到了一个共同的基类——AbstractQueuedSynchronizer,简称AQS。AQS是一个用来构建锁和同步器的框架,使用AQS能简单且高效地构造出应用广泛的大量的同步器,比如我们提到的ReentrantLock,Semaphore,其他的诸如ReentrantReadWriteLock,SynchronousQueue,FutureTask等皆是基于AQS的(1)基本实

2021-08-01 21:40:22 276

原创 Java 并发总结——进程与线程

一、线程(1)线程与进程进程是一个实体,每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可

2021-08-01 21:38:32 268

原创 Java 并发总结——线程池

一、线程池在程序启动的时候就创建若干线程来响应处理,它们被称为线程池,里面的线程叫工作线程(1)线程池的作用1、降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。2、提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。3、提高线程的可管理性。(2)常用线程池ExecutorService 是主要的实现类1、newSingleThreadExecutor创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务, 保证所有任务按照指定顺序(FIFO,

2021-08-01 21:37:25 288

原创 Java 并发总结——高并发与同步锁

一、线程(1)线程与进程进程是一个实体,每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可

2021-08-01 21:08:33 375

原创 DNS总结

一、DNS(1)简介域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 协议也是应用层的协议,DNS 使用客户-服务器模式运行在通信的端系统之间,在通信的端系统之间通过下面的端到端运输协议来传送 DNS 报文。DNS使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。(2)DNS服务器1、本地域名服务器LDNS

2021-08-01 15:32:41 745

原创 SpringCloud总结

一、SpringCloud(1)简介Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,做到一键启动和部署。(2)设计目标协调各个微服务,简化分布式系统开发。(3)优点1、组件丰富,功能齐全。Spring Cloud 为微服务架构提供了非常完整的支持。2、Spring Cloud 社区活跃度很高,教程很丰富,遇到问题很容易找到解决方案3、服务拆分粒度更细,耦合度比较低,有利于资源重复利用,有利于提高开发效率

2021-07-16 00:23:52 423

原创 计算机网络总结

一、计算机网络体系(1)OSI分层 (7层)物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。(2)TCP/IP分层(4层)网络接口层、 网际层、运输层、 应用层。(3)五层协议 (5层)物理层、数据链路层、网络层、运输层、 应用层。二、五层协议(1)应用层应用层(application-layer)的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。HTTP协议超文本传输协议(HT

2021-07-14 22:23:15 279 3

原创 Mybatis总结

一、Mybatis(1)简介MyBatis 是一款优秀的持久层框架,一个半 ORM(对象关系映射)框架,它支持定制化SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects)为数据库中的记录。(2)优点1、基于SQL语句编程,相当灵活。SQL写在XML中,解除sql与程序代码的耦合,便于统一

2021-07-13 23:10:22 226

原创 SpringBoot总结

一、SpringBoot(1)简介SpringFramework:最重要的特征是依赖注入。所有 SpringModules 不是依赖注入就是 IOC 控制反转。使用 DI 或者是 IOC 的时候,可以开发松耦合应用。松耦合应用的单元测试可以很容易的进行。Spring MVC:提供了一种分离式的方法来开发 Web 应用。通过运用像 DispatcherServelet,MoudlAndView 和 ViewResolver 等一些简单的概念,开发 Web 应用将会变的非常简单。SpringBo

2021-07-11 21:26:14 305

原创 Spring MVC总结

一、Spring MVC(1)介绍Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架。通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。(2)优点1、可以支持各种视图技术,而不仅仅局限于JSP;2、与Spring框架集成(如IoC容器、AOP等);3、清晰的角色分配:前端控制器(dispatcherServlet) ,请求.

2021-07-11 19:09:41 641

原创 Spring Aop总结

一、什么是AOP面向方面的编程(AOP)是一种编程技术,是面向对象编程的补充,它也提供了模块化。在面向对象编程中,关键的单元是对象,AOP的关键单元是切面,或者说关注点。一些切面可能有集中的代码,但是有些可能被分散或者混杂在一起,它允许程序员模块化横切关注点或行为,这些问题或行为跨越典型的责任分工,例如日志记录和事务管理。二、关注点和横切关注点(1)关注点应用的模块中实现的行为。关注点可以被定义为:我们想实现以解决特定业务问题的方法。(2)横切关注点贯穿整个应用程序的关注点。像

2021-07-11 11:38:51 354

原创 Spring总结

一、注解二、设计模式设计模式9种:简单工厂、工厂方法、单例、适配、装饰、代理、观察者、策略、模板三、

2021-06-26 14:27:11 196

原创 Java JVM总结

一、jvm参数1)内存-Xms-Xmx-Xss-Xloggc:file-Xprof-XX:+DisabledExplicitGC-XX:PreBlockSpin-XX:CompileThreshold2)Parallel-XX:SurvivorRatio-XX:PreTenureSizeThreshold-XX:MaxTenuringThreshold-XX:+ParallelGCThreads-XX:+UseAdaptiveSizePolicy.

2021-06-21 22:12:40 276

原创 常用解题算法总结

一、四大基本算法分治法动态规划贪心算法穷举法二、其他算法异或法和差法头尾双指针快慢指针三、算法的复杂度优先级 算法 时间复杂度 空间复杂度 1 O(1) 0或O(1) 2 O(N) 0或O(1) 3 O(NlogN) 0或O(1) 4 O(N) O(N) 5 O(NlogN) O(N) 6 ...

2021-06-11 21:33:29 276 1

原创 Java基础总结

mysql一、存储引擎区别MyISAM专注性能,主键索引和辅助索引是独立的InnoDB专注事务,支持事务、行锁、外键、聚集索引① 是否有事务操作?有,InnoDB。②是否存储并发修改?有,InnoDB。③是否追求快速查询,且数据修改较少?是,MyISAM。④是否使用全文索引?如果不引用第三方框架,可以选择MyISAM,但是可以选用第三方框架和InnDB效率会更高。InnoDB四种事务隔离级别:读未提交(脏读)、读提交(不可重复读)、可重复读(幻读)、串行化事务特性:ACID二、.

2021-06-08 21:25:49 187

空空如也

空空如也

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

TA关注的人

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