摘要:
下载地址:https://dev.mysql.com/downloads/mysql/ 通过uname -a查看系统为多少位,选择合适版本后下载,得到mysql的tar包 由support-files中的mysql.server可以得知MySQL默认安装路径:/usr/local/mysql/,默认 阅读全文
摘要:
第一步(下载心仪的redis版本源码):http://download.redis.io/releases/ 第二部:传到Linux并解压 tar -zxvf redis压缩包 第三步:make install PREFIX=编译后存放redis的目录 若出现如下错误 执行如下命令:make MAL 阅读全文
摘要:
专业术语: 比较并交换(Compare And Swap): CAS操作需要两个数值,一个旧值(期望值),一个新值,在操作期间,先比较旧值有没有发生变化,如果旧值没有发生变化,则将新值与旧值进行替换 缓存行(Cache Line):话黁的最小操作单位 CPU流水线(CPU pipeline):CPU 阅读全文
摘要:
关键字: 可见性:当一个修改一个共享变量时,另一个线程可以读取到修改的值 内存屏障:是一组处理器指令,用于实现对内存操作顺序的限制 缓存行:缓存中可以分配的最小存储空间,处理器填写缓存线时会加载整个缓存线,需要使用多个主内存读周期 原子操作:不可中断的一个或一系列操作 缓存行填充:当处理器识别到从内 阅读全文
摘要:
java对象头中都存了些什么? 32位jdk中: 锁状态 25bit 4bit 1bit 2bit 23bit 2bit 偏向锁标志位(biased_lock) 锁状态(lock) 正常对象(normal object) 对象hashcode(hash) 对象分代年龄(age) 0 01 偏向锁(b 阅读全文
摘要:
话不多说,直接上代码: 1 public class DeadlockTest { 2 private static final Object o1 = new Object(); 3 private static final Object o2 = new Object(); 4 5 public 阅读全文
摘要:
多线程一定比单线程快吗? 这个答案是否定的,在一定情况下,单线程是比多线程执行效率更高的 影响多线程执行效率有一个关键因素:上下文切换 什么是上下文切换? cpu通过给每个线程分配时间片来实现多线程,而时间片就是cpu分配给每个线程执行的时间(通常为几十毫秒);而在切换前,会保存程序当前的执行状态, 阅读全文
摘要:
解压jdk安装包后进行环境变量配置 vim /etc/profile打开文件在末尾加入如下配置 export JAVA_HOME=jdk安装目录 export CLASSPATH=.:$JAVA_HOME/lib export PATH=$PATH:$JAVA_HOME/bin使用如下命令使环境变量 阅读全文
摘要:
1、Docker 要求 CentOS 系统的内核版本高于 3.10 通过 uname -r 命令查看当前的内核版本 2、使用 root 权限登录 Centos。 yum 包更新到最新。 sudo yum update 3、卸载旧版本(如果安装过旧版本的话) sudo yum remove docke 阅读全文
摘要:
打印垃圾回收日志信息:-verbose:gc -xx:+PrintGCDetail 由java虚拟机来进行管理,无需程序员进行处理 一、如何判定对象何时变为垃圾 1、引用计数法(弃用) 在对象中添加一个引用计数器,当有地方引用该对象时,引用计数器的值加一,当引用失效时,计数器的值减一,当计数器的值为 阅读全文