`
qzww5324
  • 浏览: 38098 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
      java多线程体系主要以包 java.util.concurrent 构建。     api主要囊括了 原子操作,锁,并发容器,线程池四大块的内容,有此构成了java的多线程体系
1.final关键字:final的使用有3种情况 (1)数据:在成员变量中用final修饰,表示了该数据的不变性,根据参数的类型又可以分为两种不同情况。如果该成员变量是基本类型,那么通过final修饰,该变量就不可以改变,如果加上static就表示了该成员变量,作为全局变量使用;如果该成员变量是引用类型,用final修饰,那么该引用不可再变,即引用的指向不可变,但是引用所指向的对象的值可以改变。   final数据的初始化在域的定义处或构造处进行,即final在使用前必须初始化。   final可以修饰方法中的参数,但是只能读不可修改。   (2)方法:方法用final修饰作用主要 ...
1.涉及基本类型参数的重载:如果传入参数类型为 char,byte,short ,有接收方法的参数列表类型为int,那么就会调用该int参数的方法。参数类型会向上提升。提升的顺序:byte-short-int-long-float-double,char直接提升为int。   2.finalize不能作为通用的清理方法,只有在垃圾回收时调用,垃圾不回收时就不会调用。在涉及到本地方法的使用中,可能会用到finalize来控制内存泄漏。   3.垃圾回收的工作机制,在《thinking in java 4th》中提到,较新的jvm 采用一种 停止-复制,标志-清除 自适应转换的方式。    ...
1.数据存储的位置大致包括了以下4种:     (1).寄存器:存在与cpu中,所以访问的速度也是最快的。所空间的局限性,所以很少有能直接操作的机会。在java中不能对寄存器做任何操作,在C/C++中可以实现建议对寄存器进行操作。     (2).RAM 随机访问存储器:java中的大部分变量都存在与此,包括栈变量以及堆变量 。     (3).ROM 只读存储器:主要包括了静态常量池中的变量(字符串)     (4).硬盘,光盘等移动介质:以文件的形式存储,以流的形式读写。   2.java中的基本数据类型当是成员变量时都有一个默认值。   char  \u0000(null) ...
主要是一些相关背景的了解:       Apache Tomcat 是apache软件基金会 (即ASF )下的一个开源项目,最初的设计目的是作为 sun公司推出的servlet容器的一种实现,sun公司将servlet的源代码捐献给ASF后,以次立项,推出第一个版本tomcat 3.x, 支持servlet2.2和jsp 1.1规范。在tomcat4.0版本开始,代码重构,实现都做了比较大的变动,并支持了新的servlet2.3和jsp 1.2规范。       tomcat原先是apache jakarta下的子项目,后被提升为顶级项目。tomcat包含了apache的许可证,是免费开源 ...
      汉诺塔(Towers of Hanoi)是法国人M.Claus(Lucas)于1883年从泰国带至法国的,河内(Hanoi)为越战时北越的首都,即现在的胡志明市;1883年法国数学家 Edouard Lucas曾提及这个故事,据说创世纪时Benares有一座波罗教塔,是由三支钻石棒(Pag)所支撑,开始时神在第一根棒上放置64个由上至下依由小 至大排列的金盘(Disc),并命令僧侣将所有的金盘从第一根石棒移至第三根石棒,且搬运过程中遵守大盘子在小盘子之下的原则,若每日仅搬一个盘子,则当 盘子全数搬运完毕之时,此塔将毁损,而也就是世界末日来临之时。            以三根柱子 ...
to be continue...
整个接口的使用分为两部分: 第一部分为和表对应的实体类的定义,下面以表TAB_MOA_PACKAGES为例,sequence以默认的SEQ_MOA_PACKAGES建立。对应的类如下: @Table(tableName="TAB_MOA_PACKAGES") //可省略 @Seq(seqName="SEQ_MOA_PACKAGES") ...
  一 核心接口类:DbCommon   1.核心方法 (1). public static Configuration getXMLCon(Object obj,boolean isGetObj,String paramName,String paramValue)  主要完成从数据库中的对应表中取出xml格式(clob)的文本,转存成Configuration对象(org.apache.avalon.framework.configuration.Configuration),并返回。并根据需要,决定是否要持久化该表对应的对象。 (2). public static voi ...
1.要使用一个对象必须经过两个过程:分配(allocation)和初始化(initialization)。  通过向类发送alloc消息从而分配一块内存来存储,并且将分配的内存初始化为0;通常init方法来完成初始化,如下一段为一个car对象的分配初始化的过程: Car *car=[[Car alloc] init]; 2.一般在init方法中,会有一句 if(self=[super init]){ ... 使父类先完成自己的初始化操作,并且init方法可能返回完全不同的对象,此时就需要更新self对象。 *该赋值操作只影响init方法中的self。不影响方法以外的任何内容。 ...
1.objective-c中,对象的生命周期通过 引用计数来标示,当使用 alloc,new方法或通过copy消息时,引用计数就会加一,通过retain方法可以为对象再增加引用计数,要减少对象的引用计数,可以向该对象发送一条release消息。要获得对象引用对象的引用数量时,可以向对象发送retainCount消息来获取数量。    当引用计数0时,会调用dealloc方法销毁对象。 2.对象的自动释放 使用NSAutoreleasePool对象,可以创建一个自动释放池,给对象发送一个autorelease消息时,就可以将该对象放入到池中,当池被销毁时(即池对象调用了release方法), ...
1.两种常用的结构体:     范围: typedef struct _NSRange { NSUInteger location; NSUInteger length; } NSRange;  用来表示字符串中字符的位置和数组中的元素范围。  location表示存放该范围的起始位置。  length表示该范围内的所含元素的个数。   例:在字符串"objective-C is a cool language"中,要表示cool的范围,可以用三种形式表示 NSRange *range1; range1.location=17; ra ...
1 .@class   创建一个向前引用,使类之间可以相互引用。比如,类a和类b需要相互引用,但是使用#import会出现编译错误,这时可以在A.h中添加@class B ,然后在B.h中添加@class A来解决。   注意:      a.类中对其他类的引用是以指针的形式实现,这样可以使用@class。      b.如果是继承关系就不能使用@class ,因为编译器需要知道父类的详细信息,并编译成功才能保证子类的编译成功,使用@class只能达到 "相信我,你最终能够了解这个名称的类" ,所以只能用#import的方式引入。
@interface Tire: NSObject @end //Tire @implementation Tire -(NSString *) description{ return (@"i am a tire . i last a while"); }  1.description方法的作用类似于java中的 toString(),可以通过定义description方法来达到自定义NSLog输出的类的内容的目的。如:   Tire* tire=[Tire new] NSLog(@"%@",tire); 输出的结果就是 ...
1.objective-C中没有多继承,但是可以通过其他特性来实现   2.fraglie base class problem(脆弱的基类问题):变量在内存中的位置是通过基地址+偏移量来确定的,偏移位置通过硬编码实现,如果向NSObject中添加其他实例变量,会改变所有实例变量的偏移位置。(已经通过间接寻址方式确定偏移量的位置解决)。   3.超类的访问 [super setFillColor:KBColor];  
Global site tag (gtag.js) - Google Analytics