09 2009 档案

摘要:Cholesky分解:如果A为正定矩阵,那么存在一个对角元素为正的下三角矩阵G,使得A=GGt 阅读全文
posted @ 2009-09-27 23:44 macula7 阅读(160) 评论(0) 推荐(0)
摘要:Cholesky分解:如果A为正定矩阵,那么存在一个对角元素为正的下三角矩阵G,使得A=GGt 阅读全文
posted @ 2009-09-27 23:44 macula7 阅读(174) 评论(0) 推荐(0)
摘要:正交变换:向量范数不变,角度不变(内积不变) Householder变换:已知向量V、X,得到X关于V的垂直向量的对称向量。P=I-2VVt/VtV 对称向量为PX。用于引进0元素而保持范数不变。 Givens变换,有选择的引进0元素。http://zh.wikipedia.org/zh-cn/%E5%90%89%E6%96%87%E6%96%AF%E6%97%8B%E8%BD%AC 初等变换(高... 阅读全文
posted @ 2009-09-27 23:36 macula7 阅读(475) 评论(0) 推荐(0)
摘要:正交变换:向量范数不变,角度不变(内积不变) Householder变换:已知向量V、X,得到X关于V的垂直向量的对称向量。P=I-2VVt/VtV 对称向量为PX。用于引进0元素而保持范数不变。 Givens变换,有选择的引进0元素。http://zh.wikipedia.org/zh-cn/%E5%90%89%E6%96%87%E6%96%AF%E6%97%8B%E8%BD%AC 初等变换(高... 阅读全文
posted @ 2009-09-27 23:36 macula7 阅读(237) 评论(0) 推荐(0)
摘要:常量接口 常量接口是对接口的不良使用。类内部使用的某些常量是类的实现细节。实现常量接口是对类的实现细节的泄露。 可以使用不可实例化的类来导出这些常量。 当需要使用的时候使用静态导入的机制来导入。那样就能直接使用变量名来访问变量。 import static 包名 阅读全文
posted @ 2009-09-16 04:25 macula7 阅读(77) 评论(0) 推荐(0)
摘要:常量接口 常量接口是对接口的不良使用。类内部使用的某些常量是类的实现细节。实现常量接口是对类的实现细节的泄露。 可以使用不可实例化的类来导出这些常量。 当需要使用的时候使用静态导入的机制来导入。那样就能直接使用变量名来访问变量。 import static 包名 阅读全文
posted @ 2009-09-16 04:25 macula7 阅读(132) 评论(0) 推荐(0)
摘要:接口和抽象类是用来定义多个实现的类型的两种机制。相比较而言接口更加灵活、实用。理由如下: 现有的类很容易更新,以实现新的接口。但是对抽象类则不行。 接口是定义混合类型的理想选择。 接口允许我们构造非层次结构的类型框架。非结构类型的组织。 抽象类演变比接口的演变要容易的多。后续版本可以在抽象类中添加方法,并且有默认的实现。而接口则不行。接口一旦被公开,并且被广泛实现,再想改变几乎是不可能的。所以设计... 阅读全文
posted @ 2009-09-16 04:15 macula7 阅读(182) 评论(0) 推荐(0)
摘要:接口和抽象类是用来定义多个实现的类型的两种机制。相比较而言接口更加灵活、实用。理由如下: 现有的类很容易更新,以实现新的接口。但是对抽象类则不行。 接口是定义混合类型的理想选择。 接口允许我们构造非层次结构的类型框架。非结构类型的组织。 抽象类演变比接口的演变要容易的多。后续版本可以在抽象类中添加方法,并且有默认的实现。而接口则不行。接口一旦被公开,并且被广泛实现,再想改变几乎是不可能的。所以设计... 阅读全文
posted @ 2009-09-16 04:15 macula7 阅读(169) 评论(0) 推荐(0)
摘要:在网上看到有人贴了如下求导公式: Y = A * X --> DY/DX = A' Y = X * A --> DY/DX = A Y = A' * X * B --> DY/DX = A * B' Y = A' * X' * B --> DY/DX = B * A' 于是把以前学过的矩阵求导部分整理一下: 1. 矩阵Y对标量x求导: 相当于每个元素求导数后转置一下,注意M×N矩阵求导后... 阅读全文
posted @ 2009-09-14 22:52 macula7 阅读(1860) 评论(0) 推荐(0)
摘要:在网上看到有人贴了如下求导公式: Y = A * X --> DY/DX = A' Y = X * A --> DY/DX = A Y = A' * X * B --> DY/DX = A * B' Y = A' * X' * B --> DY/DX = B * A' 于是把以前学过的矩阵求导部分整理一下: 1. 矩阵Y对标量x求导: 相当于每个元素求导数后转置一下,注意M×N矩阵求导后... 阅读全文
posted @ 2009-09-14 22:52 macula7 阅读(140) 评论(0) 推荐(0)
摘要:继承打破了封装性。子类依赖于超类中特定功能的实现细节。而超类的实现有可能会随着发行版本发生变化,那么子类就回被破坏。 覆盖动作可能会引起一系列的问题。只给子类增加新的方法,而不覆盖现有的方法,相对比较安全。但是也不是绝对安全。例如 父类被扩展命名了与子类重名的方法。 使用复合可以解决该问题,详细请见设计模式里的装饰者模式。用一个类把另外的类包装起来。 只有当子类真正是超类的子类型时,才适合用继承。 阅读全文
posted @ 2009-09-12 06:03 macula7 阅读(113) 评论(0) 推荐(0)
摘要:继承打破了封装性。子类依赖于超类中特定功能的实现细节。而超类的实现有可能会随着发行版本发生变化,那么子类就回被破坏。 覆盖动作可能会引起一系列的问题。只给子类增加新的方法,而不覆盖现有的方法,相对比较安全。但是也不是绝对安全。例如 父类被扩展命名了与子类重名的方法。 使用复合可以解决该问题,详细请见设计模式里的装饰者模式。用一个类把另外的类包装起来。 只有当子类真正是超类的子类型时,才适合用继承。 阅读全文
posted @ 2009-09-12 06:03 macula7 阅读(127) 评论(0) 推荐(0)
摘要:不可变类是实例不能被修改的类。每个实例中包含的所有信息都必须在创建该实例的时候就提供,并在对象的整个声明周期内固定不变。例如String、BigInteger和BigDecimal类。不可变类更易于设计、实现和使用。 设计不可变类的原则: 1:不要提供任何修改对象状态的方法 2:保证类不会被扩展 3:使所有域都是final的 4:使所有的域都是私有的 5:确保对于任何可变组件的互斥访问 不可变对象... 阅读全文
posted @ 2009-09-12 05:47 macula7 阅读(131) 评论(0) 推荐(0)
摘要:不可变类是实例不能被修改的类。每个实例中包含的所有信息都必须在创建该实例的时候就提供,并在对象的整个声明周期内固定不变。例如String、BigInteger和BigDecimal类。不可变类更易于设计、实现和使用。 设计不可变类的原则: 1:不要提供任何修改对象状态的方法 2:保证类不会被扩展 3:使所有域都是final的 4:使所有的域都是私有的 5:确保对于任何可变组件的互斥访问 不可变对象... 阅读全文
posted @ 2009-09-12 05:47 macula7 阅读(127) 评论(0) 推荐(0)
摘要:尽量将属性设置为私有的,使用set和get方法来访问 鼓励的办法是:如果类可以在它所在的包的外部进行访问,就提供访问方法。 如果类是包级私有的,或者是私有的嵌套类,直接暴露它的数据并没有本质的错误。 在Java平台中,有几个类违反了这种做法。如awt包中的Point和Dimensions类。 总之:共有类用于不应该爆楼可变的域。 阅读全文
posted @ 2009-09-11 03:20 macula7 阅读(121) 评论(0) 推荐(0)
摘要:尽量将属性设置为私有的,使用set和get方法来访问 鼓励的办法是:如果类可以在它所在的包的外部进行访问,就提供访问方法。 如果类是包级私有的,或者是私有的嵌套类,直接暴露它的数据并没有本质的错误。 在Java平台中,有几个类违反了这种做法。如awt包中的Point和Dimensions类。 总之:共有类用于不应该爆楼可变的域。 阅读全文
posted @ 2009-09-11 03:20 macula7 阅读(102) 评论(0) 推荐(0)
摘要:machine learning learning learning 阅读全文
posted @ 2009-09-04 18:59 macula7 阅读(99) 评论(0) 推荐(0)
摘要:machine learning learning learning 阅读全文
posted @ 2009-09-04 18:59 macula7 阅读(91) 评论(0) 推荐(0)
摘要:在tomcat里有四种容器,它们都需要实现org.apache.catalina.Container接口 容器的使用如下: HttpConnector connector = new HttpConnector(); SimpleContainer container = new SimpleContainer(); connector.setContainer(container); 四种容器:... 阅读全文
posted @ 2009-09-04 05:44 macula7 阅读(156) 评论(0) 推荐(0)
摘要:在tomcat里有四种容器,它们都需要实现org.apache.catalina.Container接口 容器的使用如下: HttpConnector connector = new HttpConnector(); SimpleContainer container = new SimpleContainer(); connector.setContainer(container); 四种容器:... 阅读全文
posted @ 2009-09-04 05:44 macula7 阅读(250) 评论(0) 推荐(0)
摘要:public class Test1 { public static void main(String[] args) { int nums=3; while (nums!=0) { if(nums%2==1) n++; nums=nums>>>1; } System.out.println(n); } } 主要使用了无符号位移... 阅读全文
posted @ 2009-09-01 06:33 macula7 阅读(125) 评论(0) 推荐(0)
摘要:public class Test1 { public static void main(String[] args) { int nums=3; while (nums!=0) { if(nums%2==1) n++; nums=nums>>>1; } System.out.println(n); } } 主要使用了无符号位移... 阅读全文
posted @ 2009-09-01 06:33 macula7 阅读(88) 评论(0) 推荐(0)
摘要:规则1:尽可能的使得每个类或者成员不被外界访问。 顶层的类或者接口,只能是包级私有的或者共有的,如果可能,应该是他们尽可能的包级私有。这样当你更新代码的时候不会影响到它的使用者。否则就需要永远支持它。 如果一个类只是在某一个类中被使用,应该考虑将它做成私有嵌套类。 成员的控制方法 private:私有的,只有类本身能够访问 默认的:包内访问 protected:子类访问和包内访问 public:公... 阅读全文
posted @ 2009-09-01 06:31 macula7 阅读(131) 评论(0) 推荐(0)
摘要:规则1:尽可能的使得每个类或者成员不被外界访问。 顶层的类或者接口,只能是包级私有的或者共有的,如果可能,应该是他们尽可能的包级私有。这样当你更新代码的时候不会影响到它的使用者。否则就需要永远支持它。 如果一个类只是在某一个类中被使用,应该考虑将它做成私有嵌套类。 成员的控制方法 private:私有的,只有类本身能够访问 默认的:包内访问 protected:子类访问和包内访问 public:公... 阅读全文
posted @ 2009-09-01 06:31 macula7 阅读(98) 评论(0) 推荐(0)