w1100n
This site is best viewed in Google Chrome
3/9/2017 8:03

http://blog.wuxu92.com/golang-package-usage/ 我们都知道Golang中有package的概念。在go源码文件的第一行就是先声明包名: package main 这里的包名是一个标签,不是使用字符串。对于简答的项目可以直接使用main作为包名。 在go的开发中,我们会把所有的项目放到GOPATH/src目录下;与其他语言的项目不同,go的约定是(当前用户)所有的所有项目都是放到这个目录;所以这里面会有很多的项目。一般约定使用域名作为一级的目录,比如GOPATH/src/github.com这个目录存放所有从github获取的项目。 golang中的包全名是相对于GOPATH/src/的相对路径加源码文件中的package声明。源码的文件夹目录可以随意组织,可以有多层级目录,比如我打一个项目放在 GOPATH/src/wuxu.bit/example/alg/sort目录下。里面的一个源码文件sort.go如下: package sort import “fmt” func Sort(a []int) { // do some sort things // fmt.Println(…) } 现在另外一个项目要使用这个排序方法,假设那个项目目录是GOPATH/src/wuxu/weather/目录下的main.go文件。那么要在main.go中import排序文件的包,这里要用完整的包名 package main import ( sort “wuxu.bit/example/alg/sort” “fmt” ) func main() { // can use sort.Sort … Continue reading

3/8/2017 12:12

http://www.iteye.com/topic/473355 什么是逃逸分析(Escape Analysis)? 在编程语言的编译优化原理中,分析指针动态范围的方法称之为逃逸分析。它跟静态代码分析技术中的指针分析和外形分析类似。 通俗一点讲,当一个对象的指针被多个方法或线程引用时,我们称这个指针发生了逃逸。 而用来分析这种逃逸现象的方法,就称之为逃逸分析。 举个例子:   Java代码   class A { public static B b; public void globalVariablePointerEscape() { // 给全局变量赋值,发生逃逸 b = new B(); } public B methodPointerEscape() { // 方法返回值,发生逃逸 return new B(); } public void instancePassPointerEscape() { methodPointerEscape().printClassName(this); // 实例引用传递,发生逃逸 } } class B { public void printClassName(A a) { System.out.println(a.class.getName()); } }     在这个例子中,一共举了3种常见的指针逃逸场景。分别是 全局变量赋值,方法返回值,实例引用传递。   逃逸分析优化JVM原理   我们知道java对象是在堆里分配的,在调用栈中,只保存了对象的指针。 当对象不再使用后,需要依靠GC来遍历引用树并回收内存,如果对象数量较多,将给GC带来较大压力,也间接影响了应用的性能。减少临时对象在堆内分配的数量,无疑是最有效的优化方法。   怎么减少临时对象在堆内的分配数量呢?不可能不实例化对象吧! 场景介绍 其实,在java应用里普遍存在一种场景。一般是在方法体内,声明了一个局部变量,且该变量在方法执行生命周期内未发生逃逸(在方法体内,未将引用暴露给外面)。 … Continue reading

3/8/2017 10:41

http://wxl24life.iteye.com/blog/1919359   java.lang.NoClassDefFoundError 和 java.lang.ClassNotFoundException 都是 Java 语言定义的标准异常。从异常类的名称看似乎都跟类的定义找不到有关,但是还是有些差异。我们先来看一下 java 规范中对这两个异常的说明:   java.lang.NoClassDefFoundError: Thrown if the Java Virtual Machine or a ClassLoader instance tries to load in the definition of a class (as part of a normal method call or as … Continue reading

tty
3/4/2017 13:55

tty(终端设备的统称): tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。 终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。   TTY是电传打字机Teletypewriter的缩写, 带显示屏的视频终端出现之前,TTY是最流行的终端设备。 http://7056824.blog.51cto.com/69854/276610 https://www.zhihu.com/question/21711307 http://ytliu.info/blog/2013/09/28/ttyde-na-xie-shi-er/

3/2/2017 16:01

http://blog.csdn.net/lonely_fireworks/article/details/7962171/ String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。 format(String format, Object… args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。 format(Locale locale, String format, Object… args) 使用指定的语言环境,制定字符串格式和参数生成格式化的字符串。 显示不同转换符实现不同数据类型到字符串的转换,如图所示。   转  换  符 说    明 示    例 %s 字符串类型 “mingrisoft” %c 字符类型 ‘m’ %b 布尔类型 true %d 整数类型(十进制) 99 %x 整数类型(十六进制) FF %o 整数类型(八进制) … Continue reading

3/1/2017 8:53

Docker引擎(Docker engine):在服务器上的一个守护进程,它是你和Docker应用与所依赖的操作系统的桥梁。 Dockerfile: 一个文本文件,内容是用于构建Docker镜像的指令。 Docker 镜像: 构建一个Dockerfile的产物,构建过程中执行Dockerfile中的命令,会生成一个镜像。它首先会基于一个根系统(基础镜像)构建,然后安装应用,接着执行一系列命令来准备启动应用的环境。Docker镜像作为Docker容器的基础,相当于容器的一个静态模块。 Docker 容器: 一个Docker镜像的运行时实例,Docker镜像类似于模块的概念(从Dockerfile构建,这个Dockerfile包含了根系统,应用以及一系列构建镜像的命令),容器是那个镜像的一个实际能运行的实例。 Docker 宿主 : 一个物理机或者虚拟机,在此系统上运行着Docker引擎,维持着容器所依赖的Dockerhub。 DockerHub : 官方的Docker镜像仓库,把DockerHub想象为GitHub仓库,对于Git来说是中央仓库,DockerHub是官方保存及提供Docker镜像的中央仓库。 cSphereHub: 希云官方的Docker微镜像仓库,DockerHub中有非常多的镜像,但cSphereHub中存放了精心挑选出来的,并精心制作的镜像。

辽ICP备14012896