欢迎访问我的个人博客!该博客主要记录我从工作、书本和网络获取的心得记录,不涉及任何商业目的,如有侵权请联系删除!也欢迎注明出处转载!
Posts
2021-02-23
微服务发展史
从单体架构到分布式架构的演进单体架构集群及垂直化从单体架构到分布式架构的演进单体架构通常来说,如果一个war包或者jar包里面包含一个应用的所有功能,则为单体架构集群及垂直化按照业务维度垂直拆分成多个子系统,每个子系统由单独维护部署对Tomcat服务器
2021-02-22
对象的共享
可见性失效数据非原子的64位操作加锁与可见性编写正确的并发程序,关键问题在于:在访问共享的可变状态时需要进行正确的管理。即避免同一时刻访问相同的数据共享和发布对象共享和发布即内存可见性:确保当一个线程修改了对象状态后,其他线程能够看到发生的状态变化,可以通过显式地同步或者类库中内置地同步来保证对象被
2021-02-22
线程安全性
什么是线程安全性原子性在构建文件的并发程序时,必须正确地使用线程和锁。但这只是一些机制,其核心在于要对状态访问操作进行管理,特别是对共享地和可变的状态的访问。即使某个程序省略了必要同步机制并且看上去似乎能正确执行,但仍可能在某个时刻发生错误共享变量可以由多个线程同时访问可变变量地值在其生命周期内可以
2021-02-21
并发简介
并发简史计算机加入操作系统实现多线程的原因串行性和异步性线程的优势线程是Java语言中不可或缺的重要功能,可以使复杂的异步代码变得简单,简化复杂系统开发。要想充分发挥多核处理器的强大计算能力,最简单的方式就是使用线程。并发简史早期的计算机不包含操作系统,从头到尾只执行一个程序,并且这个程序能访问计算
2021-02-06
Docker简介及常用命令
Docker是什么Docker的作用简化配置代码管道化管理合并服务资源作为多租户容器开发环境的生产化应用隔离快速部署用Docker快速搭建环境安装DockerDocker是什么Hypervisor——一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件。也可叫做VMM
2021-01-28
Java内存模型与线程
概述概述JVM如何实现多线程、多线程之间由于共享和和竞争数据而导致的一系列问题及解决方案多任务处理在许多场景下,让计算机同时去做几件事情1.因为计算机的运算能力强大2.计算机的运算速度比存储和通信速度大多了,太多的时间花费在磁盘I/O、网络通信或者数据库上除要充分利用计算机处理器能力,一个服务端要同
2021-01-28
虚拟机字节码执行引擎
概述虚拟机与物理机的区别运行时栈帧结构局部变量表概述执行引擎是JVM核心的组成部分之一虚拟机与物理机的区别物理机执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的虚拟机执行引擎由软件自行实现的,因此可以不受物理条件制约指令集和执行引擎的结构体系,能够执行不被硬件直接支持的指令集格式不同的VM
2021-01-26
虚拟机类加载机制
概述JVM类加载机制动态加载例子类加载的时机固定不变的步骤:除了解析之外类初始化种类被动引用举例接口的加载的区别类加载的过程加载zip压缩包中读取概述在Class文件中描述的各类信息,最终都需要加载到虚拟机中之后才能被运行和使用。JVM类加载机制Java虚拟机把描述类的数据从Class文件加载到内存
2021-01-24
类文件结构
代码编译的结果从本地机器码转变为字节码概述无关性的基石Java虚拟机Class类文件的结构无符号数表魔数与Class文件的版本定义作用编译Class文件概述虚拟机以及大量建立在虚拟机之上的程序语言如雨后春笋般出现并蓬勃发展,把我们编写的程序编译成二进制本地机器码(Native Code)已不再是唯一
2021-01-24
调优案例分析与实战
概述案例分析大内存硬件上的程序部署策略概述在处理应用中的实际问题时,除了知识与工具外,经验同样是一个很重要的因素案例分析着重考虑如何在应用部署层面区解决问题,如何在已有软硬件版本和规格的前提下,调整部署和配置策略区解决或者缓解问题大内存硬件上的程序部署策略