自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (4)
  • 收藏
  • 关注

原创 BatchCollector 自定义微批处理工具

需求在处理大量数据的,希望每5000条保存一次Elasticsearch或者MongoDB。处理方法BatchCollector实现package com.oppo.ait.business.utils;import com.google.common.base.Preconditions;import java.util.ArrayList;import java.util...

2019-04-19 22:22:16 220

原创 MapStruct 用于DTO等代码解耦

知识点MapStruct 是一款基于注解的类字段映射工具,能够自动生成类字段映射的代码。可以自动或手动实现复杂的字段映射,深嵌套也能自动适配。需求业务对外提供Dubbo接口的时候,通常通过DTO与外部进行数据交换。要实现类的深拷贝非常麻烦,基于序列化的耗时,自己写的太麻烦。处理方法PO 和 DTO 代码@Datapublic class AnProjectInfoPo { ...

2019-04-19 20:35:12 268

原创 ThreadLocal Vs InheritableThreadLocal Vs TransmittableThreadLocal

需求:页面按钮触发一个HTTP操作,该操作包含一个不需要用户的等待结果的耗时操作。所以采用了spring mvc 提供的==@Async==public class UserContextUtils { private static ThreadLocal<UserDTO> threadLocal = new TransmittableThreadLocal<>...

2019-04-19 19:01:37 215 1

原创 Hive动态分区(Dynamic Partition)导致的内存问题

Hive动态分区(Dynamic Partition)导致的内存问题默认hive.optimize.sort.dynamic.partition是false,hive进行动态分区的时候,可以看见一直在 FileSinkOperator: New Final Path导致内存中保存太多句柄和数据,导致OOM或者内存超被Yarn Kill。开启下面的参数可以缓解内存压力。hive.optimize...

2019-04-17 17:16:16 4611

翻译 MongoDB MapReduce

官方介绍文档:http://docs.mongodb.org/manual/core/map-reduce/

2014-07-24 23:01:09 257

转载 设计模式—工厂模式

设计模式—工厂模式工厂模式在《Java与模式》中分为三类:1)简单工厂模式(Simple Factory):不利于产生系列产品;2)工厂方法模式(Factory Method):又称为多形性工厂;3)抽象工厂模式(Abstract Factory):又称为工具箱,产生产品族,但不利于产生新的产品;这三种模式从上到下逐步抽象,并且更具一般性。GOF在《设计模式》一书中

2013-09-25 10:57:10 224

转载 Eclipse快捷键大全

Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对

2013-03-18 10:52:17 264

转载 android的多线程详解

使用线程处理 耗时比较长的“业务”  有以下几种方式:  1)Activity.runOnUiThread(Runnable)  2)View.post(Runnable) ;View.postDelay(Runnable , long)  3)Handler  4)AsyncTask  Android是单线程模型,这意味着Android UI操

2013-03-15 11:00:15 350

转载 android的消息处理机制(图+源码分析)——Looper,Handler,Message

我学习android的一大乐趣是可以通过源码学习google大牛们的设计思想。android源码中包含了大量的设计模式,除此以外,android sdk还精心为我们设计了各种helper类,对于和我一样渴望水平得到进阶的人来说,都太值得一读了。这不,前几天为了了解android的消息处理机制,我看了Looper,Handler,Message这几个类的源码,结果又一次被googler的设计震撼了,

2013-03-12 15:19:11 295

转载 android MediaPlayer API

MediaPlayer类可用于控制音频/视频文件或流的播放。关于如何使用这个类的方法还可以阅读VideoView类的文档。1.状态图对播放音频/视频文件和流的控制是通过一个状态机来管理的。下图显示一个MediaPlayer对象被支持的播放控制操作驱动的生命周期和状态。椭圆代表MediaPlayer对象可能驻留的状态。弧线表示驱动MediaPlayer在各个状态之间迁移的播放控制

2013-03-11 15:22:58 448

转载 Timer与TimerTask的用法

Java2的开发包中提供了一种很使用的线程功能:提前安排将来某段时间执行某任务Timer ,TimerTask。你可以使用这些类创建后台进程,让其在等待一段规定的时间后执行,或者让其没隔一段时间执行。你也可以用Thread来完成,但利用Timer与TimerTask显然省事不少。  TimerTask实现了Runnable接口,待执行的任务置于run()中。Timer是一个安排TimerTas

2013-03-11 11:13:42 416

转载 android 代码布局

今天主要将前几天做的验证码界面改变成代码布局,学习一下用代码布局替代xml布局的不同之处。首先,代码布局需要我们利用代码来完成xml文件的功能,所以我们需要创建一个类,并继承布局类(FrameLayout,LinearLayout,RelativeLayout,TableLayout,AbsoluteLayout)这其中之一,具体继承的类要看你的布局要实现的效果,一般情况下,继承线性布局比

2013-03-07 14:15:08 478

转载 onTouch()和onTouchEvent()的区别

Android Touch Screen 与传统Click Touch Screen不同,会有一些手势(Gesture),例如Fling,Scroll等等。这些Gesture会使用户体验大大提升。Android中的Gesture识别(detector)是通过GestureDetector.OnGestureListener接口实现的。首先,Android事件处理机制是基于Listener实

2013-03-06 15:56:31 270

转载 Android - LayoutInflater 的使用

LayoutInflater is used to instantiate layout XML file into its corresponding View objects. It is never be used directly -- use getLayoutInflater()or getSystemService(String) to retrieve a standard L

2013-03-06 14:04:27 268

转载 android中LayoutInflater的3种使用以及getSystemService的API

Inflater英文意思是膨胀,在Android中应该是扩展的意思吧。 LayoutInflater的作用类似于 findViewById(),不同点是LayoutInflater是用来找layout文件夹下的xml布局文件,并且实例化!而 findViewById()是找具体某一个xml下的具体 widget控件(如:Button,TextView等)。(0)她可以有很多地方可以

2013-03-01 15:34:31 172

转载 BaseAdapter中重写getview的心得以及convertView回收的机制

主布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"

2013-03-01 13:52:32 297

转载 convertView&setTag方法的一点理解

前言首先我们要知道setTag方法是干什么的,SDK解释为TagsUnlike IDs, tags are not used to identify views. Tags are essentially an extra piece of information that can be associated with a view. They are most often used

2013-03-01 11:14:08 143

转载 关于ARGB_8888、ALPHA_8、ARGB_4444、RGB_565的理解

关于ARGB_8888、ALPHA_8、ARGB_4444、RGB_565的理解A:透明度R:红色G:绿B:蓝Bitmap.Config ARGB_4444:每个像素占四位,即A=4,R=4,G=4,B=4,那么一个像素点占4+4+4+4=16位 Bitmap.Config ARGB_8888:每个像素占四位,即A=8,R=8,G=8,B=8,那么一个像素点

2013-03-01 10:31:44 188

转载 Java命名规范

Java命名规范定义规范的目的是为了使项目的代码样式统一,使程序有良好的可读性。包的命名  (全部小写,由域名定义)Java包的名字都是由小写单词组成。但是由于Java面向对象编程的特性,每一名Java程序员都 可以编写属于自己的Java包,为了保障每个Java包命名的唯一性,在最新的Java编程规范中,要求程序员在自己定义的包的名称之前加上唯一的前缀。 由于互

2013-02-27 11:24:05 196

转载 Android中Cursor类的概念和用法

使用过 SQLite 数据库的童鞋对 Cursor 应该不陌生,如果你是搞.net 开发你大可以把Cursor理解成 Ado.net 中的数据集合相当于dataReader。今天特地将它单独拿出来谈,加深自己和大家对Android 中使用 Cursor 的理解。关于 Cursor在你理解和使用 Android Cursor 的时候你必须先知道关于 Cursor 的几件事情:

2013-02-26 15:14:08 203

原创 hdu 2489 Minimal Ratio Tree 枚举+prim

/*可能测试数据有些弱吧,没理解这句话(if there's a tie, look at the second smallest node number),依然过了,大体思路枚举(因为数据小)选的点,就确定节点的和,在用mst就确定最小的边和*/#include #include #include using namespace std;const int maxn=30;con

2012-11-05 21:53:09 167

原创 hdu 4081 Qin Shi Huang's National Road System 最优比率生成树

#include #include #include #include #include #include using namespace std;const int maxn=1010;int p[maxn],rd[maxn],cnt,n,sum,pre[maxn];bool vis[maxn];struct Nod{ int x,y;}pnt[maxn];st

2012-11-04 15:24:40 179

转载 最大权闭合图

概念:一个有权有向图,就是:求一些闭合的点的集合(即与该集合中任何一点邻接的点都在这个集合内),使这个集合的权值最大。构造方法:一个点的权值如果为正,则与s相连,且边权为该点的权值,如果为负,则与t相连,且边权为该点权值的绝对值,原来的边的权值设为正无穷。证明过程:首先引入结论,最小割所产生的两个集合中,其源点S所在集合(除去S)为最大权闭合图,接下来我们来说明一些结论

2012-11-02 21:22:57 211

原创 hdu 3917 Road constructions 最大闭合图

#include using namespace std;const int inf=0x3fffffff;const int maxm=5005;const int maxk=3010;int source,sink,head[maxm],e,dis[maxm],gap[maxm],flow[maxm],cur[maxm],ncnt,pre[maxm];struct edge{

2012-11-02 21:21:34 256

原创 hdu 4452 Running Rabbits 模拟

#include using namespace std;struct Nod{ int x,y; int s,t; char flag[2]; int f;}tom,jerry;int dir[4][2]={-1,0,0,1,1,0,0,-1},n;void findway(Nod* e,int k){ int x,y; x=e->x+e->s*dir[e->f][0]

2012-11-01 17:08:43 188

原创 hdu 4451 Dressing 水题

//怎么这次金华这么多水题???#include using namespace std;const int maxn=1005;int a[maxn],b[maxn];int main(){ int n,m,k,p,x,y; char str1[30],str2[30]; while(~scanf("%d%d%d",&n,&m,&k)&&!(n==0&&m==0&&k==0))

2012-10-31 19:34:55 149

原创 hdu 4442 Physical Examination 简单贪心

//由题意知道是贪心题 ,假设某个状态后时间tot,2种不同顺序完成2个项目//的时间为b2*((b1*tot+a1)+tot)+a2+(b1*tot+a1)+tot,b1*((b2*tot+a2)+tot)+a1+(b2*tot+a2)+tot//比较a1*b2和a2*b1即可#include #include using namespace std;const __int64 ma

2012-10-31 09:56:03 189

原创 hdu 4370 0 or 1

#include #include #include #include using namespace std;const int inf=0x3fffffff;const int maxn=305;int G[maxn][maxn],dis[maxn],vis[maxn],n;queue Q;void spfa(int src){ /*memset(vis,false,si

2012-08-30 18:50:06 190

原创 hdu 3657 Game

/*这道题和方格取数2相似,是在方格取数2的基础上的变形。方格取数2解法: 由题意知对于每一个方格,有选与不选,显然是二分的最大独立集,先求最小点权覆盖(它的补集恰好 是最大点权独立集),对于任何一条可行流 s->u->v->t, 在求最大流或最小割的时候,在这3条边中 至少选一条,将u->v设为inf,u->v就不可能存在于最小割中,就只是2选1,如果s->u或v->t选为最小

2012-08-30 11:37:24 688

hdoj 1002。。。。。

acm的 杭电1002.。。。。。。。。。。

2011-06-20

数据库 实验 管理系统

数据库 实验 管理系统。。。。。。。。。。。。。。。。。。。。。。。。

2011-06-20

基本c语言函数查询器

基本c语言函数查询器,,,,,,,,,,,,,,,,,

2011-06-03

c语言求解的数独问题

c语言求解的数独问题。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2011-05-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除