• 欢迎光临~

标签:volatile

开发技术

FutureTask源码深度剖析

FutureTask源码深度剖析
在前面的文章自己动手写FutureTask当中我们已经仔细分析了FutureTask给我们提供的功能,并且深入分析了我们该如何实现它的功能,并且给出了使用ReentrantLock和条件变量实现FutureTask的具体代码。而在本篇文章当中我们将仔细介绍JDK内部是如何实现FutureTask的。(如果对FutureTask的内部大致过程还不是很了解的话,……继续阅读 »

diligentman 2天前 0浏览 0个赞

开发技术

JAVA反射机制详解

JAVA反射机制详解
反射(Reflection),是指Java程序具有在运行期分析类以及修改其本身状态或行为的能力。 通俗点说 就是 通过反射我们可以动态地获取一个类的所有属性和方法,还可以操作这些方法和属性。 ……继续阅读 »

diligentman 5天前 0浏览 0个赞

开发技术

单例模式使用饿汉式和懒汉式创建一定安全?很多人不知

单例模式使用饿汉式和懒汉式创建一定安全?很多人不知
单例模式大概是23种设计模式里面用的最多,也用的最普遍的了,也是很多很多人一问设计模式都有哪些必答的第一种了;我们先复习一下饿汉式和懒汉式的单例模式,再谈其创建方式会带来什么问题,并一一解决!还是老规矩,先上代码,不上代码,纸上谈兵咱把握不住。 ……继续阅读 »

diligentman 5天前 0浏览 0个赞

互联网

日志导致线程Block的这些坑,你不得不防

日志导致线程Block的这些坑,你不得不防
日志对程序的重要性不言而喻。它很“大”,我们在项目中经常通过日志来记录信息和排查问题,相关代码随处可见。它也很“小”,作为辅助工具,日志使用简单、上手快,我们通常不会花费过多精力耗在日志上。但看似不起眼的日志也隐藏着各种各样的“坑”,如果使用不当,它不仅不能帮助我们,反而还可能降低服务性能,甚至拖垮我们的服务。 ……继续阅读 »

diligentman 6天前 0浏览 0个赞

互联网

日志导致线程Block的这些坑,你不得不防

日志导致线程Block的这些坑,你不得不防
日志对程序的重要性不言而喻。它很“大”,我们在项目中经常通过日志来记录信息和排查问题,相关代码随处可见。它也很“小”,作为辅助工具,日志使用简单、上手快,我们通常不会花费过多精力耗在日志上。但看似不起眼的日志也隐藏着各种各样的“坑”,如果使用不当,它不仅不能帮助我们,反而还可能降低服务性能,甚至拖垮我们的服务。 ……继续阅读 »

diligentman 1周前 (07-31) 0浏览 0个赞

互联网

日志导致线程Block的这些坑,你不得不防

日志导致线程Block的这些坑,你不得不防
日志对程序的重要性不言而喻。它很“大”,我们在项目中经常通过日志来记录信息和排查问题,相关代码随处可见。它也很“小”,作为辅助工具,日志使用简单、上手快,我们通常不会花费过多精力耗在日志上。但看似不起眼的日志也隐藏着各种各样的“坑”,如果使用不当,它不仅不能帮助我们,反而还可能降低服务性能,甚至拖垮我们的服务。 ……继续阅读 »

diligentman 1周前 (07-30) 0浏览 0个赞

开发技术

JVM内存模型

JVM内存模型
JVM定义的java内存模型,用来屏蔽各种硬件和操作系统的内存访问差异,以实现让JAVA程序在各种平台下都能达到的一致的内存访问效果,分为主内存与工作内存,线程对变量的所有操作都必须在工作内存进行,不能直接读写主线程中的变量,不同线程无法直接访问对方工作线程中的变量,线程间变量值得传递需要通过主内存来完成。 ……继续阅读 »

diligentman 3周前 (07-19) 0浏览 0个赞

开发技术

Lab4 Traps

Lab4 Traps
故事要从一张图片说起:进程的创建和程序的运行:举个例子来说,比如shell要运行一个程序,首先通过fork来创建进程,allocproc会映射user address space顶部的trampoline和trapframe(用于处理trap),然后exec把可执行文件载入到text和data中,然后分配stack和gurde page。(注:写了lab5 ……继续阅读 »

diligentman 4周前 (07-14) 0浏览 0个赞