自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 资源 (5)
  • 收藏
  • 关注

原创 pyqt4信号与槽详解

GUI 的程序开发人员并非需要甚至根本不需要知道所有的控件实现的底层细节,我们只需要知道当按钮按下时能够适当的相应即可。基于这一原因,Qt 和 pyqt 提供了两种通信机制:低级事件处理机制和高级事件处理机制,前者与其他 GUI 库提供的功能类似,或者被称之为 “信号与槽”。QT 的一个关键特性是它使用信号和槽来进行对象之间的通讯。当一个组件发出一个信号时,一个可用的插槽应应该做出相应。如果一个信号

2018-03-07 16:26:41 1191

转载 Java8 新语法习惯 (使用闭包捕获状态)

在 Java 编程中,我们以不严格的术语 lambda 表达式来表示 lambda 表达式和闭包。但是在某些情况下,理解它们的区别很重要。lambda 表达式是无状态的,而闭包是带有状态的。将 lambda 表达式替换为闭包,是一种管理函数式程序中的状态的好方法。无状态的生活我们在这个系列中介绍了 lambda 表达式,您应该已经对他们非常的了解了。它们是小巧的匿名函数,接受可选的参数,执行某种计算

2018-01-15 13:22:14 543

转载 Java8 新语法习惯 (级联 lambda 表达式)

在函数式编程中,函数既可以接收也可以返回其他函数。函数不在像传统的面向对象编程一样,只是一个对象的工厂或生成器,它也能够创建和返回另一个函数。返回函数的函数可以变成级联 lambda 表达式,代码非常短。尽管这样的语法初次看起来非常的陌生,但是它有自己的用途。本文将帮助您认识级联 lambda 表达式,理解它们的性质和在代码中的用途。神秘的语法看下面的一端代码:x -> y -> x > y对于不熟

2018-01-12 14:12:50 1008

转载 Java8 新语法习惯 (类型推断)

学习如何在 lambda 表达式中使用类型推断,掌握改进参数命名的技巧。概览Java8 是一个支持类型推断的 Java 版本,而且它仅对 lambda 表达式支持此功能。在 lambda 表达式中使用类型推断具有强大的作用,它将帮助您做好准备来应对未来的 Java 版本,在以后的版本中还会将类型推断用于变量等更多可能。这里的诀窍在于恰当地命名参数,相信 Java 编译器会推断出剩余的信息。大多数时候

2018-01-11 15:06:05 1806

翻译 Java8 新语法习惯 (函数接口)

了解如何创建自定义函数接口,以及为什么应该尽量使用内置的接口。概览lambda 表达式的类型是什么?一些语言使用函数值或函数对象来表示 lambda 表达式,但是 Java 语言没有这么做。Java 使用函数接口来表示 lambda 表达式类型。这其实是一种确保 Java 语言旧版本的向后兼容性的有效途径。看下面一段代码:Thread thread = new Thread(new Runnable

2018-01-10 15:22:56 312

转载 Java 8 新语法习惯 (完美的 lambda 表达式只有一行)

现在我们已经了解到函数组合的一个好处是它会获得富于表达的代码。编写简短的 lambda 表达式是实现这一功能的关键能力。本文会加深您目前对创建单行 lambda 表达式的各个方面的了解。

2018-01-10 10:25:54 1419 2

转载 Java 8 新语法习惯 (传递表达式的替代方案)

Lambda 表达式广泛用在函数式编程中,但它们很难阅读和理解。在许多情况下,lambda 表达式存在只是为了传递一个或多个形参,最好将它替换为方法引用。在本文中,将学习如何识别代码中的传递 lambda 表达式,以及如何将他们替换为相应的方法引用。方法引用的使用需要学习,但是长期收益将会大于你的付出。传递 lambda 表达式是什么?在函数式编程中常常传递 lambda 表达式作为匿

2018-01-09 13:19:43 503

翻译 Java 8 新语法习惯 (提倡使用有帮助的编码)

表达能力强是函数式编程的优势之一,但是这对于我们的代码意味着什么呢?在这部分内容中,我们将比较命令式和函数式代码的示例,判断这两种的表达能力和简洁性的能力。我们还能够了解到这些品质如何确保可读性,还需要考虑一个反面示例:对简洁性的过度追求导致代码无用。最后我们将会介绍 Java8 对于函数组合中的垂直对其点的约定。尽管 Java8 函数式编程已经出现很长时间了,但是目前来说依然没有得到充分的推广。大

2018-01-08 15:38:31 714

原创 Java 8 新语法习惯 (for 循环的函数替代方案)

我们最常用的迭代一个数据集的方式就是 for 循环,开发人员对它可谓是非常的熟悉。从 Java 8 开始,我们有多个强大的新方法可以帮助我们简化复杂的迭代。在本文中,您将了解如何使用 InStream 方法、range、iterate 和 limit 来迭代范围和跳过范围中的值。还将了解新的 takeWhile 和 dropWhile 方法。for 循环的麻烦在 Java 语言的第一个版本中就开始引

2018-01-08 15:37:00 4446

转载 Java 8 新语法习惯 (函数组合与集合管道模式)

本章节将介绍函数组合和集合管道,您可以结合这两种模式来迭代代码中的集合。了解这些模式的结构有助于您搭建自己的 java 程序,从而充分利用高阶函数和拉姆表达式。语句与表达式我们在代码中查找 for 循环,回惊奇的发现您的代码中对 for 循环的使用非常频繁。我们将这种情形称为 for 重复:只要我们需要重复似乎就会用到 for。在 Java 中 for 和 while 都是语句。语句执行一个操作但是

2018-01-05 16:01:25 1351

转载 Java 8 新语法习惯 (更轻松的函数式编程)

作为一名 Java 编程语言的开发者,我们早已习惯了使用命令式编程和面向对象对象,因为 Java 从第一个版本开始就是支持这些编程方式。然而在 Java 8 中我们获得了一组强大的新的函数特性和语法。函数式编程已经有十几年的历史,与面向对象的编程方式相比,函数式编程更简洁、更具表达力、更不容易出错,而且更容易并行化。所以在 Java 程序中引入函数特性是非常必要的。函数式编程需要我们对代码的设计方式

2018-01-04 15:51:27 541

原创 java编程思想之并发(性能优化)

性能调优在 Java SE5 类库中的 java.util.concurrent 类库中存在着数量庞大的用于性能提高的类。当细细读取这个类库时很难辨认哪些类适用于那些常规应用,而那些类适用于提高性能。比较各类互斥技术Java 包括老式的 synchronized 关键字和 Java SE5 中新的 Lock 和 Atomic 类,那么比较这些不同的方式,更多的理解他们的各自价值和使用范围,就会显得很

2018-01-03 15:49:17 634

原创 java编程思想之并发(SE5 新特性)

新类库中的构建Java SE5 的类库中引入了大量的新设计来解决并发问题的新类。学习他们将有助于编写更加简单而健壮的并发程序。

2018-01-02 16:25:03 375

原创 java编程思想之并发(死锁)

一个对象可以有 synchronized 方法或其他形式的加锁机制来防止别的任务在互斥还没有释放的时候就访问这个对象。

2017-12-29 13:49:46 249

原创 java编程思想之并发(线程之间的协作)

当你使用多线程来同时运行多个任务时,可以通过使用锁来同步两个任务的行为,从而使的一个任务不会干涉另一个任务的资源。也就是说,如果两个任务交替的步入某项共享资源,你可以使用互斥来保证任何时刻只有一个任务可以访问这项资源。线程之间的协作上面的问题已经解决了,下一步是如何使得任务彼此之间可以协作,使得多个任务可以一起工作去解决某个问题。现在的问题不是彼此之间的干涉,而是彼此之间的协作。

2017-12-28 17:21:19 420

原创 java编程思想之并发(终结任务)

有时我们需要任务被突然的终止。这一节将学习有关终止的各类问题。

2017-12-27 15:08:52 257

原创 java编程思想之并发(共享资源)

有了并发我们可以同时做很多事情,但是,两个或者多个线程互相干扰的问题也存在。如果不防范这种冲突,就可能出现两个线程同时访问一个银行账户,向同一个打印机打印,改变同一个值等问题。关注我的公号:Android开发吹牛皮共享资源单个线程每次只能做一件事情。因为只有一个实体所以永远不用担心两个人在同一个地方停车的问题。但是多线程会在同时访问一个资源。不正确的访问资源我们先做一个实验,多个任务。一个任务产生一

2017-12-26 16:35:48 397

原创 java编程思想之并发(认识多线程)

原创内容本人公众号:Android开发吹牛皮 个人站点:chaodongyang.com编程问题中的相当一大部分都可以通过顺序编程来解决。然而,对于某些问题,如果能够并行的执行程序中的多个部分,则会变得非常方便甚至非常必要,这些部分要么可以并发执行,要么在多处理器环境下可以同时执行。并发编程可以使程序执行速度得到极大的提高,或者为设计某些类型的程序提供更简单的模型。学习并发编程就像进入一个全新的领

2017-12-25 16:58:13 383

原创 Java 多线程之synchronized关键字详解

多线程的同步机制对资源进行加锁,使得在同一个时间,只有一个线程可以进行操作,同步用以解决多个线程同时访问时可能出现的问题。同步机制可以使用synchronized关键字实现。当synchronized关键字修饰一个方法时,这个方法叫做同步方法。当这个方法执行完或者发生异常时,会自动释放这个锁。1,下面来看一下两个线程在执行同一个方法的例子。package com.example;/**

2017-05-27 14:51:15 505

原创 Android系统权限解答

系统权限Android是基于Linux系统开发的,其中每个应用都有其独立的系统标识(Linux用户ID和组ID)。系统各部分也分割为不同的标识,Linux根据此将不同的应用在系统中分隔开来。一次来保证系统和应用的安全。此机制会根据特定的进程已执行特定的数据。并根据URI权限授权来临时访问特定的数据段。安全架构Android 安全架构的中心设计点是:在默认情况下任何应用都没有权限执行对其

2017-05-26 15:07:56 2123 3

原创 自定义View起步:Canvas之绘制文字

上一章节讲解了,Canvas如何绘制图片。本章节将会讲解如何利用Canvas绘制文字。绘制文字的方法比较简单,相信今天这一章节都可以看得懂。首先我们来看一下官网为我们提供了那些API来提供给我们使用。第一类:基本的文字绘制第二类:对文字进行排序第三类:按照Path路径来绘制文字通过上面常用方法的参数也可看出,绘制文字也是需要画笔的,而且文字的大小,颜色,字体,对齐方

2017-04-13 21:45:59 1025

原创 自定义View起步:Canvas之绘制图片

在前面的章节中,我们已经介绍了Canvas的一些基本操作,今天我们继续讲解,Canvas类的用法,可见这个类在自定义View中是多么的重要。今天我们来着重介绍一下如何绘制图片和文字。在这一章节学习之后我们基本上对于一些简单的自定义View就可以搞定了。但是这仅仅是刚刚开始,我还会继续带领大家深入的学习下去,做出更多更炫酷的自定义控件出来。 第一、drawPicture绘制图片上面是官网

2017-04-12 22:01:18 970

原创 自定义View起步:自定义属性二

上一篇文章讲了,如何自定义属性,以及在自定义控件的构造方法中如何获取到我们的自定义属性和设置的参数。由于上一周只有三天的时间,在忙一些项目的问题,上一周没有更新文章,不好意思大家。今天我们就来实战一下,如何利用我们的自定义属性。我们来亲自写一个自定义控件,并且利用我们的自定义属性来控制和显示我们的自定义控件。第一步:自定义属性在我们项目的res/value目录下新建attr.xml文件在里

2017-04-10 20:57:44 662

原创 自定义View起步:自定义属性一

在自定义view系列中,我们介绍过了自定义View中的几个构造方法的含义,其中有一个attr的参数,就是用来获取我们自定义view中属性的,今天我们来简单介绍一下如何自定义属性。第一步:自定义属性的声明文件在values文件夹下新建attr.xml文件 第二步:自定义View的类package net.fitrun.m

2017-04-04 12:19:58 499

原创 自定义View起步:硬件加速对绘图的影响

问题    在Android API 11之后,开始支持硬件加速,所有的ViewCanvas都会支持GPU,但是硬件加速会占用一定的RAM资源。在API 14(Android 4.0)之后默认是全部开启硬件加速的,如果你的应用全部都是标准的View和Drawable,全局都打开硬件加速是不会有问题的。然而硬件加速并不是支持所有的2D图形绘制操作,在Android4.0之后的设备上,有时候我们定

2017-03-30 21:19:55 3268

原创 自定义View起步:画布(Canvas)的基本操作

上一节讲到了如何用画布绘制基本的图形,但是很多的图形绘制也离不开对画布的操作,比如图形的位移,缩放,错切,图层的保存,回滚等,使用我们的Canvas自带的一些api可以为我们减少很多复杂的数学运算。大大减少我们的开发复杂度,否则数学函数太复杂了。一、Canvas的常用操作api    系统为我们提供了一些列的api接口,供我们使用   官方详细地址点击打开链接二、画布的基本操作

2017-03-29 17:09:33 767

原创 自定义View起步:Canvas之绘制基本形状

一、Canvas简介      Canvas在Android中被称之为画布,可以帮助我们绘制各种各样的图形。是Android平台绘制2D图形的基础。但是想要绘制出来一个完美的控件也是困难的,需要对各种基础的方法非常的熟练加以运用。二、Canvas的基本API全部的API请参考官网的文档:点击打开链接三、Canvas的一些基本操作 3.1绘制颜色 3.2初

2017-03-28 21:52:32 698

原创 自定义View起步:自定义View分类和构造函数

前言经过前面三章的内容讲解,我们了解到了自定义View的一下基础知识。从这一篇起我们将介绍自定义View的实际使用中个所需要的具体指示,比如构造方法,属性,布局和测量等各种API。这虽然是基础性的内容,但是知识量复杂庞大。所以我们定义为起步阶段。Android offers a sophisticated and powerful componentized model for build

2017-03-24 16:17:39 530

原创 自定义View基础:Android中的颜色和颜色混合

一.简单介绍Android中的颜色安卓支持的颜色模式:PS:其中字母表示通道类型,数值表示该类型用多少位二进制来描述。如ARGB8888则表示有四个通道(ARGB),每个对应的通道均用8位来描述。注意:我们常用的是ARGB8888和ARGB4444,而在所有的安卓设备屏幕上默认的模式都是RGB565,请留意这一点。以ARGB8888为例介绍颜色定义:A 从ox0

2017-03-23 22:26:32 5688

原创 自定义View基础:角度与弧度

1,为什么需要讲角度和弧度在我们讲自定义View中,我们的UI给我们的图其实并不是规则的图形,往往图形还比较酷炫,其实大多数时候都需要用到很多的数学运算来解决,其中很重要的就是弧度和角度的计算。2,什么是角度和弧度为了描述角的大小,我们在数学中用角度和弧度来表示。把一个圆周平均分成360份,其中的每一份都是1o的角。这种以“度”作为单位来度量角度单位制叫做角度制。下图是我们常见的180

2017-03-22 23:20:06 1048

原创 自定义View基础之坐标系

一.屏幕坐标系和数学坐标系的区别 移动设备上的坐标是按照屏幕左上角开始计算的,从左上角到右边是X轴,从屏幕左上角到下边是Y轴,并且都是正数。而数学中的坐标系是X轴和Y轴交叉,有正负之分。和手机屏幕的Y轴刚好相反。  实际屏幕上的默认坐标系如下:其中假设棕色部分为手机屏幕 二.View的坐标系 View的坐标是相对于所处于的父控件而言的,千万不要以为是位于所处于的

2017-03-22 17:45:02 468

原创 C语言程序设计入门

C语言是一门很重要的语言,成为高级工程师必须会的,今天就从第一个小程序,来一步一步为大家讲解一下C语言的入门,以及Code Blocks开发环境的使用。首先看下面的代码:#include #include void test();int main(){ int a = 0xf1f2f3f4; test(); printf("Hello world! %p\n"

2017-03-16 22:08:01 636

原创 java语言一切都是对象

java语言假设我们只进行面向对象的程序设计。也就是说,在开始用java进行设计之前,必须将思想转换到面向对象的世界中来。面向对象的思想使你具备使用这样一种变成语言的能力。java语言学习起来更简单,也比其他的OOP语言更佳容易。java中一切皆是对象。     java语言用引用操作对象。每一种语言都有自己操作内存中元素的方式。程序员必须注意将要操作的元素的数据类型是什么。你是直接操作元素,

2017-03-14 23:03:33 1516

原创 架构设计之UML建模详解

Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。

2016-12-23 00:11:27 6308 1

原创 全面解析JAVA注解详解

定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。作用分类:①编写文档:通过代码里标识的元数据生成文档【生成文档doc文档】② 代码分析:通过代码里标识的元数据对代码进行分析【使用反射】③编译检查:通过

2016-12-21 16:30:40 1056

原创 JAVA反射详解

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。

2016-12-21 13:10:09 382

原创 JAVA泛型详解

泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分贝成为泛型类、泛型接口、泛型方法。Java语言引入泛型的好处就是安全简单。     在Java SE 1.5之前,没有泛型的情况下,通过堆类型Object的引用来实现参数的“任意化”,这样做的缺点就是要进行显式的强制类型转换,而这种转换要求开发者

2016-12-20 19:14:10 444

原创 JVM之java虚拟机详解

jvm是java虚拟机的简称,jvm是一种用于计算机设备的规范。它是一个虚构出来的计算机,通过在真实的计算机上模拟各种计算机的功能来实现。java语言有一个非常重要的特点就是跨平台性,而使用java虚拟几是实现这一特点的关键。     下图是一张显示jvm核心组件的示意图。         一,上图显示的组件分为两个内容来看,一个是线程创建的组件,一个是线程共享的组件。   

2016-12-20 12:42:14 467

原创 android最简单的视频下载

我们在开发APP中经常会用到下载的功能,下载是一个十分繁琐的功能,代码量更是庞大,其中涉及到,多线程,线程池,断点续传,下载管理等各种问题,稍有不慎就是坑,其实android系统本身就为我们很好的解决了下载的过程问题。今天我们就使用android系统本身自带的DownloadManager来实现下载的功能。  第一步:首先加入我们所需要的权限:  

2016-11-09 10:29:59 1832

原创 android视频开发倍速播放,调整视频播放速度

最近公司做的项目中有一个这样的需求,当我的APP通过蓝牙连接跑步机的时候,需要和跑步机同步的播放频。而且跑步机上边的调节速度按钮,可以同步的使APP视频的播放速度同步的加快,这样的来达到模拟场景跑步速度的加快。最开始的解决方案,使用android原生的VideoView控件,非常轻松的就实现了跑步播放视频的功能,可是怎么控制速度呢,找来找去发现实现不了(那位大神可以做到,可以给我留言,学习学习).

2016-11-09 09:42:28 21882 7

UML建模日志

包含三个文档,UML时序图,UML类图;UML用例图的使用。非常的详细。架构师必备。

2016-12-23

log4j dsjgds

sdagdshdhgdsgdfjhftg;ldhk sd'kv S?lg bk';jdfl,

2012-11-12

dwr压缩包开发

dwr开发的比本开发包,资源全面,更新快。是一个非常不错的开发包。

2012-11-12

jdk参考文档

官方的jdk6.0参考文档,非常详细,得到不容易哦。

2012-10-11

dwr教程pdf

dwr教程pdf

2012-03-31

空空如也

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

TA关注的人

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