- 博客(227)
- 资源 (14)
- 收藏
- 关注
原创 Docker-基础入门学习路线以及面试问题-不定期更新
本文主要是基于Docker如何制作一个Java镜像,而一个Java镜像想要运行需要系统环境,JDK。所以我们要先有一个系统环境,本文使用的是centos7,JDK选择版本是8,而我使用的Java程序是一个简易的springBoot项目,你可以选择使用本地的Java程序。我了解docker制作镜像有两种方式,一种是Docker Commit基于容器构建镜像;一种是Docker Build基于Dockerfile构建镜像。我接下来都会讲一下这两种方式的使用。
2024-06-23 23:36:59 541
原创 Docker-Swarm多容器跨主机的集群服务管理
docker swarm是一个容器集群管理器,Docker1.12+版本已经集成了swarm工具,可以直接通过docker swarm init开始搭建一个集群管理服务,并创建服务,swarm拥有丰富指令的可以查询集群和服务状态信息,还可以对服务扩容和缩容等操作,对于微服务的部署至关重要。
2024-06-09 23:12:45 818
原创 Docker-Compose多容器同主机编排
Docker Compose 它是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 `YAML` 文件来配置应用程序所需要的服务。然后使用一个命令,就可以通过 `YAML` 配置文件创建并启动所有服务。
2024-05-30 00:00:59 853
原创 Docker-一文详解容器通信的基础网络模式及衍生的自定义网络模式
虽然 Docker 提供的默认网络使用比较简单,但是为了保证各容器中应用的安全性,在实际开发中更推荐使用自定义的网络进行容器管理,以及启用容器名称到 IP 地址的自动 DNS 解析从 Docker 1.10 版本开始,docker daemon 实现了一个内嵌的DNS server,使容器可以直接通过容器名称通信。方法很简单,只要在创建容器时使用--name为容器命名即可。但是使用 Docker DNS 有个限制:只能在网络中使用。也就是说,默认的bridge 网络。
2024-05-29 22:55:25 1403
原创 Docker-制作镜像的两种方式=》基于容器制作&基于Dockerfile制作
本文主要讲解了Docker Commit基于容器构建镜像和Docker Build基于**Dockerfile**构建镜像的两种方式,同时也介绍了Dockerfile的常用指令操作,一般推荐Dockerfile这种方式构建镜像,只需要在Dockerfile中写好构建所需的指令,执行生成镜像即可,更加灵活和方便!
2024-05-24 23:51:36 990
原创 Docker-镜像迁移的三种方式=>备份恢复&公有仓库&私有仓库
本文主要讲解了镜像迁移的三种方式,镜像的备份和恢复不好管理且不利于合作开发,公共镜像仓库方式由于有网络和安全方面问题,企业级项目一般不使用,通常企业内一般会自己设置私有仓库,安全且上传或下载的速度也比较快。不过使用私有仓库时也需要进行安全认证,防止意想不到的事情发生。
2024-05-21 23:06:23 1860 1
原创 Docker-数据卷的挂载
数据卷是Docker容器提出来概念,目的是用来持久化容器的数据,存在于宿主机上,独立于容器的生命周期,不会在容器删除后删除数据。Docker提供的数据卷挂载方式很多,可以通过具名挂载,匿名挂载或者数据卷继承方式等,同样可以指定容器目录的可读可写权限,若只可读即只能通过宿主机进行数据管理。
2024-05-19 19:27:18 1677
原创 go语言之变量
本文主要讲解了go语言变量的相关知识,首先讲解了go变量声明方式,包含标准格式和简易方式,以及多个变量如何批量声明;然后讲解go的一种特殊变量-匿名变量,它通常接收多个变量赋值时,若不需要接收,则可使用匿名变量,它不占命名空间,也不占内容;然后又讲解了变量全局、局部和形式参数的三种作用域;最后主要通过演示变量交互的三种方式,其中使用go语言的多种赋值无需新建临时变量,且单行代码即可完成交换,突出go语言的编程的快捷与强大。
2024-05-17 13:21:25 1136
原创 Docker-安装|常用指令操作
前文已经介绍了前文已经介绍了[Docker容器化历史以及架构],本文就开始着手安装Docker以及使用指令做常见操作,非常简单和快捷。
2024-05-12 23:25:50 109
原创 Docker-容器的前世今生|架构
仿真出一台或者多台计算机的各种硬件,用户可以在这一台虚拟机上安装和运行操作系统(一般叫来宾操作系统,Guest OS)和各种应用,并且把Guest OS和上面应用软件对硬件资源的访问转发到底层的硬件上来实现容器化就是应用程序级别的虚拟化技术。容器提供了将应用程序的代码、运行时、系统工具、系统库和配置打包到一个实例中的标准方法。容器共享一个内核(操作系统),它安装在硬件上。
2024-04-28 22:43:30 1212
原创 Spring之CGLIB和JDK动态代理底层实现
Spring会自动在JDK动态代理和CGLIB之间转换:1、如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP2、如果目标对象实现了接口,可以强制使用CGLIB实现AOP3、如果目标对象没有实现了接口,必须采用CGLIB库本文主要讲解CGLIB和JDK动态代理的使用和底层原理。
2024-04-17 23:50:34 1156 2
原创 Spring拓展点ConfigurationClassPostProcessor解析流程
ConfigurationClassPostProcessor是一个bean工厂的后置处理器,它重写了两个方法,最重要的方法是postProcessBeanDefinitionRegistry,主要是解析配置类,生成BeanDefinition注册到bean工厂中。
2024-04-08 23:31:15 52
原创 Spring拓展点之SmartLifecycle如何感知容器启动和关闭
Spring拓展点SmartLifecycle在容器启动阶段实例化所有单例对象后,获取所有实现SmartLifecycle的类,执行start方法;在容器关闭时,先获取所有实现SmartLifecycle的类,执行stop方法,最后清除所有单例对象。
2024-04-03 22:22:16 1311 4
原创 Spring之BeanFactoryPostProcessor详解
BeanFactoryProcessor是spring的一个拓展点,它的作用时机是在加载完所有的beanDefinition,还未实例化前。可以对beanDefinition进行加工,但是不可以加载beanDefinition。BeanDefinitionRegistryPostProcessor是BeanFactoryProcessor的子接口,增强了功能,既可以对beanDefinition加工,还可以加载自定义的beanDefinition。
2024-04-02 23:33:15 969
原创 Spring之ApplicationListener实现监听原理
ApplicationListener实现监听的原理就是使用了ApplicationListenerDetector类,这是一个bean后置处理器,在容器启动中,ApplicationListenerDetector先被实例化,然后实例化其他非懒加载的bean对象时,ApplicationListenerDetector会作用于这些非懒加载的bean对象,判断对象是否实现了ApplicationListener接口,若实现了则注册到容器的监听器列表中。
2024-04-02 13:41:04 1199
原创 Spring注解@EventListener实现监听原理
@EventListener实现原理主要通过EventListenerMethodProcessor和DefaultEventListenerFactory这两个类实现。EventListenerMethodProcessor的作用是识别所有使用eventListener注解的方法DefaultEventListenerFactory将EventListenerMethodProcessor识别出的方法封装成为监听器类以代码new AnnotationConfigApplicationContext为入
2024-03-31 18:43:17 1363
原创 Spring依赖注入之循环依赖问题详解
对象A依赖对象B,对象B依赖对象A,这是一种常见的依赖关系。为什么spring会有循环依赖问题?spring是怎么解决循环依赖问题
2023-11-21 15:25:27 507
原创 Spring之Bean生命周期流程详解
BeanDefinition合并之后,就可以去创建Bean对象了,而创建Bean就必须实例化对象,而实例化就必须先加载当前BeanDefinition所对应的class,在AbstractAutowireCapableBeanFactory类的。如果beanClass属性的类型是Class,那么就直接返回,如果不是,则会根据类名进行加载(doResolveBeanClass方法所做的事情)会利用BeanFactory所设置的类加载器来加载类,如果没有设置,则默认使用。主要是推断构造函数去生成一个对象。
2023-11-07 23:55:09 201
原创 仿spring-framework源码实现手写一个IOC容器
第一步根据扫描路径获取类信息即bean定义,第二步实例化容器中单粒bean,实例化过程分为5步1.根据构造函数new对象 2.依赖注入 3.初始化前【介绍了postcontruct和后置处理器两种方式】4.初始化-主要是实现了InitializingBean方法 5.初始化后-主要是进行AOP过程,实例化后加到单例对象集合singletonObjects。
2023-11-06 00:00:36 118
原创 Java中BitSet和Set统计不重复字符数量时间复杂度和空间复杂度分析
看来每个问题都不只有一种解法,每一种解法优缺点分析需要理解底层的逻辑,并借助工具去呈现最终的结果,只要我们想到并且动手实践,也许也没有那么难。
2023-05-30 02:14:19 777
原创 一文了解Hotspot虚拟机下JAVA对象从创建到回收的生命周期
Java虚拟机是Java的核心和基础,他是Java编译器和操作系统平台之间处理器,能实现跨平台运行Java程序。本文主要讲解的是Java对象在JVM虚拟机中被创建到回收的流程
2023-02-18 22:05:30 608
原创 【智能合约实战】——入门级DAPP,没有想象中那么难
Dapp就是去中心化应用程序的简称,是以某种方式连接到区块链的在线应用程序。从理论上讲,dapp是运行在节点服务器上面的,而dapp的整个后端存储是在区块链而不是服务器上完成的,重点是dapp的数据是存储在区块链上的,不是中心数据库;DApp的使用方式与其他任何app都相同。......
2022-07-29 10:57:45 3766 1
原创 【Elastic-Job源码分析】——作业监听器
参考文档:[芋道源码-Elastic Job Lite](http://www.iocoder.cn/categories/Elastic-Job-Lite/) 下载源码地址:[Elastic-Job源码地址](https://github.com/apache/shardingsphere-elasticjob) Elastic-Job官网地址:【[Elastic-Job官网文档地址](https://shardingsphere.apache.org/elasticjob/)】 Ela
2020-11-29 23:03:07 488
原创 【Elastic-Job】分布式调度任务概览篇
前言 本司主要现在业务使用的技术就是当当网的Elastic-Job,刚刚使用的时候只是为了快速满足业务需求而引入的一项技术,符合主要的功能特征就是支持分布式的分片处理机制,非常适用于我司大数量的处理内容 在开始之前先了解一些基础概念什么是调度任务 任务调度是系统为了自动完成特定任务,在约定的特定时刻去执行任务的过程。有了任务调度即可解放更多的人力由系统自动去执行任务 什么是分布式调度任务 将一个任务拆分成多个独立的任务项,由分布式的服务器分别执行某一个或几个分片项分布式任务调度需求
2020-11-23 00:07:22 304 2
原创 linux环境下kafka的搭建
一.kafka基本实现配置准备环境:zookeeper的单机环境和kafka的单机环境1.启动zookeeperbin/zookeeper-server-start.sh config/zookeeper.properties2.启动Kafkabin/kafka-server-start.sh config/server.properties3.创建topicbin/kafka-t...
2019-08-11 20:41:30 202 2
原创 Java并发编程——线程通信
1.wait和notify方法(配合synchronize使用,属于Object方法)2.CyclicBarrier使用场景每一个线程代表一个跑步运动员,当运动员都准备好后才一起出发,只要有一个没有准备好,就大家都等待。3.CountDownLatch使用场景经常用于监听某一些舒适化的操作。等初始化执行完毕之后,通知主线程继续工作。
2019-03-03 19:54:45 386
原创 【小白学python】——python内功心法
每学习一门语言之前,掌握其基本的语法,数据类型,数据结构都是及其重要的,这是重要的基石,所以本篇主要是从这三部分了解python
2019-02-23 18:44:49 330 1
原创 使用git命名将项目代码上传到gitlab
1.在gitlab上面创建一个新的项目2.在本地项目的文件目录下创建一个.gitignore文件,将一些本地的配置忽略/target/!.mvn/wrapper/maven-wrapper.jar### STS ###.apt_generated.classpath.factorypath.project.settings.springBeans.sts4-cache#...
2018-12-07 16:38:17 465 1
原创 验证zookeeper安装成功四字命令
telnet localhost 2181输出结果:Trying ::1...Connected to localhost.Escape character is '^]'.直接向下输入srvr然后会显示zookeeper的信息:Zookeeper version: 3.4.13-2d71af4dbe22557fda74f9a9b4309b15a7487f03, built o...
2018-12-06 20:36:57 4590 1
原创 Kafka命令行详细介绍
小编的kafka的主要命令路径是:cd /usr/local/Cellar/kafka/2.0.0/bin主题的命令1.创建分区kafka-topics --alter --zookeeper localhost:2181 --topic test --partitions 32.创建主题kafka-topics --create --zookeeper localhost:218...
2018-12-06 17:03:20 874 1
原创 mac10.14中安装mysqldb
内容在python2.7中安装mysqldb,随着mysql版本的升高,libmysqlclient.dylib版本也会升高,如果是5.7版本的mysql,对应应该是libmysqlclient.18.dylib 版本,所以大家一定要看清楚!我的mysql版本是8.0.12 ,所以对应的libmysqlclient的版本是21,当我下载了使用命令下载mysqldb,如下:1.安装mysql版本...
2018-10-20 15:04:21 796 1
dom4j-1.6.1.jar和jaxen-1.1.beta.jar
2017-03-14
plsqldeveloper64位安装包下载
2017-03-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人