HashMap介绍Map是一种存放键值对的数据类型。在Java中,最为常用的三个基于hashing原理实现的类是:HashMap、HashTable、HashSet。(实线段表示泛化关系,即继承,实线是实现关系)HashMap的特点HashMap中Key值不可以相同,但是value值可以相同。HashMap可以使用null作为key值,但需要规避这样的做法。HashMap无法确保线程同步,通常在多            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-13 18:13:06
                            
                                35阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            HashMap在面试中,被问到的概率可以说是100%,但是这个问题到底怎么阐述,才能让双方都满意?首先我们应该说哈希表(也就散列表),是一种非常重要的数据结构,它的主要特点是在哈希表中进行添加,删除,查找等操作,性能十分之高,不考虑哈希冲突的情况下,仅需一次定位即可完成,时间复杂度为O(1)。比如我们要新增或查找某个元素,我们通过把当前元素的关键字 通过某个函数映射到数组中的某个位置,通过数组下标            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-15 22:24:29
                            
                                50阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            重新认知JVM:  通过前面从Class文件到类装载器,再到运行时数据区的过程。我们画张图展示了JVM的大体物理结构图。GC优化:  内存被使用了之后,难免会有不够用或者达到设定值的时候,就需要对内存空间进行垃圾回收。  GC是由JVM自动完成的,根据JVM系统环境而定,所以时机是不确定的。 当然,我们可以手动进行垃圾回收,比如调用System.gc()方法通知JVM进行一次垃圾回收,但是具体什么            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-05 10:15:28
                            
                                83阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            你了解HashMap吗?HashMap的数据结构JDK1.7:HashMap由数组+链表的数据结构 哈希表组成。JDK1.8的Hashmap相对于1.7而言,发生最大的变化便是引入了红黑树的设计。当hash表的单一链表长度大于8的时候,其链表结构就会转为红黑树结构。数组结构数组结构的特点:存储区间连续、内存占用严重、空间复杂性大优点:随机读取和修改的效率高 (原因:它是一段连续的存储空间,可以通过            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-20 07:05:38
                            
                                58阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             目录方法详解方法定义clear() 详解clone() 详解resize() 详解:扩容compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)详解computeIfAbsent(K key, Function<? super K,? extends V> mappingFu            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-12 16:50:08
                            
                                48阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            or();        while(keys.hasNext()){            Integer i = keys.next();            ...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-09-14 11:52:13
                            
                                193阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             一、散列表初探:       同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑。       时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。两者均体现在消耗计算机重要的两            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-05 17:14:21
                            
                                34阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            .bashrc或.bash_profile中添加export MAVEN_OPTS="-Xms4096m -Xmx4096m -XX:PermSize=1024m -XX:MaxPermSize=1024m"            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-09-02 17:17:24
                            
                                1564阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、gcc不是一个人在战斗1.关于gcc和他的战友们1.gcc GCC(GNUCCompiler)是编译工具。本文所要介绍的将C/C++语言编写的程序转换成为处理器能够执行的二进制代码的过程即由编译器完成。 2.binutils 一组二进制程序处理工具,包括:addr2line、ar、objcopy、objdump、as、ld、ldd、readelf、size等。这一组工具是开发和调试不可缺少的工            
                
         
            
            
            
            在面试中我们会经常被问到full Gc相关的问题,比如什么情况下会发生full gc,如何去排查频繁发生full Gc的问题等。要想轻松自如的回答这些问题,我们就必须充分的去理解gc的触发条件,gc回收的内容,以及gc具体的执行过程。掌握了这3个要点,full gc相关的问题就易如反掌了。一、gc的定义GC,即就是Java垃圾回收机制。目前主流的JVM(HotSpot)采用的是分代收集算法。与C+            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-17 22:17:03
                            
                                144阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            java命令的参数Standard Options这些是JVM的所有实现所支持的最常用选项。   主要参数 
 -jar filenameExecutes a program encapsulated in a JAR file-javaagent:jarpath[=options]Loads the specified Java programming language agent.-            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-17 13:09:29
                            
                                154阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、GC四大算法1.GC算法总体概述 jvm在进行GC时,并非每次都对上面三个内存区域一起回收的,大部分时候回收的是指新生代。因此GC按照回收的区域又分了两种类型,一种是普通GC(minor GC),一种是全局GC(major GC or Full GC)。 Minor GC和Full GC的区别 普通GC(minor GC):只针对新生代区域的GC,指发生在新生代的垃圾回收,因为大多数java对            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-08 07:38:19
                            
                                114阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Go GC用 Go,你可以很容易地创建出低延时的应用。Go GC 似乎比其他语言的运行时要简单得多。对于 Go 1.10 版本,它的垃圾收集器是Concurrent Mask & Sweep (CMS) ,它不是压缩的,也不是分代的。这一点跟JVM 不同。它是一个,并行标记,用一个写屏障(写的时候阻塞)的清理(程序)。它是非分代,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-05-29 15:41:33
                            
                                165阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、基础概念GC(垃圾收集器)1.1 GC三种分类Minor GC:新生代GC,指发生在新生代的垃圾收集动作。所有的Minor GC都会触发全世界的暂停(stop-the-world),停止应用程序的线程,不过这个过程非常短暂。Major GC:老年代GC,指发生在老年代的垃圾收集动作。Full GC:是清理整个堆空间,包括新生代和老年代。1.2 堆的内存划分新生代 ( Young ):主要用来存            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-30 16:54:54
                            
                                266阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # 手动触发 Java 垃圾回收(GC)
在 Java 中,内存管理是一个关键问题,尤其是在处理大量数据或复杂应用时。尽管 Java 自带垃圾回收机制,但有时候我们需要手动触发垃圾回收(GC),以优化性能或释放不再使用的资源。本文将为刚入行的小白详细讲解如何在 Java 中实现手动 GC,具体分为几个步骤,包含代码示例和相应说明。
## 整体流程
下面是手动触发 Java 垃圾回收的流程概览            
                
         
            
            
            
            集合是在Java中常用的一种键值存储结构,存进去直接调用put方法,输入响应参数即可,但是有时候根据不同情况使用不同方法遍历有时候对于使用较少的来说还是比较困难的,今天就介绍HashMap的三种遍历方式。一、使用for循环,遍历Key,通过Key去获取Valuefor (String key:hashMap.keySet()) {
    System.out.println("key: " +            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-05-23 09:23:42
                            
                                1248阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            根据源码可知,HashMap的get方法流程不是特别复杂,其中真正执行取值的逻辑是在getNode()方法中,不多说直接上源码。这里再啰嗦一句:其中入参hash是调用了存值时的hash()方法,就是根据将key进行hash得到hash值,然后将hash值与Key进行异或操作(可以理解为加密),再进行无符号右移16位得到的。/**
     * Implements Map.get and rela            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-05-30 13:54:32
                            
                                154阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             spark执行任务时出现java.lang.OutOfMemoryError: GC overhead limit exceeded和java.lang.OutOfMemoryError: java heap space最直接的解决方式就是在spark-env.sh中将下面两个参数调节的尽量大    export SPARK_EXECUTOR_MEMORY=6000M    expor...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-03-22 22:41:17
                            
                                859阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Java中的read timeout和Full GC问题分析
在Java开发中,经常会遇到“read timeout”问题,尤其是在进行网络请求时。而Full GC(完全垃圾回收)能够显著影响系统性能,从而可能导致read timeout现象。本文将引导你了解这一问题的成因与解决办法。
## 处理流程概览
为了更清晰地理解如何判断read timeout是不是由于Full GC引起的问题            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-09-20 03:33:47
                            
                                191阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            出现这个错误,检查提示的日志文件            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-09-08 09:21:37
                            
                                170阅读