Josephus问题解决方法二
前面文章写了关于Josephus问题解决的一种方法http://blog.itpub.net/29876893/viewspace-1815055/,但是由于前面的程序有两处错误,本人写文章时太粗心!导致运行结果错误,下面修正:(原文已经修正,下面指出已对自己粗心的教训)点击(此处)折叠或打开... ......
二叉树的非递归遍历
前面一篇介绍了二叉树的递归遍历操作http://blog.itpub.net/29876893/viewspace-1841619/,下面介绍二叉树的非递归遍历操作。运用递归操作,很容易进行二叉树的遍历,结合上篇文章的介绍,在递归的时候都是找到当前结点,压入”栈“中,然后再通过当前结点找到左(右)孩子,递归函数每次返回时,当前结点都会出”栈“。在...
队列的顺序存储结构
队列的顺序存储结构相对于链式存储结构较为复杂,本文重点介绍队列顺序结构。下面简单的谈两个问题:1.由于是顺序队列,很容易想到用数组来存储元素,假如一个队列的长度是10,就是一下可以放入10个元素,当9个元素出队后,又放入3个元素,此时是不是要再增长数组的长度呢?实际中不可能增加数组的长度而任内存空间的浪费...
反编译APK资源文件与源代码
反编译APK,学习别人的源代码是一种提高的方法,但是并不是窃取别人的成果。反编译APK,分为两部分,分别是反编译资源文件和源代码(.java)。下面实验的系统环境是win10。 一.反编译资源文件用到的工具是apktool,可以去官网上下载最新版本的apktool,解压后,把apk文件移到同一目录下,然后在dos下运行: apktool d -f X...
数据结构之二叉树递归操作
二叉树(binary tree)是n(n>=0)个结点的有限结合,该集合或者为空集(空二叉树),或由一个根结点和两棵互不相交的,分别称为根结点的左子树(left subtree)和右子树(right subtree)的二叉树组成。二叉树的特点:1.每个结点最多有两棵字树,所以二叉树中不存在度大于2的结点2.二叉树是有序的,其次序不能任意颠倒,即...
fatal error C1034的解决方法
用惯gcc的朋友,在windows上不会满足于GUI,dos下可以编译运行C/C++程序,但是相对于Linux上较为繁琐点。在dos下适合学习使用,不适合做项目使用,维护起来很不方便。关于配置环境变量,这里不作叙述。使用的是cl命令进行编译,生成.exe文件,然后执行。下面写了一个小程序,然后用cl命令编译:出现了fata...
java中this关键字的用法
对于this关键字,都不陌生,只要在java程序代码中都可见,下面是android中绑定按钮监听一段代码:点击(此处)折叠或打开button1.setOnClickListener(new OnClickListener() { &nb...
删除Repository中的文件
GitHub中,如果要删除Repository Data-structure-algorith中的a文件,该如何做呢?首先我们把该Repository clone到本地:然后进入该Repository中,删除a:然后更新本地,再push到远程仓库中:打开web:此时已经删除了文件a该种方法不是最好的方法,如果push项目时,想过滤某些文件,可以在ignore文件添加这些文件...
Java网络编程
对于网络方面的知识在这里不作详细的介绍,读者可以参考《TCP/IP详解 I II III》等网络书籍。下面简单的谈下网络通信协议和网络通信协议接口。网络通信协议:计算机网络中实现通信必须有一些约定即通信协议,对速率,传输代码,代码结构,传输控制步骤,出错控制等制定标准。网络通信接口:为了使两个结点之间能进行对...
dos下编译执行java程序遇到的问题
平时都是用IDE来编写运行java程序,最近需要在dos用比较传统的方式来编译运行程序,总是遇到这样的问题:网上查了很多该问题,大都是说因为环境没有配好,立马否定了,因为程序可以通过编译,已经生成了.class文件通过网上朋友的提醒,原来我是在IDE上写的程序,带上了包名路径,导致了该问题!其中比较简单的就是把...
多线程
并发通常是提高运行在单处理器上程序的性能,在单处理器上运行的并发程序开销确实应该比该程序的所有部分顺序执行的开销大,因为其中增加了所谓上下文切换的代价(从一个任务切换到另一个任务)。如果程序中的某个任务因为该程序控制之外的某些条件(通常是I/O)而导致不能继续执行,即阻塞,但是使用并发来编程,当其中一个...
流
在java程序中,对于数据的输入/输出操作以“流”(stream)方式进行,jdk提供了各式各样的“流”类,用来获取不同种类的数据;程序中通过标准的方法输入或输出数据java.io包定义了多个流类型(类或抽象类)来实现输入/输出功能;可以从不同的角度对其进行分类:1.按数据流的方向可以分为输入流和输出流;2.按照处理数据...
String对象的equals()与 = =
最近看了网上有人说,String对象的equals()与==的区别,不知道两者到底有什么区别,如果真的要彻底搞清楚,我们还是从“万类之源”说起,http://blog.itpub.net/29876893/viewspace-1819489/这是之前写关于Object的一篇文章,现在我们还是从源码入手(当然结合API更好)。下面还是分析Object类中的equals()方法,关于源码...
Object
Java中的Object是所有类的父类,是“万类之源”Class Objectjava.lang.Objectpublic class ObjectClass Object is the root of the class hierarchy. Every class has Object as a superclass. All objects, including arrays, implement the methods of this class. 我们把jdk安装路径目录下的src.rar文件解压,可...
容器
数组是保存一组对象的最有效的方式,如果你想保存一组基本类型数据,也推荐这样方式,但是数据具有固定的尺寸,而在更一般的情况中,你在程序时并不知道将需要多少个对象,或者是否需要更复杂的方式来存储对象,因此数组尺寸固定显得过于受限了。java实用类库提供了一套想当完整的容器类来解决这个问题,其中基本的类型是Li...
Exception
异常的概念: 1.是java提供的同于处理程序中错误的一种机制2.所谓的错误是程序运行过程中发生的一些异常事件(如:除0,数组下标越界,所要读取的文件不存在3.设计良好的程序应该在异常发生时提供处理这些错误的方法,使得程序不会因为这些异常发生阻断或者产生不可预知的结果4.java程序执行的过程中如出现异常事...
多态一
前面的文章简单的分析了动态绑定机制,http://blog.itpub.net/29876893/viewspace-1816523/,但是也许有很多疑问,下面介绍下子类如何调用自己的方法或我们阻止多态。修改的代码如下:点击(此处)折叠或打开public class Animal { &...
动态绑定一
动态绑定是java面向对象中非常重要的思想,很多java程序员不太清楚多态机制, 无疑会导致对多态理解程度不够,下面通过代码以及在内存中的执行过程来分析动态绑定,如有错误不当之处,请读者指正!点击(此处)折叠或打开public class Animal { ...
Java内存分析一
如果了解java内存的使用情况,对于程序的执行情况会更加清晰。关于java内存深度解析,请读者自行参考JVM有关书籍文档,会得到更多更完善的信息。下面通过一段简单的代码来分析。首先简单介绍下JVM运行时内存数据区:第一块:PC寄存器PC寄存器是用于存储每个线程下一步将执行的JVM指令,如该方法为native的,则PC寄存器...
内部类一
关于java的内部类,尤其匿名类,会感到无法理解,参考了网上一些文章(http://www.cnblogs.com/dolphin0520/p/3811445.html,http://blog.csdn.net/yu422560654/article/details/7466260),下文简单实验总结一下。由于内部类涉及很多知识,其中很多没有涉及到。如有表述代码错误,欢迎读者指正! 那为什么使用内部类呢?《...