自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小黄鸭会发光 的博客

所有的梦想都会因为努力不期而遇

  • 博客(35)
  • 资源 (3)
  • 收藏
  • 关注

转载 原码, 反码, 补码 详解

本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学习计算机基础有所帮助!   一. 机器数和真值 在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念. 1、机器数 一个数在计算机中的二进制表示形式,  叫做这个数的机器

2017-12-05 00:42:39 284

原创 链式二叉树

关于二叉树的基本性质和结构特征,在此不做详细说明,因为网上的文章非常多,可以查阅本文主要以泛型实现链式二叉树的基本方法,包括:1. 添加结点 2. 查找结点 3. 计算深度 4. 清空子树 5. 前序遍历 6. 中序遍历 7. 后序遍历结构示意图结点类 — Node.javapackage tree;/** * Created by noonbiteun * Date: 2017

2017-08-10 20:37:56 329

原创 排序算法---合并排序(Merge Sort)

合并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法的一个非常典型的应用。合并排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。合并排序也叫归并排序。

2017-08-02 13:24:30 1639

原创 排序算法---堆排序(Heap Sort)

堆排序算法,基于选择排序的思想,利用堆结构的性质来完成对数据的排序。 前提准备: 什么是堆结构: 堆数据结构是一种数组对象,它可以被视为一科完全二叉树结构。它的特点是父结点的值大于(小于)两个子结点的值(分别称为大顶堆和小顶堆) 堆结构的性质: 对于第n个结点而言 — 它的父结点下标 i = (n-1)/ 2,左子结点 left = 2n+1,右子结点 rig

2017-08-01 01:13:33 593

原创 排序算法---快速排序(Quick Sort)

快速排序和冒泡排序类似,都是基于交换的思想,快速排序对冒泡排序进行了优化,从而更加快速高效(从名字就可以看出应该很牛批…)算法基本思想:首先选取一个基准值,然后根据这个基准将数组分为了左右两部分将这左右两个部分中的数据,和基准值做比较,大于基准值的放在右边,小于基准值的放在左边此时对于基准值而言,已经 “排序 ” 完成,即“比我小的全在我左边,比我大的全在我右边”然后再对左右两部循环进行同样

2017-07-31 21:00:11 439

原创 排序算法---希尔排序(Shell Sort)

前面一口气写了冒泡、选择、插入三个排序算法,感觉今天和他们死磕上了。。。 就不该十一点多还看了几眼。。。然后又掉坑里了,大半夜果然的效率低,看个希尔排序然后居然写了1个小时。。。哇,难受抄起键盘一顿梭,就是干 严格来说,希尔排序是基于插入排序的思想的,稍后在代码里可以看出,希尔排序又称缩小增量排序,是简单插入排序的增强版本,于1959年由Donald Shell提出。算法基本思想:将

2017-07-31 20:58:53 297

原创 排序算法---插入排序(Insertion Sort)

查看原文:这里写链接内容算法基本思想:插入排序(Insertion Sort)算法通过对未排序的数据执行逐个插入至合适的位置而完成排序工作。排序流程:首先对数组的前两个数据进行从小到大排序然后将第三个数据与前面排好的数据进行比较,把第三个数插入合适的位置然后将第四个数据插入到前三个数据中重复此步骤,直到最后一个数插入合适的位置为止,到此排序完成代码实现import java.util.Ar

2017-07-29 17:28:37 411

原创 排序算法---选择排序(Selection Sort)

查看原文:简书地址刚刚写完了冒泡排序,激动的我停不下来,然后马上看了选择排序。 发现果然踩过前面的坑之后,现在自己学起来会快很多。 所以各位学习的童鞋,你们对于数据结构和算法方面的学习一定要持之以恒,相信终有一天会练成传说中的无敌神功。哈哈,毕竟这么迟钝的我也在慢慢努力。但是我坚信:“所有的梦想都会因努力而不期而遇”!算法基本思想:从所有序列中先找到最小的,然后放到第一个位置。之后再看剩余元素中

2017-07-29 17:26:41 313

原创 排序算法---冒泡排序(Bubble Sort)

这篇博客是我在简书上写的一篇文章,直接从markdown文本拷过来的 简书地址书上说:“冒泡排序算法是所有排序算法中最简单、最基本的一种”。。。?! 哇。。。讲真我花了一个小时才完全领悟(发现自己好蠢呐,也可能是太久没碰算法和数据结构之类的东西了)不多BB,进入正题算法基本思想:对相邻的元素进行两两比较,顺序相反则进行交换,这样,每一趟会将最小或最大的元素“浮”到顶端,最终达到完全有序。就好像一

2017-07-29 17:19:24 427

原创 Ajax概述

1、什么是AjaxAjax(Asynchronous JavaScript And XML)翻译成中文就是“异步JavaScript和XML”。即使用JavaScript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML)。Ajax还有一个最大的特点就是,当服务器响应时,不用刷新整个浏览器页面,而是可以局部刷新。这一特点给用户的感受是在不知不觉中完成请求和响应过程。与服务器

2017-07-27 14:06:44 512

原创 单例模式

单例(Singleton)模式是Java中最简单的设计模式之一。这种类型的设计模式属于创建模式,因为此模式提供了创建对象的最佳方法之一。这种模式涉及一个类,它负责创建一个对象,同时确保只创建一个对象。这个类提供了一种方法来访问它的唯一对象,可以直接访问,而不需要实例化类的对象。实现实例我们将创建一个单一对象类 - SingleObject。单个对象(SingleObject)类的构造函数是私有的,并

2017-07-09 13:35:47 177

原创 抽象工厂模式

抽象工厂模式是一个超级工厂,用来创建其他工厂。 这个工厂也被称为工厂的工厂。 这种类型的设计模式属于创建模式,因为此模式提供了创建对象的最佳方法之一。在抽象工厂模式中,接口负责创建相关对象的工厂,而不明确指定它们的类。 每个生成的工厂可以按照工厂模式提供对象。实现实例 我们将创建一个Shape和Color接口并实现这些接口的具体类。在下一步中,将创建一个抽象工厂类AbstractFactory。在

2017-07-09 12:40:43 195

原创 工厂模式

工厂模式是Java中最常用的设计模式之一。 这种类型的设计模式属于创建模式,因为此模式提供了创建对象的最佳方法之一。在工厂模式中,我们没有创建逻辑暴露给客户端创建对象,并使用一个通用的接口引用新创建的对象。 实现方法我们将创建一个Shape接口和实现Shape接口的具体类。 一个工厂类ShapeFactory会在下一步中定义。 FactoryPatternDemo这是一个演示类,将使用ShapeF

2017-07-09 12:22:30 208

原创 设计模式概述

设计模式代表有经验的面向对象软件开发人员使用的最佳实践。 设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。 这些解决方案是由许多软件开发人员在相当长的时间内通过试错获得的。设计模式四人帮(GOF)是什么?1994年,有四位作者:Erich Gamma,Richard Helm,Ralph Johnson和John Vlissides发表了一本题为《设计模式 - 可重用的面向对象软件元

2017-07-08 21:36:00 311

原创 Java实现二维码的生成与识别

二维条形码最早发明于日本,它是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的,在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。所需要的jar包 QRcode.jar二维码图片类 QrcodeImg.javapackag

2017-06-12 14:54:30 2823 1

原创 秒懂Java回调函数

最近写android的蓝牙扫描功能的时候用到回调函数虽然以前也接触过(如鼠标点击事件之类的),但是一直没太注意,今天决定研究一波。先说说自己对回调函数的理解,打个比方:现在有两个人,小问和小答。小问有个数学题不知道怎么算,但是小答的数学很厉害,然后小问准备去请教小答。小问去问小答“99+1=?”;小答说“我先算一算,算好了我再用短信发给你”;小答算完后,给小问发短信“答

2017-06-10 01:13:38 283

原创 Android 通过ADB模拟按键、点击、滑动等事件

这些模拟事件都是通过ADB工具输入input命令实现的使用说明:(输入文本,键盘事件,点击事件,滑动事件) input text  input keyevent  input tap  input swipe 一:键盘事件keyevent指的是Android对应的keycode,比如home键的keycode=3,back键的keycode=4然后使用的

2017-06-02 20:18:29 3143

原创 Android—java实现apk的静默安装、普通安装

执行静默安装,正常状态下,前台无任何反应,APP在后台完成安装。该功能一般也被称为“后台安装”,实现该功能需要ROOT执行普通安装,将会弹出确认安装的提示框,与在文件管理器中打开APK文件实现安装静默安装private void silentInstall(final String path) { new Thread(new Runnable() { @

2017-06-02 19:53:40 2450 1

原创 Java位运算

Java提供的位运算符有:左移( << )、右移( >> ) 、无符号右移( >>> ) 、位与( & ) 、位或( | )、位非( ~ )、位异或( ^ ),除了位非( ~ )是一元操作符外,其它的都是二元操作符。

2017-04-24 17:16:50 357

原创 线程中断

使用interrupt()中断线程    当一个线程运行时,另一个线程可以调用对应的Thread对象的interrupt()方法来中断它,该方法只是在目标线程中设置一个标志,表示它已经被中断,并立即返回。这里需要注意的是,如果只是单纯的调用interrupt()方法,线程并没有实际被中断,会继续往下执行。    下面一段代码演示了休眠线程的中断:[java] view plain copy pr

2017-04-22 17:29:42 595

原创 Java实现多线程的两种方式

Java中实现多线程有两种方法:继承Thread类、实现Runnable接口,在程序开发中只要是多线程,肯定永远以实现Runnable接口为主,因为实现Runnable接口相比继承Thread类有如下优势:    1、可以避免由于Java的单继承特性而带来的局限;    2、增强程序的健壮性,代码能够被多个线程共享,代码与数据是独立的;    3、适合多个相同程序代码的线程区处理同一资源的情况。

2017-04-22 17:17:49 764

原创 Git命令集合

Git命令集合导图

2017-04-20 19:54:12 514

原创 自动回复聊天机器人

聊天机器人调用网上现有的接口,然后解析数据 以上是演示图片源码下载地址基本工作流程就是,调用API,解析返回的数据

2017-04-20 15:27:35 3027

原创 Linux进程管理器

linux平台上,使用java语言编写的任务管理器 源码地址工作原理在子进程里执行linux的shell命令,获取输出流,从输出流中解析数据,从而得到进程信息,实现管理进程任务。实现的功能:显示进程杀死进程性能条形图

2017-04-20 09:46:22 1209

转载 java NIO

前言: 最近在分析Hadoop的RPC(Remote Procedure Call Protocol ,远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。可以参考:http://baike.baidu.com/view/32726.htm )机制时,发现hadoop的RPC机制的实现主要用到了两个技术:动态代理(动态代理可以参考博客:http://weix

2017-03-06 20:52:39 257

转载 从0开始学习 GitHub 系列之「08.如何发现优秀的开源项目」----转载自stormzhang 原创文章

从0开始学习 GitHub 系列之「08.如何发现优秀的开源项目」

2017-02-18 12:14:19 340

转载 从0开始学习 GitHub 系列之「07.GitHub 常见的几种操作」----转载自stormzhang 原创文章

从0开始学习 GitHub 系列之「07.GitHub 常见的几种操作」

2017-02-18 12:12:42 295

转载 从0开始学习 GitHub 系列之「06.团队合作利器 Branch」----转载自stormzhang 原创文章

从0开始学习 GitHub 系列之「06.团队合作利器 Branch」

2017-02-18 12:11:22 779

转载 从0开始学习 GitHub 系列之「05.Git 进阶」----转载自stormzhang 原创文章

从0开始学习 GitHub 系列之「05.Git 进阶」

2017-02-18 12:09:26 414

转载 从0开始学习 GitHub 系列之「04.向GitHub 提交代码」----转载自stormzhang 原创文章

从0开始学习 GitHub 系列之「04.向GitHub 提交代码」

2017-02-18 12:07:37 357

转载 从0开始学习 GitHub 系列之「03.Git 速成」----转载自stormzhang 原创文章

从0开始学习 GitHub 系列之「03.Git 速成」

2017-02-18 12:03:28 540

转载 从0开始学习 GitHub 系列之「02.加入 GitHub」----转载自stormzhang 原创文章

从0开始学习 GitHub 系列之「02.加入 GitHub」

2017-02-18 11:58:52 438

转载 从0开始学习 GitHub 系列之「01.初识 GitHub」----转载自stormzhang 原创文章

从0开始学习 GitHub 系列之「01.初识 GitHub」

2017-02-18 11:52:16 370

原创 App活动定时自动跳转

App活动定时自动跳转,仿常用App启动时界面noonbiteun原创博客–App活动定时自动跳转App的小功能点,很简单几十行代码就可以实现

2017-02-16 20:49:44 1105

原创 用钩子机制实现键盘监听---键盘监听器

用钩子机制实现键盘监听—键盘监听器 Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的。而钩子是Windows系统中非常重要的系统接口,用它可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的功能。钩子的种类很多,每种钩子可以截获并处理相应的消息,如键盘钩子可以截获键盘消息,外壳钩子可以截取、启动和关闭应用程序的消息等。本文在VC6编程环境下

2016-07-10 15:46:09 1937 1

QRcode.jar

用于二维码开发

2017-06-12

自动回复聊天机器人

能够根据用户发送的消息,自动回复。

2017-04-20

键盘监控器

C++实现远程键盘监听

2016-07-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除