加载中
JVM规范系列开篇:为什么要读JVM规范?

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

2020/03/16 22:47
111
阅读java.util.ArrayList源码Note

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

2020/04/14 13:36
59
【微服务】序列化协议 In Action

本文就常见的几种序列化协议介绍下简单的实践 ProtoBuf ProtoBuf 是有谷歌开源,可以跨语言,可编译成各种语言。可称之为一个IDL, Interface description language. 下载编译器,protoc prot...

常用 Java 静态代码分析工具的分析与比较

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

2020/03/11 22:04
85
Java NIO系列教程(一) Java NIO 概述

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

2020/03/13 22:05
102
阅读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
Mac结合Docker开发

Mac结合Docker开发 前几天在看Java并发实战时,在Mac上写了一个示例,结果运行后无法按照书本上运行。主要是有些命令,在Mac和Linux是有区别的,比如top, Mac上是不支持-Hp,意即查看进程内...

2020/03/01 22:37
324
Java基础-class.getXXName的区别

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

2020/03/23 18:04
49
JFR-Java应用的黑匣子

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

2020/03/27 10:50
726
字节码增强技术探索

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

2020/03/31 17:37
73
阅读java.util.concurrent.PriorityBlockingQueue源码Note

java.util.concurrent.BlockingQueue 在Queue的基础增加额外的功能:遍历队列时,若无元素则阻塞等待;插入元素时,无额外的空间则等待空间释放。 其方法可分为四种形式:根据对相同操作(对操...

2020/05/03 22:40
78
阅读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
60
重学Java-一个Java对象到底占多少内存

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

2020/03/10 22:12
137
【Git实践】Git 打补丁-- patch 和 diff 的使用

【转载出处】:https://juejin.im/post/5b5851976fb9a04f844ad0f4 一、 patch 和diff 的区别 Git 提供了两种补丁方案,一是用git diff生成的UNIX标准补丁.diff文件,二是git format-patch生成...

2020/03/05 21:42
385
【Git实践】远程分支重命名及分支合并前的冲突检测

远程分支重命名 假设,本地分支test-branch,与远程分支test-branch关联。先将远程分支修改为 test-branch2 本地分支重命名 git branch -m test-branch test-branch2 删除远程分支 git push -...

2020/03/03 21:17
158
【Git实践】大型项目合并分支小技巧

在使用Git作为项目版本控制工具时,经常会多分支开发。比如下图, 我们一般会有两个分支,dev分支,作为平时开发分支;master分支,作为上线分支。上线前会使用merge或者rebase将开发分支合并...

2020/03/04 21:58
165
【分享】黄金核心交易系统上线流程

简介 大型电商系统都有一套黄金核心交易流程,从商品详情页、购物车、结算页及收银台。尤其是结算页是重中之重。结算页,也就是大家常说的提单页,涉及系统众多,从页面上可以简单分为以下几...

2020/03/06 22:54
143
Chrome扩展-Hello World

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

2020/03/07 17:22
318
Chrome扩展-自定义脚本操作浏览器内容

上一篇简单介绍了下Chrome扩展开发的基础知识,详情参考:Chrome扩展-Hello World。本篇将简单介绍下如何通过扩展操作浏览器的内容。 工作中,经常碰到,浏览的网站内容,有些功能不支持,或...

2020/03/08 21:15
788
Chrome扩展-跨域请求

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

2020/03/09 22:31
481

没有更多内容

加载失败,请刷新页面

返回顶部
顶部