自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【软件注册表】npm

是指在使用npm管理的项目中,运行名为build的自定义脚本。这个具体的操作会根据项目的需求而有所不同,例如在React项目中,build脚本会使用webpack将JSX转换为JavaScript,并生成静态文件。在Vue项目中,build脚本会使用Vue CLI将Vue组件编译成JavaScript,并生成打包后的静态文件。

2023-04-21 16:44:15 798 1

原创 【AJAX】异步JavaScript和XML

AJAX的全名是"Asynchronous JavaScript and XML",即异步JavaScript和XML。是一种通过JavaScript和XML在浏览器与服务器间进行异步数据交互的技术。它可以在不刷新整个页面的情况下,局部更新页面内容,提高用户体验。

2023-04-21 16:17:13 228

原创 vue2.x 学习笔记

div标签(HTML)div标签的作用是,。DIV元素,是用来为HTML文档内大块(block-level)的内容提供结构和背景的元素。DIV标签,称为区隔标记。什么是vuevue是响应式数据驱动:页面是由数据来生成的,数据改变之后,页面也会变动。一个基本的vue页面。

2023-04-17 17:34:57 554

转载 Hbuilder X 创建Vue2项目详细过程

方法/步骤1.首先打开Hbuilder创建一个新项目,如下图所示2.接着模板选择Vue项目,如下图所示3.然后等待一会项目就创建好了,如下图所示4.接着右键单击选择npm run build,如下图所示5.然后继续右键单击选择npm run serve,如下图所示6.接着找底部出现的地址和端口号,如下图所示7. 最后在浏览器中输入即可访问vue页面了,如下图所示。

2023-04-16 17:28:59 1546

原创 【ER图】数据库实体关系图

例如,在一个学生选课系统的ER图中,除了包含概念型ER图中的实体及其关系之外,还可能包含实例数据、主键、外键等信息。1. 概念型ER图:常用于数据库设计的初步阶段。例如,一个图书馆的ER图中可能包含实体图书、借阅者、管理员,以及它们之间的关系,如借阅和管理。ER图(Entity-Relationship Diagram)是一种图形化的数据建模工具,用于描述实体之间的关系,是数据库设计的重要工具。总之,ER图是一种在数据库设计中非常有用的工具,可以帮助设计师更好地理解实体间的关系,以及数据库的结构和功能。

2023-04-11 17:55:46 3967

原创 对于Java的前端知识扫盲

Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它让JavaScript可以在服务器端运行。Node.js提供了非阻塞I/O、事件驱动的编程模型,使得服务器端的JavaScript可以高效地处理大量并发请求。与此相比,JDK是Java Development Kit的缩写,是Java开发环境的基础包,包含了Java编译器、JRE运行环境、类库、调试工具等。简单来说,,常用于构建服务器端或命令行工具。而,使得Java开发更加方便和高效。

2023-04-10 23:04:54 640

原创 【短信验证】手机登录短信验证

最初设计将生成验证码redis中存入 key 为手机号,value为验证码的键值对作为一个接口实现,但有问题是验证码不唯一,比如该手机号登录的验证码可以用于该手机号找回密码,这样肯定是不行的,后来尝试改用redis的hash结构,但需要前端配合传递 type 类型存入redis中,并且接口不能并发,最后采用生成不同类型验证码的多个接口实现,比如登录获取验证码为登录获取验证码接口,修改密码获取验证码为获取验证码接口,(采用。的组合作为redis的key存入redis)生成6位验证码工具类。

2022-11-25 14:06:16 732

原创 【SpringMVC】常见注解

代表的是:该Controller的所有方法在调用前,先执行此@ModelAttribute方法,可用于注解和方法参数中,可以把这个@ModelAttribute特性,应用在BaseController当中,所有的Controller继承BaseController,即可实现在调用Controller时,先执行@ModelAttribute方法。使用时机:返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml,返回一个对象)使用;传请求体的参数,批量插入数据对象等。

2022-11-15 17:56:36 104

原创 【开发规范】

以下领域模型统一新建pojo包,放在pojo包中。

2022-11-15 16:46:25 473

原创 【HTTP】应用层的通信协议

HTTP协议(超文本传输协议HyperText Transfer Protocol),它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。HTTP是一种HTTP协议本身不会对发送过的请求和相应的通信状态进行持久化处理。这样做的目的是为了保持HTTP协议的简单性,从而能够快速处理大量的事务, 提高效率。然而,在许多应用场景中,我们需要保持用户登录的状态或记录用户购物车中的商品。由于HTTP是无状态协议,所以必须引入一些技术来记录管理状态,例如Cookie。

2022-11-14 16:54:29 373

原创 【WebSocket】应用层通信协议

WebSocket 协议主要为了解决基于 HTTP/1.x 的 Web 应用无法实现服务端向客户端主动推送的问题, 为了兼容现有的设施, WebSocket 协议使用与 HTTP 协议相同的端口, 并使用 HTTP Upgrade 机制来进行 WebSocket 握手, 当握手完成之后, 通信双方便可以按照 WebSocket 协议的方式进行交互。

2022-11-14 16:29:31 384

原创 【maven】修改pom源为私库

maven安装目录(D:\maven\apache-maven-3.6.3\conf)目录下找到setting.xml文件。(3)修改标签,此图我设置了公司和阿里云的pom源。(1)修改maven的主路径(如果是自己安装的maven)(2)修改maven的setting.xml文件。一般公司文档是直接复制粘贴。

2022-11-09 17:27:36 538

原创 【单元测试】java中assert(断言)的使用

断言在默认情况idea和eclipse下是关闭的,即使声明也不会执行该语句,在运行时启用断言需要使用 -ea参数。assert [boolean 表达式 : 错误表达式 (日志)]java.lang.AssertionError: 错误。assert a>b : "错误";

2022-11-09 09:58:29 2520

原创 【Ribbon】负载均衡学习记录

Ribbon是Netflix发布的云中间层服务开源项目,其主要功能是提供客户端实现负载均衡算法。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,,我们可以在配置文件中Load Balancer后面的所有机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器,我们也很容易使用Ribbon实现自定义的负载均衡算法。

2022-10-26 23:42:20 180

原创 【Gateway】统一网关Gateway学习记录

我们在配置文件中写的断言规则只是字符串 ,这些字符串会被Predicate Factory读取并处理,转变为路由判断的。跨域问题:浏览器(前端)禁止请求的发起者与服务器(后端)发送跨域ajax请求,不接收服务器的响应,请求被拦截器拦截的问题。SpringCloudGateway则是基于Spring5中提供的WebFlux,属于响应式编程的实现,性能更好。方法一:@Order()注解:当有多个全局过滤器时,决定过滤器的执行顺序,数字越小越先执行。Zuul是基于Servlet的实现,属于阻塞式编程。

2022-10-25 23:20:11 863

原创 【Feign】HTTP服务远程调用学习记录

自定义配置一般修改日志,日志可以yml文件和bean注入配合注解使用。

2022-10-24 21:44:27 811

原创 【Eureka】Eureka注册中心学习日记

eureka分为和两个部分EurakeClient:负责将这个服务的信息注册到Eureka服务端中EurekaService:相当于一个注册中心,里面有注册表,注册表中保存了各个服务所在的机器和端口号,可以通过Eureka服务端找到各个服务。

2022-10-23 21:48:23 397

转载 【IDEA】开发工具IDEA快捷键(Windows)

查找光标所在的方法 / 变量 / 类被调用的地方。跳转到上一个高亮错误 或 警告位置。

2022-10-19 17:37:09 287

原创 【MybatisPlus】快速使用MybatisPlus和几种常见插件

(简称 MP)是一个的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。简介 | MyBatis-Plus (baomidou.com)自定义输入策略使用方法1. 首先添加@Bean//注册Bean容器@Bean}//配置类};i++) {}}}2. 设置实体类主键tpye = NONE。

2022-10-18 17:32:51 2863

转载 【并发编程】synchronized与ReentrantLock的区别

① synchronized 是JVM层面的锁,ReentrantLock 是JUC包中API层面的锁② 是否可手动释放:③ 是否可中断④ 是否公平锁⑤ 锁是否可绑定条件Condition⑥ 锁的对象③ 是否可中断 synchronized是不可中断类型的锁,除非加锁的代码中出现异常或正常执行完成; ReentrantLock则可以中断,可通过trylock(long timeout,TimeUnit unit)设置超时方法或者将lockInterruptibly()放到代码块中,调用i

2022-10-17 22:20:00 530

原创 【IDEA开发工具】如何查看类,接口的继承图

如果我还想在此基础上加hashtable的关系图。比如想要查看hashmap的类继承图。输入Hashtable。

2022-10-17 22:04:31 1302

原创 【解决】IDEA中的pom.xml文件变成了橙色

文件上单击鼠标右键,然后在弹出框中点击。然后重新 compile 文件。

2022-10-17 14:22:35 1297 1

原创 【计算机网络】一文搞懂IP及子网掩码相关问题

私网ip地址也就是局域网用的,在构建局域网时,通常局域网内部都要使用私有IP地址,私网地址不能在公网上出现,只能用在内部网路中在防火墙外面的叫公网,在防火墙内部的叫私网,比如一个公司自己搭建的网络只能由自己公司访问IPV4的私网地址分为几类,分别是A类地址:10.0.0.0-10.255.255.255B类地址:172.16.0.0-172.31.255.255C类地址:192.168.0.0-192.168.255.255。

2022-10-07 15:01:10 2633

原创 【单元测试】SpirngBoot测试Controller,Service,Dao

如果不单元测试,不知道具体功能代码模块是否正确,只能通过PostMan或者启动项目Http请求去测试功能,而且不能具体测试某个代码块的功能(比如单独测试 FindUserByID 这个功能模块),有单元测试之后程序员可以自己测试自己写的代码功能是否正确。测试模块不能真的添加数据到数据库,但需要测试加入数据,所以需要。@SpringBootTest:测试类所需注解。注解完成对sql事务和回滚的操作。@Test:测试方法所需注解。去搭建一个请求地址服务。

2022-10-01 17:22:06 1126

原创 【Spirng】@Component和@Configuration和@Bean的区别

obtainBeanInstanceFromFactory 方法比较简单,就是通过 beanFactory.getBean 获取 Country,如果已经创建了就会直接返回,如果没有执行过,就会通过 invokeSuper 首次执行。产生这个Bean对象的方法Spring只会调用一次,随后这个Spring将会将这个Bean对象放在自己的IOC容器中。@Configuration 注解定义的 bean 方法中可以直接调用方法,不需要 @Autowired 注入后使用。Spring的@Bean注解用于告诉。

2022-09-28 20:40:25 1002

原创 【Mysql】索引失效的底层原理(含demo)

我们这边说的索引失效主要是为 复合索引MySQL底层为B+树,我们需要了解B+树的底层查询原理B+树底层查询是二分查找二分查找我们需要满足排序的有序性举个例子:以下a,b 组成的复合索引单独来看a,b;则a是有序的,b是无序的,但如果把a确定,可以观察到当a的值确定时,b的值是相对有序的,如下:当 a = 1,b 为 1 ,2当 a = 2,b 为 1, 4当 a = 3,b 为 1, 2所以复合索引失效主要是体现在,条件不满足二分查找的条件(即破坏了有序性)

2022-09-23 15:53:24 710

原创 【数据结构】快速排序

快速排序是不稳定的排序,冒泡排序是稳定的排序

2022-09-20 18:34:26 135

原创 【数据结构】二分查找

二分查找也称(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表,而且表中元素按关键字。假使总共有n个元素,那么二分后每次查找的区间大小就是n,n/2,n/4,…,n/2^k(接下来操作元素的剩余个数),其中k就是循环的次数。最坏的情况是K次二分之后,每个区间的大小为1,找到想要的元素令n/2^k=1,可得k=log2n,(是以2为底,n的对数),时间复杂度可以表示。

2022-09-20 14:53:00 593

原创 【快速幂】a的n次幂的算法

时间复杂度为 O(log₂N), 与朴素的O(N)相比效率有了极大的提高。

2022-09-19 19:09:41 748

原创 【项目】短信模块对Java枚举的使用

valueOf():通过名称(枚举实例.name()的值)查找枚举实例,找不到是会抛异常的;最近实习开发项目中使用到了短信验证模块,同时有多种场景都需要使用短信验证。value():获得一个所有枚举实例的数组。

2022-09-19 16:00:50 179

原创 【并发编程】线程的生命周期和状态转换

static Thread currentThread() 返回对当前正在执行的线程对象的引用。long getId() 返回该线程的标识符。String getName() 返回该线程的名称。int getPriority() 返回线程的优先级。void interrupt() 中断线程。boolean isAlive() 测试线程是否处于活动状态。void join() 等待该线程终止。void join(long m

2022-09-19 14:17:16 64

转载 【数据结构】自平衡二叉查找树(AVL树)

假设11,18,14,20,15,22 是一关键字序列,并以上述顺序建立AVL树。示例:假设25,27,30,12,11,18,14,20,15,22 是一关键字序列,并以上述顺序建立AVL树。

2022-09-08 20:26:11 648

转载 【数据结构】红黑树(RBT)

首先红黑树是不符合AVL树的平衡条件的,即每个节点的左子树和右子树的高度最多差1的二叉查找树。但是提出了为节点增加颜色,,任何不平衡都会在三次旋转之内解决,而AVL是严格平衡树,因此在增加或者删除节点的时候,根据不同情况,旋转的次数比红黑树要多。所以红黑树的插入效率更高!!!

2022-09-08 20:17:23 232

转载 【数据结构】二叉查找树(BST)

二叉查找树(Binary Search Tree,BST),又叫做二叉排序树、二叉搜索树,是一种对查找和排序都有用的特殊二叉树。二叉查找树的特性:左子树

2022-09-08 17:57:47 6723

转载 【数据结构】B树

B树

2022-09-08 16:27:19 439

转载 【数据结构】B+树

B+树

2022-09-08 16:23:39 692

原创 【并发编程】多线程实际操作测试题

经典面试题下面是多线程顺序打印的经典面试题1.三个线程分别打印 A,B,C,要求这三个线程一起运行,打印 n 次,输出形如“ABCABCABC…”的字符串2.两个线程交替打印 0~100 的奇偶数3.通过 N 个线程顺序循环打印从 0 至 1004.多线程按顺序调用,A->B->C,AA 打印 5 次,BB 打印10 次,CC 打印 15 次,重复 10 次5.用两个线程,一个输出字母,一个输出数字,交替输出 1A2B3C4D…26Z思路:要么控制线程顺序,要么利用条件竞争锁。

2022-09-06 21:00:07 289

原创 【Spring】Spring面试常见问题

spring底层的一些东西并不能通过自动注入直接从ioc容器中获取,但是spring提供了其他的一些方法获取相应的对象,比如一些。

2022-09-04 23:17:33 334

原创 【Java基础】Java常见基础知识

如果你的对象想放进散列存储的集合中(比如:HashSet,LinkedHashSet)或者想作为散列Map(例如:HashMap,LinkedHashMap等等)的Key时,在重写equals()方法的同时,必须重写hashCode()方法。hashcode就是提高效率,你想想,如果你重写了hashCode(),只要不满足第一个条件,那就直接可以判断两个对象是不等的,也就不用花费时间再去比较equals了。当hashcode相同,说明在一个哈希桶中,但不代表equals相同(链表中不止一个元素)

2022-09-03 21:20:53 212

原创 【哈希表】字符串中有多少个单词

利用split方法分割字符串,一次放入hashset,如果存在就不放入,放入成功+1。

2022-09-01 14:30:27 138

空空如也

空空如也

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

TA关注的人

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