Java*

Java 多线程编程

多线程在软件开发中用得很多,现在几乎所有的软件都用到了多线程,如:QQ、迅雷、eclipe集成开发环境等。

 

什么是多线程?

 

当一个程序启动后就是一个进程,可以理解进程就是CPU的一个执行流程,而多线程就是在一个进程内执行多个线程,相当于在一个执行流程内开辟多个执行序列,举个例子:一个服务员每天要做端菜、洗碗、拖地等事情,每件事情可以理解为一个执行流程,让他开始洗碗那么他必须要把碗洗完了才能做其他的事情(流程),这样效率就很低,如果在他正在洗碗的时候能够做其它事情那么就很高效了,如他正在洗碗,这时让他去端菜,那就暂时停止洗碗去端菜,菜端完了继续洗碗。

时间片:

简单理解就是分配给线程的执行时间,实际上线程在微观上是串行执行的,也就是一个个执行,但是系统给每个线程都分配的执行时间,

如:

线程1 分配10ms的执行时间

线程2 分配10ms的执行时间

由于时间很短给人的感觉就是多个线程在一起执行。

 线程的生命周期:

一个线程从创建、启动、结束有几种状态。

java socket 多线程网络传输多个文件

     由于需要研究了下用 java socket 传输文件,由于需要传输多个文件,因此,采用了多线程设计。客户端每个线程创建一个 socket 连接,每个 socket 连接负责传输一个文件,服务端的ServerSocket每次 accept 一个 socket 连接,创建一个线程用于接收客户端传来的文件。

1、服务端

Android SDK4.0.3 及以上版本支持 Intel x86 模拟器

现在 Android SDK 终于有了 Intel x86 上的模拟器了, 现在在 sdk manager 上可以下载相应的模拟器映像:

下载安装完之后就可以在虚拟机选项中选择cpu为intel x86:

 实际运行比arm模拟器快太多了,毕竟是原生支持,现在在没有手机的情况下终于可以直接用模拟器来调试程序了:

基于 hadoop 文件系统以及 Hbase 的微博系统

一、部署前提

1.在Linux环境

2.安装部署了hadoop

3.安装部署了hbase

4.安装了web应用服务器,如tomcat、或者jetty等

5.部署struts2

二、应用介绍

     以基于Hbase的hadoop为数据库,实现用户发布微博和,关注用户及等功能,涉及到Hbase表结构设计,相应实现的Java API等一些内容。使用hbase作为微博系统的数据存储平台有如下好处:根据微博系统的特点,微博用户数量庞大,且关注和被关注数据严重不相等,这些特点刚好可以通过hbase分布式处理数据的一些特性得以满足,如果使用旧的关系数据库可能对一个单独的服务器要求非常之高。

三、部分实现

由于篇幅较长,就用最常见的用户注册和登录来举例说明,其他功能其实都类似,总的架构来说都是比较熟悉的MVC,浏览器发送请求到服务器,通过struts分发请求,最终结果又返回到浏览器。

1.用户注册/登录,前台页面就不一一描述了,就是普通的输入用户名密码然后点击注册/登录等。

struts配置

hadoop 中 savemode 的相关问题

hadoop@master:~/input$ hadoop dfs -put ./ in
put: org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot create directory /user/hadoop/in. Name node is in safe mode.

 

解决方法:

NameNode在启动的时候首先进入安全模式,如果datanode丢失的block达到一定的比例(1-dfs.safemode.threshold.pct),则系统会一直处于安全模式状态即只读状态。

dfs.safemode.threshold.pct(缺省值0.999f)表示HDFS启动的时候,如果DataNode上报的block个数达到了元数据记录的block个数的0.999倍才可以离开安全模式,否则一直是这种只读模式。如果设为1则HDFS永远是处于SafeMode。

下面这行摘录自NameNode启动时的日志(block上报比例1达到了阀值0.9990)

Android 开发之多线程处理、Handler 详解

Android开发过程中为什么要多线程

我们创建的Service、Activity以及Broadcast均是一个主线程处理,这里我们可以理解为UI线程。但是在操作一些耗时操作时,比如I/O读写的大文件读写,数据库操作以及网络下载需要很长时间,为了不阻塞用户界面,出现ANR的响应提示窗口,这个时候我们可以考虑使用Thread线程来解决。

  Android中使用Thread线程会遇到哪些问题

Experience and Lessons Learned for Large-Scale Graph Analysis using GraphX

While GraphX provides nice abstractions and dataflow optimizations for parallel graph processing on top of Apache Spark*, there are still many challenges in applying it to an Internet-scale, production setting, e.g. graph algorithms and underlying frameworks optimized for billions of graph edges and 1000s of iterations. This presentation, will show our efforts in building real-world, large-scale graph analysis applications using GraphX for some of the largest organizations/websites in the world, including both algorithm level and framework level optimizations, e.g.

Video Cut Fails sometime

I am using Intel media-for-mobile sample (https://github.com/INDExOS/media-for-mobile) to Trim/Cut video. However when I when i record video and goes to ComposerTranscodeCoreActivity some time the video is not loaded and it shows black screen and some time the video is showing there but when i click to start trim/Cut it give me Error "Failed to allocate component instance" Logcat shows error: "Unable to instantiate a decoder for type 'video/avc'."

 

I am attaching screen shots for reference.

订阅 Java*