Java
关于HashMap遍历的四种方式,以及为什么要用entry
1.问题 如何遍历HashMap,以及其中一种遍历方式中,我们为何需要先转为Map.Entry后,再遍历Map呢?而且是比较推荐的方式? 2.解决 参考:关于HashMap遍历,为什么要用entry HashMap中推荐使用entrySet方式遍历Map类集合KV而不是keySet方式遍历 2.1 为何使用Map.Entry 阅读《阿里巴巴Java开发手册终极版v1.3.0》时,看到如下一句话:
Java学习笔记——第四天
数组 数组是什么 数组就是一个容器,用来存一批同种类型的数据。 数组有什么用 遇到批量数据的存储和操作时,数组比变量更适合。代码简洁,逻辑清晰。 数组的定义 静态初始化数组 定义数组的时候直接给数组赋值。 格式1(完整格式) 格式2(简化格式) 使用场景 适合一开始就知道要存入哪些元素值的业务场景。 动态初始化数组 定义数组时先不存入具体的元素值,只确定数组存储的数据类型和数组的长度。 格式
Volatile关键字原理
一、如果一个变量被volatile关键字修饰,那么所有线程都是可见的。所谓可见就是,当一条线程修改了这个变量值,新值对于其他线程来时是立即可见的; 而普通变量不能做到这一点。 1、现在计算机缓存架构: CPU与内存之间存在缓存。 2、Java内存模型(JMM:java memory model)。 这里的主内存再j
CompletableFuture使用说明
前言 创建线程的方式只有两种:继承Thread或者实现Runnable接口。 但是这两种方法都存在一个缺陷,没有返回值 Java 1.5 以后,可以通过向线程池提交一个Callable来获取一个包含返回值的Future对象 Future接口的局限性 当Future的线程进行了一个非常耗时的操作,那我们的主线程也就阻塞了。 当我们在简单业务上,可以使用Future的另一个重载方法get(long,T
Spring Boot整合邮件发送
整合邮件发送功能 Spring Boot 2.x集成了mail模块 在pom.xml中引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </d
新电脑装编程配置(jdk、MySQL、navicat、idea、Maven、gitee、环境配置)
一、JDK(java运行环境,不安装不能在自己电脑上运行java语言) 1.打开安装包 2.选择安装目录 (建议选择非系统盘) 3.安装JRE(最好和JDK分开文件夹、建议选择非系统盘) &nb
jdk内置的一些工具类
目录java中一些工具类一. java.util.Objects类1. 介绍2. 方法二. java.util.Collections类1. 介绍2. 方法三. java.nio.file.Files类1. 介绍2. 方法2.1. 复制2.2. 创建2.3. 删除2.4. 判断文件是否存在2.4. 查找文件2.5. 获取, 检查文件的属性或状态2.6. 直接将一个字符文件按行读入2.7. 返回两个
npm 包 package.json 配置文件
package.json 文件 每个前端项目中都有 package.json 文件,它是用于声明依赖的 npm 包配置文件。 1. 生成 package.json 文件 name: 项目名称,必须字段。 version: 项目版本,必须字段。 description: 项目描述。 main: 入口文件。 scripts: 可运行的 npm 命令。 keywords: 关键字。 author:
Hello Markdown
Hello Markdown Markdown是一种轻量级的「标记语言」。 专注于文字内容; 纯文本,易读易写,可以方便地纳入版本控制; 语法简单,没有什么学习成本,能轻松在码字的同时做出美观大方的排版。 使用 Markdown 与使用 Word 类编辑器 不同。在 Word 之类的应用程序中,单击按钮以设置单词和短语的格式,并且,更改立即可见。而 Markdown 与此不同,当你创建 Mar
Java笔记:Lambda表达式
Lambda表达式在Java中是函数式编程的一种体现,允许把函数作为一个方法的参数传递进方法中,或者将函数作为方法的返回值。 1. 语法和基础使用 语法: parameters是参数列表,如果没有参数,则需要使用一个空括号 () -> ... 。 如果只有一个参数,则可以不用括号 parameter -> ... (推荐),也可以使用括号 (parameter) -> ...
多线程限流工具类-Semaphore
Semaphore介绍 Semaphore(信号量)是JAVA多线程中的一个工具类,它可以通过指定参数来控制执行线程数量,一般用于限流访问某个资源时使用。 Semaphore使用示例 需求场景:用一个核心线程数为6,最大线程数为20的线程池执行任务,但是要求最多只能同时运行3个线程 代码: (结果分析)从输出结果可以看出:最多只能同时开启3个线程(创建Semaphore时指定线程数量),只
centos7安装netcat
如果yum install -y netcat 失败,可以用下面方式离线安装 安装依赖 下载解压netcat 安装 使用 能耍的时候就一定要耍,不能耍的时候一定要学。 天道酬勤,贵在坚持
Java基础学习2 | 关键字、字面量、标识符、变量、数据类型
关键字 关键字:在Java语言中,关键字是指赋予了特定含义的英文单词。 关键字特点: 1)关键字的字母全部小写。 2)常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观。 java中最重要的关键字:class关键字 class 用于创建或定义一个类,是Java最基本的组成单元。 字面量 字面量在编程语言中是指用于表示固定值的符号。 如:String age = "23" 中,"23"是字符串
dremio ProfileStore 简单说明
以前简单说明过dremio 的jobprofile query,现在简单说明下dremio ProfileStore 参考实现 如下图,实际上只有一个LocalProfileStore,数据是存储咱爱kv storage 中的,但是对于kv 存储的只有完成的profile,其他阶段的数据是直接存储在 内存中的 使用 目前ProfileStore的实现只有LocalProfileStore,对
json 的基本类型
JSON(JavaScript Object Notation)主要支持以下6种基本数据类型: 字符串(String):由一系列Unicode字符组成的序列,用双引号括起来表示。例如:"Hello, world"。注意,在JSON中不能使用单引号来表示字符串,双引号是特殊字符。 数字(Number):可以是整数或浮点数。JSON中没有复数类型或特殊的有理数类型。例如:42,97,12或82.44
为什么HashMap的键值可以为null,而ConcurrentHashMap不行?
写在开头 昨天在写《HashMap很美好,但线程不安全怎么办?ConcurrentHashMap告诉你答案!》这篇文章的时候,漏了一个知识点,直到晚上吃饭的时候才突然想到,关于ConcurrentHashMap在存储Key与Value的时候,是否可以存null的问题,按理说这是一个小问题,但build哥却不敢忽视,尤其在现在很多面试官都极具挑剔的环境下,万一同学们刷到了咱的博客,回答中遗漏了这个小
Java引用类型解析:掌握强引用、软引用、弱引用和幻象引用的妙用
概述:Java中的引用分为强引用、软引用、弱引用和幻象引用。强引用是最常见的,不会被垃圾回收;软引用在内存不足时才被回收;弱引用在下一次垃圾回收时回收;幻象引用用于检测对象是否已被回收。它们各自适用于不同场景,帮助开发者更灵活地管理对象生命周期,避免内存泄漏。 在Java中,引用是一种机制,用于在进行垃圾回收时确定对象是否可被回收。Java中的引用主要分为强引用、软引用、弱引用和
Ehcache 介绍(2)--Ehcache2 基本使用
本文主要介绍 Ehacche2 的基本使用,文中所使用到的软件版本:Java 1.8.0_341、Ehcache 2.10.9.2。 1、引入依赖 2、缓存配置和创建 2.1、XML 方式配置缓存 A、在 src/main/resources 目录下新建 ehcache2.xml: defaultCache 表示缓存的默认配置,cache 表示配置的具体缓存。 B、加载配置 2.
是学习c++还是java?
上高中时,自己第一次接触到学校的中华学习机和苹果机,当时中华学习机上可以进行basic编程,那时候自己其实就爱上编程,但是没有人指点,也学习不得法,所以就没有进行下去!大学时,自己的主攻专业并不是计算机,但是学习了《计算机基础》和《c程序设计》,前者主要学习dos命令和wps文字处理,后者主要是学习c语言编程,但由于自己没有电脑,再加上不善规划,导致c语言编程学得很一般,不过自己还是很喜欢学习编程
maven 包管理平台-05-multi module 多模块
拓展阅读 maven 包管理平台-01-maven 入门介绍 + Maven、Gradle、Ant、Ivy、Bazel 和 SBT 的详细对比表格 maven 包管理平台-02-windows 安装配置 + mac 安装配置 maven 包管理平台-03-maven project maven 项目的创建入门 maven 包管理平台-04-maven archetype 项目原型 maven 包管
01启动jenkins
Jenkins最初是由日本人Kohsuke Kawaguchi在Sun公司主导开发,项目最初被称为Hudson。 环境初始化: 软件版本:jre 11, Jenkins 2.394,tomcat 8 jenkins 版本对jre版本有要求自行测试。 jdk java11及以上本版提示缺少java.lang 文件,解决办法从java8中拷贝issue tomcat jenkin
「java.util.concurrent并发包」之 Unsafe
一 unsafe介绍 Unsafe 是位于 sun.misc 包下的一个类,主要提供一些用于执行低级别、不安全操作的方法,如直接访问系统内存资源、自主管理内存资源等,这些方法在提升 Java 运行效率、增强 Java 语言底层资源操作能力方面起到了很大的作用。但由于 Unsafe 类使 Java 语言拥有了类似 C 语言指针一样操作内存空间的能力,这无疑也增加了程序发生相关指针问题的风险。在程序中
RabbitMQ、RocketMQ、Kafka区别
引言 1、队列应用场景: MQ(Message Queue,消息队列)消息队列在实际应用中常用的使用场景(优点):异步处理,应用解耦,流量削锋和消息通讯四个场景。 2、目前使用较多的消息队列: 有老牌的ActiveMQ、RabbitMQ,ZeroMQ,炙手可热的Kafka,MetaMQ,阿里巴巴的RocketMQ。 3、如何选型(目前现状): Active
jQuery弹出窗口
</html><!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>
百度地图API自定义地图
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <meta