学习笔记
文章平均质量分 91
好记性不如烂笔头
夜间沐水人
你以为世界很小,而你只是在原地转圈圈!
展开
-
Mysql8和Oracle实际项目中递归查询树形结构
Mysql8和Oracle实际项目中递归查询树形结构原创 2023-12-11 23:06:13 · 557 阅读 · 0 评论 -
ReentrantLock源码浅析
1、ReentrantLock可以实现公平锁和非公平锁以及可重入锁的机制,基于AQS和CAS进行加锁处理, 提供了lock和unlock两个api方法进行加锁和释放锁处理。2、以非公平锁为例,lock方法一进去就竞争锁,通过CAS的方式将state变量从0设置为1,如果设置成功,表明竞争锁成功,就将线程变量设置为当前线程,如果失败,就开始排队。3、再次尝试获取锁(tryAcquire),如果继续失败,那么就放弃竞争锁,将自己状态设置为interrupted的。并且开始排队。原创 2023-11-18 15:14:30 · 133 阅读 · 0 评论 -
JAVA中的泛型
泛型是JAVA中的一个重要的概念,它允许你在编译时指定数据类型,从而使得代码更加灵活,更加通用。通过泛型,你可以在通用代码上操作不同数据类型,使得代码更加具有通用性。原创 2023-10-01 11:38:13 · 152 阅读 · 0 评论 -
SpringSecurity6--认证和授权的原理
Spring Security是一个基于Spring框架的安全解决方案,提供了认证和授权等安全方面的大服务,包括身份认证和权限处理两大服务。Spring Security的实现依赖于大量的过滤器,采用责任链模式对请求请求不同的过滤处理。在日常使用中,Spring Security已经实现了基于表单的登录认证和授权模式,只需简单的配置,即可做到拿来即用。当然Spring Security也提供了灵活的其他认证入口,通过实现其暴漏出来的接口即可自定义自己的登录认证和授权方法。原创 2023-07-24 23:05:08 · 392 阅读 · 0 评论 -
VUE3浅析---VNode虚拟节点&diff算法&计算监听属性
VUE3浅析---VNode虚拟节点&diff算法&计算监听属性原创 2023-06-30 23:10:50 · 397 阅读 · 1 评论 -
VUE3浅析---pinia和proxy
Pinia 是 Vue3 的存储库,代替 Vuex 成为VUE3的状态管理工具。相比于 Vuex 它有以下优势:- 不存在mutations,存储数据的方式更加简化。- 在组件上可以直接做存储库中的数据的修改,并且都是响应式的。- 贴合ts。2.2、使用:在src目录下定义文件,使用如下代码初始化pinia仓库并在main.ts中启用piniapinia常用的模块有三个:2.3、在组件中改变仓库中的数据直接赋值使用使用对象改变值使用使用函数改变值,使用函数的好处就是能增减逻辑判断直接使原创 2023-06-22 23:58:09 · 904 阅读 · 1 评论 -
VUE3浅析---路由
vue3中的路由原创 2023-06-15 19:21:02 · 966 阅读 · 0 评论 -
VUE3浅析---组件
vue3中的各种组件。原创 2023-06-12 16:43:40 · 3026 阅读 · 0 评论 -
VUE3浅析---指令以及生命周期
VUE3的内置指令用法实例以及生命周期函数的使用和原理探索原创 2023-06-07 22:54:58 · 648 阅读 · 0 评论 -
VUE3浅析---响应式
VUE3中setup语法糖解决响应式的方案,所有的只要被ref或者reactive包裹的变量,都会转变成响应式。而在VUE2中,要想做成响应式,必须将变量定义在data函数中。原创 2023-05-30 23:13:33 · 1237 阅读 · 1 评论 -
JS中常用的技巧
JS中常用的技巧原创 2023-04-07 22:32:47 · 325 阅读 · 0 评论 -
Java 8 Lambda 表达式 & Stream
1、lambda表达式可以简化匿名内部类的写法,让编码更加便捷。2、Stream流提供了一系列对容器或者集合API操作,提供了一系列的开箱即用的聚合操作函数。原创 2023-02-10 16:33:14 · 620 阅读 · 0 评论 -
简单认识dubbo中的几种负载均衡算法
负载均衡在微服务层次主要解决的是服务器压力的问题,通过负载均衡算法可以将请求分摊到不同的微服务上,从而解决某台微服务因请求压力过大导致服务奔溃现象。本文就dubbo中的几种负载均衡算法进行分析,通过了解dubbo中负载均衡算法的实现,从而熟悉负载均衡算法的核心思想。原创 2022-11-12 10:16:23 · 1021 阅读 · 0 评论 -
Spring事务传播机制
Spring中的Propagation枚举类中定义了七种事务传播机制,事务的传播机制都是针对被调用方来说的。原创 2022-10-06 22:43:20 · 746 阅读 · 0 评论 -
工作中整理的常用的Linux命令
工作中常用的linux命令整理原创 2022-09-28 22:17:10 · 2137 阅读 · 0 评论 -
spring-cloud-alibaba-Nacos2.0.3:注册中心和配置中心框架学习
Nacos是Alibaba开源的产品,主要提供分布式微服务架构中的服务发现,配置管理,服务治理的解决方案。原创 2022-09-01 20:49:21 · 802 阅读 · 2 评论 -
spring-cloud-alibaba-sentinel学习
spring cloud alibaba Sentinel是一个限流和服务熔断降级解决方案。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。...原创 2022-08-05 22:44:06 · 208 阅读 · 0 评论 -
spring-cloud-gateway服务网关学习
服务网关是整个微服务架构中对外开放的统一入口,所有的客户端都通过统一的网关使用微服务,服务网关起到了对外隔离内部系统的作用,是微服务的一个标配组件。原创 2022-07-27 21:45:20 · 672 阅读 · 0 评论 -
Elasticsearch8.x学习
Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎,它能很方便的使大量数据具有搜索、分析和探索的能力。Elasticsearch 具有良好的水平伸缩特性,在实际情况下,可以进行水平扩容的方式,存储海量的数据。数据被存储到Elasticsearch集群中时,Elasticsearch利用分词的特性对数据创建索引(倒排索引),因为Elasticsearch是分布式的,那么一个索引可以被分成多个部分(称为分片)存储,并且引入副本的机制来提高可靠性。一、概述Elasticsear.原创 2022-04-18 20:46:42 · 1410 阅读 · 0 评论 -
Hbase2.4.9学习
HBase是一个分布式的、基于列存储的开源的非关系型数据库。它是一个适合于非结构化数据存储的数据库。Hbase的数据存储依赖HDFS。本文主要是简单的浅显的记录了Hbase的一些理论性知识。一、概述HBase是一个分布式的、基于列存储的开源的非关系型数据库。它是一个适合于非结构化数据存储的数据库。Hbase的数据存储依赖HDFS。二、Hbase表结构[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jdMaGztx-1649865423511)(/home/huanz.原创 2022-04-14 00:04:47 · 2562 阅读 · 0 评论 -
kafka3.x学习
kafka3.x的学习笔记。原创 2022-04-09 14:13:47 · 2474 阅读 · 0 评论 -
Mysql8.+学习笔记
本文主要学记录了Mysql8.+的一些知识。文章目录一、Mysql8.x安装二、Mysql服务的常用命令启动命令:登录 MySQL三、Mysql组件介绍索引分类:创建索引:查看索引使用情况(了解即可,各个指标可以自行百度):视图优势:创建视图:存储过程、函数存储过程:函数:触发器四、Mysql的存储引擎五、Mysql的锁机制Myisam存储引擎:读锁(共享锁)写锁(独占锁)查看表被锁占用情况:show open tables;show status like 'Table_lock%'InnonDB.原创 2022-03-26 00:02:55 · 844 阅读 · 0 评论 -
Redis学习
Redis 是一个可基于内存亦可持久化的日志型的高性能的key-value数据库,一般用于分布式缓存服务或者分布式锁。一、概述Redis 是一个可基于内存亦可持久化的日志型的高性能的key-value数据库,一般用于分布式缓存服务或者分布式锁。二、集群安装假设我们由三台主机:node-01、node-02、node-03,我们考虑搭建一个三主三从的Redis集群。下载redis6.2.6稳定版。下载后解压到指定的目录,进入到解压目录下使用make进行安装,可参考官网。三台主.原创 2022-03-18 11:37:56 · 686 阅读 · 0 评论 -
Hadoop三大组件之Yarn
本文主要介绍了Hadoop三大组件之Yarn的一些知识。文章目录二、Yarn的基础架构三、Yarn的工作机制图解四、Yarn调度器容量调度器:Yarn的默认调度器(yarn-default.xml)。参数配置:容量调度器特点:容量调度器资源分配算法:公平调度器:对资源的分配要求绝对公平。1、公平调度器特点:2、公平调度器资源分配算法:优先选择对资源缺额比较大的任务分配资源,在某一个时刻,某一个任务应分配到的资源与实际上所需要的资源的差值叫做缺额。FIFO调度器:按照到达时间排序,先到先执行。五、Yar.原创 2022-03-03 22:53:13 · 3556 阅读 · 0 评论 -
Hadoop三大组件之MapReduce
本文简单的介绍了mapreduce框架的原理以及工作流程,部分原理性的内容均增加了简单的案例,能够更加直观的理解其中的奥妙,欢迎大家指正。文章目录一、概述二、优缺点三、官方WordCount源码解析:Map/Reduce编程规范:案例:五、Mappr/Reduce框架原理5.1、Job提交流程5.2、MapTask流程:5.3、ReduceTask流程:5.4、切片流程,默认按照文本切片,TextInputFormat5.5、序列化案例:5.6、Parttition分区案例:总结:5.7、Combi.原创 2022-02-21 23:14:31 · 980 阅读 · 0 评论 -
Hadoop三大组件之HDFS
本文着重讲解了HDFS的一些简单操作以及浅显的说明了下HDFS在存储数据时的一些工作原理。原创 2022-01-10 22:52:09 · 1139 阅读 · 0 评论 -
算法系列之入门
算法是结局问题整理的一系列的步骤。本文将整理一些常见的算法,如冒泡排序算法、桶排序算法、插入排序算法等一些比较基础且常见的算法,包括对算法的概念整理以及编码,完整代码在码云上开源,欢迎访问。欢迎大家在阅读指正。原创 2021-12-31 17:15:14 · 409 阅读 · 0 评论 -
zookeeper入门学习
本文主要简单的介绍了zookeeper的相关操作,比如zookeeper基本操作,分布式锁实现,leader选举机制。原创 2021-12-05 21:09:07 · 1001 阅读 · 0 评论 -
JAVA23种设计模式学习,源码+案例分析+类图讲解
本文对JAVA中23种设计模式进行了简单的讲解,幷加以实际案例进行辅助理解,每种模式都会举例说明,幷将源码开源至gitee和githbu上。JAVA目录下为源码,resources目录下的UML文件夹中存放的是每种设计模式对应的UML源文件,本人使用Umbrello linux版。有错误的地方,欢迎大家指正。原创 2021-11-20 21:18:39 · 2684 阅读 · 0 评论 -
ConCurrentHashMap源码分析
本文主要从个人角度着重讲解了ConcurrentHashMap的部分代码。从源码的角度出发,大胆猜测并解释作者的意图。从而学习作者的在代码实现上的优秀思想。文章目录一、关键属性二、关键方法1.ConcurrentHashMap(int initialCapacity)2. putVal(K key, V value, boolean onlyIfAbsent)3. initTable()4. putTreeVal(hash, key, value)5. balanceInsertion(root, x.原创 2021-09-19 17:35:32 · 193 阅读 · 0 评论 -
SpringBoot之嵌入式Servlet容器
本文主要介绍了SpringBoot下,三大内置Servlet的加载原理以Servlet的启动原理,涉及到部分源码解读。原创 2021-08-07 10:41:19 · 504 阅读 · 0 评论 -
JAVA多线程理解
线程(multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。多线程程序应用能够在同一时间执行多于一个任务,进而提升整体处理性能。本文将从最基础的部分开始讲解JAVA线程的知识,最后深入了解JAVA多线程的高级应用以及优化。原创 2021-07-18 12:55:20 · 361 阅读 · 0 评论 -
hadoop-3.2.1全分布式安装教程
搭建hadoop全分布式集群。原创 2020-11-23 22:12:35 · 1248 阅读 · 0 评论 -
JAVA CAS问题原理
JAVA多线程中,线程安全问题是随处可见的问题,JAVA早期版本使用synchronized来保证线程同步。JDK1.5之后引入CAS。文章目录一、CAS的概念二、以AtomicInteger.java为例1、incrementAndGet()方法2、getAndAddInt()方法3、weakCompareAndSetInt()方法4、compareAndSetInt()方法5、atomic_cmpxchg()方法总结一、CAS的概念 CAS(全称:compare and swap,比较和及原创 2021-07-23 01:03:00 · 266 阅读 · 0 评论 -
ubuntu20.04.1下安装Mysql8.0.23
提示:ubuntu20.04.1下安装Mysql8.0.23文章目录一、下载并安装Mysql8.0.231、更新源2、安装mysql-server二、初始化以及使用步骤1、启动/停止/重启/查看mysql服务2、登陆mysql服务总结一、下载并安装Mysql8.0.231、更新源sudo apt-get update2、安装mysql-serversudo apt-get update安装完成后mysql服务会已经启动,并且会提示相关的信息。这里注意看下提示信息即可。本人忘记截图了…原创 2021-03-01 23:05:21 · 738 阅读 · 1 评论 -
apache-zookeeper-3.6.2全分布式安装
文章目录前言二、安装apache-zookeeper-3.6.2三、配置apache-zookeeper-3.6.21、创建zoo.cfg配置文件,通过复制zoo_sample.cfg创建zoo.cfg2、更改zoo.cfg配置文件3、将apache-zookeeper-3.6.2-bin文件夹整体复制到其他两个节点,这一步需要配置节点免密登录,如果未配置,请参考本人另外一篇博客[linux下配置集群机器之间免密登录](https://blog.csdn.net/qq_22610595/article/de原创 2020-12-05 14:13:54 · 1035 阅读 · 0 评论 -
Ubuntu20下安装VMware16虚拟机以及Conter OS 8
Ubuntu20下安装VMware16虚拟机以及Conter OS 8原创 2020-10-15 00:57:31 · 855 阅读 · 0 评论 -
Ubuntu 20下安装git、Deepin-wine、qq、微信
打造一款合适自己的ubuntu,工作起来才会顺手。本文尝试解决了ubuntu下git、qq、微信的无法使用的问题。本文中使用的ubuntu版本是Ubuntu 20.04.1 LTS,按照以下步骤即可完成git、qq、微信的安装。原创 2020-09-21 22:18:46 · 1043 阅读 · 7 评论 -
简单了解Hbase及快速入手之入门教程_01
文章目录一、Hbase概念:二、Hbase特性:三、Hbase的内部原理:四、Hbase单机安装:五、HBase基本操作命令:一、Hbase概念:(1)Hbase是一个开源的、分布式的、多版本的非关系型数据库。(2)Hbase是基于Google的Bigtable的一个java版本,建立在HDF文件系统之上,具有高可靠性、高性能、列式存储、no-sql的近实时读写的数据库。二、Hbase特性:Hbase和其他的关系型数据库一样,都是有表的概念,但是Hbase的表没有固定的字段定义。Hbas原创 2020-08-15 19:23:13 · 465 阅读 · 0 评论 -
深入理解java虚拟机
本文将从JAVA虚拟机的各方面介绍JVM的神秘面纱,包括JAVA虚拟机的内存分布、JAVA虚拟机在执行JAVA程序的底层原理,深入理解JAVA虚拟机。本文的理论知识比较多,有大量的需要记忆的东西。原创 2021-07-04 17:04:19 · 231 阅读 · 0 评论