- 博客(38)
- 收藏
- 关注
转载 【无标题】
某些情况下,可能需要把两行进行连接。使 Vim 进行输入模式的方式是在命令模式状态下输入 i、I、a、A、o、O 等插入命令(各指令的具体功能如表 3 所示),当编辑文件完成后按 Esc 键即可返回命令模式。刚打开文件时 Vim 处于命令模式,此时文件的下方会显示文件的一些信息,包括文件的总行数和字符数,以及当前光标所在的位置等,此时可以使用插入命令进入输入模式对文件进行编辑。从命令模式进入输入模式进行编辑,可以按下 I、i、O、o、A、a 等键来完成,使用不同的键,光标所处的位置不同,如表 3 所示。
2024-03-06 17:05:45
90
转载 超详细的RabbitMQ入门,看这篇就够了
消息指的是两个应用间传递的数据。数据的类型有很多种形式,可能只包含文本字符串,也可能包含嵌入对象。“消息队列(Message Queue)”是在消息的传输过程中保存消息的容器。在消息队列中,通常有生产者和消费者两个角色。生产者只负责发送数据到消息队列,谁从消息队列中取出数据处理,他不管。消费者只负责从消息队列中取出数据处理,他不管这是谁发送的数据。这篇文章就先写到这里了。什么是消息队列?为什么使用消息队列?RabbitMQ的特点、组成部分、工作流程。
2023-08-08 20:12:04
1194
原创 SpringBoot在IDEA中同一个项目用不同端口启动&&idea重复启动springboot解决端口冲突&&解决VM options不存在(保姆级详细教程)
在 IDEA 中开发或学习 Java 项目时,我们经常需要同一个项目以不同端口多此启动或者出现端口冲突。IDEA 可以通过简单的配置来解决这样的问题。操作如下,在工具栏上选择edit configurations,如下图。这样就可以点击 OK 按钮, 在工具栏的配置处可以看到有多个项目了。Modify options ->勾选add VM options。部分人得idea没有 VM options,可如图调节。
2023-07-18 20:52:41
1265
原创 IntelliJ IDEA 控制台自动换行(保姆级详细教程)
IntelliJ IDEA 控制台自动换行Setting->Editor->General->Console,勾选下图点击应用即可。
2023-07-18 20:33:11
6123
1
原创 IDEA设置Properties配置文件的编码
1、很多人idea的Properties配置文件默认不是utf-8,可以这样更改。3、如图所示找到对应得编码格式,点击应用。
2023-07-18 20:04:51
3095
1
原创 设计模式、spring框架使用了那些设计模式、为什么要使用 spring、spring 常用的注入方式有哪些、spring 事务实现方式有哪些?
1.单例模式:保证被创建一次,节省系统开销。2.工厂模式(简单工厂、抽象工厂):解耦代码。3.观察者模式:定义了对象之间的一对多的依赖,这样一来,当一个对象改变时, 它的所有的依赖者都会收到通知并自动更新。4.外观模式:提供一个统一的接口,用来访问子系统中的一群接口,外观定义了 一个高层的接口,让子系统更容易使用。5.模版方法模式:定义了一个算法的骨架,而将一些步骤延迟到子类中,模版方法使得子类可以在不改变算法结构的情况下,重新定义算法的步骤。
2023-07-14 20:52:28
141
原创 说一下 spring mvc 运行流程?
DispatcherServlet通过handlermapping找到指定的handler Handel根据URL映射到响应的CONTROLLER。DispatcherServlet 根据视图名称找到对应的 ViewResolver。View 渲染模型数据并返回给 DispatcherServlet。DispatcherServlet 将渲染后的视图返回给客户端。ViewResolver 根据视图名称解析出对应的 View。ModelAndView 对象包含视图名称和模型数据。
2023-07-14 20:42:48
75
原创 SSM整合Shiro安全框架
首先我们新建一个wep工程然后引入相关的依赖接着我们spring配置文件最后我们配置 web.xml这样我们就将SSM框架简单搭建起来了。
2023-07-08 16:28:12
151
原创 搭建SSM框架(快速搭建)
这样我们就将SSM框架简单搭建起来了。接下来我们来简单搭建一个SSM框架。接着我们spring配置文件。最后我们配置 web.xml。首先我们新建一个wep工程。
2023-07-08 15:36:09
129
原创 注解与反射
是Java的一个特性,它允许程序在运行时动态地获取对象的类型信息和调用对象的方法。Java中的反射机制可以用来获取类的构造方法、字段、方法、注解等信息,并且可以通过反射调用对象的方法。反射机制可以使程序具有更高的灵活性和可扩展性,但也会增加程序的复杂度和降低程序的性能。是Java中的一种元数据,它提供了一种为程序元素(类、方法、变量等)添加元数据的方式。注解可以用来描述程序元素的特性、用途和约束条件等信息。Java中的注解使用@符号进行标记,例如@Deprecated、@Override等。
2023-07-08 15:22:20
71
原创 注解与反射
注释: 注释给开发人员开的。对你的代码加以解释,程序编译后该注释不可见。注解: 注解给程序看,该注解编译后依然存在。@Controller @RequestMapping() ---Spring程序看的。@Override JVM虚拟机看。重写特点。方法名要和父类被重写的方法一致,参数列表要一致,返回值要一致。访问修饰符不能小于父类访问修饰。抛出的异常不能大于父类异常。如果注解不被解析,那么注解就没有任何意义。1. @Override: 表示方法重写,只要使用了该注解必须符合重写的规则。
2023-07-08 15:22:02
73
原创 Lambda表达式
并行计算:Lambda表达式可以用于并行计算,可以通过Stream API将集合中的元素分成多个部分并行处理,提高计算效率。函数式接口:Lambda表达式可以用于函数式接口,即只有一个抽象方法的接口,可以通过Lambda表达式来实现接口中的方法。集合操作:Lambda表达式可以用于集合的排序、筛选、映射等操作,可以替代传统的迭代器实现方式,使代码更加简洁。其中,参数列表可以为空,或者包含一个或多个参数;Lambda表达式是Java 8中的一个重要特性,可以使代码更加简洁和易读,同时也有助于提高程序的性能。
2023-07-08 15:20:02
59
原创 shiro-安全框架
=身份认证==,就是判断一个用户是否为合法用户的处理过程。最常用的简单身份认证方式是系统通过核对用户输入的用户名和口令,看其是否与系统中存储的该用户的用户名和口令一致,来判断用户身份是否正确。对于采用指纹等系统,则出示指纹;对于硬件Key等刷卡系统,则需要刷卡。==授权,即访问控制==,控制谁能访问哪些资源。主体进行身份认证后需要分配权限方可访问系统的资源,对于某些资源没有权限是无法访问的如果自己完成认证和授权相对来说比较麻烦。可以使用第三方框架帮你完成认证和权限的绑定。
2023-07-05 19:34:48
504
1
原创 centos常见的命令
我们安装的linux系统--最小版,它就是命令行模式,所有的操作都是使用命令来完成的。思考:上面的目录切换都是使用的绝对路径吧。上面创建的文件--都是一个文件---想往文件中添加内容.cat: 查询文件所有的内容。--不适合文件内容多的。ifconfig---如果没有 使用 ip addr。ls -l /指定目录: 详细列出指定目录下的文件。ls /目录名称: 列出指定目录下的子文件。它创建的都是一层目录。----创建多层目录。tail: 查看后n行内容---必须会。cd /目录名: 切换到指定目录下。
2023-06-26 16:46:11
289
1
原创 Linux系统与在虚拟机中安装Centos7操作系统
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。
2023-06-26 16:27:49
486
1
原创 Java的Queue(队列)
Java提供了Queue接口作为队列的抽象表示,它是Java集合框架的一部分。Queue接口继承了Java的Collection接口,并扩展了一些额外的方法,以提供队列特定的功能。PriorityQueue:PriorityQueue类实现了Queue接口,并提供了优先级队列的功能。通过使用Queue接口及其实现类,你可以方便地进行队列操作,如添加元素、删除元素、获取队列头部元素等。ArrayDeque:ArrayDeque类实现了Queue接口,并以动态数组的形式提供了队列的功能。
2023-06-20 08:23:33
1787
原创 Java的Stream流
Java8的两个重大改变,一个是Lambda表达式,另一个就是本节要讲的Stream API表达式。==Stream 是Java8中处理集合的关键抽象概念==,它可以对==集合进行非常复杂的查找、过滤、筛选等操作.==
2023-06-14 20:08:37
608
原创 Java中的比较器(Comparator)
Comparator接口中有一个compare()方法,它接受两个对象作为参数,并返回一个int值,表示它们的顺序。在这个例子中,我们定义了一个StringComparator类,实现了Comparator接口中的compare()方法,用于按字典序比较两个字符串的大小。例如,如果我们希望在一个Set中保存自定义对象,而这些对象的相等性不是基于对象的引用相等,而是基于对象的某些属性相等,我们可以使用Comparator来实现equals()和hashCode()方法。
2023-06-14 19:32:28
4739
原创 Stream流的api方法
/1. 年龄大于18 filter:过滤掉不满足条件的元素. forEach:输出元素. ---如果没有终止函数,那么中间函数的代码不会被执行。终止操作: forEach count() reduce() collect(Collectors.toList()) findFirst。中间的操作: filter map sorted distinct() skip limit()(1) 找出2011年发生的所有交易,并按交易额排序(从低到高)。(6) 打印生活在剑桥的交易员的所有交易额。
2023-06-14 19:18:00
83
原创 方法引用,一种特殊的lambda表达式,对lambda表达式的一种简写方式。
静态方法引用 类名::静态方法 lambda表达式: (参数)->类名.静态方法(参数)实例方法引用:对象::实例方法 lambda表达式: (参数)->对象.实例方法(参数)对象方法引用:类名::实例方法 lambda表达式: (参数1,参数2....)->参数1.实例方法(参数2..)构造方法引用: 类名::new lambda表达式: (参数)->new 类名(参数);
2023-06-14 14:52:13
77
原创 lambda表达式
分析:Thread类需要一个Runnable接口作为参数,其中的抽象方法run方法是用来指定线程任务内容的核心为了指定run方法体,不得不需要Runnable的实现类为了省去定义一个Runnable 的实现类,不得不使用匿名内部类必须覆盖重写抽象的run方法,所有的方法名称,方法参数,方法返回值不得不都重写一遍,而且不能出错,而实际上,我们只在乎方法体中的代码.我们可以使用lambda表达式来完成上面的功能。
2023-06-14 14:38:53
44
原创 hashcode方法的作用
在重写hashCode()方法时,需要保证相等的对象产生相同的哈希码,这可以通过对象的属性来计算哈希码来实现。在Java中,hashCode()方法是一个非常重要的方法,它的作用是返回对象的哈希码。在Java中,哈希码主要被用于哈希表、散列表等数据结构中,以及在对象的比较中。如果两个对象的equals方法返回false,则它们的hashCode方法返回的哈希码可以相等,也可以不相等。注意:hashCode方法不能保证不同的对象一定产生不同的哈希码,但是如果两个对象产生的哈希码不同,它们肯定不相等。
2023-06-06 20:35:28
1465
1
原创 Java中创建对象的几种方式
使用Constructor类的newInstance()方法:通过Constructor类的newInstance()方法可以创建一个类的实例,与上面的方法相似,但是可以传递参数,例如:Constructor constructor = MyClass.class.getConstructor(String.class);使用clone()方法:通过实现Cloneable接口,并重写clone()方法可以创建一个对象的副本,例如:MyClass obj = new MyClass();
2023-06-06 20:25:57
1514
1
原创 java线程池
线程池是一种用于管理和复用线程的机制。在应用程序启动时,线程池会创建一组线程,并将它们保存在一个池中。当应用程序需要执行一个任务时,它可以从线程池中获取一个线程来执行任务,这样可以避免频繁地创建和销毁线程。线程池通常具有以下特性:可以控制线程的数量:线程池可以限制同时执行的线程数量,以避免资源浪费和竞争条件。可以复用线程:线程池中的线程可以被多个任务重复使用,从而减少了线程的创建和销毁开销。提高任务处理效率:线程池中的线程可以在任务之间轮番工作,从而减少了任务的等待时间。
2023-06-05 21:24:44
51
1
原创 JAVA多线程
进程是:一个应用程序(1个进程是一个软件)。一个进程中的执行场景/执行单元。一个进程可以启动多个线程。eg.对于java程序来说,当在DOS命令窗口中输入:java HelloWorld 回车之后。会先启动JVM,而JVM就是一个进程。JVM再启动一个主线程调用main方法(main方法就是主线程)。同时再启动一个垃圾回收线程负责看护,回收垃圾。最起码,现在的java程序中至少有两个线程并发,一个是 垃圾回收线程,一个是 执行main方法的主线程。线程池是一种用于管理和复用线程的机制。
2023-06-05 21:20:03
519
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人