- 浏览: 20228 次
- 性别:
- 来自: 青岛
最近访客 更多访客>>
文章列表
>>返利网站“省”字当头
其实,返利类型的网站在2006年初就已悄悄萌生,但直到去年才达到高潮,逐渐成为一种消费新时尚。记者上网发现,返利网站的促销商品涉及非常广,小到几元钱的别针、纽扣,大到近万元的3D电视……返利比例也从0.5%至40%不等。
同时,不同网站不同商品的返利模式也不尽相同,有的是直接返现金,也有的是返积分、返购物券等等。但无论何种方式,返利这种模式确实吸引了大批消费者参与。
为体验一下此方法到底能不能省钱,记者昨日也试着操作了一回。
首先从淘宝网上找到一款292.9元,重1407克的坚果礼盒套餐。接着将商品名称复制下来,随即打开一家叫“超级返利”的返利网站完 ...
JavaScript万年历,兼容多浏览器,效果图如下:
3 判断语句与循环语句
限于篇幅,这里就不对Java语言中的所有语句进行介绍了,仅介绍两种常用的语句:判断语句与循环语句。
3.1 判断语句
在Java语言中判断语句有三种:if 判断语句、condition ? value1 ...
2 Java语言中的保留字
任何一种语言都有自己的保留字,这些保留字是不能单独出现在程序中的,除非你赋予了其应有的意义。下表是Java语言中全部的保留字。
abstract
boolean
break
byte
case
catch
char
class
const *
continue
default
do
double
else
extends
final
finally
float
for
goto *
if
implements
import
instance ...
表达式与语句是任何程序设计语言的基础,也是开发大型软件系统的最底层的“标准散件”,是开发人员掌握任何程序设计语言的基础。无论多么庞大的软件系统,都是由开发语言的表达式与语句搭建而成的,因此,不容忽视。也许你可能对这部分内容的概念较为熟悉,但在实际的程序设计中,却经常在方面犯错误,而且通常情况下,这些问题还比较隐蔽,极不易被发现,希望你能通过本章的学习可以避免在这些方面犯错误,并且提高所编写代码的性能。
1 表达式
在Java语言中表达式分为两种:一元操作符和二元操作符
。一元操作符和二元操作符如下表所示。
一元操作符
操作符 ...
10 Java程序设计中有关内存管理的其他经验
根据JVM内存管理系统的工作原理,可以通过一些技巧和方式,让JVM做GC处理时更加有效率,更加符合应用程序的要求。以下就是程序设计的一些经验。
(1) 最基本的建 ...
9 JVM内存参数调优
我们前面所提到的堆内存(heap)是由Java虚拟机控制管理的,因此,这些参数对JVM而言都有一个默认值,但在某些情况下这些参数的默认值并不是最优的,这就需要我们通过调整这些参数的值来提高JVM的性能,最终提高应用的性能指标。
在实际的应用开发中,如果应用所使用的系统内存较大,经常会引发内存溢出的错误:
…
java.lang.OutOfMemoryError <<no stack trace available>>
java.lang.OutOfMemoryError <<no stack trace avail ...
最近参与了公司的Android项目,一些学习资料分享给大家。
8 不要提前创建对象
尽量在需要的时候创建对象,重复的分配、构造对象可能会因垃圾回收(GC)做额外的工作,降低系统性能,例如:
... ...
void f() {
int i;
A a = new A();
// 类A的对象a被创建
// 在判断语句之外没有应用过a对象
...
if(...) {
// 类A的对象a仅在此处被应用
a.showMessage();
...
}
...
}
正确的书写方式为:
vo ...
7 瞬间值
相信你在做远程方法调用(RMI)类应用开发时遇到过使用瞬间值(transient)变量与实现java.lang.Serializable接口的问题,之所以要使对象实现java.lang.Serializable接口,是因为这样就可以把该对象从远程环境以对象流的方式将对象传递到相应的调用环境中,但是有时这些被传递的对象的一些属性数据并不需要被传递,因为这些数据成员对于应用需求而言是无关紧要的,那么这些数据变量就可以将其声明为瞬间值变量,而被声明成瞬间值的变量就不会被传递,这样就可以节约调用端运行环境的内存资源,尤其是这个瞬间值变量所携带的数据量越大时(例如数 ...
6 对象重用与GC
有时候我们为了提高系统的性能,避免重复耗时的操作,希望能够重用某些创建完成的对象,但是既然是重用(reuse)就涉及对象保存的问题,通常将用来缓存对象的应用称为对象池(ObjectPool),通过这个途径我们可以大大地提高应用的速度,减少内存需求,例如,我们经常提到的JDBC连接池与EJB实例池等概念都属于对象池的范畴。
通过使用对象池的办法来提高系统性能,节约系统内存开销是一个非常简易、高效的方法,对象池通过对其所保存对象的共享与重用,缩减了应用线程反复重建、装载对象的过程所需要的时间,并且也有效地避免了频繁垃圾回收带来的巨大系统开销。
...
5 共享静态变量存储空间
我们知道类中的静态变量(Static Variable)在程序运行期间其内存空间对所有该类的对象实例而言是共享的,因此在某些时候为了节省系统内存开销,共享资源,将类中的一些变量声明为静态变量,可以通过下面的例子发现合理应用静态变量带来的好处:
public class WeekA {
static class Data {
private int week;
private String name;
Data(int i, String s) {
month ...
4 数组的创建
数组空间的申请分为显式申请与隐式申请两种。显式申请是指在程序中直接给出数组的类型与长度,例如:
... ...
int [] intArray = new int[1024];
... ...
上面的这行代码就是显式地向系统一次性 ...
3 Java中的析构方法finalize
在C++程序设计中有构造与析构的概念,并且是内存管理技术中相当重要的一部分,而在Java语言中只有构造的概念,却没有析构的概念。这是因为理论上JVM负责对象的析构工作也就是之前讲到的垃圾回收的概念,其实Java语言中的finalize 方法类似于C++语言中的析构函数。finalize 方法是Java语言根基类Object类的一个方法,这个方法是保护类性质的方法(protected),由于在Java应用中开发的所有类都为Object的子类,因此用户类都从Object对象中继承了该方法。因此我们在子类中可以调用父类中的final ...
2 JVM中对象的生命周期
在JVM运行空间中,对象的整个生命周期大致可以分为7个阶段:创建阶段(Creation)、应用阶段(Using)、不可视阶段
(Invisible)、不可到达阶段(Unreachable)、可收集阶段(Collected)、终结阶段(Finalized)、释放阶段
(Free)。上面的这7个阶段构成了JVM中对象的完整的生命周期。下面分别介绍这7个阶段。
2.1 创建阶段
在对象创建阶段,系统要通过下面的步骤,完成对象的创建过程:
(1) 为对象分配存储空间。
(2) 开始构造对 ...