Welcome 微信登录

首页 / 软件开发 / JAVA

Java中的外观模式

Java中的外观模式

Java中的外观模式2013-12-05 csdn BruceZhang外观模式(Facade)外观模式的意图是:为子系统提供一个接口,便于它的使用。解释:简单的说,外观模式就是封装多个上层应用需要的方法,使得上层调用变得简单,为上层提供简单的 接口,是设计模式中一种比较简单的设计思想,但是,也是最常用的一种设计模式。举例:当 你想吃橘子的时候,你需要做那几件事呢?1:去买橘子2:剥橘子3:吃橘子这样去一步一步的调用各个方法是不是觉得很麻烦呢?所以,我们需...
Java中利用接口实现回调

Java中利用接口实现回调

Java中利用接口实现回调2013-12-05 csdn BruceZhang在 Java 支持方法指针之前,Java 接口不能提供一种实现回调的好方法。如果您习惯于传递在事件驱动编 程模型中调用的函数指针,则您会喜欢本技巧。 熟悉 MS-Windows 和 X Window System 事件驱动编程 模型的开发人员,习惯于传递在某种事件发生时调用(即“回调”)的函数指针。Java 的面向对象模型目前 并不支持方法指针,这样似乎就...
Java的接口和继承

Java的接口和继承

Java的接口和继承2013-12-05 csdn BruceZhang1.JAVA里没有多继承,一个类只能有一个父类。而继承的表现就是多态。一个父类可以有多个子类,而在 子类里可以重写父类的方法(例如方法print()),这样每个子类里重写的代码不一样,自然表现形式就不一 样。这样用父类的变量去引用不同的子类,在调用这个相同的方法print()的时候得到的结果和表现形式就不 一样了,这就是多态,相同的消息(也就是调用相同的方法)会有不同的结果。举例说明:...
Java的垃圾回收

Java的垃圾回收

Java的垃圾回收2013-12-051. 垃圾回收的意义在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分 配给其它对象;而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的 一个系统级线程会自动释放该内存块。垃圾回收意味着程序不再需要的对象是"无用信息",这些信 息将被丢弃。当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用。事实上 ,除了释放没...
Java内存管理之软引用(Soft Reference)

Java内存管理之软引用(Soft Reference)

Java内存管理之软引用(Soft Reference)2013-12-05 csdn BruceZhang软引用(Soft Reference)的主要特点是具有较强的引用功能。只有当内存不够的时候才回收这类内 存,因此在内存足够的时候,他们通常不被回收。另外,这些引用对象还能保证在Java 抛出 OutOfMemory异常之前,被设置为null。他可以用于实现一些常用资源的缓存,实现Cache的功能,保证最大限 度的使用内存而不引起OutOfMemory...
JAVA创建线程池

JAVA创建线程池

JAVA创建线程池2013-12-05 csdn BruceZhang线程池的作用:线程池作用就是限制系统中执行线程的数量。根据系统的环境情况,可以自动或 手动设置线程数量,达到运行的最佳效果;少了浪费了系统资源,多了造成系统拥挤效率不高。用线程池控制 线程数量,其他线程排队等候。一个任务执行完毕,再从队列的中取最前面的任务开始执行。若队列中没有等 待进程,线程池的这一资源处于等待。当一个新任务需要运行时,如果线程池中有等待的工作线程,就可以开 始运行了;...
Java创建线程池两种不同方法的比较

Java创建线程池两种不同方法的比较

Java创建线程池两种不同方法的比较2013-12-05用java做抓取的时候免不了要用到多线程的了,因为要同时抓取多个网站或一条线程抓取一个网站的话实在太慢,而且有时一条线程抓取同一个网站的话也比较浪费CPU资源。要用到多线程的等方面,也就免不了对线程的控制或用到线程池。 我在做我们现在的那一个抓取框架的时候,就曾经用过java.util.concurrent.ExecutorService作为线程池,关于ExecutorService的使用代码大概如...
Java 中的关键字 final

Java 中的关键字 final

Java 中的关键字 final2013-12-05 csdn BruceZhangfinal根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修 饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。final类不 能被继承,没有子类,final类中的方法默认是final的。final方法不能被子类的方法覆盖,但可以被继 承。final成员...
java静态方法和实例方法的区别

java静态方法和实例方法的区别

java静态方法和实例方法的区别2013-12-07 csdn BruceZhang静态方法和实例方法的区别主要体现在两个方面:在外部调用静态方法时,可以使用"类名. 方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就 是说,调用静态方法可以无需创建对象。静态方法在访问本类的成员时,只允许访问静态成员(即静 态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限...
java的线程机制(一) 创建线程

java的线程机制(一) 创建线程

java的线程机制(一) 创建线程2013-12-07 cnblogs 文酱现在将1年前写的有关线程的文章再重新看了一遍,发现过去的自己还是照本宣科,毕竟是刚学java的人, 就想将java的精髓之一---线程进制掌握到手,还是有点难度。等到自己已经是编程一年级生了,还是无法将 线程这个高级的概念完全贯通,所以,现在趁着自己还在校,尽量的掌握多点有关线程机制的知识。我们以一个简单的例子开始下手:public class SwingTypeTester ex...
java的线程机制(二) Thread的生命周期

java的线程机制(二) Thread的生命周期

java的线程机制(二) Thread的生命周期2013-12-07 cnblogs 文酱之前讲到Thread的创建,那是Thread生命周期的第一步,其后就是通过start()方法来启动Thread,它会 执行一些内部的管理工作然后调用Thread的run()方法,此时该Thread就是alive(活跃)的,而且我们还可以通 过isAlive()方法来确定该线程是否启动还是终结。一旦启动Thread后,我们就只能执行一个方 法:run(),而run()方...
Java线程机制(三) synchronized和volatile的使用

Java线程机制(三) synchronized和volatile的使用

Java线程机制(三) synchronized和volatile的使用2013-12-07 cnblogs 文酱现在开始进入线程编程中最重要的话题---数据同步,它是线程编程的核心,也是难点,就算我们理解了 数据同步的基本原理,但是我们也无法保证能够写出正确的同步代码,但基本原理是必须掌握的。要 想理解数据同步的基本原理,首先就要明白,为什么我们要数据同步?public class CharacterDisplayCanvas extends JComp...
Java线程机制(五) 等待与通知机制

Java线程机制(五) 等待与通知机制

Java线程机制(五) 等待与通知机制2013-12-07 cnblogs 文酱在之前我们关于停止Thread的讨论中,曾经使用过设定标记done的做法,一旦done设置为true,线程就会 结束,一旦为false,线程就会永远运行下去。这样做法会消耗掉许多CPU循环,是一种对内存不友好的行为。java中的对象不仅拥有锁,而且它们本身就可以通过调用相关方法使自己成为等待者和通知者。Object对象本身有两个方法:wait()和notify()。wait()...
层层递进Struts1(一)之由Servlet引入Struts

层层递进Struts1(一)之由Servlet引入Struts

层层递进Struts1(一)之由Servlet引入Struts2013-12-07 李达 在说Struts1之前,我们先来使用Servlet编写一个程序从而了解Struts产生原因和用途:一个简单的增删 改查,我们来看一下使用Servlet是如何实现的,为了形象说明,我们从最基本的开始写,然后逐步递进。第一版这一版我们使用最常规的做法,增删改查每个功能都使用自己的Servlet,内容如下:文件树index.jsp<form action="...
<< 271 272 273 274 275 276 277 278 279 280 >>