一、文档/博客

Google的工程实践文档

csapp作者讲课视频《深入了解计算机系统

MySQL 优化实施方案

mysql的优化器执行过程

mysql之优化器、执行计划、简单优化

使用ffmpeg转码m3u8并播放

技术博客-FeelTouch

二、命令

1.代理启动谷歌浏览器

google-chrome-stable --proxy-server="socks5:127.0.0.1:1080"

2.目录忽略移动

当前目录下有a、b、c、d四个文件,在当前目录下新建new目录,并且将a、b、c三个文件移动到new中
find -maxdepth 1 \! -name d \! -name . -exec mv {} new \;

3.端口占用

window端口占用解决

  • 获取端口占用进程的pid:netstat -aon|findstr "8087"
  • 根据pid杀进程:taskkill /f /pid 24336

    linux端口占用解决

  • 查看8080这个端口是否被使用:netstat -lnt | grep 8080
  • 根据端口查看进程信息:lsof -i : 8080

    4.查看目录内容大小

    sudo du --max-depth=1 -h /var/lib/docker/

    5.杀进程

    killall 进程名
    pkill 进程名
    sudo kill -9 $(ps -ef|grep 软件名|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')
    sudo kill -9 $(pidof 软件名)

    6.添加字体

    down font:https://developer.harmonyos.com/cn/docs/design/des-guides/font-0000001157868583
    解压添加到/usr/share/fonts/TTF目录中
    刷新字体:fc-cache -fv

    How to get rid of - package "num not fully installed or removed"

    dpkg --purge [package name here]

三、工具

  • markdown表格处理:https://tableconvert.com/
  • Gravatar头像 镜像地址:七牛云 ref
  • 删除git本地缓存:git rm -r --cached .
  • 删除系统无用包:sudo pacman -R $(pacman -Qdtq)
  • 清除已下载的安装包:sudo pacman -Scc

一、阿里云账号相关设置

  • 第一步:登录阿里云控制台并创建子账号:https://usercenter.console.aliyun.com/#/manage/ak
  • 第二步:进入跳转页面填上 登录名称、显示名称、勾选编程访问。最后点击确定。
  • 第三步:切记需要在本地新建一个记事本保存AccessKey ID和AccessKey Secret信息。
  • 可选步骤:

    • 设置用户组功能(可以方便管理多用户权限,如果只有一个用户的话也可以忽略本步骤),填入组相关信息后通过手机验证即可;
    • 设置用户组权限:在添加组成员功能里添加第二步新建的用户;添加SMS权限
  • OK。

- 阅读剩余部分 -

不要钱才怪
  • 1.How CPU executes a program (video-注意看最下层字幕)
    {dplayer src="https://cdn.shafish.cn/video/m3u8/How-CPU-executes-a-program/Fetch-Decode-Execute%20Cycle.en.m3u8"/}

  • 2.Boolean Logic & Logic Gates: Crash Course Computer Science #3(中文字幕)

{dplayer src="https://cdn.shafish.cn/video/m3u8/booleanLogicGates/cn/booleanLogicGates-cn.m3u8"/}


  • 3.Boolean Logic & Logic Gates: Crash Course Computer Science #3(英文字幕)

{dplayer src="https://cdn.shafish.cn/video/m3u8/booleanLogicGates/en/booleanLogicGates-en.m3u8"/}


  • 4.How Computers Calculate - the ALU: Crash Course Computer Science #5(中文字幕)

{dplayer src="https://cdn.shafish.cn/video/m3u8/howComputersCalculate-TheALU/cn/howComputersCalculate-TheALU-cn.m3u8"/}


  • 5.How Computers Calculate - the ALU: Crash Course Computer Science #5(英文字幕)

{dplayer src="https://cdn.shafish.cn/video/m3u8/howComputersCalculate-TheALU/en/howComputersCalculate-TheALU-en.m3u8"/}


- 阅读剩余部分 -

YGC:在堆中的新生代中进行的垃圾回收操作。也叫Minor GC。

怎么判断一个对象可以进行垃圾回收

  • 首先肯定得知道对象被ygc了多少次。Java语言的开发人员在Java对象头中进行了相关的设置,准确来说是在对象头中的mark work中进行了设置。 点击这里查看markOop.hpp


来看第44行中的说明:

  • unused:Java对象中预留给未来的25位
  • hash:对象的hash值,31位
  • age:gc次数,4位
  • biased_lock:偏向锁标识(只有一个线程访问时,不用每次都获取锁),配合lock使用,1位
  • lock:对象的锁级别,2位。unlocked(无锁)(0 01)、偏向锁(1 01)、locked(轻量级锁)(00)、monitor(重量级锁)(10)、marked(GC标记)(11)

上面5个属性再加上一个unused,一共占了64位,也就是8个字节,这些在64位系统下的配置。

可以看到age明确表明了只占有4位长度(0.5个字节),能存0~15的值。然后发现通过-XX:MaxTenuringThresholdjvm命令对age值进行调整,默认为15。

记录

在网上看到过设置MaxTenuringThreshold大于15的情况。疑问:设置的MaxTenuringThreshold参数是否you效??

参考:
https://stackoverflow.com/questions/13543468/maxtenuringthreshold-how-exactly-it-works
https://support.oracle.com/knowledge/Middleware/1283267_1.html