- 浏览: 324874 次
- 性别:
- 来自: 西宁
最新评论
-
sassds:
佩服啊 高手
分享一款js特效 -
bhjackson:
学习啦,能否详细介绍下回溯的过程?O(∩_∩)O谢谢
分享回溯法- 找n个数中r个数的组合 -
zk7019311:
了解了解。。。。。
业务层代码复用的一点建议 -
lijie1819:
看到LZ的设计思想,感觉和抽象工厂模式有点相像。
业务层代码复用的一点建议 -
wjjcml1982:
酷毙了!楼主太强悍了!
分享一款js特效
文章列表
【归纳法 - 发现规律】
【归纳法 – 1. 问题步步细化描述,算法是需要模拟过程就很容易发现规律。
2. 从最简单的例子入手。小规模问题 –> 大规模问题。
】
【回溯思想】
1. 先设计出自己想要的结果或目标
2. 从结果反向逆推
3. 逐步回溯
4. 步步描述
5. 到源头
【问题分级
1. 高难度的问题在自己空闲状态最佳的时候解决
2. 问题拆分子问题
3. 优先解决的最主要的子问题是什么
4. 接着解决的主要的子问题是什么
5. 排除其他顾虑,一次只做一件事情
6. 优先解决最核心最重要的问题
】
1. ArrayList
基于数组方式实现,无容量的限制。
在执行插入元素时可能要扩容,在删除元素时并不会减少数组的容量。
如果希望相应的缩小数组容量,可以调用trimToSize()
在查找元素时要遍历数组,对于非null的元素采取equals的方式寻找。
非线程安全。
2. LinkedList
基于双向链表机制实现。
元素的插入、移动较快。
非线程安全。
3. Vector
基于Object数组的方式来实现的。
基于synchronized实现的线程安全的ArrayList。
在插入元素时容量扩充的机制和ArrayLis ...
1.表设计:
数据库要满足基本范式;
选择合适的数据类型:尽量定长;
不要使用无法加索引的类型作为关键字段,比如text类型;
为了避免联表查询,有时候可以适当的数据冗余,比如邮箱、姓名这些不容易更改的数据;
选择合适的表引擎,有时候合MySAM适和,有时InnoDB适合;
最好每个表都建立有auto_increment字段,建立合适的数据库索引以保证查询性能;
最好给每个字段设定default值。
2. SQL
能够快速缩小结果集的where条件写在前面,如果有恒量条件也尽量写在前面;
尽量避免使用group by、distinct、or、in等语句 ...
1. 数据采掘要预先计划
我所在的市场部门一度要处理8 万多份联系方式,同时填写每个客户的必要数据(这绝对不是小
活)。我从中还要确定出一组客户作为市场目标。当我从最开始设计表和字段的时候,我试图不
在主索引里 ...
1. 检查各种变化
我在设计数据库的时候会考虑到哪些数据字段将来可能会发生变更。比方说,姓氏就是如此(注
意是西方人的姓氏,比如女性结婚后从夫姓等)。所以,在建立系统存储客户信息时,我倾向于
在单独的一个数据表里存储姓氏字段,而且还附加起始日和终止日等字段,这样就可以跟踪这一
数据条目的变化。
— Shropshire Lad
2. 采用有意义的字段名
有一回我参加开发过一个项目,其中有从其他程序员那里继承的程序,那个程序员喜欢用屏幕上
显示数据指示用语命名字段,这也不赖,但不幸的是,她还喜欢用一些奇怪的命名法,其命名采
用了匈牙利命名和控制序号的组合形式,比如cbo1、 txt2、txt2_ ...
1. 考察现有环境
在设计一个新数据库时,你不但应该仔细研究业务需求而且还要考察现有的系统。大多数数据库
项目都不是从头开始建立的;通常,机构内总会存在用来满足特定需求的现有系统(可能没有实
现自动计算)。显 ...
[置顶] 定制开发的弊端
- 博客分类:
- SystemOrProject
对于很多软件公司来说,除了选择市场占有率很高的产品和一些标准产品外,定制开发也是一种较好的选择。
定制开发的好处在于可以最大限度地满足企业个性化的需求,保以保证系统的成功实施。但存在的问题也是很明显的,系统的稳定性、运行效率、系统的扩展、与其他系统协调问题,对业务和管理是否有提升等等。
如果各系统分批实施,为满足不同客户的个性化需求。那么很可能出现如下情况,各系统间的集成性不好,数据共享性差,系统前端表现层不协调,系统升级困难,系统业务处理速度变慢(由于没有标准性的集成)。
1. 按时备份
2. 系统安全
3. 任务自动化
4. 有效监控
5. 精通命令行,尽量避免使用UI
6. 快速恢复数据
偶尔翻开java编程思想看看多线程的篇章,意焦突然卡在某个问题上不动了。这个问题看过多少次多少遍了,此刻才领会,顿时感觉自己好笨拙的思维。
问题是这样的:一般来说,在多线程程序中,某个任务在持有某对象的锁后才能运行任务,其他任务只有在该任务释放同一对象锁后才能拥有对象锁,然后执行任务。于是,想到,同一个任务在持有同一个对象的锁后,在不释放锁的情况下,继续调用同一个对象的其他同步(synchronized)方法,该任务是否会再次持有该对象锁呢?
答案是肯定的。同一个任务在调用同一个对象上的其他synchronized方法,可以再次获得该对象锁。
多线程编程是一件 ...
web前台的页面设计者也能设计出复用性很高的页面布局来。
比如,传统的页面布局更完美的被沿袭下来,不外乎上下左右中的分割布局。一个页面
可以被分割成header,left,center,right板块。各板块的内容布置都已经很清晰。
于是,在JSP页面里,抽出共有的页面来。
比如,header.jsp 头部区域
leftMenu.jsp 左部区域
footer.jsp 页脚
再比如,共有组件
cutePage.jsp 分页
publicUL.jsp 公有标签
publicTabl ...
传统的编写业务层的service类是为每个实体对象生成一个DAO,然后再每个实体DAO对应的service类中注入DAO属性作为服务层组件。这样做代码的可读性很好,层次分明,逻辑清晰。是一种较好的设计方式。
如果考虑到代码软件最本质的特征-复用。减少不必要的编写。我们可以充分考虑Java语言的特征,诸如反射、多态、继承,以达到最大程度的重构。
由此,我们在编写DAO层代码时,可设计一个BaseDAO类,抽象出最顶层的公有行为。
public void save(Object entityObj);
public void update(Object ...
看过很多的书,心理学方面的,成功学方面的,神经学方面的。。。内容颇是富足,十足的精神大餐。突然心血来潮,写一下自己感受。
世间的一切只不过时精神事务的变迁,万事万物唯一不变的只有变化。生活中的 ...
在业务对象执行某个方法时,在业务方法前和方法后均让操作者执行相应操作(切面编程), 操作者和业务者均面向接口编程,并在代理类中
实现解耦。即操作方法和业务方法的执行能够最大限度独立。
1. 先定义日志等级:
package boke.javamode.log;
/**
* 日志等级
*
* @since jdk1.6
* @author 毛正吉
* @version 1.0
* @date 2010.07.10
*
*/
public enum Level {
INFO,WARN,DEBUG;
}
2. 日志类-可扩展
package bo ...
如何做一个实时动态Swing折线图呢?
由于脑海中构想了如下图这样一个画面,所以经过查资料写代码,实现了视觉化的图景。分享之。。。
public class JFSwingDynamicChart extends JFrame implements ActionListener {
private TimeSeries series;
private double lastValue = 100.0;
/**
* 构造
*/
public JFSwingDynamicChart() {
getContentPane().setBackground(C ...
<div id="ts">
</div>
<script>setInterval("ts.innerHTML=new Date().toLocaleString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay());",1000);
</script>