linux方法參數,Linux的sysctl?命令?參數

Linux內核通過/proc虛擬文件系統向用戶導出內核信息,用戶也可以通過/proc文件系統或通過sysctl命令動態配置內核。比如,如果我們想啟動NAT,除了加載模塊、配置防火墻外,還需要啟動內核轉發功能。我們有三種方法:

1. 直接寫/proc文件系統

# echo 1 > /proc/sys/net/ipv4/ip_forward

2. 利用sysctl命令

# sysctl -w net.ipv4.ip_forward=1

sysctl -a可以查看內核所有導出的變量

3. 編輯/etc/sysctl.conf

添加如下一行,這樣系統每次啟動后,該變量的值就是1

net.ipv4.ip_forward = 1

sysctl是procfs軟件中的命令,該軟件包還提供了w, ps, vmstat, pgrep, pkill, top,

slabtop等命令。

sysctl配置與顯示在/proc/sys目錄中的內核參數.可以用sysctl來設置或重新設置聯網功能,如IP轉發、IP碎片去除以及源路由檢查等。用戶只需要編輯/etc/sysctl.conf文件,即可手工或自動執行由sysctl控制的功能。

命令格式: ?sysctl [-n] [-e] -w variable=value

sysctl [-n] [-e] -p (default

/etc/sysctl.conf) ?sysctl [-n]

[-e] -a ?常用參數的意義:

-w ?臨時改變某個指定參數的值,如 ?sysctl -w

net.ipv4.ip_forward=1 ?-a

顯示所有的系統參數 ?-p ?從指定的文件加載系統參數,如不指定即從/etc/sysctl.conf中加載 ?如果僅僅是想臨時改變某個系統參數的值,可以用兩種方法來實現,例如想啟用IP路由轉發功能:

1) #echo 1 >

/proc/sys/net/ipv4/ip_forward ?2) #sysctl -w net.ipv4.ip_forward=1

以上兩種方法都可能立即開啟路由功能,但如果系統重啟,或執行了

# service network

restart命令,所設置的值即會丟失,如果想永久保留配置,可以修改/etc/sysctl.conf文件將

net.ipv4.ip_forward=0改為net.ipv4.ip_forward=1

sysctl是一個允許您改變正在運行中的Linux系統的接口。它包含一些 TCP/IP 堆棧和虛擬內存系統的高級選項,

這可以讓有經驗的管理員提高引人注目的系統性能。用sysctl可以讀取設置超過五百個系統變量。基于這點,sysctl(8)

提供兩個功能:讀取和修改系統設置。

查看所有可讀變量:

% sysctl -a

讀一個指定的變量,例如 kern.maxproc:

% sysctl kern.maxproc kern.maxproc: 1044

要設置一個指定的變量,直接用 variable=value 這樣的語法:

# sysctl kern.maxfiles=5000

kern.maxfiles: 2088 -> 5000

您可以使用sysctl修改系統變量,也可以通過編輯sysctl.conf文件來修改系統變量。sysctl.conf

看起來很像 rc.conf。它用 variable=value

的形式來設定值。指定的值在系統進入多用戶模式之后被設定。并不是所有的變量都可以在這個模式下設定。

sysctl 變量的設置通常是字符串、數字或者布爾型。 (布爾型用 1 來表示'yes',用 0

來表示'no')。

sysctl -w kernel.sysrq=0

sysctl -w kernel.core_uses_pid=1

sysctl -w net.ipv4.conf.default.accept_redirects=0

sysctl -w net.ipv4.conf.default.accept_source_route=0

sysctl -w net.ipv4.conf.default.rp_filter=1

sysctl -w net.ipv4.tcp_syncookies=1

sysctl -w net.ipv4.tcp_max_syn_backlog=2048

sysctl -w net.ipv4.tcp_fin_timeout=30

sysctl -w net.ipv4.tcp_synack_retries=2

sysctl -w net.ipv4.tcp_keepalive_time=3600

sysctl -w net.ipv4.tcp_window_scaling=1

sysctl -w net.ipv4.tcp_sack=1

配置sysctl

編輯此文件:

vi /etc/sysctl.conf

如果該文件為空,則輸入以下內容,否則請根據情況自己做調整:

# Controls source route verification

# Default should work for all interfaces

net.ipv4.conf.default.rp_filter = 1

# net.ipv4.conf.all.rp_filter = 1

# net.ipv4.conf.lo.rp_filter = 1

# net.ipv4.conf.eth0.rp_filter = 1

# Disables IP source routing

# Default should work for all interfaces

net.ipv4.conf.default.accept_source_route = 0

# net.ipv4.conf.all.accept_source_route = 0

# net.ipv4.conf.lo.accept_source_route = 0

# net.ipv4.conf.eth0.accept_source_route = 0

# Controls the System Request debugging functionality of the

kernel

kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core

filename.

# Useful for debugging multi-threaded applications.

kernel.core_uses_pid = 1

# Increase maximum amount of memory allocated to shm

# Only uncomment if needed!

# kernel.shmmax = 67108864

# Disable ICMP Redirect Acceptance

# Default should work for all interfaces

net.ipv4.conf.default.accept_redirects = 0

# net.ipv4.conf.all.accept_redirects = 0

# net.ipv4.conf.lo.accept_redirects = 0

# net.ipv4.conf.eth0.accept_redirects = 0

# Enable Log Spoofed Packets, Source Routed Packets, Redirect

Packets

# Default should work for all interfaces

net.ipv4.conf.default.log_martians = 1

# net.ipv4.conf.all.log_martians = 1

# net.ipv4.conf.lo.log_martians = 1

# net.ipv4.conf.eth0.log_martians = 1

# Decrease the time default value for tcp_fin_timeout

connection

net.ipv4.tcp_fin_timeout = 25

# Decrease the time default value for tcp_keepalive_time

connection

net.ipv4.tcp_keepalive_time = 1200

# Turn on the tcp_window_scaling

net.ipv4.tcp_window_scaling = 1

# Turn on the tcp_sack

net.ipv4.tcp_sack = 1

# tcp_fack should be on because of sack

net.ipv4.tcp_fack = 1

# Turn on the tcp_timestamps

net.ipv4.tcp_timestamps = 1

# Enable TCP SYN Cookie Protection

net.ipv4.tcp_syncookies = 1

# Enable ignoring broadcasts request

net.ipv4.icmp_echo_ignore_broadcasts = 1

# Enable bad error message Protection

net.ipv4.icmp_ignore_bogus_error_responses = 1

# Make more local ports available

# net.ipv4.ip_local_port_range = 1024 65000

# Set TCP Re-Ordering value in kernel to ‘5′

net.ipv4.tcp_reordering = 5

# Lower syn retry rates

net.ipv4.tcp_synack_retries = 2

net.ipv4.tcp_syn_retries = 3

# Set Max SYN Backlog to ‘2048′

net.ipv4.tcp_max_syn_backlog = 2048

# Various Settings

net.core.netdev_max_backlog = 1024

# Increase the maximum number of skb-heads to be cached

net.core.hot_list_length = 256

# Increase the tcp-time-wait buckets pool size

net.ipv4.tcp_max_tw_buckets = 360000

# This will increase the amount of memory available for socket

input/output queues

net.core.rmem_default = 65535

net.core.rmem_max = 8388608

net.ipv4.tcp_rmem = 4096 87380 8388608

net.core.wmem_default = 65535

net.core.wmem_max = 8388608

net.ipv4.tcp_wmem = 4096 65535 8388608

net.ipv4.tcp_mem = 8388608 8388608 8388608

net.core.optmem_max = 40960

如果希望屏蔽別人 ping 你的主機,則加入以下代碼:

# Disable ping requests

net.ipv4.icmp_echo_ignore_all = 1

編輯完成后,請執行以下命令使變動立即生效:

/sbin/sysctl -p

/sbin/sysctl -w net.ipv4.route.flush=1

我們常常在 Linux 的 /proc/sys 目錄下,手動設定一些 kernel 的參數或是直接 echo 特定的值給一個

proc下的虛擬檔案,俾利某些檔案之開啟,常見的例如設定開機時自動啟動 IP

Forwarding:

echo “1” >

/proc/sys/net/ipv4/ip_forward

其實,在 Linux 我們還可以用 sysctl command 便可以簡易的去檢視、設定或自動配置 特定的 kernel

設定。我們可以在系統提示符號下輸入「sysctl -a」,摘要如后:abi.defhandler_coff =

117440515

dev.raid.speed_limit_max = 100000

net.ipv4.conf.default.send_redirects =

1

net.ipv4.conf.default.secure_redirects =

1

net.ipv4.conf.default.accept_redirects =

1

net.ipv4.conf.default.mc_forwarding =

0

net.ipv4.neigh.lo.delay_first_probe_time =

5

net.ipv4.neigh.lo.base_reachable_time =

30

net.ipv4.icmp_ratelimit = 100

net.ipv4.inet_peer_gc_mintime = 10

net.ipv4.igmp_max_memberships = 20

net.ipv4.ip_no_pmtu_disc = 0

net.core.no_cong_thresh = 20

net.core.netdev_max_backlog = 300

net.core.rmem_default = 65535

net.core.wmem_max = 65535

vm.kswapd = 512 32 8

vm.overcommit_memory = 0

vm.bdflush = 30 64 64 256 500 3000 60 0

0

vm.freepages = 351 702 1053

kernel.sem = 250 32000 32 128

kernel.panic = 0

kernel.domainname = (none)

kernel.hostname =

pc02.shinewave.com.tw

kernel.version = #1 Tue Oct 30 20:11:04 EST

2001

kernel.osrelease = 2.4.9-13

kernel.ostype = Linux

fs.dentry-state = 1611 969 45 0 0 0

fs.file-nr = 1121 73 8192

fs.inode-state = 1333 523 0 0 0 0 0

從上述的語法我們大概可看出 sysctl 的表示法乃把目錄結構的「/」以「.」表示,一層一層的連結下去。當然以echo

特定的值給一個 proc下的虛擬檔案也是可以用 sysctl加以表示,例如:

#sysctl –w net.ipv4.ip_forward =”1”

或是直接在 /etc/sysctl.conf 增刪修改特定檔案的

0,1值亦可:

# Enables packet forwarding

net.ipv4.ip_forward = 1

# Enables source route verification

net.ipv4.conf.default.rp_filter = 1

# Disables the magic-sysrq key

kernel.sysrq = 0

當然如果考慮 reboot 后仍有效, 直接在 /etc/sysctl.conf 增刪修改特定檔案的

0,1值才可使之保留設定(以RedHat 為例,每次開機系統啟動后, init 會執行

/etc/rc.d/rc.sysinit,便會使用 /etc/sysctl.conf 的預設值去執行

sysctl)。

相關參考檔案:

/sbin/sysctl

/etc/sysctl.conf

sysctl 及sysctl.conf manpage

/usr/src/linux-x.y.z/Documentation/sysctl/*

/usr/share/doc/kernel-doc-x.y.z/sysctl/* (RedHat)

http://hi.baidu.com/caosicong/blog/item/0a592360d438cfda8db10d9b.html

http://hi.baidu.com/phpfamer/blog/item/932e276eb39c30de80cb4a3c.htmlsysctl配置與顯示在/proc/sys目錄中的內核參數.可以用sysctl來設置或重新設置聯網功能,如IP轉發、IP碎片去除以及源路由檢查等。用戶只需要編輯/etc/sysctl.conf文件,即可手工或自動執行由sysctl控制的功能。

命令格式: ?sysctl [-n] [-e] -w variable=value

sysctl [-n] [-e] -p (default

/etc/sysctl.conf) ?sysctl [-n]

[-e] -a ?常用參數的意義:

-w ?臨時改變某個指定參數的值,如 ?sysctl -w

net.ipv4.ip_forward=1 ?-a

顯示所有的系統參數 ?-p ?從指定的文件加載系統參數,如不指定即從/etc/sysctl.conf中加載 ?如果僅僅是想臨時改變某個系統參數的值,可以用兩種方法來實現,例如想啟用IP路由轉發功能:

1) #echo 1 >

/proc/sys/net/ipv4/ip_forward ?2) #sysctl -w net.ipv4.ip_forward=1

以上兩種方法都可能立即開啟路由功能,但如果系統重啟,或執行了

# service network

restart命令,所設置的值即會丟失,如果想永久保留配置,可以修改/etc/sysctl.conf文件將

net.ipv4.ip_forward=0改為net.ipv4.ip_forward=1

sysctl是一個允許您改變正在運行中的Linux系統的接口。它包含一些 TCP/IP 堆棧和虛擬內存系統的高級選項,

這可以讓有經驗的管理員提高引人注目的系統性能。用sysctl可以讀取設置超過五百個系統變量。基于這點,sysctl(8)

提供兩個功能:讀取和修改系統設置。

查看所有可讀變量:

% sysctl -a

讀一個指定的變量,例如 kern.maxproc:

% sysctl kern.maxproc kern.maxproc: 1044

要設置一個指定的變量,直接用 variable=value 這樣的語法:

# sysctl kern.maxfiles=5000

kern.maxfiles: 2088 -> 5000

您可以使用sysctl修改系統變量,也可以通過編輯sysctl.conf文件來修改系統變量。sysctl.conf

看起來很像 rc.conf。它用 variable=value

的形式來設定值。指定的值在系統進入多用戶模式之后被設定。并不是所有的變量都可以在這個模式下設定。

sysctl 變量的設置通常是字符串、數字或者布爾型。 (布爾型用 1 來表示'yes',用 0

來表示'no')。

sysctl -w kernel.sysrq=0

sysctl -w kernel.core_uses_pid=1

sysctl -w net.ipv4.conf.default.accept_redirects=0

sysctl -w net.ipv4.conf.default.accept_source_route=0

sysctl -w net.ipv4.conf.default.rp_filter=1

sysctl -w net.ipv4.tcp_syncookies=1

sysctl -w net.ipv4.tcp_max_syn_backlog=2048

sysctl -w net.ipv4.tcp_fin_timeout=30

sysctl -w net.ipv4.tcp_synack_retries=2

sysctl -w net.ipv4.tcp_keepalive_time=3600

sysctl -w net.ipv4.tcp_window_scaling=1

sysctl -w net.ipv4.tcp_sack=1

配置sysctl

編輯此文件:

vi /etc/sysctl.conf

如果該文件為空,則輸入以下內容,否則請根據情況自己做調整:

# Controls source route verification

# Default should work for all interfaces

net.ipv4.conf.default.rp_filter = 1

# net.ipv4.conf.all.rp_filter = 1

# net.ipv4.conf.lo.rp_filter = 1

# net.ipv4.conf.eth0.rp_filter = 1

# Disables IP source routing

# Default should work for all interfaces

net.ipv4.conf.default.accept_source_route = 0

# net.ipv4.conf.all.accept_source_route = 0

# net.ipv4.conf.lo.accept_source_route = 0

# net.ipv4.conf.eth0.accept_source_route = 0

# Controls the System Request debugging functionality of the

kernel

kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core

filename.

# Useful for debugging multi-threaded applications.

kernel.core_uses_pid = 1

# Increase maximum amount of memory allocated to shm

# Only uncomment if needed!

# kernel.shmmax = 67108864

# Disable ICMP Redirect Acceptance

# Default should work for all interfaces

net.ipv4.conf.default.accept_redirects = 0

# net.ipv4.conf.all.accept_redirects = 0

# net.ipv4.conf.lo.accept_redirects = 0

# net.ipv4.conf.eth0.accept_redirects = 0

# Enable Log Spoofed Packets, Source Routed Packets, Redirect

Packets

# Default should work for all interfaces

net.ipv4.conf.default.log_martians = 1

# net.ipv4.conf.all.log_martians = 1

# net.ipv4.conf.lo.log_martians = 1

# net.ipv4.conf.eth0.log_martians = 1

# Decrease the time default value for tcp_fin_timeout

connection

net.ipv4.tcp_fin_timeout = 25

# Decrease the time default value for tcp_keepalive_time

connection

net.ipv4.tcp_keepalive_time = 1200

# Turn on the tcp_window_scaling

net.ipv4.tcp_window_scaling = 1

# Turn on the tcp_sack

net.ipv4.tcp_sack = 1

# tcp_fack should be on because of sack

net.ipv4.tcp_fack = 1

# Turn on the tcp_timestamps

net.ipv4.tcp_timestamps = 1

# Enable TCP SYN Cookie Protection

net.ipv4.tcp_syncookies = 1

# Enable ignoring broadcasts request

net.ipv4.icmp_echo_ignore_broadcasts = 1

# Enable bad error message Protection

net.ipv4.icmp_ignore_bogus_error_responses = 1

# Make more local ports available

# net.ipv4.ip_local_port_range = 1024 65000

# Set TCP Re-Ordering value in kernel to ‘5′

net.ipv4.tcp_reordering = 5

# Lower syn retry rates

net.ipv4.tcp_synack_retries = 2

net.ipv4.tcp_syn_retries = 3

# Set Max SYN Backlog to ‘2048′

net.ipv4.tcp_max_syn_backlog = 2048

# Various Settings

net.core.netdev_max_backlog = 1024

# Increase the maximum number of skb-heads to be cached

net.core.hot_list_length = 256

# Increase the tcp-time-wait buckets pool size

net.ipv4.tcp_max_tw_buckets = 360000

# This will increase the amount of memory available for socket

input/output queues

net.core.rmem_default = 65535

net.core.rmem_max = 8388608

net.ipv4.tcp_rmem = 4096 87380 8388608

net.core.wmem_default = 65535

net.core.wmem_max = 8388608

net.ipv4.tcp_wmem = 4096 65535 8388608

net.ipv4.tcp_mem = 8388608 8388608 8388608

net.core.optmem_max = 40960

如果希望屏蔽別人 ping 你的主機,則加入以下代碼:

# Disable ping requests

net.ipv4.icmp_echo_ignore_all = 1

編輯完成后,請執行以下命令使變動立即生效:

/sbin/sysctl -p

/sbin/sysctl -w net.ipv4.route.flush=1

我們常常在 Linux 的 /proc/sys 目錄下,手動設定一些 kernel 的參數或是直接 echo 特定的值給一個

proc下的虛擬檔案,俾利某些檔案之開啟,常見的例如設定開機時自動啟動 IP

Forwarding:

echo “1” >

/proc/sys/net/ipv4/ip_forward

其實,在 Linux 我們還可以用 sysctl command 便可以簡易的去檢視、設定或自動配置 特定的 kernel

設定。我們可以在系統提示符號下輸入「sysctl -a」,摘要如后:abi.defhandler_coff =

117440515

dev.raid.speed_limit_max = 100000

net.ipv4.conf.default.send_redirects =

1

net.ipv4.conf.default.secure_redirects =

1

net.ipv4.conf.default.accept_redirects =

1

net.ipv4.conf.default.mc_forwarding =

0

net.ipv4.neigh.lo.delay_first_probe_time =

5

net.ipv4.neigh.lo.base_reachable_time =

30

net.ipv4.icmp_ratelimit = 100

net.ipv4.inet_peer_gc_mintime = 10

net.ipv4.igmp_max_memberships = 20

net.ipv4.ip_no_pmtu_disc = 0

net.core.no_cong_thresh = 20

net.core.netdev_max_backlog = 300

net.core.rmem_default = 65535

net.core.wmem_max = 65535

vm.kswapd = 512 32 8

vm.overcommit_memory = 0

vm.bdflush = 30 64 64 256 500 3000 60 0

0

vm.freepages = 351 702 1053

kernel.sem = 250 32000 32 128

kernel.panic = 0

kernel.domainname = (none)

kernel.hostname =

pc02.shinewave.com.tw

kernel.version = #1 Tue Oct 30 20:11:04 EST

2001

kernel.osrelease = 2.4.9-13

kernel.ostype = Linux

fs.dentry-state = 1611 969 45 0 0 0

fs.file-nr = 1121 73 8192

fs.inode-state = 1333 523 0 0 0 0 0

從上述的語法我們大概可看出 sysctl 的表示法乃把目錄結構的「/」以「.」表示,一層一層的連結下去。當然以echo

特定的值給一個 proc下的虛擬檔案也是可以用 sysctl加以表示,例如:

#sysctl –w net.ipv4.ip_forward =”1”

或是直接在 /etc/sysctl.conf 增刪修改特定檔案的

0,1值亦可:

# Enables packet forwarding

net.ipv4.ip_forward = 1

# Enables source route verification

net.ipv4.conf.default.rp_filter = 1

# Disables the magic-sysrq key

kernel.sysrq = 0

當然如果考慮 reboot 后仍有效, 直接在 /etc/sysctl.conf 增刪修改特定檔案的

0,1值才可使之保留設定(以RedHat 為例,每次開機系統啟動后, init 會執行

/etc/rc.d/rc.sysinit,便會使用 /etc/sysctl.conf 的預設值去執行

sysctl)。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371539.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371539.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371539.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java枚舉:您擁有優雅,優雅和力量,這就是我所愛!

當Java 8即將面世時,您確定您對Java 5中引入的枚舉很了解嗎? Java枚舉仍然被低估了,很可惜,因為它們比您想象的要有用,它們不僅僅用于通常的枚舉常量! Java枚舉是多態的 Java枚舉是可以包含行為甚至數據的…

C#刪除和清空文件夾的程序

/// <summary>/// 清空指定的文件夾&#xff0c;但不刪除文件夾/// </summary>/// <param name"dir"></param>private void DeleteFolder(string dir){foreach (string d in Directory.GetFileSystemEntries(dir)){if (File.Exists(d)){try{…

2)網頁請求順序

&#xff08;1&#xff09;分析瀏覽器訪問一個網頁的完整流程邏輯過程&#xff1a;http&#xff1a;//www.abc.com/def/ 轉載于:https://www.cnblogs.com/xiaoyoucai/p/7306246.html

JavaOne 2012:非阻塞數據結構如何工作?

當我查看今天的日程安排時&#xff0c;我感到有些驚訝&#xff0c;并指出我目前計劃今天參加的所有會議都在希爾頓舉行。 當我意識到JavaOne演示文稿中大約有一半是在希爾頓酒店中并且似乎按路線大致定位時&#xff0c;這變得有些不足為奇了。 Tobias Lindaaker &#xff08; 新…

c語言箭頭指針的作用,C語言中,結構體成員變量的點和箭頭

C語言中&#xff0c;調用成員變量用點還是用箭頭&#xff0c;取決于當前的ID是指針還是結構體本身。如&#xff1a;typedef struct {float height;float weight;} Person;int main(int argc, char *argv[]) {Person jiushen;Person *lengleng (Person *)malloc(sizeof(Person)…

JavaOne 2012:調查JVM水晶球

我回到了希爾頓的A / B廣場參加星期一的第四屆會議&#xff0c;但首先去了希爾頓的頂層收拾午餐。 我每年都在JavaOne的第一天被提醒&#xff0c;涉及到每個人的第一天的午餐獲取過程令人驚訝地令人沮喪。 我知道我在JavaOne的第一年的經歷使我有些困惑&#xff0c;因為我不確定…

測試遇到的問題

多人合作測試 多人員合作測試&#xff0c;應盡量保證測試平臺統一&#xff0c;處理流程統一&#xff0c;相互之間保持實時溝通。問題的處理進度應保證所負責的所有測試人員第一時間實時更新。 多人測試應做到2人或以上進行交叉測試。 轉載于:https://www.cnblogs.com/liuliu-wo…

Jquery Memo

jQuery選擇器 $( "#id" ) $( ".class" )$( "element" )全選擇器&#xff08;*選擇器&#xff09; * {padding: 0; margin: 0;}//子選擇器 //$(div > p) 選擇所有div元素里面的子元素P//后代選擇器 //$(div p) 選擇所有div元素…

c#語言輸出字符串長度,C#統計字符長度(漢字占2個字符)

在C#編程過程中&#xff0c;通過String類的Length屬性可以獲取對應字符串的長度&#xff0c;但是細心的讀者可能注意到了&#xff0c;String類的Length屬性返回的是字符串中Char對象的個數&#xff0c;也就是說&#xff0c;一個漢字的長度為1&#xff0c;對此&#xff0c;MSDN的…

使用JMSTester對JMS層進行基準測試

對于我去過的大多數客戶端&#xff0c;使用ActiveMQ擴展JMS消息傳遞層是一個優先事項。 有多種方法可以實現這一目標&#xff0c;但毫無疑問&#xff0c;創建基準測試并在實際硬件上分析架構&#xff08;或者正如我的同事Gary Tully所說的“詢問機器”&#xff09;是第一步。 但…

Js引擎解析執行 閱讀筆記

Js引擎解析執行 閱讀筆記 一篇閱讀筆記http://km.oa.com/group/2178/articles/show/145691?kmrefsearch&from_page1&no1 早期:遍歷語法樹 Js引擎最早使用的是遍歷語法樹方式 &#xff08;syntax tree walker&#xff09; 分為兩步 詞法分析語法分析詞法分析 i a b *…

紅外線遙控c語言程序,紅外遙控的C程序

紅外遙控在生產和生活中應用越來越廣泛,不同的紅外遙控芯片有不同的發碼協議,但一般都是由引導碼,系統碼,鍵碼三部分組成.引導碼是告訴接收機準備接收紅外遙控碼.系統碼是識別碼,不同的遙控芯片有不同的誤別碼,以免搞錯.遙控器上不同的按鍵有不同的鍵碼,系統碼和鍵碼都是16位碼…

Retrofit2 完全解析 探索與okhttp之間的關系

轉載請標明出處&#xff1a; http://blog.csdn.net/lmj623565791/article/details/51304204&#xff1b; 本文出自:【張鴻洋的博客】 之前寫了個okhttputils的工具類&#xff0c;然后有很多同學詢問這個工具類和retrofit什么區別&#xff0c;于是上了下官網&#xff0c;發現其底…

不變性真的意味著線程安全嗎?

我經常閱讀有關“如果對象是不可變的&#xff0c;則它是線程安全的”的文章。 實際上&#xff0c;我從未找到過一篇讓我相信不變的意味著線程安全的文章。 即使是Brian Goetz的Java Concurrency in Practice一書中關于不變性的一本書也沒有完全令我滿意。 在這本書中&#xff0…

c語言設計 數組的知識點,C語言程序設計知識點及示例.pdf

C語言程序設計知識點及示例四川大學錦江學院C語言程序設計知識點及示例知識點1&#xff1a;除了復合語句而外&#xff0c;C語言的語句都以分號結束。示例1&#xff1a;C語言的簡單語句 (非復合語句語句)必須以 結束。參考答案&#xff1a;分號知識點2&#xff1a;目標程序和可執…

移動端知識匯總

參見地址: https://github.com/jtyjty99999/mobileTech 轉載于:https://www.cnblogs.com/duanyue/p/7337789.html

在移動端設置overflow:hidden禁止滾動的解決方法

如果你是將overflow:hidden用在了body上那么不管用&#xff0c;因為移動端是基于touch事件。 兩種解決方法&#xff1a; 1、為html和body同時設置height:100%;overflow:hidden; html, body{height:100%;overflow:hidden; }2、使用touchmove $(document).on(touchmove,function …

單元測試線程代碼的5個技巧

這是一些技巧&#xff0c;說明如何進行代碼的邏輯正確性測試&#xff08;與多線程正確性相對&#xff09;。 我發現本質上有兩種帶有線程代碼的刻板印象模式&#xff1a; 面向任務–許多短期運行的同類任務&#xff0c;通常在Java 5執行程序框架內運行&#xff0c; 面向流程–…

jsp2

D:\Software\Tomcat7\work\Catalina\localhost 是緩存目錄&#xff0c;可以刪掉隱藏域&#xff1a;頁面表單中的一個元素&#xff0c;跟文本框一樣&#xff0c;但是用戶看不到1.建立test1--form表單需要它&#xff0c;而不需要用戶看到&#xff0c;用隱藏域<body><%re…

MongoDB MapReduce 的示例。

// JavaScript source code db.runCommand({mapreduce: "page",map: function Map() {emit(this.title, // how to group{ name: this.name } // associated data point (document));},reduce: function Reduce(key, values) {//reduce用來處理group出來是多條數…