自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 Docker常用安装

总体步骤搜索镜像拉取镜像查看镜像启动镜像停止容器移除容器安装tomcatdocker hub上面查找tomcat镜像:docker search tomcat从docker hub上拉取tomcat镜像到本地:docker pull tomcat1官网命令:2拉取完成:docker images查看是否有拉取到的tomcat使用tomcat镜像创建容器(也叫运行镜像):docker run -it -p 8080:8080 tomcat-p 主机端口:docker容器

2021-11-27 13:33:22 372

原创 本地镜像发布到阿里云

镜像的生成方法1.前面的DockerFile2.从容器创建一个新的镜像docker commit [OPTIONS] 容器ID [REPOSITORY[:TAG]]OPTIONS说明:-a :提交的镜像作者;-m :提交时的说明文字;将本地镜像推送到阿里云1.本地镜像素材原型2.阿里云开发者平台3.创建仓库镜像4.将镜像推送到registry5.公有云可以查询到6.查看详情将阿里云上的镜像下载到本地...

2021-11-27 13:33:09 491

原创 Docker容器数据卷

是什么先来看看Docker的理念:将运用与运行的环境打包形成容器运行 ,运行可以伴随着容器,但是我们对数据的要求希望是持久化的容器之间希望有可能共享数据Docker容器产生的数据,如果不通过docker commit生成新的镜像,使得数据做为镜像的一部分保存下来,那么当容器删除后,数据自然也就没有了。为了能保存数据在docker中我们使用卷。一句话:有点类似我们Redis里面的rdb和aof文件;能干嘛卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统

2021-11-27 09:57:14 251

原创 Docker常用命令

帮助命令docker versiondocker infodocker --help镜像命令docker images列出本地主机上的镜像:REPOSITORY:表示镜像的仓库源各个选项说明:TAG:镜像的标签IMAGE ID:镜像IDCREATED:镜像创建时间SIZE:镜像大小同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker

2021-11-27 09:43:40 181

原创 Docker 镜像

是什么镜像是一种轻量级、可执行的独立软件包,**用来打包软件运行环境和基于运行环境开发的软件,**它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。1.UnionFS(联合文件系统)UnionFS(联合文件系统):Union文件系统(UnionFS)是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual

2021-11-27 09:42:52 147

原创 DockerFile解析

是什么?Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本。构建三步骤:1.编写Dockerfile文件;2.docker build;3.docker run文件什么样???以我们熟悉的CentOS为例 :https://hub.docker.com/_/centos/DockerFile构建过程解析Dockerfile内容基础知识:1:每条保留字指令都必须为大写字母且后面要跟随至少一个参数;2:指令按照从上到下,顺序执行;3:#表示注释;4:

2021-11-27 09:11:18 323

原创 Docker安装

前提说明CentOS Docker 安装Docker支持以下的CentOS版本:CentOS 7 (64-bit)CentOS 6.5 (64-bit) 或更高的版本前提条件目前,CentOS 仅发行版本中的内核支持 Docker。Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。查看自己的内核un

2021-11-24 09:45:31 137

原创 Docker简介

1.是什么?问题:为什么会有docker出现?一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本的迭代之后,不同版本环境的兼容,对运维人员都是考验,Docker之所以发展如此迅速,也是因为它对此给出了一个标准化的解决方案。环境配置如此麻烦,换一台机器,就要重来一次,费力费时。很多人想到,能不能从根本上解决问题,**软件可以带环境安装?**也就是说,安装的时候,把原始环境一模一样地复制过来。开

2021-11-24 09:11:51 95

原创 SpringSecurity 微服务权限方案

1.什么是微服务1.1微服务由来:微服务最早由 Martin Fowler 与 James Lewis 于 2014 年共同提出,微服务架构风格是一种使用一套小服务来开发单个应用的方式途径,每个服务运行在自己的进程中,并使用轻量级机制通信,通常是 HTTP API,这些服务基于业务能力构建,并能够通过自动化部署机制来独立部署,这些服务使用不同的编程语言实现,以及不同数据存储技术,并保持最低限度的集中式管理。1.2微服务优势:(1)微服务每个模块就相当于一个单独的项目,代码量明显减少,遇到问题也相对来

2021-11-19 20:24:28 4115

原创 SpringSecurity入门

1.SpringSecurity 框架简介1.1概要:Spring 是非常流行和成功的 Java 应用开发框架,Spring Security 正是 Spring 家族中的成员。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。正如你可能知道的关于安全方面的两个主要区域是“认证”和“授权”(或者访问控制),一般来说,Web 应用的安全性包括**用户认证(Authentication)和用户授权(Authorization)**两个部分,这两点也是

2021-11-17 20:24:40 1370 1

原创 SpringSecurity Web 权限方案

1.设置登录的用户名和密码:**第一种方式:**通过配置文件spring.security.user.name=atguiguspring.security.user.password=atguigu这时控制台不再打印密码;**第二种方式:**通过配置类在config包下新建SecurityConfig配置类:/** * @author LZR * @create 2021-11-09-20:15 */@Configurationpublic class SecurityConf

2021-11-10 19:58:18 743

原创 流程控制结构

系统变量一、全局变量作用域:针对于所有会话(连接)有效,但不能跨重启查看所有全局变量SHOW GLOBAL VARIABLES;查看满足条件的部分系统变量SHOW GLOBAL VARIABLES LIKE '%char%';查看指定的系统变量的值SELECT @@global.autocommit;为某个系统变量赋值SET @@global.autocommit=0;SET GLOBAL autocommit=0;二、会话变量作用域:针对于当前会话(连接)有效查看所有会话变量

2021-07-06 15:00:04 105

原创 视图的讲解

视图**含义:**理解成一张虚拟的表视图和表的区别: 使用方式 占用物理空间视图 完全相同 不占用,仅仅保存的是sql逻辑表 完全相同 占用视图的好处:1、sql语句提高重用性,效率高2、和表实现了分离,提高了安全性视图的创建语法:CREATE VIEW 视图名AS查询语句;视图的增删改查1.查看视图的数据★SELECT * FROM my_v4;SELECT * FROM my_v1 WHERE last_name='Partners';2、插入视图的数据

2021-07-06 14:45:21 197

原创 TCL语言的学习

数据库事务含义:通过一组逻辑操作单元(一组DML——sql语句),将数据从一种状态切换到另外一种状态特点:(ACID)原子性:要么都执行,要么都回滚一致性:保证数据的状态操作前和操作后保持一致隔离性:多个事务同时操作相同数据库的同一个数据时,一个事务的执行不受另外一个事务的干扰持久性:一个事务一旦提交,则数据将持久化到本地,除非其他事务对其进行修改相关步骤:1、开启事务2、编写事务的一组逻辑操作单元(多条sql语句)3、提交事务或回滚事务事务的分类:隐式事务,没有明显的开启

2021-07-06 14:38:42 134

原创 DDL语句

库和表的管理库的管理:一、创建库create database 库名二、删除库drop database 库名表的管理:#1.创建表CREATE TABLE IF NOT EXISTS stuinfo( stuId INT, stuName VARCHAR(20), gender CHAR, bornDate DATETIME);DESC studentinfo;#2.修改表 alter语法:ALTER TABLE 表名 ADD|MODIFY|DROP|CHANGE CO

2021-07-06 14:35:00 118

原创 DML语言

插入语法:insert into 表名(字段名,...)values(值1,...);特点:1、字段类型和值类型一致或兼容,而且一一对应2、可以为空的字段,可以不用插入值,或用null填充3、不可以为空的字段,必须插入值4、字段个数和值的个数必须一致5、字段可以省略,但默认所有字段,并且顺序和表中的存储顺序一致修改修改单表语法:update 表名 set 字段=新值,字段=新值【where 条件】修改多表语法:update 表1 别名1,表2 别名2set 字段=新值,

2021-07-06 14:28:38 131

原创 DQL语言的学习

1:基础查询语法:SELECT 要查询的东西【FROM 表名】;类似于Java中 :System.out.println(要打印的东西);特点:①通过select查询完的结果 ,是一个虚拟的表格,不是真实存在② 要查询的东西 可以是常量值、可以是表达式、可以是字段、可以是函数2:条件查询:条件查询:根据条件过滤原始表的数据,查询到想要的数据语法:select 要查询的字段|表达式|常量值|函数from 表where 条件 ; 分类:一、条件表达式 示例:sal

2021-07-06 14:20:46 99

原创 Mysql基础

一、为什么要学习数据库1.持久化数据到本地2.可以实现结构化查询,方便管理二、数据库的相关概念1、DB:数据库,保存一组有组织的数据的容器2、DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据3、SQL:结构化查询语言,用于和DBMS通信的语言三、数据库存储数据的特点1、将数据放到表中,表再放到库中2、一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性。3、表具有一些特性,这些特性定义了数据在表中如何存储,类似java中 “类”的设计。4

2021-07-06 14:04:43 113

原创 Spring框架之AOP

AOP概念:1 、什么是 AOP(1)面向切面编程(方面),利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。(2)通俗描述:不通过修改源代码方式,在主干功能里面添加新功能。(3)使用登录例子说明 AOP。AOP底层原理:1 、AOP 底层使用动态代理(1)有两种情况动态代理第一种 第一种 有接口情况,使用 JDK 动态代理⚫ 创建接口实现类代理对象,增强类的方法第二种 没有接口情况,使用 CGL

2021-04-01 16:44:51 124

原创 Spring简介

一、spring简介1.1.1 Spring是什么Spring是分层的 Java SE/EE应用full- stack轻量级开源框架,以IoC(Inversion of Control:反转控制)和AOP( Aspect Oriented Programming:面向切面编程)为内核,提供了展现层 Spring MVC和持久层 Spring JDBC以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的 Java EE企业应用开源框架。1.1.2Spr

2021-03-30 20:15:05 10141

原创 Java之反射

一、反射的概述1. 反射的简介1.Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。2.加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为:反射。通常的方式:引入需要的“包类”名称---->

2021-01-26 14:32:57 212

原创 Java之网络编程

InternetAccess类的使用一、概述1.计算机网络:把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息共享硬件、软件、数据信息等资源。2.网络编程的目的: 直接或间接地通过网络协议与其它计算机实现数据交换,进行通讯3.实现网络通信需要解决的两个问题:如何准确地定位网络上一台或多台主机;定位主机上的特定的应用找到主机后如何可靠高效地进行数据传输二、网络通讯要素1.解决问题一:IP和端口号2.解决问题二:

2021-01-25 15:02:52 253

原创 Java之IO流

一、File类的使用1. File类的理解1.File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹)。2.File类声明在java.io包下:文件和文件路径的抽象表示形式,与平台无关。3.File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法,并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用IO流来完成。4.想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真

2021-01-21 11:51:26 485

原创 Java之集合

一、集合与数组1. 集合与数组存储数据概述:集合、数组都是对多个数据进行存储操作的结构,简称Java容器。 说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中)2. 数组存储的特点:一旦初始化以后,其长度就确定了。 数组一旦定义好,其元素的类型也就确定了。我们也就只能操作指定类型的数据了。比如:String[] arr;int[] arr1;Object[] arr2;3. 数组存储的弊端:1.一旦初始化以后,其长度就不可修改。2.数组中

2021-01-19 16:43:39 379 1

原创 Java之枚举类和注解

一、枚举类的使用1. 枚举类的说明:1.枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类2.当需要定义一组常量时,强烈建议使用枚举类3.枚举类的实现:JDK 5.0以前需要自定义JDK 5.0后新增enum关键字用于定义枚举类4.如果枚举类中只一个对象,则可以作为单例模式的实现方式。5.枚举类的属性:枚举类对象的属性不应允许被改动,所以应该使用 private final修饰 枚举类的使用 private final修饰的属性应该在构造器中为其赋值 若枚举类显式的定义了带参数的

2021-01-16 14:14:20 129

原创 Java之常用类

一、String类java.lang.String类的使用(一)概述String:字符串,使用一对""引起来表示。1.String声明为final的,不可被继承2.String 实现了Serializable接口:表示字符串是支持序列化的。 实现了Comparable接口:表示String可以比较大小3.String内部定义了final char[] value用于存储字符串数据4.String:代表不可变的字符序列。简称:不可变性。体现:4.1.当对字符串重新赋值时,需要重写指定内存区域

2021-01-16 13:59:19 273 1

原创 Java之多线程

一、程序、进程、线程1. 程序(program)概念:是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码。2. 进程(process)概念:程序的一次执行过程,或是正在运行的一个程序。 说明:进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域3. 线程(thread)概念:进程可进一步细化为线程,是一个程序内部的一条执行路径。 说明:线程作为调度和执行的单位,每个线程拥独立的运行栈和程序计数器(pc),线程切换的开销小。内存结构:进程可以细化为多个线程。

2021-01-01 12:51:26 118

原创 Java之异常处理

异常的定义:异常:在Java言中,将程序执行中发生的不正常情况称为“异常”。 (开发过程中的语法错误和逻辑错误不是异常);1. 异常的体系结构Java程序在执行过程中所发生的异常事件可分为两类:1.Error: Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况。比如: StackOverflowError和OOM。一般不编写针对性的代码进行处理。2.Exception:其它因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理。例如:.空指针访问.

2020-12-30 10:25:53 64

原创 关于Java中关键字的使用

一、关键字:return–跳出1.使用在方法体中,用于:① 结束方法② 针对于返回值类型的方法,使用"return 数据"方法返回所要的数据。2.return关键字后面不可以声明执行语句。3.在异常处理中try-catch-finally的结构中,如果try或catch中的结构中写了return,但是finally中的结构仍会执行。二、关键字:this–本类的1.this关键字概述this理解为:当前对象 或 当前正在创建的对象,可以调用的结构:属性、方法;构造器2. this关键字的使用2

2020-12-28 17:01:51 238

原创 细说Java面向对象三大特征

一、面向对象特征之封装性1. 为什么要引入封装性?我们程序设计追求“高内聚,低耦合”1.高内聚:类的内部数据操作细节自己完成,不允许外部干涉2.低耦合:仅对外暴露少量的方法用于使用。隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。通俗的说,把该隐藏的隐藏起来,该暴露的暴露岀来。这就是封装性的设计思想。2. 问题引入:当我们创建一个类的对象以后,我们可以通过"对象.属性"的方式,对对象的属性进行赋值。这里,赋值操作要受到属性的数据类型和存储范围的制约。

2020-12-27 14:19:34 115

原创 新手使用Eclipse及常用快捷键

一、Eclipse配置1.eclipse的安装:解压以后,把解压文件放在没有中文和空格的路径下,直接选择eclipse.exe执行。2. 区分安装目录与workspace安装目录workspace:代码存放的目录二、常见问题1. 双击Eclipse启动图标,不能正常启动Eclipse启动不了的原因很多种,这里需要大家从如下几个方面排查:1.环境变量是否正确配置,需要在命令行输入javac.exe或java.exe进行检查2.是否正确的安装了JDK和JRE3.安装的JDK的版本(32

2020-12-26 12:18:50 363

原创 Java项目——客户信息管理软件

项目简介模拟实现基于文本界面的《客户信息管理软件》。该软件能够实现对客户对象的插入、修改和删除(用数组实现),并能够打印客户明细表。涉及的知识点类结构的使用:属性、方法及构造器对象的创建与使用类的封装性声明和使用数组数组的插入、删除和替换关键字的使用:this项目需求:每个客户的信息被保存在Customer对象中。以一个Customer类型的数组来记录当前所有的客户。每次“添加客户”(菜单1)后,客户(Customer)对象被添加到数组中。每次“修改客户”(菜单2)后,修改后的客

2020-12-25 18:30:33 226

原创 Java类的学习

类与对象类中主要包括五种结构,下面进行对这五种结构进行详细的介绍。1. 面向对象与面向过程面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。面向对象:强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。–唯物主义(物质决定意识)2. 类与对象的关系类:对一类事物的描述,是抽象的、概念上的定义对象:是实际存在的该类事物的每个个体,因而也称为实例(instance)面向对象程序设计的重点是类的设计,设计类就是设计类的成员。二者的关系:对象,是由类new出来的,派生出来的。3.

2020-12-21 17:27:40 228

原创 Java之数组

一、数组的概述1. 数组的理解:数组(Array),是多个相同类型数据一定顺序排列的集合,并使用一个名字命名,并通过编号的 方式对这些数据进行统一管理。2. 数组相关的概念:数组名 元素 角标、下标、索引 数组的长度:元素的个数3. 数组的特点:1.数组是序排列的;2.数组属于引用数据类型的变量。数组的元素,既可以是基本数据类型,也 可以是引用数据类型;3.创建数组对象会在内存中开辟一整块连续的空间;4.数组的长度一旦确定,就不能修改。4. 数组的分类:① 按照维数:一维数组、二

2020-12-18 14:02:39 116

原创 多任务同步与互斥

一、同步互斥概述在多任务操作系统中,同时运行的多个任务可能都需要访问/使用同一种资源多个任务之间有依赖关系,某个任务的运行依赖于另一个任务同步和互斥就是用于解决这两个问题的。互斥:一个公共资源同一时刻只能被一个进程或线程使用,多个进程或线程不能同时使用公共资源。POSIX标准中进程和线程同步和互斥的方法,主要有信号量和互斥锁两种方式。同步:两个或两个以上的进程或线程在运行过程中协同步调,按预定的先后次序运行。同步就是在互斥的基础上有顺序;二、互斥锁2.1 互斥锁的概念mutex是一种简单的

2020-11-28 20:24:24 955

原创 Linux多线程编程

线程概述:每个进程都拥有自己的数据段、代码段和堆栈段,这就造成进程在进行创建、切换、撤销操作时,需要较大的系统开销。为了减少系统开销,从进程中演化出了线程。线程存在于进程中,共享进程的资源。线程是进程中的独立控制流,由环境(包括寄存器组和程序计数器)和一系列的执行指令组成。每个进程有一个地址空间和一个控制线程。线程和进程的比较:调度:线程是CPU调度和分派的基本单位。拥有资源:进程是系统中程序执行和资源分配的基本单位。线程自己一般不拥有资源(除了必不可少的程序计数器,一组寄存器和栈)

2020-11-28 15:47:51 258

原创 信号通信

信号概述:它是在软件层次上对中断机制的一种模拟,是一种异步通信方式。信号可以直接进行用户空间进程和内核进程之间的交互,内核进程也可以利用它来通知用户空间进程发生了哪些系统事件。它可以在任何时候发给某一进程,而无需知道该进程的状态。如果该进程当前并未处于执行态,则该信号就由内核保存起来,直到该进程恢复执行再传递给它为止;如果一个信号被进程设置为阻塞,则该信号的传递被延迟,直到其阻塞被取消时才被传递给进程。用户进程对信号的响应可以有 3 种方式。· 忽略信号,即对信号不做任何处理,但是有两个信号不能忽略

2020-11-25 17:23:14 791

原创 Linux管道通信

管道通信:1.1 无名管道概述管道(pipe)又称无名管道。无名管道是一种特殊类型的文件,在应用层体现为两个打开的文件描述符。任何一个进程在创建的时候,系统都会 给他分配4G的虚拟内存,分为3G的用户空间和1G的内核空间,内核空间是所有进程公有的,无名管道就是创建在内核空间的,多个进程知道同一个无名管道的空间,就可以利用他来进行通信无名管道虽然是在内核空间创建的,但是会给当前用户进程两个文件描述符,一个负责执行读操作,一个负责执行写操作;管道是最古老的UNIX IPC方式,其特点是:1、半双

2020-11-25 15:45:23 209

原创 文件描述符概述

文件描述符是非负整数,是文件的标识。用户使用文件描述符(file descriptor)来访问文件。利用open打开一个文件时,内核会返回一个文件描述符。每个进程都有一张文件描述符的表,进程刚被创建时,标准输入、标准输出、标准错误输出设备文件被打开,对应的文件描述符0、1、2 记录在表中。在进程中打开其他文件时,系统会返回文件描述符表中最小可用的文件描述符,并将此文件描述符记录在表中。注意:Linux中一个进程最多只能打开NR_OPEN_DEFAULT(即1024)个文件,故当文件不再使用时应及

2020-11-24 19:54:08 1108

原创 Linux 进程控制编程

进程创建1.fork()在 Linux 中创建一个新进程的惟一方法是使用 fork 函数。fork 函数是 Linux 中一个非常重要的函数,和读者以往遇到的函数也有很大的区别,它执行一次却返回两个值。(1)fork 函数说明fork 函数用于从已存在进程中创建一个新进程。新进程称为子进程,而原进程称为父进程。这两个分别带回它们各自的返回值,其中父进程的返回值是子进程的进程号,而子进程则返回 0。因此,可以通过返回值来判定该进程是父进程还是子进程。使用 fork 函数得到的子进程是父进程的一个复制品

2020-11-21 20:35:55 622 1

空空如也

空空如也

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

TA关注的人

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