自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 JDK1.8HashMap源码阅读(持续更新)

HashMap在JDK1.8中的存放数据结构的示意图,就是HashMap本质上是一个Node<K, V>数组table,table中每个index对应一个bucket,这个bucket可能是链表,可能是红黑树。 类定义: 类HashMap<K,V>继承了AbstractMap,实现了Map<K,V>、Cloneable和Serializabl...

2019-04-02 16:44:47 153

原创 求最大公约数——算法设计与分析基础随笔(一)

求两个数m和n的最大公约数,方法有很多种,最容易想到的就是遍历到min(m, n)为止,找出最大的公约数,再进行剪枝,遍历到min(m, n)的平方根为止。方法有很多,上述两种只是最简单的,也是最没有技术含量的,接下来记录的是一些较为巧妙的方法。 算法出自古希腊数学家欧几里得所著的《几何原本》,这本书里面讲解了一个简单的公约数的算法。用现代数学的术语来表示,欧几里得算法采用的方法就是递归下列等...

2019-06-12 02:09:53 753

原创 JVM内存区域简述

JVM内存区域 本博客从《深入理解Java虚拟机》一书,如果博客中介绍比较模糊的地方可以参考原书,书籍非常的棒。 目录 JVM内存区域 运行时数据区域: (1)程序计数器:(Program Counter Register) 线程私有,没有OutOfMemoryError (2)Java虚拟机栈(Java Virtual Machine Stacks): 线程私有 (3)本地方法栈:...

2019-05-29 15:39:03 180

原创 Java中volatile关键字语义

volatile的内存语义 volatile变量有两种特性: 保证此变量对所有的线程的可见性; 禁止指令重排序优化。 简单来说,把对volatile变量所有的单个读/写,看成是使用了同一个锁对这些单个的读/写操作进行了同步,当然,实现上并不是这样的。volatile变量是JVM提供的最轻量的同步机制。 volatile变量实现机制: 转换成指令的时候,我们可以发现,volat...

2019-05-29 15:18:41 241

转载 Java中Unsafe类

看到一个非常棒的文章,详情见下述链接 https://www.cnblogs.com/pkufork/p/java_unsafe.html

2019-05-23 14:57:40 103

原创 Java创建对象的方式

1、最常用的利用类的构造函数,直接使用new关键字,这是大家使用的最多的; 2、使用Class类的newInstance() 方法,这个在链接数据库的时候使用的非常多; 3、使用Constructor类的newInstance()方法,这个方法和上述的第二个方法很类似,都是利用的反射; 4、使用反序列化的方法,主要有从网络传输中接收的对象进行反序列化,这里面最常用的又是我们常常使用Json数...

2019-05-23 14:25:11 75

原创 Java深拷贝和浅拷贝

所谓拷贝,就是复制出一个和已有对象一模一样的对象,而Java中有基础数据类型和引用类型两种。而其中基础数据类型是存放在栈里面的,而引用数据类型的存储方式是在栈中有个指向堆地址的句柄。所以,拷贝对于基础数据类型而言,就是将栈里面的值变成目标值,对于引用数据类型有两种方式,一种是将栈中存放的句柄值更改成目标对象在堆中的地址,另一种就是新开辟一份空间,并将目标对象的属性值复制过来。 上述两种复制数据类...

2019-05-23 10:52:11 103

原创 win10机器启动kafka

1、首先需要下载Zookeeper和Kafka,分别解压至对应的文件夹; 2、启动Kafka之前需要对Zookeeper和Kafka进行相应的配置,本博客只起一个备忘录的功效,配置参考的链接给在文末。 3、首先启动Zookeeper,在Zookeeper的安装目录下的bin目录下启动zkServer.cmd文件,这是一个Windows系统下的脚本文件; 4、在Kafka的安装目录下运行dos...

2019-03-16 01:26:04 763 2

原创 Leetcode刷题备忘录(一)

开始写这个,也算是督促自己多写代码,多写一些算法,不要分心做其他事,另外也是方便自己以后来查找吧。  题目出自leetcode,有兴趣的朋友可以去那里开始刷题之旅,都是非常有趣的题目。题目大意如下所示: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组...

2019-01-13 00:57:22 245

原创 Java读取配置文件的方法

因为在公司中接手别人的服务,他的服务代码很乱,尤其是配置文件这一块,于是我将里面的配置文件这块整理了一下,趁着还么忘记,先写一篇博客记录下。 企业使用配置文件而非直接写死在Java代码中的理由有很多,包括但不限于将自己无法控制的因素写入配置文件中可以在这些因素改变了的时候自己能够方便的进行修改,而不是再一次上传一个新的jar包。要知道,每次上传一个新的jar包都需要重新测试一遍,这个代价非常昂贵...

2018-09-02 23:59:53 188

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除