- 博客(16)
- 资源 (10)
- 收藏
- 关注
原创 python下配置matplotlib开发环境
Python下安装好MatplotLib模块后,可以成为非常优秀的作图工具,就像matlab一样。下面介绍一下matplotlib模块的详细安装步骤:1、 安装python虽然目前python版本已经更新到了puthon3.4,但是仍然建议安装python2.7,此外,考虑到后续安装matplotlib模块的方便性,也建议安装32位的版本。安装python很简单,直接“下一步下一步
2016-04-14 10:36:29
2661
原创 PDF文档解析:PDFBox和iText实例
PDFBox和IText是解析PDF文档最常用的两种java API。1、 使用PDFBox时,需要添加:pdfbox-2.0.0.jar、fontbox-2.0.0.jar、commons-logging-1.2.jar;2、 使用iText时,需要添加:itextpdf-5.5.9.jar;话不多说,直接看具体代码。import java.io.File;import
2016-04-07 15:12:19
9673
原创 Java并发编程:Callable和Future使用
在Java中,创建线程一般有两种方式,一种是继承Thread类,一种是实现Runnable接口。然而,这两种方式的缺点是在线程任务执行结束后,无法获取执行结果。我们一般只能采用共享变量或共享存储区以及线程通信的方式实现获得任务结果的目的。不过,Java中,也提供了使用Callable和Future来实现获取任务结果的操作。Callable用来执行任务,产生结果,而Future用来获得结果。
2016-04-06 13:32:38
5288
原创 浅谈params修饰符
C#中,使用params关键字来支持参数数组的使用。params关键字可以把可变数量的相同类型的参数作为单个逻辑参数传递给方法、同样地,如果调用者为调用方法传入强类型数组或者以逗号分隔的参数项列表,params修饰符标记的参数就可以被处理。为了更加直观,给出下面的例子,例子中,我们分别通过数组方式、参数项列表方式来调用求和函数。可以看到,传入零个参数时,也可以被处理。当以参数项列表方式调用方法
2016-04-05 15:24:12
1663
原创 C# out和ref参数修饰符
在C#编程中,参数传入方法的默认行为是按值传递。简单来说,如果没有为参数标记相关的修饰符,数据的副本就会被传入方法,而在方法中对副本的任何操作,都不会影响传入之前的原始数据。看下面的例子:class Program { static void Main(string[] args) { int x = 6, y = 16;
2016-04-05 12:32:23
843
原创 深入理解二叉搜索树(BST)
一棵二叉搜索树(BST)是以一棵二叉树来组织的,可以用链表数据结构来表示,其中,每一个结点就是一个对象,一般地,包含数据内容key和指向孩子(也可能是父母)的指针属性。如果某个孩子结点不存在,其指针属性值为空(NIL)。二叉搜索树中的关键字key的存储方式总是满足二叉搜索树的性质:设x是二叉搜索树中的一个结点。如果y是x左子树中的一个结点,那么会有y.key=x.key。二
2016-04-04 19:57:02
40068
3
原创 Android:WebView基础
Android WebView作为一种网络视图,能够加载并显示网页,可以视为一个浏览器,它使用Webkit渲染引擎,很多APP都内置了该组件用来显示web页面。使用webview组件,首先需要在布局文件中定义:<WebView android:id="@+id/webview" android:layout_width="fill_parent"
2016-04-04 17:00:36
490
原创 堆与堆排序之初见
堆(本文只提二叉堆,当然也有多叉堆)作为一种数据结构,是一个数组,可以被看成是一个近似的完全二叉树,树上的每一个节点对应数组中的一个元素,并且除了最底层节点外,该树是完全充满的,而且是从左向右依次填充。我们目前经常听到的名词“堆”已经被引申为“垃圾收集存储机制”,但本文提及的“堆”指的是堆数据结构。为了后续描述方便,我们定义堆的数组为H,用H.length表示堆数组的大小,用H.size表
2016-04-04 13:59:55
856
原创 Android Studio:Error:(23, 17) Failed to resolve: junit:junit:4.12
在Android Studio中创建项目之后,可能会遇到错误:Error:(23, 17) Failed to resolve: junit:junit:4.12,这是因为项目引用到了Junit单元测试工具。该错误的解决方法是找到项目中的build.gradle文件,如下:打开该文件,注释掉或者删除掉junit:junit:4.12的引用,如下:然后,重新build工程
2016-03-21 12:40:25
7504
翻译 Q-学习:强化学习
原文地址:http://mnemstudio.org/path-finding-q-learning-tutorial.htm这篇教程通过简单且易于理解的实例介绍了Q-学习的概念知识,例子描述了一个智能体通过非监督学习的方法对未知的环境进行学习。假设我们的楼层内共有5个房间,房间之间通过一道门相连,正如下图所示。我们将房间编号为房间0到房间4,楼层的外部可以被看作是一间大房间,编号为5。注
2016-03-16 12:24:12
28845
10
原创 Java初始化顺序
很多人对Java程序初始化顺序充满疑惑,不知道是先执行初始化块还是先执行构造函数。这里给出结论:(执行顺序从上到下依次进行)第一、父类静态块第二、子类静态块第三、父类块方法第四、父类构造方法第五、子类块方法第六、子类构造方法测试代码如下:package testmain;class Parent{ public Parent(){ System.o
2016-03-15 21:51:39
392
原创 Java反射系列之——什么是反射?
Java反射是Java语言很重要的一部分。那么,什么是反射?反射到底有什么用呢?我们知道,Java中的对象有编译类型和运行类型两种类型,顾名思义,编译类型就是对象在编译时确定的类型,而运行类型就是对象在运行时能够确定的真实类型,比如:Object obj = new Random();这里,Object就是对象obj的编译类型,而Random就是obj的运行类型,也就是真实类型。
2016-03-15 20:31:06
431
原创 Android中圆角Button实现
在android开发中,Button是使用很频繁的一种控件,而android提供的原生Button是很规矩的矩形外观,有时候缺乏美感,而相反,圆角按钮则可以提升美感。那么,我们如何设计实现出圆形按钮呢? 话不多说,请看实现!在drawable目录下新建名称如“shape.xml”的文件<shapexmlns:android="http://schemas.andr
2016-03-15 17:12:40
1035
原创 openfire无法登陆解决
最近,做项目使用到了openfire服务器,安装后,却遇到了无法登陆管理控制台的问题。提示:Login failed: make sure your username and password are correct and that you're an admin or moderator. 我试着用了网上提供的一种方法,进入数据库,先清空ofuser表,再执行SQL语句
2014-11-05 10:10:40
1309
原创 Android对话框内容获取
最近学习安卓,做简单的应用。想从对话框获取内容,然后接着供程序使用。本想着程序会等待对话框结束后,接着其下一条语句继续执行,然而事实并不是这样。当主Activity创建对话框Dialog后,不会阻塞,会继续执行下去,也就是说当前线程不会停下来等待对话框结束后再继续运行。获取对话框的值在主线程中使用,可以通过增加回调方法解决。先定义如下接口:【只是举例】 然后在主Act
2014-07-25 22:16:18
1806
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人