- 博客(81)
- 资源 (4)
- 收藏
- 关注
原创 Hadoop入门
你未必出类拔萃,但一定与众不同Hadoop入门文章目录Hadoop入门Hadoop的优势MapReduceHadoop Distributed File System HDFS概述数据块namenode和datanodenamenodedatanode块缓存联邦HDFSYARN架构概述HDFS,YARN,MapReduce三者关系大数据技术生态体系Hadoop是一个Apache基金会所开发的分布式系统基础架构主要解决 海量数据的存储和海量数据的分析计算问题Hadoop的优势高可靠性 H.
2021-10-27 13:39:29
288
原创 Flink安装入门简单应用
Flink入门你未必出类拔萃,但一定与众不同文章目录Flink入门选择Flink我们的目标需要处理流数据的行业Flink 的主要特点事务驱动分层API支持事件时间和处理时间语义高可用 动态扩展 实现7*24小时全天候运行安装flinkflink简单上手1.打开idea 创建maven项目 写入依赖test.txt2.批处理3.流处理4.输出结果监听socket实时获取数据1.启动ubuntu 输入 nc -lk 7777 开启监听模式,用于指定nc将处于监听模式。2.修改maven中的代码3.
2021-10-21 12:06:23
872
原创 Mybatis的一级缓存和二级缓存探索
你未必出类拔萃,但一定与众不同Mybatis的一级缓存和二级缓存探索文章目录Mybatis的一级缓存和二级缓存探索概述SqlSession的作用关闭二级缓存默认开启一级缓存的时候 同一个SqlSession关闭二级缓存,默认开启一级缓存的时候,不同的SqlSession开启二级缓存开启二级缓存时,不同的SqlSession下开启二级缓存的时候 新建新的SqlSessionFactory不同的nameSpace下 不同的SqlSession不同的nameSpace下 相同的SqlSession总结.
2021-07-25 13:32:39
388
2
原创 手写简易数据连接池
你未必出类拔萃,但与众不同手写简易数据连接池文章目录手写简易数据连接池创建一个maven项目导入依赖创建连接池信息创建数据库连接池创建连接池中心 进行调度测试类创建一个maven项目导入依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> &l.
2021-07-21 21:39:00
269
1
原创 手写简易HashMap实现基本功能
你未必出类拔萃,但一定与众不同手写简易HashMap实现基本功能文章目录手写简易HashMap实现基本功能概述手写简易HashMapMyMap接口实现Map接口Node节点成员变量和常量put方法()hash()扩容resizegetNode + getMyHashMap完全源码概述Map是一组由多组key-value集合在一起的结构,其中key值是不能重复的,而value值则无此限定。其基本接口为java.util.Map该接口提供了一些Map结构的关键方法HashMap是最常用的Map结.
2021-07-19 23:03:01
499
5
原创 剑指offer32-36
你未必出类拔萃,但一定与众不同剑指offer 32-36文章目录剑指offer 32-36题32 从上到下打印二叉树题33 二叉搜索树的后序遍历序列题34 二叉树中和为某一值的路径题35 复杂链表的复制题36 二叉搜索树和双向链表题32 从上到下打印二叉树从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回:[3,9,2.
2021-07-19 21:04:44
101
1
原创 手写LinkedList实现基本功能
你未必出类拔萃,但一定与众不同手写LinkedList实现基本功能文章目录手写LinkedList实现基本功能概述手写内容成员变量和常量Node节点add方法get方法set方法越界问题remove方法clear方法完整代码概述LinkedList主要 特性:顺序访问写快读慢 读的时候需要遍历 底层采用了折半查找提高了效率 但是比起数组来说还是慢的多查看源码public class LinkedList<E> extends AbstractSequent.
2021-07-18 22:03:59
435
4
原创 剑指offer27-31
你未必出类拔萃,但一定与众不同剑指offer27-31文章目录剑指offer27-31题27 二叉树的镜像题28 对称的二叉树题29 顺时针打印矩阵题 30 包含min函数的栈题31 栈的压入弹出序列题27 二叉树的镜像请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入: 4/ 2 7/ \ / 1 3 6 9镜像输出: 4/ 7 2/ \ / 9 6 3 1特判:如果root为空,返回空把roo.
2021-07-18 18:16:14
132
1
原创 手写ArrayList实现基本功能
手写ArrayList实现基本功能文章目录手写ArrayList实现基本功能概述手写内容构造器成员变量和常量添加-add方法扩容-ensureExplicitCapacity(size + 1);System.arraycopyrangeCheck(int index)删除元素 removeget() getsize()完整手写源码概述List是一种线性的列表结构,继承自Collection接口,是一种有序集合。ArrayList是用数组来实现的List随机访问效率高读快写慢 写的过程涉及元素
2021-07-17 22:56:11
129
3
原创 剑指offer22 - 26
你未必出类拔萃,但一定与众不同剑指offer 22 - 31文章目录剑指offer 22 - 31题22 链表中倒数第k个节点题23 二叉搜索树的后序遍历序列题24 反转链表题 25 合并两个排序的链表题26 树的子结构题22 链表中倒数第k个节点输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。.
2021-07-17 18:02:13
120
2
原创 手写简易Spring事务框架
你未必出类拔萃,但一定与众不同手写简易Spring事务框架文章目录手写简易Spring事务框架前言内容创建maven项目导入依赖UserDaoUserServiceUserServiceImplSpring.xmlTransactionUtils测试类Test未出现异常时 成功提交整合aop实现Spring事务框架AopTransaction修改UserServiceImpl出现异常时 事务成功回滚前言该篇需要一些框架基础在spring中数据库事务时通过PlatformTransacti.
2021-07-16 16:39:28
262
5
原创 剑指 Offer17-21
你未必出类拔萃,但一定与众不同剑指 Offer 17-21文章目录剑指 Offer 17-21剑指 Offer 17. 打印从1到最大的n位数字符串模拟数字加法(解决大数问题)剑指 Offer 18. 删除链表的节点剑指 Offer 19. 正则表达式匹配剑指 Offer 20. 表示数值的字符串剑指 Offer 21. 调整数组顺序使奇数位于偶数前面剑指 Offer 17. 打印从1到最大的n位数输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3.
2021-07-16 12:27:06
166
3
原创 剑指offer12-16
你未必出类拔萃,但一定与众不同剑指offer 12-16文章目录剑指offer 12-16题12 矩阵中的路径题13 机器人的运动范围题14 剪绳子题15 二进制中1的个数题16 数值的整数次方题12 矩阵中的路径给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许.
2021-07-15 17:15:50
148
原创 剑指offer-7题到12题
你未必出类拔萃,但一定与众不同剑指offer文章目录剑指offer题7 重建二叉树题8 二叉树的下一个节点题9 两个栈实现队列题10 斐波那契数列题11旋转数组的最小数字题7 重建二叉树输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/zhong-jian-er-cha-shu-lcof二叉树的前序遍历 根左右 .
2021-07-14 17:20:21
134
原创 Java线程池
你未必出类拔萃,但一定与众不同线程池文章目录线程池线程池的实现原理源码分析线程池的使用线程池的创建向线程池提交任务的两种方式submit()execute()关闭线程池合理地分配线程池线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池,在开发过程中,合理使用线程池能够带来三个好处降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行提高线程的可管理性。线程是稀缺资源,如果无限制地.
2021-07-14 11:47:06
161
1
原创 剑指offer-2题到6题
你未必出类拔萃,但一定与众不同剑指offer文章目录剑指offer题2 实现Singleton模式不好解法1:只适用于单线程环境不好解法2:虽然在多线程环境中工作,但效率不高可行解法3:加同步锁前后两次判断实例是否存在推荐解法4 使⽤类的内部类(线程安全)题3 数组中重复的数字题4二维数组中的查找解法1 暴力递归解法二 线性查找题5 替换空格解法一 调用库函数解法二 暴力循环法题6 从尾到头打印链表解法1 利用栈来打印解法二 反转链表后再遍历题2 实现Singleton模式不好解法1:只适用.
2021-07-13 10:11:54
227
4
原创 基于栈的字节码解释执行引擎图解
你未必出类拔萃,但一定与众不同基于栈的字节码解释执行引擎图解文章目录基于栈的字节码解释执行引擎图解解释执行基于栈的指令集与基于寄存器的指令集例子1例子2 基于寄存器的指令集基于栈的解释器执行过程图解流程解释执行无论是解释还是编译,也无论是物理机还是虚拟机,对于应用程序,机器都不可能如人那样阅读,理解,然后获得执行能力。大部分的程序代码转换成物理机的目标代码或虚拟机能执行的指令集之前,都需要经过编译过程这张图基于栈的指令集与基于寄存器的指令集Javac编译器输出的字节码指令流,基本上是一种.
2021-06-30 15:04:51
956
3
原创 虚拟机字节码执行引擎-方法调用
你未必出类拔萃,但一定与众不同方法调用文章目录方法调用概述解析分派静态分派动态分派单分派与多分派虚拟机动态分派的实现概述方法调用并不等同与方法中的代码被执行,方法调用阶段唯一的任务就是确定被调用方法的版本,暂时还未涉及方法内部的具体运行过程。在程序运行时,进行方法的调用是最普遍,最频繁的操作之一。Class文件的编译过程中不包含传统语言编译的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址(直接引用)。解析所有方法调用的目标方法在.
2021-06-29 21:20:28
894
1
原创 虚拟机字节码执行引擎-运行时栈帧结构
你未必出类拔萃,但一定与众不同虚拟机字节码执行引擎文章目录虚拟机字节码执行引擎概述运行时栈帧结构局部变量表例子1例子2例子 3操作数栈动态连接方法返回地址概述执行引擎是Java虚拟机核心的组成部分之一,虚拟机是一个相对于物理机的概述,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器,缓存,指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自主实现的,因此可以不受物理条件制约地制定指令集宇执行引擎的结构体系,能够执行那些不被硬件直接支持的指令集格式。运行时栈帧结构栈帧.
2021-06-28 15:41:46
1075
原创 MYSQL常见的日志文件
你未必出类拔萃,但一定与众不同MYSQL常见的日志文件文章目录MYSQL常见的日志文件错误日志慢查询日志慢查询日志内容查询日志二进制日志日志文件记录了影响mysql数据库的各项类型活动,常见的日志文件错误日志二进制日志慢查询日志查询日志错误日志错误日志文件对MYSQL的启动,运行,关闭过程进行了记录,MYSQL DBA在遇到问题时应该首先查看该文件以便定位问题,该文件不仅记录了所有的错误信息,也记录了一些警告信息或其他正确的信息,可以通过SHOW VARIABLES LIKE 'l.
2021-06-24 16:30:31
1224
原创 深入理解JVM-类加载器双亲委派机制
你未必出类拔萃,但一定与众不同类加载器文章目录类加载器类与类加载器双亲委派机制三个类加载器类加载器双亲委派模型工作过程破坏双亲委派模型第一次被破坏第二次破坏第三次破坏通过一个类的全限定名来获取描述该类的二进制字节流,将这个动作放到Java虚拟机里去实现,以便让应用程序自己决定获取所需的类,实现这个动作的代码被称为类加载器类与类加载器对于任意一个类,都必须由加载它的类加载器和这个类本身一起共同确立其在虚拟机的唯一性,每一个类加载器,都拥有一个独立的类名称空间。通俗易懂点就是,比较两个类是否相同只.
2021-06-18 15:17:25
1221
1
原创 深入理解JVM-虚拟机类加载机制
你未必出类拔萃,但一定与众不同虚拟机类加载机制文章目录虚拟机类加载机制概述类加载的时机六种情况初始化被动引用例子1被动引用例子2被动引用例子3类加载过程加载验证文件格式校验元数组验证字节码验证符号引用验证准备解析类或接口的解析字段解析方法解析接口方法解析初始化概述Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机使用的Java类型。类型的加载,连接和初始化都是在程序运行期间完成类加载的时机一个类型(每个Class文件都代表Jav.
2021-06-16 21:58:14
1105
原创 声明式调用OpenFeign
声明式调用-OpenFeign文章目录声明式调用-OpenFeignOpenFeign的使用1.加入Feign 和 Hystrix依赖2.声明OpenFeign的客户端接口(用以前学习springCloud的项目)3.定义一个OpenFeign接口4.此时还需要修改当前模块的主类5.访问OpenFeign客户端的配置FeignClientsConfiguration源码YML配置OpenFeign客户端接口实例自定义一个简单的request-interceptors拦截器UserInterceptorO
2021-06-15 16:00:15
1459
1
原创 深入理解JVM-类文件结构
你未必出类拔萃,但一定与众不同类文件结构文章目录类文件结构概述Class类文件的结构魔数与Class文件的版本常量池访问标志类索引,父类索引和接口索引集合字段表集合方法表集合属性表集合概述由于最近十年内虚拟机以及大量建立在虚拟机之上的程序语言如雨后春笋一般出现,把我们编写的程序编译成二进制本地机器码已经不在是唯一选择越来越多的语言选择了与操作系统和机器指令集无关的格式作为编译后的存储格式Java语言中的各种语法,关键字,。常量变量和运算符号的语义最终都会由多条字节码指令组合来表达。Cla.
2021-06-15 10:03:23
1047
原创 断路器Hystrix----入门实例
你未必出类拔萃,但一定与众不同断路器----Hystrix文章目录断路器----Hystrix概述熔断的概念服务降级Hystrix的功能简介入门实例1.引入依赖(springcloud-consumer-user)2.驱动Hystrix(springcloud-consumer-user)3.定义服务提供者(springcloud-provider-user)4.定义用户服务调用接口5.使用外部控制器来测试熔断效果6.测试结果Spring Cloud Netflix Hystrix是一种断路器组件.
2021-06-10 10:21:33
1174
原创 SpringBean的生命周期
你未必出类拔萃,但一定与众不同SpringBean的生命周期文章目录SpringBean的生命周期Spring IoC的本质就是为了管理Bean生命周期现在我们来看看一个简易的bean的实现 了解一个大概实例化初始化流程先写一个实体类编写spring配置文件BeanPostProcessor 前置处理器BeanFactoryPostProcessorBeanDefinitionInstantiationAwareBeanPostProcessor写个主函数进行测试打印结果Spring IoC的本质.
2021-06-09 08:47:01
1317
4
原创 Ribbon负载均衡学习
你未必出类拔萃,但一定与众不同客户端负载均衡-RibbonSpring Cloud Netflix Ribbon是一种客户端负载均衡的组件在Spring Cloud中,提供服务的调用是Ribbon和OpenFeign。OpenFeign实际上也是基于Ribbon实现的。微服务之间的调用往往被称为客户端的负载均衡,这是因为在Eureka的机制中,任何微服务都是Eureka的客户端。文章目录客户端负载均衡-Ribbon负载均衡概述初识RibbonRibbon概述实现负载均衡Ribbon负载均衡器和.
2021-06-08 17:04:41
276
原创 HTTP确认访问用户身份的认证
你未必出类拔萃,但一定与众不同HTTP确认访问用户身份的认证HTTP确认访问用户身份的认证1.BASIC认证概述认证步骤缺点2.DIGEST认证概述质询方式认证步骤缺点3.SSL客户端认证认证步骤SSL客户端一般采用双因素认证缺点4.FormBase认证认证过程实践应用HTTP确认访问用户身份的认证BASIC认证DIGEST认证SSL客户端认证FormBase认证1.BASIC认证概述BASIC认证是从HTTP1.0就定义的一种WEB服务器与通信客户端之间进行的认证方式,又称为基本.
2021-06-07 10:25:08
1266
原创 确保安全的HTTPS
确保安全的HTTPS目录确保安全的HTTPS1.HTTP + 通信加密 + 证书 + 完整性保护2.HTTPS 是身穿SSL外壳的HTTP3.相互交换秘钥的公开秘钥加密技术共享秘钥加密(对称秘钥加密)公开秘钥加密混合加密机制证书4.数字证书认证机构的业务流程5.HTTPS的安全通信机制6.为什么所有的通信不都采用HTTPS经常使用HTTPS来代替HTTP进行项目的访问就像微信小程序默认使用HTTPS,APP也是如此,还有像很多网站的URL都是HTTPS项目的最终上线完全离不开HTTPS 今日就来了解一
2021-06-07 08:50:17
1130
原创 SpringCloud---搭建Eureka服务治理和发现
你未必出类拔萃,但一定与众不同SpringCloud–服务治理Eureka目录SpringCloud--服务治理Eureka搭建Eureka服务治理中心1.创建springboot项目,这里就不做详细演示2.在pom.xml引入依赖3.创建启动类4.application.yml的创建和编写5.运行微服务应用搭建服务发现1.创建一个SpringBoot模块项目2.pom.xml 这是我自己的 用者自取3.修改SpringBootAppication4.修改appication.yml或者是创建编写.
2021-06-04 15:12:01
1181
4
原创 SpringBoot使用AOP做系统日志
你未必出类拔萃,但一定与众不同SpringBoot使用AOP做系统日志目录SpringBoot使用AOP做系统日志1.在项目中导入相关的依赖AOP2.自定义一个注解类LoggerSystem3.对系统日志做切面处理4.使用自身定义的系统日志进行操作 登录为例子5.运行后数据库结果6.其他相关的类1.在项目中导入相关的依赖AOP<dependency> <groupId>org.springframework.boot</groupId> .
2021-06-04 14:19:39
1322
2
原创 Docker-部署Java项目
你未必出类拔萃但一定与众不同Docker部署Java项目基于Centos7.6服务器操作Docker部署jar包项目Docker部署Java项目采用打包成镜像的方式部署1.创建一个文件夹2.创建Dockerfile3.对Dockerfile进行编辑4.开始构建镜像5.查看docker镜像6.使用docker镜像运行容器相关操作合集采用java -jar运行项目部署1.将需要部署的jar包项目上传到centos服务器上2.jar包上传到home下 这里我上传schoolinfo.jar到home.
2021-06-03 13:24:10
1830
1
原创 深入理解JVM--垃圾收集器
你未必出类拔萃,但一定与众不同垃圾收集器垃圾收集器垃圾收集器Serial收集器ParNew收集器Parallel Scavenge收集器Serial Old收集器Parallel Old收集器CMS收集器G1收集器(Garbage First)如果说收集算法是内存回收的方法论,那垃圾收集器就是内存回收的实践者。以上是七种作用于不同分代的收集器,如果两个收集器之间存在连线,就说他们可以搭配使用,而图中所处于的区域则表示是属于新生代还是老年代收集器Serial收集器Serial收集器是最基础,.
2021-05-31 09:59:47
1124
原创 深入理解JVM--垃圾收集算法
你未必出类拔萃,但一定与众不同垃圾收集算法从如何判定对象消亡的角度出发,垃圾收集算法可以分为 “引用计数式垃圾收集”和“追踪式垃圾收集”以下都是追踪式垃圾收集范畴分代收集理论当前的垃圾收集器大多都遵循了“分代收集” 的理论进行设计主要建立在两个分代假说上弱分代假说 :绝大多数对象都是朝生夕死的强分代假说: 熬过越多次垃圾收集过程的对象就越难以消亡跨代引用假说: 跨代引用相对于同代引用来说仅占极少数(新生代建立记忆集)注意部分收集(Partial GC):指目标不是完整收集整个.
2021-05-25 22:18:50
1037
原创 Redis学习----复制(下)
你未必出类拔萃,但一定与众不同Redis 复制PSYNC命令的实现PSYNC命令的调用方法共用两种如果从服务器以前没有复制过任何主服务器,或者之前执行过SLAVEOF no one指令,那么从服务器在开始一次新的复制时将向主服务器发送PSYNC ? -1命令,主动请求主服务器进行完整重同步(因为这个时候不可能执行部分重同步)相反地,如果从服务器已经复制过某个主服务器,那么从服务器在开始一次新的复制时将向主服务器发送PSYNC 命令:其中runid是上一次复制的主服务器的运行ID,.
2021-05-18 23:17:40
987
原创 Docker-安装mysql
你未必出类拔萃,但一定与众不同Centos7.6 docker 安装 mysqldocker下载mysql镜像[root@VM-0-3-centos ~]# docker pull mysqldocker 查看下载镜像[root@VM-0-3-centos ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEmysql latest 0627ec69.
2021-05-10 20:12:02
1010
原创 Redis学习----复制(上)
你未必出类拔萃,但一定与众不同Redis 复制简介以及旧版SYNCredis中用户通过SLAVEOF命令或者设置slaveof选项,让一个服务器去复制另外一个服务器我们称被复制的为主服务器master,而对主服务器复制的服务器被称为从服务器slave。Redis2.8以前用SYNC命令执行复制的同步操作,2.8以后采用了PSYNC先了解一下SYNCSYNC命令是一个非常耗费资源的操作每次执行SYNC命令,主从服务器需要执行以下动作:1)主服务器需要执行BGSAVE命令来生成RDB文件,.
2021-05-09 18:31:51
993
原创 InnoDB存储引擎学习-关键特性
你未必出类拔萃,但一定与众不同InnoDB的关键特性插入缓冲两次写自适应哈希索引异步IO刷新邻接页一.插入缓冲1.Insert BufferInsert Buffer 是InnoDB存储引擎关键特性中让人激动而又兴奋的功能Insert Buffer和数据页一样,是物理页的一个组成部分在InnoDB存储引擎中,主键是行唯一的标识符,通常应用程序中行记录的插入顺序是按照主键递增的顺序进行插入的,因此插入聚集索引一般是按照顺序的,也就是我们定义表的时候的 AUTO_INCRE.
2021-05-08 23:08:11
1020
原创 Redis学习----服务器(下)
你未必出类拔萃,但一定与众不同Redis服务器(下)serverCron函数redis服务器的serverCron函数默认每隔100毫秒执行一次,这个函数负责管理服务器的资源,并且保持服务器自身的良好运转更新服务器时间缓存服务器状态中的unixtime属性和mstime属性被用作当前时间的缓存因为serverCron函数默认会以每100毫秒一次的频率更新unixtime属性和mstime属性服务器只会在打印日志,更新lru时钟,决定是否执行持久化任务,计算服务器上线时间这些对时间精度要求.
2021-05-05 20:05:55
1012
原创 Centos7.6上利用Docker安装nginx 并且配置https
你未必出类拔萃,但一定与众不同Centos上利用Docker安装nginx 并且配置https准备材料1.一个域名(已经解析到下方服务器)2.一个服务器3.域名相关的ssl证书下面就开始主要步骤以下指令为 指定nginx的挂载目录 docker run --detach \--name wx-nginx \-p 443:443\-p 80:80 \-v /home/evan/workspace/wxserver/nginx/data:/usr/share/nginx/html:r.
2021-05-02 19:49:49
1217
网页版校园分享 后端系统
2021-06-04
码上下单小程序spingboot后台
2021-06-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人