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线程会遇到哪些问题

如何基于英特尔® x86平台开发和评价64位安卓* 应用

简介

现在,越来越多的移动最终用户设备支持 64 位架构。 使用 64 位安卓*系统是打入市场的理想方式。 本文将介绍英特尔® 64 位架构上的安卓系统及其独特的功能,其中包括技术详情、性能优势、问题说明,以及可用于英特尔® 凌动™ 处理器平台上的安卓系统的解决方案。

英特尔将继续针对其 64 位处理器推出领先的全新特性。 希望利用英特尔® 高级加密标准新指令(英特尔® AES-NI)以及其他创新技术的开发人员,只需在 64 位模式下对其应用进行编译即可。 英特尔正在优化面向 64 位架构的安卓系统,并创建能够为高级开发人员带来出色 CPU 功能的 SDK。

借助谷歌最近发布的 x86 64 位安卓 5.0 模拟器映像,开发人员能够针对基于英特尔凌动的设备创建 64 位应用。

  • Desarrolladores
  • Android*
  • Android*
  • HTML5
  • Java*
  • JavaScript*
  • Intermedio
  • Android
  • 32-bit
  • 64-bit
  • Android app development
  • Apps
  • performance
  • Herramientas de desarrollo
  • Optimización
  • How to correct setting AVD

    Dear Guys,

    Does anyone know how to set AVD correctly. Let the front camera on your laptop can be like a real machine front camera running at the same

    application? I tried to change but the results are not good. Hope help me to resolve the issue by intel developers,Thanks a lot.

    Set Simulator Camera   http://prntscr.com/77kzuy

    Running x64 Simulator and Camera http://prntscr.com/77kzw6

    Best Regards, Alex

    Suscribirse a Java*