文章 2023-01-24 来自:开发者社区

全网首发:JDK绘制文字:四、绘制文字的具体函数分析

 经历过一番分析,我们对绘制的相关工作大体了解了。现在要问:具体绘制函数是哪个?代码内容是怎样的?预备知识  绘制文字,说到底就是把字体文件中对应的图像数据画上去(代码上就是复制到某个缓冲区)。  图像,包含几个关键信息:图像宽和高,格式(每个...

文章 2022-10-25 来自:开发者社区

JDK中自带的JVM分析工具

内存溢出,妥妥的名场面;一、业务背景对于分布式架构中的文件服务来说,由于涉及大量的IO流操作,很容易引发JVM的相关异常,尤其是内存溢出的问题;在最近的一次版本迭代中,真实的业务处理场景和上述几乎一致,由于在文件服务中添加批量处理的动作,直接唤醒了隐藏许久的BUG,就是最常见的内存溢出;问题的起因:在word文档完成内容识别后,转换为pdf文件,然后进行页面分割转为一组图片,在这个复杂并且超长的....

JDK中自带的JVM分析工具
文章 2022-10-11 来自:开发者社区

jdk动态代理和cglib动态代理的原理分析(下)

在intercept()方法中执行MethodProxy的invokeSuper方法:public Object invokeSuper(Object obj, Object[] args) throws Throwable { try { // 调用init方法,获取下标,且要生成FastClass类实例 init(); ...

jdk动态代理和cglib动态代理的原理分析(下)
文章 2022-10-11 来自:开发者社区

jdk动态代理和cglib动态代理的原理分析(上)

本文解决一下几个问题:1.jdk动态代理和cglib动态代理的共同点?2.jdk动态代理是怎么生成代理对象的?3.cglib是怎么生成代理对象的?4.jdk和cglib各自怎么调用被代理对象的方法?5.cglib动态生成的代理对象的时候为什么是3个class?一、基本代理知识了解①静态代理静态代理是设计模式中规范的模式。来个例子:定义个接口:Personpublic ...

jdk动态代理和cglib动态代理的原理分析(上)
文章 2022-08-12 来自:开发者社区

JDK1.8中的ConcurrentHashMap使用及场景分析

这篇文章主要介绍了JDK1.8中的ConcurrentHashMap使用及场景分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下ConcurrentHashMap 的初步使用及场景:  ConcurrentHashMap 是 J.U.C 包里面提供的一个线程安全并且高效的 HashMap,所以ConcurrentHashMap 在并发编程的场景中使用的....

JDK1.8中的ConcurrentHashMap使用及场景分析
文章 2022-08-12 来自:开发者社区

Java从JDK源码角度对Object进行实例分析

这篇文章主要介绍了Java从JDK源码角度对Object进行实例分析,具有一定借鉴价值,需要的朋友可以参考下。Object是所有类的父类,也就是说java中所有的类都是直接或者间接继承自Object类。比如你随便创建一个classA,虽然没有明说,但默认是extendsObject的。后面的三个点"..."表示可以接受若干不确定数量的参数。老的写法是Objectargs[]这样,但新版本的jav....

Java从JDK源码角度对Object进行实例分析
文章 2022-07-11 来自:开发者社区

通过JDK源码角度分析Long类详解

这篇文章主要给大家介绍了关于通过JDK源码角度分析Long类的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用long类具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。概况Java的Long类主要的作用就是对基本类型long进行封装,提供了一些处理long类型的方法,比如long到String类型的转换方法或String类型到long类型的转换方法,当然也包含与其他....

通过JDK源码角度分析Long类详解
文章 2022-07-09 来自:开发者社区

分析HashMap 的 JDK 源码

这篇文章主要分析了HashMap 的 JDK 源码,帮助大家更好的理解和学习Java,感兴趣的朋友可以了解下缘由:今天好友拿着下面的代码,问我为什么 Map.Entry 这个接口没有实现 getKey() 和 getValue() 方法,却可以使用,由此,开启了一番查阅 JDK 源码的旅途….Map map = new HashMap(); map.put(1, "张三"); map.p...

分析HashMap 的 JDK 源码
文章 2022-06-13 来自:开发者社区

JDK8 HashMap原理分析(下)

getNode的原理比较简单,源码解析如下//根据hash值及key值查找元素 final Node<K,V> getNode(int hash, Object key) { Node<K,V>[] tab; Node<K,V> first, e; int n; K k; if ((tab = table)...

JDK8 HashMap原理分析(下)
文章 2022-06-13 来自:开发者社区

JDK8 HashMap原理分析(上)

HashMap的底层存储结构JDK8中,HashMap是以数组+链表+红黑树的存储结构。整体上看是一个数组,通过计算元素key的hash值来获取存放位置的数组下标,如果出现hash碰撞,以链表形式存储,称之为桶,如果链表长度达到8,会转换为红黑树存储,红黑树的引进主要是为了提升查询的...

JDK8 HashMap原理分析(上)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。