- 博客(27)
- 收藏
- 关注
原创 synchronized猎奇
阶段1事情的起因是同事写了这样一段代码。@synchronized(@"test synchronized"){ NSLog(@"do something");}于是我指出这样应该是锁不住的,因为 synchronized 锁的是对象,而每次创建的字符串都是新对象,所以锁不住。同事跟我说,“no,no,no”,你太天真了,编译器会优化字符串,像这种写在代码里的字符串,...
2018-07-19 12:03:07
486
原创 TensorFlow入门1-CNN网络及MNIST例子讲解
1. 前言人工智能自从阿尔法狗大败李世石后就异常火爆,最近工作中需要探索 AI 在移动端的应用,趁着这个计划入门下深度学习吧。深度学习的入门曲线还是很陡峭的,看了很多资料,询问了从事相关工作的朋友后终于有点感觉了,这篇文章就讲一下我在这个过程中的所见所得吧,肯定是不专业的,如果所说有什么错误,也希望大家帮忙指出,共同进步。这个入门的文章准备分以下几个部分来说:CNN 的原理Te...
2018-05-04 07:50:39
10863
原创 基于LinkMap分析iOSAPP各模块体积
广告时间,大家喜欢我的文章,可以关注我的博客zwgeek.com1. 前言做客户端开发经常会有需要分析客户端体积的需求。比如引入了一个第三方库,这个库到底多大呢?同时,有些动态库封装了所有架构(比如x86_64,arm)的代码,但编译的时候实际打到安装包里的只有当前架构的那部分,那么这部分体积是多少呢?有时候一个模块写了很多方法,但是这些方法都没有被调用到,编译的时候实际打进安装包里的代码...
2018-04-08 18:13:03
7208
原创 fastjson使用过程中的坑
最近在工作中用到了fastjson,遇到了一些坑,在这里总结一下。简介首先,介绍一下fastjson。fastjson是由alibaba开源的一套json处理器。与其他json处理器(如Gson,Jackson等)和其他的Java对象序列化反序列化方式相比,有比较明显的性能优势。详情可以参加fastjson提供的benchmark。benchmark for fastjsonf
2017-05-16 21:31:38
22189
3
翻译 Proguard指南
之前在使用fastjson的时候遇到一些坑,这些坑中有一个和混淆选项有关,后来发现了Proguard其实是有一个官网的,里面介绍了各种情况。而我们平时开发可能就是单纯的从网上拷贝一个最佳实践的Proguard配置文件,而完全不在意各种配置项是什么意思,所以我想利用空闲时间翻译一下这个Proguard指南。以后配置Proguard的时候心里也会有底。简介ProGuard是一个集Java类
2017-05-15 17:25:04
1044
原创 SpringMVC从request到controller过程详解
例行推广一下我的博客,喜欢这篇文章的朋友可以关注我的博客http://zwgeek.com之前一篇文章 SpringMVC对象绑定时自定义名称对应关系 讲了如何去把request中的请求参数指定到对象的某个属性上。但文中只讲了一下做法,没有讲原理,因为这个原理涉及到SpringMVC时怎么处理Request的复杂过程。这篇文章就来和大家扒一扒这件事,SpringMVC是怎么把一个request
2016-12-30 14:56:43
23018
5
原创 SpringMVC对象绑定时自定义名称对应关系
例行推广一下我的博客,喜欢这篇文章的朋友可以看我的博客http://zwgeek.com这个需求来源自一个Post的Controller的请求含有太多的参数,于是想把所有的参数封装到对象中,然后Controller的方法接收一个对象类型的参数,这样后期扩展修改都比较方便,不需要动到方法签名。有一句俗话说得好,需求是第一生产力,上面的这个需求就催生了这篇文章的一系列调研。首先,这个需求SpringMV
2016-12-29 12:36:03
12276
8
原创 Activity的管理结构分析及源码解析
例行广告,喜欢这篇文章的朋友可以关注我的博客http://zwgeek.com之前几篇文章分析了Activity的启动流程,当时因为要抓启动的主线,所以中间涉及到一些类之间的关系都一笔带过了。后来再重新看前面文章的时候发现没有这部分的讲解,很影响理解,所以今天准备把这些详细拿出来讲一下。没看过Activity启动流程分析的同学可以去看一下,因为这篇文章中会直接引用启动流程中已经说过的一些点。以下是传
2016-11-02 18:03:09
794
原创 Activity启动流程番外篇
前两篇文章分析了Activity的启动流程的大部分。第一篇文章讲了程序在调用startActivity之后发生的一些操作Activity启动流程分析第二篇文章讲了一个Android程序从最开始启动到一个Activity呈现到用户之间发生的一些操作Activity启动流程分析(二)在这两篇文章之前,我就提出了三个问题,前面也分析的差不多了,准备在这篇文章中来回答这三个问题,所以如果你还没有看前两篇文章
2016-10-31 11:13:37
599
原创 Activity启动流程分析(二)
广告时间,大家喜欢我的文章,可以关注我的博客zwgeek.com前面说到,希望分析一下Activity的启动流程,整个过程准备分为三篇文章来写 - 程序调用startActivity后发生的操作 - 如果被startActivity的程序是需要启动的程序,程序在最开始初始化时发生的操作。例如在Launcher中启动一个程序。 - 如果被startActivity的程序是已经启动的程序,发生的操
2016-10-26 16:52:03
717
原创 Activity启动流程分析
广告时间,大家喜欢我的文章,可以关注我的博客zwgeek.com今天想和大家一起分享一下Activity的启动流程。这起源于我发现了一个好的现象,其实不知道大家发现没有,随着Android的发展,这几年Android开发者的素质也越来越高,我说的素质指的是对问题深度的理解,对Android总体的运行原理的分析,而不仅仅局限在应用开发层面了。还记得最开始接触Android的时候,那时候不管面试还是干嘛
2016-10-25 15:04:11
686
原创 AndroidNDK使用简介
例行推广一下我的博客http://zwgeek.com今天我们来简单说一下Android NDK的使用方法。众所周知,so文件在Android的开发过程中起到了很重要的作用,无论与底层设备打交道还是在Android安全领域。so文件都格外受人青睐。NDK就是Android发布的用于编译so文件的一套工具,引用自百度百科的一段解释 Android NDK 是在SDK前面又加上了“原生”二字,即Na
2016-10-11 18:31:04
10894
2
原创 蒙哥马利算法详解
这篇文章为大家梳理一下整个蒙哥马利算法的本质,蒙哥马利算法并不是一个独立的算法,而是三个相互独立又相互联系的算法集合,其中包括 蒙哥马利约减,是用来做取模运算的 蒙哥马利乘模,是用来计算x⋅y (mod N)x\cdot y\ (mod\ N)蒙哥马利幂模,是用来计算xy (mod N)x^y\ (mod\ N)其中蒙哥马利幂乘是RSA加密算法的核心部分。基本概念梳理几个概念,试想一
2016-10-08 13:05:13
50999
14
原创 基于SpringMVC4.3.2+Spring4.3.2+MyBatis3.4.1搭建SSM框架
终于到了框架搭建的最后一步,实现我们的终极目标SpringMVC+Spring+MyBatis的SSM框架,这篇文章也是基于之前搭建的SpringMVC+Spring+Hibernate框架演变过来的,所以没看过之前几篇文章的同学请乘传送带。基于struts2.5.2+hibernate5.2.2+spring4.3.2搭建SSH框架搭建SpringMVC+Spring4.3.2+Hibernate
2016-09-28 17:49:27
5612
原创 搭建SpringMVC+Spring4.3.2+Hibernate5.2.2框架
之前说过,我最终想搭建一个SpringMVC+Spring+MyBatis的框架,然后从SSH框架开始慢慢演化,这篇博客将讲解怎样将SSH框架中的Struts部分替换为SpringMVC做请求转发。至于为什么要替换成SpringMVC,我在基于struts2.5.2+hibernate5.2.2+spring4.3.2搭建SSH框架这篇博客里说过,以下几点:struts除了可以做请求转发,还有页面
2016-09-27 14:25:46
4349
原创 基于struts2.5.2+hibernate5.2.2+spring4.3.2搭建SSH框架
现在在学习后端框架,最后的目标是希望搭建一个基于spring mvc + mybatis + spring的框架,因为之前接触过SSH,所以想从SSH开始,慢慢演化,也巩固一下自己的知识。 之前每次搭建SSH框架都要在网上查各种资料,而且我也发现各种资料基于的SSH版本都比较老,新版本就会遇到各种各样的问题,所以基于这次的搭建流程,写一下遇到的问题和解决方法。基础需求下载 Eclipse J2EE
2016-09-26 17:45:26
6259
2
原创 记一次android程序反编译并二次打包的过程
在安全界有一句话叫不懂攻,焉知防。前几天看到有一个问题在问Android端目前防止二次打包的方法有哪些?我想从攻击的角度来说这个问题。在分析过程中讲解每一步都有哪些防范手段。下面以一个市面上大公司的app为例,讲一下我是怎么绕过它的防范机制,修改代码(弹出一个提示框),并进行二次打包,重新签名,运行的。在写这篇文的过程中,我也遇到了一些问题,我在文章的最后进行了整理提问,希望这方面经验丰富的开发者可
2016-09-26 12:48:24
7746
2
原创 实现类知乎android客户端关注和取消关注的按钮点击效果
前端时间在看Android各个客户端上比较出色的动画效果,发现两个动画做的很好的客户端,一个是豌豆荚,一个是知乎。接下来我可能会对这两个客户端的各种效果进行模仿实现。首先让我们看知乎的关注按钮点击效果,关注按钮点击后会有一层遮挡,从你点击的位置慢慢扩散开来,然后变成被点击状态,感觉非常赞。这篇文章从以下几个方面讨论这个效果。
2016-09-23 19:17:33
4084
1
原创 Scrollview嵌套listview时显示不全
大概需求是这样的,listview下有一个按钮,会显示不全,我准备在外面嵌套一层scrollview,这样可以做到可以滑动,于是我加了这样一段代码 android:id= "@+id/scroll_view" android:layout_width= "match_parent" android:layout_height=
2015-11-05 10:03:22
794
1
原创 Android端接入微信支付的详细流程
随着微信支付的越来越普及,现在几乎所有的app都会接入微信的支付API,我当前也遇到了这个问题,查了 微信的网页介绍,但还是走了很多弯路,所以把我的经验分享出来,防止网友再走弯路。我会参照微信的api介绍,加上微信给的demo一步一步来说。微信支付接入介绍参见:https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=8_5
2015-10-12 11:44:39
3936
原创 密码字典生成工具
最近无事,做了一个密码字典生成工具其实这种工具网上有很多,但是很多要收费,而且没有源代码,想修改一下也很麻烦,所以我实现了一个基于python的跨平台的,如果需要一些生成策略或者什么的改动,只要稍微改动一下就行详细信息可以参考readme代码托管在https://github.com/zgzczzw/dictoryGenerator有兴趣的同学可以联系我,共同改进
2015-09-24 15:18:17
3111
转载 C# 禁止应用程序多次启动
经常我们会有这样的需求,只让应用程序运行一个实体。通常我们的情况是,双击一个exe文件,就运行一个程序的实体,再双击一次这个exe文件,又运行这个应用程序的另一个实体。就拿QQ游戏来说吧,一台电脑上一般只能运行一个QQ游戏大厅(不过以前听说过有双开的外挂)。那我们的程序也能像QQ游戏那里禁止多次启动吗,答案是可以的,下面介绍下一个简单的实现方法,那就是Mutex(互斥)。
2012-08-27 16:47:09
2853
转载 C#启动另一应用程序
1、启动应用程序System.Diagnostics.Process pro = new System.Diagnostics.Process(); pro.StartInfo.FileName = "C:\\Program Files\\Winsoft\\WinMain.exe"; pro.Start();//关键2、启动网页System.Diagnostics.
2012-08-27 16:45:50
931
原创 初探phoneGap
说到phonegap,很多人不知道是什么,来自百度百科“PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台。它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以以此扩展无限的
2012-08-23 21:13:04
958
原创 android支持html的<input type="file">标签
工作一段时间啦,每天查阅大量的资料,得到了一些平时书上,网上不多见的知识,在这里记录一下,方便自己也方便大家。首先是html的标签,用于选中本地文件然后上传到服务器,很奇怪,这么重要的标签android的webview怎么会不支持,还好,它提供了一个接口,可以做这个,网上查过资料,是重写WebChromeClient的openFileChooser方法,但网上的Demo总不能运行,不能调用这个
2012-08-18 19:25:35
11193
2
原创 Chrome中canvas报Cannot call method 'getContext' of null
今天在看HTML5 的CANVAS,找了一段简单的代码,敲好后,用CHROME打开,竟然报出Cannot call method 'getContext' of null 这个错误,就是说getContext这个方法没有,唉?我就纳闷啦,按理说chrome对html5支持的很好啊,应该不会有这种错误啊,查了些资料也没找到,代码如下 var canvas=document.getElem
2012-08-17 17:04:55
6632
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人