自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 HashMap底层实现原理详解

一、快速入门有一定基础的小伙伴们可以选择性的跳过该步骤HashMap是Java程序员使用频率最高的用于映射键值对(key和value)处理的数据类型。随着JDK版本的迭代,JDK1.8对HashMap底层的实现进行了优化,列入引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMap的数据结构实现和功能原理。Java为数据结构中的映射定义了一个接口java.uti.Map,此接口主要有四个常用的实现类,分别是HashMap,LinkedHashMap,Ha

2021-03-01 22:17:17 3559 5

原创 MacBook苹果电脑安装JDK8、JDK17教程,环境变量配置 + 快速切换JDK版本

我是Apple M1 Pro芯片,选择的是 ARM64 DMG Installer 点击下载后面的dmg文件。这里选择需要安装的jdk版本,我需要的是JDK17版本,这里我选择Java SE 17,点击进入下载页面。我已经安装好了,这里就不贴图了,双击对应安装包,进行安装。MacBook M1 安装JDK及环境变量配置。在 访达 下载 中找到需要安装的版本。1、在Oracle官网下载JDK。

2024-07-18 14:44:26 1909 2

原创 【Mac版超详细+图解】IDEA集成使用SVN

「mac版超详细+图解」IDEA集成使用SVN选择【IntelliJ IDEA】>【Settings】>【Version Controller】>【Subversion】一般会提示无权限,可进入到 /usr/local/bin路径下 使用。提示身份验证等选项,填完后就可正常通过svn来进行版本管理了。

2023-11-14 11:51:25 2649 4

原创 jar包冲突解决方案

tomcat等容器的classLoader获取加载路径下的文档列表时不排序,依赖于底层的文档系统返回顺序。当不同环境之间的文档系统不一致时,就会出现有的环境没问题,有的环境有冲突。2.不同的jar包出现了类路径一致的类,同样的类出现在多个不同的依赖jar里,由于jar加载的先后顺序导致了JVM加载了错误版本的类。应用选择了错误的版本导致jvm加载不到需要的类或者加载了错误版本的类。由于jvm的双亲委派机制,层级越高的类加载器越先加载其加载路径下的类。除了标准的规则之外,还可以扩展该插件,编写自己的规则。

2023-03-15 15:04:04 5427

原创 MySQL——行转列

1)创建表结构&测试数据SQL表结构:DROP TABLE IF EXISTS `t_gaokao_score`;CREATE TABLE `t_gaokao_score` ( `id` int(11) NOT NULL AUTO_INCREMENT, `student_name` varchar(20) NOT NULL COMMENT '学生姓名', `subject` varchar(20) DEFAULT NULL COMMENT '科目', `score` doub

2022-01-13 16:15:53 2156

原创 SQL语句优化,性能优化

SQL语句,性能优化

2022-01-05 11:39:45 138

原创 Java之五种遍历Map集合的方式

在java中所有的map都实现了Map接口,因此所有的Map都可以用以下的方式去遍历。在java中所有的map都实现了Map接口,因此所有的Map都可以用以下的方式去遍历。这篇文章主要给大家介绍了关于Java中遍历Map集合的5种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面一起学习学习吧。方式一 通过Map.keySet使用iterator遍历package com.yuso.controller;import java.util.Hash.

2021-07-01 11:20:28 301

原创 js对象数组中的某属性值,拼接成字符串形式

将所需的数据放到数组中let arr = []; for (i = 0; i < this.know_state1.length; i++) { arr.push({ id: this.know_state1[i] } ) }得到这样一个数组执行arr.map((obj) => { return "'" + obj.id + "'" }).join(","

2021-07-01 10:53:31 2675

原创 Java核心之常见时间日期

Java日期处理类Date详解时间的基础知识时区:整个地球分为二十四时区,每个时区都有自己的本地时间。为了统一起见,使用一个统一的时间,称为全球标准时间(UTC,Universal Time Coordinated)。TC与格林尼治平均时(GMT,Greenwich Mean Time,也翻译成:格林威治标准时间)差不多一样CST(北京时间),北京时间,China standardTime,中国标准时间。在时区划分上,属东八区,比协调世界时早8小时,记为UTC+8。时间戳:自1970年1

2021-03-18 20:03:06 170

原创 Spring Boot微信扫码支付

一、首先导入生成二维码和微信支付环境 <!-- 生成二维码工具 --> <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.2.1</version> </dep

2021-01-26 16:25:13 421

原创 ArrayList扩容原理

ArrayList的扩容机制ArrayList是collection接口下的list接口的实现类,用来保存n个数据的集合,他的底层其实是一个object数组,依旧用的是数组方式保存数据。哪么对于数组而言长度不可变,在我们添加时,如果数据已满就必须要再重新创建一个更大容量的数组,然后将原数据复制到新数组中再进行添加操作。但是ArrayList并不需要我们手动的去创建,他在内部有一套完整的扩容方法。我们只需要去添加数据就可以内部会给我们重新开辟新数组。所谓讲扩容机制也是解析源代码的一个过程,下边我根据

2021-01-22 10:16:05 1287

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除