首页 文章 精选 留言 我的

精选列表

搜索[后台控制台],共10000篇文章
优秀的个人博客,低调大师

如何检查后台服务(Android的Service类)是否正在运行?

private boolean isServiceRunning() { ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) { if ("com.example.MyService".equals(service.service.getClassName())) { return true; } } return false; } 本文转自 netcorner 博客园博客,原文链接: http://www.cnblogs.com/netcorner/p/4783060.html ,如需转载请自行联系原作者

优秀的个人博客,低调大师

三条建议助力构建移动应用程序大数据后台

随着越来越多的企业致力于以数据为驱动进行发展,开发移动应用程序并将大数据分析整合进产品或服务中是的商业模式日渐流行。企业规模扩大伴随用户基数增多,如何应对移动应用程序带来的数据井喷成为重要问题。 使用范围越来越广的虚拟架构正是用以管理移动应用所产生的大量数据,而解决数据井喷问题的最佳方案应当使企业的注意力集中在藏于数据背后的有价值信息上,而非数据基础架构问题,如数据基础架构的成本、存储容量和灵活性。许多机构已经采用云端技术来规避这些问题。 对于如何构建大数据驱动型云终端以支撑移动应用程序架构,这里列出三条重要建议: 大量投资以构建复杂数据处理平台,而非数据管理基础构架 像 Ola Cabs 和 MyFitnessPal 这样移动应用开发的企业正不断深化数据分析研究并催生了最近的数据存储空间扩容热潮,因此这类企业也有着新的需求:构建一个可以处理大量数据的 IT 基础架构。其中最大的挑战是如何在最小化数据管理成本的同时满足不断增长的数据分析性能要求。 企业应当仔细考虑自行构建和维护数据基础架构。或者,他们可以利用亚马逊云端计算(AWS)、微软云(Microsoft Azure)和谷歌计算引擎(Google Compute Engine)等云服务优化数据管理。云技术不仅有助于降低资金成本,更重要的是,它还可以降低产品风险并减少关键项目耗时。 另外,对于任何大数据项目,为适应数据集大小的变化,数据库存储容量必须快速扩容,同时计算性能要能够在数据规模上升和下降时都快速给出精确结果。云服务提供了一个解决这些问题的便捷方法,同时它允许对所使用的数据分析模型按需付费,因此企业只需要为他们实际使用的服务进行付费,灵活性大大提高。 大数据项目的另外一个挑战是寻找创新的技术解决方案,该方案可以解决传统数据库和现有的可扩展架构忽略的问题。移动应用程序收集到的数据来自于多个不同系统,我们需要把它们转化为一种通用的格式,以便进一步分析利用。例如,企业应该考虑利用 Hive 来打开数据集中的原始 JSON 格式数据。Hive 可使用柱状格式存储的数据,比如 RCFile 和 ORC格式的数据,这使使用者减少分析查询时的读取操作且使数据集中每列变量可以被独立地访问。通过组织数据使其可读性更强并更易访问,企业将能专注于已收集到的数据而非花大量精力处理从移动应用程序中搜集到的原始数据。 利用实时查询技术维持竞争优势 移动应用程序使数据获取更便捷,使数据使用分析更具即时性更频繁。为了分析这些稳定的大数据流,企业可以对拍字节(PB)的数据源使用查询引擎技术来最优化即席交互查询功能。 大数据刚起步时,开源 Hadoop 的早期采用者通过对海量的复合结构数据进行分析得到有巨大应用价值的深层次信息从而取得竞争优势。如今,由于 SQL-on-Hadoop 技术(如云服务中的 Presto-as-a-Service)的快速发展,下一个竞争热点是实时数据查询技术。实时查询软件使企业获得更多利润,因为它能帮助决策者比竞争对手更快地获得可利用的有价值信息,并做出更好的决策。此外,通过与定位工具结合的实时查询技术,企业可以追踪消费者的位置信息,与之互动并施加影响,在提升用户体验的同时促升产品销量增长——而这一切都是实时完成的。 实时查询技术可以通过互动和累积的过程帮助使用者更快地提高获取有价值信息。通过允许用户把包含各种细节信息的原始数据集直接倒进 Hadoop 中,它使得用户避免了冗杂而缓慢的传统数据预处理和精炼过程。有必要指出的是, Hadoop 中分析的元数据被所有进程共享。这意味着,如果用户通过实时查询指令从数据中提取出附加信息,那么系统中的其他进程也可以获取到这些信息。结果是,挖掘信息的过程也加速了,且所有的部门(如市场部和运营部)都可以看到并使用这些数据,并合理使用在自己的专业领域中。 另外,Hadoop 的实时查询技术允许机构进行数据的全保真度分析,弥补了单纯的深入分析和易于搜索性所带来的缺陷。实时查询软件在既提供摘要信息又提供细节信息的同时给分析员提供了易于解决未预料到的特别问题的灵活性。因为该软件具有循环处理海量的结构化、半结构化和非结构化数据的能力,终端用户不仅可以看到隐藏在原始数据背后的趋势、关系和模式,还可以看到所有的细节信息。 Hadoop 实时查询功能最让企业满意的方面在于企业可负担其成本,并且它可以帮助提高企业利润。由于利用运行在商业服务器集群上的开源软件,基于云端技术的 Hadoop 平台可以使得每太字节(TB)数据的初始成本从几千美元减少到几百美元。利用 Hadoop 实时查询功能,人们不再需要把数据从一个系统迁移到另一个系统,这节省了机构的成本费用,更重要的是,还节省了宝贵的时间。 启用可持续灵活性 由于具有商业价值,移动应用开发企业势头日盛,然而企业的 IT 开发者正拼尽全力跟上移动应用开发人员对于访问关键业务进程和应用程序的需求。云端技术的灵活性和弹性可以帮助企业更快地适应市场环境变化。 当评估比较几个选中的云服务技术时,企业为了实现一定的性能要求应该综合考虑云服务的自动调整功能以及即时竞价决策能力。这将有助于企业节省资金,并提高投资收益。 另外,在选择大数据服务的过程中,需要有全局观并明确业务优先次序,需要记住的是这些优先性会发生变化。也就是说,不存在一个万能的基础架构。云技术吸引人的地方在于它的弹性基础架构可以与其他领域结合,使商业决策业务更加灵活高效。 最后,公司里的不同团队必须能够使用所需的最佳分析工具,从而利用不同类型的大数据工作模式作出决策。在移动应用领域中,我们还需要一些事后查询。比如,广告工作流程通常包括分析历史数据,其中有对过去行为的特定分析。另一方面,应用实时信息流分析提供“周边环境服务”的趋势正在显现。其中一个例子是,我们会询问移动应用程序:“附近正在营业的意大利餐厅中哪一家最好吃?” 总结 这三条建议将有助于确保机构能处理大量数据并应对不断增长的业务需求。把商业智能和数据分析整合进移动应用程序中已成为时下企业发展新的标配,用以帮助企业进行决策和跨部门合作。移动企业应该采取适当措施而专注于数据的价值,而不是担心应该如何管理这些数据。 本文作者:佚名 来源:51CTO

优秀的个人博客,低调大师

用java实现简单的网络通信,相当于一个最简单的控制台qq(附代码)

看完了《think in java》开始中文翻译的还行,到了后来就感觉有点乱了,干脆就看英文版的了。看完之后感触颇深。java!有前途! 开始学java网络方面的东西时,实在是无从下手,走了不少弯路。毕竟是在没有老师指导的情况下,网上文章多而不精,多是讲理论的东西。可能是太简单的缘故,高手都不屑一顾了。不过经过“不懈努力”还是给整明白了。 java网络通讯可以由"java.rmi"包和"java.net"来实现,rmi(remote method invocation)远程方法调用。如果想了解这两个包可以查看java帮助文档中的例子,本文就不做详细说明了。本文主要讲"java.net"中的"socket"通信方法. 那么什么是socket呢?一个socket连结就相当于一个生活中的电话连接。电话有电话号码,那么socket有需要什么呢?一个是主机名或域名如( [url]www.sina.com[/url])或ip地址,另一个是端口。什么是端口?如果说ip地址代表一个旅馆,那么端口就是房间号。这回明白了吧。 传统通信一般有服务端(server)和客户端(client)不过现在这种差别正在越来越小,甚至没有了c/s的差别。两个人聊qq,双方都是对等的。不过为方便起见还是按c/s讲了。 首先了解一下通讯的的基本模式。 服务端server ServerSocket listener = new ServerSocket(4700); //建立监听对象listener,端口自便不过不要设在0-1023之间 Socketserver = listener.accept(); //建立服务段对象 InputStream in = client.getInputStream(); OutputStream out = client.getOutputStream();//创建输入输出流 server.close(); 客户端client Socket client = new Socket("192.168.1.12",4700); //建立socket对象连接到192.168.1.12端口为4700的服务端(如果你只有一台电脑那 //么可以把ip设为127.0.0.1 InputStream in = client.getInputStream(); OutputStream out = client.getOutputStream();//创建输入输出流 server.close(); 好了客户端和服务端都通过in和out就可以通信了 详细代码: client: import java.io.*; import java.net.*; import ToolClass.*;//里面是一个输入类用于测试 public class Client { /** Creates a new instance of Client */ public Client() { } public static void main(String[] args){ System.out.println("this is client"); try{ String writetext=null; String get=null; Socket client = new Socket("192.168.1.12",4700); while(writetext!="bye"){ InputStream in = client.getInputStream(); OutputStream out = client.getOutputStream(); writetext = Input.readString();//send PrintWriter pout = new PrintWriter(out,true); pout.println(writetext); BufferedReader bin = new BufferedReader(new InputStreamReader(in));//receive get = bin.readLine(); System.out.println("client output:"+get); } client.close(); System.out.println("client:good bye"); } catch(IOException e){ System.out.println("err"); } } } server: import java.io.*; import java.net.*; import ToolClass.*; public class Server { /** Creates a new instance of Server */ public Server() { } public static void main(String[] args){ System.out.println("this is server"); try{ ServerSocket listener = new ServerSocket(4700); String receive=null; String send=null; Socket server = listener.accept(); while(receive!="bye"){ InputStream in = server.getInputStream(); OutputStream out = server.getOutputStream(); BufferedReader bin = new BufferedReader(new InputStreamReader(in));//receive receive = bin.readLine(); System.out.println("server output:"+receive); send = Input.readString();//sendinfo PrintWriter pout = new PrintWriter(out,true); pout.println(send); } server.close(); listener.close(); System.out.println("server:bye"); } catch(IOException e){ System.out.println("err"); } } } Input类: package ToolClass; import java.io.*; /** * * @author zsj1 */ public class Input { /** Creates a new instance of Input */ public Input() { } static InputStreamReader isr=new InputStreamReader(System.in); static BufferedReader br=new BufferedReader(isr); public static int readInt(){ int i=0; try{ i=Integer.parseInt(br.readLine()); } catch(Exception e){ System.out.println(e); } return i; } public staticfloat readFloat() { float f=0.0f; try{ f=Float.parseFloat(br.readLine()); } catch(Exception e){ System.out.println(e); } return f; } public staticString readString() { String s=""; try{ s=br.readLine(); } catch(Exception e){ System.out.println(e); } return s; } public staticdouble readDouble() { double d=0.0d; try{ d=Double.parseDouble(br.readLine()); } catch(Exception e){ System.out.println(e); } return d; } } 把三段代码放在三个.java文件里,并放在同一个文件夹下,就可以运行测试了。你愿意的话还可以改成图形界面的。 有不明白的email我 [email]xhinker@163.com[/email] 本文转自 xhinkerx 51CTO博客,原文链接:http://blog.51cto.com/xhinker/134238,如需转载请自行联系原作者

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册