Stuartd's Blog


  • 首页

  • 分类

  • 归档

Ubuntu解决网易云音乐一些问题

发表于 2018-12-17 | 分类于 Linux

Ubuntu下解决网易云音乐一些问题

看来我是离不开网易云音乐了,之前弃用Ubuntu,十有八九都是网易云音乐安装不成功,当时自己水平有限,现在重回Ubuntu,解决了这个问题

问题罗列

  1. 需要权限才能打开
  2. 需要终端才能打开
阅读全文 »

Ubuntu损坏sudoers文件之后

发表于 2018-12-17 | 分类于 Linux

Ubuntu损坏sudoers文件之后

emmm使用sudoers的时候损坏了,别担心(自己担心死了)

1. 第一种方法

如果设置有su的话,可以直接su提升至root去修改

阅读全文 »

CAS与ABA

发表于 2018-11-28 | 分类于 Java多线程

CAS算法与ABA问题

在学习多线程,总是绕不开CAS的,可以说整个JUC的基础之一就是CAS算法,但是CAS里有个ABA问题,这个关注一下。

CAS算法

CAS(Compare And Swap),比较并且交换。

在了解CAS之前,先来了解一下乐观锁,悲观锁,这里讲个大概:

  • 乐观锁:乐观地认为每次执行都是成功的,如果失败了,那就重试吧
  • 悲观锁:悲观地认为每次执行都会有问题,因此在每次执行时都会使用锁去让线程进行等待,尽管这会降低性能

而乐观锁就是用到了CAS机制。

阅读全文 »

Semaphore(三)

发表于 2018-11-25 | 分类于 Java多线程

Semaphore(三)

了解Semaphore - 实例了解

实例演示

通过前面的粗略的分析,可能还是一头污水,Talk is cheap,show your code

情景

饭堂打饭窗口总共就10个,此时有20个同学一听到下课铃声,就冲去饭堂打饭。假设他们都穿了一样的AJ球鞋,腿一样长,身高一样高,都是1米7,而且出发地点都是教室的最后排。那么他们怎么样才能在10个打饭窗口都搭得了饭呢。

阅读全文 »

Semaphore(二)

发表于 2018-11-25 | 分类于 Java多线程

Semaphore(二)

了解Semaphore - 了解方法

源码浅析

方法

阅读全文 »

Semaphore(一)

发表于 2018-11-25 | 分类于 Java多线程

Semaphore(一)

了解Semaphore

Semaphore是什么

semaphore是JUC包里的一个同步工具类,翻译成中文就是信号量,一个计数信号量。以下都是从文档中的理解:

概念上,Semaphore维护了一组许可证,在许可证可用之前阻塞acquire()方法;而许可证有可用之后,获取该许可证,立即从acquire()方法返回。而release()就使得有可用的许可证的方法,每个release()添加一个许可证,从而会释放一个正在阻塞等待acquire()的获取线程。

阅读全文 »

CyclicBarrier

发表于 2018-11-17 | 分类于 Java多线程

CyclicBarrier

了解CyclicBarrier

CyclicBarrier是什么

阅读全文 »

CountDownLatch

发表于 2018-11-15 | 分类于 Java多线程

CountDownLatch

了解CounDownLatch

CountDownLatch是什么

CountDownLatch是Java1.5中被引入的,在java.util.concurrent包下的一个同步工具类,允许一个或多个线程等待,直到其他线程执行完后再执行

源码浅析

阅读全文 »

JVM调试指令

发表于 2018-11-07 | 分类于 JVM

JVM调试指令

关于JVM的一些相关指令,记录下来用于调试,同时往后会有补充使用示例

  • jps(Java Virtual Machine Process Status Tool)

jps主要用来输出JVM中运行的进程状态信息

1
jps [options] [hostid]

options选项说明

1
2
3
4
-q 不输出类名,Jar包和传入main方法的参数
-m 输出传入main方法的参数
-l 输出mian类或Jar的全限名
-v 输出传入JVM的参数
  • jstack

jstack主要用来查看某个Java进程内的线程堆栈信息

1
jstack

options选项说明

1
2
3
-F 当正常输出的请求不被响应时,强制输出线程堆栈
-l (long listings)打印出额外的锁信息,在发生死锁时可以用jstack -l pid 来观察锁持有情况
-m (mix mode)混合模式,不仅输出Java堆栈信息,还会输出C/C++堆栈信息
阅读全文 »

Linux下定期备份数据库

发表于 2018-09-26 | 分类于 Linux

Linux下定期备份数据库

emmm最近某个项目数据库被绑架的事实还缠绕在脑里,从此注重数据库以及服务器这方面的容灾能力,其中对于数据库而言,备份比较重要

使用docker备份数据库

1
docker exec -it <containerId> mysqldump -u<username> -p<password> -h<host> --tables<databaseName> > /path/to/save/your/backup

上面就是docker下的对远程某个mysql进行数据库备份。最后 > 右边的地址是要存放备份文件的地址。

使用mysql命令备份数据库

1
mysqldump -u<username> -p<password> -h<host> --tables<databaseName> > /path/as/same

跟docker上面的差不多,就是直接使用mysqldump

我在某篇文章的评论中看到,用mysqldump会被经理骂?然后网上找了下有个mysqlhotcopy工具,这篇文章说mysqlhotcopy的优点就是快,缺点就是只支持MyISAM,然后想了想,项目数据库不使用MyISAM存储引擎,所以就没用mysqlhotcopy来进行备份。

阅读全文 »
1234

Stuartd

不定时更新一些技术上的坑或者吐槽之类的

34 日志
11 分类
© 2019 Stuartd
|
主题 — NexT.Gemini v5.1.4
本站总访问量次