- 博客(38)
- 收藏
- 关注
原创 三层架构(转)
这里是指应用业务的三层架构数据层:主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务.业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。表示层:主要表示WEB方式,也可以表示成WINF
2015-03-30 11:02:13 442
原创 python中的赋值
a=2b=3这个时候,a==b和a is b 打印的都是True。因为a和b指向了同一个对象a=[]b=[]而这个时候,a==b打印的是True,a和b的对象相同,但是a is b 打印的是False,因为没有指向同一个对象a=[0]b=aa[0]=1print b[0]打印的为1,a==b和a is b 打印的都是True。究
2015-03-27 23:09:40 900
原创 python import;from
看到网上很多是这样解释import和from:说这两个类似于C语言中的include;我认为,这种说法是不负责任的说法,容易把初学者带入到误区。C语言是编译型语言,所有的东西在编译期间已经决定好了,C语言是静态的;而python语言是解释型语言,是动态的。C语言中的include是引入了很多方法或者变量,这个是没错的。但是,,,,,,,,我想请各位特别注意下:python是完全面向
2015-03-27 21:51:14 360
原创 Python 程序;模块;语句;表达式;对象
Python由模块构成;模块包含语句;语句包含表达式;表达式创建并处理对象;表达式嵌套在语句中,Python语法本质上是由语句和表达式组成;python的对象必须初始化;所有的复合语句末尾一定要以冒号:“:” 结尾;增加缩进代表着嵌套代码的开始,减少缩进代表着嵌套代码的结束。与C语言的不同:分号,python一行即为结束,除非在一行代
2015-03-27 09:04:30 630
原创 Python运行源代码
第一步:编写Python源代码第二步:dos下python 文件名这是在windows下运行的,python首先将源代码编译成字节码文件,然后将字节码文件用python解释器去执行。对于源代码中的每一行代码,也就是以分号结束的一句代码,分别将这一句代码分解为单一步骤,来将这些源语句翻译成一组字节码指令。
2015-03-26 12:50:35 1026
原创 动态语言和静态语言的区别
一下纯属个人理解,如有错误,欢迎批评指教所谓的静态语言指的是代码经过编写后直接编译,生成机器代码,然后CPU会根据机器代码的逻辑顺序,顺序执行,不会动态改变。例如:C语言,过程语言。代码写好,经过编译生成CPU直接可以运行的机器码。所谓的动态语言指的是编写后的代码可以在执行的时候动态改变。所写非所得。举个例子:数据类型可以动态改变,这里我把自己编写的类也作为了数据类型的一种。而且就连加载的
2015-03-26 09:12:32 545
原创 关于数据结构重要性的解释
许多大型系统的构造经验表明,系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了最优的数据结构。系统实现的困难程度:这句话指的是用代码来实现功能的困难程度;系统构造的质量:鲁棒性;是否容易升级维护; 个人对于这句话是这么看待的。我们的软件是跑在计算机上的,而计算机内存存储的是我们的数据集合和数据之间逻辑关系的集合。这两种集合。所以我们的程序代码
2015-03-24 20:07:33 749
原创 数据结构的意义(转载自百度百科)
一般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的。对数据元素间逻辑关系的描述称为数据的逻辑结构;数据必须在计算机内存储,数据的存储结构是数据结构的实现形式,是其在计算机内的表示;此外讨论一个数据结构必须同时讨论在该类数据上执行的运算才有意义。一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率。在许多类型的程序的设计中,数据结构的选择是一个基本的设计考虑因素。许
2015-03-24 19:53:41 662
原创 UML 问题域
问题域(Problem domain)”指提问的范围、问题之间的内在的关系和逻辑可能性空间。 软件工程:在软件工程中,问题域是指被开发系统的应用领域,即在客观世界中由该系统处理的业务范围。 概念模型是对真实世界中问题域内的事物的描述,不是对软件设计的描述。概念的描述包括:记号、内涵、外延,其中记号和内涵(视图)是其最具实际意义的。
2015-03-24 19:23:21 3518
原创 java 事务
第一个原则:事务不要嵌套使用(jdbc事务;JTA事务;)第二个原则:一个事务最好放在一个方法里面执行,也就是说,一个事务不要通过多个方法去实现。关于jdbc中的事务:jdbc默认autoCommit是true的,也就是一个sql语句就是一个事务,所以如果想要把多个sql语句组合成一个事务,要设置autoCommit为false,最后再同一个设置成true去统一执行。
2015-03-22 18:36:00 280
原创 操作系统:分段与分页的区别(转载)
页和分段系统有许多相似之处,但在概念上两者完全不同,主要表现在:1、页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。 2、页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分
2015-03-22 08:06:56 3758
原创 java jdk 动态代理
目标:为实现了统一接口的子类的一个共同方法,在这个共同方法之前,或者之后,为这所有的子类加入共同的处理逻辑实现途径:代理模式;jdk反射机制。具体步骤:第一步:写出一个代理类,该类实现了InnovationHandler接口,并实现了invoke(Object proxy,Method method, Object[] args)方法。jdk设计此接口的目的:为需要织入
2015-03-21 14:45:39 649
原创 拓扑排序(转载自百度百科)
定义 对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。简单的说,由某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为
2015-03-21 10:34:19 411
原创 图-有向无环图
有向无环图如图所示为一个非有向无环图,因为A点出发向B经C可回到A,形成一个环。将从C到A的边方向改为从A到C,则变成有向无环图。在图论中,如果一个有向图无法从某个顶点出发经过若干条边回到该点,则这个图是一个有向无环图(DAG图)。因为有向图中一个点经过两种路线到达另一个点未必形成环,因此有向无环图未必能转化成树,但任何有向树均为有向无环图。如右图,不为
2015-03-21 09:53:25 459
原创 数据库系统数据产生不一致的根本原因
数据不一致性是指数据的矛盾性、不相容性。产生数据不一致的原因主要有以下三种:一是由于数据冗余造成的;二是由于并发控制不当造成的;三是由于各种故障、错误造成的。根本原因:数据冗余
2015-03-17 14:29:49 12085
原创 对于理解spring非常重要的一段话
25、Class.forName 的作用?为什么要用?答: 按参数中指定的字符串形式的类名去搜索并加载相应的类,如果该类字节码已经被加载过,则返回代表该字节码的 Class 实例对象,否则,按类加载器的委托机制去搜索和加载该类,如果所有的类加载器都无法加载到该类,则抛出 ClassNotFoundException。加载完这个 Class 字节码后,接着就可以使用 Class
2015-03-17 12:30:49 479
原创 数据库三范式
第一范式: 所谓第一范式(1NF)是指在关系模型中,对域添加的一个规范要求,所有的域都应该是原子性的,即数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。即实体中的某个属性有多个值时,必须拆分为不同的属性。在符合第一范式(1NF)表中的每个域值只能是实体的一个属性或一个属性的一部分。简而言之,第一范式就是无重复的域。说明:在任何一个关系数据库
2015-03-17 12:14:32 311
原创 mysql : group by 和 where
where 是对数据集进行筛选;group by 是对结果集进行聚集;也就是说 group by 是 在 where 筛选之后 进行聚集。所以 group by 必须 跟在where 的 后面
2015-03-17 10:27:22 1059
原创 forward和recondirect的区别
forward 是服务器请求资源,服务器直接访问目标地址的 URL,把那个 URL 的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。 redirect 就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以 session,request 参数都可以获取。
2015-03-16 17:22:08 463
原创 四、sendRedirect()和forward()方法的区别 -----HttpServletResponse接口的sendRedirect()方法和RequestDispatcher接口的forw
四、sendRedirect()和forward()方法的区别-----HttpServletResponse接口的sendRedirect()方法和RequestDispatcher接口的forward()方法都可以利用另外的资源(Servlet、JSP页面或HTML文件)来为客户端服务,但两种方法有本质的区别 1、sendRedirect()方法---->
2015-03-16 17:13:46 692
原创 java .equals() hashcode
equals如果根据 equals(Object) 方法,两个对象是相等的,那么对这两个对象中的每个对象调用 hashCode 方法都必须生成相同的整数结果,注:这里说的equals(Object) 方法是指Object类中未被子类重写过的equals方法。如果两个hashCode()返回的结果相等,则两个对象的equals方法不一定相等。
2015-03-16 16:25:49 368
原创 java servlet
servlet的整个过程。客户端请求该 servlet;加载 servlet 类到内存;实例化、初始化该 servlet;init() 初始化参数;service()(doGet() 或者 doPost());destroy()。详解:一个客户端的请求到达 ServerServer 创建一个请求对象
2015-03-16 11:03:37 328
原创 java 垃圾回收
垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? 对于 GC 来说,当程序员创建对象时,GC 就开始监控这个对象的地址、大小以及使用情况。通常,GC 采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。当 GC 确定一些对象为"不可达"时,GC 就有责任回收这些内存空间
2015-03-15 16:36:08 307
原创 java 内存泄露
所谓内存泄露就是指一个不再被程序使用的对象或变量一直被占据在内存中。java 中有垃圾回收机制,它可以保证一对象不再被引用的时候,即对象编程了孤儿的时候,对象将自动被垃圾回收器从内存中清除掉。由于 Java 使用有向图的方式进行垃圾回收管理,可以消除引用循环的问题,例如有两个对象,相互引用,只要它们和根进程不可达的,那么 GC 也是可以回收它们的。 java 中的内存泄露的情况:长生
2015-03-15 16:20:18 353
原创 java中的synchronized
synchronized可以修饰静态方法和非静态方法,当修饰非静态方法的时候,是对这个对象加了同步锁,因为非静态方法是属于对象所有;当修饰静态方法的时候,是对这个类字节码加了同步锁,因为静态方法是属于类的特性。
2015-03-15 11:42:21 317
原创 在什么条件下,也就是什么时候会用java匿名内部类
何时才能使用匿名内部类呢?满足下列条件:·只用到类的一个实例 。·类在定义后马上用到。·类非常小(SUN推荐是在4行代码以下)·给类命名并不会导致你的代码更容易被理解。在使用匿名内部类时,要记住以下几个原则:·匿名内部类不能有构造方法。·匿名内部类不能定义任何静态成员、静态方法。·匿名内部类不能是public,protected,
2015-03-15 09:41:32 1533
原创 java 面向对象----封装
什么叫封装,封装就是在分析一个业务的时候,将这个业务过程涉及到的对象,属性全都找到,然后对于这个业务涉及的每一个属性进行分析,分析这个属性到底属于谁,然后将这些属性按照对象进行分组,也就是一组属性只属于一个对象,然后将涉及到这一组属性的操作封装成一个方法,这个过程就叫做封装。只需要抓住三个关键的地方:认真分析业务过程;仔细找到业务过程涉及的所有属性;仔细找到业务过程涉及的所有对象
2015-03-14 10:48:27 302
原创 java中重载和重写
重载指的是在同一类中,相同方法名,而方法参数类型不同或者方法参数个数不同,返回类型不作为区分重载的标志在同一对象中要对不同数据要做统一的操作,这个时候就要用到重载了。覆盖:如果子类中的一个方法的名称,返回值类型,参数和父类中的一个方法一样的话,而方法体不一样,这个是就叫做覆盖了,如果在子类中想要调用父类中的方法,可以使用super关键字,点出父类的方法。而且子类的方法的访问权限不能大于父类
2015-03-14 08:09:22 271
原创 java中&和&&的区别
在java中,&和&&都可以作为逻辑运算符参与判断,但是区别是:&左右两边的代码都要执行,&&当判断左边的代码为false的时候,就不再进行右边的判断了,也就是不运行右边的代码了。并且&还有另外的作用就是位运算。
2015-03-12 17:47:40 325
原创 软件结构 耦合性
耦合性指的是程序结构中各个模块之间的相互关联的度量。取决于三个方面1各个模块之间的接口复杂程度2调用模块的方式3哪些信息通过接口耦合可以分为以下几种,它们之间的耦合度由高到低排列如下:(1) 内容耦合。当一个模块直接修改或操作另一个模块的数据时,或一个模块不通过正常入口而转入另一个模块时,这样的耦合被称为内容耦合。内容耦合是最高程度的耦合,应该避免使用之。
2015-03-12 09:33:32 804
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人