java基础
文章平均质量分 70
孤雨蝉鸣
这个作者很懒,什么都没留下…
展开
-
六大设计原则
在软件开发过程中,遵循良好的设计原则可以帮助我们构建出更加健壮、易于维护和扩展的系统,可能在此之前你也多少了了解过设计模式,但在实际的业务开发中使⽤用却不多,接下来我们将分别介绍这些原则及其重要性。原创 2024-08-27 00:01:04 · 958 阅读 · 0 评论 -
优先队列自定义排序
最近在做到一个业务的时候,对排序有特殊要求,要求a和b相绑定,先对a进行降序排序,如果a相同的情况下,需要也对b进行降序排序,这个明显是要自定义类来实现Comparable接口或Comparator接口并分别重写compareTocompare方法来实现,这部分我有些生疏了,故在此写出来后进行回顾。原创 2024-03-21 15:33:23 · 349 阅读 · 0 评论 -
JAVA中已有的栈和队列的实现
(双端队列)也是一个可以用来实现栈的接口,特别是当你需要一个线程安全的栈时,接口,因此也可以用作普通的队列,不过,它的元素是按照其自然顺序或者提供的。是一个接口,用于实现队列数据结构,它定义了队列的常用方法,如。类实现了这个接口,因此你可以使用。提供了多种线程安全的队列实现,如。中,以协调不同线程之间的任务执行。主要是一个优先队列,但它也实现了。(查看栈顶元素)等方法。实现的栈类,它提供了。等,这些队列通常用于。原创 2024-03-13 11:17:27 · 367 阅读 · 0 评论 -
JAVA复制一个对象:浅拷贝与深拷贝详解
JAVA复制一个对象:浅拷贝与深拷贝详解原创 2024-02-05 11:47:02 · 592 阅读 · 0 评论 -
springboot有关type-aliases-package设置,xml别名爆红错误
在application.yaml中设置:mybatis: mapperLocations: classpath:mapper/*.xml type-aliases-package: com.chan.springcloud.entities 但xml中写别名依旧报错,虽然不影响运行,但是让人看着很不舒服,如果写全类名也不会有错,我网上找了半天也没找到有效解决办法整了半天才找到两个解决办法:1. 把IDEA设置的检查级别调低,默认是inspectio...原创 2021-07-07 12:46:20 · 4169 阅读 · 9 评论 -
com.sun.proxy.$Proxy0 cannot be cast to com.chan.dao.IUserDao报错问题
问题解答一、问题描述二、问题解决一、问题描述本人在仿照手写mybatis框架时用到了动态代理如图:测试运行时报了Exception in thread "main" java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to com.chan.dao.IUserDao的错二、问题解决从网上查了些许资料得知:Father.class == new Father().getClass(),如果是父类指向之类则原创 2021-08-13 16:25:50 · 574 阅读 · 0 评论 -
IDEA依赖冲突管理
本地非maven以及maven的lib依赖的jar包冲突问题原创 2023-08-03 13:50:54 · 472 阅读 · 0 评论 -
【JVM】IDEA中轻松进行反编译查看并实例展示
IDEA中轻松进行反编译查看1、运行你要反编译的java程序2、找到`target`相同目录下的同名class文件3、实例3.1、反编译技术对自动拆装箱的陷阱的探讨源程序如图:反编译后:问题:结论:1、运行你要反编译的java程序2、找到target相同目录下的同名class文件注意:若没找到就rebuilt下程序3、实例3.1、反编译技术对自动拆装箱的陷阱的探讨源程序如图:package com.chan.test;/** * 截取自JVM虚拟机 377 面的 自动拆装箱的陷阱原创 2021-12-05 17:19:47 · 1254 阅读 · 0 评论 -
【JVM】方法签名与方法描述符与重载的关系
在 `javac`编译器 中进行编译(这里用的是JDK6的`javac`编译器,其它支持还是不支持没有查阅)可以编译,直达`JVM`层面进行运行得到可运行结果,而`IDEA`或`Eclipse`中的编译器则不允许编译,可自行测试。原创 2021-12-05 17:41:52 · 390 阅读 · 1 评论 -
【JVM】常用调试工具参数
JVM常用调试工具参数原创 2021-12-05 19:23:03 · 242 阅读 · 0 评论 -
Java线程和JVM
Java线程Java线程状态流程图、Java线程状态流程图原创 2021-10-13 14:56:58 · 60 阅读 · 0 评论 -
String对象的探究(new String到底创建了多少对象?)
内部结构jdk8及以前,使用的是char[]jdk8以后,使用的是byte[]+字符编码标识不可变性通过字面量的方式给一个字符串赋值,是直接声明在字符串常量池中字符串常量池中是不会存储相同内容的字符串的内存分配jdk6及以前:字符串常量池存放在永久代jdk6之后:调整到了Java堆内intern()方法jdk6及以前:如果字符串常量池中有,则不会放入,而是返回已有的字符串常量池中对象的地址;如果没有,会把此对象复制一份(创建一份新的),放入字符串常量池中,并返回字符串常量池中对象的地址。原创 2024-01-23 16:46:33 · 330 阅读 · 0 评论 -
JAVA+IDEA快捷键总结(个人常用)
IDEA快捷键+插件总结原创 2024-01-18 16:48:22 · 451 阅读 · 0 评论 -
JAVA实现DFS、BFS
深度优先遍历(DFS)和广度优先遍历(BFS),这两种策略在处理复杂数据结构时非常有用,特别是在处理树和图结构的时候。原创 2024-01-12 09:33:42 · 903 阅读 · 1 评论 -
常见加密算法梳理
在当今的信息时代,数据的安全性显得尤为重要,加密算法作为保障数据安全的核心手段,在过去的几十年中经历了巨大的发展。信息加密是前后端开发都经常需要使用到的技术,应用场景包括了数据存储、网络通信、身份认证等等,不同的应用场景也会需要使用到不同的签名加密算法,或者需要搭配不一样的签名加密算法来达到业务目标。这里简单的给大家介绍几种常见的签名加密算法和一些典型场景下的应用。原创 2024-01-09 20:10:29 · 109 阅读 · 0 评论 -
【JAVA线程实现】
线程是程序执行流的最小单元,它是程序的执行路径。在多线程编程中,一个进程内可以有多个线程同时执行,共享进程的资源,从而提高程序的执行效率。进程是操作系统进行资源分配的基本单位,线程是独立调度和分派的基本单位。原创 2024-01-09 13:47:51 · 935 阅读 · 0 评论 -
Java线程池
当阻塞队列填满时,如果线程池中线程数没用超过最大线程数,则会创建新的线程运行任务,否则更具拒绝策略处理新任务。:当有新任务时,如果线程池中线程数没用达到线程池的基本大小,则会创建新的线程执行任务,否则将任务放入阻塞队列。:非核心线程空闲后,报错存活的时间,此参数只对非核心线程有效。:每当线程池创建一个新的线程时,都是通过线程工厂方法来完成的,在。ps:注意,这一段是根据源码分析的,具体的没贴出,这只是我的理解。创建新的线程需要获取全局锁,通过这种设计可以避免获取全局锁,当。线程池:一个管理线程的池子。原创 2024-01-08 13:17:15 · 957 阅读 · 1 评论 -
Stream流总结:从入门到精通
Stream流是Java 8中引入的一个新特性,它允许以声明性方式处理数据,如过滤、映射、排序等。这些方法可以根据具体的需求进行组合使用,以实现复杂的流式处理逻辑,但在使用的时候也要注意线程安全问题。原创 2024-01-05 15:14:06 · 753 阅读 · 0 评论 -
八大排序算法
八大排序:简单选择排序、冒泡排序、直接插入排序、希尔排序、堆排序、快速排序、归并排序、基数排序。原创 2021-09-30 22:55:06 · 610 阅读 · 0 评论 -
注解+反射读取
自定义注解+反射读取一、自定义注解1.使用@interface自定义注解2.要点2.1.@interface用来声明一个注解2.2.其接口内每个方法实际是声明一个配置参数2.3.注意3.元注解3.1介绍一、自定义注解1.使用@interface自定义注解使用其注解会自动继承java.lang.annotation.Annotation接口2.要点2.1.@interface用来声明一个注解格式为:public @interface 注解名(定义体)2.2.其接口内每个方法实际是声明一个配置原创 2021-08-09 10:44:59 · 411 阅读 · 0 评论 -
IDEA+Git——项目分支管理
在Git中,分支是项目的不同版本,当开始开发一个新项目时,主分支通常是master分支。随着项目的进展,你可能需要开发新的功能或修复bug,在这些情况下,你可以创建一个新的分支,以便在不影响主分支的情况下进行开发。原创 2024-01-08 11:32:12 · 2236 阅读 · 0 评论 -
IDEA的gitee使用
IDEA的gitee使用一、IDEA的Gitee使用1.1安装IDEA的Gitee插件并重启1.2添加Gitee账户1.3项目提交分享至Gitee1.4拉取Gitee项目1.5团队合作Gitee一、IDEA的Gitee使用1.1安装IDEA的Gitee插件并重启1.2添加Gitee账户注意此处的登录账号是要求是邮箱账号,1.3项目提交分享至Gitee后面再将要提交的文件勾选提交即可上传至Gitee1.4拉取Gitee项目此处点击克隆(clone)即可拉取成功,当然也可以原创 2021-08-07 23:35:13 · 1973 阅读 · 3 评论 -
使用IDEA生成JavaDoc文档+自定义注解模板
使用IDEA生成JavaDoc文档+自定义注解模板一、注释标签介绍二、IDEA生成JavaDoc文档2.1、IDEA选择`Tools`->`Generate JavaDoc`2.2、注意以下三个地方2.3、注意三、自定义注解模板3.1、注解在类上3.1.1图内模板3.2、注解在方法上3.2.1、`params`里的`脚本代码`3.2.2、图内模板一、注释标签介绍标记说明标签类型@author作者标识包、类、接口@version版本号包、类、接口@param原创 2021-08-07 21:45:33 · 5240 阅读 · 0 评论