摘要:
本节从以下几个方面来详细讲解代理模式:代理模式的核心思想。何时使用代理模式。Java中的应用-Java动态代理机制。12.3.1 代理模式的核心思想代理模式就是给某一个对象提供一个代理对象,并由代理对象控制对源对象的引用。就是一个人或者一个机构代替另一个人或者另一个机构去采取一些行动。代理模式中的代理者就好比中介机构,它提供了对被代理对象的一切事物。代理模式与适配器模式和装饰器模式相似,它们之间的区别是:适配器模式是将一个类A转换成另一个类B。装饰器模式是为一个类A增加新的功能,从而变成类B。代理模式是为一个类A转换操作类B。它们三者的限制条件层层递进,递进关系如图12-16所示。代理模式中的 阅读全文
摘要:
在对已有的方法进行使用的时候需要对原有方法进行改进或者修改,这时候有两种改进选择:修改原有方法来适应现在的使用方式,或者使用一个"第三者"方法来调用原有的方法,并且对方法产生的结果进行一定的控制。第一种方法明显违背了"对扩展开放、对修改关闭"的开闭原则,而且在原有方法中进行修改可能使得原来类的功能变得模糊和多元化,而使用第二种方式可以将功能划分得更加清晰,有助于后面的维护。所以在一定程度上第二种方式是一个比较好的选择!这就是代理模式。如果按照使用目的来划分,代理有以下几种。远程(Remote)代理:为一个位于不同的地址空间的对象提供一个局域代表对象。这个 阅读全文
摘要:
刚在51CTO.COM看到一篇讲观察者模式的文章,感觉上面的图示很生动,于是就转了过来,图示出自:http://lavasoft.blog.51cto.com/62575/201617图1:用户订阅气象信息的服务图2:用户得到气象信息图3:观察者模式类图图4:观察者信息展示类图 阅读全文
摘要:
C++编程语言是一个应用广泛的计算机应用语言,它功能强大,在一定程度上大大提高了程序开发效率。C++单例模式也称为单件模式、单子模式。使用单例模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出等。单例模式有许多种实现方法,在C++中,甚至可以直接用一个全局变量做到这一点,但这样的代码显得很不优雅。定义一个单例类,使用类的私有静态指针变量指向类的唯一实例,并用一个公有静态方法获取该实例。如下面的类定义:class CSingleton:{ // 其它成员public: static CSingleton * Get 阅读全文
摘要:
1. 单例的目的是什么? 这个应该很明显,保证一个类只有单一的实例,也就是说你无法通过New或CreateInstance来创建这个类的一个新实例。2. 单例的好处在哪里? 当一个对象在程序内部只能有一个实例的时候,它可以保证我们不会重复创建,而是始终指向同一个对象。3. 怎么用?单例模式的实现代码如下: namespace SinglePattern{ public class SingleClass { private static SingleClass instance; protected SingleClass(){} public static SingleClass GetIn 阅读全文
摘要:
下面从以下几个方面来详细讲解外观模式:外观模式的核心思想。何时使用外观模式。Java中的应用。在真实的应用系统中,一个子系统可能由很多类组成。子系统的客户为了满足它们的需要,需要和子系统中的一些类进行交互。客户和子系统的类进行直接的交互会导致客户端对象和子系统之间高度耦合。如图12-18所示,X和Y对子系统内A、B和C都有调用,它们之间是高度耦合。外观模式为子系统提供了一个更高层次、更简单的接口,从而降低了子系统的复杂度和依赖,这使得子系统更易于使用和管理。外观是一个能为子系统和客户提供简单接口的类。当正确地应用外观时,客户不再直接与子系统中的类交互,而是与外观交互。外观承担与子系统中类交互的 阅读全文
摘要:
在复杂的商业社会,你想创业,不懂经济、不懂商业、不懂人情世故、不懂法律边沿,你只有勇气、只有梦想、只有天真,那么也就只有一场空。这20部电影都是商学院学生在学习商科时被要求必须看的影片,其中包括哈佛商学院一直首推的《华尔街》,还有沃顿商学院排第一位的《颠倒乾坤》,斯坦福要求商科学生必看的《锅炉房》。看完之后,你会对商业运行的本质和规则有更深入的了解,对你的职场生涯亦会有不小的帮助。 PS:基本上都是一些比较早期的,也有一些是比较冷门的,但都是职场电影经典之作 最近的《华尔街:金钱永不眠》《社交网络》也是此类职场经典,新作,大家自己品味就好,这里就不列出了。 1.《华尔街》(Wall Stree 阅读全文
摘要:
具体的社保构成比例为: 养老保险:单位每个月为你缴纳21%,你自己缴纳8%; 医疗保险:单位每个月为你缴纳9%,你自己缴纳2%外加10块钱的大病统筹大病统筹主要管住院这块); 失业保险:单位每个月为你缴纳2%,你自己缴纳1%; 工伤保险:单位每个月为你缴纳0.5%,你自己一分钱也不要缴; 生育保险:单位每个月为你缴纳0.8%,你自己一分钱也不要缴; 住房公积金:单位每个月为你缴纳8%,你自己缴纳8%以上,这么算下来, 单位每个月为你缴纳的社保比例应该是21%+9%+2%+0.5%+0.8%+8%=41.3% 你自己每个月为你缴纳的社保比例应该是8%+2%+10块+1%+8%=19%+10块 暂 阅读全文
摘要:
假设你的月收入只有2000元,你也可以过得很好。我帮你把钱分成五份。第一份600元,第二份400元,第三份300元,第四份200元,第五份500元。 第一份,用来做生活费。这么少的生活费,每天只能够分到十几元。早餐一份煮米丝,一个鸡蛋,一杯豆浆。中餐一份快餐,一个水果。晚餐自己开个小灶,煮点饭,加俩菜,睡前一杯奶。这样一个月的伙食大概是500-600。不过,如果你还年轻,身体暂时还没有太多问题,这样的食谱,够你数年内不会有健康问题。 第二份,用来交朋友,扩大你的人际圈。这就宽裕了。你的电话费可以用掉100元。每个月可以请客两次,每次150元。请谁呢?记住,请比你有思想的人,比你更有钱的人,和. 阅读全文
摘要:
public class DateTime{ public DateTime() { } /** * 取年日期时间 * @return String 返回 yyyy-MM-dd HH:mm:ss */ public static String getdate() { SimpleDateFormat formatter_f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date currentTime_f = new Date(); //得到当前系统时间 String new_date_f = formatter_f.form 阅读全文
摘要:
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Scanner;public class MainClass{ public static void method1() { //使用Scanner Scanner scanner=new Scanner(System.in); System.out.print("Please input a number:"); int num=scanner.nextInt( 阅读全文
摘要:
刚学Java,搞不懂Pane和Panel的区别在哪里,看来以英语为母语的人群学编程还是比较有优势的。百度一下,找到了一篇博文对二者有明确的阐述,可惜拒接转载,也许博主不崇尚开源:http://simon.blog.51cto.com/80/122148这里大致说下我的理解。Pane指的是一个独立窗口中的窗格,比如.CHM帮助文档中左边一个索引窗格,右边一个正文窗格;再比如Eclipse左边一个包资源管理器窗格,中间一个编辑器窗格等等。Panel指的是一个面板,用它来对一些控件进行分组,就像组合框控件,即Visual Studio里面用的Group Box Control;而在一些软件界面里面也 阅读全文
摘要:
点击“更改已连接的源代码”,然后找到安装jdk的目录,C:\Program Files\Java\jdk1.6.0_22\src.zipsrc.zip就是是jdk中存放源码的包,确定就可以看到源码了。 阅读全文
摘要:
这几天开始自学Java,搭建Eclipse作为开发环境,发现实在太智能了,貌似对学习无益。于是搜了下,另外搭建了EditPlus上的简易Java开发环境,确实比较适合学习,不足之处是没法配置比较方便的运行Java Applet的用户工具,因为AppletViewer只认HTML文件,不认.class文件。无赖之下只得自己动手写个C语言小程序,通过它自动生成Java Applet对应的HTML文件,然后再使用AppletViewer来运行之。这个小程序我已经上传到115网盘上了,有需要的朋友可以下载使用。进入下载页面:JavaAppletHTML.zip使用方法很简单,解压缩后取出里面的Java 阅读全文
摘要:
可以有以下步骤来编译运行Java applet:1.假设我们的程序叫TestApplet.java,首先在命令行中切换到程序当前所在的目录。2.我们需要编译生成.class文件。命令行中输入:javac TestApplet.java,我们发现有提示:”TestApplet.java 使用或覆盖了已过时的API...“,不过.class文件生成了。3.我们需要写名为TestApplet.html文件。新建TestApplet.txt文件,其内容为(当然自己可以加入其它内容):<HTML> <HEAD> <TITLE>Applet Test</TITLE 阅读全文
摘要:
很多java的初学者都遇到这个问题 AppletViewer是jdk工具,位于jdk安装路径/bin中 使用方法与java.exe一样 若出现以下提示 警告:不能读取 AppletViewer 的属性文件: C:\Documents and Settings\AGUI\.hotjava\properties 使用默认值。 进行读取时出现 I/O 异常: C:\java\HelloApplet (系统找不到指定的文件。) 则可以参考如下步骤 1. 在开始|运行中输入policytool.exe(若不能运行,说明java环境变量设置有问题) 2. 单击“添加规则项目”,进入规则项目页面 3. 单击 阅读全文
摘要:
Eclipse中安装中文插件后,按Ctrl键+鼠标单击查看源码时出现:Unmatched braces in the pattern 解决方法如下: 1.找到Eclipse的安装目录,找到目录中的eclipse.ini文件,打开在文件的最后面加上:-Duser.language=en 2.重启Eclipse,重新附加JDK源码 3.删除eclipse.ini文件中最后加上的 -Duser.language=en 4.重启Eclipse,这时Eclipse恢复到开始时的中中文界面,再查看源码,一切正常 阅读全文
摘要:
前段时间一直用eclipse,用某个老师的话说:爽!确实,用eclipse写代码简直是种享受。即时编译让你可以根据前面的小红叉很容易找到bug所在,当然这种bug不是逻辑的,而是普通的语法错误。我还是初学者,没用到debug。但是我怎么总是犯低级的错误呢?……某天听了一段视频教程,突然之间豁然开朗。老师说初学Java不要用大型的IDE!不然出了小问题都搞不定了!我亲身经历过那种小错折磨人……但是束手无策,只能去google。而且用eclipse像吸毒一样,我把Content Assit设置成为Tab键,那个爽啊!比如想打import,你只要输入前几个字母加上tab,import马上出来。对于比 阅读全文
摘要:
windows xp下配置JDK环境变量:1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:\java\jdk1.5.0_08; 2.安装完成后,右击“我的电脑”,点击“属性”; 3.选择“高级”选项卡,点击“环境变量”; 4.在“系统变量”中,设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击“编辑”,不存在则点击“新建”; 5.JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径D:\java\jdk1.5.0_08,此路径下包括lib,bin,jre等文件夹(此变量最好设置,因为以后运行tomcat,ec 阅读全文
摘要:
Flashbug是一款基于FireBug的火狐插件,这给利用Flex SDK开发程序的人带来了便利。以前只能用FDB命令行来调试,现在有了Flashbug就更直观了。安装Flashbug也非常方便,不过要先给火狐安装FireBug插件,还得给火狐安装Debug版本的Flash播放器。在实际操作中还要注意两点:一、在编译生成swf文件时,要输出成debug版本的文件,如下命令:D:\flex4\bin\mxmlc.exe -debug=true --strict=true main.mxml注意里面-debug=true,加了这一段就能输出debug版本的swf文件。二、要把生成的swf文件嵌入 阅读全文