零散笔记


(1)

常见配置数据保存方式:

a. 数据库表方式。如,数据库表中可以直接保存树结构,描述被存储数据。

b. 文件方式。如,XML 配置文件。

c. 注解方式。


(2)

同步、异步和互斥在操作系统中的概念及其区分?


(3)

反射与调用(如回调函数)的区别?


部分解决


节选链接:http://bbs.csdn.net/topics/390153121

反射跟常规调用的主要差异,是反射可以不需要定义接口。


 只需要直接约定一个函数即可,比如:
 public void instanceService(Object callbackHandler, String methodName) {

 调用时则:
 Method m = callbackHandler.getClass().getDeclaredMethod(methodName); 
 m.invoke(callbackHandler);

 另一种方式则是直接传递回调的类名和函数名,但比较少用,因为这样做的话,回调主体不明确:
 public void instanceService(String callbackClass, String methodName) 


(4) 


在研究与学习某项技术与一些问题的情况下,仔细阅读与理解相关 API 是设计解决方案的前提。


(5)

在分析设计时,需从业务流程和需求的角度多考虑概念及其包含属性的处理,而不是完全从实现的角度思考问题。


(6)

在 Java 构造函数中的异常处理是否与一般情况相同?


(7)

设计模式六原则的内容及其理解是什么?


(8)

Maven 报错时可查看本地仓库中的包下载是否完整。若是由于下载包不完成造成的,可重新下载或手动下载到对应路径中。

查看 Maven 相关配置时,常见查看 setting.xml 文件和 pom.xml 文件。


(9)

依赖与关联的区别

依赖
可以简单的理解,就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、、临时性的、非常弱的,但是B类的变化会影响到A;比如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖;表现在代码层面,为类B作为参数被类A在某个method方法中使用; 

关联
他体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,比如我和我的朋友;这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的、关联可以是单向、双向的;表现在代码层面,为被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量;


(10)

设计模式中的钩子方法类似回调函数?


(11)

在遇到 XML 工具类的设计时,以 Dom4J 为例,经常会遇到不同的结构的 XML 配置文件。

如,

<root>
  <elm>
    <child1>value1</child1>
  </elm>
</root>

<root>
  <node1>value</node1>
  <node2>value</node2>
</root>


那么,对应需要得到的结果对应类(如,JavaBean)或值可能不同。此时,应该如何设计对应的工具类及其方法?


思路1,添加所需要的 JavaBean 以方便操作整个节点。此时也可考虑 XML 文件的序列化框架,如 xStream 。

思路2,将某些查询方法设计为返回字符串集合,如,Map<String, String> 或 List<String> 。此方法只单纯的获得查询值。

思路3,在完成设计结构的 XML 配置文件基础之上,编写或利用图形化工具(如在 Eclipse 中)完成对应的 schema 文件,然后,利用 JDK 提供的 xjc 命令便能生成对应的配置文件解析类。再使用 JAXB 反序列化配置文件,从而直接生成相应 JavaBean 对象。另,JAXB 为Java XML 绑定框架。

其他建议?


(12)

抽取单一功能为函数,抽取单一为类,重构?


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值