自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java GC机制

Java GC机制JVM结构图理解GC的意义什么是GC?垃圾回收是指将分配给对象但是不再使用的内存回收或释放的过程,如果一个对象没有指向它的引用或者其赋值为null,则此对象适合进行垃圾回收,简单来说就是为了保证我们程序员开发的项目内存不溢出,让有限的内存空间存放我们需要的对象,将不再使用的对象从内存中释放出来,这就是GC的意义需要GC的内存区域JVM中,程序计数器、虚拟机栈、本地方法栈都是随线程而生随线程而灭,栈帧随着方法的进入和退出做入栈和出栈操作,实现内存的自动清理,因此,我们的内存垃

2021-11-06 09:43:20 603

原创 JavaWeb核心知识

JavaWeb1.基本概念1.1、前言web开发:web是网页的意思静态webhtml,css提供给所有人看的数据始终不会发生变化动态web提供给所有人看的数据会发生变化,每个人在不同的时间和地点看到的信息各不相同在Java中,动态web资源开发的技术统称为JavaWeb1.2、web应用程序web应用程序:可以提供浏览器访问的程序一个web应用可以由多个部分组成(静态web、动态web)html、css、jsjsp、servletJa

2020-09-24 10:12:24 553

原创 Nginx相关概念

Nginx相关概念什么是Nginx?Nginx是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类服务器中表现较好。Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告表明能支持高达50,000个并发连接数反向代理正向代理:如果把局域网外的Internet想象成一个巨大的资源库,则局域网中的客户端要访问Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理(在客户端或

2020-07-29 15:11:27 208

原创 文件上传

文件上传客户端Java代码import java.io.*;import java.net.InetAddress;import java.net.Socket;/** * 文件上传客户端(读取并发送文件) * * @author 87682 */public class TcpClientDemo02 { public static void main(String[] args) throws IOException { //1.创建一个Socket连接

2020-07-28 21:23:25 113

原创 一个简单的聊天程序

一个简单的聊天程序服务器端package chat;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;/** * 服务端 * @author 87682 */public class TcpServerDemo01 { public sta

2020-07-26 14:14:26 131

原创 端口Port了解

端口Port了解端口表示计算机上的一个程序的进程不同的进程有不同的端口号,用来区分软件被规定0~65535单个协议下,端口号不能冲突端口分类公有端口0~1023http:80https:43ftp:21telent:23程序注册端口:1024~49151,分配用户或者程序Tomcat:8080MySQL:3306Oracle:1521动态、私有:49152~65535# 查看所有的端口netstat -ano# 查看指定的端口netstat

2020-07-26 05:28:20 172

原创 IP地址了解

IP地址了解基本概念:IP地址(Internet Protocol Address)是指互联网协议地址,又译为网络协议地址。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。这里主要是讲述关于Java编程的IP地址如何去获取,所以,对IP地址的关于计算机网络的知识不再详细描述,我们知道目前来说IPV4已经消耗殆尽,真正解决IP地址不够的办法其实就是使用IPV6,当然也可以通过网路地址转换来节省IP地址的消耗。IP地址在Java

2020-07-25 21:39:49 162

原创 Linux基本的常用命令

Linux基本的常用命令目录管理:关于目录的一些命令演示# cd为切换目录命令[root@iZ2zedtw714kk6kmn4p41qZ /]# cd /home# ./表示当前目录[root@iZ2zedtw714kk6kmn4p41qZ home]# cd ./# cd ..表示返回上一级目录[root@iZ2zedtw714kk6kmn4p41qZ home]# cd ..# ls表示列出目录[root@iZ2zedtw714kk6kmn4p41qZ /]# lsbin b

2020-07-24 17:24:50 2652

原创 单例模式在多线程下的情况

单例模式在多线程下的情况介绍一下单例模式概念:单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。其实就是指保证一个类只能有一个实例,并且要提供一个访问它的全局访问点,它的主要目的就是为了防止一个全局使用的类被频繁的创建和销毁,这样也可以节省很多的

2020-07-21 19:00:33 524

原创 Springboot集成ES详解

Springboot集成ES详解找官方文档 官方文档地址:https://www.elastic.co/guide/index.html找到原生的依赖<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <ver

2020-07-20 17:41:36 1850

原创 Elasticsearch复杂查询详解

Elasticsearch复杂查询详解模糊查询输出的结果不想要这么多该怎么办?排序分页数据下标还是从0开始的,和学的所有数据结构是一样的布尔值查询must表示所有的条件都要符合should表示满足其中一个就可以相当于或must_notfilter作为数据过滤gt 大于gte 大于等于lt 小于lte 小于等于匹配多个条件精确查询term查询是直接通过倒排索引指定的词条进程精确查找的关于分词:term直接查询精确的match会使用分词器解析

2020-07-20 01:22:14 644

原创 谈谈Rest风格

谈谈Rest风格一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。基本Rest命令说明:methodurl地址描述PUTlocalhost:9200/索引名称/类型名称/文档id创建文档(指定文档id)POSTlocalhost:9200/索引名称/类型名称创建文档(随机文档id)POSTlocalhost:9200/索引名称/类型名称/文档

2020-07-19 15:55:43 101

原创 IK分词器插件

IK分词器插件什么是IK分词器?分词:即把一段中文或者别的划分成一个个的关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一个匹配操作,默认的中文分词是将每个字看成一个词,比如“环游世界”会被分成“环”,“游”,“世“,”界”,这显然是不符合要求的,所以我们需要安装中文分词器ik来解决这个问题。如果要使用中文,建议使用ik分词器IK提供了两个分词算法:ik_smart和ik_max_word,其中ik_smart为最少切分,ik_max_word为最细粒

2020-07-19 01:02:13 171

原创 ES核心概念

ES核心概念概述在前面的学习中,我们已经掌握了ES是什么,同时也把ES的服务已经安装启动,那么ES是如何去存储数据,数据结构是什么,又是如何实现搜索功能的呢?我们先来聊聊ElasticSearch的相关概念吧集群,节点,索引,类型,文档,分片,映射是什么意思?elasticsearch是面向文档的,关系型数据库和elasticsearch客观的对比,一切都是JSON,types逐渐已经被弃用Relational DBElasticsearch数据库(database)索引

2020-07-18 20:10:35 158

原创 Kibana的安装

Kibana的安装了解ELKELK是Elasticsearch、Logstash、Kibana三大开源框架首字母大写简称。市面上也被称为Elastic Stack。其中Elasticsearch是一个基于Lucene、分布式、通过Restful方式进行 交互的近实时搜索平台框架 、类似百度、谷歌这种大数据全文搜索引擎的场景都可以使用Elasticsearch作为底层支持框架,可见Elasticsearch提供的搜索能力确实强大,市面上很多时候我们简称Elasticsearch为es。Logstash是

2020-07-18 17:23:33 484

原创 ES安装及head插件安装

ES安装及head插件安装声明:JDK1.8,最低要求,ElasticSearch客户端,界面工具基于Java开发,ElasticSearch的版本和我们对应的Java核心jar包版本要对应要保证JDK环境要正常下载官网:https://www.elastic.co/下载地址:https://www.elastic.co/downloads/elasticsearch官网下载比较慢,我个人用的IDM下载ELK三剑客解压完毕就可以用windows下安装Windows下安装只需要

2020-07-18 03:08:45 221

原创 排序算法

排序算法排序算法的介绍概念:排序也称排序算法,排序是将一组数据,依指定的顺序进行排列的过程排序的分类1.内部排序:指将需要处理的所有数据都加载到内部存储器中进行排序2.外部排序法:数据量过大,无法全部加载到内存中,需要借助外部存储(文件等)进行排序常见的排序算法分类图​ 算法的时间复杂度时间频度基本概念:一个算法花费的时间与算法中语句的执行次数成正比,哪个算法中语句执行次数多,它花费时间就多,一个算法中的语句执行次数称为语句频度或时间频度,记为T(n)时间复杂度一般情况下,算

2020-07-16 16:39:14 230

原创 Springboot微服务打包docker镜像

Springboot微服务打包docker镜像1.构建springboot微服务项目2.打包应用3.编写dockerfile4.构建镜像[root@iZ2zedtw714kk6kmn4p41qZ idea]# docker build -t hzy-springboot-purchase .Sending build context to Docker daemon 43.98MBStep 1/5 : FROM java:88: Pulling from library/java5

2020-07-12 18:21:03 204

原创 网络连通

网络连通# 测试打通 tomcat06 - mynet[root@iZ2zedtw714kk6kmn4p41qZ ~]# docker network connect mynet tomcat06# 连通之后就将 tomcat06放到了mynet网络下# 一个容器,两个ip地址# 阿里云服务:公网ip 私网ip# tomcat06已经连通[root@iZ2zedtw714kk6kmn4p41qZ ~]# docker exec -it tomcat06 ping tomcat-n

2020-07-12 17:30:40 259

原创 Docker自定义网络

Docker自定义网络查看所有的docker网络网络模式bridge:桥接模式(默认,自己创建的网络也使用桥接模式)none:不配置网络host:和宿主机共享网络container:容器网络连通(用的少,局限性很大)测试# 我们直接启动的命令 --net bridge,而这个就是我们的docker0docker run -d -P --name tomcat05 --new bridge tomcat# docker0的特点:默认的,域名是不能访问的,--link可以打通连接,但

2020-07-12 16:30:14 259

原创 容器互联

容器互联–Link思考一个场景,我们编写了一个微服务,database url=ip:,项目不重启,数据库ip换掉了,我们希望可以处理这个问题,可以名字来进行访问容器[root@iZ2zedtw714kk6kmn4p41qZ ~]# docker exec -it tomcat03 ping tomcat02ping: tomcat02: Name or service not known# 如何可以解决?# 通过--link可以解决网络联通问题[root@iZ2zedtw714kk6

2020-07-12 16:00:49 281

原创 Docker网络

Docker网络理解网络(Docker0)测试三个网络# 问题 docker是如何处理容器的网络访问的[root@iZ2zedtw714kk6kmn4p41qZ ~]# docker run -d -P --name tomcat01 tomcat# 查看容器的内部网络地址 ip addr,发现容器启动的时候会得到一个eth0@if83这种ip地址,这是docker分配的[root@iZ2zedtw714kk6kmn4p41qZ ~]# docker exec -it tomcat

2020-07-11 21:00:51 105

原创 发布镜像

发布镜像DockerHub1.地址https://hub.docker.com/ 注册自己的账号2.确定这个账号可以登录3.在我们服务器上提交自己的镜像[root@iZ2zedtw714kk6kmn4p41qZ ~]# docker login --helpUsage: docker login [OPTIONS] [SERVER]Log in to a Docker registry.If no server is specified, the default is defined

2020-07-11 12:15:45 212

原创 DockerFile

DockerFileDockerFile介绍dockerfile是用来构建docker镜像的文件,它就是一个命令参数脚本构建步骤:1.编写一个dockerfile文件2.docker build构建成为一个镜像3.docker run运行一个镜像4.docker push发布镜像(DockerHub、阿里云镜像仓库)查看一下官方是怎么做的?很多官方的镜像都是基础包,很多功能是没有的,我们通常需要自己搭建自己的镜像官方既然可以制作镜像,我们也可以自己构建镜像DockerFile构

2020-07-11 03:58:41 121

原创 数据卷容器

数据卷容器多个mysql同步数据#启动3个容器,通过我们刚才自己写的镜像启动#测试:可以删除docker01,查看一下docker02和docker03是否可以访问这个文件#测试依旧可以访问(因为容器之间的数据其实是一个双向拷贝的概念)多个mysql实现数据共享# docker run -d -p 3310:3306 -v /etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=12345

2020-07-09 02:01:18 101

原创 初识DockerFile

初识DockerFileDockerfile就是用来构建docker镜像的构建文件,命令脚本通过这个脚本可以生成镜像,镜像是一层一层的,脚本是一个个的命令,每个命令都是一层#创建一个dockerfile文件,名字可以随机,建议dockerfile#文件中的内容 指令(都是大写的) 参数FROM centosVOLUME ["volume01","volume02"]CMD echo "-----end-----"CMD /bin/bash#这里的每个命令就是镜像的一层#启动自

2020-07-09 01:10:41 170

原创 Docker具名挂载和匿名挂载

Docker具名挂载和匿名挂载#匿名挂载-v 容器内路径-P 随机映射端口docker run -d -P --name nginx01 -v /etc/nginx nginx#查看所有的volume的情况[root@iZ2zedtw714kk6kmn4p41qZ ~]# docker volume lslocal 3657563108ca2bdba900c2b329c8c0607ac7268ea0df3630c682663541f6bf03#这里发现,这种

2020-07-08 17:14:57 823

原创 Docker实战安装MySQL

Docker实战安装MySQL思考:MySQL的数据持久化问题#获取镜像[root@iZ2zedtw714kk6kmn4p41qZ /]# docker pull mysql:5.7#运行容器,需要做数据挂载 #安装启动mysql的时候是需要配置密码的#官方测试:docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag#启动我们的-d 后台运行-p 端口映射-v 数据卷挂载-e 环境配

2020-07-08 01:13:32 60

原创 Docker容器数据卷

Docker容器数据卷什么是容器数据卷docker的理念回顾将应用和环境打包成一个镜像如果数据都在容器中,那么我们容器删除,数据就会丢失(需求:希望数据可以持久化)MySQL,容器删了,删库跑路(需求:MySQL可以存储在本地)容器之间可以有一个数据共享的技术,Docker容器中产生的数据可以同步到本地这就是卷技术(数据的挂载,将我们容器内的目录,挂载到Linux上面)总结:容器的持久化和同步操作,容器间也是可以数据共享的使用数据卷方式一:直接使用命令来挂载 -vdocker

2020-07-07 23:52:42 90

原创 Docker提交镜像

Docker提交镜像docker commit 提交容器成为一个新的副本#命令和git类似docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG]实战测试#1.启动一个默认的tomcat#2.发现这个默认的tomcat是没有webapps应用,镜像的原因,官方的镜像默认webapps下面是没有文件的#3.我自己拷贝进去了基本的文件#4.将我们修改后的容器通过commit提交为一个新的镜像,我们以后就使用修改过的镜像即可...

2020-07-07 16:00:03 149

原创 Docker镜像原理

Docker镜像原理镜像是什么镜像是一种轻量级的,可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件所有的应用直接打包成docker镜像就可以直接跑起来如何得到镜像:从远程仓库下载通过朋友拷贝自己制作一个镜像DockerFileDocker镜像加载原理UnionFS(联合文件系统)我们下载的时候看到一层一层的其实就是指的联合文件系统UnionFS(联合文件系统):Union文件系统(U

2020-07-07 15:37:46 91

原创 Docker可视化

Docker可视化portainerdocker run -d -p 8088:9000\--restart=always -v/var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainerRancher(CI/CD再使用)什么是portainerDocker图形化界面管理工具,提供一个后台面板供我们操作(一般不会使用)docker run -d -p 8088:9000\--res

2020-07-07 01:24:58 152

原创 Docker部署ES+Kibana

Docker部署ES+Kibana#es暴露的端口很多#es十分得耗内存#es的数据一般需要放置到安全目录,挂载#--net somenetwork 网络配置#启动esdocker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2#启动了 linux就卡住了 docker stats 查看cpu的状态#es是十分耗内存的1.xG

2020-07-07 01:06:24 613

原创 Docker安装tomcat

Docker安装tomcat#官方的使用docker run -it --rm tomcat:9.0#我们之前的启动都是后台,停止了容器之后,容器还是可以查到 docker run -it --rm,一般用来测试,用完就删除#先下载再启动docker pull tomcat#启动运行[root@iZ2zedtw714kk6kmn4p41qZ ~]# docker run -d -p 3355:8080 --name tomcat01 tomcat2e19a2b2f204dac023eb

2020-07-06 17:20:13 84

原创 Docker安装Nginx

Docker安装Nginx#1.下载镜像 search 建议大家去dockerhub上搜索,可以看到很多帮助文档#2.下载镜像 pull#3.运行测试[root@iZ2zedtw714kk6kmn4p41qZ ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEcentos latest 8316

2020-07-06 17:00:05 108

原创 Docker的常用命令

Docker的常用命令帮助命令docker version #显示docker的版本信息docker info #显示docker的系统信息,包括镜像和容器的数量docker 命令 --help #万能命令 帮助命令帮助文档的地址:https://docs.docker.com/reference/镜像命令docker images 查看所有本地的主机上的镜像[root@iZ2zedtw714kk6kmn4p41qZ ~]# docker imagesREPOSITORY

2020-07-05 01:56:46 242

原创 Run的流程和Docker原理

Run的流程和Docker原理底层原理Docker是怎么工作的?Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上。通过Socket从客户端访问!Docker-Server接收到Docker-Client的指令,就会执行这个指令Docker为什么比虚拟机快?1.Docker有着比虚拟机更少的抽象层。2.Docker利用的是宿主机的内核,VM需要Guest OS。所以说,新建一个容器的时候,docker不需要像虚拟机一样重新加载一个操作系统内核,

2020-07-04 16:31:20 241

原创 阿里云镜像加速

阿里云镜像加速1.登录阿里云找到容器镜像服务2.找到镜像加速地址3.配置使用sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": ["https://uq17wi13.mirror.aliyuncs.com"]}EOFsudo systemctl daemon-reloadsudo systemctl restart docker...

2020-07-04 16:29:28 343

原创 Docker 的安装

Docker 的安装环境准备需要会一点Linux的基础CentOS7我使用Xshell来连接远程服务器环境查看#系统内核时3.10以上的[root@iZ2zedtw714kk6kmn4p41qZ ~]# uname -r3.10.0-1062.18.1.el7.x86_64#系统版本[root@iZ2zedtw714kk6kmn4p41qZ ~]# cat /etc/os-releaseNAME="CentOS Linux"VERSION="7 (Core)"ID="cento

2020-07-04 01:54:15 93

原创 关于Linux的预备知识

关于Linux的必备知识环境搭建Linux的安装步骤比较繁琐,可以安装在虚拟机上,也可以安装在云服务器上,看个人而决定在本地安装CentOS,可以通过镜像来安装,也可以使用已经制作完毕的镜像虚拟机用户注意,Ctrl + G可以进入虚拟机,Ctrl + Alt可以退出虚拟机聚焦开机登录开机会启动许多程序,它们在Windows中叫做"服务",在Linux就叫做"守护进程"开机成功后,它会显示一个文本登录界面,这个界面就是我们经常看到的登录界面,在这个登录界面中会提示用户输入用户名,而用户输入

2020-05-30 00:21:22 133

空空如也

空空如也

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

TA关注的人

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