加载中
阅读java.util.concurrent.SynchronousQueue源码Note

java.util.concurrent.SynchronousQueue 同步队列,主要用去生产与消费! 采用CAS方式来实现并发控制,sun.misc.Unsafe 基于公平性做了两种实现,一公平策略,使用队列实现;二非公平策略,使...

2020/06/02 00:32
87
阅读java.util.ArrayDeque源码Note

ArrayDeque resizable-array implemention of Deque 无容量限制 非线程安全。若在多线程中使用,需要额外的同步设置 用作stack时,比java.util.Stack快 用作Queue时,比java.util.LinkedLis...

amp
2020/04/25 23:01
28
阅读java.util.PriorityQueue源码Note

java.util.PriorityQueue Binary Heap: https://www.cnblogs.com/gaochundong/p/binary_heap.html https://en.wikipedia.org/wiki/Binary_heap https://www.youtube.com/watch?v=g9YK6sftDi0...

2020/04/24 15:06
70
阅读java.util.LinkedList源码Note

Queue 队列 这些操作都是在头部进行操作,但队列内的排序则不尽然相同,可以FIFO,也可以LIFO, 队列、栈! 操作 抛出异常 返回特定值 Insert add(容量限制) offer Remove remove(queue为...

2020/04/20 21:56
99
阅读java.util.ArrayList源码Note

随笔,格式不工整!看到一块则记录一点 类图: 笔记 方法 List#toArray() 返回类型是Object List#toArray(T[] a)返回类型和集合的元素类型一致,如果数组空间比集合大,则原数组返回;否则会...

2020/04/14 13:36
59
Class JavaLaunchHelper is implemented in two places

Mac 上的老bug,jdk版本 java version "1.8.0_144", 在java启动时使用了-javaagent参数时会触发。 此问题通过升级jdk版本即可。 You can find all the details here: IDEA-170117 "objc: Cl...

字节码增强技术探索

1.字节码 1.1 什么是字节码? Java之所以可以“一次编译,到处运行”,一是因为JVM针对各种操作系统、平台都进行了定制,二是因为无论在什么平台,都可以编译生成固定格式的字节码(.class文...

2020/03/31 17:37
88
JVM规范系列第2章:Java虚拟机结构

本规范描述的是一种抽象化的虚拟机的行为,而不是任何一种(译者注:包括 Oracle 公司自己的 HotSpot 和 JRockit 虚拟机)被广泛使用的虚拟机实现。 记住:JVM规范是一种高度抽象行为的描述,...

2020/03/28 22:54
90
JFR-Java应用的黑匣子

JFR是什么 JSR,全称Java Flight Recorder,翻译过来就是java 飞行记录器。和飞机上的黑匣子类似,用于记录Java应用运行过程中的各种事件及数据。而后,使用相应的工具来分析产生的数据,一般使...

2020/03/27 10:50
752
Java基础-class.getXXName的区别

以下会输出什么?是否所有的类输出的结果都是一样的? Object o1 = .... o1.getClass().getSimpleName(); o1.getClass().getName(); o1.getClass().getCanonicalName(); 我们来实验下 class ...

2020/03/23 18:04
60
JVM规范系列开篇:为什么要读JVM规范?

许多人知道类加载机制、JVM内存模型,但他们可能不知道什么是《Java虚拟机规范》。对于Java开发来说,《Java虚拟机规范》才是最为官方、准确的一个文档,了解这个规范可以让我们更深入地理解...

2020/03/16 22:47
111
Java NIO系列教程(一) Java NIO 概述

Java NIO 由以下几个核心部分组成: Channels Buffers Selectors 虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和...

2020/03/13 22:05
102
常用 Java 静态代码分析工具的分析与比较

引言 在 Java 软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺陷。Java 静态代码分析(static code analysis)工具能够在代码构建过程中帮助开发人员快速、有效的定位代...

2020/03/11 22:04
120
重学Java-一个Java对象到底占多少内存

重学Java-一个Java对象到底占多少内存 内存是程序员逃不开的话题,当然Java因为有GC使得我们不用手动申请和释放内存,但是了解Java内存分配是做内存优化的基础,如果不了解Java内存分配的知识...

2020/03/10 22:12
154
Chrome扩展-跨域请求

跨域指的是Javascript通过XMLHttpRequest请求数据时,调用JavaScript的页面所在的域和被请求页面的域不止。对于网站来说,浏览器处于安全考虑是不允许跨域的。另外,当域相同但端口或者协议不...

2020/03/09 22:31
488
Chrome扩展-Hello World

在工作中,经常使用谷歌浏览器,其扩展无比丰富。由于工作需要,我尝试开发了一些小的扩展,助力提高工作效率。 以下为简单分享下谷歌扩展的知识,并写一个Hello World! Chrome扩展分为扩展和...

2020/03/07 17:22
383

没有更多内容

加载失败,请刷新页面

返回顶部
顶部