修贤323
码龄4年
关注
提问 私信
  • 博客:30,361
    社区:1,096
    动态:343
    31,800
    总访问量
  • 67
    原创
  • 460,560
    排名
  • 389
    粉丝

个人简介:一个java新人创作博主,有问题请私聊哦,看到一定回!

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:内蒙古
  • 加入CSDN时间: 2021-04-12
博客简介:

qq_57167753的博客

查看详细资料
个人成就
  • 获得59次点赞
  • 内容获得32次评论
  • 获得61次收藏
创作历程
  • 68篇
    2023年
成就勋章
TA的专栏
  • java学习笔记
    23篇
兴趣领域 设置
  • Java
    javatomcatspringmavenjava-eespring bootspring cloudjvm
创作活动更多

仓颉编程语言体验有奖征文

仓颉编程语言官网已上线,提供版本下载、在线运行、文档体验等功能。为鼓励更多开发者探索仓颉编程语言,现诚邀各位开发者通过官网在线体验/下载使用,参与仓颉体验有奖征文活动。

368人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Java类加载机制

3. 类的加载由类加载器完成的,类加载器包括:根加载器(BootStrap)、扩展加载器(Extension)、系统加载器(System)和用户自定义类加载器(java.lang.ClassLoader的子类)。1. JVM中类的装载是由类加载器(ClassLoader)和它的子类来实现的,Java中的类加载器是一个重要的Java运行时系统组件,它负责在运行时查找和装入类文件中的类。Extension:从java.ext.dirs 系统属性所指定的目录中加载类库,它的父加载器是Bootstrap;
原创
发布博客 2023.10.07 ·
207 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java面试题异常相关

在try代码块中,包含可能发生异常的代码,一旦发生异常,则抛出异常对象,会进入catch代码块,一个try块之后可以有多个catch子句,try-catch块也能嵌套。每个catch块必须接收一个(且仅有一个)代表异常类型的异常对象参数,若try中抛出的异常和catch接收的异常类型一致,则进入对应的catch代码块。3、两者都是消极处理异常的方式,只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正的处理异常由函数的上层调用处理。throw语句用在方法体内,表示抛出异常对象,由方法体内的语句处理。
原创
发布博客 2023.10.04 ·
289 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java面试题整理面向对象

如果将对象的方法是为对象向外界提供的服务,那么运行时的多态性可以解释为:当A系统访问B系统提供的服务时,B系统有多种提供服务的方式,但一切对A系统来说都是透明的(就像电动剃须刀是A系统,它的供电系统是B系统,B系统可以使用电池供电或者用交流电,甚至还有可能是太阳能,A系统只会通过B类对象调用供电的方法,但并不知道供电系统的底层实现是什么,究竟通过何种方式获得了动力)。得到继承信息的类被称为子类(派生类)。对象造型(父类的引用指向子类的对象,这样同样的引用调用同样的方法会根据子类对象的不同而表现不同的行为)
原创
发布博客 2023.09.26 ·
320 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

悲观锁和乐观锁

3、对变量进行修改的时候,先对比一下最后一次修改的时间戳是否发生变化了,如果没发生变化,修改变量的值,如果变化了,重复以上流程;乐观锁的思想是使用CAS(compareAndSwapper)机制,不上锁,但也能解决并发问题;悲观锁的思想对线程并发持悲观态度,使用互斥锁的机制来解决并发问题;1、先查询一下变量的值以及它的最后一次修改的时间戳;最后一次修改的时间戳或者版本号;2、在本地修改变量的值;
原创
发布博客 2023.09.21 ·
155 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

多线程并发或线程安全问题如何解决

锁(任意对象)来实现线程同步,自动锁的思想,底层实现原理:当又线程进入同步代码快之后,利用jvm的计数器将锁的标记位置为1,当别的线程再想进入的时候,发现锁的标记为1,该线程就去锁池等待,当第一个线程出来之后,锁的标记会置为0,之后cpu会随机分配一个线程再次进入同步代码块。关键字修饰变量,可以实现线程之间的可见性,避免变量脏读的出现,底层是通过限制jvm指令的重新排序实现的,适用于一个线程修改,多个线程读的场景。6、使用线程池来创建和管理线程,也可以一定程度上解决并发问题。来修饰变量,可以解决并发问题。
原创
发布博客 2023.09.21 ·
433 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Spring中的常用注解

Controller 或 @RestController。
原创
发布博客 2023.09.21 ·
52 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

线程的生命周期

当cpu分配到了时间片之后,线程开始运行,运行run方法当中的内容,进入。start() 方法的时候,线程等待cpu分配时间片,进入到。当休眠时间到期,或者被notify/nitifyAll了,线程又回到。当线程遇到sleep,wait等方法的时候,线程会进入。,就会销毁,被jvm的gc回收。new 一个线程的时候处于。线程运行结束之后,处于。
原创
发布博客 2023.09.21 ·
62 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

java创建线程的几种方式

1.创建一个继承Thread的子类(便于写入线程的执行方法)2.重写Thread中的run()方法(作为线程的执行方法)3.在使用时创建第一步时子类的实例对象。4.调用该实例对象的start()方法。一、继承Thread类。一、继承Thread类。
转载
发布博客 2023.09.21 ·
77 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

进程和线程有什么区别

2、进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间。而线程是共享进程中的数据的,使用相同的地址空间,因此CPU切换一个线程的花费远比进程要小很多,同时创建一个线程的开销也比进程小很多。3、线程之间的通信更方便,同一进程小的线程共享全局变量、静态变量等数据,而进程之间的通信需要以通信的方式(IPC)进行。1、进程时资源分配的最小单位,线程是程序执行的最小单位。
原创
发布博客 2023.09.21 ·
60 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ArrayList和LinkedList的区别

2、随机访问效率:ArrayList 比 LinkedList在随机访问的时候效率要高,因为 LinkList 是线性的数据存储方式,所以需要移动指针从前往后依次查找。3、增加和删除效率:在非首尾的增加和删除操作,LinkList 要比 ArrayList效率高,因为ArrayList增删操作要影响数组内的其他数据的下标。综合来说,在需要频繁读取集合中的元素时,更推荐使用ArrayList,而在插入和删除操作多时,更推荐使用LinkedList。2、二者都是线程不安全,效率高。
原创
发布博客 2023.09.21 ·
79 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java中的集合

LinkedHashMap:底层hashmap+linkList实现,通过hashmap实现key-value键值对存储,通过链表实现元素有序。HashSet:底层实现hashMap,数组+链表实现,不允许元素重复,无序。Vector:底层实现是数组,查询快,增删慢,线程安全,效率低;ArrayList:底层实现是数组,查询快,增删慢,线程不安全,效率高;LinkList:底层实现是链表,增删快,查询慢,线程不安全,效率高;Set 接口的特点:元素唯一,不可重复,无序。
原创
发布博客 2023.09.21 ·
76 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

抽象类和接口的区别

抽象类中可以有普通方法,必须有抽象方法,可以有成员变量,不可以被实例化;,不可以被实例化,接口可以看作一个特殊的抽象类。接口中只能有抽象方法,不能有普通方法,中新增了接口中可以存在。
原创
发布博客 2023.09.21 ·
41 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spring自动配置原理

一、前言一、前言在传统的SSM框架集成中,需要编写大量的XML配置文件,比如继承Mybatis时,需要编写mybatis_config.xml文件,在集成springmvc时,需要编写springmvc.xml文件,这些配置十分繁琐,还很容易出现错误,导致开发效率低。而Spring Boot采用约定大于配置的思想,将大量的spring配置文件集成到Spring Boot的内部,帮助开发人员自动配置各类XML文件,极大的简化了开发过程。二、自动配置原理。
原创
发布博客 2023.09.21 ·
400 阅读 ·
1 点赞 ·
2 评论 ·
3 收藏

SpringBoot特点

Spring Boot 主要目标是:
原创
发布博客 2023.09.20 ·
95 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

maven常用命令

mvn clean install -Dmaven.test.skip=true -- 跳过单测打包,并把打好的包上传到本地仓库。mvn help:active-profiles //查看当前激活的profiles。mvn -Dmaven.test.skip=true //忽略测试文档编译。mvn help:all-profiles //查看所有profiles。mvn help:effective -pom //查看完整的pom信息。mvn test-compile //编译测试代码。
原创
发布博客 2023.09.20 ·
357 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Maven的打包方式

maven-resources-plugin(资源插件),maven-compiler-plugin(编译项目),maven-jar-plugin(将项目打成jar包),maven-assembly-plugin(将所有依赖打成jar包)。打war时需要maven-resource-plugin(资源插件),maven-compiler-plugin(编译项目),maven-war-plugin插件。打包可以根据打包类型简单划分为:jar包、war包。
原创
发布博客 2023.09.20 ·
157 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

简述什么是Maven

maven会自动调用项目中使用 junit (开源的java单元测试框架)写的单元测试。Maven是最流行的自动化构建工具,用来对java项目进行依赖管理和项目构建。项目-------依赖----------》spring.jar。项目中需要jar包,maven可以帮助我们下载、管理jar包。:war、jar、pom(聚合工程,一般作为父母工程):把java源码编译为字节码文件(class)。:把之前编译的class文件删除。
原创
发布博客 2023.09.20 ·
190 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java面试题整理常用类部分

而String str = new String("i");:String是长度不可变字符串,StringBuffer 和 StringBuilder 是长度可变的字符串,维护一个缓冲区。:输出一个新的字符串,它是此字符串的子串,形如substring(3,7);intern()方法会首先从常量池中查找是否存在该常量值,如果常量池中不存在则现在常量池中创建,如果已经存在则直接返回。三、String str = "i" 与 String str = new String("i")一样吗。
原创
发布博客 2023.09.19 ·
225 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java面试题整理Java基础部分

一、JDK和JRE有什么区别一、JDK和JRE有什么区别JDK:Java Development Kit的简称,Java开发工具包,提供了Java的开发环境和运行环境。JRE:Java Runtime Environment的简称,Java运行环境,为了Java的运行提供了所需环境。具体来说JDK其实包含了编译Java源码的编译器Javac,还包含了很多Java程序调试和分析的工具。简单来说,如果你需要运行Java程序,只需要安装JRE就可以了,如果你需要编写Java程序,需要安装JDK。
原创
发布博客 2023.09.19 ·
261 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

pageHelper插件及其依赖包jsqlparser的Jar包下载

SSM系列教材 (三)- PageHelper (how2j.cn)
原创
发布博客 2023.08.06 ·
343 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏
加载更多