- 浏览: 126477 次
最新评论
文章列表
原文地址:http://blog.csdn.net/ghj1976/article/details/27996095
典型的两个现实案例:
我们先看两个用Go做消息推送的案例实际处理能力。
360消息推送的数据:
16台机器,标配:24个硬件线程,64GB内存 Linux Kernel 2.6.32 x86_64 单机80万并 ...
GoLang-goroutine & channel
- 博客分类:
- GO
goroutine与调度器
goroutine背后的系统知识
关于Goroutine与Channel
Golang Channel用法简编
1、通过goroutine、channel实现同步
package main
import (
"fmt"
"time"
)
func f(r int) {
c1 := make(chan bool, 1) //非缓冲通道
go func() {
//do something
fmt.Println("Do something")
...
Linux系统普通用户sudo操作
- 博客分类:
- linux
Q: 使用sudo命令进行操作时提示:用户不在sudoer文件中
1、切换到root用户
su root
2、切换到/etc目录,查看sudoers文件
cd /etc
ll |grep sudoers
显示:
-r--r-----. 1 root root 3274 10月 24 14:10 sudoers
drwxr-x---. 2 root root 4096 5月 13 17:49 sudoers.d
3、修改权限
chmod 777 ...
<?php
header("Content-Type: text/html; charset=UTF-8");
$demo = new FileOprDemo();
$demo->file_stat($demo->file);
$demo->file_read($demo->file);
$demo->file_read2($demo->file);
$demo->file_read3($demo->file);
$demo->file_write("b.txt");
...
FreeMarker内置函数
- 博客分类:
- Java
应用Freemarker 过程中,经常会操作例如字符串,数字,集合等,却不清楚Freemrker 有没有类似于Java 一样有相关的类及方法。在本文当中,我将向大家详细的介绍Freemarke 的内置函数及用法,以便能帮助大家更熟练的应用Freemarker 完成项目开发。
一、 Sequence 的内置函数
1. sequence?first 返回sequence 的第一个值。
2. sequence?last 返回sequence 的最后一个值。
3. sequence?reverse 将sequence 的现有顺序反转,即倒序排序
4. ...
数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。
范式说明
1.1 第一范式(1NF)无重复的列
所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系 ...
Linux下查看、关闭及开启防火墙命令
- 博客分类:
- linux
Linux下查看、关闭及开启防火墙命令
1)永久性生效,重启后不会复原 开启: chkconfig iptables on 关闭: chkconfig iptables off 2)即时生效,重启后复原 开启: service iptables start 关闭: service iptables stop 需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。 在开启了防火墙时,做如下设置,开启相关端口, 修改/etc/sysconfig/iptables 文件,添加以下内容: -A RH-Firewall-1-INPUT -m state --state NEW ...
1、CGI
CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。
CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等。
2、FastCGI
FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。它还支持分布式的运算,即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其 ...
冒泡排序、快速排序、选择排序的php实现
- 博客分类:
- PHP
<?php
header("Content-Type: text/html; charset=UTF-8"); //设置编码
$mySort = new MySort();
echo "<span style=\"color:red;\">冒泡排序</span>";
$mySort->bubble();
echo "<hr/>";
echo "<span style=\"color: ...
通过tomcat实现Websocket
- 博客分类:
- Java
Websocket介绍参考:
http://www.cnblogs.com/qq931399960/p/4730493.html
http://www.cnblogs.com/xdp-gacl/p/5193279.html
WebSocket 是什么原理?为什么可以实现持久连接
一、WebSocket简介
WebSocket protocol是HTML5一种新的协议,WebSocket 是目前唯一真正实现全双工通信的服务器向客户端推送的互联网技术。WebSocket的出现使得浏览器提供对Socket ...
java.util.Timer计时器有管理任务延迟执行("如1000ms后执行任务")以及周期性执行("如每500ms执行一次该任务")。但是,Timer存在一些缺陷,因此你应该考虑使用ScheduledThreadPoolExecutor作为代替品,Timer对调度的支持是基于绝 ...
1、函数签名
函数的签名就是他的参数类型和返回值类型,与名字无关。相同签名的函数就是同一类型的,相同类型的变量才可以赋值。
Go支持函数类型的变量和赋值。
Go语言中函数名字的 ...
GoLang----map使用(转载)
- 博客分类:
- GO
方式一:先声明,再初始化,然后赋值
// 先声明map
var m1 map[string]string
// 再使用make函数创建一个非nil的map,nil map不能赋值
m1 = make(map[string]string)
// 最后给已声明的map赋值
m1["a"] = "aa"
m1["b"] = "bb"
方式二:直接创建,然后赋值
// 直接创建
m2 := make(map[string]string)
// 然后赋值
m2["a" ...
GoLang命令详解
- 博客分类:
- GO
具体内容参考:http://wiki.jikexueyuan.com/project/go-command-tutorial/0.1.html