- 博客(24)
- 资源 (14)
- 问答 (1)
- 收藏
- 关注
原创 GO 反射
反射反射的概念在Java中也存在,无非就是程序动态得到字段,字段值下面是GO语言的实现import ( "fmt" "reflect")func main() { type T struct { A int B string } t := T{23, "skidoo"} //反射 s := reflect.ValueOf(&t).Elem() typeOfT := s.Type() for i := 0; i < s.NumField(); i++ {
2020-05-30 11:48:49 152
原创 GO chan
管道Go语言提倡使用通信的方法代替共享内存代码import "fmt"func sum(s []int, c chan int) { sum := 0 for _, v := range s { sum += v } //计算得到的数组的值,把值发送到管道 c <- sum // send sum to c}func main() { s := []int{7, 2, 8, -9, 4, 0} //定义一个整形管道 c := make(chan int) go
2020-05-29 21:57:32 386
原创 GO 实现 interface
接口实现go语言中的接口实现是一种隐式实现import "fmt"type Say interface { sayhello() saybye()}func (t people) sayhello() { fmt.Println("hello")}// people这个struct 实现Say接口的 saybye方法 func (t people) saybye() { fmt.Println("bye")}type people struct { age int
2020-05-29 19:55:57 891
转载 Kylin build 源码解析
前言Kylin build过程是Kylin中的核心机制,理解build过程,有助于作业的优化,问题排查,理解Kylin的思想示例数据事实表+维度表核心代码BatchCubingJobBuilder2 类 public CubingJob build() { logger.info("MR_V2 new job to BUILD segment {}", seg); final CubingJob result = CubingJob.createBuildJo
2020-05-24 14:36:05 460
原创 Spring AOP 源码解读
应用场景公共模块抽象出来,简单的AOP功能编织到模块中核心技术实现动态代理,相关的拦截器都配置到了动态对象里JDK 动态代理只能代理实现接口的类invoke里封装了aop的实现CGLIB 字节码增强技术可以直接代理类对callback回调设置中,通过DynamicAdvisedInterceptor拦截器来实现AOP功能的源码解析以JDK动态代理为例JdkDynamicAopProxy@Override public Object invoke(Object proxy, Met
2020-05-23 14:34:26 199
原创 再看AOP,Where,When ,What
AOP刚开始学习Java的时候,对aop的概念,看不很明白,今天再来看AOP,现在能想其实和动态代理来看也差不多,都是隐式的给你加些功能图解切面 aspect 直白点就是要在切点插入的东西,就是what切点 pointcut 就在要什么地方 ,就是 where代码精通类public class SampleAdder { public SampleAdder() { } public int add(int a, int b) { System.out.
2020-05-19 23:21:04 246
原创 Spring IOC实现
IOC实现今天我们来看下IOC的实现原理示例代码public class Provider { public static void main(String[] args) throws Exception { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("provider.xml"); context.start(); System
2020-05-18 00:00:31 213
原创 Flink源码-6-JobMaster 启动任务
JobMasterjobmaster负责执行整个任务入口类org.apache.flink.runtime.jobmaster.JobMasterpublic CompletableFuture<Acknowledge> start(final JobMasterId newJobMasterId) throws Exception { // make sure we receive RPC and async calls start(); return callAsync
2020-05-17 19:43:58 799
原创 Flink源码-5-dispatcher,jobmanager,jobmaster关系
模式在yarn-session模式下,共享一个dispatcherorg.apache.flink.runtime.dispatcher.Dispatcher 这个类,这里接收到客户端传上来的作业图代码分析 //这里就是分发器接收到作业图 @Override public CompletableFuture<Acknowledge> submitJob(JobGraph jobGraph, Time timeout) { log.info("Received JobGraph s
2020-05-17 17:06:29 1166 1
原创 Flink源码-4-task执行
执行flink 作业的最小执行单元是task示例public class WorldCount { public static void main(String[] args) throws Exception { StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(1); Dat
2020-05-16 22:23:07 443
原创 Spring boot 启动卡住
现象一直没有启动成功排查问题用arthas排查直接 thread 查看线程状态,发现waitthread 线程id(主线程的) 得到堆栈信息发现问题代码了当然jstakc -l 命令也行总结这类卡住了的,直接把线程堆栈信息打出来看就行了...
2020-05-13 23:44:24 656
原创 Hive Jdbc处理set参数问题
问题hive jdbc 需要处理参数SQL示例 set hive.xx; set hive.xx; select * from 代码示例 String[] singSql = sql.split(";"); ArrayList<String> list = new ArrayList<>(singSql.length); for (int i = 0; i < singSql.length - 1; i++
2020-05-08 23:23:27 1546
原创 Scala implicit 隐式函数,隐式参数,隐式类
隐式函数object TestImplicitMethod { implicit def convertInt2String(i: Int) = i.toString def main(args: Array[String]): Unit = { showMessage("this is ") //为什么类型1不报错,就是因为发现类型不匹配后 //去寻找有没有匹配的函数,发现有这样的函数 showMessage(1) } def showMessage(
2020-05-08 22:03:07 255
原创 Flink源码-3-作业数据结构
大图示例代码public class WorldCount { public static void main(String[] args) throws Exception { StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); ...
2020-05-06 23:52:50 353
原创 Flink源码-2-Flink提交任务分析
代码示例public class WorldCount { public static void main(String[] args) throws Exception { StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); D...
2020-05-05 18:39:45 456
原创 Flink系列-1-Flink在yarn上启动源码分析
源码准备git clone https://github.com/apache/flink.git部署Flink在yarn可参考 https://blog.csdn.net/qq_22222499/article/details/95519743流程图分析入口类org.apache.flink.yarn.cli.FlinkYarnSessionCli开启部署clusterClie...
2020-05-05 16:10:05 601
原创 设计模式-7-建造者模式
建造者模式当你需要创建一个可能有许多配置选项的对象时, 该模式会特别有用图解示例定义接口public interface Builder { void setType(Type type); void setSeats(int seats);}接口实现类public class CarBuilder implements Builder { priv...
2020-05-05 12:11:47 117
原创 设计模式-6-装饰模式
装饰模式装饰是一种概念设计模式, 允许你通过将对象放入特殊封装对象中来为原对象增加新的行为图解接口定义public interface DataSource { void writeData(String data); String readData();}接口默认实现类public class FileDataSource implements DataSo...
2020-05-04 21:34:14 128
原创 设计模式-5-桥接模式
桥接模式桥接是一种结构型设计模式, 可将业务逻辑或一个大类拆分为不同的层次结构, 从而能独立地进行开发。图解示例桥接模式在处理跨平台应用、 支持多种类型的数据库服务器或与多个特定种类 (例如云平台和社交网络等) 的 API 供应商协作时会特别有用远程接口public interface Device { int getVolume(); void setVolu...
2020-05-04 15:57:47 112
原创 设计模式-4-适配器模式
适配器模式适配器模式是一种结构型设计模式, 它能使接口不兼容的对象能够相互合作图解示例圆孔类public class RoundHole { private double radius; public RoundHole(double radius) { this.radius = radius; } public double ge...
2020-05-04 15:29:39 151
原创 设计模式-3-工厂方法模式
抽象工厂模式工厂生产组件的接口都是抽象的,具体生产类型,由 工厂类型决定图解定义一个按钮组件public interface Button { void paint();}组件实现类macpublic class MacOsButton implements Button { @Override public void paint() { ...
2020-05-04 14:14:40 148
原创 设计模式-1-原型模式
原型模式通过key得到 一个新的对象,新的对象属性一样,内存地址不一样。对应java里的深拷贝图解实际例子java里的clone定义一个抽象类public abstract class Shape { public int x; public int y; public String color; public Shape() { } ...
2020-05-04 13:04:40 163
原创 Git配置多个账号
场景开发公司的代码,配置公司的git信息,有时候会上传自己的代码到github上,这时候就想把这个账号信息分开方法公司的git信息可以设置为全局单独想push到github的项目设置为本地就行比如设置全局信息git config --global user.name xx作用范围在这一个项目git config user.name xx验证可以用git config --...
2020-05-04 12:03:27 588
原创 JAVA开发Yarn应用
文章目录思考流程图实际代码思考我们知道在大数据领域,yarn作为资源调度框架,可以运行MR,SPARK,Flink,那它是不是 也可以运行其它任务,YARN作为资源调度框架和任务的具体的类型没有关系,只管任务的执行,那只要用API,是不是也可以自己尝试往Yarn上提交任务流程图client向resourcemanager,申请一个应用client得到一个container,启动ap...
2020-05-03 23:33:16 3109 2
javax.mail.jar
2016-06-25
commons-email-1.3.jar_mail.jar_activation.jar
2016-06-22
hadoop中找不到jobtracker的源码
2017-06-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人