自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 资源 (13)
  • 问答 (1)
  • 收藏
  • 关注

原创 单点登录原理及JWT实现

官方:JSON Web Token (JWT) is an open standard (RFC 7519HMACRSAorECDSAJSON Web 令牌(JWT)是一种开放标准(RFC 7519) ,它定义了一种紧凑和自包含的方式,用于作为 JSON 对象在各方之间安全地传输信息。可以验证和信任此信息,因为它是数字签名的。JWTs 可以使用 secret (使用 HMAC 算法)或使用 RSA 或 ECDSA 的公钥/私钥对进行签名。

2023-09-19 13:36:59 318

原创 kubernetes核心概念 Service

使用kubernetes集群运行工作负载时,由于Pod经常处于用后即焚状态,Pod经常被重新生成,因此Pod对应的IP地址也会经常变化,导致无法直接访问Pod提供的服务,Kubernetes中使用了Service来解决这一问题,即在Pod前面使用Service对Pod进行代理,无论Pod怎样变化 ,只要有Label,就可以让Service能够联系上Pod,把PodIP地址添加到Service对应的端点列表(Endpoints)实现对Pod IP跟踪,进而实现通过Service访问Pod目的。

2023-09-18 09:03:06 462

原创 3. MongoDB高级进阶

writeConcern 决定一个写操作落到多少个节点上才算成功。writeConcern 的取值包括:• 0:发起写操作,不关心是否成功;• 1~n(n为集群最大数据节点数):写操作需要被复制到指定节点数才算成功;• majority:写操作需要被复制到大多数节点上才算成功。发起写操作的程序将阻塞到写操作到达指定的节点数为止默认行为w: “1”默认的writeConcern,数据写入到Primary就向客户端发送确认大多数节点确认模式w: “all”全部节点确认模式j:true。

2023-09-15 14:46:52 537

原创 2、 MongoDB应用与开发

l选择对应版本修改环境变量PATH创建mongodb存储目录启动命令:客户端连接测试下:MongoDB默认会创建admin、config、local、test数据库。test库是一个默认的数据库,除了test库外admin、config、local库为系统库。admin库主要存储MongoDB的用户、角色等信息,config库主要存储分片集群基础信息,local库主要存储副本集的元数据。

2023-09-15 14:44:20 404

原创 1、MongoDb综述

MongoDB:是一个数据库 ,高性能、无模式、文档性,目前nosql中最热门的数据库,开源产品,基于c++开发。是nosql数据库中功能最丰富,最像关系数据库的。特性l 面向集合文档的存储:适合存储Bson(json的扩展)形式的数据;l 格式自由,数据格式不固定,生产环境下修改结构都可以不影响程序运行;l 强大的查询语句,面向对象的查询语言,基本覆盖sql语言所有能力;l 完整的索引支持,支持查询计划;l 支持复制和自动故障转移;l 支持二进制数据及大型对象(文件)的高效存储;

2023-09-15 14:24:28 273

原创 ES面试总结

Elasticsearch 是什么说一下你对 Elasticsearch 的理解答题要点不要从网上拷贝那些答案,一句话就完事儿了。如果能提一提 ES 的历史,发展等,也能从侧面你的经验很丰富。在基本概念基础之上,可以从自己什么时候接触 ES、用了多少年,主要用来解决什么业务、遇到什么问题,你对 ES 应用场景、作用、相关常识等角度来聊,面试官感觉你对 ES 是有深刻认识的,就不会在同一个问题上继续问下去了。如果你说到了自己不熟悉的地方,及时打住即可。

2023-08-28 14:23:23 107

原创 Spring Cloud 面试突击2

高并发:是一种系统运行过程中遇到的短时间大量的请求操作响应时间:吞吐量:QPS:数据库为维度TPS并发用户数并发的维度:很多的并发是不是达到的当前系统的瓶颈缓存 (第一手段) 降级 限流 限制流量。

2023-08-13 08:27:20 433

原创 Spring Cloud面试突击班1

Spring Cloud 是一套基于Spring Boot的微服务解决方案。Spring Cloud生态在国内主流的分为两套,一套是以奈飞开源的Spring Cloud Netfilx 20%,一套是阿里巴巴开源的Spring Cloud Alibaba 40%,在国外其实Azure以及Amzong同时也有一些单独的组件特别火,比如Spring Cloud Getaway以及Spring Cloud Consul等等。

2023-08-12 15:07:46 423

原创 MySQL中的索引

能表示的整数范围当然也是依次递增,如果我们想要对某个整数列建立索引的话,在表示的整数范围允许的情况下,尽量让索引列使用较小的类型,比如我们能使用INT就不要使用BIGINT,能使用NEDIUMINT就不要使用INT,这是因为数据类型越小,在查询时进行的比较操作越快(CPU层次)数据类型越小,索引占用的存储空间就越少,在一个数据页内就可以放下更多的记录,从而减少磁盘/0带来的性能损耗,也就意味着可以把更多的数据页缓存在内存中,从而加快读写效率。唯一索引的选择性是1,这是最好的索引选择性,性能也是最好的。

2023-08-10 14:28:55 347

原创 事务和事务的隔离级别

1、如果被访问版本的trx_id属性值与ReadView中的creator_trx_id值相同,意味着当前事务在访问它自己修改过的记录,所以该版本可以被当前事务访问。2、如果被访问版本的trx_id属性值小于ReadView中的min_trx_id值,表明生成该版本的事务在当前事务生成ReadView前已经提交,所以该版本可以被当前事务访问。

2023-08-10 14:24:53 737

原创 三、kubeadm部署单Master节点kubernetes集群

2021年04月,Kubernetes 1.21正式与大家见面,这是我们 2021 年的第一个版本!这个版本包含 51 个增强功能:13 个增强功能升级为稳定版,16 个增强功能升级为 beta 版,20 个增强功能进入 alpha 版,还有 2 个功能已经弃用。Kubeadm是为创建Kubernetes集群提供最佳实践并能够“快速路径”构建kubernetes集群的工具。它能够帮助我们执行必要的操作,以获得最小可行的、安全的集群,并以用户友好的方式运行。

2023-08-10 10:18:03 121

原创 二、Kubernetes集群部署方式说明

Kubeadm 是一个工具,旨在提供创建 Kubernetes 集群的最佳实践“快速路径”。kubeadm 执行必要的操作以启动并运行最小的可行集群。按照设计,它只关心引导,而不关心配置机器。同样,安装各种不错的插件,如 Kubernetes 仪表板、监控解决方案和特定于云的插件,也不在范围内。相反,我们希望在 kubeadm 之上构建更高级别和更量身定制的工具,理想情况下,使用 kubeadm 作为所有部署的基础将更容易创建符合要求的集群。用法参考链接。

2023-08-10 10:16:46 92

原创 一、Kubernetes介绍与集群架构

node节点用于运行以及维护Pod, 管理volume(CVI)和网络(CNI),维护pod及service等信息kubelet负责维护容器的生命周期(创建pod,销毁pod),同时也负责Volume(CVI)和网络(CNI)的管理kube-proxy通过在主机上维护网络规则并执行连接转发来实现service(iptables/ipvs)

2023-08-10 10:13:18 1176

原创 并发编程面试题2

AQS就是一个抽象队列同步器,abstract queued sychronizer,本质就是一个抽象类。AQS中有一个核心属性state,其次还有一个双向链表以及一个单项链表。首先state是基于volatile修饰,再基于CAS修改,同时可以保证三大特性。(原子,可见,有序)其次还提供了一个双向链表。有Node对象组成的双向链表。最后在Condition内部类中,还提供了一个由Node对象组成的单向链表。

2023-08-10 09:52:21 560

原创 并发编程面试题1

单例模式中的懒汉机制中,就存在一个这样的问题。懒汉为了保证线程安全,一般会采用DCL的方式。但是单单用DCL,依然会有几率出现问题。线程可能会拿到初始化一半的对象去操作,极有可能出现NullPointException。(初始化对象三部,开辟空间,初始化内部属性,指针指向引用)在Java编译.java为.class时,会基于JIT做优化,将指令的顺序做调整,从而提升执行效率。在CPU层面,也会对一些执行进行重新排序,从而提升执行效率。这种指令的调整,在一些特殊的操作上,会导致出现问题。

2023-08-10 09:45:18 541

原创 ES面试题

Elasticsearch 是什么说一下你对 Elasticsearch 的理解答题要点不要从网上拷贝那些答案,一句话就完事儿了。如果能提一提 ES 的历史,发展等,也能从侧面你的经验很丰富。在基本概念基础之上,可以从自己什么时候接触 ES、用了多少年,主要用来解决什么业务、遇到什么问题,你对 ES 应用场景、作用、相关常识等角度来聊,面试官感觉你对 ES 是有深刻认识的,就不会在同一个问题上继续问下去了。如果你说到了自己不熟悉的地方,及时打住即可。

2023-08-08 16:51:45 103

原创 DDD项目结构

│ │ │ │ └─DictService.java 领域服务,不能归与上述模型,如分页条件查询等可写在此处。│ │ │ │ ├─DictEntity.java 领域实体,充血的领域模型,如本身的CRUD操作在此处。│ │ │ │ ├─DictAgg.java 领域聚合,通常表现为实体的聚合,需要有聚合根。│ │ │ │ ├─DictVo.java 领域值对象。

2023-08-08 14:47:38 243

原创 计算机组成和IO

【我讲了一个精讲IO课程,比较细节的io剖析】国内访问chatai就可以。

2023-08-07 09:54:50 141

原创 Netty面试题3

相比之下,HTTP/2.0采用的是多路复用机制,可以在一个连接上同时传输多个请求和响应,请求之间可以并发处理,从而提高了效率。如果一个应用场景中大多是简短的信息,适合用udp实现,因为udp是基于报文段的,它直接对上层应用的数据封装成报文段,然后丢在网络中,如果信息量太大,会在链路层中被分片,影响传输效率。如果一个应用场景重性能甚于重完整性和安全性,那么适合于udp,比如多媒体应用,缺一两帧不影响用户体验,但是需要流媒体到达的速度快,因此比较适合用udp。登陆之后,会有一个TCP连接来保持在线状态。

2023-08-07 09:33:04 140

原创 netty面试题2

RPC(Remote Procedure Call ——远程过程调用),它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络的技术。一次完整的RPC同步调用流程:1)服务消费方(client)以本地调用方式调用客户端存根;2)什么叫客户端存根?就是远程方法在本地的模拟对象,一样的也有方法名,也有方法参数,client stub接收到调用后负责将方法名、方法的参数等包装,并将包装后的信息通过网络发送到服务端;3)服务端收到消息后,交给代理存根在服务器的部分后进行解码为实际的方法名和参数。

2023-08-07 09:12:06 553 1

原创 Netty面试题1

四次挥手即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。在socket编程中,这一过程由客户端或服务端任一方执行close来触发。由于TCP连接是全双工的,因此,每个方向都必须要单独进行关闭,这一原则是当甲方完成数据发送任务后,发送一个FIN给乙方来终止这一方向的连接,乙方收到一个FIN只是意味着不会再收到甲方数据了,但是乙方依然可以给甲方发送数据,直到这乙方也发送了FIN给甲方。首先进行关闭的一方将执行主动关闭,而另一方则执行被动关闭。见流程图。

2023-08-07 09:10:03 563

原创 MySQL面试1

内存缓冲区 CPU高速缓冲区缓存表数据与索引数据,把磁盘上的数据加载到缓冲池,避免每次访问都进行磁盘IO,起到加速访问的作用。

2023-08-07 08:58:50 336

原创 JVM面试突击班2

Stop-The-World 简称 STW该回收的对象没有被回收不该回收的对象被回收了在STW状态下,所有的线程都是停止运行的 - >垃圾回收线程除外当STW发生时,出了GC所需要的线程,其他的线程都将停止工作,中断了的线程知道GC线程结束才会继续任务STW是不可避免的,垃圾回收算法的执行一定会出现STW,而我们最好的解决办法就是减少停顿的时间GC各种算法的优化重点就是为了减少STW,这也是JVM调优的重点。当我们进行young gc时,我们的。

2023-08-03 14:11:14 827

原创 JVM面试突击1

*那一个线程执行的状态如何维护?[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wC4iBzmK-1691042931152)(file://E:\桌面\yzt\笔记课件\JVM\3天JVM训练营\资料+笔记\images\25.png?[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HUZgY6eZ-1691042931174)(file://E:\桌面\yzt\笔记课件\JVM\3天JVM训练营\资料+笔记\images\25.png?

2023-08-03 14:09:35 661

原创 Java基础面试题3

start方法是我们开启一个新的线程的方法,但是并不是直接开启,而是告诉CPU我已经准备好了,快点运行我,这是启动一个线程的唯一入口。void start() // 导致此线程开始执行;Java虚拟机调用此线程的run方法。生命周期:对象从创建到销毁的全过程线程的生命周期:线程对象(Thread)从开始到销毁的全过程创建 Thread对象就绪状态 执行start方法后线程进入可运行的状态运行状态 CPU运行阻塞状态 运行过程中被中断(等待阻塞,对象锁阻塞,其他阻塞)

2023-08-03 13:47:53 404

原创 Java基础面试题2

start方法是我们开启一个新的线程的方法,但是并不是直接开启,而是告诉CPU我已经准备好了,快点运行我,这是启动一个线程的唯一入口。void start() // 导致此线程开始执行;Java虚拟机调用此线程的run方法。生命周期:对象从创建到销毁的全过程线程的生命周期:线程对象(Thread)从开始到销毁的全过程创建 Thread对象就绪状态 执行start方法后线程进入可运行的状态运行状态 CPU运行阻塞状态 运行过程中被中断(等待阻塞,对象锁阻塞,其他阻塞)

2023-08-03 13:42:17 395

原创 Mysql面试突击班索引,事务与锁

索引使用原则(索引怎么使用才合理)我们容易有一个误区,就是在经常使用的查询条件上都建立索引,索引越多越好,那到底是不是这样呢?列的离散(sàn)度第一个叫做列的离散度,我们先来看一下列的离散度的公式:不同值得数量:总行数 越接近1 那么离散度越高,越接近0,离散度越低count(distinct(column_name)) : count(*),列的全部不同值和所有数据行的比例。数据行数相同的情况下,分子越大,列的离散度就越高。联合索引最左匹配。

2023-08-03 13:34:11 412

原创 Java基础面试题1

基本类型大小(字节)默认值封装类byte1(byte)0Byteshort2(short)0Shortint40Integerlong80lLongfloat40.0fFloatdouble80.0dDoublebooleanfalseBooleanchar2Characterboolean: int 4个字节int是基本数据类型,Integer是int的封装类,是引用类型。

2023-08-03 11:46:09 295

原创 Redis面试题-3

Spring 是一个开源的应用程序框架,它起源于 Rod Johnson 在其著名的 Spring Framework 专著中提出的一个轻量级框架的观念。自从 2003 年发布以来,Spring Framework 在 Java 开发社区中变得越来越流行,并成为了多个企业级应用开发的首选框架之一。

2023-08-03 11:33:25 62

原创 Spring源码面试题

Spring 是一个开源的应用程序框架,它起源于 Rod Johnson 在其著名的 Spring Framework 专著中提出的一个轻量级框架的观念。自从 2003 年发布以来,Spring Framework 在 Java 开发社区中变得越来越流行,并成为了多个企业级应用开发的首选框架之一。

2023-08-03 11:30:33 83

原创 Springboot源码面试题

HyperLogLog基于概率论中伯努利试验并结合了极大似然估算方法,并做了分桶优化。实际上目前还没有发现更好的在大数据场景中准确计算基数的高效算法,因此在不追求绝对准确的情况下,使用概率算法算是一个不错的解决方案。概率算法不直接存储数据集合本身,通过一定的概率统计方法预估值,这种方法可以大大节省内存,同时保证误差控制在一定范围内。目前用于基数计数的概率算法包括:举个例子来理解HyperLogLog算法,有一天李瑾老师和马老师玩打赌的游戏。

2023-08-03 11:17:47 93

原创 Redis面试题2

HyperLogLog基于概率论中伯努利试验并结合了极大似然估算方法,并做了分桶优化。实际上目前还没有发现更好的在大数据场景中准确计算基数的高效算法,因此在不追求绝对准确的情况下,使用概率算法算是一个不错的解决方案。概率算法不直接存储数据集合本身,通过一定的概率统计方法预估值,这种方法可以大大节省内存,同时保证误差控制在一定范围内。目前用于基数计数的概率算法包括:举个例子来理解HyperLogLog算法,有一天李瑾老师和马老师玩打赌的游戏。

2023-08-03 11:04:23 307

原创 六、JVM-垃圾收集器浅析

使用G1收集器时,Java堆的内存布局与就与其他收集器有很大差别,它将整个Java堆划分为多个大小相等的独立区域(Region),虽然还保留有新生代和老年代的概念,但新生代和老年代不再是物理隔离的了,它们都是一部分Region(不需要连续)的集合。Parallel Scavenge收集器是一个新生代收集器,它也是使用复制算法的收集器,又是并行的多线程收集器,看上去和ParNew一样,但是Parallel Scanvenge更关注系统的。

2023-08-02 13:59:18 386

原创 五、JVM-垃圾回收算法

常见的回收算法:标记清除算法、复制算法、标记-整理算法、分代收集算法。

2023-08-02 13:50:39 664

原创 四、JVM-对象内存模型

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TozDqf03-1690947472825)(file://E:/%E6%A1%8C%E9%9D%A2/yzt/%E7%AC%94%E8%AE%B0%E8%AF%BE%E4%BB%B6/JVM/3%E5%A4%A9JVM%E8%AE%AD%E7%BB%83%E8%90%A5/%E8%B5%84%E6%96%99+%E7%AC%94%E8%AE%B0/images/21.png?

2023-08-02 11:38:51 781

原创 三、JVM-如何判断对象已死问题

弱引用(Weak Reference)对象与软引用对象的最大不同就在于:GC在进行回收时,需要通过算法检查是否回收软引用对象,而对于Weak引用对象, GC总是进行回收。不可见阶段的对象在虚拟机的对象根引用集合中再也找不到直接或者间接的强引用,最常见的就是线程或者函数中的临时变量。程序不在持有对象的强引用。(2)所有对该对象的引用全部是强引用(除非我们显式地使用了:软引用(Soft Reference)、弱引用(Weak Reference)或虚引用(Phantom Reference))

2023-08-02 11:11:49 817

原创 二、JVM-深入运行时数据区

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DKM11KRx-1690942179027)(file://E:\桌面\yzt\笔记课件\JVM\4天JVM训练营\资料+笔记\images\01.png?

2023-08-02 10:12:23 628

原创 MQ面试题3

零拷贝(英语: Zero-copy) 技术是指计算机执行操作时,CPU不需要先将数据从某处内存复制到另一个特定区域。这种技术通常用于通过网络传输文件时节省CPU周期和内存带宽。➢零拷贝技术可以减少数据拷贝和共享总线操作的次数,消除传输数据在存储器之间不必要的中间拷贝次数,从而有效地提高数据传输效率➢零拷贝技术减少了用户进程地址空间和内核地址空间之间因为上:下文切换而带来的开销可以看出没有说不需要拷贝,只是说减少冗余[不必要]的拷贝。

2023-08-01 15:34:59 494

原创 MySQL性能优化

索引下推是索引下推是 MySQL 5.6 及以上版本上推出的,用于对查询进行优化。索引下推是把本应该在 server 层进行筛选的条件,下推到存储引擎层来进行筛选判断,这样能有效减少回表。举例说明:这条语句从最左匹配原则上来说是不符合的,原因在于只有name用的索引,但是age并没有用到。比较二者的第二步我们发现,索引下推的方式极大的减少了回表次数。

2023-08-01 14:34:56 105

原创 四、Spring源码-DI的过程

接下来我们分析下Spring源码中Bean初始化过程中的DI过程。也就是属性的依赖注入。

2023-07-31 16:25:57 102

springcloud2020第二季源代码和脑图

springcloud2020第二季思维导图笔记,思维导图整理,要安装mindmanager打开

2020-06-03

H5讯飞语音听写js

H5请求webapi,实现讯飞语音听写、语音合成、语义理解功能

2018-07-18

mybatis-generator带数据库文档,修改mapper名字工具

mybatis-generator带数据库文档,修改mapper名字工具

2017-06-12

elasticsearch权威指南中文pdf

elasticsearch权威指南中文pdf

2017-06-09

阿里2017java开发规范

阿里2017java开发规范

2017-06-09

支付宝微信支付demo

pay 支付宝微信支付demo

2017-06-02

dubbo-admin2.8.4.war

dubbo-admin2.8.4.war

2017-06-01

sonarqube4.5.x插件合集

sonarqube4.5.x插件合集

2017-05-24

elasticSearch5.4-tar.gz

elasticSearch5.3-tar.gz

2017-05-17

javaPC2048

最近无聊写的,不喜勿喷,新手可下载看看,请多多包函

2014-05-27

FileUpload

提供FileUpload文件上传文档,及使用手册

2014-05-20

BBS论坛模板

简单BBS静态模板 ,适合学习web的初学者

2014-05-20

java考勤系统

根据老师的要求,本系统可以实现一下目标:      载入学生名单:使用外存存储学生名单信息,能够读入系统(这里使用的是txt文件,文件中的名字用“/”隔开)      2、保存学生缺勤的信息(保存到外部文件,这里用txt文件保存      3、显示当前时间,第几周,第几节课,星期几。      具有随机提问功能(且同一堂课一个人的名字不重复被点到)      按循序点名      换背景图片的功能(选择外部图片作为背景)      有登录界面(密码保护:用户名:user 密码:password)      系统操作简单,界面友好      使用本地文件存储

2014-05-20

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

TA关注的人

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