context

Hadoop之MapReduce的计数器

ぐ巨炮叔叔 提交于 2020-01-30 17:09:01
代码存于github: https://github.com/zuodaoyong/Hadoop Hadoop作业在运行时维护了若干个内置计数器,方便用户监控已处理数据量和已产生的输出数据量 1、采用枚举的方式统计计数 Counter getCounter(Enum<?> var1); enum CustomCounter{ normal,abnormal } context.getCounter(CustomCounter.normal).increment(1); 2、采用计数器组,计数器名称的方式统计 Counter getCounter(String var1, String var2); context.getCounter("logMapper","parseLog_true").increment(1); 3、实例 public class LogMapper extends Mapper<LongWritable,Text,Text,NullWritable>{ String[] splits=null; Text k=new Text(); @Override protected void map(LongWritable key, Text value, Context context) throws IOException,

状态模式

和自甴很熟 提交于 2020-01-30 15:50:54
模式介绍 在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的Context对象。 模式优点 1、允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。 2、将所有与某个状态有关的行为放到一个类中,并且可以方便地增加新的状态,只需要改变对象状态即可改变对象的行为。 3、允许状态转换逻辑与状态对象合成一体,而不是某一个巨大的条件语句块。 4、可以让多个环境对象共享一个状态对象,从而减少系统中对象的个数。 模式缺点 1、状态模式的使用必然会增加系统类和对象的个数。 2、状态模式的结构与实现都较为复杂,如果使用不当将导致程序结构和代码的混乱。 3、状态模式对"开闭原则"的支持并不太好,对于可以切换状态的状态模式,增加新的状态类需要修改那些负责状态转换的源代码,否则无法切换到新增状态。 使用场景 1、行为随状态改变而改变的场景。 2、条件、分支语句的代替者。 系统建模 1、创建一个State接口和实现了State接口的实体状态类。Context是一个带有某个状态的类。 2、客户端类使用Context和State对象来演示Context在状态改变时的行为变化。 系统实现 /** * Context类 */ public class Context

.netcore 3.1高性能微服务架构:webapi规范

江枫思渺然 提交于 2020-01-30 13:45:07
原文: .netcore 3.1高性能微服务架构:webapi规范 1.1 定义 1、基础接口:单一职责原则,每个接口只负责各自的业务,下接db,通用性强。 2、聚合接口:根据调用方需求聚合基础接口数据,业务性强。 1.2 协议 1. 客户端在通过 API 与后端服务通信的过程中, 应该使用 HTTPS(生产环境) 协议 2. 服务端响应的数据格式统一为JSON 1.3域名host prd环境:https://xxx-xxx-api.example.com/ uat环境:https://xxx-xxx-api-uat.example.com/ test环境:https://xxx-xxx-api-test.example.com/ dev环境:https://xxx-xxx-api-dev.example.com/ 将api放到子域名里,这种做法可以保持某些规模化上的灵活性。 1.4路径path path命名应该是以资源为导向的命名,对资源的操作是由HttpMethod(get、post、put、delete)来决定。所以一般来说url上的单词都应该是名词,一定不要是动词。一般遵循以下约定: (1)URL 的命名必须全部小写; (2) URL 必须 是易读的 URL; (3)一定不可 暴露服务器架构 (4)出现复合词汇使用下划线分隔,例如:animal_types 举几个正面例子:

(Android小应用)电话监听器

痞子三分冷 提交于 2020-01-30 01:52:11
这是一个Android练手小项目,通过一个BroadcastReceiver广播接收者监听手机启动状态,实现开机启动。因为是电话监听器,所以我们不能让用户察觉,所以不能有软件界面,这是要点,不然也不叫监听器了,主要实现的功能有对所有语音通话进行录制并上传到网上,好了,不废话了,下面一步一步地写…… 首先,我们先来了解一下Service服务 Android中的服务和windows中的服务是类似的东西,服务一般没有用户操作界面,它运行于系统中不容易被用户发觉,可以使用它开发如监控之类的程序。服务的开发比较简单,如下: 第一步:继承Service类 public class PhoneListenerService extends Service {...} 第二步:在AndroidManifest.xml文件中的<application>节点里对服务进行配置: <service android:name="PhoneListenerService"></service> 这里推荐使用eclipse图形化的界面添加 如上图所示,可以添加Service、Permission、BroadcastReceiver等,感兴趣可以自己试一下。 服务不能自己运行,需要通过调用Context.startService()或Context.bindService()方法启动服务。

MessageReceiver

允我心安 提交于 2020-01-29 20:41:45
package com . vancysoft . huafu ; import java . text . SimpleDateFormat ; import java . util . Calendar ; import org . json . JSONException ; import org . json . JSONObject ; import android . content . Context ; import android . content . Intent ; import android . util . Log ; import android . widget . Toast ; import com . tencent . android . tpush . XGPushBaseReceiver ; import com . tencent . android . tpush . XGPushClickedResult ; import com . tencent . android . tpush . XGPushRegisterResult ; import com . tencent . android . tpush . XGPushShowedResult ; import com . tencent . android .

c#基础语言编程-多态

南笙酒味 提交于 2020-01-29 15:51:55
语言中的多态性是为了使程序有扩展性,为实现多态性,在程序中体现为接口、抽象类、父类、具体类。 接口就是一种规范,解决了多重继承的问题,类似一种规范,告诉我要做什么,具有什么能力,在接口中定义写行为属性。 接口的特性 接口类类似抽象类,不能实例化接口;接口中的方法都是抽象方法,继承于此接口的非抽象类必须实现接口中所有成员。 接口只能包含方法(属性、事件、索引器最终都是方法),不能有字段、常量、构造函数和析构函数、静态变量,但是可以有委托和事件。 接口中成员不许有访问修饰符,默认为public,手动添加会编译出错。 接口中成员只有定义,没有任何实现,像抽象类一样 实现接口的类,直接实现接口中的方法,不用写override。 当显示该接口的成员时,实例成员不能通过类实例访问(不提倡用类实例访问,这样就无法体现多态性),只能通过接口实例访问,显示实现默认是private。当隐示实现接口成员,两者实例都能访问,但是要将成员表示为public。 比如: public class Person : IFace1, IFace2 { public void Fly() { Console.WriteLine("实现了IFace1中的Fly方法。"); } //显示实现接口的访问修饰符默认是没有的,类中成员没有写访问修饰符这默认就是private /

java context 讲解

有些话、适合烂在心里 提交于 2020-01-29 05:52:54
在 java 中, 常见的 Context 有很多, 像: ServletContext, ActionContext, ServletActionContext, ApplicationContext, PageContext, SessionContext ... 那么, Context 究竟是什么东西呢? 直译是上下文、环境的意思。比如像: "今天我收到了一束花, 男朋友送的!" 又或者 "今天我收到了一束花, 送花的人送错了的!" 同样是收到一束花, 在不同的上下文环境中表达的意义是不一样的。 同样的, Context 其实也是一样, 它离不开所在的上下文环境, 否则就是断章取义了。 另外, 在网络上也有些人把 Context 看成是一些公用信息或者把它看做是一个容器的, 个人觉得这种解释稍好。 接下来说说 ServletContext, ActionContext, ServletActionContext 。 1> ServletContext 一个 WEB 运用程序只有一个 ServletContext 实例, 它是在容器(包括 JBoss, Tomcat 等)完全启动 WEB 项目之前被创建, 生命周期伴随整个 WEB 运用。 当在编写一个 Servlet 类的时候, 首先是要去继承一个抽象类 HttpServlet, 然后可以直接通过

Android中动态设置GridView的列数、列宽和行高

淺唱寂寞╮ 提交于 2020-01-29 04:30:44
 在使用GridView时我们知道,列数是可以通过设计时的属性来设置的,列的宽度则是根据列数和GridView的宽度计算出来的。但是有些时候我们想实现列数是动态改变的效果,即列的宽度保持某个值,列的数量是可变的,我们可通过获取屏幕宽度并除以项目宽度来处理。请看下面的代码: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); GridView lvnote = (GridView)findViewById(R.id.gridView1); // The item width is about 200,项目宽度大概200像素 colnum = (int) (((getResources().getDisplayMetrics().widthPixels )) / 200 ); lvnote.setNumColumns(colnum); }  但是由于不同的Android设备可能有不同的宽度,项目宽度乘以获得的列数所得到的总宽度并不能填充整个屏幕的宽度,而给用户带来不好的用户体验,甚至我们可能还需要使行高和列宽保持一定的比例,那么如何动态调整项目的宽度和高度呢?  

Caused by: com.alibaba.dubbo.remoting.RemotingException

拈花ヽ惹草 提交于 2020-01-29 03:23:44
Caused by: com.alibaba.dubbo.remoting.RemotingException: Failed to bind NettyServer on /10.200.12.227:20896, cause: Failed to bind to: /0.0.0.0:20896 at com.alibaba.dubbo.remoting.transport.AbstractServer.<init>(AbstractServer.java:68) at com.alibaba.dubbo.remoting.transport.netty.NettyServer.<init>(NettyServer.java:61) at com.alibaba.dubbo.remoting.transport.netty.NettyTransporter.bind(NettyTransporter.java:31) at com.alibaba.dubbo.remoting.Transporter$Adaptive.bind(Transporter$Adaptive.java) at com.alibaba.dubbo.remoting.Transporters.bind(Transporters.java:56) at com.alibaba.dubbo.remoting

看透SpringMVC读书笔记-Tomcat篇(3)

大兔子大兔子 提交于 2020-01-29 02:13:05
Tomcat Container分析 Container是Tomcat中容器的接口,通常使用的servlet就封装在其子接口Wrapper中。 Container一共有4个子接口Engine,Host,Context,Wapper和一个默认实现类ContainerBase,每个接口都是一个容器,这4个容器都一个对应的StandardXXX的实现类,并且这些类都继承ContainerBase类。 另外Container还继承了Lifecycle接口,而且ContainerBase间接继承了LifecycleMBeanBase类,所以Engine,Host,Context,WapperWapper,这四个子容器都符合Tomcat的生命周期管理模式。 Container 的4个子容器 Engine,Host,Context,Wapper这四个子容器是逐层包含的关系,Engine是最顶层,每个service最多只能有一个Engine,Engine里面可以有多个Host,每个Host下可以有多个Context,每个Context里面可以包含多个Wapper。 4个容器的作用 Engine:引擎,用来管理多个Host,一个Service组多只能有一个Engine。 Host:站点,也可以叫虚拟主机,通过配置Host就可以添加。 Context:代表一个应用程序,或者一个WEB