其他
学习笔记
阿瞒有我良计15
再长的路一步步也能走完,再短的路不迈开双脚也无法到达!
展开
-
企业微信接口调用白名单设置
注:自己ip地址的获取,在百度输入 “IP地址”,就能获取到当前用户电脑的外网ip地址信息。原创 2024-02-01 09:44:47 · 995 阅读 · 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 · 1015 阅读 · 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 · 486 阅读 · 0 评论 -
软件测试和软件开发中的调试有什么区别?
2.从角色的角度来说。原创 2022-10-23 21:29:33 · 420 阅读 · 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 · 195 阅读 · 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 · 981 阅读 · 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 · 212 阅读 · 0 评论 -
Spark概述
Spark可以处理大量的数据,并且可以在分布式计算中进行数据处理和分析,具有高效性和可扩展性。Spark还支持实时数据处理和批处理,可以在处理大量数据时提供高效的性能和可靠的结果。Hadoop是一个开源的分布式存储和计算框架,它的主要作用是处理大规模数据的存储和分析。Hadoop可以将大量数据分成多个块进行存储,这些块可以分布在不同的节点上,从而实现高效的数据存储和处理。Hadoop还提供了一系列工具和组件,例如MapReduce、HDFS、YARN等,可以帮助开发者在分布式环境下进行数据处理和计算。原创 2023-05-05 10:56:49 · 885 阅读 · 0 评论 -
说说什么是面向过程?什么是面向对象?
举个例子你还是去洗衣服,此时完成洗衣服这件事共涉及4个对象,人,洗衣机,洗衣粉,衣服。先说一下这个洗衣服的过程,人负责把衣服,洗衣粉放入洗衣机,洗衣机负责搓洗,甩干。整个过程中人提供了放置的方法,衣服和洗衣粉是实体,洗衣机提供了,搓洗,甩干的方法。整个过程都是这4个对象交互完成的。举个例子比如你要去做洗衣服这件事,第一步,拿个盆儿,第二步,放入衣服,第三步,盆儿里边倒水,第四步,盆儿里边放水,第五步,拿手洗衣服,第六步洗完了,拧干衣服,第七步,晾衣服,完毕。原创 2022-10-15 21:44:12 · 175 阅读 · 0 评论 -
SpringBoot 自动配置原理
笔记原创 2023-01-14 11:56:48 · 56 阅读 · 0 评论 -
Mybatis中,#{}和${}的区别
的⽅式可以很⼤程度的防⽌ sql 注⼊,相对来说更安全。原创 2023-01-14 10:01:44 · 67 阅读 · 0 评论 -
Spring事务中的隔离级别有哪⼏种?
在TransactionDefinition接⼝中定义了五个表示隔离级别的常量:原创 2023-01-13 12:18:03 · 84 阅读 · 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 · 2628 阅读 · 0 评论 -
说说访问权限修饰符?
2.protected:受保护的权限,可以被同包中的类访问,如果不是同包类,必须是该类的子类才可以访问。3.private:私有权限,只能在本类中访问,同包其他类不能访问。1.public:公共权限,不同包不同类依旧可以访问。Java共有4个访问权限修饰符。4.默认:只能被同包中的类访问。原创 2022-10-16 09:44:29 · 488 阅读 · 0 评论 -
说说线程和进程的关系和区别
5.进程存在的意义就是为了解决并发编程的问题,如果频繁创建或者销毁进程,此时开销比较大,相比之下线程也能满足并发编程的问题,但是线程的创建、销毁开销就小很多。3.同一个进程的每个线程之间,共用同一份资源(虚拟地址空间+文件描述符表)线程A创建的变量,线程B也可以用到,线程A打开的文件,线程B也可以用到~~1.线程是包含在进程里的,一个进程里可以有一个线程,也可以有多个线程。4.进程是系统资源分配的基本单位,线程是系统调度执行的基本单位~~2.每个线程都是一个独立的执行流(可以各自执行一段自己的代码)原创 2023-02-08 20:14:54 · 50 阅读 · 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 · 60 阅读 · 0 评论 -
说说你对IoC/DI的理解
获得依赖对象的过程,由原本程序⾃⼰控制,变为了IoC容器来主动注⼊,控制权发⽣了反转,所以叫做IoC,控制反转。IoC⼜叫做DI:由于控制反转概念⽐较含糊(可能只是理解为容器控制对象这⼀个层⾯,很难让⼈想到谁来维护对象关系),相对 IoC ⽽⾔,依赖注⼊实际上给出了实现IoC的⽅法:注⼊。依赖注⼊(DI)和控制反转(IoC)是从不同的⻆度的描述的同⼀件事情,就是指通过引⼊IoC容器,利⽤依赖关系注⼊的⽅式,实现对象之间的解耦.⽽DI 的实现⽅式主要有两种:构造⽅法注⼊和属性Setter注⼊。原创 2023-01-13 09:22:22 · 126 阅读 · 0 评论 -
数据存储到hashmap和存储到文件的区别?
1.hashmap是存储到了内存,断电就丢失了。2.但是存储到文件不会因为掉电而丢失。原创 2022-12-25 17:04:36 · 99 阅读 · 0 评论 -
说说二分查找法的时间复杂度?
n代表一共有n个数据,a代表要找的数据的次数。原创 2022-10-18 15:41:45 · 948 阅读 · 0 评论 -
说说 == 和 equals 的区别
2.当比较引用数据类型时 == 比较的是对象地址,没有重写equals时候 和 == 一样。1.当比较基本数据类型时,用 == ,equals无法比较基本数据类型。原创 2022-10-13 20:57:22 · 82 阅读 · 0 评论 -
常⻅的 ORM 框架有哪些?
Hibernate是⼀种典型的全⾃动 ORM 框架,所谓的全⾃动,是 SQL 语句都不⽤在编写,基于框。Mybatis是⼀种典型的半⾃动的 ORM 框架,所谓的半⾃动,是因为还需要⼿动的写 SQL 语句,再由框架根据 SQL 及 传⼊数据来组装为要执⾏的 SQL。架的 API,可以将对象⾃动的组装为要执⾏的 SQL 语句。不能跨数据库,因为写的 SQL 可能存在某数据库特有的语法或关键词.原创 2023-01-12 20:51:13 · 1441 阅读 · 0 评论 -
Spring中的单例bean的线程安全问题
⼤部分时候我们并没有在系统中使⽤多线程,所以很少有⼈会关注这个问题。单例bean存在线程问题,主要是因为当多个线程操作同⼀个对象的时候,对这个对象的⾮静态成员变量的写操作会存在线程安全问题。2.在类中定义⼀个ThreadLocal成员变量,将需要的可变成员变量保存在ThreadLocal中(推荐的⼀种⽅式)。1.在bean对象中尽量避免定义可变的成员变量(不太现实)。原创 2023-01-13 09:25:13 · 595 阅读 · 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 · 52 阅读 · 0 评论 -
说说Java有几种基本数据类型?
5. float Float 4字节。2. short Short 2字节。4. long Long 8字节。原创 2022-10-14 21:45:17 · 74 阅读 · 0 评论 -
说说你对关键字this的认识?
所以说,this 可以代表任何对象,当 this 出现在某个方法体中时,它所代表的对象是不确定的,但它的类型是确定的,它所代表的只能是当前类的实例。我main函数里边直接new Student(),创建了一个无参数的实例,但是无参数的构造方法使用了this(),并且给第二个带参数的构造方法传了“张三”这个参数,使得即使主函数没有传参,也能通过无参构造方法调用该实例的另外的构造方法。我直接在run函数中调用了jump方法,省略了调用 jump() 方法之前的 this,但实际上这个 this 依然是存在的。原创 2022-10-16 10:37:05 · 458 阅读 · 0 评论 -
说说你对AOP的理解
AOP(Aspect-Oriented Programming):⾯向切⾯编程。对多个业务代码横切来实现统⼀的业务管理,⽽不⽤侵⼊业务代码本身。这样⾯向切⾯的编程思想就是AOP。优点:代码解耦,统⼀业务功能对具体业务⽆侵⼊性,这样可扩展性更好,灵活性更⾼。使⽤场景:⽇志记录,事务管理,性能统计,安全控制,异常处理等。原创 2023-01-13 12:16:03 · 441 阅读 · 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 · 1222 阅读 · 0 评论 -
常见的锁策略面试题
乐观锁认为多个线程访问同一个共享变量冲突的概率不大. 并不会真的加锁, 而是直接尝试访问数据. 在访问的同时识别当前的数据是否出现访问冲突.悲观锁的实现就是先加锁(比如借助操作系统提供的 mutex), 获取到锁再操作数据. 获取不到锁就等待.悲观锁认为多个线程访问同一个共享变量冲突的概率较大, 会在每次访问共享变量之前都去真正加锁。乐观锁的实现可以引入一个版本号. 借助版本号识别出当前的数据访问是否冲突.原创 2023-02-11 18:42:16 · 742 阅读 · 0 评论 -
说说你对Bean容器/Ioc容器的理解
1. BeanFactory是最底层的容器接⼝,只提供了最基础的容器功能:Bean 的实例化和依赖注⼊,并且使⽤懒加载的⽅式,这意味着 beans 只有在我们通过 getBean() ⽅法直接调⽤它们时才进⾏实例化。2. ApplicationContext(应⽤上下⽂)是BeanFactory的⼦接⼝,与 BeanFactory 懒加载的⽅式不。Spring容器主要是对IoC设计模式的实现,主要是使⽤容器来统⼀管理Bean对象,及管理对象之间的依赖关系.原创 2023-01-13 09:15:37 · 82 阅读 · 0 评论 -
JavaSE面试题2
B:a 的赋值 超过了byte的表示范围,编译器直接报错,b的赋值时,3.5默认是double类型,此时把8个字节的数据赋值给4个自己,需要进行强制类型转换。C:字面值10赋值给a,没有超过表示的范围,可以存储。目前因为大部分的机器都是UNIX 操作系统,所以建议以后可以优先使用这个反斜杠,作为路径的分割。Java中标识符由,数字,字母,下划线,美元符号组成。D错误,原因是注释非常重要,如果不加注释,有可能自己写的代码,在若干天后自己都不认识了。一个好的代码,需要好的注释,好的风格共同决定的。...原创 2022-08-08 17:41:48 · 533 阅读 · 0 评论 -
Spring事务中有哪⼏种事务传播⾏为?
在TransactionDefinition接⼝中定义了七个表示事务传播⾏为的常量。原创 2023-01-13 12:21:51 · 59 阅读 · 0 评论 -
说说你对重载的理解?
5.不必为了形参的类型,个数不同去创建多个函数,多个函数用一个方法名字,方便后续的调用。3.方法的形参列表不同,具体表现在,形参的类型,个数不同才可以构成重载。4.与方法的返回值类型和访问权限无关。1.在同一个类里边。原创 2022-10-14 23:35:38 · 72 阅读 · 0 评论 -
说一下下列优化后的冒泡排序的时间复杂度?
最好和最坏情况下时间复杂度都是O(N * (N-1)) 即O(N * N - N) 即。最坏的情况下O(N * (N-1)) 即O(N * N - N) 即。在说一下没有优化后的冒泡排序的时间复杂度。原创 2022-10-18 14:59:55 · 74 阅读 · 0 评论 -
SpringMVC的执行流程
作⽤:按照特定规则(HandlerAdapter要求的规则)去执⾏Handler。(2) 处理器映射器HandlerMapping(不需要程序员开发)。(3) 处理器适配器HandlerAdapter(不需要程序员开发)。(5) 视图解析器ViewResolver(不需要程序员开发)。作⽤:进⾏视图解析,根据逻辑视图名解析成真正的视图(view)(4) 处理器Handler(需要程序员开发)。不需要程序员开发的,需要程序员⾃⼰做⼀下配置即可。(6) 视图View(需要程序员开发jsp)。原创 2023-01-14 09:57:20 · 687 阅读 · 0 评论 -
JavaSE面试题3
代码】JavaSE面试题3。原创 2022-08-09 18:00:55 · 64 阅读 · 0 评论 -
说一说main函数为什么是static修饰?
静态方法和静态数据加载到内存就可以直接调用,而不需要像实例方法一样创建实例后才能调用,如果main方法是静态的,那么它就会被加载到JVM上下文中成为可执行的方法。如果main方法不声明为静态的,JVM就必须创建main类的实例,因为构造器(也就是构造方法)可以被重载,JVM就没法确定调用哪个main方法。正因为main方法是静态的,JVM调用这个方法就不需要创建任何包含这个main方法的实例。main方法必须声明为public、static、void,否则JVM没法运行程序。原创 2022-10-15 23:18:54 · 446 阅读 · 0 评论 -
说说你对封装的理解?
第一种方法,我们使用传统的存、取方法。隐藏对象的属性和实现细节,仅对外提供公共访问方式,把该隐藏的隐藏起来,该暴露的暴露出来,这就是封装的设计思想。(举个例子,就好比你去银行用银行卡取钱,银行卡的卡号和密码你不想被别人访问到,但是银行卡又提供了存钱,取钱的功能,只有你告诉你家人卡号和密码,你的家人也能使用存钱,取钱的方法。封装把一个对象的属性私有化,同时提供一些可以被外界访问属性的方法,如果不想被外界访问,我们大可不必提供方法给外界访问。但是如果一个类没有提供给外界访问的方法,那么这个类也没有什么意义了。原创 2022-10-16 09:22:05 · 210 阅读 · 0 评论 -
Spring中的bean的作⽤域有哪些?
3.request:每⼀次HTTP请求都会产⽣⼀个新的bean,该bean仅在当前HTTP request内有效。4.session:每⼀次HTTP请求都会产⽣⼀个新的bean,该bean仅在当前HTTP session内有效。5.application:在⼀个应⽤的Servlet上下⽂⽣命周期中,产⽣⼀个新的bean。1.singleton:唯⼀bean实例,Spring中的bean默认都是单例的。6.websocket:在⼀个WebSocket⽣命周期中,产⽣⼀个新的Bean。原创 2023-01-13 09:26:33 · 56 阅读 · 0 评论 -
JavaSE面试题1
答案中A,B,C是JDK,JRE,JVM三者的定义,另外JDK当中包含JRE,JRE包含JVM。故:A,B,C,D是正确的。Java当中的基本类型共8种,byte,short,int,long,float,double,char,boolean。答案解析:每个 Unicode码占用2个字节,每个字节是8个比特位,所以,这里是16个比特位。C选项:java源程序通过javac 编译生成字节码文件,通过java命令运行java程序,故C正确。说法太过绝对,boolean类型就不能和其他类型进行转换,故选B。..原创 2022-08-08 12:08:43 · 226 阅读 · 0 评论 -
如何修改jar包,并且能够运行,实操有效!
4.用别的编译器打开并且修改(CTRL+S 保存)5.将修改好的文件拖拽到压缩软件中:点击确定。2. 将没有修改过得jar包使用左键打开。注意:下载时普通下载(别问为什么)3.将要修改的文件拖拽到桌面。1.首先得有一个压缩软件。(必须使用这个压缩软件)原创 2023-05-09 11:54:33 · 2492 阅读 · 0 评论