ITJS的这篇文章将会对常用的几个压缩算法的性能作一下比较。结果表明,某些算法在极端苛刻的CPU限制下仍能正常工作。 文中进行比较的算有: JDK GZIP ——这是一个压缩比高的慢速算法,压缩后的数据适合长期使用。JDK中的java.util.zip.GZIPInputStream / G...
编程语言
在做Android支付的时候肯定会用到支付宝支付, 根据官方给出的demo做起来非常费劲,所以我们需要一次简单的封装。封装的代码也很简单,就是将官网给的demo提取出一个类来方便使用。 /** * 支付宝支付 ** @author lenovo */ public class Alipay {// 商户PI...
在Android Support Library19.1版本中,Android工具小组引入了几个很酷的注解类型,供开发者在工程中使用。Support Library自身也使用这些注解,这是一个好兆头。就让我们好好研究下。 通过gradle可以很容易的把这些注解添加到我们的工程中: compile 'com.a...
Microsoft 本周发布了 Visual Studio 2015 预览版, 里面包含 Android 开发工具. 安装的时候, 如果选 Android 开发, Visual Studio 会把调试 Android 应用程序用的 Visual Studio 模拟器也装上. 在介绍这个新模拟器之前, 我们先来聊一聊, 为什么需要一个新的 A...
在本文我们再为大家介绍一个windows 7系统的小应用,就是给你的U盘加密。U盘是我们经常使用的一种移动设备,现在大多的容量也到了8GB或者16GB, 以及更高,价格可以说非常便宜了。...
要为Android应用找到一个好的架构不是一件容易的事情。谷歌似乎不太在乎这个事情,因此在设计模式上,除了Activity 生命周期管理之外,再也没有官方的推荐。 但是,为你的应用打造一个架构是非常重要的。不管你是否喜欢,任何应用最终都会有一个架构。因此你...
说明: 1).本文以TCP的发展历程解析容易引起混淆,误会的方方面面 2).本文不会贴大量的源码,大多数是以文字形式描述,我相信文字看起来是要比代码更轻松的 3).针对对象:对TCP已经有了全面了解的人。因为本文不会解析TCP头里面的每一个字段或者3次握手的细...
对于Java程序员来说,null是令人头痛的东西。时常会受到空指针异常(NPE)的骚扰。连Java的发明者都承认这是他的一项巨大失误。Java为什么要保留null呢?null出现有一段时间了,并且本人认为Java发明者知道null与它解决的问题相比带来了更多的麻烦,但是null...
微软令人意外地发布了Visual Studio Code,并支持主要的桌面平台,当然包括linux。假若你是一名需要在ubuntu工作的web开发人员,你可以非常轻松的安装Visual Studio Code。 我将要使用Ubuntu Make来安装Visual Studio Code。Ubuntu Make,就是以前的Ubuntu开...
前言 上一篇我们介绍了如何查看查询计划,该文章内容将介绍在我们查看的查询计划时的分析技巧,以及几种我们常用的运算符优化技巧,同样侧重基础知识的掌握。 通过该文章内容可以了解我们平常所写的T-SQL语句,在SQL Server数据库系统中是如何分解执行的,...
0x00 前言 天下武功,唯快不破。但密码加密不同。算法越快,越容易破。 0x01 暴力破解 密码破解,就是把加密后的密码还原成明文密码。似乎有不少方法,但最终都得走一条路:暴力穷举。也许你会说还可以查表,瞬间就出结果。虽然查表不用穷举,但表的制造过程...
Java语言通过已检测异常语法所提供的静态异常检测功能非常实用,通过它程序开发人员可以用很便捷的方式表达复杂的程序流程。 实际上,如果某个函数预期将返回某种类型的数据,通过已检测异常,很容易就可以扩展这个函数,将所提供的输入不适于所请求的计算的...
说到软件开发,有人或许会感叹了解平台SDK和API比了解语言本身更重要。 如果你是一个进入Android开发的Java开发人员,或者是一家想要确保团队使用的是正确工具的初创企业CxO,那么本文中列举的这些SDK和API或许会非常有用。 在过去4年时间里,我一直致力于构...
Google近期在Udacity上发布了Android性能优化的在线课程,分别从渲染,运算与内存,电量几个方面介绍了如何去优化性能,这些课程是Google之前在Youtube上发布的Android性能优化典范专题课程的细化与补充。 下面是渲染篇章的学习笔记,部分内容和前面的性能优...
这篇文章主要介绍在实际Android应用程序的开发中,容易导致内存泄露的一些情况。开发人员如果在进行代码编写之前就有内存泄露方面的基础知 识,那么写出来的代码会强壮许多,写这篇文章也是这个初衷。本文从Android开发中的资源使用情况入手,介绍了如何在Bit...
Java从JDK1.2版本开始,就把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。 这里重点介绍一下软引用和弱引用。 如果一个对象只具有软引用,那么如果内存空间足够,垃圾回...
在我们KVM系列专题的第四部分,我们将会一起讨论下在命令行界面下来管理KVM环境。我们分别用‘virt-install’和virsh命令行工具来创建并配置虚拟机和存储池,用qemu-img命令行工具来创建并管理磁盘映像。 Linux系统的KVM管理 在该文里没有什么新的概念,我们...
假若你有网络领域的经验,或者你正在网络公司做网络管理员或技术支持,那么你一定听说过网络监控工具。网络管理员总是在寻找最好的网络监控工具,因为这样才能了解系统状态,以便于优化性能并阻止潜在的问题。 现在市面上有很多网络监控工具,可以帮助你了解...
介绍 该篇文章将介绍如何编写一个只有200行的Python脚本,为两张肖像照上人物的“换脸”。 这个过程可分为四步: 检测面部标记。 旋转、缩放和转换第二张图像,使之与第一张图像相适应。 调整第二张图像的色彩平衡,使之与第一个相匹配。 把第二张图像的特...
安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(一) 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(二) 12. 安装 Apache Tomcat Tomcat 是由 Apache 设计的用来运行 Java HTTP web 服务器的 servlet 容器。按照下面的方法安装 tomcat,但需要指出...
1、安装Qt5 Qt5的安装比Qt4的安装简单多了,我装的是Qt5.4(qt-opensource-windows-x86-mingw491_opengl-5.4.0.exe),它集成了MinGW、Qt Creator等,不需要你再单独下载MinGW和Qt Creator。 首先,去Qt官网下载资源:qt-opensource-windows-x86-mingw491_op...
原来刚刚开始做Linux下面的多进程编程的时候,对于下面这段代码感到很奇怪: #include<unistd.h> #include<stdio.h> #include<string.h> #include<stdlib.h> #include<stdarg.h> #include<errno.h> #define LEN 2 void e...
Ehcache在很多项目中都出现过,用法也比较简单。一般的加些配置就可以了,而且Ehcache可以对页面、对象、数据进行缓存,同时支持集群/分布式缓存。如果整合Spring、Hibernate也非常的简单,Spring对Ehcache的支持也非常好。EHCache支持内存和磁盘的缓存,支持...
虽然ES5中为我们提供了Object.defineProperty方法来设置getter与setter,但此原生方法使用起来并不方便,我们何不自己来实现一个类,只要继承该类并遵循一定的规范就可以拥有媲美原生的getter与setter。 现在我们定义以下规范: 取值器跟设值器遵循格式:_x...
两周前因为公司一次裁人,好几个人的活都被按在了我头上,这其中的一大部分是一系列REST API,撰写者号称基本完成,我测试了一下,发现尽管从功能的角度来说,这些API实现了spec的显式要求,但是从实际使用的角度,欠缺的东西太多(各种各样的隐式需求)。RES...