一丶行业常识 1.计算机的组成与基本功能 主板 CPU 内存 硬盘 常用语言 .操作系统 windows linux macOS dos常用命令 (盘符:(回车) 切换到哪个盘 cd.. 返回上一级目录 cd 目录名 切换目录 切换目录的时候需要注意一下当前目录在哪里 比如当前在c:/test cd ...
分类:
编程语言 时间:
2019-12-01 19:02:23
阅读次数:
86
定义 单例模式属于创建型模式,是设计模式中最简单的设计模式之一,其最大的特点是只有一个实例。当某一个类频繁被其他对象进行调用,为减少该类被频繁的创建和销毁,单例模式则派上用场。 单例模式主要处理多个线程的统一操作,比如计数器的实现、多线程对于统一文件的操作等等。但是单例模式的实现与Java设计原则中 ...
分类:
其他好文 时间:
2019-11-28 13:21:27
阅读次数:
73
看了网上非常多的运行代码,很多都是重复的再说一件事,可能对于java老鸟来说,理解java的多线程是非常容易的事情,但是对于我这样的菜鸟来说,这个实在有点难,可能是我太菜了,网上重复的陈述对于我理解这个问题一点帮助都没有.所以这里我写下我对于这个问题的理解,目的是为了防止我忘记. 还是从代码实例开始 ...
分类:
编程语言 时间:
2019-11-25 20:31:00
阅读次数:
72
volatile使用场景:线程间共享变量需要使用 volatile 关键字标记,确保线程能够读取到更新后的最新变量值。 volatile关键字的目的是告诉虚拟机: 1.每次访问变量时,总是获取主内存的最新值。 2.每次修改变量后,立刻会写到主内存。 所以volatile解决的是可见性的问题: 1.当 ...
分类:
其他好文 时间:
2019-11-24 17:51:35
阅读次数:
61
1、当一个变量可能会被意想不到的更新时,要使用volatile来声明该变量,告诉编译器它所修饰的变量的值可能会在任何时刻被意外的更新。 2、语法 volatile int foo; int volatile foo; volatile int * foo; int volatile * foo; i ...
分类:
其他好文 时间:
2019-11-19 00:42:54
阅读次数:
78
微软Visual C++是Win32最广泛使用的编译器,因此Win32反向器对其内部工作非常熟悉。能够识别编译器生成的粘合代码有助于快速集中于程序员编写的实际代码。它还有助于恢复程序的高级结构。在这篇由两部分组成的文章的第一部分(另请参见:第二部分:类、方法和RTTI),我将集中讨论MSVC编译程序 ...
分类:
编程语言 时间:
2019-11-13 21:53:08
阅读次数:
87
在《 "Java内存模型(JMM)详解" 》一文中我们已经讲到了Java内存模型的基本结构以及相关操作和规则。而Java内存模型又是围绕着在并发过程中如何处理原子性、可见性以及有序性这三个特征来构建的。本篇文章就带大家了解一下相关概念、原则等内容。 原子性 原子性即一个操作或一系列是不可中断的。即使 ...
分类:
编程语言 时间:
2019-11-06 13:50:42
阅读次数:
88
由于JVM运行程序的实体是线程,而每个线程创建时JVM都会为其创建一个工作内存(有些地方称为栈空间),工作内存是每个线程的私有数据区域,而Java内存 模型中规定所有变量都存储在主内存,主内存是共享内存区域,所有线程都可以访问,但线程对变量的操作(读取赋值等)必须在工作内存中进行,首先要将变量从主内 ...
分类:
编程语言 时间:
2019-10-30 18:38:06
阅读次数:
80
生产环境上遇到这个问题,控制台不停打印 “OOM command not allowed when used memory > 'maxmemory' ”; 起初不知道是什么,经过一番搜索: 1.登陆redis客户端:./redis-cli -h IP -p port -a passwd 2.执行命 ...
分类:
其他好文 时间:
2019-10-22 01:12:59
阅读次数:
162
zgc是一款可拓展的低时延,为实现以下几个目标而诞生的垃圾回收器: 停顿时间不超过10ms 停顿时间不会导致堆大小增长 堆大小范围可支持几G到几T 再看一下zgc的标签: region-based (和G1一样) NUMA-aware Concurrent Compacting Using load ...
分类:
其他好文 时间:
2019-10-20 18:03:39
阅读次数:
411