当前位置:  编程技术>移动开发
本页文章导读:
    ▪27个Java程序根本优化小提示        27个Java程序基本优化小提示 1.尽量指定类的final修饰符,因为带有final修饰符的类是不可派生的。  2.尽量重用对象。  3.尽量使用局部变量。  4.不要重复初始化变量。  5.在Java+Oracle.........
    ▪ 发生密钥、签署密钥、验证密钥        产生密钥、签署密钥、验证密钥 产生密钥 E:\Java\jdk1.6.0_22\bin\keytool -genkey -v -keystore android.keystore -alias android.keystore -keyalg RSA -validity 20000   签署密钥E:\Java\jdk1.6.0_22\bin\jarsigner -verbose -keystore andr.........
    ▪ ARC中_autoreleasing       ARC中__autoreleasing   在ARC中会自动注册到autoreleasepool中: 1、取得非自己生成并持有的对象时(即编译器检测不是以alloc/new/copy/mutableCope开始的方法名):   @ autoreleasepool{ id __strong obj = [NSMutabl.........

[1]27个Java程序根本优化小提示
    来源: 互联网  发布时间: 2014-02-18
27个Java程序基本优化小提示

1.尽量指定类的final修饰符,因为带有final修饰符的类是不可派生的。
  2.尽量重用对象。
  3.尽量使用局部变量。
  4.不要重复初始化变量。
  5.在Java+Oracle的应用系统开发中,Java中内嵌的SQL语句应尽量使用大写,以减轻Oracle解析器解析的负担。
  6.在Java编程过程中进行数据库连接、I/O流操作时务必小心,使用完毕后应及时关闭以释放资源。
  7.JVM(Java虚拟机)有自身的GC(垃圾回收机制),但并非十分机智。用户对象后手动设置成null。
  8.在使用同步机制时,应尽量使用方法同步代替代码同步。
  9.尽量减少对变量的重复计算。
  10.尽量采用lazy loading 的策略,即在需要时才开始创建。
  11.谨慎使用异常。
  12.不要在循环中使用try-catch,放在最外层。
  13.注意StringBuffer(表示可变的可写的字符串)的使用。设置合适的容量。
  14.合理使用Java类java.util.Vector。一个Vector就是一个java.lang.Object实例的数组。
  15.当复制大量数据时,使用System.arraycopy()命令。
  16.尽量使用重构。
  17.不适用new 关键字创建类实例。
  18.谨慎使用乘法和除法。如某些乘法可以用移位代替。
  19.在JSP网页关闭无用的会话。 <@page session = “false”>
  20.JDBC与I/O。
  21.Servlet与内存使用。
  22.使用缓冲标记。
  23.选择合适的引用机制。如include指令和include动作。
  24.及时清除不再需要的会话。
  25.不要将数组声明为public static final;
  26.HashMap的遍历效率。
  27.Array数组和ArrayList的使用。

摘自  http://tomcat-oracle.iteye.com/blog/1980924

    
[2] 发生密钥、签署密钥、验证密钥
    来源: 互联网  发布时间: 2014-02-18
产生密钥、签署密钥、验证密钥

产生密钥

E:\Java\jdk1.6.0_22\bin\keytool -genkey -v -keystore android.keystore -alias android.keystore -keyalg RSA -validity 20000

 

签署密钥
E:\Java\jdk1.6.0_22\bin\jarsigner -verbose -keystore android.keystore -signedjar aBMI_signed.apk aBMI.apk android.keystore

 

验证密钥
E:\Java\jdk1.6.0_22\bin\jarsigner -verify -verbose -certs aBMI_signed.apk


    
[3] ARC中_autoreleasing
    来源: 互联网  发布时间: 2014-02-18
ARC中__autoreleasing

 

在ARC中会自动注册到autoreleasepool中:

1、取得非自己生成并持有的对象时(即编译器检测不是以alloc/new/copy/mutableCope开始的方法名):

 

@ autoreleasepool{
id __strong obj = [NSMutableArray array];
 //[NSMutableArray array]会自动注册到autoreleasepool
}

 如果是alloc/new/copy/mutableCope开头的方法必须:

 

 

@ autoreleasepool{
id __autoreleasing obj =[ [NSObject alloc]  init];
}

 

2、对象作为函数返回值时;

 

+ (id) array{
return [[NSObject alloc] init];
}
//or
+ (id) array{
id obj = [[NSObject alloc] init];
return obj;
}

 

 

3、id的指针或对象的指针在没有显式指定时;

- (BOOL)moveItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error NS_AVAILABLE(10_5, 2_0);

 (NSError **)error 实际编译成 (NSError *__autoreleasing *)

 

 

注意点:

1、在ARC中不能使用autorelease方法,不能使用NSAutoreleasePool类;

2、在使用附有__weak修饰符的变量时必定要使用注册到autoreleasepool中的对象;

3、赋值给对象指针时,所有修饰符号必须一致。

但是,例如上面的第三点,定义一个NSError __strong *error = nil,传给方法参数是不一致的,其实编译器自动的做了转化:

NSError __strong *error = nil;

NSError __ autoreleasing *tmp= error;

调用方法;

error = tmp;

4、NSRunLoop等实现无论ARC有效还是无效,均能随时释放注册到autoreleasepool中的对象。

5、无论ARC,都能调用非公开方法_objc_ autoreleasePoolPrint()查看注册到autoreleasepool中的对象。

 

 

 

 

 

 

 


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
HTML标签参考手册 iis7站长之家
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3