自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 标题:Java中的逻辑与、短路与、逻辑或、短路或操作解析

总结:在Java中,逻辑与、短路与、逻辑或、短路或操作符是用于连接布尔表达式的有用工具。使用这些操作符时,应注意它们之间的区别,特别是在短路操作符中,即使第一个表达式的结果已经确定,第二个表达式仍然会被计算。在Java中,逻辑运算符是用于连接布尔类型表达式的操作符。这是因为短路与操作符不会跳过第二个表达式的计算。,则另一个表达式将不会被计算,因为整个表达式的结果已经可以确定为。)用于连接两个布尔表达式,只有当两个表达式的结果都为。)用于连接两个布尔表达式,只要其中一个表达式的结果为。

2023-09-24 20:10:35 294

原创 java写一个5字棋

这个代码实现了一个简单的五子棋游戏,可以在控制台中进行游戏。

2023-05-17 14:23:56 165

原创 HDFS基础知识

5.客户端拿到这三个节点后,创建一个流,向离的最近的一个节点(dn1)进行请求建立Block传输通道,而最近的节点(dn1)会向另外的节点(dn2)进行请求建立通道,另外的节点(dn2)会向第三个节点请求传输通道(dn3)4.NameNode进行计算,选择副本存储节点,第一个选择的是本地节点,第二个选择的是其他机架的一个节点,第三个是其他机架的另一个节点(默认三个副本存储节点)。当都通过的时候响应客户端,反馈可以上传文件。数据块分配:HDFS 将数据块分配给不同的节点,每个节点存储一定数量的数据块。

2023-05-15 16:45:40 712

原创 大数据知识

HFile:MemStore执行flush会生成HFile,同时HFilewe年过多时候也会进行Merge, 为了减少这。MemStore进行flush时,属于同一个Region的Store中的MemStore都会进行flush,增加I/O。Region:没有预建分区的话,随着Region中条数的增加,Region会进行分裂,这将增加I/O开。HBase中有几个内容会动态调整,如Region分区、HFile。简短性:RowKey作为key的一部分存储在HFile中,如果为了可读性将rowKey设计得过长,

2023-04-07 20:25:16 484

原创 yarn知识点

8、一但应用程序执行完成并且所有相关工作也已经完成,ApplicationMaster向ResourceManager取消注册然后关闭,用到所有的Container也归还给系统,当container被杀死。ApplicationMaster,并建立ApplicationMaster的RPC端口和用于跟踪的URL,用来监控应用程序。container(通常称为container0)。ApplicationMaster就可以检查他们的状态,Resourcemanager不在参与程序的执行,只处理调度。

2023-04-07 20:24:50 365

原创 安装Zookeeper

4 WatchedEvent state:SyncConnected type:NodeDataChanged path:/hadoop #节点值改变使用 ls path [watch] 或 ls2 path [watch] 注册的监听器能够监听该节点下所有子节点的增加和。独立安装Zookeeper是为向Hadoop和HBase共同提供服务的,Zookeeper对操作系统、软件和网络环境的要求与这些组件基本一致,能够安装Hadoop和HBase的节点也可以直接安装Zookeeper。节点各个属性如下表。

2023-04-07 20:21:54 255

原创 安装Zookeeper

安装ZookeeperZK是一个分布式应用服务协调服务,安装部署有单节点模式和分布式集群模式两种。独立安装Zookeeper是为向Hadoop和HBase共同提供服务的,Zookeeper对操作系统、软件和网络环境的要求与这些组件基本一致,能够安装Hadoop和HBase的节点也可以直接安装Zookeeper。下载Zookeeper可以得到一个压缩包,将其解压到权限合适的目录即可完成基本部署。其中bin目录下为可执行命令,conf目录下为配置文件,lib目录下为对应的库包。

2023-03-18 15:10:18 631

原创 ZooKeeper

当出现故障而又想要保存之前创建的会话时,只需要在sessionTimeout规定的时间内重新连接上集群的任意一台服务器即可ZooKeeper对外的服务端口默认是2181,当客户启动时新建立的TCP连接也将第一次启动,它能通过心跳检测与服务器保持有效会话,同时还会向ZK发送请求并接受响应,另外还能接收来自服务器的watch事件通知。zk的核心是原子广播,就是对zk集群上的所有主机发送数据包,通过这个机制保证各个节点之间的数据同步,实现这个机制是依赖zk中的一个内部协议,这个协议有恢复模式和广播模式两种。

2023-03-18 14:17:11 471

原创 YARN统一资源管理

这些请求是通过心跳来传输的, 包括每个 map 任务的数据位置,比如存放输入 split 的主机名和机架 (rack),调度器利用这些信息来调度任务,尽量将任务分配给存储数据的节点, 或者分配给和存放输入split 的节点相同机架的节点。作业的 client 核实作业的输出, 计算输入的 split , 将作业的资源(包括 Jar 包,配置文件, split 信息) 拷贝给 HDFS (第 3 步)。bookkeeping 对象来监控作业的进度, 得到任务的进度和完成报告 (第 6 步)。

2023-03-16 21:23:20 410

原创 大数据技术

大数据技术。

2023-03-07 19:42:13 50

原创 大数据技术

大数据大数据。

2023-03-03 20:23:10 46

原创 Spring 框架有哪些自动装配模式,它们之间有何区别?

首先,首先会尝试找合适 的带参数的构造器,如果找到的话就是用构造器自动装配,如果在 bean 内部没有找到相应的构造器或 者是无参构造器,容器就会自动选择 byTpe 的自动装配方式。当向一个 bean 中自动装配一个属性时,容器将 根据 bean 的类型自动在在配置文件中查询一个匹配的 bean。constructor :构造器的自动装配和 byType 模式类似,但是仅仅适用于与有构造器相同参数的 bean ,如果在容器中没有找到与构造器参数类型一致的 bean ,那么将会抛出异常。

2023-02-20 23:29:12 145

原创 springmvc的核⼼是什么,请求的流程是怎么处理的,控制反转怎么实现的?

3、DispatcherServlet⸺>HandlerAdapter,HandlerAdapter 将会把处理器包装为适配器,从⽽⽀ 持多种类型的处理器,即适配器设计模式的应⽤,从⽽很容易⽀持很多类型的处理器;1、⾸先⽤⼾发送请求⸺>DispatcherServlet,前端控制器收到请求后⾃⼰不进⾏处理,⽽是委托给 其他的解析器进⾏ 处理,作为统⼀访问点,进⾏全局的流程控制;springmvc的核⼼是什么,请求的流程是怎么处理的,控制反转怎么实现的?

2023-02-20 23:26:45 153

原创 MyBatis的工作原理

基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是。共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。文件可以加载多个映射文件,每个文件对应数据库中的一张表。将操作数据库的结果按照映射的配置进行转换,可以转换成。和参数拿到数据库进行执行,得到操作数据库的结果。该参数是对映射信息的封装,用于存储要映射的。执行和执行结果映射处理等。的运行环境等信息,例如数据库连接信息。语句、结果映射配置),存储在内存中。映射文件,该文件中配置了操作数据库的。

2023-02-14 09:45:58 280

原创 使用Spring框架的好处是什么

通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。提供一个持续的事务管理接口,可以扩展到上至本地事务下至全局事务(这些模块主要被分如下图所示的核心容器 、 数据访问。支持面向切面的编程,并且把应用业务逻辑和系统服务分开。(面向切面编程) 、 工具 、 消息和测试模块。包含并管理应用中对象的生命周期和配置。抛出的)转化为一致的unchecked。把具体技术相关的异常(比如由。框架是个精心设计的框架,是。框架的一个很好的替代品。是轻量的,基本的版本大约。

2023-02-13 21:24:30 460

原创 Spring工厂模式

以上代码就是通过抽象工厂来实现层与层之间的解耦,这种情况下如果想要更新别外一个实现类,只需要修改配置文件就可以了,注意这里只是降低了层与层之间的复杂度,并没有让耦合消失,实际上层与层是不可能没有耦合的。可以使用抽象工厂模式,让StudentDao、StudentService的实现在在工厂中生成,而工厂可以根据配置 文件的指定类型来创建不同的对象,而且工厂本身一般是不变的。最终目标还是需要使用某个实现,但是为了解除耦合引入工厂类,传递工厂类一个名称,由工厂类封装 了具体的创建对象流程。

2023-02-11 10:32:13 578

原创 Spring框架

以上代码是有问题的,即在控制层中依赖了具体的业务逻辑层,在业务逻辑层中依赖了具体的数据访问层,这样就和具体的实现类耦合在了一起,也没有发挥面向接口编程的作用。如果要更换(如要换成 StudentOracleImpl),就需要修改源代码,但是项目很多模块都需要同时修改,这样会非常麻烦;的依赖隐藏在了代码中,也不适合全局把握整个项目,因此维护性和二次开发比较麻烦。上的替代语言,并且可以根据应用程序的需要,进行灵活地创建多种架构体系。文件,覆盖原来的文件,不利于项目的后期维护,而且项目与项目之间。

2023-02-11 10:21:14 411

原创 简介JWT

前端可以将返回的结果保存在浏览器中,退出登录时删除保存的JWT Token。认证机制的应用程序不需要去考虑用户在哪一台服务器登录了,这就为应用的扩展提供了便利,jwt。进行身份认证的话,需要保存一份信息在服务器端,而且这种方式会依赖到Cookie。由于使用了不可逆的加密算法,无法解码出原文,它的作用是校验。、后端核对用户名和密码成功后,将包含用户信息的数据作为。可以被保存在客户端的任意位置的内存中,不一定是。,再用加密算法加密一下,加密的时候要放进去。每部分的作用,在服务端接收到客户端发送过来的。

2023-02-03 09:29:07 157

原创 Redis缓存穿透、缓存击穿和缓存雪崩,以及解决办法

这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力。,然后再去访问数据库,还是没有,那么就在缓存里放一个占位符,下次来的时候,检查这个占位符,如果发生时占位符,就不去数据库查询了,防止。,防止缓存宕机使用断路器,如果缓存宕机,为了防止系统全部宕机,限制部分流量进入。,同时数据库也没有,如果黑客大量的使用这种方式,那么就会导致。解决方案:可以使用一个默认值来防止,例如,当访问一个不存在的。压力倍增,可能导致宕机,但实际上,查询的都是相同的数据。

2023-02-01 21:11:24 3551

原创 MyBatis工作原理及循环依赖

对于构造器的循环依赖,Spring 是无法解决的,只能抛出 BeanCurrentlyInCreationException 异常表示循环依赖,所以下面我们分析的都是基于 field 属性的循环依赖。比如“A对象依赖B对象,而B对象也依赖A对象”,或者“A对象依赖B对象,B对象依赖C对象,C对象依赖A对象”;A对象需要注入B对象,发现对象池(缓存)里还没有B对象(对象在创建并且注入属性和初始化完成之后,会放入对象缓存里)。类型的参数, 该参数是对映射信息的封装,用于存储要映射的。

2023-01-31 21:34:45 1455

原创 SpingMVC工作原理及流程图解读及springmvc常用到的注解

3、HandlerMapping找到具体的处理器(可查找xml配置或注解配置),生成处理器对象及处理器拦截器 (如果有),再一起返回给DispatcherServlet。5、HandlerAdapter经过适配调用具体的处理器(Handler/Controller)。2、DispatcherServlet收到请求调用HandlerMapping(处理器映射器)。4、DispatcherServlet调用HandlerAdapter(处理器适配器)。11、DispatcherServlet响应用户。

2023-01-31 21:19:14 69

原创 SpingBoot知识点

Primary:它是一个修改优先权的注解,比如上面的例子,当我们有猫有狗时,假设这次使用猫,name只需要在猫类的定义上加入@Primary就可以了这里的@Primary的含义告诉SpringIOC容器,当发现有多个同类型的Bean时,请优先使用我。除非你不希望使用SpringBoot的默认配置,它也提供了自定义配置的入口。AOP的功能简单来说就是将程序中的重复代码抽取出来,在需要执行的时候通过动态代理的方式,在不修改代码的基础上,实现对功能增强,提高程序的可用性,同时也能大大提高开发效率。

2023-01-29 21:45:14 316

原创 LayUI分享

页面,后端不再控制前 端的效果,从后端请求的数据如何加载到前端中,都由前端自己决定,后端仅仅需要提供一套逻辑对外 提供数据即可,并且前端与后端的耦合度相对较低,在这种模式中通常将后端开发的每个视图都成为一 个接口或者API。该框架极大的好处就是定义了很多前后端交互的样式接口,例如分页表格,只需要 在前端配置好接口,后端则按照定义好的接口规则返回数据,即可完成页面的展示,极大减少了后端人 员的开发成本。端主要保证数据接口的提供,包括数据格式、校验、异常处理、数据的一致性问题、权限问题等。

2023-01-29 21:29:04 465

原创 使用Spring框架的好处是什么?

通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的。提供一个持续的事务管理接口,可以扩展到上至本地事务下至全局事务(支持面向切面的编程,并且把应用业务逻辑和系统服务分开。包含并管理应用中对象的生命周期和配置。把具体技术相关的异常(比如由。框架是个精心设计的框架,是。框架的一个很好的替代品。是轻量的,基本的版本大约。

2022-12-29 21:45:28 188

原创 Spring由哪些模块组成?

这些模块主要被分如下图所示的核心容器 、 数据访问。(面向切面编程) 、 工具 、 消息和测试模块。

2022-12-28 21:24:53 156

原创 MyBatis

关键字,并会删掉额外的逗号(这些逗号是在使用条件语句给列赋值时引入的)元素可以用于动态包含需要更新的列,忽略其它不更新的列。子句 where标签另外提供功能,就是子句的开头为。、定义映射元文件,用于指定对应关系和对应的。元素只会在子元素返回任何内容的情况下才插入。是一款优秀的持久层框架,它支持自定义。代码以及设置参数和获取结果集的工作。、根据表结构定义对应的实体类。对象)为数据库中的记录。用于实现单元测试的支持。元素也会将它们去除。标签体不为空,则自动在。标签体内容的前部添加前缀。开头,则自动剔除开头的。

2022-12-02 21:02:47 374

原创 MVC模式

它使用一种业务逻辑、数据、界面显示分离的方法,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。是模型视图控制器的缩写,是一种软件设计典范,是一种架构型的模式,本身不引入新功能,只是帮助将开发的结构组织的更加合理。开发:非常简单高效,特别适合微型应用开发,但是代码基本上不具备重用性,开发效率低,难于维护。一般使用Servlet。内容,这样就容易导致代码维护困难,可读性差,不能支持所见即所得的开发。:职责清晰,适合大型项目,但是分层过多,不适合小型项目的开发。

2022-11-30 08:58:03 120

原创 servlet常见问题

Servlet是一个用于扩展服务器端功能的服务器端组件技术 运行在服务器端,所以调用执行是由服务器负责 在web.xml中需要进行配置,就是将servlet和一个请求地址建立对应关系,当浏览器对地址 发起请求时,服务器则按照规则调用serlvet类中的方法 服务器端的组件技术 直接或者间接的实现Servlet接口 用于扩展服务器端功能,可以实现动态网页的开发。一般情况下,在会话中,服务器存储的session是通过sessionid存储在cookie中,来存储在客户端的。

2022-11-28 21:05:31 521

原创 监听器

属性的内容,当 servletRequest对象被销毁的时候调用销毁时的方法打印出当前浏览量,这样就简单的实现了。对象的方法调用 或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行。在需要监听事件源的方法中,方法体的某一处先构造创建一个Event。注解用于声明过滤器,该注解将会在部署时被容器处理,容器根据具体的属性配置将相应的。监听器就是监听某个对象的的状态变化的组件,是基于观察者模式设计的。文件中的和的子标签该注解通常不单独使用,而是配合。的监听器,可以监听客户端的请求,服务端的操作等。

2022-11-28 20:55:43 1609

原创 过滤器

因此,如果开发人员对一个过 滤器类声明了两次,则容器将实例化两个相同的过滤器类的实例。主要解决:职责链上的处理者负责处理请求,客户只需要将请求发送到职责链上即可,无须关心请求的。容器提供了声明在过滤器 的部署描述符的过滤器config。那样对请求作出响应,而是修改或调整到资源的请求,修改或调整来自资源的响应。需要注意的是,这个方法的请求和响应参数的类型是。处理细节和请求的传递,所以职责链将请求的发送者和请求的处理者解耦了。过滤器它只关心请求的地址是否匹配, 不关心请求的资源是否存在。这种模式给予请求的类。

2022-11-23 21:10:41 221

原创 常见问题小结

Servlet是一个用于扩展服务器端功能的服务器端组件技术 运行在服务器端,所以调用执行是由服务器负责 在web.xml中需要进行配置,就是将servlet和一个请求地址建立对应关系,当浏览器对地址 发起请求时,服务器则按照规则调用serlvet类中的方法 服务器端的组件技术 直接或者间接的实现Servlet接口 用于扩展服务器端功能,可以实现动态网页的开发。一般情况下,在会话中,服务器存储的session是通过sessionid存储在cookie中,来存储在客户端的。

2022-11-22 09:24:20 227

原创 cookie

是一个客户端会话技术,是由服务器端创建,放在响应头发送到客户端保存,用于存储少量数据,因为存放在客户端中,容易被人编造伪造,不是很安全。的转移,在大型的网站,一般会有专门的Session服务器集群,用来保存用户会话,这个时候。库、文件中 Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现。是保存在客户端的数据,所以如果不做设定,默认情况下是跟着客户端一起消失,如果设置。是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据。属性,其他属性是不可读的。

2022-11-18 21:14:49 635

原创 List接口

删除指定位置上的元素,并返回被删除的元素,原始位置上的元素前。按照索引序号获取指定位置上的元素,需要不能越界。向指定位置上添加元素,原始数据后移。LinkedList的区别是什么。list接口的常用实现类。的下标位置,如果查不到则返。在多线程情况下,不建议使用。list接口的常用方法。是由数组实现数据存储的。修改指定位置上的元素,从前向后查找第一次出现。

2022-11-17 21:41:32 247

原创 Servlet常见问题

Servlet是一个用于扩展服务器端功能的服务器端组件技术 运行在服务器端,所以调用执行是由服务器负责 在web.xml中需要进行配置,就是将servlet和一个请求地址建立对应关系,当浏览器对地址 发起请求时,服务器则按照规则调用serlvet类中的方法 服务器端的组件技术 直接或者间接的实现Servlet接口 用于扩展服务器端功能,可以实现动态网页的开发。一个Servlet在运行service()方法时可能会产生其他的线程,因此需要确认在调用destroy()方法时,这些线程已经终止或完成。

2022-11-17 21:34:12 464

原创 Java反射机制

返回一个包含某些 Method 对象的数组,这些对象反映此 Class 对象所表示的类或接口(包括那些由该类或接口声明的以及从超类和超接口继承的那些的类或接口)的公共 member 方法。返回 Method 对象的一个数组,这些对象反映此 Class 对象表示的类或接口声明的所有方法,包括公共、保护、默认(包)访问和私有方法,但不包括继承的方法。当类被加载成.class文件时,此时Person类变成了.class,在获取该字节码文件对象,也就是获取自己, 该类处于字节码阶段。运用.class 语法。

2022-11-16 20:17:16 85

原创 JavaScript

对象中的命令变量称为属性,对象中的函数称为方法。方法用于检索字符串中指定的子字符串或检索与正则表达式相匹配的子字符串。是一种基于对象的事件驱动的设计语言,所以在编写程序的过程中要遇到各种各样的事件,所。中一旦抛出异常则立即终止后续代码的执行,寻找可以处理异常的对应的异常捕捉代码块。中函数也是一个对象,可以将函数作为一个值赋给变量,函数名就是这个对象的引用。义一个规则,凡是符合规则的字符串就认为它匹配了,否则该字符串就是不合法的。方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。

2022-11-16 20:14:51 96

原创 Servlet

的中文乱码问题,但是一般不采用这种方式,因为处理 比较繁琐。一般数据是传送给服务器使用的,不是给应用直接使用的。这个获取初始化参数的方法也可以在其它方法中进行调用,从而获取配置参数。所有雇员,并不传递中文的【教学部】参数,而是传递教学部对应的编号值。两个只是用于读取,并没有提供修改方法,属性信息提供了读写操作方法。请求,获取请求参数的方法一致,只是编程时需要注意对应的。值,优势在于方便修改,最大的缺陷在于额外查询。用于扩展服务器端功能,可以实现动态网页的开发。接口类型,由服务器提供的实现,服务器在调用。

2022-11-14 20:26:27 150

原创 MySQL索引

中索引不建议使用过长的字段作为主键,因为所有的辅助索引都要使用主索引,过长的主索引 会导致辅助索引变大,建议使用整型数据充当主键,占用空间少,比较速度快。需要注意的是:如果主键自增长,那么不能直接删除。如果要查询的字段都建立了索引,那么存储引擎会直接在索引表中进行查询,而不会访问原始数据,这个叫做索引覆盖。实际上在具体开发中通常不会删除主键,因为主键有自然主键和代理主键两种,建议的使用的是代理主键,代理主键和业务规则无关。采用的是全表锁,存储数据在内存中,速度快,但是占用和数据量成正比的内存空间,而。

2022-10-27 21:46:06 346

原创 mysql图形化客户端和B树 B+树

磁盘的读取并不是严格的按需读取,每次都会预读,这是依据局部性原理:当一个数据被用到时,其附 近的数据也通常会被用到。首先需要建立索引的数据规模比较大,所以造成索引的数据量也不会太小,不可能全部存储在内存中, 索引经常需要以文件的形式存储在磁盘上,所以索引查找过程中就需要有磁盘IO。树,只是查找时,如果非叶子节点上的关键字等于给定值时,并不终止,而是继 续沿着指针指到叶子节点位置。非叶子节点相当于叶子节点的索引,叶子节点相当于存储数据的存储层。所有关键字都存储在叶子节点上,且链表中的关键字恰好是有序的。

2022-10-27 21:38:12 481

原创 mysql函数

提供了丰富的内置函数,这些函数使得数据的维护与管理更加方便,能够更好地提供数据的分析 与统计功能,在一定程度上提高了开发人员进行数据分析与统计的效率。提供的内置函数从实现的功能角度可以分为数值函数、字符串函数、日期和时间函数、流程控制 函数、加密与解密函数、获取MySQL。内置函数是系统内置的通用函数,而自定义函数是根据自己的需要编写的。实际上,只有很少的函数是被。之后,可以使用分组字段和分组中的计算函数,对分组的结果集进行筛选,这个功能是。函数的代码可移植性是很差的,因此 在使用函数的时候需要特别注意。

2022-10-10 21:30:44 253

空空如也

空空如也

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

TA关注的人

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