
java
文章平均质量分 62
byg_qlh
技术交流,资源分享,欢迎关注
展开
-
Leetcode-重新排列数组
给你一个数组 nums ,数组中有 2n 个元素,按 [x1,x2,…,xn,y1,y2,…,yn] 的格式排列。请你将数组按 [x1,y1,x2,y2,…,xn,yn] 格式重新排列,返回重排后的数组。原创 2025-02-25 08:54:56 · 320 阅读 · 0 评论 -
LeetCode:数组异或操作
给你两个整数,n 和 start。数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == nums.length。请返回 nums 中所有元素按位异或(XOR)后得到的结果。原创 2025-02-24 15:38:13 · 201 阅读 · 0 评论 -
字符串相加
给定两个字符串形式的非负整数 num1 和 num2,计算他们的和注意:num1 和num2 的长度都小于 5100.num1 和num2 都只包含数字 0-9.num1 和num2 都不包含任何前导零。你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。原创 2024-12-17 15:57:19 · 191 阅读 · 0 评论 -
二叉树的右视图
给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。原创 2024-12-17 15:56:10 · 257 阅读 · 0 评论 -
希尔排序——Java实现、Python实现
希尔排序的是基于插入排序的基础上来做的,我们都知道插入排序需要比较的次数比较多,那么希尔排序就是利用的一个间隔,用于降低比较后,元素移动的次数。原创 2024-12-03 14:18:24 · 194 阅读 · 0 评论 -
浅谈ArrayList及扩容机制
通过将上面的方法进行梳理,我们能够总结出以下的几点当我们add进第一个元素到ArrayList的时候,elementData.length为0(因为还是一个空的list,有种懒加载的感觉??),但是此时执行了ensureCapacityInternal() 方法,通过默认的比较,此时会得到minCapacity为10,此时minCapacity - elementData.length > 0满足,所以会进入grow(minCapacity)方法。原创 2024-11-18 12:24:54 · 637 阅读 · 0 评论 -
使用SpringBoot+Vue+Echarts制作一个文章贡献度表
将统计出每天的文章数,通过上面我们能够看到,里面的日期不是连续的,所以我们还需要编写代码针对那些没有记录的日期,初始化贡献度为0。首先我们需要的是对博客表进行操作,我们需要统计按日期统计每天的贡献度。我们首先需要写一个方法,用来得到指定时间段内的全部日期。最终我们将得到的数据进行渲染,就得到最开始的贡献表了~原创 2024-11-08 11:27:57 · 356 阅读 · 0 评论 -
JVM发展历程
具体JVM的内存结构,其实取决于其实现,不同厂商的JVM,或者同一厂商发布的不同版本,都有可能存在一定差异。主要以oracle HotSpot VM为默认虚拟机。原创 2024-10-10 11:32:17 · 1286 阅读 · 1 评论 -
JVM生命周期
Java虚拟机的启动是通过引导类加载器(bootstrap class loader)创建一个初始类(initial class)来完成的,这个类是由虚拟机的具体实现指定的。除此之外,JNI(Java Native Interface)规范描述了用JNI Invocation API来加载或卸载 Java虚拟机时,Java虚拟机的退出情况。某线程调用Runtime类或system类的exit方法,或Runtime类的halt方法,并且Java安全管理器也允许这次exit或halt操作。原创 2024-10-10 11:31:48 · 209 阅读 · 0 评论 -
SpringBoot整合Radis(redis启用,maven依赖,及具体实用)
例如:@Cacheable(value=”mycache”) 或者 @Cacheable(value={”cache1”,”cache2”}。如果指定要按照 SpEL 表达式编写,如果不指定,则缺省按照方法的所有参数进行组合。缓存的名称,在 spring 配置文件中定义,必须指定至少一个。2、作用是主要针对方法配置,能够根据一定的条件对缓存进行清空。1、配置和@Cacheable一样。1、配置和@Cacheable一样。2、一般用于添加操作。原创 2024-07-08 09:56:12 · 794 阅读 · 0 评论 -
Reids基础(redis基础详解)——从入门到精通
Bean//Json配置序列化// 使用StringRedisSerializer来序列化和反序列化redis的key值// Hash的key也采用StringRedisSerializer的序列化方式。原创 2024-07-08 09:53:25 · 1235 阅读 · 0 评论 -
Mybatis入门——语法详解:基础使用、增删改查、起别名、解决问题、注释、动态查询,从入门到进阶
注,用别名的时候直接用文件名,全小写。association用于对象,关联。属性就行了(注意我们去掉了。collection用于集合。然后在引用它的语句中设置。原创 2024-06-27 16:39:17 · 1666 阅读 · 0 评论 -
Java基础——String类详解,实用解释
字符串常量池位于堆内存中,专门用来存储字符串常量,可以提高内存的使用率,避免开辟多块空间存储相同的字符串,在创建字符串时 JVM 会首先检查字符串常量池,如果该字符串已经存在池中,则返回它的引用,如果不存在,则实例化一个字符串放到池中,并返回其引用。原创 2024-06-20 16:29:31 · 594 阅读 · 0 评论 -
Java基础——自动装箱与拆箱
而对于 g.equals(a+b) , a+b 会先拆箱进行相加 运算,在装箱进行 equals 比较,但是装箱后为Integer , g 为 Long ,所以 g.equals(a+b) 为 false。运算符的两个操作数都是包装器类型的引用,则是比较指向的是否是同一个对象,而如果 其中有一个操作数是表达式(即包含算术运算)则比较的是数值(即会触发自动拆箱的过程)。采用同样的方法,可以看到 Double 的 valueOf 方法,每次返回都是重新 new 一个新的对象,所以上面代码中的结果都不想等。原创 2024-06-20 16:22:07 · 835 阅读 · 0 评论 -
Java基础——异常详解(Error 与 Exception )
从前三个例子可以看出如果 try{} 中的代码没有异常, catch(){} 代码块中的代码不会执行。所以如果 try{} 和 catch(){} 都含有 return 时,无异常执行 try{} 中的 return ,存在异常执行catch(){} 的 return。不管任何情况,就算 try{} 或 catch(){} 中含有 return , finally{} 中的代码一定会执行,那。原创 2024-06-19 13:47:53 · 1101 阅读 · 0 评论 -
Java基础——内部类详解(成员内部类、局部内部类、匿名内部类、静态内部类)
对于变量 b ,其实是将 fun 方法中的变量 b 以参数的形式对匿名内部类中的拷贝(变量 b 的拷贝)进行赋值初始化。在 run 方法中访问的变量 b 根本就不是 test 方法中的局部变量 b ,而是一拷贝值,所以不存在生命周期不一致的问题,但如果在 run 方法中修改变量 b 的值会导致数据不一致,所以需要加 final 修饰。的局部变量就被销毁,而局部内部类对局部变量的引用依然存在,如果局部内部类要调用没有。final 修饰的局部变量时,就会造成生命周期不一致出错。原创 2024-06-19 13:39:52 · 736 阅读 · 0 评论 -
Maven相关常用操作——实用指南
【代码】Maven相关常用操作——实用指南。原创 2024-06-14 08:34:48 · 587 阅读 · 0 评论 -
Java进阶——类的加载过程详解
在 Java 中数据类型分为基本数据类型和引用数据类型。基本数据类型由虚拟机预先定义,引用数据类型则需要进行类的加载。按照 Java 虚拟机规范,从 class 文件到加载到内存中的类,到类卸载出内存为止,它的整个生命周期包括如下 7 个阶段:其中,验证、准备、解析 3 个部分统称为链接(Linking)从程序中类的使用过程看。原创 2024-06-07 16:41:02 · 1997 阅读 · 0 评论 -
java进阶——JVM 与 Java 体系结构详解
作为 Java 工程师的你曾被伤害过吗?你是否也遇到过这些问题?运行着的线上系统突然卡死,系统无法访问,甚至直接 OOM想解决线上 JVM GC 问题,但却无从下手新项目上线,对各种 JVM 参数设置一脸茫然,直接默认吧然后就 JJ 了每次面试之前都要重新背一遍 JVM 的一些原理概念性的东西,然而面试官却经常问你在实际项目中如何调优 VM 参数,如何解决 GC、OOM 等问题,一脸懵逼。原创 2024-06-07 16:37:40 · 933 阅读 · 0 评论 -
Java 虚拟机详解——Java虚拟机、垃圾回收、内存分配策略
以下代码中的 FileSystemClassLoader 是自定义类加载器,继承自 java.lang.ClassLoader,用于加载文件系统上的类。它首先根据类的全名在文件系统上查找类的字节代码文件(.class 文件),然后读取该文件内容,最后通过 defineClass() 方法来把这些字节代码转换成 java.lang.Class 类的实例。原创 2024-06-02 10:38:31 · 992 阅读 · 0 评论 -
Java容器详解——设计模式、源码分析、理解底层原理
GFM-TOC。原创 2024-06-01 16:32:52 · 891 阅读 · 0 评论 -
Java基础语法详解——入门学习教程
GFM-TOC。原创 2024-06-01 07:03:58 · 1208 阅读 · 0 评论 -
Java基础——Java并发详解(线程、终端、互斥同步、线程协作、线程状态、AQS、Java内存模型、线程安全、锁优化等)
GFM-TOC。原创 2024-05-31 13:44:46 · 834 阅读 · 0 评论 -
JavaIO详解(磁盘操作、字节操作、字符操作、对象操作、网络操作、NIO)
GFM-TOC。原创 2024-05-31 08:29:47 · 1249 阅读 · 0 评论 -
Java实现插入排序、冒泡排序、堆排序、希尔排序、选择排序、优先队列排序、快速排序、归并排序(详细注释,原理解析)
【代码】Java实现插入排序、冒泡排序、堆排序、希尔排序、选择排序、优先队列排序、快速排序、归并排序(详细注释,原理解析)原创 2024-05-27 07:38:11 · 981 阅读 · 0 评论 -
Java实现抢红包算法——详细注释,标准语法
【代码】Java实现抢红包算法——详细注释,标准语法。原创 2024-05-27 07:26:45 · 260 阅读 · 0 评论 -
一周股市价格为[2,6,1,4,8],求哪一天买入哪一天卖出,可获得最大收益,最大收益为多少——Java实现,详细注释
【代码】一周股市价格为[2,6,1,4,8],求哪一天买入哪一天卖出,可获得最大收益,最大收益为多少——Java实现,详细注释。原创 2024-05-26 07:21:03 · 181 阅读 · 0 评论 -
把一个数组分为两部分使得其和相差最小——Java实现(详细注释,全面解析)
【代码】把一个数组分为两部分使得其和相差最小——Java实现(详细注释,全面解析)原创 2024-05-26 07:17:40 · 712 阅读 · 0 评论 -
二叉树的构建——Java实现(详细注释 + 原理分析)
1.后序遍历中最后一个元素为树的根节点,找到根节点的数值,并得到根节点在中序遍历中的位置,然后用来进行递归构建二叉树即可。2.层序遍历用到了bfs的深度优先搜索遍历,我们存放在list容器中,实现层序遍历的输出。原创 2024-05-25 07:03:41 · 383 阅读 · 0 评论 -
Java入门到进阶(内容详实:Java基本语法、数组、面向对象、异常类、多线程、常用类、枚举类与注解、Collection接口系列集合、Map接口系列集合、泛型、I/O流 Stream等)
写在前面1.概述2.Java基本语法3.数组4.面向对象(上)5.面向对象(中)6.面向对象(下)7.异常处理8.多线程9.Java常用类10.枚举类与注解11.Java集合12.泛型13.IO流14.网络编程15.Java反射机制16.Java8的其它特性17.Java9&Java10&Java11新特性一、Java基本语法1 关键字与保留字分类关键字访问控制privateprotectedpublic原创 2024-05-19 21:38:35 · 952 阅读 · 0 评论 -
Java编码调用排序包
【代码】Java编码调用排序包。原创 2024-04-29 09:45:29 · 231 阅读 · 0 评论 -
JavaEE企业架构与设计实验报告
《Java EE架构与程序设计》课程设计报告学号:姓名:一、项目总体说明1.1 项目总体说明此项目意在帮助图书馆管理员和普通用户管理和使用图书馆。普通用户可以通过本网站简洁高效的查询借阅所需书籍和快速还书,管理员可以通过本网站监控图书馆整体状态,上架或下架书籍,查看会员情况等。1.2 开发环境的选择、安装与配置开发环境配置Eclipse4.5.1Eclips...原创 2020-01-13 11:14:06 · 2558 阅读 · 0 评论 -
利用正则表达式将字符串拆分及比较器的基本运用
利用正则表达式将字符串"张三:21:98|李四:22:89|王五:20:98"拆分,而后把内容保存在Student对象中,利用比较器排序输出创建Student类,继承了Comparable借口,指定泛型为类class Student implements Comparable<Student>{//指定泛型为Student private String name; priv...原创 2019-03-29 16:45:54 · 375 阅读 · 0 评论 -
单链表基本操作合集及详细注释(java语言描述1.添加节点 2.返回节点 3.查找节点 4.删除节点 5.改变节点 6.删除类型节点 7.指定位插入 8.倒数第K节点 9.链表长度10.链表输出)
单链表操作合集及详细注释实现操作(以下是Link类中的方法序列):1.添加节点2.返回指定节点3.查找是否存在指定节点4.删除指定节点5.改变指定节点6.删除所有指定类型节点7.在指定节点后插入新节点8.得到倒数第k个节点9.得到链表长度10.输出链表代码段:package 链表;class Person{//////////////////////////////...原创 2019-03-23 17:40:20 · 578 阅读 · 0 评论 -
java链表的反转,以及反转后的输出
链表类中的反转操作public Person reverseList(){//反转链表 if(this.root==null||this.root.next==null){//判断根节点是否为空或者链表只含一个有根节点 return this.root; } Person pPerson=null;//声明前驱节点 Person aPerson=this.root;//...翻译 2019-04-08 22:04:37 · 500 阅读 · 0 评论 -
(Java)在指定文件进行对象序列化,实现单人信息管理系统
导入的java的类package train;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Ser...原创 2019-04-03 10:37:53 · 390 阅读 · 0 评论 -
java简易双向链表的实现(添加和双向输出操作)
节点类与单链表的区别主要在于添加节点时,需要指定新添加节点的前驱class Node{//节点类 private String name; private Node pervious; protected Node next; public Node(){} public Node(String name){this.setName(name);} public Node(St...原创 2019-04-09 19:59:33 · 992 阅读 · 0 评论 -
将数字货币金额转换为大写格式(java)
基本思想:将数字转化为字符串,以小数点为界限拆为:整数,小数点,小数,三各部分,各个部分转换为大写格式,最后拼接在一起。(主要运用了字符串的拆分,替换,转化)1.导入的包import java.text.DecimalFormat;import java.util.Scanner;2.静态变量static String[] UNIT1={"","拾","佰","仟","万","拾",...原创 2019-04-13 08:57:36 · 2165 阅读 · 0 评论 -
(java)宠物商店,接口实现
基本思想:使用一个接口作为宠物商店的标准,只要满足接口内的方法都可以实现接口进入宠物商店。本例子用yellVoice()方法作为标准。导入的类import java.util.Scanner;//导入Sacnner类## 接口interface PetShop{//宠物商店接口 abstract String yellVoice();//接口里面只有一个叫声的方法,只要满足此方法的类...原创 2019-04-17 12:11:45 · 2607 阅读 · 0 评论 -
解决cmd命令行运行java程序,编译通过,执行时却找不到主类的问题
命令行中使用javac命令编译Train通过使用java命令运行却找不到主类Trian原因:有package的存在。编译成功后,需要返回上一层文件目录使用java命令执行train.Trian(即:java命令后跟 包名称调用主类名称)结果正常运行:...原创 2019-04-26 17:44:02 · 3040 阅读 · 4 评论