JVM 工作原理
JVM 工作原理
JVM 全称 JAVA Virtual Machine (java虚拟机),通过计算来模拟各种计算机功能实现。jvm主要有字节码指令集,寄存器,栈,垃圾回收堆,存储方法域构成。
JVM伴随JAVA程序启动而执行,程序结束则关闭,一个JAVA程序就会开启一个JVM虚拟机进程,可以通过jps命令查看。一台服务器上可以运行多个程序,启动多个jvm进程。
JVM将线程分为两种:守护线程和普通线程。守护线程是JVM自己使用的线程,比如垃圾回收(GC)就是一个守护线程。普通线程一般是Java程序的线程,只要JVM中有普通线程在执行,那么JVM就不会停止。如图中绿色部分表示各个线程私有,白色部分为共享。
JVM的堆内存
JVM虚拟机有3部分构成,新生代、老年带、永久代(方法区,1.8之前,1.8之后已经废弃永久代),其中,新生代有3个部分组成,1个伊甸园区域,两个存活区(也叫幸存区)比例为 8:1:1方法区
gc垃圾回收机制优化
jvm 内存优化
JAVA_OPTS=”$JAVA_OPTS -Xms1024m -Xmx1024m 生产环境下大概调整带物理内 ...
linux 历史命令优化脚本
#!/usr/bin/env bash#historyUSER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`HISTDIR=/usr/share/.historyif [ -z $USER_IP ]thenUSER_IP=`hostname`fiif [ ! -d $HISTDIR ]thenmkdir -p $HISTDIRchmod 777 $HISTDIRfiif [ ! -d $HISTDIR/${LOGNAME} ]thenmkdir -p $HISTDIR/${LOGNAME}chmod 300 $HISTDIR/${LOGNAME}fiexport HISTSIZE=4000DT=`date +%Y%m%d_%H%M%S`export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP} ...
lolcat 输出彩色格言
#!/bin/bash# 下载fortune 格言信息yum install -y fortune-mod-1.99.1-17.el7.x86_64# 下载会说话的小动物插件yum install -y cowsay# 下载大字插件yum install -y figlet# 下载格言包 内含4个语言包 英文格言、中文格言、唐诗、宋词git clone https://github.com/ruanyf/fortunes.git# 添加索引信息strfile fortunes/data/fortunesstrfile fortunes/data/chinesestrfile fortunes/data/tang300strfile fortunes/data/song100# 将语言包拷贝到默认位置\cp -rf fortunes/data/* /usr/share/games/fortune/cat >> /etc/profile.d/hello.sh <<EOFfortune -e tang300 song100 chinese fortunes | cow ...
http请求工具详解
curl使用方法
参数
说明
例子
-A
设置user-agent
curl -A “Chrome” http://www.baidu.com
-X
用执行方法请求
curl -X POST http://httpbin.org/post
-I
只返回请求的头信息
-d a=1 -d b=2 -d c=3-d “a=1&b=2&c=3”-d @filename
-O
下载文件并以远程文件名保存
-o
下载文件并以指定文件名保存
curl -o fox.png http://bin.org/image/png
-L
跟随重定向请求
curl -IL https://baidu.com
-H
设置头信息
curl -o image.webp -H “accept:image/webp” http://httpbin.org/image
-k
允许发起不安全的ssl请求
-b
设置cookies
curl -b a=hello http://httpbin.org/cookies
wget使用方法
参数
说明
例子
...





