自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (7)
  • 收藏
  • 关注

转载 GoLang之Concurrency再讨论

0 goroutine是否并发的问题GoLang通过go关键字实现并发操作(真的并发吗?),一个最简单的并发模型:package main    import (      "fmt"      "math/rand"      "time"  )    func routine(name string, delay time.D

2014-01-23 17:45:40 1471

转载 现代编程语言用什么语言写成?

对于脚本型语言通常是c写的,包括解析器(编译器和执行器)和大部分基础的标准库(比较高阶的库才会用本语言写)。从这个意义上来说,脚本语言只是c的wrapper,正因为如此,所以才会有人喊python的sort居然比go快之类的说法,其实就算是python的sort快,那也只证明了c比go快。但也有一些语言的解析器用c++写(比如V8)。对于编译型语言,通常编译器也是c写的(但编译器对性能要求

2014-01-22 17:43:11 1805

转载 golang: 类型转换和类型断言

类型转换在程序设计中都是不可避免的问题。当然有一些语言将这个过程给模糊了,大多数时候开发者并不需要去关注这方面的问题。但是golang中的类型匹配是很严格的,不同的类型之间通常需要手动转换,编译器不会代你去做这个事。我之所以说通常需要手动转换,是因为interface类型作为一个特例,会有不同的处理方式。golang Comma-ok switch测试 类型转换 类型断言类

2014-01-22 17:20:38 40803 2

转载 golang: 详解interface和nil

golang的nil在概念上和其它语言的null、None、nil、NULL一样,都指代零值或空值。nil是预先说明的标识符,也即通常意义上的关键字。在golang中,nil只能赋值给指针、channel、func、interface、map或slice类型的变量。如果未遵循这个规则,则会引发panic。对此官方文档有明确的说明:http://pkg.golang.org/pkg/builtin/

2014-01-22 16:16:33 4003

转载 Go中error类型的nil值和nil

先看C语言中的类似问题:空字符串。1const char* empty_str0 = "";2const char* empty_str1 = "\0empty";3const char* empty_str2 = NULL;

2014-01-22 15:23:23 3874

转载 Go的List操作上的一个小“坑”

一直想不清楚一个问题,简单设计的东西到底是“坑多”还是“坑少”呢? 复杂的设计,考虑的太全面,使用起来更麻烦,使用者容易陷入乱,落入自身的陷阱;而简单的设计呢,在许多方面上又顾及不周,如果使用者对其“设计”没仔细研究,或者其实现本身又是一个黑盒子,也容易掉入到设计本身遗留下来的“陷阱”。下面是我刚开始使用Go写代码时碰到的一个小“坑”,这个“坑”的原因我归结为后者。这个“小坑”来自于go的

2014-01-21 17:34:38 3730

转载 关于Go,十件你可能不知道的事

1. 匿名结构体全局组合12345var config struct {//定义一个用于全局配置结构体 APIKey string OAuthConfig oauth.Config}config.APIKey = "BADC0C0A"数据模板12

2014-01-21 17:32:46 1876 1

转载 位操作基础篇之位操作全面总结

Title:       位操作基础篇之位操作全面总结Author:     MoreWindowsE-mail:      morewindows@126.comKeyWord:   C/C++ 位操作 位操作技巧 判断奇偶 交换两数 变换符号 求绝对值 位操作压缩空间 筛素数 位操作趣味应用 位操作笔试面试位操作篇共分为基础篇和提高篇,基础篇主要对位操作进行全面总结,帮助大

2014-01-17 17:26:22 833

转载 负数在计算机中的表示

今天,老大让我调查一个浮点数转换为整数的问题。自己就查了些资料,顺便复习一下原码、反码和补码。 原码:将一个整数,转换成二进制,就是其原码。如单字节的5的原码为:0000 0101;-5的原码为1000 0101。反码:正数的反码就是其原码;负数的反码是将原码中,除符号位以外,每一位取反。如单字节的5的反码为:0000 0101;-5的原码为1111 1010。补码

2014-01-17 17:25:32 1143

转载 Go语言并发与并行学习笔记(三)

Go语言并发的设计模式和应用场景以下设计模式和应用场景来自Google IO上的关于Goroutine的PPT:https://talks.golang.org/2012/concurrency.slide本文的示例代码在: https://github.com/hit9/Go-patterns-with-channel生成器在Python中我们可以使用yield关

2014-01-14 16:10:28 5319 2

转载 Go语言并发与并行学习笔记(二)

Go语言的并发和并行不知道你有没有注意到一个现象,还是这段代码,如果我跑在两个goroutines里面的话:var quit chan int = make(chan int)func loop() { for i := 0; i 10; i++ { fmt.Printf("%d ", i) } quit 0}func mai

2014-01-14 16:09:45 13745 7

转载 Go语言并发与并行学习笔记(一)

如果不是我对真正并行的线程的追求,就不会认识到Go有多么的迷人。Go语言从语言层面上就支持了并发,这与其他语言大不一样,不像以前我们要用Thread库 来新建线程,还要用线程安全的队列库来共享数据。以下是我入门的学习笔记。首先,并行!=并发, 两者是不同的,可以参考:http://concur.rspace.googlecode.com/hg/talk/concur.htm

2014-01-14 16:09:09 34894 19

转载 绝妙的 channel

绝妙的 channel在 Go 编程语言中,channel 是一个闪耀的特性。它提供了一种强大的、在不使用锁或临界区的情况下,从某个 goroutine 向其他 goroutine 发送数据流的方法。今天我想讨论关于 channel 的两个重要的特性,这些特性不但使其在控制数据流方面极为有用,而且用在流程控制方面也十分有效。一个已经被关闭的 channel 永远

2014-01-14 15:12:32 2597

转载 Golang:有趣的 channel 应用

严格意义上说,本文是我另外一片文章《Golang Funny: Play with Channel》的中文版本。不过,毕竟是用中文当母语的,所以就不翻译了,重新按照那个内容写过吧。channel 是 golang 里相当有趣的一个功能,在我使用 golang 编码的经验里,大部分事件都会是在享受 channel 和 goroutine 配合的乐趣。所以本文主要介绍 channel 的一

2014-01-14 15:11:52 5048

转载 golang test测试实例

本文的目的是对mymysql进行单元测试和性能测试准备工作:1 go get github.com/ziutek/mymysql/thrsafe2 在mysql建表和初始化数据(db是test)123456789101112drop

2014-01-13 17:00:55 4566

转载 golang test说明解读

go test是go语言自带的测试工具,其中包含的是两类,单元测试和性能测试通过go help test可以看到go test的使用说明:格式形如:go test [-c] [-i] [build flags] [packages] [flags for test binary]参数解读:-c : 编译go test成为可执行的二进制文件,但是不运行测试。

2014-01-13 17:00:22 2096

转载 Go的异常处理 defer, panic, recover

Go语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally 这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱。因为开发者很容易滥用异常,甚至一个小小的错误都抛出一个异常。在Go语言中,使用多值返回来返回错误。不要用异常代替错误,更不要用来控制流程。在极个别的情况下,也就是说,遇到真正的异常的情况下(比如除数为0了)。才使用Go中引入的

2014-01-13 16:59:58 1385

转载 无辜的goroutine

本文主要是针对一些对于goroutine的“指控”提出我自己的看法,特别是轩脉刃的一篇博客文章《论go语言中goroutine的使用》提出了goroutine的几宗罪。实际上goroutine确实有增加程序复杂度而容易导致问题之处,特别是死锁;但是另外的一些指控,我认为实际上goroutine是没有直接责任的。以下就《论go语言中goroutine的使用》的内容一一提出我的观点

2014-01-13 15:07:35 1054

转载 论go语言中goroutine的使用

go中的goroutine是go语言在语言级别支持并发的一种特性。初接触go的时候对go的goroutine的欢喜至极,实现并发简便到简直bt的地步。但是在项目过程中,越来越发现goroutine是一个很容易被大家滥用的东西。goroutine是一把双面刃。这里列举一下goroutine使用的几宗罪:1 goroutine的指针传递是不安全的12

2014-01-13 15:06:54 2855

转载 goroutine与调度器

我们都知道Go语言是原生支持语言级并发的,这个并发的最小逻辑单元就是goroutine。goroutine就是Go语言提供的一种用户态线程,当然这种用户态线程是跑在内核级线程之上的。当我们创建了很多的goroutine,并且它们都是跑在同一个内核线程之上的时候,就需要一个调度器来维护这些goroutine,确保所有的goroutine都使用cpu,并且是尽可能公平的使用cpu资源。这个调度

2014-01-13 15:03:39 2040

转载 Go语言并发之美

EMC中国研究院  颜开简介        多核处理器越来越普及,那有没有一种简单的办法,能够让我们写的软件释放多核的威力?答案是:Yes。随着Golang, Erlang, Scale等为并发设计的程序语言的兴起,新的并发模式逐渐清晰。正如过程式编程和面向对象一样,一个好的编程模式需要有一个极其简洁的内核,还有在此之上丰富的外延,可以解决现实世界中各种各样

2014-01-10 17:28:05 1568

转载 linux下c++开发环境安装(eclipse+cdt)(zz)

方法一:此外,众所周知,Eclipse是Java程序,因此很容易就实现了跨平台,也是众所周知,Java的大型程序非常吃内存,即使有512MB内存, 仍然感觉Eclipse的启动速度很慢。个人认为1GB内存是你工作效率的保证。其余的东西,需待我深入学习以后再进一步分析。据网友的经验,先安装Eclipse Classic,然后再装CDT(C/C++ Development Tool),

2014-01-08 15:31:40 3640

转载 ECLIPSE 安装及与CDT 的使用 多线程编程

Linux是一个以C/C++开发为主的平台,无论是Kernel或是Application,主要都使用C/C++开发。传统在Linux下开发 程序,是在文字模式下,利用vi等文字编辑器撰写C/C++程序存盘后,在Command line下使用gcc编译,若要debug,则使用gdb。这种开发方式生产力并不高,若只是开发学习用的小程序则影响不大,但若要开发大型项目时,程序档案个数众多,需要

2014-01-08 15:30:58 3474

转载 eclipse cdt mingw

操作系统:Windows1. 下载Eclipse CDT和MinGW(1)下载Eclipse:http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/indigo/R/eclipse-cpp-indigo-incubation-win32.zip&u

2014-01-08 15:30:19 781

转载 Eclipse CDT配置

下面是eclipse开发c/c++的安装配置。1.配置和安装MinGW和MSYSMinGW (Minimalist GNU for Windows)是一个自由软件,可以将C/C++撰写的原始程序编译为 Windows 环境下的可执行文件。它所使用的编译器(如 C 语言的 gcc 或C++语言的 g++等)是由 GCC 移植而来。GCC 的意思是 GNU 编译器聚集(GNU Comp

2014-01-08 15:29:56 1955

转载 用Eclipse CDT 配置C/C++ 编译环境

Eclipse CDT MinGw Astyle1、Java JDK的安装Eclipse是一款跨平台的工具,只需要基本的java虚拟机就可以运行。安装Java SDK很简单。到http://java.sun.com上找到适合你的操作系统的Java JDK安装程序,下载之并运行,Java SDK就会安装到你的系统中。注意,更高版本的Eclipse需要更高版本的Java

2014-01-08 15:29:31 923

转载 成为主流语言,Golang急需解决的几个问题

最近编程语言当中,golang无疑是风生水起,年度语言,服务器端语言,并发语言,皇冠可谓不少。golang开发的初衷是替换掉c/c++,作为系统级语言,加上在1.3版本中打算将编译系统从原来c语言开发的plan 9编译器,改为golang实现,可谓野心勃勃。golang最令人赞美的就是简单的语法,你可能花不了一天就能掌握golang的语法,关键字。golang的goroutine和channel给

2014-01-08 10:23:26 8973 2

AOP的实现机制.pdf

AOP的实现机制的实例代码和文档一起使用。

2013-02-22

commons-cli-1.2-bin.zip

commons-cli的jar包 Commons CLI 是一个用来处理命令行参数的 Java 工具包。

2012-01-27

Java网络编程,一本入门级书籍

Java网络编程,关于java网络方面的入门级书籍

2009-08-04

即用即查——JSP函数与对象参考手册

即用即查——JSP函数与对象参考手册 即用即查——JSP函数与对象参考手册

2008-11-21

JSP数据库开发实例精粹.pdf

JSP数据库开发实例精粹.pdf

2008-02-04

JAVA编程习题与解答(全美经典学习指导系列)中文版

JAVA编程习题与解答(全美经典学习指导系列)中文版

2007-07-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除