Volley超时重试机制详解

2016年12月3日 没有评论

Volley超时重试机制

基础用法

Volley为开发者提供了可配置的超时重试机制,我们在使用时只需要为我们的Request设置自定义的RetryPolicy即可.
参考设置代码如下:

int DEFAULT_TIMEOUT_MS = 10000;
int DEFAULT_MAX_RETRIES = 3;
StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
    @Override 阅读全文...
分类: 移动开发 标签:

Kolin-集合详解(二)

2016年12月3日 没有评论

概述

自从Java 8支持了lambda表达式以来,Lambda表达式是实现大量函数特性的基础,让Java开发越来越趋向于流程式开发。在Kolin中,对Lambda表达式有完美的支持,又因为扩展这一特性,Kotlin也走在了函数式编程的前沿。对于集合,Kotlin提供的不同类型集合,在标准库中,对这些集合实现了一些扩展,以更种方式对集合操作。熟练的函数式编程的基础,是对相关函数有一定的认识和了解。话不多说,先看集合的这些操作到底有哪些?具体实现的功能?

集合接口

  • Iterable:父类。任何类继承这个接口就表示可以遍历序列的元素。
  • MutableIterable:在迭代期间支持移除项目的迭代。
  • Collection:这个类表示元素的泛型集合。我们可以访问函数:返回集合尺寸、集合是否为空、包含一项或一组。由于集合是不可变的,这类集合的所有方法只能请求数据。 阅读全文…
分类: 移动开发 标签:

Android面试问答题总结

2016年12月3日 没有评论

1. 什么是Activity?
四大组件之一,一般的,一个用户交互界面对应一个activity
setContentView() ,// 要显示的布局
button.setOnclickLinstener{
}, activity 是Context的子类,同时实现了window.callback和keyevent.callback, 可以处理与窗体用户交互的事件.

我开发常用的的有FragmentActivitiy,ListActivity , PreferenceActivity ,TabAcitivty等…

如果界面有共同的特点或者功能的时候,还会自己定义一个BaseActivity.
进度对话框的显示与销毁

2. 请描述一下Activity 生命周期。 阅读全文…

分类: 移动开发 标签:

[JavaEE - JPA] 性能优化: 如何定位性能问题

2016年12月3日 没有评论

要想解决性能问题,首先得要有办法定位问题,明白问题究竟是什么。

本来JPA的存在目的就是为了让开发人员能够更少地直接操作SQL,但是由于业务自身有其复杂性,如果开发人员不老练,没有踩过许许多多形形色色的坑,是很难写出高质量的JPA代码的,这也是为什么很多人说Hibernate(JPA)入门容易,精通难。实际上不是精通难,而是懒得花那么多精力去研究和发现JPA的潜在性能问题。而JPA的性能问题,可以说99%都是因为JPA Provider(一般使用的都是Hibernate,或者EclipseLink)生成的SQL效率低下或者生成并执行了你意料之外的SQL。

针对这个问题,其实不需要多么复杂的调试工具,一般而言JPA Provider就会提供一些基础的性能分析工具,以Hibernate为例(EclipseLink等其它JPA Provider请参考相关文档)介绍两种最常用的方法。 阅读全文…

分类: 编程语言(其他) 标签:

JAVA加密解密之凯撒加密(Caesar cipher)算法

2016年12月3日 没有评论

凯撒加密算法简介

凯撒加密(Caesar cipher)是一种简单的消息编码方式:它根据字母表将消息中的每个字母移动常量位k。举个例子如果k等于3,则在编码后的消息中,每个字母都会向前移动3位:a会被替换为d;b会被替换成e;依此类推。字母表末尾将回卷到字母表开头。于是,w会被替换为z,x会被替换为a。

凯撒加密算法实现

package com.jianggujin.codec;

/**
 * 凯撒加密
 * 
 * @author jianggujin
 *
 */
public class HQCaesar
{
   private 阅读全文...
分类: 编程语言(其他) 标签: