stst

静态代码块如果不要static 那么只要生成新的该对象,则会执行{}内的代码

super.onDestroy() 先后顺序问题

Ctrl + Alt + F refromat code
目前看来不能对代码自动换行,换行还是得自己手动控制
Ctrl + d 复制一行代码
Ctrl + x 删除一行
Ctrl+Shift+N 查找文件
Alt+Insert 生成代码(如get,set方法,构造函数等)
Ctrl+Alt+ left/right 返回至上次浏览的位置
局部代码块展开/折叠,快捷键分别是 ctrl+(加号)和ctrl-(减号);
全部代码块展开/折叠,快捷键分别是 ctrl+ shift +(加号)和ctrl-(减号);

在使用Android studio做开发的时候,可能会遇到Failed to resolve:junit:junit:4.12的问题,解决的办法是
在app目录下,打开build.gradle文件,在文件后面添加这么一段代码 即可
repositories {
maven { url 'http://repo1.maven.org/maven2' }
}

Copyleft 是相对 copyright 造的一个词语。Copyright 是保留所有权利,是商用软件中常用的;而自 Linux 出世后,为了区别,就用了 Copyleft 来表示其自由和免费。

http://blog.chinaunix.net/uid-24237502-id-35023.html
http://www.360doc.com/content/11/0630/17/7204565_130628872.shtml
get_fs(),set_fs()是为了改变了用户空间的限制,即扩大了用户空间范围,从而在内核中使用系统调用而不会出错
(系统调用的参数要求必须来自用户空间),否则会报参数地址超过用户空间地址的错误。


void set_fs(mm_segment_t fs);
  该函数的作用是改变kernel对内存地址检查的处理方式,其实该函数的参数fs只有两个取值:USER_DS,KERNEL_DS,分别代表用户空间和内核空间,默认情况下,kernel取值为USER_DS,即对用户空间地址检查并做变换。那么要在这种对内存地址做检查变换的函数中使用内核空间地址,就需要使用set_fs(KERNEL_DS)进行设置。get_fs()一般也可能是宏定义,它的作用是取得当前的设置,这两个函数的一般用法为:
  mm_segment_t old_fs;
  old_fs = get_fs();
  set_fs(KERNEL_DS);
  ...... //与内存有关的操作
  set_fs(old_fs);

原文地址:https://www.cnblogs.com/muhe221/p/6203840.html