Java NIO系列教程(二) Channel

本文为转载 感谢并发编程网
译文原文地址:http://ifeve.com/channels/
英文原文地址:http://tutorials.jenkov.com/java-nio/channels.html

 作者:Jakob Jenkov     译者:airu     校对:丁一

Java NIO的通道类似流,但又有些不同:

既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。 通道可以异步地读写。 通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。 正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示:

Read on →

Java NIO系列教程(一) Java NIO 概述

本文为转载 感谢并发编程网
译文原文地址:http://ifeve.com/overview/
英文原文链接:http://tutorials.jenkov.com/java-nio/overview.html

作者:Jakob Jenkov 译者:airu 校对:丁一

Java NIO 由以下几个核心部分组成:

  • Channels
  • Buffers
  • Selectors

虽然Java NIO中除此之外还有很多的类和组件,但在我看来,Channel,Buffer和Selector构成了核心的API。其他组件,如Pipe和FileLock,只不过是与三个核心组件共同使用的工具类。因此,在概述中我将集中在这三个组件上。其他组件会在单独的章节中讲到

Read on →

Java NIO 系列教程

本文章为转载,感谢并发编程网

译文原文地址:http://ifeve.com/java-nio-all/

英文原文地址:http://tutorials.jenkov.com/java-nio/index.html

作者:Jakob Jenkov 译者:郭蕾 校对:方腾飞

Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式。

Java NIO: Channels and Buffers(通道和缓冲区)

标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。

Java NIO: Asynchronous IO(异步IO)

Java NIO可以让你异步的使用IO,例如:当线程从通道读取数据到缓冲区时,线程还是可以进行其他事情。当数据被写入到缓冲区时,线程可以继续处理它。从缓冲区写入通道也类似。

Java NIO: Selectors(选择器)

Java NIO引入了选择器的概念,选择器用于监听多个通道的事件(比如:连接打开,数据到达)。因此,单个的线程可以监听多个数据通道。

Read on →

Android Fragment 之间的通讯处理

上集回顾

上一次已经有结果了,有三种通讯方式
文章连接:Click Me

1.使用接口,让Activity扮演管理角色,负责分发消息到该窗口的子View

2.使用LocalBroadcastManager + IntentFilter解决不同组件通讯,Intent负责搭载数据

3.EventBus

4.otto 这里不做介绍,下面有demo链接,基于注解的解偶通信组件

其实按照MVC的思想,Activity就真正的变成了Controler,
Activity中不涉及任何的业务逻辑的代码,只负责分发消息到不同的子View(Fragment)。
如果希望整个应用只有一个Activity,就需要再抽象出一层Controller,负责处理Activity与其子Controller的通讯

相关下载

项目

我们直接看代码吧,因为表达能力还训练,加上有点懒 ^_^ 😄
项目结构
Read on →

记录一段工具代码,很久以前写的加密解密字符串的方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/** 
     * 字符串加密 
     * @param passWord 加密密码 
     * @return 
     * @throws Exception 
     */
    public static String encryptPassword(String passWord)throws Exception
    {
//        KeyGenerator keyGenerator = KeyGenerator.getInstance("PBEWithMD5AndDES");  
        SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("PBEWithMD5AndDES");
        KeySpec keySpec = new PBEKeySpec("123123123".toCharArray());
        SecretKey secretKey = keyFactory.generateSecret(keySpec);

        PBEParameterSpec parameterSpec = new PBEParameterSpec(new byte[]{1,2,3,4,5,6,7,8},1000);
        Cipher cipher = Cipher.getInstance("PBEWithMD5AndDES");
        cipher.init(Cipher.ENCRYPT_MODE, secretKey, parameterSpec);
        byte passEn[] = cipher.doFinal(passWord.getBytes());
        System.out.println(" haha 1" + new String(passEn,"UTF-8"));
        return bytesToHexString(passEn);
    }
Read on →

干干货分享——Android开发中的学习资源大集合(译&&转)

声明

** 这是一篇译文 **先是在google+上看见老外分享的,然后又看见有人翻译并且之微博分享了,真的是很好的东西,当初我学Android的时候怎么没人给咱指条明路呢;

** 原文在这里 ** : Click Me
** 翻译de孩子 ** : 新浪微博

译文

老婆大人最近想学Android开发,向我寻求帮助。所以我觉得为了避免老婆处罚并且让她在Android应用样式风格和界面一致性方面从一开始就在正确的方向上、确保让她更清楚认识到参考Google提供的UI设计规范是如此重要,我最好能收集一些学习资源。

下面是我找到的非常好的资源,也希望能帮助到大家:

先说最重要的,学习Java语言

如果你不知道Java编程语言或者说你是从其他语言转过来的,需要熟悉下Java的话,下面这些是很好的让你开始了解Java的学习资源。

Read on →

Android-Fragment-调研

Fragment是google由3.0开始加入SDK的界面解决方案.
后续由谷歌团队维护并发行了support包以支持低版本SDK来使用Fragment

谁在使用Fragment


  • 网易新闻
  • 网易云音乐
  • 百度音乐
  • 多米
  • 豌豆荚
  • 小米app
  • Path
  • Pocket
  • Fuubo
Read on →