自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (1)
  • 收藏
  • 关注

原创 Windows下idea远程链接hadoop(Linux18.04)

hadoop下载、idea插件、远程提交hadoop任务、wordcount示例

2022-11-06 21:53:10 1041 1

原创 【ubuntu-nginx安装】

ubuntu-nginx安装

2022-06-24 15:20:23 740

原创 【Ubuntu-redis安装】

【Ubuntu-redis安装】

2022-06-24 10:47:32 890

原创 【Ubuntu-MySQL8安装与主从复制】

Ubuntu-MySQL8安装与主从复制

2022-06-24 02:45:21 640

原创 【ubuntu-tomcat9安装】

Ubuntu tomcat安装

2022-06-23 21:13:16 646

原创 【ubuntu18.04-jdk1.8安装】

ubuntun18.04 安装jdk

2022-06-23 20:30:27 365

原创 【手写RPC框架(五)】整合Zookeeper

文章目录一、Zookeeper1.1 Zookeeper下载1.2 Zookeeper安装二、使用zookeeper实现注册中心2.1 utils工具类2.1.1 Zookeeper管理工具类(注册中心)2.2 服务端2.3 客户端一、ZookeeperZookeeper是一种分布式程序协调服务,主要功能包括:配置管理、名字服务、分布式锁、集群管理。RPC框架中使用Zookeeper可以更加灵活,不仅可以存储<K,V>结构的数据,也可以存储树状结构的数据,同时Zookeeper相较于Red

2022-05-20 22:45:18 481

原创 【手写RPC框架(四)】使用Redis实现服务注册

文章目录一、Redis1.1 Redis安装1.2 Redis可视化工具1.3 Redis使用二、使用Redis实现简单服务注册2.1 项目使用的服务(service)2.1.1 接口2.1.2 实现类2.2 utils工具类2.2.1 注解2.2.2 包扫描器2.2.3 Redis管理工具类2.2.4 序列化2.3 服务端2.4 客户端一、Redis1.1 Redis安装redis1.2 Redis可视化工具RedisDesktopManager1.3 Redis使用Redis教程二、使用

2022-05-14 16:23:02 1896

原创 【手写RPC框架(三)】实现服务注册

文章目录一、实现简单服务注册功能1.1 服务端1.1.1 发布rpc服务1.2 注册中心1.2.1 实现rpc服务注册1.2.2 注册服务同时,开启线程,监听客户端请求1.3 客户端1.3.1 实现代理类,在代理类中请求服务1.3.2 获取代理对象1.4 通过RPC远程调用(测试示例,客户端)一、实现简单服务注册功能\quad\quadRPC框架一般由服务端,消费端,注册中心三部分组成。注册中心负责持久化服务名称,IP地址以及端口等。本次只实现简单的服务注册功能。\quad\quad本篇文章实现简单的

2022-05-04 15:38:47 807

原创 【手写RPC框架(二)】加入动态代理

文章目录一、为什么加入动态代理二、加入动态代理实现流程2.1 服务端2.1.1 调用信息序列化2.1.2 服务端逻辑2.2 客户端2.2.1 客户端代理类2.3 通过RPC远程调用一、为什么加入动态代理\quad\quad如果没有动态代理,远程调用时,需要对每个类都要建立代理,这样会导致代码十分冗余,我们通过Java中Proxy,动态的构建类,来实现AOP的功能。二、加入动态代理实现流程2.1 服务端2.1.1 调用信息序列化\quad\quad因为需要通过反射的方式执行方法,因此我们需要将函数

2022-05-04 10:34:22 327

原创 【手写RPC框架(一)】简单RPC实现

文章目录一、RPC基本结构二、实现简单的RPC2.1 服务端2.1.1 接口、实现类和序列化2.1.2 服务端逻辑2.2 客户端2.2.1 客户端逻辑2.3 通过RPC远程调用一、RPC基本结构\quad\quadRPC(Remote Procedure Call),即远程过程调用,主要应用在分布式应用中,将服务部署在不同的机器上,通过RPC框架调用远程服务器中的内容。RPC 框架包含三个最重要的组件,分别是客户端、服务端和注册中心。在一次 RPC 调用流程中,这三个组件是这样交互的:服务端在启动

2022-05-03 23:56:10 1230

原创 【Java基础-03】引用拷贝、浅拷贝和深拷贝

文章目录一、引用拷贝二、浅拷贝三、深拷贝一、引用拷贝常见的变量赋值操作,即把引用地址进行复制,不属于对象拷贝。二、浅拷贝浅拷贝会在堆上创建一个新的对象(区别于引用拷贝的一点,引用拷贝不会创建新的对象)如果原对象内部的属性是引用类型的话,浅拷贝会直接复制内部对象的引用地址,也就是说拷贝对象和原对象共用同一个内部对象。 @Override public Address clone() { try { return (Address) super.c

2022-04-29 20:19:51 1323

原创 【基础概念-01】final和static关键字

文章目录一、final关键字基本用法1.1 修饰类1.1 修饰方法1.1 修饰变量二、static关键字基本用法2.1 static方法2.2 static变量2.3 static块2.3 static内部类一、final关键字基本用法1.1 修饰类\quad\quad当final修饰类的时候,表明这个类没有子类。需要注意的是类中的方法,也会隐式的被final修饰。1.1 修饰方法\quad\quad当final修饰方法的时候,表明这个方法不可以被子类修改(重写),即将该方法锁定。注:pri

2022-04-29 18:18:42 197

原创 【MyBatis-09】MyBatis分页插件

文章目录一、分页插件配置步骤1.1 添加依赖1.2 配置分页插件二、分页插件的使用步骤2.1 开启分页功能2.2 分页相关数据2.2.1 方法一:直接输出2.2.2 方法二:使用PageInfo2.2.3 分页常用数据一、分页插件配置步骤1.1 添加依赖<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> &lt

2022-04-20 19:41:01 356

原创 【MyBatis-08】MyBatis逆向工程

文章目录一、创建逆向工程的步骤1.1 添加依赖和插件1.2 创建MyBatis的核心配置文件1.3 创建逆向工程的配置文件1.4 执行MBG插件的generate目标二、奢华尊享版使用实例(QBC风格,根据条件查询)2.1 查询2.2 增改一、创建逆向工程的步骤1.1 添加依赖和插件<dependencies> <!-- MyBatis核心依赖包 --> <dependency> <groupId>

2022-04-20 19:00:53 756

原创 【MyBatis-07】MyBatis的缓存

文章目录一、MyBatis的一级缓存1.1 一级缓存失效的四种情况:二、MyBatis的二级缓存2.1 二级缓存开启的条件2.2 二级缓存失效的条件2.3 二级缓存的相关配置三、MyBatis缓存查询的顺序四、整合第三方缓存EHCache(了解)4.1 添加依赖4.2 创建EHCache的配置文件ehcache.xml4.3 设置二级缓存的类型4.4 加入logback日志4.5 测试(和二级缓存测试一样)一、MyBatis的一级缓存一级缓存是SqlSession级别的,默认开启,通过同一个SqlSe

2022-04-20 15:45:38 455

原创 【MyBatis-06】动态SQL

文章目录一、if二、where三、trim四、choose、when、otherwise五、foreach(数据和集合)5.1 批量添加5.2 批量删除六、SQL片段Mybatis框架的动态SQL技术是一种根据特定条件动态拼装SQL语句的功能,它存在的意义是为了解决拼接SQL语句字符串时的痛点问题一、ifif标签可通过test属性(即传递过来的数据)的表达式进行判断,若表达式的结果为true,则标签中的内容会执行;反之标签中的内容不会执行mapper接口中(DynamicSQLMapper)

2022-04-20 14:19:04 831

原创 【MyBatis-05】自定义映射resultMap

文章目录搭建MyBatis框架(表格、配置文件,接口,实现类)一、resultMap处理字段和属性的映射关系1.1 问题:查询不一致的字段结果为null。1.2 解决方法1:为字段起别名,保持和属性名一致1.3 解决方法2:全局配置信息mapUnderscoreToCamelCase1.4 解决方法3:自定义映射resultMap二、多对一映射处理2.1 方法1:级联方式处理映射关系2.2 方法2:使用association处理映射关系2.3 方法3:分步查询(1) 查询员工信息(2) 查询部门信息三、一对

2022-04-20 00:51:11 265

原创 【MyBatis-04】特殊SQL的执行

文章目录一、模糊查询二、批量删除三、动态设置表名四、添加功能获取自增的主键一、模糊查询mapper接口中(SpecialMapper)返回类型为List<User> //根据用户名进行模糊查询 List<User> getUserByLike(@Param("mohu") String username);mapper映射文件中(SelectMapper.xml) <!--List<User> getUserByLike(@Param(

2022-04-19 11:10:01 191

原创 【MyBatis-03】MyBatis的各种查询功能

文章目录一、查询一个实体类对象二、查询一个List集合三、查询单个数据四、查询一条数据为map集合五、查询多条数据为map集合方法1:List一、查询一个实体类对象mapper接口中(SelectMapper)返回类型为UserUser getUserById(@Param("id") int id);mapper映射文件中(SelectMapper.xml) <!--User getUserById(@Param("id") int id);--> <sele

2022-04-19 10:06:22 564

原创 【MyBatis-02】MyBatis获取参数值的两种方式

文章目录一、单个字面量类型的参数1.1、#{}1.2、${}二、多个字面量类型的参数2.1、#{} 以键的方式访问值即可2.2、${} 以键的方式访问值即可2.3、map集合类型参数(可以自己设置键值)2.4、实体类类型的参数2.5、使用@Param标识参数三、总结学习前复习了MyBatis-01工程搭建流程,并补充了如何创建mybatis核心配置模板(mybatis-config)和映射文件(mybatis-mapper)模板。一、单个字面量类型的参数若mapper接口中的方法参数为单个的字面量类型

2022-04-18 22:19:59 346

原创 【MyBatis-01】搭建MyBatis

文章目录一、开发环境二、创建maven工程(1)打包方式:jar(2)引入依赖:(3)创建MyBatis的核心配置文件(4)创建mapper接口(5)创建MyBatis的映射文件(6)编写测试类testMyBatis一、开发环境IDE:idea 2020.3构建工具:maven 3.8.4MySQL版本:MySQL 8.0.26MyBatis版本:MyBatis 3.5.9二、创建maven工程补充:新建empty project,在project中配置jdk,在setting中配置m

2022-04-18 16:33:56 650

原创 【Spring5-06】Spring5框架新功能

文章目录一、Spring5整合日志框架(Log4j2)二、Spring5框架核心容器支持@Nullable注解三、Spring5核心容器支持函数式风格GenericApplicationContext四、Spring5整合JUnit5单元测试框架4.1 整合JUnit44.2 Spring5整合JUnit5五、Spring新功能-Webflux一、Spring5整合日志框架(Log4j2)整个Spring5框架的代码基于Java8,运行时兼容JDK9,许多不建议使用的类和方法在代码库中删除Sprin

2022-04-08 00:10:52 648

原创 【Spring5-07】Spring5新功能-Webflux

文章目录一、Webflux基本概念二、 响应式编程三、 响应式编程(Reactor实现)四、Webflux执行流程(原理)和核心API五、 SpringWebflux(基于注解编程模型)六、SpringWebflux(基于函数式编程模型)注:这一章节仅仅机械的实现了一遍流程,并不能理解其内部原理一、Webflux基本概念SpringWebflux介绍(1)是Spring5添加的新模块,用于web开发的,功能SpringMVC类似的,Webflux使用当前一种比较流行的响应式编程实现的框架。(2)

2022-04-08 00:09:50 451

原创 【Spring5-05】事务操作

文章目录一、事务概念二、事务操作(搭建事务操作环境)三、事务操作(事务场景引入)四、事务操作(Spring事务管理介绍)五、事务操作(注解声明式事务管理)六、事务操作-Spring声明式事务管理-事务参数6.1 propagation:事务传播行为6.2 ioslation:事务隔离级别6.3 timeout:超时时间6.4 readOnly:是否只读6.5 rollbackFor:回滚6.6 noRollbackFor:不回滚七、事务操作(XML声明式事务管理)八、事务操作(完全注解声明式事务管理)一、

2022-04-07 00:27:16 328

原创 【Spring5-04】JdbcTemplate

文章目录一、JdbcTemplate(概念和准备)二、JdbcTemplate操作数据库(添加)三、JdbcTemplate操作数据库(修改和删除)四、JdbcTemplate操作数据库(查询)4.1 查询返回某个值4.2 查询返回对象4.3 查询返回集合五、JdbcTemplate操作数据库(批量操作)5.1 使用JdbcTemplate完成批量添加5.2 使用JdbcTemplate完成批量修改5.3 使用JdbcTemplate完成批量删除一、JdbcTemplate(概念和准备)什么是Jdbc

2022-04-06 18:51:39 868

原创 【Spring5-03】AOP

文章目录0、重点掌握内容一、AOP概念和底层原理二、AOP(JDK动态代理)三、AOP(术语)四、AOP操作(准备)五、AOP操作(AspectJ注解)六、AOP操作(AspectJ xml配置文件)0、重点掌握内容AOP概念、底层原理(两种动态代理)AOP术语AOP操作(AspectJ注解)一、AOP概念和底层原理什么是AOP?(1)面向切面编程(方面),利用AOP对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高开发效率。解释:不通过

2022-04-03 19:59:22 1765

原创 【Spring5-02】IOC容器

文章目录IOC容器学习目标一、IOC底层原理1、IOC(概念和原理)二、IOC接口(BeanFactory)三、Bean管理XML方式(创建对象和注入属性)3.1 Bean管理概念3.2 基于xml方式创建对象3.3 基于xml方式注入属性3.4 xml注入其它类型属性(空值和特殊符号)3.5 bean管理(xml注入集合属性)3.6 IOC操作Bean管理(FactoryBean)3.7 IOC操作bean管理(bean作用域)3.8 IOC容器-Bean管理(生命周期)3.9 IOC容器-Bean管理

2022-04-02 17:33:53 656

原创 【Spring5-01】主要学习内容和入门案例

文章目录Spring5课程内容1、Spring 框架概述2、IOC 容器3、Aop4、JdbcTemplate5、事务管理6、Spring5 新功能Spring框架概述Spring入门案例Spring5课程内容1、Spring 框架概述(1)轻量级开源 JavaEE 框架,为了解决企业复杂性,两个核心组成:IOC 和 AOP(2)Spring5.2.6 版本2、IOC 容器(1)IOC 底层原理(工厂、反射等)(2)IOC 接口(BeanFactory)(3)IOC 操作 Bean 管理(基

2022-03-31 16:40:50 405

原创 力扣299:猜数字游戏

问题:猜数字游戏你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下:写出一个秘密数字,并请朋友猜这个数字是多少。朋友每猜测一次,你就会给他一个包含下述信息的提示:猜测数字中有多少位属于数字和确切位置都猜对了(称为 “Bulls”, 公牛),有多少位属于数字猜对了但是位置不对(称为 “Cows”, 奶牛)。也就是说,这次猜测中有多少位非公牛数字可以通过重新排列转换成公牛数字。给你一个秘密数字 secret 和朋友猜测的数字 guess ,请你返回对朋友这次猜测的提示

2021-11-08 15:46:42 87

原创 leetcode598:范围求和II

问题:范围求和给定一个初始元素全部为 0,大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。操作用二维数组表示,其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义是将所有符合 0 <= i < a 以及 0 <= j < b 的元素 M[i][j] 的值都增加 1。在执行给定的一系列操作后,你需要返回矩阵中含有最大整数的元素个数。示例 :输入: m = 3, n = 3 operations = [[2,2],[3,3]]输出: 4解释:

2021-11-08 00:29:06 97

原创 leetcode268:丢失的数字

问题:丢失的数字给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。示例 1:输入:nums = [3,0,1]输出:2解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2是丢失的数字,因为它没有出现在 nums 中。示例 2:输入:nums = [0,1]输出:2解释:n = 2,因为有 2 个数字,所以所有的数字都在范围 [0,2] 内。2是丢失的数字,因为它没有出现在 nums 中。

2021-11-06 11:41:21 177

原创 leetcode1218:最长定差子序列

问题:最长定差子序列给你一个整数数组 arr 和一个整数 difference,请你找出并返回 arr 中最长等差子序列的长度,该子序列中相邻元素之间的差等于 difference 。子序列 是指在不改变其余元素顺序的情况下,通过删除一些元素或不删除任何元素而从 arr 派生出来的序列。示例 1:输入:arr = [1,2,3,4], difference = 1输出:4解释:最长的等差子序列是 [1,2,3,4]。示例 2:输入:arr = [1,3,5,7], difference

2021-11-05 12:38:15 116

原创 day367:有效的完全平方数

文章目录问题:有效的完全平方数思路一:暴力遍历求解思路二:二分法思路三:牛顿法问题:有效的完全平方数给定一个正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。进阶:不要 使用任何内置的库函数,如 sqrt 。来源:力扣(LeetCode)思路一:暴力遍历求解对小于num的整数从1开始遍历,判断平方是否等于num,若等于则返回true,否则返回false。class Solution { public boolean isPer

2021-11-04 17:20:15 90

原创 office2016+visio2016

电脑已安装office2016,再安装VIsio时出现 windows installer 和即点即用版本的office不能并行 的错误,原因及解决方案如下:在同一台计算机上安装不同版本的 Office、Project 和 Visio 的支持方案不支持在同一台计算机上运行通过即点即用和 Window Installer 安装的 Office...

2021-11-03 19:03:25 1521

原创 day575: 分糖果

文章目录问题:分糖果思路一:集合(set)思路二:排序问题:分糖果给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。示例 1:输入: candies = [1,1,2,2,3,3]输出: 3解析: 一共有三种种类的糖果,每一种都有两个。最优分配方案:妹妹获得[1,2,3],弟弟也获得[1,2,3]。这样使妹妹获得糖果的种类数最多。示例 2 :输入: candies = [

2021-11-01 10:38:52 70

原创 day500:键盘行

文章目录问题: 键盘行思路一:分行问题: 键盘行给你一个字符串数组 words ,只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。美式键盘 中:第一行由字符 “qwertyuiop” 组成。第二行由字符 “asdfghjkl” 组成。第三行由字符 “zxcvbnm” 组成。示例 1:输入:words = [“Hello”,“Alaska”,“Dad”,“Peace”]输出:[“Alaska”,“Dad”]示例 2:输入:words = [“omk”]输出

2021-11-01 01:19:47 125

原创 day260:只出现一次的数字 III

问题:给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。进阶:你的算法应该具有线性时间复杂度。你能否仅使用常数空间复杂度来实现?示例 1:输入:nums = [1,2,1,3,2,5]输出:[3,5] 解释:[5, 3] 也是有效的答案。示例 2:输入:nums = [-1,0]输出:[-1,0]示例 3:输入:nums = [0,1]输出:[1,0]来源:力扣(LeetCode)

2021-10-30 16:11:51 105

原创 SQL编程task06作业-秋招秘籍ABC

具体内容详见如下几篇文章,均为笔者原创,借鉴处均已标出。秋招秘籍A链接:https://blog.csdn.net/xpl_1620/article/details/120451637秋招秘籍B链接:https://blog.csdn.net/xpl_1620/article/details/120484558秋招秘籍C链接:https://blog.csdn.net/xpl_1620/article/details/120506404习题中使用到的所有SQL语句,详见压缩文

2021-09-27 22:56:56 134

原创 秋招秘籍C

文章目录练习一:行转列练习二:列转行练习三:连续登录练习四:hive 数据倾斜的产生原因及优化策略?练习五:LEFT JOIN 是否可能会出现多出的行?为什么?练习一:行转列假设有如下比赛结果创建比赛结果表row_to_colcreate table row_to_col(cdate DATE, result varchar(32) not null);insert into row_to_col values(20210101,'胜');insert into row_to_col va

2021-09-27 22:24:38 188

DataWhale组队学习-SQL秋招秘籍ABC.zip

包含如下所有题目: ch06:秋招秘籍 A 6.1 练习一: 各部门工资最高的员工(难度:中等) 6.2 练习二: 换座位(难度:中等) 6.3 练习三: 分数排名(难度:中等) 6.4 练习四:连续出现的数字(难度:中等) 6.5 练习五:树节点 (难度:中等) 6.6 练习六:至少有五名直接下属的经理 (难度:中等) 6.7 练习七:查询回答率最高的问题 (难度:中等) 6.8 练习八:各部门前3高工资的员工(难度:中等) 6.9 练习九:平面上最近距离 (难度: 困难) 6.10 练习十:行程和用户(难度:困难) ch07:秋招秘籍 B 7.1 练习一: 行转列(难度:中等)) 7.2 练习二: 列转行(难度:中等) 7.3 练习三: 带货主播谁(难度:中等) 7.4 练习四: MySQL 中如何查看sql语句的执行计划?可以看到哪些信息?(难度:中等) 7.5 练习五: 解释一下 SQL 数据库中 ACID 是指什么?(难度:中等) ch08:秋招秘籍 C 8.1 练习一: 行转列(难度:中等) 8.2 练习二: 列转行(难度:困难) 8.3 练习三: 连续登录(难度:困难) 8.4 练习四: hive 数据倾斜的产生原因及优化策略(难度:困难)

2021-09-27

空空如也

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

TA关注的人

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