Java 引用传递和值传递

前几天有个朋友问了我个问题,就是 Java 中什么时候是值传递什么时候是引用传递。他的理解是,基本数据类型是值传递,复杂对象是引用传递。 所以就有了如下的一个测试代码: public class Main { public static void main(String[] args) { int a = 0; Integer b = 0; Sys... [阅读全文]

记一个非常有意思的项目

机缘巧合之下,和朋友聊天的时候,知道他们那有一个基于 Java 的 web 系统。于是,作为一个 Java 功底还算过得去的人,我觉得,应该可以去玩玩。 因为,作为一个 Javaer,说到 Java web 的时候,无外乎 Spring,Struts,Hibernate,或者 MyBatis。于是乎,作为复习,我拿过来看了下。不过第一眼确实是非常惊讶。 因为朋友那边没能拿到相关的文档,没有部署方式和设计方式,所以... [阅读全文]

Java URL 规则解释器

接上文《Java 自定义 URL 规则解析》,这次,我们来写这个结构的解释器。 上文的描述中,我们得到了这样的一个数据结构: S: start E: end loop: loop BS: branch start BE: branch end -- http --- -- m. -- -- loop: 1-2 -----... [阅读全文]

Java 自定义 URL 规则解析

正如上文说的,最近再写一个 Proxy 的爬取工具。那么有个问题就接着来了。如何快速的定义一个方便的 URL 配制方法。 举个简单的例子。我们可以看到: public final static String VPS_LIST_URL[] = { "http://www.cz88.utils/proxy/[|http_[2-3|7-9].shtml]", "http://www.site-digge... [阅读全文]

一个爬虫引发的 Java AES 问题

写在开头,为什么有这一篇文章呢?因为,最近我开始了一个项目组,就是 HTTP Proxy 的信息采集。因为之前一直有个写爬虫的习惯,但是因为一直没有一个稳定的 Proxy 的提供渠道,或者说,并没有限制的资金购买这个服务。导致了我之前的刷某些服务器,被封了 IP (也是因为懒)。 所以,为了避免以上的悲剧不再发生,就开始了这个项目组。那么,这个项目和 AES 加密有什么关系呢。其实,我的计划里,并没有关系。但是,在写爬虫爬取... [阅读全文]

Android 开发总结

忙碌的一个月终于结束了,因为老板觉得我天天在公司就负责扫地,有点物过其用。就让我接手了一个同事离职的安卓代码。因为这个属于外包吧,有明确的时间要求,所以就只能天天加班来实现。 不过,在实现的过程中,确实找到了一些共性的东西。这边拿出来分享下。 选用的设计模式 MVP 首先就是安卓项目的代码划分。之前的说法,都是MVC式的划分方式,所以会出现一个问题。Activity 中代码杂糅。所以之后就出现了 MVP 的设计模式,也... [阅读全文]

MBanner2 项目(二) --- 编写可测试的代码、实例展示

接上篇的项目基本设计,这次主要是来说具体的实现。 编写可测试的代码 不管在之前的 MBanner 1.0 分支的版本中,还是在借鉴的 QingtingBannerView 中,测试这个环节始终是遗漏的一点。毕竟都是程序员,很少会进行测试驱动开发。所以这次为了解决这个问题,我这边采用了 Junit 进行了部分的代码测试。也是一种测试驱动开发的尝试吧。 具体以具体的代码为例【MBannerLine.java】: 在 ... [阅读全文]

MBanner2 项目(一) --- 基本设计

写这篇文章的一个出发点就是,对自己的 第一版本 非常的不满意,很多地方的解决思路不够优雅。换句话说就是基于 lib 的二次自定义非常麻烦。 所以才会开启 2.0 版本的开发(反正用的人也不会多,但是我比较喜欢抠细节)。 自定义程度不高主要体现在三方面: PagerViewAdapter 实现方式为 class,并不是接口,导致无法自定义 Adapter,从而绝了换 view 的路。 PageIndic... [阅读全文]

MBanner 介绍

最近做了一个安卓项目,因为有个部分是需要实现一个可以展示标题和图片的 AD Banner。所以就同性交友网上(github)上找了一些案例。 作为一个安卓初学者,所以一开始就选用了 star 最多的那个。效果也很好,但是对方提出了一个需求,就是希望在图片上显示标题。做一个类似的蜻蜓上面的 Banner 效果。所以,就搜索到了 QingTingBannerView 这个项目。 这个项目的 star 数非常高。所以一开始认为是挺... [阅读全文]

在 Dingo/Api 中实现自定义错误回复

目前在用 Laravel 做一个 APP 后台的开发。因为都是 API,所以需要定义个通用的通信协议。这个比较好解决,而且我之前的思路也都有,具体可以看这篇:设计自认为优雅的接口(上)。这里就不再废话了。 考虑到之后的通用性和可维护性,我们决定使用 Dingo/Api 这个插件进行 API 的管理,开发。所以,理所当然的遇到了这么一个应用场景。 这是使用 Dingo/Api 之后,标准的返回值: url: http://w... [阅读全文]