自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HBase--分布式非关系型数据库HBase入门精讲(侧重原理)

一、HBase介绍HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行

2022-04-05 18:49:21 3512

原创 HDFS--Hadoop分布式文件系统--比较详细

一、HDFS的定义HDFS(Hadoop Distributed File System)Hadoop分布式文件系统,适合一次写入,多次读出的场景。具有高容错性(多副本),适合处理GB、TB甚至PB级别的百万规模以上的文件数量的大数据。二、HDFS的组成1.namenodenn是HDFS的Master,管理者。负责管理HDFS的名称空间,配置副本策略(一个文件有几个副本),管理数据块的映射信息(一个数据块放在那个datanode上),处理客户端读写请求2.datanodedn是HDFS的sla

2022-04-03 19:02:28 3325

原创 K8S基本原理-Kubernetes核心知识点介绍-节点、对象与控制器

一、Kubernetes集群节点K8S管理是一个集群,节点分为Masters管理节点和Nodes运行节点。Master是控制平面,一般只有一个执行,布置多个是为了在当前管理节点挂掉后可以立即启动另一个Master继续工作。Nodes是数据平面,他们之间是负载均衡的,各Node同时工作,当某个Node挂掉时,任务会自动分配给其他Node。二、K8S的Master节点Master节点分为以下四个部分(上图蓝色包含的四个部分):APIServer:所有服务访问的统一入口,接受客户端请求Sched

2020-08-25 22:54:06 2563

原创 docker系列--2.docker高级--docker网络模型

查看docker支持的网络[root@localhost ~]# docker network lsNETWORK ID NAME DRIVER SCOPE1b8da85bd39d bridge bridge localec9fb76b1e0f host host localcc895e

2020-08-23 19:54:59 923 2

原创 python处理excel之openpyxl模块的使用

python处理excel之openpyxl模块的使用

2022-11-01 18:26:28 362

原创 c++基础全套学习笔记(入门)

C++入门

2022-10-03 11:37:15 4358

原创 linux硬件信息及性能基础运维命令

linux硬件信息及性能基础运维命令

2022-09-14 16:56:11 598

原创 hadoop3.x--搭建hadoop高可用集群(HA模式)

HDFS高可用集群(HA模式)1、集群规划2、安装前配置3、安装jdk与hadoop4、克隆虚拟机与互信配置5、搭建zookeeper集群6、初始化启动hdfs集群1、集群规划hostnameipNNJNDNZKFCZKhadoopHA01192.168.10.201yesyesyeshadoopHA02192.168.10.202yesyesyesyesyeshadoopHA03192.168.10.203yesyesyes

2022-04-30 21:44:46 2757

原创 Kafka 3.x 三万三千字精讲(侧重原理)

Kafka 3.x一、Kafka原理1.Kafka基础架构2.生产消息原理Kafka集群安装安装Kafkakafka命令行操作1.topic相关的命令1)常用参数2)创建topic3)查看topic信息4)查看、修改、删除topic2.生产者与消费者相关命令一、Kafka原理1.Kafka基础架构2.生产消息原理在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程。在 main 线程中创建了一个双端队列RecordAccumulator。main 线程将消息发送给 Reco

2022-04-17 16:10:43 622

原创 vscode的三个配置json文件

vscode初始配置jsonlaunch.jsontasks.jsonsettings.jsonlaunch.json{ "version": "0.2.0", "configurations": [ { "name": "C/C++", "type": "cppdbg", "request": "launch", "program": "${fileDirname}/${fi

2022-03-22 17:53:57 1525

原创 git命令行的使用

基本命令:git --help 显示帮助$ git --helpusage: git [--version] [--help] [-C <path>] [-c <name>=<value>] [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path] [-p | --paginate | -P | --no-pager] [--no-rep

2021-11-21 21:42:32 1384

原创 centos7.5yum源配置2021.8.10

CentOS-Base.repo:[base]name=CentOS-$releasever - Base#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infrabaseurl=https://repo.huaweicloud.com/centos/$releasever/os/$basearch/gpgcheck=1gpgkey=fi

2021-08-10 05:43:26 408

原创 Linux-Shell中脚本参数处理用到的命令(getopt,eval,set,shift)

目录一、eval1.把字符串当命令执行2.变量套用(最多两层)二、getopt1.分析短参数,参数无value2.分析短参数,带value3.分析长参数三、set四、shift五、参数处理脚本实例一、eval1.把字符串当命令执行bash-4.2$ # script="cat getopt.sh"bash-4.2$ # eval $script#!/bin/bashrr=$(getopt ab:cd -a yyy -b test1 -cd test2 test3) echo $rrbas

2021-08-09 17:16:10 2374

原创 JVM--java虚拟机内存结构及各结构详解

目录一、程序计数器(PC Register)二、虚拟机栈(JVM Stack)1.概念与特点2.StackOverFlowError3.idea设置jvm运行参数4.linux下的java线程诊断三、本地方法栈(Native Method Stack)四、堆(Heap)1.概念与特点2.堆内存溢出一、程序计数器(PC Register)程序计数器是用于存放下一条指令所在单元的地址的地方。特点:线程私有,不会有内存溢出的情况。可通过字节码指令文件看到每个指令的编号,如:源码:package jvm

2021-07-30 11:08:46 419

原创 ansible安装配置与17个常用模块

这里写目录标题一、centos8.3安装ansible二、安装后的基本配置三、常用模块的使用1.command--默认的默认模块2.shell模块(command 加强版)3.修改默认模块4.script模块5.copy模块6.fetch模块7.file模块8.unarchive模块9.archive模块一、centos8.3安装ansible安装epel源sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-lates

2021-07-27 11:01:33 409

原创 python pip方式安装ansible2.9.*版本--centos7.5

安装依赖:yum install gcc zlib-devel openssl-devel readline-devel -y安装pythonwget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgztar xvf Python-3.6.6.tgzcd Python-3.6.6/./configure --prefix=/usr/local/python/ make && make install/usr/lo

2021-07-25 15:40:47 451

原创 一个进程问题引发的有关powershell的Get-Process--进程发现与精确定位和处理的探究(windows版的ps -ef)

问题引入:windows的tomcat前台启动都会启动一个cmd窗口对应一个任务,至少包含一个cmd进程,一个java进程如果使用命令结束java进程,则tomcat随即停止,然后手动关闭cmd窗口即可结束所有进程。!!!但是,如果tomcat是后台启动,则没有cmd窗口,但对应的cmd进程还是存在的,然而不能通过关闭cmd窗口的方式结束cmd进程,该cmd进程会占用tomcat的启动资源(根据现象推测),如果tomcat的启动参数里内存超过系统内存的一半,则就会因为资源不足而无法再次启动tom

2021-07-22 17:44:24 1536 1

原创 java--spring5之spring实现数据库事务操作----5

目录一、基本类二、xml方式:三、完全注解方式一、基本类定义类:User.javapackage com.my.transaction;public class User { private String name; private double money; public User() { } public User(String name, double money) { this.name = name; this.

2021-07-18 21:17:47 108

原创 java--spring5之spring实现jdbc增删改查----4

1.引入依赖:aspectjweaver-1.6.8.jarcglib-2.2.0.jar.zipcommons-logging-1.1.1.jardruid-1.1.9.jarhamcrest-core-1.3.jarjunit-4.12.jarmysql-connector-java-5.1.8.jarspring-beans-5.2.6.RELEASE.jarspring-context-5.2.6.RELEASE.jarspring-core-5.2.6.RELEASE.jar

2021-07-18 16:19:08 197

原创 java--spring5之Aop操作--xml方式与注解方式进行方法扩展增强----3

一、前置学习与准备:1、AOP原理:springAOP原理–java动态代理之java.lang.reflect.Proxy.newProxyInstance2、AOP术语:https://blog.youkuaiyun.com/changudeng1992/article/details/806251343、切入点表达式:https://blog.youkuaiyun.com/qq_39720594/article/details/1053216644、引入依赖:aopalliance-1.0.jaraspectjw

2021-07-18 10:36:40 145

原创 springAOP原理--java动态代理之java.lang.reflect.Proxy.newProxyInstance

Proxy.newProxyInstance的三个参数:1.ClassLoader loader:加载代理对象的类加载器2.Class<?>[] interfaces:代理类需要实现的接口,返回值类型即为该接口的类型3.InvocationHandler h:调用处理器,通过重写其invoke方法扩展被代理对象的方法内容具体使用:1.定义接口UserDaopackage com.my.dynamicProxy;public interface UserDao { int

2021-07-16 16:32:53 374

原创 java--spring5之IOC容器--xml方式与注解方式进行bean管理----2

目录一、注入基本类型、空值与< >二、注入对象与集合一、注入基本类型、空值与< ><?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframe

2021-07-11 22:53:00 151

原创 java--Spring5下载与使用入门----1

目录一、下载spring5二、创建代码工程三、开始使用spring1.创建一个类用于测试,**必须有无参构造器**2.创建spring配置文件3.spring测试一、下载spring5下载地址:https://repo.spring.io/ui/native/libs-release-local/org/springframework/spring/5.2.6.RELEASE下载解压后:二、创建代码工程1.idea创建普通java工程:2.导入spring基础jar包与commons-l

2021-07-09 15:30:57 310

原创 jenkins从安装到一键构建成功(maven、git、jdk配置)

1、安装jdkyum -y install java-1.8.0-openjdk*2、下载jenkins的rpm包https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.190.3-1.1.noarch.rpm3、执行安装rpm -ivh jenkins-2.244-1.1.noarch.rpm4、修改配置vi /etc/sysconfig/jenkins5、启动systemctl start jenkins6、浏览器登

2021-07-07 22:51:11 746 3

原创 linux-10条命令完成在centos安装GitLab

10条命令完成在centos安装GitLab1.yum -y install policycoreutils-cycoreutils openssh-server openssh-clients postfix2.systemctl enable sshd && sudo systemctl start sshd3.systemctl enable postfix && systemctl start postfix(如果关闭防火墙可省略下面三步)firewall

2021-07-04 09:47:39 114

原创 一文读懂zookeeper,安装,集群,配置,节点操作,Java接口,超详细

一、安装1.zookeeper包的下载地址:zookeeper-3.5.72.解压:tar -xvf apache-zookeeper-3.5.7-bin.tar.gz3.本文中的@{ZK_HOME}:代表zookeeper的主目录,即tar包的解压目录,目录结构如下:解压完成即安装完成!二、配置文件解读:@{ZK_HOME}/conf下的zoo_sample.cfg即为zookeeper的主要配置文件,安装时需改名为zoo.cfg;解压后配置文件初始状态如下(省略注释):tickTi

2021-06-30 20:33:45 499 4

原创 Javaweb--JavaWeb--tomcat之HttpServlet使用详解,HttpServletRequest与HttpServletResponse

一、获取请求的信息通过doGet或doPost方法的第一个参数(HttpServletRequest对象)获取请求信息package com.my.servlet;import java.io.IOException;import java.util.Enumeration;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpSer

2021-06-27 13:01:42 626 1

原创 JavaWeb--tomcat之ServletConfig与ServletContext详解

目录一、获取ServletConfig对象二、本文使用的web.xml三、ServletConfig的作用与代码实现四、ServletContext对象详解1.获取ServletContext对象2、ServletContext对象的作用与代码实现1)代码实现ServletContext对象获取工程信息2)ServletContext对象存取数据一、获取ServletConfig对象1.在直接实现Servlet接口的类中,可通过init方法的参数获得(也可使用2.中的方法)2.在继承HttpServ

2021-06-25 23:40:04 467

原创 JavaWeb--tomcat之servlet类的定义与web.xml中servlet的基本配置

1、wen.xml中有关servlet的配置:2、自定义实现Servlet接口的类,并实现所有抽象方法(init,service,destroy等方法),显式定义无参构造器package com.my.servlet;import java.io.IOException;import javax.servlet.Servlet;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import ja

2021-06-25 17:08:30 1881 3

原创 Intellij IDEA中配置与使用Tomcat

Intellij IDEA中配置与使用Tomcat,本文以windows64位8.5版本tomcat为例:1、下载windows版本tomcat到本地:tomcat包下载地址2、解压到本地(如D:\apache-tomcat-8.5.65)3、idea中配置tomcat路径将解压路径填入Tomcat Home,OK–>Apply–>OK4、创建web应用:右击工程名称,new 一个Module选择Java Enterprise,勾选Web Application,并创

2021-06-25 10:32:20 1173

原创 java--xml解析--dom4j代码化详解

dom4j代码示例package xml;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.Iterator;import java.util.List;import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom

2021-06-24 15:47:06 87

原创 java--线程池--创建线程池的几种方式与线程池操作详解

本文目录一、创建线程池与执行任务:ExecutorService接口的Executor实现类1.普通线程池,使用submit执行1)创建线程池与执行2)代码示例2.延时与定义执行的线程池,使用schedule执行1)创建线程池与执行2)代码示例3.ExecutorService接口的其他操作1)shutdown()与shutdownNow()2)submit的返回值二、线程池的实现原理三、本文使用到的类1.MyThreadFactory2.Tasktips:使用junit测试多线程会有问题,建议使用mai

2021-06-14 23:24:15 961 2

原创 java--线程与多线程(Callable与Runnable,synchronized)

目录一、创建线程的方式1.继承Thread类与线程的常用方法2.实现Runnable接口3.实现Callable接口二、解决线程安全问题1.同步代码块2.同步方法3.与synchronized 相关的三个方法4.Lock锁方式(JDK5)(附)死锁示例一、创建线程的方式1.继承Thread类与线程的常用方法功能类继承Thread实例化功能类对象功能类对象.start()package thread;public class ThreadTest { public static

2021-06-13 23:47:24 212

原创 java--NIO详解--Buffer、channel与网络编程

目录一、buffer--缓冲区的基本使用1.核心与基础用法2.实现字符集转换二、Channel的基本使用三、socketChannel网络编程--阻塞式四、socketChannel网络编程--非阻塞式1.Client客户端类2.Server服务端一、buffer–缓冲区的基本使用1.核心与基础用法初始化缓冲区:XXXBuffer.allocate(int capacity)数据加入缓冲区:buffer.put(byte[] data)切换为读模式:byteBuffer.flip()读取缓冲区

2021-06-13 18:02:33 1300 3

原创 java--关于new对象的时候有继承关系的类各种成员的加载顺序的超级详细解释

文章目录一、无继承关系(直接继承Object)的类加载过程:1.静态成员是由类加载器加载的2.代码块与变量按代码中出现的顺序进行初始化3.new对象时只会进入一个相应的构造器二、继承关系下的类加载过程:1.先加载父类静态成员,后加载本类静态成员2.终极测试3.最后的结论如果在网上搜索“类初始化顺序”,一般的答案为:父类静态->子类静态->父类代码块->父类构造->子类代码块->子类构造但这种简单的回答适合死记硬背但不适合理解下面给出最详细的解释:一、无继承关系(直

2021-06-10 12:37:42 491 2

原创 java--java8特性--StreamAPI与Optional容器类详解

这里写目录标题Optional容器类二、StreamAPI的使用二级目录Optional容器类package stream;import java.util.Optional;import org.junit.Test;public class OptionalTest { @Test public void optionalTest(){ Employee employee = new Employee(1007, "任正非", 26, 4333.32);

2021-06-09 16:21:08 149

原创 本博客中常用类与集合

文章目录1.Employee2.EmployeeData1.Employeepackage stream;public class Employee implements ComparableEmployee{ private int id; private String name; private int age; private double salary; public double getSalary() { return salary; } public Strin

2021-06-09 16:15:28 100

原创 java--lambda表达式进阶版--方法引用与构造器引用

目录一、方法引用二、构造器引用三、数组引用一、方法引用方法引用的几种形式:方法引用与原始实现接口的方式比较:[对象::实例方法]:接口中的方法的方法体只有一行,且为对象.实例方法()的形式,此实例方法的参数列表一样,返回值类型一样[类::静态方法]:接口中的方法的方法体只有一行,且为类.静态方法()的形式,此静态方法的参数列表一样,返回值类型一样[类::实例方法]:接口中的方法的方法体只有一行,且为对象.实例方法(*)的形式,此对象即为接口方法的第一个参数package methodR

2021-06-08 23:26:41 135

原创 java--java8特性--Lambda表达式详解

Lambda表达式是一个函数式接口的匿名实现对象函数式接口:只有一个方法的接口,可以使用@FunctionalInterface注解例如本文定义的三个接口,都是函数式接口:@FunctionalInterfaceinterface LambdaT1{ void run();}@FunctionalInterfaceinterface LambdaT2{ void run(String name);}@FunctionalInterfaceinterface Lam.

2021-06-08 17:00:08 97

原创 java设计模式--代理模式详解--静态代理与动态代理

java设计模式之代理模式目录静态代理动态代理静态代理静态代理实现过程概述:定义接口,这是一个代理类与被代理类都实现的接口定义被代理类,实现共同接口,实现接口方法定义代理类,实现共同接口,实现接口方法,方法内调用被代理类同名方法以被代理对象为参数,构建代理人对象代理人对象执行实现的接口方法// 1.定义接口,这是一个代理类与被代理类都实现的接口interface Buyer{ public void buy();}// 2.被代理类,实际需求人class Prin

2021-06-08 15:11:26 149

空空如也

空空如也

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

TA关注的人

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