摘要: 内存管理: 内存分配和内存回收,都由JVM自动完成。可达、可恢复、不可达: 1. 以线程为起点(单线程则为Main线程),能够访问到的对象称为可达。 2. 当对象没有任何变量引用时,此时,对象处于可恢复状态;GC在回收该对象之前,会调用该对象finalize()方法(默认什么都不做),这个方法中,若此对象被重新引用,对象又处于可达状态;反之,则进入不可达状态,被GC回收。强引用:最常用的引用方式,处于可达状态时,绝不会被回收。软引用:SoftReference类,处于可达状态时,当内存不足,会被GC回收。弱引用:WeakReference类,处于可达状态时,无论内存充足与否,均会被GC回收。虚 阅读全文
posted @ 2012-10-23 13:27 Alex_Monkey 阅读(156) 评论(0) 推荐(0) 编辑
摘要: final用法:变量: 性质: 1.被final修饰过的变量,不能再改变。 2.必须显式初始化。 3.被final修饰过的变量,相当于“宏替换”,在编译时期确定变量的值。 初始化位置: 实例变量:3个位置:1.定义实例变量 2.非静态初始化块 3.构造函数 (编译后,归结在构造函数中) 类变量:2个位置:1.定义类变量 2.静态初始化快 (编译后,归结在静态初始化块中) 局部变量:1个位置:1.定义局部变量方法: 性质: 1. 不能被重写。类: 性质: ... 阅读全文
posted @ 2012-09-28 10:27 Alex_Monkey 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 检出(Checkout): 从版本库取出一个新版本。提交(Commit): 将对工作副本的修改发送给版本库。更新(Update): 下载最新版本库文件的记录。锁定-修改-解锁: 1. 一定时间段版本库的一个文件只允许一个人修改,直至解锁。 2. 锁定(Get lock),解锁(Release lock) 还原(Revert): 取消最近一次的操作(只针对客户端,服务端不做改动)。更新到特定版本(Update to revision): 本地文件副本,更新为服务器上的指定版本。重命名(Rename): 对已经纳入svn管理的文件进行重命名。添加(Add): 把... 阅读全文
posted @ 2012-09-14 17:18 Alex_Monkey 阅读(7756) 评论(0) 推荐(0) 编辑
摘要: 类的定义:class ClassNamedef method_name(variables)#some codeendendeg:class Persondef initialize(name, gender, age)@name = name@gender = gender@age = ageendendpeople = new Person.new('Tom', 'male', 15),initialize方法在构造实例时被调用,是一个特殊的方法若原有的类已经定义,又有相同的类名进行类定义的话,意味着对原有的类的进行追加;方法重新定义,结果为覆盖对象、属性、 阅读全文
posted @ 2012-06-12 14:37 Alex_Monkey 阅读(279) 评论(0) 推荐(0) 编辑
摘要: Ruby中,任何事物都是对象:C=-99.abs类和模块必须以大写字母开头非常量:like_this常量:LIKE_THIS,要求以大写字母开头,常量可以定义在类和模块中,不能定义在方法中,若想在外部访问类或模块中的常数时,要使用“::”操作符大小写敏感$ 全局变量以美元符号开头@ 实例变量@@ 类变量? 返回布尔值的方法通常都有一个以问号结尾的名字! 以感叹号结尾的方法:通常会改变调用它们的对象 不以感叹号结尾的方法则不会修改调用它们的对象,而是修改原本对象的一个拷贝并返回= 可省略,这种方法通常被置于赋值操作符的左侧\换行符块:可用花括号 或者 do和end 作为分隔符,块中的代码... 阅读全文
posted @ 2012-06-12 10:08 Alex_Monkey 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 1. JAVA数组为静态,即一旦初始化后,其长度是不可改变的。2. 数组变量是引用变量,并不是数组对象本身。3. 两种初始化方式: 动态初始化:指定数组的长度,初始值自动生成。 静态初始化:指定初始值,长度自动生成。4. JAVA中,引用变量本身无需初始化,引用变量所引用的对象是需要初始化的。5. 所有局部变量(基本类型变量、引用类型变量)都存于所在方法的栈内存中,引用变量所引用的实际对象(数组对象、Java对象)存放于堆内存中。 =》引用变量不一定存放于栈内存中,eg,3维数组 *易混淆:引用变量何时指代其本省,何时指代堆内存中其引用的对象? 未调用其方法或属性,指代其本身... 阅读全文
posted @ 2012-06-10 21:49 Alex_Monkey 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 一般而言: 优先级为: where子句 > group by > 聚合语句(sum, min, max, count, avg) > having子句 having子句 + 聚合语句eg:图书(书号,类别,出版社,作者,书名,定价)查找这样的类别的书:该类别的最高定价不低于全部按类别分组的平均定价的2倍。分析: 1. “该类别”说明用group by分组 2. “最高定价不低于全部按类别分组的平均定价的2倍”是对分组后的进一步筛选,应用having子句 3. “最高定价”为聚合函数max,“不低于全部”为>=all,“按类别分组的平均定价的2倍”为select语句产生的 阅读全文
posted @ 2012-04-22 16:36 Alex_Monkey 阅读(647) 评论(0) 推荐(0) 编辑
摘要: 三个概念:组件(component) 容器(Container) 布局管理器(LayoutManager)关系: 容器中放置组件,组件的排列方式可以通过布局管理器设置。用户设置布局管理器后,setLocation()等方法会被布局管理器覆盖;用户想亲自设置组件大小和位置,应取消容器的布局管理器setLayout(null);有三种类型的容器:Window,Panel,ScrollPane常用的有Frame,Panel,Applet1. Frame 生成一个窗口,一般不用Window, 而是用其子类Frame。 实例化后,Frame是不可见且无大小。故需调用setSize() setVisi.. 阅读全文
posted @ 2012-04-19 02:29 Alex_Monkey 阅读(7269) 评论(0) 推荐(4) 编辑
摘要: 一. I/O流概述 输入输出处理是程序设计中非常重要的一部分,从键盘中读数据或从文件中读写数据等等。 java把这些不同类型的输入、输出源抽象为流(stream),用统一接口来表示,从而使程序简单明了。I/O中的Exception 进行I/O操作时可能会产生I/O例外,属于非运行时例外,应该在程序中处理。 如:FileNotFoundException, EOFException, IOExceptionjava.io包中有关文件处理包括: 类:File、FileInputStream、FileOutputStream、RamdomAccessFile和... 阅读全文
posted @ 2012-04-08 19:31 Alex_Monkey 阅读(607) 评论(0) 推荐(0) 编辑
摘要: 捕获例外: Java产生例外对象后,将去寻找能够处理此例外的方法并交之处理,这一过程成为捕获(catch)。若找不到,运行时系统将终止抛弃例外: 一个方法若不知道如何处理出现的例外,可声明抛弃(throws)jdk中,每个包都定义了例外类,所有的例外类都直接或间接继承于Throwable类。java中的例外类可分为两大类: error exception 运行时例外 继承于RuntimeException的类都属于运行时例外,如算数(除零),数组越界等,由于例外产生的位置是未知的,java编译器允许程序员在程序 中不对它们作出处理。 非运行时例... 阅读全文
posted @ 2012-04-07 22:22 Alex_Monkey 阅读(1929) 评论(0) 推荐(0) 编辑