一 、性能与性能优化性能指的是衡量系统是否能满足用户及技术管理需求的一组指标。性能优化是为了使这些指标能够达到用户及管理的目标,而对系统进行的一系列改进过程。作为信息系统的一项重要工作,性能优化过程将贯穿系统开发和应用的整个生命周期。如何用更少的资源提供更好的系统服务,成本利益最大化,并避免IT风险中的系统容量不足等,是亟待我们在软件开发过程中需要重视并考虑 …
技术教程
导读 在Java中,Java中的 HashSet 是一个非常重要的集合类,广泛应用于各种编程场景。以下将详细解析 HashSet 的使用场景、底层原理、容易出错的问题、常见面试题以及相关代码示例。祝大家面试必过,吊打面试官。HashSet的使用场景去重操作HashSet 用于存储不重复的元素,适用于需要去重的场景,如日志去重、数据清洗等。去重操作是 Hash …
跟其他常见的编程语言不同,Java将编译过程分成了两个部分,这就对性能带来了一定的影响。而即时(Just In Time, JIT)编译器能够提高Java程序的运行速度。本文会先解析一下即时编译器的原理,然后再分享一些在美团实践的经验,希望能对大家有所帮助或者启发。一、导读常见的编译型语言如C++,通常会把代码直接编译成CPU所能理解的机器码来运行。而Jav …
前言Java是一款面向对象编程的语言,在国内被广泛应用于各类系统的开发之中,面向对象编程(OOP)具有多方面的吸引力。对管理人员来说,它实现了更快和更廉价的开发与维护过程。对分析与设计人员,建模处理变得更加简单,能生成清晰、易于维护的设计方案。对程序员,对象模型显得如此高雅和浅显。此外,面向对象工具以及库的巨大威力使编程成为一项更加使人愉悦的任务。每个人都可 …
在Kafka中应用了大量的延迟操作但在Kafka中 并没用使用JDK自带的Timer或是DelayQueue用于延迟操作,而是使用自己开发的DelayedOperationPurgatory组件用于管理延迟操作,Kafka这类分布式框架有大量延迟操作并且对性能要求及其高,而java.util.Timer与java.util.concurrent.DelayQ …
作者 | 沉默王二本文经授权转载自沉默王二(ID:cmower)在逛 programcreek 的时候,我发现了一些专注细节但价值连城的主题。比如说:如何检查Java数组中是否包含某个值 ?像这类灵魂拷问的主题,非常值得深入地研究一下。另外,我想要告诉大家的是,作为程序员,我们千万不要轻视这些基础的知识点。因为基础的知识点是各种上层技术共同的基础,只有彻底地 …
分享几道群友去金蝶面试遇到的 Java 基础面试真题:“Java 中的几种基本数据类型了解么?”。基本类型和包装类型的区别?包装类型的常量池技术了解么?自动装箱与拆箱了解吗?原理是什么?Java 中的几种基本数据类型了解么?Java 中有 8 种基本数据类型,分别为:6 种数字类型: 4 种整数型:byte、short、int、long 2 种浮点型:flo …
作者 | 沉默王二责编 | Elle在逛 programcreek 的时候,我发现了一些专注细节但价值连城的主题。比如说:如何检查Java数组中是否包含某个值 ?像这类灵魂拷问的主题,非常值得深入地研究一下。另外,我想要告诉大家的是,作为程序员,我们千万不要轻视这些基础的知识点。因为基础的知识点是各种上层技术共同的基础,只有彻底地掌握了这些基础知识点,才能更 …
java8内存结构图虚拟机内存与本地内存的区别Java虚拟机在执行的时候会把管理的内存分配成不同的区域,这些区域被称为虚拟机内存,同时,对于虚拟机没有直接管理的物理内存,也有一定的利用,这些被利用却不在虚拟机内存数据区的内存,我们称它为本地内存,这两种内存有一定的区别:JVM内存受虚拟机内存大小的参数控制,当大小超过参数设置的大小时就会报OOM本地内存本地内 …
顾名思义,常量就是在程序运行过程中,其值不会发生改变的量;变量则是在程序运行过程中其值可以发生改变的量。常量比较好理解,这里着重讲变量,而变量的主要作用就是取值和修改值。首先我将书上对变量的解释写一下:计算机的内存类似于人类的大脑,计算机使用内存来记忆大量运算时要使用的数据。内存是一个物理设备,如何存储数据呢?很简单,把内存想象成一个旅馆,要存储的数据就好比 …
