经验
文章平均质量分 63
天地不仁以万物为刍狗
天之道,损有余而补不足
人之道,损不足以奉有馀
展开
-
经验 - 熟练使用Issues
IssuesIssues是一种为你的项目跟踪任务(tasks)、强化(enhancements)以及bug的利器。它们有点类似于邮件,除了它们可以与团队的其他成员分享和讨论。大多数软件项目都会有某种bug跟踪器。而Github的跟踪器叫做Issues,在每个仓库上都会有自己的Issues部分。 Apache Issue TrackingOur project uses JI...原创 2018-12-21 14:47:51 · 350 阅读 · 0 评论 -
面试 - kafka中partition和消费者对应关系
简洁易懂的总结需要Mark1个partition只能被同组的一个consumer消费,同组的consumer则起到均衡效果消费者多于partitiontopic: test 只有一个partition创建一个topic——test,bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-fa...转载 2019-02-19 12:25:04 · 338 阅读 · 0 评论 -
面试 - 反射中Class.forName()和ClassLoader.loadClass()的区别 ,判断一个类是否已经被加载
ClassLoader关键在于加载 -> 链接(验证+准备+解析) -> 初始化(使用前的准备) -> 使用 -> 卸载 可以只加载,不链接ClassLoader.loadClass(className)ClassLoader.loadClass(className,false)也可以加载,并链接Class.forName(classNa...原创 2019-02-19 13:14:12 · 2503 阅读 · 1 评论 -
java - JAVA自定义注释
定义Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。包含在 java.lang.annotation 包中。1、元注解元注解是指注解的注解。包括 @Retention @Target @Document @Inherited四种。1.1、@Retention: 定义...转载 2019-03-01 10:39:05 · 252 阅读 · 0 评论 -
经验 - Mark :Java8 Stream类的collect方法详解
简单明了的总结要MarkStream API中有两种collect方法:1. <R, A> R collect(Collector<? super T, A, R> collector);2. <R> R collect(Supplier<R> supplier, BiConsumer<R, ? super T> accumu...转载 2019-02-19 17:58:11 · 315 阅读 · 0 评论 -
面试 - Iass Pass SasS三种云服务区别
针对点不同:Iass(基础设施)、Pass(平台)、Sass(软件)IaaS:Infrastructure-as-a-Service(基础设施即服务)第一层叫做IaaS举例:几年前如果你想在办公室或者公司的网站上运行一些企业应用,你需要去买服务器,或者别的高昂的硬件来控制本地应用,才能让你的业务正常运行。但现在可以租用IaaS公司提供的场外服务器,存储和网络硬件。这样一来,便大...转载 2019-02-14 17:46:53 · 2121 阅读 · 0 评论 -
JVM - dump,常用启动参数,垃圾回收参数
java获取内存dump的几种方式1、获取内存详情:jmap -dump:format=b,file=e.bin pid这种方式可以用 jvisualvm.exe 进行内存分析,或者采用 Eclipse Memory Analysis Tools (MAT)这个工具2. 获取内存dump: jmap -histo:live pid这种方式会先出发fullgc,所有如果不希望触发f...原创 2019-02-20 16:49:28 · 3494 阅读 · 0 评论 -
经验 - github中的watch、star、fork、following的作用
fork:将【开源项目】拷贝一份到自己的账号下 fork就相当于在原本的项目分支上建立一个分支,这个分支属于你自己,你也可以任意修改。如果想将你修改后的代码整合到原有的项目中,需要做pull request操作,当然这得经过作者同意。star:给【项目】点赞watch:收听【开源项目】的动态follow:关注【作者】的动态总结:star 的作用是收藏,目的是方...转载 2019-02-26 10:05:35 · 1994 阅读 · 0 评论 -
经验 - Hadoop中 FileOutputCommitter 与 FileSystem 的关系
关系FileSystem :是文件系统FileOutputCommitter :是文件输出的规则文件写用FileSystem ,但怎么写,写到哪里等这些规则,是FileOutputCommitter决定的扩展性根据 hadoop 的扩展性,可以扩展hdfs文件系统,AWS 的S3文件系统, Openstack的swift文件系统所以也可以扩展相应的outputCommitt...原创 2019-03-05 12:35:04 · 681 阅读 · 0 评论 -
经验 - MQTT和MQ的区别
两者应用场合不同Kafka是为了数据集成的场景,与以往Pub/Sub消息总线不一样,通过分布式架构提供了海量消息处理、高容错的方式存储海量数据流、保证数据流的顺序等特性。可以参考云上的卡夫卡 - 数据工会。 MQTT是为了物联网场景而优化,不但提供多个QoS选项(exact once、at least once、at most once),而且还有层级主题、遗嘱等等特性。可以参考MQTT入门...原创 2019-02-26 16:43:53 · 7464 阅读 · 0 评论 -
经验 - pipeline机制
1、pipeline的产生 从一个现象说起,有一家咖啡吧生意特别好,每天来的客人络绎不绝,客人A来到柜台,客人B紧随其后,客人C排在客人B后面,客人D排在客人C后面,客人E排在客人D后面,一直排到店面门外。老板和三个员工首先为客人A准备食物:员工甲拿了一个干净的盘子,然后员工乙在盘子里装上薯条,员工丙再在盘子里放上豌豆,老板最后配上一杯饮料,完成对客人A的服务,送走客人A,下一位客人B开...转载 2019-03-04 17:41:19 · 687 阅读 · 0 评论 -
Issue Mark - 断开的管道 java.io.IOException: Broken pipe 解决方法
断开的管道 java.io.IOException:Broken pipe解决方法一、Broken pipe产生原因分析1.当访问某个服务突然服务器挂了,就会产生Broken pipe;2.客户端读取超时关闭了连接,这时服务器往客户端再写数据就发生了broken pipe异常!二、方案1.问题一分析服务器为什么挂了。2.问题二使用jps/jstack分析线程栈,看是不是...转载 2019-03-20 12:56:13 · 1612 阅读 · 0 评论 -
经验 - HtttpTimeOut种类总结
1. connectTimeOut:指建立连接的超时时间,比较容易理解2. connectionRequestTimeOut:指从连接池获取到连接的超时时间,如果是非连接池的话,该参数暂时没有发现有什么用处3. socketTimeOut:指客户端和服务进行数据交互的时间,是指两者之间如果两个数据包之间的时间大于该时间则认为超时,而不是整个交互的整体时间,比如如果设置1秒超时,如果每隔0....原创 2019-04-01 17:27:33 · 396 阅读 · 0 评论 -
Array 包名为什么是java.lang.reflect.Array, Array的作用?
java.lang.reflect.Array类提供静态方法来动态创建和访问Java数组。Array允许在get或set操作期间扩展转换,但如果发生缩小转换,则会抛出IllegalArgumentException异常。此类提供了创建和操作数组的一系列静态(static)本地(native)方法。这些功能即使不通过此类,也可以实现,比如创建数组。Object arr = Arra...原创 2019-04-18 10:17:04 · 1834 阅读 · 0 评论 -
经验 - javassist【动态改字节码】 javassist.CannotCompileException: by java.lang.LinkageError
这里举个简单的例子,来记录下如何用CtClass创建一个类,并且往这个类里面新加方法,下面是代码,可以直接运行:Java代码package seeeyou.app.test;import java.io.IOException;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.M...转载 2019-02-18 18:37:52 · 6674 阅读 · 3 评论 -
Java 面试 - 在java中如何判断一个类是否存在
Apache Commons-Logging 中的解决方案:public class LogSource { // ------------------------------------------------------- Class Attributes static protected Hashtable logs = new Hashtable(); ...转载 2019-02-18 17:43:06 · 5502 阅读 · 0 评论 -
Hadoop - OutputFormat中OutputCommitter解析
在 Hadoop中,OutputFormat和InputFormat是相对应的两个东西。相比于InputFormat,OutputFormat似乎没 有那么多细节。InputFormat涉及到对输入数据的解析和划分,继而影响到Map任务的数目,以及Map任务的调度。而OutputFormat似乎像其字面意思那样,仅仅是完成对输出数据的格式化。对于输出数据的格式化,这个应该没什么值得多说的。根据...转载 2019-02-27 17:19:47 · 590 阅读 · 0 评论 -
学习笔记 - Rest full API 总结
REST API 概念 Representational State Transfer一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。REST中的资...原创 2018-12-21 15:56:34 · 236 阅读 · 0 评论 -
(*待续*)Mark问题 - 浏览器怎么发送put 和 patch 请求等
浏览器是否支持 put 和 patch 请求首先得看浏览器是否支持发送 put 和 patch 请求实际上HTML5以前,FORM都仅支持GET和POST。HTML5 以后支持 put 和 patch 请求 Ajax发请求 和 浏览器发的请求一样吗ajax的原理是用XMLHttpRequest 对象或ActiveXObject对象所有现代浏览器 (IE7...原创 2018-12-21 16:32:36 · 977 阅读 · 1 评论 -
顶级程序员和普通程序员最大的5个区别
1. 勇于去研究你不懂的代码一般人都不愿意去研究自己不曾接触过的代码,很多人都没有尝试就放弃了。如果你经常去研究你没有接触过的代码,你就会越来越熟悉不同的代码结构和设 计模式。现在人们很容易就接触到优秀的开源代码资源,你可以很方便的就下载下来做一些改动或者调试,去研究为什么代码可以这么写。除了代码之外,很多人对于陌生的工作内容也会感到恐惧。每次换工作的时候,你可能都会遇到新公司的工作内容和...转载 2018-12-25 12:19:12 · 236 阅读 · 1 评论 -
经验笔记 - java中常见的异常 java.lang.ClassCastException
java.lang.ClassCastExceptionjava.lang.ClassCastException的java类型转换异常这个错误也很常见,通常在程序中出现强制类型转换时出现这个错误,如下面这段代码所示: public static Map m = new HashMap() { { put("a", "2"); } }; public s...原创 2019-01-18 09:19:27 · 67599 阅读 · 0 评论 -
12306能扛住明星出轨这种流量冲击吗?
整理 | Jane出品 | AI科技大本营 2019 年的春运将于明天正式开启,据国务院新闻办公室 18 日在新闻发布会上的介绍,今年预计全国旅客发送量将达到 29.9 亿人次,比去年春运增长 0.6%。最近基于各种软件、小程序的抢票大战已经如火如荼,每年最难买的就是一张春运回家的票。据 2018 年春运期间的数据统计,12306 日均页面浏览量达到 556.7 亿次,最高峰时段页面浏...转载 2019-01-23 18:47:18 · 224 阅读 · 0 评论 -
学习笔记 - Hadoop OutputFormat committer 浅谈
总结Hadoop OutputFormat 大体可以分为三部分功能1,写文件 -- (各种文件格式 avro, parquet seqence)2, 验证 -- 各种验证3, committer 把文件提交到哪里,怎么提交,提交的路径等功能转:在 Hadoop中,OutputFormat和InputFormat是相对应的两个东西。相比于InputFormat,Ou...转载 2019-01-24 14:56:06 · 240 阅读 · 0 评论 -
学习总结 - java 泛型擦除问题
java泛型擦除Java的泛型是伪泛型。在编译期间,所有的泛型信息都会被擦除掉。正确理解泛型概念的首要前提是理解类型擦出(type erasure)Java中的泛型基本上都是在编译器这个层次来实现的。在生成的Java字节码中是不包含泛型中的类型信息的。使用泛型的时候加上的类型参数,会在编译器在编译的时候去掉。这个过程就称为类型擦除。如在代码中定义的List<object>...原创 2019-01-31 13:49:47 · 245 阅读 · 0 评论 -
学习总结 - Java 字节码操作类库
常见的字节码操作类库1.BCELByte Code Engineering Library(BCEL),这是Apache Software Foundation的Jakarta项目的一部分。BCEL是Java classworking 广泛使用的一种框架,它可以让您深入jvm汇编语言进行类库操作的细节。BCEL与javassist有不同的处理字节码方法,BCEL在实际的jvm指令层次上...原创 2019-01-31 13:52:38 · 540 阅读 · 0 评论 -
学习笔记 - 注解 @SuppressWarnings
上述注解是jse提供的注解。作用是屏蔽一些无关紧要的警告。使开发者能看到一些他们真正关心的警告。从而提高开发者的效率关键字 用途 解释 all to suppress all warnings 抑制所有警告 boxing to suppress warnings relative to boxing/unboxing operations 抑制装箱...转载 2019-01-31 18:29:48 · 105 阅读 · 0 评论 -
java面试 - 反射机制
是什么 Java Reflaction in Action有这么一句话,可以解释。反射是运行中的程序检查自己和软件运行环境的能力,它可以根据它发现的进行改变。通俗的讲就是反射可以在运行时根据指定的类名获得类的信息。反射是:指程序可以访问、检测和修改它本身状态或行为的一种能力反射的好处是:可以在运行时确认对象以及方法。为什么 我们为什么要使用反射,它的作用是什么,它在...原创 2019-01-22 18:35:27 · 130 阅读 · 0 评论 -
面试 - HDFS一些概念的理解
1.HDFS数据存放策略:分块存储+副本存放。2.数据拓扑结构(即数据备份):默认存放3份,可以通过修改配置文件hdfs-site.xml修改备份数量,如果本机在集群中,第一份就会存放到本节点即本机上,如果不在集群中,就通过负载均衡存放到一个相应的随机节点上,第二份存放在同机柜的不同节点上,第三份存放在不同机柜的某个节点上。3.数据查找:就近原则,现在本节点上查找,再从本机柜上查找,最后再...转载 2019-02-14 17:44:06 · 294 阅读 · 0 评论 -
java面试 : JAVA中 常量的储存位置
常量池:存放字符串常量和基本类型常量(public static final)常量池:JVM为每个已加载的类型维护一个常量池,常量池就是这个类型用到的常量的一个有序集合。包括直接常量(基本类型,String)和对其他类型、方法、字段的符号引用。池中的数据和数组一样通过索引访问。由于常量池包含了一个类型所有的对其他类型、方法、字段的符号引用,所以常量池在Java的动态链接中起了核心作用。常量池存...原创 2019-01-29 19:52:57 · 13357 阅读 · 27 评论 -
经验Mark - 遇到的问题的Mark
问题1 :Caused by: java.lang.LinkageError: loader (instance of org/apache/catalina/loader/WebappClassLoader): attempted duplicate class definition for name: "ru/testScandJavaCafee/controller/Helper2"...原创 2019-02-21 19:18:16 · 620 阅读 · 0 评论 -
Parquet介绍及简单使用
什么是parquetParquet是列式存储的一种文件类型官网描述:Apache Parquet is a columnar storage format available to any project in the Hadoop ecosystem, regardless of the choice of data processing framework, data mod...转载 2019-06-18 14:57:54 · 1233 阅读 · 0 评论