我阅读了文档Understanding Virtual Memory,它说在Linux VM中更改可调参数的一种方法是命令:
sysctl -w vm.max_map_count=65535
Run Code Online (Sandbox Code Playgroud)
我想知道数字65535的含义以及设置可以使用多少内存.
我创建了一个新的drupal 7主题并试图在template.php上实现hook_theme,如下所示:
function mytheme_theme($existing, $type, $theme, $path){
return array(
'mytheme_header'=>array(
'template'=>'header',
'path'=>$path.'/templates',
'type'=>'theme',
),
);
}
Run Code Online (Sandbox Code Playgroud)
然后我将header.tpl.php放入模板目录并清除所有缓存,并调用主题函数:
theme('mytheme_header', $vars);
Run Code Online (Sandbox Code Playgroud)
和header.tpl.php赞了这个:
<?php
fb('calling header template');//the function of FirePHP to output debug info
print '<div>Header</div>';
//...
Run Code Online (Sandbox Code Playgroud)
我检查Firebug,它获取信息'调用标题模板',这意味着它已调用header.tpl.php,但它没有打印html代码.我的代码出了什么问题?
这是PHP代码:
$arr=array(228,184,173,230,150,135,99,104,105,110,101,115,101);
$str='';
foreach ($arr as $i){
$str.=chr($i);
}
print $str;
Run Code Online (Sandbox Code Playgroud)
输出是: ??chinese
这是javascript代码:
var arr=[228,184,173,230,150,135,99,104,105,110,101,115,101];
var str='';
for (i in arr){
str+=String.fromCharCode(arr[i]);
}
console.log(str);
Run Code Online (Sandbox Code Playgroud)
输出是: 䏿chinese
那么我应该如何在javascript处理数组?
这是C代码:
struct node{
void *value;
struct node *next;
};
void g(void *p){
/*...*/
}
void f(struct node *head, const int ok){
struct node *p=head;
while (p){
/* ...
code 1
...
*/
if (ok!=0){
g(p->value);
}
p=p->next;
}
}
Run Code Online (Sandbox Code Playgroud)
我用gcc来编译这段代码.如果我编译-O,它会优化这样的功能f:
void f(struct node *head, const int ok){
struct node *p=head;
if (ok!=0){
while (p){
/* ...
code 1
...
*/
g(p->value);
p=p->next;
}
}
else{
while (p){
/* ...
code 1
...
*/
p=p->next;
}
} …Run Code Online (Sandbox Code Playgroud) 表
+-----------+--------------+------+-----+-------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+--------------+------+-----+-------------------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(32) | NO | | NULL | | | pid | varchar(32) | NO | | NULL | | +-----------+--------------+------+-----+-------------------+----------------+
步骤:测试
begin
set @i=0;
while @i<200 do
insert into test.table_test
(name, pid) values ('1', '1');
set @i=@i+1;
end while;
end
Run Code Online (Sandbox Code Playgroud)
跑:
mysql> call test();
Query OK, 0 rows …Run Code Online (Sandbox Code Playgroud) 这是mysql错误1293的消息:
SQL错误(1293):表定义不正确; 在DEFAULT或ON UPDATE子句中只能有一个TIMESTAMP列和CURRENT_TIMESTAMP
mysql的原因是什么只允许一个TIMESTAMP列在每个表的DEFAULT或ON UPDATE子句中使用CURRENT_TIMESTAMP.
我写了一个这样的脚本:
N=5
FIFO=/tmp/$$.fifo
mkfifo $FIFO
loop(){
for i in $(seq 1 $N); do
read tmp < $FIFO
echo "$i out"
done
}
loop &
LOOP_PID=$!
for i in $(seq 1 $N); do
echo $i > $FIFO
echo "$i in"
done
wait $LOOP_PID
Run Code Online (Sandbox Code Playgroud)
当我运行脚本时,它停止wait $LOOP_PID并且无法继续。
所以我用文件描述符修改脚本:
N=5
FIFO=/tmp/$$.fifo
mkfifo $FIFO
exec 3<>$FIFO
loop(){
for i in $(seq 1 $N); do
read -u3 tmp
echo "$i out"
done
}
loop &
LOOP_PID=$!
for i in $(seq 1 $N); do
echo …Run Code Online (Sandbox Code Playgroud) 文件A在一个目录中有10000个文件,文件B在一个目录中有10个文件,读/写文件A比文件B慢吗?是否会受到不同日记文件系统的影响?
我建立了一个包含三个成员的副本集,其中一个是仲裁者。
有一次我重启了一个成员,这个成员保持了很长时间的RECOVERING并且没有再次成为SECONDARY,即使数据库不大。
副本集的状态是这样的:
rs:PRIMARY> rs.status()
{
"set" : "rs",
"date" : ISODate("2013-01-17T02:08:57Z"),
"myState" : 1,
"members" : [
{
"_id" : 1,
"name" : "192.168.1.52:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 67968,
"optime" : Timestamp(1358388479000, 1),
"optimeDate" : ISODate("2013-01-17T02:07:59Z"),
"self" : true
},
{
"_id" : 2,
"name" : "192.168.1.50:29017",
"health" : 1,
"state" : 7,
"stateStr" : "ARBITER",
"uptime" : 107,
"lastHeartbeat" : ISODate("2013-01-17T02:08:56Z"),
"pingMs" : 0
},
{
"_id" : 3,
"name" : …Run Code Online (Sandbox Code Playgroud) 这是C代码,我用gcc编译
char *a="a";
char *d="d";
printf("%d\n", strcmp("a", "d"));
printf("%d\n", strcmp(a, "d"));
printf("%d\n", strcmp(a, d));
Run Code Online (Sandbox Code Playgroud)
当我用-O输出编译时
-1
-3
-1
Run Code Online (Sandbox Code Playgroud)
当我编译没有-O那么输出是
-1
-3
-3
Run Code Online (Sandbox Code Playgroud)
为什么输出不同,代码是strcmp什么?