Java集合ArrayList和HashMap源码学习

  • Post author:
  • Post category:java

Java集合框架 Java集合类主要由两个接口派生出来的:Collection和Map。 各集合接口主要实现子类 备注:jdk1.7_75 List集合 ArrayList实现原理 基础数据结构:对象引用数组 默认大小:10, 每次扩展的大小:当前容量的1.5倍(左移一位实现),如果容量还不够,则直接扩展到所需大小。 Add函数实现: 如果index超过当前大小(不是容量),则抛出异常。确保容量足…

继续阅读 Java集合ArrayList和HashMap源码学习

ConcurrentHashMap

  • Post author:
  • Post category:其他

1.ConcurrentHashMap底层实现 1.1 JDK1.7 底层数据结构:Segments数组+HashEntry数组+链表,采用分段锁保证安全性 一个ConcurrentHashMap中有一个Segments数组,一个Segments中存储一个HashEntry数组,每个HashEntry是一个链表结构的元素。 segment继承自ReentrantLock锁。 首先将数据分为一段一段…

继续阅读 ConcurrentHashMap

自己实现一个简单版的HashMap

  • Post author:
  • Post category:其他

public class MyHashMap { //默认初始化大小 16 private static final int DEFAULT_INITIAL_CAPACITY = 16; //默认负载因子 0.75 private static final float DEFAULT_LOAD_FACTOR = 0.75f; //临界值 private int threshold; //元素个数 …

继续阅读 自己实现一个简单版的HashMap

mybatis报错,找不到对应mapper文件

  • Post author:
  • Post category:其他

如果确定其他方面都没问题,可以尝试往pom.xml文件中添加下面 <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </include…

继续阅读 mybatis报错,找不到对应mapper文件

将CBitmap类中的图像保存到文件

  • Post author:
  • Post category:其他

// 使用下面的代码,可以把CBitmap类中的图像保存到图像文件中。支持格式:BMP、JPG、GIF和PNG。 void SaveBitmap(CString strFilePath, CBitmap Bitmap) { if ( Bitmap.m_hObject ) { CImage imgTemp;      // CImage是MFC中的类。 imgTemp.Attach(Bitmap. …

继续阅读 将CBitmap类中的图像保存到文件

使用MapperJoin的方法进行多表查询

  • Post author:
  • Post category:其他

使用MapperJoin的方法进行多表查询 customers表: userId userName age 1 zhangsan 40 2 lisi 30 3 wangwu 20 orders表: orderId userId goodId buyNum 1 1 123 1 2 2 456 2 3 3 789 5 CustomerOrder类: //mapperjoin推荐使用,但是只适用于两张表…

继续阅读 使用MapperJoin的方法进行多表查询

ArcMap地图投影相关操作

  • Post author:
  • Post category:其他

1.定义投影(Define Projection) 工具路径:ArcToolBox-Data Management Tools-Projections and Ttansformations-Define Projection 用途:为坐标系未知数据定义投影信息 2.投影工具(Project) 工具路径:ArcToolBox-Data Management Tools-Projections an…

继续阅读 ArcMap地图投影相关操作

HashMap中如何根据key算出元素的存储位置

  • Post author:
  • Post category:其他

JDK7中,根据Object类型的key计算出其在数组中的下标位置,HashMap的数据结构是数组+链表。由2个方法hash(Object key)和indexFor(int h,int length)来实现。 hash :该方法主要是将Object转换成一个整型。 indexFor :该方法主要是将hash生成的整型转换成链表数组中的下标。 static int indexFor(int h, …

继续阅读 HashMap中如何根据key算出元素的存储位置

mapreduce与spark的区别–内容详细

  • Post author:
  • Post category:其他

Hadoop MapReduce采用了多进程模型,而Spark采用了多线程模型: Apache Spark的高性能一定程度上取决于它采用的异步并发模型(这里指 server /driver 端采用的模型),这与Hadoop 2.0(包括YARN和MapReduce)是一致的。Hadoop 2.0自己实现了类似Actor的异步并发模型,实现方式是epoll+状态机,而Apache Spark则直接采…

继续阅读 mapreduce与spark的区别–内容详细

为并发而生的 ConcurrentHashMap(Java 8)

  • Post author:
  • Post category:java

原作: https://www.cnblogs.com/yangming1996/p/8031199.html HashMap 是我们日常最常见的一种容器,它以键值对的形式完成对数据的存储,但众所周知,它在高并发的情境下是不安全的。尤其是在 jdk 1.8 之前,rehash 的过程中采用头插法转移结点,高并发下,多个线程同时操作一条链表将直接导致闭链,死循环并占满 CPU。 当然,jdk 1.8…

继续阅读 为并发而生的 ConcurrentHashMap(Java 8)