
其他
学习笔记
阿瞒有我良计15
这个作者很懒,什么都没留下…
展开
-
在线OJ项目
UUID也是计算机中非常常用的一个概念~~表示一个"全世界都唯一的id"每次生成一个UUID,这个UUID就一定是唯一的.(背后也是通过一系列算法来生成的)每个请求都生成一个唯一的UUID,进一步的创建一个以UUID命名的临时目录.请求生成的临时文件就都放到这个临时目录中即可.由于UUID各不相同,请求之间也就不再相互影响了.按照现在的做法,每个请求都生成一个UUID命名的目录,岂不是随着时间的推移,请求越来越多,磁盘上的这些临时目录不也就越来越多嘛?代码很可能是存在问题的,很可能一运行就崩溃的!原创 2023-07-06 13:05:48 · 272 阅读 · 0 评论 -
中文最全停用词表(可以直接复制)
【代码】中文最全停用词表(可以直接复制)原创 2022-11-07 23:28:48 · 3965 阅读 · 0 评论 -
站内搜索引擎
1.什么是搜索引擎?如图所示:我用的是谷歌浏览器,但是我的搜索引擎可以跟换 。切换到bing主页在搜索框中我们输入一段话,跳到一个带有搜索结果的页面如下:搜索引擎的核心功能:查找用户输入的词/一句话 相关联的网页。 搜索结果页一条记录包含的信息如下: 当我们点击标题,会跳转到落地页,如下图:相信大家对搜索引擎都有一定的了解了。2.实现搜索引擎的核心思路:搜索引擎的网页又该如何获取呢?像百度,搜狗,这样的大型搜索引擎,每天会有很多爬虫去爬取大量网页,在存储起来。我们这里先直接去官网下载jdk文档(之后抽取时间原创 2022-11-09 18:29:58 · 2145 阅读 · 0 评论 -
最全英文停用词表(可直接赋值)
【代码】最全英文停用词表(可直接赋值)原创 2022-11-07 23:30:22 · 418 阅读 · 0 评论 -
企业微信接口调用白名单设置
注:自己ip地址的获取,在百度输入 “IP地址”,就能获取到当前用户电脑的外网ip地址信息。原创 2024-02-01 09:44:47 · 4272 阅读 · 0 评论 -
[黑马程序员Nginx教程]——基础篇
Nginx(“engine x”)一个具有高性能的【HTTP】和【反向代理】的【WEB服务器】,同时也是一个【POP3/SMTP/IMAP代理服务器】,是由伊戈尔·赛索耶夫(俄罗斯人)使用C语言编写的,Nginx的第一个版本是2004年10月4号发布的0.1.0版本。另外值得一提的是伊戈尔·赛索耶夫将Nginx的源码进行了开源,这也为Nginx的发展提供了良好的保障。名词解释WEB服务器也叫网页服务器,英文名叫Web Server,主要功能是为用户提供网上信息浏览服务。2.HTTP。原创 2024-01-29 09:02:11 · 1368 阅读 · 0 评论 -
环境安装--多个版本的nodejs安装
当需要管理多个 nodejs 版本时,可以使用 nvm 工具非常方便优雅的进行管理,管理过程大致分为三步:第一步:安装 nvm,直接用 nvm-setup.exe 安装包;第二步:用 nvm 安装指定的 nodejs 版本,命令:nvm install 8.12.0第三步:用 nvm 指定当前使用的 nodejs 版本,命令:nvm use 8.12.0。原创 2023-12-31 09:46:31 · 567 阅读 · 0 评论 -
软件测试和软件开发中的调试有什么区别?
2.从角色的角度来说。原创 2022-10-23 21:29:33 · 579 阅读 · 0 评论 -
Feign调用服务报错:Load balancer does not have available server for client:xxx
服务器报错日志:(orderservice想调用userservice结果找不到userservice)1.说一下遇到的bug:,(黑马程序员springcloud的第30集,基于Feign远程调用)orderservice和userservice放在了dev环境下。userservice在public环境中。public环境下没有服务了。原创 2023-12-15 16:19:00 · 492 阅读 · 0 评论 -
window10彻底关闭nginx服务
4.运行命令:taskkill /f /t /im nginx.exe 关闭nginx其他服务,这样才能彻底关闭。3.运行命令:nginx -s stop 停止nginx服务(运行命令停止不掉,只能用更暴力的方式了)2.运行命令:start nginx 启动nginx服务。5.如果还杀不掉,直接找到nginx的进程,杀掉进程.windows下彻底关闭nginx服务。1.在nginx目录下打开cmd窗口。原创 2023-12-15 08:26:25 · 2444 阅读 · 0 评论 -
“nacos is starting with cluster” (集群方式启动nacos) 转换为“nacos is starting with standalone“ (单机方式启动nacos)
使用startup.cmd命令启动是以集群方式启动nacos,可以看见命令行中有“nacos is starting with cluster”启动正常,访问http://localhost:8848/nacos即可。原创 2023-12-15 08:20:40 · 470 阅读 · 0 评论 -
Spark概述
Spark可以处理大量的数据,并且可以在分布式计算中进行数据处理和分析,具有高效性和可扩展性。Spark还支持实时数据处理和批处理,可以在处理大量数据时提供高效的性能和可靠的结果。Hadoop是一个开源的分布式存储和计算框架,它的主要作用是处理大规模数据的存储和分析。Hadoop可以将大量数据分成多个块进行存储,这些块可以分布在不同的节点上,从而实现高效的数据存储和处理。Hadoop还提供了一系列工具和组件,例如MapReduce、HDFS、YARN等,可以帮助开发者在分布式环境下进行数据处理和计算。原创 2023-05-05 10:56:49 · 1040 阅读 · 0 评论 -
说说什么是面向过程?什么是面向对象?
举个例子你还是去洗衣服,此时完成洗衣服这件事共涉及4个对象,人,洗衣机,洗衣粉,衣服。先说一下这个洗衣服的过程,人负责把衣服,洗衣粉放入洗衣机,洗衣机负责搓洗,甩干。整个过程中人提供了放置的方法,衣服和洗衣粉是实体,洗衣机提供了,搓洗,甩干的方法。整个过程都是这4个对象交互完成的。举个例子比如你要去做洗衣服这件事,第一步,拿个盆儿,第二步,放入衣服,第三步,盆儿里边倒水,第四步,盆儿里边放水,第五步,拿手洗衣服,第六步洗完了,拧干衣服,第七步,晾衣服,完毕。原创 2022-10-15 21:44:12 · 266 阅读 · 0 评论 -
SpringBoot 自动配置原理
笔记原创 2023-01-14 11:56:48 · 115 阅读 · 0 评论 -
Mybatis中,#{}和${}的区别
的⽅式可以很⼤程度的防⽌ sql 注⼊,相对来说更安全。原创 2023-01-14 10:01:44 · 104 阅读 · 0 评论 -
Spring事务中的隔离级别有哪⼏种?
在TransactionDefinition接⼝中定义了五个表示隔离级别的常量:原创 2023-01-13 12:18:03 · 124 阅读 · 0 评论 -
说一说.java文件是如何运行的?说一说JDK,JRE,JVM?
我们写好代码后,通过JDK的javac命令将我们的文本java文件编译成.class文件(Java字节码文件),在JRE上运行这些Java字节码,JVM解析这些字节码。JDK里边包含了java,javac等可执行程序,它是一个开发环境,开发者需要开发环境,你开发者编译运行成.class文件,传输给用户,而用户只需要运行.class文件即可,并不需要关注开发环境,而JRE是运行时环境。通过上面的图,我们可以大致了解,只有JVM并不能直接运行.class文件,需要JRE提供的类库,尤其是rt.jar.原创 2022-10-13 22:00:11 · 2731 阅读 · 0 评论 -
说说访问权限修饰符?
2.protected:受保护的权限,可以被同包中的类访问,如果不是同包类,必须是该类的子类才可以访问。3.private:私有权限,只能在本类中访问,同包其他类不能访问。1.public:公共权限,不同包不同类依旧可以访问。Java共有4个访问权限修饰符。4.默认:只能被同包中的类访问。原创 2022-10-16 09:44:29 · 640 阅读 · 0 评论 -
说说线程和进程的关系和区别
5.进程存在的意义就是为了解决并发编程的问题,如果频繁创建或者销毁进程,此时开销比较大,相比之下线程也能满足并发编程的问题,但是线程的创建、销毁开销就小很多。3.同一个进程的每个线程之间,共用同一份资源(虚拟地址空间+文件描述符表)线程A创建的变量,线程B也可以用到,线程A打开的文件,线程B也可以用到~~1.线程是包含在进程里的,一个进程里可以有一个线程,也可以有多个线程。4.进程是系统资源分配的基本单位,线程是系统调度执行的基本单位~~2.每个线程都是一个独立的执行流(可以各自执行一段自己的代码)原创 2023-02-08 20:14:54 · 97 阅读 · 0 评论 -
Bean的⽣命周期
3. 实现了Aware接⼝的Bean,执⾏接⼝⽅法:如顺序执⾏BeanNameAware、BeanFactoryAware、4. Bean对象初始化前,循环调⽤实现了BeanPostProcessor接⼝的预初始化⽅法。6. Bean对象初始化后,循环调⽤实现了BeanPostProcessor接⼝的后初始化⽅法。ApplicationContextAware的接⼝⽅法。1. 实例化Bean:通过反射调⽤构造⽅法实例化对象。7. 容器关闭时,执⾏Bean对象的销毁⽅法。5. 执⾏Bean对象初始化⽅法。原创 2023-01-13 09:37:09 · 105 阅读 · 0 评论 -
说说你对IoC/DI的理解
获得依赖对象的过程,由原本程序⾃⼰控制,变为了IoC容器来主动注⼊,控制权发⽣了反转,所以叫做IoC,控制反转。IoC⼜叫做DI:由于控制反转概念⽐较含糊(可能只是理解为容器控制对象这⼀个层⾯,很难让⼈想到谁来维护对象关系),相对 IoC ⽽⾔,依赖注⼊实际上给出了实现IoC的⽅法:注⼊。依赖注⼊(DI)和控制反转(IoC)是从不同的⻆度的描述的同⼀件事情,就是指通过引⼊IoC容器,利⽤依赖关系注⼊的⽅式,实现对象之间的解耦.⽽DI 的实现⽅式主要有两种:构造⽅法注⼊和属性Setter注⼊。原创 2023-01-13 09:22:22 · 216 阅读 · 0 评论 -
数据存储到hashmap和存储到文件的区别?
1.hashmap是存储到了内存,断电就丢失了。2.但是存储到文件不会因为掉电而丢失。原创 2022-12-25 17:04:36 · 148 阅读 · 0 评论 -
说说二分查找法的时间复杂度?
n代表一共有n个数据,a代表要找的数据的次数。原创 2022-10-18 15:41:45 · 1035 阅读 · 0 评论 -
说说 == 和 equals 的区别
2.当比较引用数据类型时 == 比较的是对象地址,没有重写equals时候 和 == 一样。1.当比较基本数据类型时,用 == ,equals无法比较基本数据类型。原创 2022-10-13 20:57:22 · 113 阅读 · 0 评论 -
常⻅的 ORM 框架有哪些?
Hibernate是⼀种典型的全⾃动 ORM 框架,所谓的全⾃动,是 SQL 语句都不⽤在编写,基于框。Mybatis是⼀种典型的半⾃动的 ORM 框架,所谓的半⾃动,是因为还需要⼿动的写 SQL 语句,再由框架根据 SQL 及 传⼊数据来组装为要执⾏的 SQL。架的 API,可以将对象⾃动的组装为要执⾏的 SQL 语句。不能跨数据库,因为写的 SQL 可能存在某数据库特有的语法或关键词.原创 2023-01-12 20:51:13 · 1559 阅读 · 0 评论 -
Spring中的单例bean的线程安全问题
⼤部分时候我们并没有在系统中使⽤多线程,所以很少有⼈会关注这个问题。单例bean存在线程问题,主要是因为当多个线程操作同⼀个对象的时候,对这个对象的⾮静态成员变量的写操作会存在线程安全问题。2.在类中定义⼀个ThreadLocal成员变量,将需要的可变成员变量保存在ThreadLocal中(推荐的⼀种⽅式)。1.在bean对象中尽量避免定义可变的成员变量(不太现实)。原创 2023-01-13 09:25:13 · 671 阅读 · 0 评论 -
FactoryBean和BeanFactory
BeanFactory是Spring容器的顶级接⼝,所有Bean对象都是通过BeanFactory也就是Bean容器来进⾏管理 FactoryBean是实例化⼀个Bean对象的⼯⼚类,实现了 FactoryBean 接⼝的Bean,根据该Bean的ID从BeanFactory中获取的实际上是FactoryBean中 getObject() ⽅法返回的对象,⽽不是FactoryBean本身,如果要获取FactoryBean对象,请在id前⾯加⼀个&符号来获取.原创 2023-01-13 09:35:00 · 95 阅读 · 0 评论 -
说说Java有几种基本数据类型?
5. float Float 4字节。2. short Short 2字节。4. long Long 8字节。原创 2022-10-14 21:45:17 · 116 阅读 · 0 评论 -
说说你对关键字this的认识?
所以说,this 可以代表任何对象,当 this 出现在某个方法体中时,它所代表的对象是不确定的,但它的类型是确定的,它所代表的只能是当前类的实例。我main函数里边直接new Student(),创建了一个无参数的实例,但是无参数的构造方法使用了this(),并且给第二个带参数的构造方法传了“张三”这个参数,使得即使主函数没有传参,也能通过无参构造方法调用该实例的另外的构造方法。我直接在run函数中调用了jump方法,省略了调用 jump() 方法之前的 this,但实际上这个 this 依然是存在的。原创 2022-10-16 10:37:05 · 491 阅读 · 0 评论 -
说说你对AOP的理解
AOP(Aspect-Oriented Programming):⾯向切⾯编程。对多个业务代码横切来实现统⼀的业务管理,⽽不⽤侵⼊业务代码本身。这样⾯向切⾯的编程思想就是AOP。优点:代码解耦,统⼀业务功能对具体业务⽆侵⼊性,这样可扩展性更好,灵活性更⾼。使⽤场景:⽇志记录,事务管理,性能统计,安全控制,异常处理等。原创 2023-01-13 12:16:03 · 486 阅读 · 0 评论 -
说说你对Spring三级缓存的理解
Spring容器保存Bean的⽅式,是采取缓存的⽅式:使⽤ Map 的结构,key为。其他还有很多种⽅式,如A依赖B,B依赖C,C依赖A,或是A依赖A⾃⼰,只要产⽣了依赖关系的闭环,即造成了循环依赖。在以上第四个步骤执⾏完毕,才算⼀个初始化完成的Bean,也即Spring容器中完整的Bean对象。在Spring容器中注册循环依赖的Bean,必须是单例模式,且依赖注⼊的⽅式为属性注⼊。那么,循环依赖会引发什么问题呢?4. 装配B中的A对象,发现A在容器中没有,需要先实例化A。原创 2023-01-13 12:03:59 · 1305 阅读 · 0 评论 -
常见的锁策略面试题
乐观锁认为多个线程访问同一个共享变量冲突的概率不大. 并不会真的加锁, 而是直接尝试访问数据. 在访问的同时识别当前的数据是否出现访问冲突.悲观锁的实现就是先加锁(比如借助操作系统提供的 mutex), 获取到锁再操作数据. 获取不到锁就等待.悲观锁认为多个线程访问同一个共享变量冲突的概率较大, 会在每次访问共享变量之前都去真正加锁。乐观锁的实现可以引入一个版本号. 借助版本号识别出当前的数据访问是否冲突.原创 2023-02-11 18:42:16 · 804 阅读 · 0 评论 -
说说你对Bean容器/Ioc容器的理解
1. BeanFactory是最底层的容器接⼝,只提供了最基础的容器功能:Bean 的实例化和依赖注⼊,并且使⽤懒加载的⽅式,这意味着 beans 只有在我们通过 getBean() ⽅法直接调⽤它们时才进⾏实例化。2. ApplicationContext(应⽤上下⽂)是BeanFactory的⼦接⼝,与 BeanFactory 懒加载的⽅式不。Spring容器主要是对IoC设计模式的实现,主要是使⽤容器来统⼀管理Bean对象,及管理对象之间的依赖关系.原创 2023-01-13 09:15:37 · 121 阅读 · 0 评论 -
JavaSE面试题2
B:a 的赋值 超过了byte的表示范围,编译器直接报错,b的赋值时,3.5默认是double类型,此时把8个字节的数据赋值给4个自己,需要进行强制类型转换。C:字面值10赋值给a,没有超过表示的范围,可以存储。目前因为大部分的机器都是UNIX 操作系统,所以建议以后可以优先使用这个反斜杠,作为路径的分割。Java中标识符由,数字,字母,下划线,美元符号组成。D错误,原因是注释非常重要,如果不加注释,有可能自己写的代码,在若干天后自己都不认识了。一个好的代码,需要好的注释,好的风格共同决定的。...原创 2022-08-08 17:41:48 · 616 阅读 · 0 评论 -
Spring事务中有哪⼏种事务传播⾏为?
在TransactionDefinition接⼝中定义了七个表示事务传播⾏为的常量。原创 2023-01-13 12:21:51 · 97 阅读 · 0 评论 -
说说你对重载的理解?
5.不必为了形参的类型,个数不同去创建多个函数,多个函数用一个方法名字,方便后续的调用。3.方法的形参列表不同,具体表现在,形参的类型,个数不同才可以构成重载。4.与方法的返回值类型和访问权限无关。1.在同一个类里边。原创 2022-10-14 23:35:38 · 122 阅读 · 0 评论 -
说一下下列优化后的冒泡排序的时间复杂度?
最好和最坏情况下时间复杂度都是O(N * (N-1)) 即O(N * N - N) 即。最坏的情况下O(N * (N-1)) 即O(N * N - N) 即。在说一下没有优化后的冒泡排序的时间复杂度。原创 2022-10-18 14:59:55 · 141 阅读 · 0 评论 -
SpringMVC的执行流程
作⽤:按照特定规则(HandlerAdapter要求的规则)去执⾏Handler。(2) 处理器映射器HandlerMapping(不需要程序员开发)。(3) 处理器适配器HandlerAdapter(不需要程序员开发)。(5) 视图解析器ViewResolver(不需要程序员开发)。作⽤:进⾏视图解析,根据逻辑视图名解析成真正的视图(view)(4) 处理器Handler(需要程序员开发)。不需要程序员开发的,需要程序员⾃⼰做⼀下配置即可。(6) 视图View(需要程序员开发jsp)。原创 2023-01-14 09:57:20 · 724 阅读 · 0 评论 -
JavaSE面试题3
代码】JavaSE面试题3。原创 2022-08-09 18:00:55 · 86 阅读 · 0 评论 -
说一说main函数为什么是static修饰?
静态方法和静态数据加载到内存就可以直接调用,而不需要像实例方法一样创建实例后才能调用,如果main方法是静态的,那么它就会被加载到JVM上下文中成为可执行的方法。如果main方法不声明为静态的,JVM就必须创建main类的实例,因为构造器(也就是构造方法)可以被重载,JVM就没法确定调用哪个main方法。正因为main方法是静态的,JVM调用这个方法就不需要创建任何包含这个main方法的实例。main方法必须声明为public、static、void,否则JVM没法运行程序。原创 2022-10-15 23:18:54 · 521 阅读 · 0 评论