- 浏览: 150240 次
- 性别:
- 来自: 成都
最新评论
-
zhuguopei_java:
return name.equals(p.name()) &a ...
1、集合练习 -
392214559:
引用
1、数据结构与算法
文章列表
一、软件包 java.math
提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。
BigInteger 除提供任意精度之外,它类似于 Java 的基本整数类型,因此在 BigInteger 上执行的操作不产生溢出,也不会丢失精度。
除标准算法操作外,BigInteger 还提供模 (modular) 算法、GCD 计算、基本 (primality) 测试、素数生成、位处理以及一些其他操作。
BigDecimal 提供适用于货币计算和类似计算的任意精度的有符号十进制数字。
BigDecimal 允许用户对舍入行为 ...
1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
答:可以有多个类,但是只能有一个public的类,并且public的类名必须与文件名一致
2、说说&和&&的区别
&和&&都可以用作逻辑运算符,表示逻辑与(and),
当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,
例如,对于if(str != null ...
一、交通灯管理系统的项目需求
模拟实现十字路口的交通灯管理系统逻辑,具体需求如下:
异步随机生成按照各个路线行驶的车辆
例如:
由南向而来去往北向的车辆....直行车辆
由西向而来去往南向的车辆....右转车辆
由东向而来去往南向的车辆....左转车辆
。。。
信号灯忽略黄灯,只考虑红灯和绿灯
应考虑左转车辆控制信号灯,右转车辆不受信号灯控制
具体信号灯控制逻辑与现实生活中普通交通灯控制逻辑相同,不考虑特殊情况下的控制逻辑
注:南北向车辆与东西向车辆交替放行,同方向等待车辆应先放行直行车辆而后放行左转车辆
每辆车通过路口时间为1秒(提示:可通过线程slee ...
一、银行业务调度系统的项目需求
模拟实现银行业务调度系统逻辑,具体需求如下:
银行内有6个业务窗口,1-4号窗口为普通窗口,5号窗口为快速窗口,6号为VIP窗口
有三种对应类型的客户:VIP客户,普通客户,快速客户(交水电费,话费。。。)
异步随机生成各种类型的客户,生成各类型用户的概率比例为:VIP客户:普通客户:快速客户=1:6:3
客户办理业务所需时间有最大值和最小值,在该范围内随机设定每个VIP客户以及普通客户办理业务所需的时间,快速客户办理业务所需时间为最小值(提示:办理业务的过程可通过线程sleep的方式模拟)
各类型客户在其对应窗口按顺序依次办理业务
随机生成 ...
一、代理的概念与作用简介
生活中的代理
武汉人从武汉的代理商手中买联想电脑和直接跑到北京联想总部买
这两种方式都解决了买电脑的问题,但是从代理商手上买肯定好处要多点
程序中的代理
要为已存在的多个具有相同接口的目标类的各个方法增加一些系统功能
如:异常处理,日志,计算方法的运行时间,事物管理等等,该怎么做呢?
编写一个与目标类具有相同接口的代理类
代理类的每个方法调用目标类的相同方法,并在调用方法时加上系统功能代码
如果采用工厂模式和配置文件的方式进行管理
则不需要修改客户端程序,在配置文件中配置是使用目标类还是代理类
这样以后很容易切换
譬如:想要日志功能时 ...
一、AOP简介
AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向方面(切面)编程
它将分布在各个类中具有相同功能的代码片段整合到一起,由单独的功能模块完成
不仅减少了代码的重复量,降低了耦合性,也提高了代码的可维护性
AOP的作用就是在可以顺序执行的程序中
插入某些特殊的逻辑来实现一些特殊的功能
如:日志,事物,安全等都可以很方便的使用AOP来实现
不要认为AOP会取代OOP,它只是OOP的补充
但就像当年的OOP一样,它很可能引发一场软件产业的革命
AOP把软件系统分成两部分:核心关注点和横切关注点
所谓核心关注点 ...
一、JAVA工厂模式
工厂模式专门负责将大量有共同接口的类实例化。
工厂模式可以动态决定将哪一个类实例化,不必事先知道每次要实例化哪一个类
二、工厂模式的几种形态
简单工厂(Simple Factory)模式,又称静态工厂方法模式(Static Factory Method Pattern)
工厂方法(Factory Method)模式,又称多态性工厂(Polymorphic Factory)模式或虚拟构造子(Virtual Constructor)模式
抽象工厂(Abstract Factory)模式,又称工具箱(Kit 或Toolkit)模式
三、简单工 ...
一、引子
这是一个很简单的模式,却被非常广泛的使用。之所以简单是因为在这个模式中仅仅使用到了继承关系。
继承关系由于自身的缺陷,被专家们扣上了“罪恶”的帽子。
“使用委派关系代替继承关系”,“尽量使用接口实现而不是抽象类继承”等等专家警告,让我们这些菜鸟对继承“另眼相看”。
其实,继承还是有很多自身的优点所在。只是被大家滥用的似乎缺点更加明显了。
合理的利用继承关系,还是能对你的系统设计起到很好的作用的。
而模板方法模式就是其中的一个使用范例。
二、定义
GOF给模板方法(Template Method)模式定义一个操作中的算法的骨架,而将一些步骤延迟到子 ...
一、什么是类加载器?
与普通程序不同的是Java程序class文件并不是本地的可执行程序。
当运行Java程序时首先运行JVM
然后再把Java class加载到JVM里头运行
负责加载Java class的这部分就叫做Class Loader。
动态的类加载是JVM的一个重要特征,它为Java平台提供了在运行时间安装软件组件的能力。
JVM本身包含了一个ClassLoader称为Bootstrap ClassLoader
和JVM一样BootstrapClassLoader是用本地代码实现的
它负责加载核心JavaClass即所有java.*开头的类
另外J ...
一、元数据
所谓元数据就是数据的数据。也就是说,元数据是描述数据的。
就象数据表中的字段一样,每个字段描述了这个字段下的数据的含义
元数据可以用与创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查
许多元数据工具,如XDocklet,讲这些功能添加到核心java语言中,暂时成为java变成功能的一部分
一般来说,元数据的好处分为三类:
-文档编制,编译器检查和代码分析
--代码级文档最常被引用
---元数据提供了一种有用的方法来指明方法是否取决于其他方法,他们是否完整,特定类是否必须引用其他类,等等
二、什么是注解
java中的注解就是 ...
一、BeanUtils
Sun公司的内省API过于繁琐,
所以Apache组织结合很多实际开发中的应用场景开发了一套简单、易用的API——BeanUtils
BeanUtils提供对 Java反射和自省API的包装。
其主要目的是利用反射机制对JavaBean进行各种操作
BeanUtils操作的JavaBean类必须声明为public
为了使用BeanUtils,需要导入commons-beanutils-1.8.3.jar和commons-logging-1.1.2.jar
commons-beanutils下载地址:http://commons.apache.or ...
一、软件包 java.beans
包含与开发 beans 有关的类,即基于 JavaBeansTM 架构的组件
二、PropertyDescriptor
PropertyDescriptor 描述 Java Bean 通过一对存储器方法导出的一个属性
public class PropertyDescriptor extends FeatureDescriptor
{
//构造方法
//通过调用 getFoo 和 setFoo 存取方法,为符合标准 Java 约定的属性构造一个 PropertyDescriptor
publ ...
一、JavaBean
JavaBean是一种特殊的java类,主要用于传递数据信息
这种java类中的方法主要用于访问私有的字段,且方法名符合某种命名规则
如果要在两个模块之间传递多个信息,可以将这些信息封装到一个JavaBean中
这种JavaBean的实例对象通常称之为值对象(Value Object,简称VO)
这些信息在类中用私有字段来存储
如果读取或设置这些字段的值,则需要通过一些相应的方法来访问
JavaBean的属性是根据其中的set和get方法来确定的
而不是根据其中的成员变量
如果方法名为setName,去掉set前缀,剩余部分就是属性名
如果剩 ...
一、反射的应用-->实现框架功能
框架,比如:
我做房子卖给用户住,由用户自己安装门窗和空调
我做的房子就是框架,用户需要使用我的框架,把门窗插入进我提供的框架中
框架与工具有区别,工具类被用户的类调用,而框架则是调用用户提供的类
框架要解决的核心问题,比如:
我在写框架(房子)的时候,你这个用户可能还在上小学
还不会编程呢,我写的框架程序怎样能调用到你以后写的类(门窗)呢?
因为在写程序时无法知道要被调用的类名,
所以,在程序中无法直接new某个类的实例对象,就需要用反射方式来做
二、综合案例
采用配置文件加反射的方式创建ArrayLi ...