生活中的例子:
电脑的品牌有很多,但电脑中的所有部件都有标准的接口,不同的厂家都是按照标准去生产各个部件,这些部件的内部实现不同,但接口都是一样的,这样的话,如果我的联想电脑的内存条坏了,我随便买一根内存条插上都能使用。
之所以我们的电脑能使用任何厂家生产的内存条,是因为这些电脑生产厂家都是“面向接口”生产,而在软件世界中,面向接口编程就是依赖倒转。
依赖倒转的官方定义:
1.高层模块不应该依赖于低层模块,他们都应该依赖于抽象;
2.抽象不应该依赖于细节。细节应该依赖于抽象。...
分类:
其他好文 时间:
2015-08-31 15:21:06
阅读次数:
196
MMO多人实时同步问题...
分类:
其他好文 时间:
2015-08-31 15:20:39
阅读次数:
200
题目来自Leetcode
Given a string of numbers and operators, return all possible results from computing all the different possible ways to group numbers and operators. The valid operators are +, - and *.
...
分类:
其他好文 时间:
2015-08-31 15:21:41
阅读次数:
189
题目:
Given a non-negative integer num, repeatedly add all its digits until the result has only
one digit.
For example:
Given num = 38, the process is like: 3
+ 8 = 11, 1 + 1 = 2. Since 2...
分类:
其他好文 时间:
2015-08-31 15:21:10
阅读次数:
124
最近在尝试使用fastdb进行开发,c++版本下测试基本ok,由于项目组采用C#开发,所以转用C#开发fastdb,结果发现C#版本各种阉割,如果定义变量自增,则会发生类型定义错误报错,一番追查下来发现是在fastdb
取值时未定义cli_autoincrement造成的。
由于fastdb对cli_autoincrement的处理方式类似于int4,所以对其进行类似int4类型的类型转换
...
分类:
数据库 时间:
2015-08-31 15:21:50
阅读次数:
281
using UnityEngine;
using System.Collections;
public class CreateGameObject : MonoBehaviour {
private Vector3 centerPos; //圆心的位置
private float radius = 5; //半径
private float ang...
分类:
编程语言 时间:
2015-08-31 15:20:02
阅读次数:
182
*(*ppTable) = m_pConfig->m_Userdat.m_Table;
这句会有拷贝么?m_Table 是成员变量
答案:会
原因解析:
*ppTable是和mTable类型一样的一个指针
所以如果把mTable的类型记做A
那么 你这句话就相当于
*(a) = b;
其中a是A* 类型
b是A类型的...
分类:
其他好文 时间:
2015-08-31 15:20:25
阅读次数:
134
DescriptionJOI君有N个装在手机上的挂饰,编号为1…N。 JOI君可以将其中的一些装在手机上。
JOI君的挂饰有一些与众不同——其中的一些挂饰附有可以挂其他挂件的挂钩。每个挂件要么直接挂在手机上,要么挂在其他挂件的挂钩上。直接挂在手机上的挂件最多有1个。
此外,每个挂件有一个安装时会获得的喜悦值,用一个整数来表示。如果JOI君很讨厌某个挂饰,那么这个挂饰的喜悦值就是一个负数。
JO...
分类:
其他好文 时间:
2015-08-31 15:20:11
阅读次数:
159
springmvc集成shiro注解权限
源代码下载:http://download.csdn.net/detail/u013147600/9066923
java.lang.ClassNotFoundException:
org.aspectj.lang.annotation.Around错误解决方法:http://blog.csdn.net/u013147600/article/det...
分类:
编程语言 时间:
2015-08-31 15:19:55
阅读次数:
804
异步任务的主要作用是来处理一些耗时的操作,给用户带来良好的用户体验。下面我们就来新建一个异步任务,完成下载图片的任务。一、建立布局,通过点击按钮来执行异步任务。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
andro...
分类:
移动开发 时间:
2015-08-31 15:19:52
阅读次数:
244
这是因为angular.element()这个API并不能支持类似jquery的选择器,也就是说angular.element()并不支持selector。最好引入JQuery框架,因为jQuery框架选择元素实在是太方便了。如果我们确实不想使用jQuery,那么可以使用HTML5中的document.querySelector(),这个API是支持选择器的。有一点特别需要注意:如果页面中使用了jQuery和angular,那么一定要先加载jQuery框架,然后再加载angular。...
分类:
Web程序 时间:
2015-08-31 15:19:33
阅读次数:
221
本文章的目的是介绍Java异常分类及Java异常检查,让大家对异常有一个初步的了解。后续的文章中会对异常相关的源码进行分析。一、Java异常分类
Throwable: Java语言中,Throwable为所有异常、错误的超类,它有两个重要的子类:Exception(异常)和Error(错误),它们各自都包含大量的子类,这些类的实例是在异常情况的上下文中创建的,包含了相关的异常信息(比如堆栈跟踪数据...
分类:
编程语言 时间:
2015-08-31 15:18:16
阅读次数:
260
Description晓华所在的工作组正在编写一套高精度科学计算的软件,一些简单的部分如高精度加减法、乘除法早已写完了,现在就剩下晓华所负责的部分:实数的高精度开m次根。因为一个有理数开根之后可能得到一个无理数,所以这项工作是有较大难度的。现在要做的只是这项工作的第一步:只对自然数进行开整数次根,求出它的一个非负根,并且不考虑结果的小数部分,只要求把结果截断取整即可。程序需要根据给定的输入,包括需要...
分类:
其他好文 时间:
2015-08-31 15:20:06
阅读次数:
177
感言:我马上大三了,对计算机也算是有点感兴趣,但一直以来我对变量的定义和声明都很模糊,最开始看书上是这样讲的:定义-->就形如 int a;这就是定义了一个整形变量,然后就说变量的定义只能是一次而声明却可以多次,然后就没,我也问了好几个老师,他们也都是这样说的,我在网上搜的答案也感觉讲得不是很细,所以我总觉得这不是我想要的答案,直到我看了>后才明白了原来里面还是有很多值得深挖的地方,所以分享给大家...
分类:
其他好文 时间:
2015-08-31 15:18:11
阅读次数:
184
在现在的大部分web应用我们使用的多数服务器可能都是Tomcat,虽然Tomcat是一个轻量级的服务器,但是我们不可以忽视他的性能,随着Tomcat7以及Tomcat8的出现,现在的Tomcat已经非常非常牛了,同样随着我们的需求的不断提高,我们想要配置的内容也是越来越多,比如,今天我们要说的如何访问Tomcat来优化。平时我们访问我们的应用都需要输入长长的一串地址,IP还好记点,应用命对于用户来...
分类:
其他好文 时间:
2015-08-31 15:19:48
阅读次数:
146
最近要用到一些图形学的东西,自然免不了涉及到仿射变换和透视变换的概念,可惜往昔教科书和网上的解释一大堆,共识琳琅满目仍旧没有把概念清楚,下面引用《学习OpenCV》的一张图,简单明了地解释下:
从图中可见:
仿射变换:其实就包括了平移,旋转,缩放,事实上将这个概念放在三维空间中更能解释,无非就是加一个Z坐标,只不过其值为零,然后通旋转平移变换矩阵转换到另一个三维地坐标系,而...
分类:
其他好文 时间:
2015-08-31 15:19:29
阅读次数:
293
题目:
Given a binary tree, return all root-to-leaf paths.
For example, given the following binary tree:
1
/ 2 3
5
All root-to-leaf paths are:
["1->2->5", "1->3"]...
分类:
其他好文 时间:
2015-08-31 15:16:29
阅读次数:
161