- 博客(66)
- 收藏
- 关注
原创 AsyncTask粗糙讲解
Asynctask源码分析Asynctask的使用AsyncTask是一个抽象的类,并且要为其指定三个泛型参数,这三个参数分别是Params:这个是在执行时需要的参数,在后台任务中使用’ Progress: 如果需要返回进度是,在后台任务执行,返回的任务进行的进度 Result:当后台任务完成时,返回的结果下面是一个简单的实例 “` Java pub
2017-02-25 18:36:24 403
原创 Android的viewHolder模式
深入浅出(这部分总结的非常好)ListView之BaseAdapter的基本使用以及ViewHolder模式。话说开发用了各种Adapter之后感觉用的最舒服的还是BaseAdapter,尽管使用起来比其他适配器有些麻烦,但是使用它却能实现很多自己喜欢的列表布局,比如ListView、GridView、Gallery、Spinner等等。它是直接继承自接口类Adapter的,使用B
2017-02-25 18:35:44 691
原创 Android Studio 多渠道打包
前面我们已经介绍了使用蓝贝壳儿打包,但是那只能使用eclipse来进行,因为好像没有发现Android studio有那个插件,以前也介绍了打jar(gradlew makeJar),这里介绍使用AS利用gradlew多渠道打包(APK):signingConfigs在做地图或者一些需要正式打包的第三方功能的时候,打包调试修改在打包在调试在修改…,相信有不少小伙
2017-02-25 18:35:10 395
原创 chromium中FTP网络资源的加载
FTP网络资源的加载render进程的处理我们在浏览器地址中输入ftp://ftp.sjtu.edu.cn/,来请求ftp数据。 此时windbg会中断,因为浏览器启动了一个render进程来渲染绘制。我们在render进程中如下下断 bu chrome_child!content::ResourceDispatcher::StartAsync11这个函数由rend
2017-02-25 16:36:12 496
转载 Java之美[从菜鸟到高手演变]之HashMap、HashTable
Java集合类是个非常重要的知识点,HashMap、HashTable、ConcurrentHashMap等算是集合类中的重点,可谓“重中之重”,首先来看个问题,如面试官问你:HashMap和HashTable有什么区别,一个比较简单的回答是:1、HashMap是非线程安全的,HashTable是线程安全的。2、HashMap的键和值都允许有null值存在,而HashTable则不
2017-02-25 15:49:07 317
原创 使用tensorflow构建简单卷积神经网络
一 概要CIFAR-10分类问题是机器学习领域的一个通用基准,其问题是将32X32像素的RGB图像分类成10种类别:飞机,手机,鸟,猫,鹿,狗,青蛙,马,船和卡车。 更多信息请移步CIFAR-10和Alex Krizhevsky的演讲报告二 目标本教程的目标是建立一个相对简单的CNN卷积神经网络用以识别图像。在此过程中,本教程:高亮网络架构,训练和验证的典型
2017-02-25 15:48:29 1672
转载 TextView 的隐藏技能
字符串资源里变量替换Android开发中是拒绝硬编码的,我们需要把一些字符串放在xml中当作资源使用,假设有如下情况:"welcome">你好A,欢迎使用我们的App。11我们在程序中需要使用这个字符串,但是A是一个变量,很常规的办法是取出这个字符串,然后用String的replace方法把A替换成用户的昵称。其实,在android中有这样一个东西,那就是 XLIFF,
2017-02-25 15:47:58 638
原创 向嵌入式linux开发板移植openSSH
向嵌入式linux开发板移植openSSH晚上没事干,想着能不能把高大上的openSSH移植到我现在开发的嵌入式Linux开发板上,前不久刚弄出来dropbear,但遇到一些小问题,一会说,所以把openSSH搞上去还是可以的。开发板端为服务器端,由宿主机客户端访问。2016-8-16背景开发板:freescale i.mx6q宿主机操作系统:ubuntu 14.04开
2017-02-25 15:47:18 481
原创 Android Camera开发之基础知识篇
Android框架支持设备的相机拍照和录像功能,你的应用可以直接调用系统的Camera应用来拍照或者录像(比如微信拍照),当然也可以利用Android系统提供的API开发一个Camera应用来实现相机拍照和录像功能(比如市面上流行的360相机)。此篇文章主要记录相机开发有关的基础知识,以及带着自己的理解翻译Camera官方文档,如有翻译不恰当支出,还请指出改正。当然我会开一个有关相机开发的一个系列
2017-02-25 15:37:33 645
原创 android消息处理机制原理解析
在Android开发过程中相信屌丝程序员们都用过Handler来处理一些逻辑任务,比如发送延迟消息处理业务等逻辑,我们常用的图片加载缓存库ImageLoader和Picasso等内部也是通过Handler来最终有后台加载线程切换到主线程(UI线程)来更新页面的,今天就趁着离职有点儿时间就抽空的分析了下它的一点源码,在此总结出来。闲言少叙,书归正传!先来谈谈Looper:Looper
2017-02-25 15:35:47 430
原创 Python爬虫爬取知乎小结
最近学习了一点网络爬虫,并实现了使用Python来爬取知乎的一些功能,这里做一个小的总结。网络爬虫是指通过一定的规则自动的从网上抓取一些信息的程序或脚本。我们知道机器学习和数据挖掘等都是从大量的数据出发,找到一些有价值有规律的东西,而爬虫则可以帮助我们解决获取数据难的问题,因此网络爬虫是我们应该掌握的一个技巧。python有很多开源工具包供我们使用,我这里使用了requests、Beaut
2017-02-25 15:26:13 1915
原创 MVP框架设计详解
MVPMVP——全场最有价值球员…… 啊呸!MVP——Model-View-Presenter分层框架模式,可以说这是MVC框架设计的变形体,事实上这两种框架也存在很多的相同点。分层方式也是将Controller改成了Presenter,当然,各层内部的定义以及相互之间的关系也做了很大改变,与MVC的区别也就体现在这里。MVP简介 老规矩,拆看慢慢讲。MV
2017-02-25 15:25:42 553
原创 浅析C++多线程编程理论与实践
写这篇博客之前,由于对多线程也不是很了解,一直觉得多线程是个很神奇的东西,但项目中又需要用到,所以借此机会学习了一下,也算做个入门总结吧,写下来总是好的!言归正传,首先介绍几个多线程相关的基本概念:并发、并行、同步、异步、多线程的区别1、并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行。其中两种并发关系分
2017-02-25 15:25:12 350
原创 Node——构建Web应用
基础功能之前我们通过http模块创建了一个简单的服务器,但是对于一个网络应用来说肯定是远远不够的,在聚义的业务中我们至少有如下要求:请求方法的判断URL的路径解析URL中查询字符串的解析Cookie的解析Basic认证表单数据的解析任意格式的上传处理Session管理一切的开始都是这个函数:var server = http.createServer(function
2017-02-25 15:24:44 772
原创 Android开发之线程池使用总结
线程池算是Android开发中非常常用的一个东西了,只要涉及到线程的地方,大多数情况下都会涉及到线程池。Android开发中线程池的使用和Java中线程池的使用基本一致。那么今天我想来总结一下Android开发中线程池的使用。OK,假如说我想做一个新闻应用,ListView上有一个item,每个item上都有一张图片需要从网络上加载,如果不使用线程池,你可能通过下面的方式来开启
2017-02-25 15:23:53 296
原创 Android拍照或从图库选择图片并裁剪
一、 拍照选择图片1、使用隐式Intent启动相机//构建隐式IntentIntent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);//调用系统相机startActivityForResult(intent, 1);123412342、处理相机拍照返回的结果//用户点击了取消if(data == null
2017-02-25 15:23:23 1889
原创 MongoDB分片集群与复制集
分片集群 1.1、概念 分片集群是将数据存储在多台机器上的操作,主要由查询路由mongos、分片、配置服务器组成。 ●查询路由根据配置服务器上的元数据将请求分发到相应的分片上,本身不存储集群的元数据,只是缓存在内存中。 ●分片用来存储数据块。数据集根据分片键将集合分割为数据块,存储在不同的分片上。在生产环境下,通常一个分片由一个复制集组成。 ●配置服务器存储集群的元数据,包括数
2017-02-25 15:19:30 2586
原创 带你深入理解STL之Vector容器
C++内置了数组的类型,在使用数组的时候,必须指定数组的长度,一旦配置了就不能改变了,通常我们的做法是:尽量配置一个大的空间,以免不够用,这样做的缺点是比较浪费空间,预估空间不当会引起很多不便。STL实现了一个Vector容器,该容器就是来改善数组的缺点。vector是一个动态空间,随着元素的加入,它的内部机制会自行扩充以容纳新元素。因此,vector的运用对于内存的合理利用与运用的灵活性
2017-02-25 15:18:57 312
原创 Android活动生命周期
一、Android活动 活动是 Android 应用框架中的一个核心组件,它在一个窗口(Window)对象中绘制用户接口并响应用户的交互。 Android四大核心组件分别为Activity(活动)、Service(服务)、Content provider(数据源)、Broadcastreceiver(广播接收器)。 官方文档是这么定
2017-02-25 15:18:24 401
原创 机器学习之协同过滤
机器学习之协同过滤[睡着的水-hzjs-2016.08.18][求点赞]一、协同过滤的基本概念协同过滤是推荐引擎的一种算法,经常用到的地方像亚马逊、京东、淘宝、今日头条等隐形推荐场景。这些计算旨在补充用户-商品关联矩阵中所缺失的部分。像下面的推荐引擎就是我们的推荐系统: #MLlib 当前支持基于模型的协同过滤,其中用户和商品通过一小组隐性因子进行表达,并且这些因子也用于
2017-02-25 15:10:55 517
原创 Android Binder机制理解
一、说明 Android系统中应用很广泛的但也是最难理解的就是Binder机制了,从APP组被调到系统平台组后感觉需要学的东西更多了,思考的方式也有所改变,从是什么转变到为什么(背后的设计思想和实现细节),初次接触Framework感觉就是在于各种服务打交道,例如ActivityManagerService、WindowManagerService、PowerManagerService等等。
2017-02-25 15:10:23 301
原创 剖析金额不能用浮点数表示的原因
近期参与到了一个金融项目,开发十分的谨慎。先抛出我有问题的代码,作用是把以分为单位的金额转成以元为单位的字符串。long adjustFee;String.valueOf(adjustFee / 100.0);1212 很自信的以为这行代码简洁明了的完成了使命。同事review了我的代码后,指出这段代码会造成精度丢失的问题。先演示一个demo,构造一个浮点数丢失精度的场景。
2017-02-25 15:07:27 380
原创 Spring&WEB整合原理及源码分析
表现层和业务层整合:1. Jsp/Servlet整合spring;2. Spring MVC整合SPring;3. Struts2整合Spring;本文主要介绍Jsp/Servlet整合Spring原理及源码分析。一、整合过程 Spring&WEB整合,主要介绍的是Jsp/Servlet容器和Spring整合的过程,当然,这个过程是
2017-02-25 15:07:00 348
原创 Intent以及IntentFilter详解
1. 前言 在Android中有四大组件,这些组件中有三个组件与Intent相关,可见Intent在Android整个生态中的地位高度。Intent是信息的载体,用它可以去请求组件做相应的操作,但是相对于这个功能,Intent本身的结构更值得我们去研究。2. Intent与组件 Intent促进了组件之间的交互,这对于开发者非常重要,而且它还能做为消
2017-02-25 15:06:17 246
原创 Android 实现高斯模糊效果及低版本兼容
一、效果演示项目中用到了高斯模糊效果,查阅过一些资料,考虑到性能问题最终还是选择使用Android自带的RenderScript库来实现,关于使用RenderScript来实现高斯模糊网上也有很多类似的方法,大部分都总结的比较乱,此处算是做一个整理吧,供有类似需求的同学参考及学习。 (项目效果图)简单描述项目效果图的实
2017-02-25 13:13:44 428
原创 Greenplum优化--SQL调优篇
数据库查询预准备1. VACUUMvacuum只是简单的回收空间且令其可以再次使用,没有请求排它锁,仍旧可以对表读写vacuum full执行更广泛的处理,包括跨块移动行,以便把表压缩至使用最少的磁盘块数目存储。相对vacuum要慢,而且会请求排它锁。定期执行:在日常维护中,需要对数据字典定期执行vacuum,可以每天在数据库空闲的时候进行。然后每隔一段较长时间(两三个月)对系统表
2017-02-25 13:13:08 1418
原创 Java之IO流---字节流
1.概述1.1 IO流的引入IO流在很多语言已有体现,诸如C语言的stdio.h,C++中的iostream。Java中的IO流大抵是用于在控制台、磁盘、内存上进行数据的读写操作,完成数据的传递。我们可以对它进行如下分类:按处理的数据类型可分为字节流与字符流按流的流向可分为输入流(in)与输出流(out)按流的功能可分为节点流(Node)和过滤流(Filte
2017-02-25 13:12:38 255
原创 关于Linux TCP接收缓存以及接收窗口的一个细节解析
关于TCP的接收缓存以及通告窗口,一般而言懂TCP的都能说出个大概,但是涉及到细节的话可能理解就不那么深入了。由于我最近的工作与TCP有关,顺便又想起了很久之前遇到的一个问题:明明在接收端有8192字节的接收缓存,为什么收了不到8000字节的数据就ZeroWindow了呢?当时我的解决方案是直接扩大接收缓存完事,然后就没有然后了。后来深挖了一下细节,发现了很多曾经不知道的东西,如今对TCP
2017-02-25 13:07:31 435
原创 Java API 之 索引管理
ElasticSearch为了便于处理索引管理(Indices administration)请求,提供了org.elasticsearch.client.IndicesAdminClient接口。通过如下代码从 Client 对象中获得这个接口的实现:IndicesAdminClient indicesAdminClient = client.admin().indices();In
2017-02-25 13:06:50 493
转载 JVisualVM 进行性能分析及调优
VisualVM是Sun的一个OpenJDK项目,其目的在于为Java应用创建一个整套的问题解决工具。它集成了多个JDK命令工具的一个可视化工具,它主要用来监控JVM的运行情况,可以用它来查看和浏览Heap Dump、Thread Dump、内存对象实例情况、GC执行情况、CPU消耗以及类的装载情况。 Java开发人员可以使用 VisualVM创建必要信息的日志,系统管理人员可用来监控及控制J
2017-02-25 12:58:36 599
原创 使用pelican搭建一个Jupyter Notebook数据科学博客
写博客是一个证明你的技能,进一步加深学习和积累受众的一个非常好的方式。已经有非常多的数据科学和编程博客帮助它们的作者找到工作,或是建立了非常重要的联系。撰写博客是任何一个有想法的programmer或数据科学家在日常基础之上非常重要的一件事情。不幸的是,写博客一个不可忽视的障碍便是首先如何搭建一个博客。在本文,我们将会涉及到如何使用Python创建博客,如何使用Jupyter notebo
2017-02-25 12:53:36 457
原创 Android Service的启动过程
刚开始学习Service的时候以为它是一个线程的封装,也可以执行耗时操作。其实不然,Service是运行在主线程的。直接执行耗时操作是会阻塞主线程的。长时间就直接ANR了。我们知道Service可以执行一些后台任务,是后台任务不是耗时的任务,后台和耗时是有区别的喔。 这样就很容易想到音乐播放器,天气预报这些应用是要用到Service的。当然如果要在Service中执行耗时操作的话,开个
2017-02-25 12:52:56 275
原创 LSTM神经网络的详细推导及C++实现
LSTM隐层神经元结构: LSTM隐层神经元详细结构: //让程序自己学会是否需要进位,从而学会加法#include "iostream"#include "math.h"#include "stdlib.h"#include "time.h"#include "vector"#include "assert.h"using na
2017-02-25 12:52:08 781
原创 透过Retrofit使用看其源码设计模式
前言这篇文章我将从Retrofit的基本用法出发,透过其使用步骤,一步步的探究Retrofit的实现原理及其源码的设计模式。这篇文章可能会将Retrofit中用到的设计模式和其实现原理穿插着写,所以各位同学也可以选择性的阅读。而对于Retrofit具体使用还不太清楚的同学可以去看的另一篇文章Retrofit2的使用介绍Retrofit基本用法我以用户登录作为示例:声
2017-02-25 12:46:09 260
原创 Android最佳实践——深入浅出WebSocket协议
首先明确一下概念,WebSocket协议是一种建立在TCP连接基础上的全双工通信的协议。概念强调了两点内容:TCP基础上全双工通信那么什么是全双工通信呢?全双工就是指客户端和服务端可以同时进行双向通信,强调同时、双向通信WebSocket可以应用于即时通信等场景,比如现在直播很火热,直播中的弹幕也可以使用WebSocket去实现。WebSocket的协议
2017-02-25 12:45:35 1517
原创 UI组件:TextView及其子类
TextView的功能与用法TextView直接继承了View,它还是EditView,Button两个UI组件的父类。TextView与EditView有很多相似之处,他们之间的最大区别是EditView允许用户编辑编辑文本内容,而TextView不允许。TextView提供了大量的XML属性,这些属性不仅适用于TextView,TextView的子类也同时适用。TextView
2017-02-25 12:44:40 508
原创 Android Service的绑定过程
通常我们使用Service都要和它通信,当想要与Service通信的时候,那么Service要处于绑定状态的。然后客户端可以拿到一个Binder与服务端进行通信,这个过程是很自然的。那你真的了解过Service的绑定过程吗?为什么可以是Binder和Service通信? 同样的先看一张图大致了解一下,灰色背景框起来的是同一个类的方法,如下: 我们知道调用Context的bi
2017-02-25 12:44:05 338
原创 Oracle RAC 基本概念及入门
1、什么是cluster 一个cluster是由两个或是多个独立的、通过网络连接的servers组成的。几个硬件供应商多年以来提供了Cluster性能的各种需求。一些Clusters仅仅为了提供高可用性的,在当前活动的node发生故障时转移到次节点node。另一些是为了提供分布式的连接、工作的可扩展性。另一个Cluster的共同特点是,对于一个应用程序,它可以看做是一个单独的serv
2017-02-25 12:43:36 547
原创 JAVA线程使用全景图
晚上在家利用二个小时时间整理了Java线程使用的全景图供大家参考,如果有不妥之处,请大家及时指正。另外,由于图片没有放大功能,大家要看清晰的图还需要另存为到本地,再看
2017-02-25 12:42:41 494
原创 详解反虚拟机技术
恶意代码编写者经常使用反虚拟机技术逃避分析,这种技术可以检测自己是否运行在虚拟机中。如果恶意代码探测到自己在虚拟机中运行,它会执行与其本身行为不同的行为,其中最简单的行为是停止自身运行。近年来,随着虚拟化技术的使用不断增加,采用反虚拟机技术的恶意代码数量逐渐下降。恶意代码编写者已经开始意识到,目标主机是虚拟机,也并不意味着它就没有攻击价值。随着虚拟化技术的不断发展和普通应用,反虚拟机技术可能变得更
2017-02-25 09:48:34 677
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人