- 关于创建、销毁对象⭐Java程序员需要掌握的8个编程好习惯本文基于Effective Java中创建和销毁对象的章节汇总出8个相关的好习惯(文末附案例地址)思维导图如下: 1.静态工厂代替构造器1.可以自定义名称,见名知意见名知意的方法更容易理解,比如 getInstanceByCode 根据Code获取实例2.获取对象时,可以使用单例、享元等思想进行复用Boolean value = B... 关于创建、销毁对象⭐Java程序员需要掌握的8个编程好习惯本文基于Effective Java中创建和销毁对象的章节汇总出8个相关的好习惯(文末附案例地址)思维导图如下: 1.静态工厂代替构造器1.可以自定义名称,见名知意见名知意的方法更容易理解,比如 getInstanceByCode 根据Code获取实例2.获取对象时,可以使用单例、享元等思想进行复用Boolean value = B...
- 12张图一次性搞懂高性能并发容器ConcurrentLinkedQueue 前言上篇文章聊到并发集合CopyOnWeiteArrayList的实现与特点,其不足之处是不适合写多的场景也不适合并发量大的场景本篇文章来聊聊并发场景下高性能的ConcurrentLinkedQueue阅读本文大概需要10分钟在阅读本文前,需要理解CAS、volatile等知识如果不理解CAS可以查看这篇文章150... 12张图一次性搞懂高性能并发容器ConcurrentLinkedQueue 前言上篇文章聊到并发集合CopyOnWeiteArrayList的实现与特点,其不足之处是不适合写多的场景也不适合并发量大的场景本篇文章来聊聊并发场景下高性能的ConcurrentLinkedQueue阅读本文大概需要10分钟在阅读本文前,需要理解CAS、volatile等知识如果不理解CAS可以查看这篇文章150...
- Java 作为一门广泛应用的编程语言,其强大的功能和灵活性使得它在众多领域都有着出色的表现。而在 Java 编程中,基本数据类型是一切数据操作的起点。它们决定了数据的存储方式、取值范围以及能够执行的操作。在这篇文章中,我们将全面剖析 Java 的基本数据类型,助您更好地理解和运用它们来构建高效、准确的程序。 Java 作为一门广泛应用的编程语言,其强大的功能和灵活性使得它在众多领域都有着出色的表现。而在 Java 编程中,基本数据类型是一切数据操作的起点。它们决定了数据的存储方式、取值范围以及能够执行的操作。在这篇文章中,我们将全面剖析 Java 的基本数据类型,助您更好地理解和运用它们来构建高效、准确的程序。
- @[TOC] 引言本篇文章从 JVM 虚拟机角度讲述对象的创建过程,中间会提到 JVM 运行时数据区域的知识(点击这里查看 JVM 运行时数据区域)、类加载过程、CAS、设置对象头 JAVA 内存布局 等后续都会各抽出一篇文章单独去讲,暂不在这篇文章去讲。<Enter><Enter> 一、对象的创建Student stu = new Student();其实当你 new 一个对象后,经过编译... @[TOC] 引言本篇文章从 JVM 虚拟机角度讲述对象的创建过程,中间会提到 JVM 运行时数据区域的知识(点击这里查看 JVM 运行时数据区域)、类加载过程、CAS、设置对象头 JAVA 内存布局 等后续都会各抽出一篇文章单独去讲,暂不在这篇文章去讲。<Enter><Enter> 一、对象的创建Student stu = new Student();其实当你 new 一个对象后,经过编译...
- 四种常见数值类型的取值范围梳理 四种常见数值类型的取值范围梳理
- Jedis高版本的JedisPoolConfig没有maxActive和maxWait在使用Jedis连接Redis数据库时,我们通常会使用连接池来管理连接的创建和释放,以提高性能和资源的利用率。在旧版本的Jedis中,我们使用JedisPoolConfig来配置连接池的一些参数,例如maxActive和maxWait。然而,从Jedis的高版本开始,maxActive和maxWait被废弃... Jedis高版本的JedisPoolConfig没有maxActive和maxWait在使用Jedis连接Redis数据库时,我们通常会使用连接池来管理连接的创建和释放,以提高性能和资源的利用率。在旧版本的Jedis中,我们使用JedisPoolConfig来配置连接池的一些参数,例如maxActive和maxWait。然而,从Jedis的高版本开始,maxActive和maxWait被废弃...
- 前言最近的文章都是围绕并发编程写的,这段时间会写一些并发包下的并发容器,一篇篇文章去解析,彻底搞懂并发包中的并发容器在探秘CopyOnWriteArrayList前,我们先来聊聊并发场景下为什么不能使用ArrayList? 并发场景下的ArrayListArrayList数组,支持动态扩容、随机访问…作为平时工作中最常用到的集合类,相信我们已经很熟悉它,但这种集合在并发场景下是不安全的当发... 前言最近的文章都是围绕并发编程写的,这段时间会写一些并发包下的并发容器,一篇篇文章去解析,彻底搞懂并发包中的并发容器在探秘CopyOnWriteArrayList前,我们先来聊聊并发场景下为什么不能使用ArrayList? 并发场景下的ArrayListArrayList数组,支持动态扩容、随机访问…作为平时工作中最常用到的集合类,相信我们已经很熟悉它,但这种集合在并发场景下是不安全的当发...
- 仓颉语言作为一种面向应用层的通用开发语言,和java的开发范围高度重合,在对标java注解这一方向上,仓颉的宏在性能上有一定的优势,因为仓颉的宏是编译期展开的,不需要运行时处理,这样,性能会更高一点。不过,java注解和仓颉的宏并不完全一致,各有各的特点,使用得当的话都可以简化开发工作。 仓颉语言作为一种面向应用层的通用开发语言,和java的开发范围高度重合,在对标java注解这一方向上,仓颉的宏在性能上有一定的优势,因为仓颉的宏是编译期展开的,不需要运行时处理,这样,性能会更高一点。不过,java注解和仓颉的宏并不完全一致,各有各的特点,使用得当的话都可以简化开发工作。
- 作者:想吃绵绵冰顺便吆喝一声,如果你计算机、软件工程、电子等相关专业本科及以上学历,欢迎来共事。前端 / 后端 / 测试等均可投→技术大厂机会。前言JS 中有类?我们都知道 JavaScript 是基于原型的语言,并没有内置的类概念。但从 ES6 开始,JavaScript 引入了 class 关键字作为语法糖,它提供了一种更简洁、更类似于传统面向对象编程的语法来创建对象。class 关键字... 作者:想吃绵绵冰顺便吆喝一声,如果你计算机、软件工程、电子等相关专业本科及以上学历,欢迎来共事。前端 / 后端 / 测试等均可投→技术大厂机会。前言JS 中有类?我们都知道 JavaScript 是基于原型的语言,并没有内置的类概念。但从 ES6 开始,JavaScript 引入了 class 关键字作为语法糖,它提供了一种更简洁、更类似于传统面向对象编程的语法来创建对象。class 关键字...
- 基础概念流流处理是对运动中的数据的处理,在生成或接收数据时直接计算数据。应用程序中分析和查询不断存在,数据不断地流经它们。在从流中接收到事件时,流处理应用程序对该事件作出反应。如果我们使用传统的循环迭代方式对数据集进行复杂计算,常常会带来两个弊端:迭代次数多,迭代次数跟函数调用的次数相等。频繁产生中间结果,存储开销无法接受。流处理可以立即对事件做出反应,且可以处理比其他数据处理系统大得多的数... 基础概念流流处理是对运动中的数据的处理,在生成或接收数据时直接计算数据。应用程序中分析和查询不断存在,数据不断地流经它们。在从流中接收到事件时,流处理应用程序对该事件作出反应。如果我们使用传统的循环迭代方式对数据集进行复杂计算,常常会带来两个弊端:迭代次数多,迭代次数跟函数调用的次数相等。频繁产生中间结果,存储开销无法接受。流处理可以立即对事件做出反应,且可以处理比其他数据处理系统大得多的数...
- JDBC 简介JDBC 是 Java EE 提供的数据库接口,负责连接 java 程序和后台数据库。安装数据库驱动程序后,开发者可以按照 JDBC 规范直接在 Java 程序上对数据库进行操作,由数据库厂商负责具体实现。驱动安装下载 MySQL 驱动包,解压后得到 jar 库文件:http://dev.mysql.com/downloads/connector/j/打开 IDE,在对应项目中... JDBC 简介JDBC 是 Java EE 提供的数据库接口,负责连接 java 程序和后台数据库。安装数据库驱动程序后,开发者可以按照 JDBC 规范直接在 Java 程序上对数据库进行操作,由数据库厂商负责具体实现。驱动安装下载 MySQL 驱动包,解压后得到 jar 库文件:http://dev.mysql.com/downloads/connector/j/打开 IDE,在对应项目中...
- 异常类型Throwable 类Java 程序中的异常是一个在程序执行期间发生的事件,它中断正在执行程序的正常指令流。为了能够及时有效地处理程序中的运行错误,必须使用异常类。java 程序中所有的异常都继承自 Throwable 类,Throwable 类有两个子类 Error 类和 Exception 类:Error 类:【错误】表示 java 程序在运行时产生的无法处理的故障(如堆栈溢出)... 异常类型Throwable 类Java 程序中的异常是一个在程序执行期间发生的事件,它中断正在执行程序的正常指令流。为了能够及时有效地处理程序中的运行错误,必须使用异常类。java 程序中所有的异常都继承自 Throwable 类,Throwable 类有两个子类 Error 类和 Exception 类:Error 类:【错误】表示 java 程序在运行时产生的无法处理的故障(如堆栈溢出)...
- 继承多态重载(overload):定义多种同名方法,调用时根据传入参数判定调用哪种方法。重写(override):子类定义完全相同的方法覆盖父类。重写是多态的前提,其允许父类引用指向子类对象(引用类型为父类,指向的实际对象类型为子类)。Car mycar = new Trunk("Benz");但不允许子类引用指向父类对象。Trunk mycar = new Car("Benz");如果两个... 继承多态重载(overload):定义多种同名方法,调用时根据传入参数判定调用哪种方法。重写(override):子类定义完全相同的方法覆盖父类。重写是多态的前提,其允许父类引用指向子类对象(引用类型为父类,指向的实际对象类型为子类)。Car mycar = new Trunk("Benz");但不允许子类引用指向父类对象。Trunk mycar = new Car("Benz");如果两个...
- 线程的基本概念并行和并发并行:多个CPU核心同时工作,处理不同的任务。并发:多个任务交替使用 CPU 核心工作,以提高 CPU 利用率。进程和线程进程 Processor程序的一次执行。由操作系统创建并分配资源,执行一个单独的任务。进程是系统进行资源分配和调度的独立单位,每个进程都有自己的内存空间和系统资源。进程内所有线程共享堆存储空间,保存程序中定义的对象和常量池。Windows系统中,每... 线程的基本概念并行和并发并行:多个CPU核心同时工作,处理不同的任务。并发:多个任务交替使用 CPU 核心工作,以提高 CPU 利用率。进程和线程进程 Processor程序的一次执行。由操作系统创建并分配资源,执行一个单独的任务。进程是系统进行资源分配和调度的独立单位,每个进程都有自己的内存空间和系统资源。进程内所有线程共享堆存储空间,保存程序中定义的对象和常量池。Windows系统中,每...
- 17. 电话号码的字母组合:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 样例 1:输入: digits = "23" 输出: ["ad","ae","af","bd","be","bf","cd","ce","cf"] 样例 2:输入: digits = "" 输出: ... 17. 电话号码的字母组合:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 样例 1:输入: digits = "23" 输出: ["ad","ae","af","bd","be","bf","cd","ce","cf"] 样例 2:输入: digits = "" 输出: ...
上滑加载中
推荐直播
-
基于开源鸿蒙+海思星闪开发板:嵌入式系统开发实战(Day1)
2025/03/29 周六 09:00-18:00
华为开发者布道师
本次为期两天的课程将深入讲解OpenHarmony操作系统及其与星闪技术的结合应用,涵盖WS63E星闪开发板的详细介绍、“OpenHarmony+星闪”的创新实践、实验环境搭建以及编写首个“Hello World”程序等内容,旨在帮助学员全面掌握相关技术并进行实际操作
回顾中 -
基于开源鸿蒙+海思星闪开发板:嵌入式系统开发实战(Day2)
2025/03/30 周日 09:00-12:00
华为开发者布道师
本次为期两天的课程将深入讲解OpenHarmony操作系统及其与星闪技术的结合应用,涵盖WS63E星闪开发板的详细介绍、“OpenHarmony+星闪”的创新实践、实验环境搭建以及编写首个“Hello World”程序等内容,旨在帮助学员全面掌握相关技术并进行实际操作
回顾中 -
从AI基础到昇腾:大模型初探、DeepSeek解析与昇腾入门
2025/04/02 周三 16:00-17:30
不易 / 华为云学堂技术讲师
昇腾是华为研发的AI芯片,其具有哪些能力?我们如何基于其进行开发?本期直播将从AI以及大模型基础知识开始,介绍人工智能核心概念、昇腾AI基础软硬件平台以及昇腾专区,旨在为零基础或入门级学习者搭建从AI基础知识到昇腾技术的完整学习路径。
回顾中
热门标签