自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 hbase(1)-基础

1)、hbase是BigTable的开源版本(源码使用java编写)2)、hbase是一个高可靠、高性能、面向列、可伸缩的分布式存储系统,利用hbase技术可以在廉价的PC Server上搭建起大规模的结构化数据存储集群。3)、hbase的目标是存储并处理大型的数据,即仅需要使用普通的硬件配置,就能够处理由成千上万的行和列所组成的大型数据。序号HbaseBigTable1依赖HDFS做底层的数据存储依赖Google GFS做底层的数据存储2依赖MapReduce做数据计算。

2023-07-28 19:30:00 247

原创 springmvc(1)-概述

面试中,面试官可能会提出如下问题:1、什么是springmvc?谈谈你对springmvc的理解?2、什么是mvc设计模式,使用该模式有什么好处?3、springmvc有哪些主要的组件?4、springmvc的优缺点?抱着这些面试问题,我们通过学习springmvc的相关概念来逐一解答?1、什么是MV设计模式?MVC设计模式一般指的是MVC框架,M(model)即数据模型,V(view)即视图层,C(Controller)即控制层。使用MVC的目的在于将M和V上的实现代码分离,使

2022-05-12 20:00:00 290 1

原创 sharding-jdbc(2)-快速入门

使用sharding-jdbc完成对订单表的水平分表,通过快速入门程序的开发,快速体验sharding-jdbc的使用方法。手动创建两张表:t_order_1和t_order_2,这两张表示订单拆分后的表,通过sharding-jdbc向订单表插入数据,按照一定的分片规则,主键为偶数的进入t_order_2,主键为奇数的进入t_order_1。通过sharding-jdbc查询数据,根据SQL语句的内容从t_order_1或t_order_2查询数据第1步、创建订单库order_db,然后在or

2022-05-11 13:06:54 560

原创 sharding-jdbc(1)-概述

1、什么是分库分表?小明是一家电商平台的开发人员,他负责卖家模块的功能开发,其中涉及了店铺、商品的相关业务,涉及如下:通过下面SQL能够获取到商品相关的店铺信息、地理区域信息:select p.*,r.[地理区域名称],s.[店铺名称],s.[信誉]from [商品信息] pleft join [地理区域] r on p.[产地] =r.[地理区域编码]left join [店铺信息] s on p.id=s.[所属店铺]where p.id=?但是随着公司业务快速发展,数据库

2022-05-10 15:48:49 618

原创 java基础(1)-概述

1、什么是编程?1)、为了让计算机解决某个问题,而使用某种程序设计语言编写程序代码,并最终得到结果的过程就是编程。2)、为了让计算机能够理解人的意图,人类就必须将需要解决的问题的思路、方法、手段通过计算机能够理解的形式告诉计算机。使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编程。2、什么是java语言?java是sun(斯坦福大学网络公司)于1995年推出的一门高级编程语言,它是一种面向Internet的编程语言。随着java技术在w

2022-05-10 12:02:44 322

原创 java基础(3)-方法

1、什么是方法?方法是一组为了实现特定功能的代码块的集合。方法在语法上的功能主要有如下两个:1)、提高代码的复用性一个固定的功能在程序中可能多次使用,在使用时只需要调用写好的方法,而不用重复书写对应的功能代码。2)、增强程序的可读性和可维护性将代码按功能进行组织,使代码的结构比较清晰,容易阅读和修改,也易于维护。总结:方法是一段可重复使用的代码块;程序中完成独立功能的一段代码的集合。2、方法的语法格式[修饰符] 返回值类型 方法名称([参数类型 形式参数1,参数类型 形式参数2,

2022-05-07 09:53:17 180

原创 springBoot(1)-基础篇

1、什么是springBoot?springBoot是pivotal团队提供的全新框架,其设计目的是:简化开发,开启了各种自动装配,如果你不想写各种配置文件,引入相关的依赖就能迅速搭建起一个web工程。它采用生产就绪的应用程序观点,优先于配置的惯例。环境搭建第1步、创建一个maven工程,目录结构如下图:第2步、在pom.xml文件中添加依赖如下:<?xml version="1.0" encoding="UTF-8"?><project xmln.

2022-05-07 00:25:24 349

原创 数据结构与算法(1)-简介

1、为什么要学习数据结构与算法?程序=数据结构+算法,不懂数据结构和算法也能编程,但是要写出高质量的代码必须了解数据结构与算法。比如:要将一个用户的用户名称存储在内存中,你会选择什么数据结构来存储呢?是选择数组还是ArrayList或者HashSet,亦或是其它的数据结构呢?如果你不懂数据结构,可能随便选择一个容器来存储,也能完成所有的功能。但是后期,随着用户数据量越来越多,不合适的数据结构肯定会存在性能问题。而懂数据结构与算法的人,在实际编程中会选择适当的数据结构来解决相应的问题,会极大的提高

2022-04-29 10:13:41 171

原创 JVM(1)-概述

1、什么是jvm?1)、java virtual machine,即java虚拟主机,它是java程序的运行环境(也可以说它是java二进制字节码的运行环境)。2)、jvm是java实现平台无关性的基石,java程序运行的时候,编译器会将java文件编译成平台无关的java字节码文件(.class),接下来对应平台JVM对字节码文件进行解释,翻译成对应平台匹配的机器指令并运行。2、使用jvm的好处?1)、一次编写,到处运行2)、自动内存管理,垃圾回收机制3)、数组下标越界检查

2022-04-28 09:36:30 141

原创 技术篇(1)---lombok

1、什么是lombok?1)、lombok是一个开源的代码生产库,能以简单的注解形式来简化java类中的大量样板代码,提高开发人员的开发效率。2)、如:开发中经常需要写的javaBean,需要花时间去添加相应的getter/setter,还需要去写构造器、equals等方法,而且需要维护。2、为什么要使用lombok?lombok通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString等方法,使代码看起来更简单。3、安装

2022-04-16 00:00:00 466

原创 技术2---swagger2

文章目录一、前言 二、swagger2是什么? 三、swagger常用注解 四、swagger2使用步骤 1、创建maven工程swagger-demo,并在pom.xml引入依赖 2、创建实体类User和Menu 3、创建UserController和MenuController 4、创建配置类SwaggerAutoConfiguration 5、创建application.yml文件 6、创建启动类SwaggerApplication 7、启动SwaggerAppl

2022-04-15 15:45:00 2022 1

原创 技术(3)---Knife4j

文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。一、knif4j是什么?knif4j是为java Mvc框架集成Swagger生成API文档的增强解决方案,其前身是swagger-bootstrap-ui,取名为knif4j是希望它能像一把匕首一样

2022-04-15 13:06:37 2666

原创 高并发(3)---线程的状态和常用方法

1、线程的运行原理我们都知道虚拟机是由:堆、栈、方法区等组成,那么其中的栈内存是给谁使用的呢?1)、每个线程启动后,虚拟机就会为其分配一块栈内存2)、每个栈由多个栈帧(Frame)组成,对应的就是每次方法调用时所占用的内存3)、每个线程只能有一个活动的栈帧,对应着当前正在执行的那个方法线程上下文切换因为如下的一些原因导致CPU不再执行当前的线程,转而执行另一个线程的代码1)、线程的cpu时间片用完了2)、垃圾回收,有更高优先级的线程需要运行3)、线程自己调用了sleep、

2022-02-11 00:05:13 302

原创 高并发(2)---创建线程的四种方式

方式1、继承Thread类1)、创建一个类继承Thread类,重写run方法,将要完成的任务代码写进run()方法中2)、创建Thread类的子类的对象3)、调用该对象的start()方法,该start()方法表示先开启线程,然后调用run()方法实现代码如下:package com.wzy.day01_createThread;/** * 继承Thread类创建线程 * *///第1步、创建类ThreadTest,继承Thread类,然后重写run方法public clas

2022-02-10 14:37:22 309

原创 高并发(1)---概念

1、什么是高并发(High Concurrency)?指的是在系统运行的过程中,“短时间内遇到大量操作请求”的情况。如12306年网站春运期间大量抢购车票;天猫双11当天大量用户同一时间访问该网站。高并发会导致应用系统在某一时间段内执行大量的操作,如:对资源的请求,对数据库的操作等。2、高并发的处理指标?1)、响应时间(response time):指的是系统对请求作出响应的时间。如:系统处理一个Http请求需要2000ms,那么这2000ms就是系统的响应时间。2)、吞吐量

2022-02-10 12:16:10 2410

原创 spark(1)---概述

spark官网地址:http://spark.apache.org/1、什么是spark?1)、spark是2008年诞生于加州大学伯克利分校AMP实验室开发的通用大数据框架。2010年开源,2013年6月成为apache孵化项目,2014年2月成为apache顶级项目。2)、spark是一种快速、通用、可扩展的大数据分析引擎。3)、spark是用scala进行编写的框架,为了更好学习spark,需要先学习scala多范式编程语言。官方定义:翻译过来:apache spark是.

2021-07-21 00:08:55 523 3

原创 Activiti7(3)---数据库支持

activiti在运行时需要数据库的支持,使用25张数据库表,将流程定义节点内容读取到数据库表中,以供后续使用。1、activiti支持的数据库如下:2、在mysql数据库中生成activiti所需的表第1步、在mysql中创建数据库activitiDB(自己随意取名)create database activitiDB default character set utf8;第2步、在idea中创建java的maven工程,取名为activit-demo第3步、在pom...

2021-06-25 22:30:24 1434 1

原创 Activiti7(1)---工作流概述

1、什么是工作流?工作流(workflow):通过计算机对业务流程自动化执行管理。它主要解决“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。2、工作流的具体应用1)、关键业务流程:订单、报价处理、合同审核、客户电话处理、供应链管理等2)、行政管理类:出差申请、加班申请、请假申请、用车申请、各种办公用品申请、购买申请、日报周报等凡是原来手 工流转处理的行政表单。3)、人事管理类:员工培训安排、绩效考评、职位变动

2021-06-25 21:25:45 173

原创 RabbitMQ(5)--发布与订阅模式(publish/subscribe)

1)、每个消费者监听自己的队列;2)、生产者将消息发送给broker,然后由交换机x将消息转发到绑定此交换机的每一个队列,每一个绑定到交换机的队列都将接受到消息。注:broker就是消息中间件的服务节点,一般情况下可以将一个RabbitMQ Broker看作是一台RabbitMQ服务器。3)、Exchange:交换机,如图中的X。它一方面接受生产者发送的消息,另一方面知道如何处理消息(如:递交给某个特别队列、递交给所有队列、或是将消息丢弃)至于如何处理消息,取决于Exchange的类型。..

2021-06-25 10:42:13 277 1

原创 RabbitMQ(4)--工作队列(work queues)

工作队列模式,如下图:同simple queues相比,多了一个或一些消费者,即多个消费者共同消费同一个队列中的消息应用场景:对于任务过重的情况下,使用工作队列可以提高任务处理的速度。第1步、创建生产者生产消息package com.wzy.product;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import com.wzy.com.wzy.utils.Connection

2021-06-25 01:55:19 108 1

原创 rabbitmq(3)---简单模式

P:生产者,也就是要发送消息的程序C:消费者,消息的接受者,会一直等待消息的到来。queue:消息队列,图中红色部分。类似一个邮箱,可以缓存消息。生产者向其中投递消息,消费者从其中读取消息。注:在rabbitMQ中消费者是一定要到某个消息队列中去获取消息的。第1步、创建maven项目rabbitmq-demo,在pom.xml中添加如下依赖:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://..

2021-06-24 22:13:31 83

原创 RibbitMQ(2)---安装

第1步、安装socat1)、建议:在安装任何软件包之前,建议使用如下命令更新软件包和存储库命令如下:yum -y update2)、因为rabbitMQ的安装依赖于socat,所以需要安装socat第2步、安装erlangrabbitMQ是用erlang语言编写的,Erlang在默认的yum存储库中不可用,因此安装Erlang之前需要安装EPRL存储库。1)、安装EPEL存储库yum -y install epel-release安装完后,更新存储库:yum -y up.

2021-06-24 20:38:05 87 2

原创 RabbitMQ(1)---概述

1、什么是消息中间件?Message Queue,简称之为MQ,即消息队列。消息队列是应用程序和应用程序之间的通信方法。2、为什么要使用消息队列?在项目中,有一些非常耗时但无需即时返回的操作,可以将这些操作提取出来,进行异步处理。这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐量。3、消息队列的应用场景?场景1:异步处理将不需要同步处理的,并且耗时长的操作由消息队里通知消息接收方进行异步处理,提高了应用程序的响应时间。场景2:应用解耦MQ相当于

2021-06-01 20:56:11 106 3

原创 springBoot(6)---文件上传

第1步、编写上传页面uploadFile.html上传页面一般放在src/main/resources/下的static目录下,即静态资源放在static目录下springBoot才能访问<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>文件上传</title></head><body>

2021-05-05 21:48:52 175

原创 JVM(2)---程序计数器与虚拟机栈

jvm内存结构,如下图:、java虚拟机(jvm)在java程序运行的时候,会将它所管理的内存划分为若干个不同的数据区域,这些数据区域有的随着jvm的启动而创建,有的随着用户线程的启动和结束而建立和销毁。根据上面的内存结构图,我们来了解以下什么是程序计数器1、什么是程序计数器(program counter register) ?程序计数器是用来记住下一条jvm指令的执行地址和行号的。当执行一条指令时,首先需要根据PC中存放的指令地址,将指令由内存中读取到指令寄存器中,此过程称之为"

2021-04-30 00:25:40 522

原创 springBoot(5)---整合servlet、Filter、Listener

springBoot整合servlet、Filter、Listener需要在pom中引入如下包:<!-- 支持 SpringMVC,Servlet,Filter,Listener --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></depe

2021-04-29 00:36:16 403

原创 scala(1)---概述与环境搭建

1、什么是scala1)、scala来源于Scalabe Language(可伸缩的语言)它是一门基于JVM的多范式编程语言。2)、scala是一种运行在JVM上的函数式的面向对象语言,之所以这样说,是因为它的设计目标是:随着用户的需求一起成长,scala可以被广泛的应用于各种编程任务,从编写小的脚本到巨型任务都可用scala进行编写。注:基于JVM,scala的运行环境和java类似,也是依赖于JVM的 多范式:scala支持多种编程风格,如面向对象编程、面向函数式编程风格...

2021-04-28 16:14:35 300

原创 23种设计模式(2)---工厂方法模式(Factory Method)

简单工厂存在一个问题:类的创建依赖于工厂类,也就是说如果想拓展程序,必须对工厂类进行修改,这违背了闭包原则。注:闭包原则是设计模式的总原则,也称之为开闭原则,也就是说对扩展开发,对修改关闭。即程序需要进行拓展的时候,不能去修改原有的代码,而是要扩展原有代码,实现一个热插拔的效果。也就是说:为了使程序的扩展性好,易于维护和升级,要想达到这样的效果,需要使用接口和抽象类等。工厂方法模式:创建一个工厂接口和创建多个工厂实现类,这样一旦需要增加新的功能,直接新增其它工厂实现类就可以,不需要修改之前的

2021-04-26 00:17:09 171

原创 23种设计模式(1)---简单工厂模式

简单工厂模式分为三种:普通简单工厂、多方法简单工厂、静态方法简单工厂1、普通简单工厂模式:建立一个工厂类,对实现了同一接口的一些类进行实例的创建。如下:发送邮件和短信实现类,有一个发送短信的接口第1步、创建发送短信和发送邮件的接口Senderpackage com.cn.factory.sender.impl;/** * 发送邮件接口 * */public interface Sender { //发送邮件方法 public void send();}第

2021-04-25 23:50:29 226

原创 mybatis(1)---概述

1、mybatis历史1)MyBatis 是 Apache 的一个开源项目 iBatis, 2010 年 6 月这个项目由 Apache Software Foundation 迁移到了 Google Code,随着开发团队转投 Google Code 旗下, iBatis3.x 正式更名为 MyBatis ,代码于 2013 年 11 月迁移到 Github2)iBatis 一词来源于“internet”和“abatis”的组合,是一个基于 Java 的持久层框架。 iBatis 提供的持久层框架

2021-04-25 00:02:10 207

原创 mybatis-plus(1)---入门示例

官网:http://mp.baimidou.com参考教程:http://mp.baomidou.com/guide/1、什么是mybatis-plus?MyBatis-Plus(简称MP),它是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。1)、只做增强,不做改变引入它不会对现有的工程产生影响2)、效率至上只需简单的配置,即可快速进行CRUD操作,从而节省了大量的时间。3)、丰富功能热加载、代码生成、分页、性能分析等功

2020-09-25 08:56:41 592

原创 Nginx(2)---安装与启动

Nginx官网:http://nginx.org/1、环境准备1)、安装编译工具以及库文件yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel安装完成后,如下:2)、首先要安装pcrepcre的作用是让nginx支持rewrite功能第1步、下载pcre安装包,下载地址:http://downloads.sourceforge.net/project/pcre/pcre/8.35/

2020-09-14 15:48:58 2729

原创 linux系统下磁盘扩展空间

在Linux系统下,安装某个软件你是否会碰到错误提示:without enough disk space 的困扰。提示您磁盘没有空间。在VM中创建的虚拟机,往往不会分配太多的磁盘空间,当磁盘空间不足时,就需要扩展磁盘空间。第1步、选择你要扩展的虚拟机,点击"编辑虚拟机设置",选择"硬盘(SCSI),选择"扩展",此处填120G即扩展磁盘空间为120G注意:一定要在虚拟机处于关机状态下,才能扩展第2步、打开虚拟机,使用root用户,执行命令:fdisk -l 可以查看我们扩展后的结果

2020-08-17 21:45:45 2000

原创 SSM-CRUD (3)---查询功能改造

上一节中,查询功能已实现,浏览器的请求功能完好。但是如果是安卓、IOS等移动客户端,服务器发送一个页面给移动设备解析的话,是比较吃力的,交互体验也不是很好。为了解决该问题,我们需要对查询进行改造:前台发送ajax请求,后台返回json数据。分析:首页index.jsp直接发送ajax请求进行员工分页信息的查询;服务器将查询的数据以JSON格式返回; 前台使用js完成JSON的解析,通过DOM操作完成增删改查的操作。第1步、springMVC与json交互,需要jacks...

2020-08-15 22:10:24 200

原创 SSM-CRUD(2)---查询

逻辑分析:启动项目后,进入到index.jsp页面,点击index.jsp页面的查询员工链接,发出查询员工列表请求,来到empList.jsp页面。empList.jsp页面使用插件pageHelper完成分页功能。使用pageHelper需要给它几个参数:我要查询第几页;每页查询几条记录;需要连续显示几条记录?...

2020-08-15 11:16:24 107

原创 SSM-CRUD(1)---环境搭建

1、项目概述项目功能点:1)、分页 2)、数据校验:Jquery前端校验+JSR303后端校验 3)、ajax 4)、RESTful风格的URI技术点:1)、基础框架SSM2)、数据库MySQL3)、前端框架BootStrap4)、项目构建工具Maven5)、mybatis分页插件(使用PageHelper进行分页)6)、mybatis-generator逆向工程进行mapper生成2、环境搭建第1步、构建一个maven工程,工程名称为SSM-CRUD...

2020-08-14 10:14:20 126

原创 hbase(5)---API示例

package com.wzy.hbase;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.*;import org.apache.hadoop.hbase.client.*;import org.apache.hadoop.hbase.util.Bytes;import org.junit.Test;import java.io.IOException;public class Hb.

2020-08-04 22:21:19 143

原创 hbase(1)---概述

1、hbase产生背景hadoop擅长存储各种格式的庞大的数据,任意格式甚至非结构化的数据的处理。但是hadoop对于数据的处理,存在如下问题:hadoop只能执行批量处理,并且只以顺序方式访问数据。即使一个简单的搜索工作,也必须搜索整个数据集。而工作中,存在如下需求:需要从庞大的数据集中随机访问某个数据,hadoop不能解决。于是诞生了:Hbase、Cassandra、MongoDB等数据库,这些数据库可以存储大量的数据并能以随机方式访问数据库中的数据。2、什么是hbase?1

2020-07-29 12:11:10 284

原创 hbase(3)---shell操作

1、进入hbase命令行在集群中任意一台服务器节点上,执行hbase shell,就会进入到你的hbase shell 客户端1.1、help获得帮助1)、help:获得所有命令2)、help "dml":获得一组命令的提示3)、help "put":获取一个单独命令的提示1.2、exit退出2、hbase表的操作2.1、创建表create2.2、查看表列表list2.3、查看表的详细信息desc2.4、删除表drop2.5、清空表truncate.

2020-07-27 16:48:40 619

原创 mapReduce(3)---入门示例WordCount

package com.mapReduce;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.T.

2020-07-13 17:27:59 230

空空如也

空空如也

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

TA关注的人

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