- 浏览: 49069 次
- 性别:
文章列表
今天开始带两个实习生做php
主要一直做java,没有怎么接触过php,挺担心把小孩带到错误的思想里,
自己先好好研究吧。
前台打算用smarty。
加油。
追加1:
终于有点进展了.哎,担心把小孩带不好啊.
java设计模式之观察者模式(1)和 java设计模式之观察者模式(2)
都简单的介绍了观察者模式。
但是有局限,观察者是固定的,观者的行为也是固定的,而且代码耦合程度特别高,首先我没有使用接口,我前两篇只是讲一下观察者的概念大概是什么情况,解决观察者固定这个问题我们可以用容器,解决固定行为的问题,我们可以用aop解决,这里不多说了
现在讲下java 种已经提供了java.util.Observable类(被观察者)和java.util.Observer接口(观察者)。
比如三国时期,刘备和孙权联合抗击曹操。
假设曹操带领大军来攻击孙权,
孙权和刘备都要观察曹操的动静,因为他们 ...
大家看这篇文章的时候应该看过[java设计模式之观察者模式(1)]了吧,应该会有疑问吧。
如果大家仔细看了[java设计模式之观察者模式(1)],应该会看到一个死循环,这样你运行几次试试,你的机器很快会很卡,哈哈,而且(1)中的代码是面向过程的。
既然我们知道了错误,那我们应该怎么样修正呢。
我们用高科技手段,做一个芯片植入到对手的脑袋里,哈哈
开始改造代码。
我们先制作芯片:
package spring3.event;
public class Chip {
// 我是芯片报告的对象
private Me me = new Me();
publi ...
java设计模式之观察者模式
以前看到一本介绍设计模式的书,名字我忘记了,要不就可以推荐给大家了。
下面的的讲解和示例,也是出自于那个书中的,凭记忆写给大家,如有不正确的,大家给我提意见我改正。
不说闲话了,进入正题。
引入一段孙子的话:知己知彼,百战不殆。
不知彼而知己,一胜一负。
不知必不知己,每战必殆。
了解自己很简单,因为是自己,那怎么了解他人每天行动呢,只能给他人身上安装监听器。
我们拿程序来说明孙子老爷爷的话。
首先定义一个他:Hi ...
昨天打了个鸡蛋,哈哈,做了个鸡蛋面膜
加了点盐,听说去死皮,哈哈,没有浪费。
程序员要保持健康年轻乐观的心态,哈哈
spring 国际化(2)
- 博客分类:
- spring 国际化(2)
大家看了我写的spring 国际化(1)后,应该会发现如果要获取资源文件的信息时,需要将配置文件中的资源文件bean注入到你正在操作的bean以后,才能使用。
spring的做法是将国际化资源作成系统级别的,对任何组件都进行开放。
实现方法如下:
org.springframework.context.ApplicationContext这个接口也继承了org.springframework.context.MessageSource接口
spring容器在启动时会调用initMessageSource()方法,它的作用就是初始化容器中的国际化资源。
根据反射机制,从BeanDefi ...
spring 国际化(1)
- 博客分类:
- spring 国际化(1)
spring中提供了两个主要的国际化支持类
1,org.springframework.context.support.ResourceBundleMessageSource
2,org.springframework.context.support.ReloadableResourceBundleMessageSource
他们都是基于java的java.util.ResourceBundle基础类实现,
都实现了org.springframework.context.MessageSource接口。
(ResourceBundle加载资源时,按照这个顺序查找资源:
①指定lo ...
有些应用由于需求,将配置信息放在数据库中,这样可以方便管理,同时也可以通过系统的管理界面动态的维护系统。基于这样的需求,引用bean的属性是一个很好的解决方案。
1,首先我们建立一个从db取得系统参数的类,这里只给了一个模拟。
package spring3.useBeanProp;
public class SystemConfigFromDB {
private int sessionTimeOut;
private int maxPageNum;
public void init() {
// 假设下面的值从db获取的
setSessionTi ...
这篇文章和下面两篇文章有关联,请先阅读下面两篇文章。
http://xieyan30.iteye.com/admin/blogs/1831311
http://xieyan30.iteye.com/admin/blogs/1831034
说到spring应用外部属性文件,有时我们需要对外部属性文件中特殊的信息进行加密处理,但是spring的PropertyPlaceholderConfigurer类没有提供对密文版的属性文件支持,所以我们需要自己去扩展这个类。
示例:
1,对jdbc.properties中的userName,password进行加密处理。同时演示了prope ...
DES加密解密工具类
- 博客分类:
- DES加密解密工具类
1,DES加密解密工具类
package spring3.pripertyFile;
import java.security.Key;
import java.security.SecureRandom;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class DESUtils {
private static Key key;
p ...
spring使用外部属性文件
- 博客分类:
- spring使用外部属性文件
在进行数据源或者邮件服务器等资源的配置时,可以直接在spring配置文件中用户名,密码,连接地址等配置信息,但是更好的一种做法是将这些配置信息独立到一个外部属性文件中。
优点:
1,减少维护的工作量。资源的配置信息可以被多个应用共享,如果需要发生改变,只需要调整这个独立的外部资源文件。
2,使部署更简单。在软件部署时,应用部署人员只需要修改这个独立的外部属性资源文件即可。
(一)直接将配置信息写在xml配置文件中
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns ...
从m个数里面取n个数的算法:
这里只说一种.网上也有例子.
题目:
1到19取任意个数字,求和为20的组合.
算法分析:
1,定义两个数组,一个存放真实的值--(arrVal),一个存放每个值对应的flag--(arrFlag);
(这里也可以用一个数组,可以用arrFlag数组下标代替1到19,有无缺点自己可以去衡量下,主要看自己的需求。)
2,arrFlag(存放flag的数组),值为0代表arrVal数组对应下标的值没有被选中,反之,值为1被选中。
3,初期化,将arrFlag数组的前n个值设置为1,代表第一个组合。
4,从左到右开始扫描arrFlag数 ...
周六在家没事,突然想写些jquery玩,有想学习jquery的一起学习吧,我会持续更新的。
2012/10/27 18:08 初次上传 介绍了一部分选择器,add(),addClass()。
2012/10/29 21:25 追加了部分选择器介绍
2012/10/30 21:36 追加了部分选择器介绍