Java
探索云原生
一个云原生打工人的探索之路,专注云原生,Go,坚持分享最佳实践、经验干货。
同名 GZH 【探索云原生】欢迎关注~
展开
-
Synchronize和Volatile底层实现原理
最近在看并发编程的艺术这本书,希望加深对并发这块的理解。毕竟并发相关还是十分重要的。本文主要是关于第二章Java并发机制的底层实现原理的相关记录。主要包括volatile,synchronized,原子操作等实现原理的分析。点击阅读更多系列文章我的个人博客–>幻境云图1. 上下文切换多线程即使是单核处理器也支持多线程执行代码,CPU通过给每个线程分配CPU时间片来实现这个机制。...原创 2019-01-14 22:49:19 · 3004 阅读 · 1 评论 -
Java运行时数据区简介
本文主要讲的是Java运行时数据区,包括线程私有的程序计数器,虚拟机栈,本地方法栈和线程共享的堆,方法区等。线程私有的:程序计数器 、虚拟机栈、本地方法栈线程共享的: 堆、方法区1.1 程序计数器程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等...原创 2019-02-05 13:53:57 · 234 阅读 · 0 评论 -
volatile关键字在单例模式(双重校验锁)中的作用
本文主要讲述了Java单例模式之双重校验锁中volatile关键字的作用。更多文章欢迎访问我的个人博客–>幻境云图上篇文章Java设计模式(一)–单例模式中讲了Java单例模式的几种写法,其中懒汉式和双重校验锁方式写法如下:1. 懒汉式public class Singleton { private static Singleton instance; ...原创 2019-02-16 21:00:05 · 8956 阅读 · 7 评论 -
Java中常见的几种排序算法
本文主要记录了几种常见的排序算法的Java实现,如冒泡排序、快速排序、直接插入排序、希尔排序、选择排序等等。在学数据结构与算法时的部分记录,感觉好难啊╮(╯▽╰)╭,还需继续努力。更多文章欢迎访问我的个人博客–>幻境云图1. 冒泡排序将序列中所有元素两两比较,将最大的放在最后面。将剩余序列中所有元素两两比较,将最大的放在最后面。重复第二步,直到只剩下一个数。 /**...原创 2020-06-26 11:40:10 · 5960 阅读 · 4 评论