Welcome

Jun 27 2015
Java程序的执行顺序

java 程序的执行程序

  • 静态语句块最先被执行
  • 正常语句
  • 执行块语句
  • 执行构造函数[先父类再子类]
  • 如果有父类,则先按照顺序执行父类
阅读此文

Jun 23 2015
给java初学者的开发建议

说明

该文章翻译自
http://www.javacodegeeks.com/2015/06/java-programming-tips-best-practices-beginners.html
只翻译了常用的,本人也是java初学者,中间也有自己的理解如有翻译不妥,欢迎纠正

返回空的集合而不是 null

当你设计的函数返回一个集合时,请确保当集合没有元素时返回一个空的集合,而不是null,这样可以节省 if-else 的判断

1
2
3
public class getLocationName {
return (null==cityName ? "": cityName);
}
阅读此文

Jun 12 2015
linux 上 maven+nexus 构建环境搭建

安装mvn

1
sudo apt-get install maven2

安装 nexus 搭建 maven2 私服

  • 下载 nexus, 官网地址 http://nexus.sonatype.org/ , 我的360网盘地址: http://yunpan.cn/ccxjgqeQx8qjp, 分享中包括 离线 maven index 文件 后面会用到, 解压 nexus
  • 将indexer-cli-5.1.1.jar nexus-maven-repository-index.gz nexus-maven-repository-index.properties 放在同一目录下,执行
    1
    java -jar indexer-cli-5.1.1.jar -u nexus-maven-repository-index.gz -d indexer

阅读此文

Jun 10 2015
库函数与系统调用的区别

系统调用和库函数的关系

  • 系统调用通过软中断int 0x80从用户态进入内核态。 函数库中的某些函数调用了系统调用。
  • 函数库中的函数可以没有调用系统调用,也可以调用多个系统调用。 编程人员可以通过函数库调用系统调用。
  • 高级编程也可以直接采用int 0x80进入系统调用,而不必通过函数库作为中介。 如果是在核心编程,也可以通过int 0x80进入系统调用,此时不能使用函数库。因为函数库中的函数是内核访问不到的.
  • 从用户调用库函数到系统调用执行的流程。
  • 假设用户调用ssize_t write (int fields, cont void *buff, size_t nbytes);库函数。
  • 库函数会执行int 0x80中断。因为中断使得进程从用户态进入内核态,所以参数通过寄存器传送。
  • 0x80中断对应的中断例程被称为system call handler。
  • 其工作是:
  • 存储大多数寄存器到内核堆栈中。这是汇编代码写的。
  • 执行真正的系统调用函数――system call service routine。这是C代码。
  • 通过ret_from_sys_call ()返回,回到用户态的库函数。这是汇编代码。
阅读此文

Jun 10 2015
一段简单c程序的汇编语言学习(ubuntu+x86)

####
c程序代码:

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>  

int main(void)
{

int i=0, j=0;

for(i=0; i<8; i++)
j=j+1;

return 0;
}
阅读此文

May 24 2015
MongoDb学习记录

创建数据库

  • use db_name
  • show dbs 多少数据库
  • db 显示当前数据名
  • db.dropDatabase() 删除当前所在数据库

创建数据表

  • db.createCollection(‘tb_name’)
  • show collections 查看当前数据库的数据表

重命名文档名称

  • db.tb_name.renameCollection(‘new_tb_name’)
阅读此文