自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(343)
  • 资源 (1)
  • 收藏
  • 关注

原创 Google Guice 2:Mental Model

Guice的Mental Model:Guice is a map

2023-01-08 21:50:53 286

原创 Google Guice 1:如何实现依赖注入

Guice的依赖注入方式

2022-12-28 20:47:43 481

原创 谈谈自己对依赖注入的理解

从new依赖到从Factory获取依赖,再到由容器自动注入依赖,谈谈自己对依赖注入的理解

2022-12-18 00:48:37 337

原创 Java单元测试

1. 在单元测试中,使用test doubles2. 基于Mockit框架,创建替身、定义替身行为

2022-12-04 18:07:23 325

原创 JVM实战(二) :关闭dump配置,使服务快速恢复

如何让服务在OOM时快速恢复,以及如何检测服务失败原因,比较适合有线上业务运维需求的同学

2022-11-13 16:45:43 268

原创 java命令中的options

java选项分类、如何查看这些选项的默认值或运行值

2022-11-13 14:10:36 387

原创 Java System类与系统属性

Java System类及系统属性的简单学习

2022-10-16 17:46:15 329

原创 Java Properties类

以往的编程实战中,经常使用哈表存储键值对。现在想想,某些场景下,键值对实际就是属性名及属性值除了常见的get()、put()外,有时还需要从文件中获取属性,或将现有的属性写入到文件中这时,若还使用哈希表存储属性就变得不是很方便了。因为,哈希表中没有对stream操作提供直接支持,属性的加载或持久化存储等,还需要单独编写stream操作代码Properties类应运而生,用于表示一个属性列表。它继承了Hashtable类,本质上是一个哈希表,可以用于存储属性集合,支持get()、put()操作。

2022-10-15 21:39:58 293

原创 Java Fork/Join框架学习(二)

Java Fork/Join框架源码的基础知识,深入学习具体的方法时,可以查阅该博客

2022-10-05 21:32:27 422

原创 Java Fork/Join框架学习(一)

JDK 7开始,引入了Fork/Join框架,此文围绕Fork/Join框架进行学习

2022-10-03 17:51:56 467

原创 Java Future学习

Java Future学习

2022-09-07 23:26:11 63

原创 mac上mvn报错No compiler is provided in this environment.Perhaps you are running on a JRE rather than...

mac m1运行mvn命令,提示找不到JRE问题的解决

2022-08-14 17:54:04 242

原创 观察者(observer)模式(2): 实现线程安全的监听器

如何实现线程安全的listener

2022-08-01 23:31:40 185

原创 观察者(observer)模式(1)

observer设计模式的java实现

2022-07-30 22:59:02 177

原创 访问者模式(visitor)模式

visitor设计模式

2022-07-23 18:09:37 78

原创 2. IDEA配置antlr4(on mac)

mac上,IDEA如何使用antlr4

2022-07-20 09:39:01 271

原创 win10基于IDEA,搭建Presto开发环境

在win10上,基于IDEA搭建presto开发环境

2022-07-16 21:39:55 549

原创 基于maven,如何将额外的文件打包到jar包中?

1. maven项目打包时,如何添加额外的文件2. maven resources plugin简单学习

2022-07-13 17:32:32 529 2

原创 IDEA中maven项目缺少.iml文件的解决版本

问题解决

2022-07-12 12:01:43 1995

原创 1. windows上安装antlr4(code generation target为Java)

windows上安装antlr4

2022-07-10 17:24:42 484

原创 Linux命令 —— df、du

df和du命令的使用学习

2022-07-03 18:20:14 600

原创 解决File has reached the limit on maximum number of blocks的问题

lineitem.tbl是一个大概2.3T的大文件,因为怀疑是文件太大无法上传通过查看其它数据的HDFS目录发现,通过向Hive表导入数据时,其实是直接将文件copy到对应的HDFS目录因此,想直接通过直接将lineitem.tbl上传到对应的HDFS目录上传过程中,直接提示文件block数超过最大的block数,对应的配置项为2. 使用split进行文件分割2.1 确认HDFS配置看到报错信息后,首先想到的就是确认的值命名如下:执行结果为1048576,根本不是报错信息中的说的100

2022-06-04 20:45:00 455 1

原创 Linux命令 —— sed和awk

1.2 删除匹配行删除匹配行,末尾使用选项1.3 基于文件的修改通过选项基于文件进行修改,如果怕直接修改出问题,可以创建备份文件,是自定义的后缀名向文件中插入多行,通过实现1.4 正则匹配正则匹配,如删除以开头的行例如,正则匹配,删除多余的空格其余可以参考:sed命令1.6 其他小技巧汇总删除指定字符,如最后1个、开始的3个,使用表示匹配一个任意字符,实现多个操作指令的拼接。更多操作,见博客:使用 sed 命令替换/删除 文本字符的 20 个例子

2022-06-02 22:47:43 377

原创 Hive导入TPC-H数据集(待补充)

guhgiugv

2022-05-30 10:24:50 248 1

原创 选择TPC-H作为Presto性能测试的benchmark

1. 絮絮叨叨读书的时候,帮师兄打过下手:在不同的大数据组件上,执行TPC-H的benchmark,测试改造后的HDFS的性能工作中,需要选择合适的benchmark对改造后的Presto进行测试在benchmark的调研的过程中,又关注到了大名名鼎鼎的TPC-H在学习的过程中发现,TPC提供了很多不同用处的benchmark,需要根据实际情况选择合适的benchmark2. 什么是TPC在TPC的官网首页,有这样一段介绍:The TPC is a non-profit corpor

2022-05-29 00:28:52 571

原创 Presto部署到maven私服实战

1. 序言在玩Presto时,最多是mvn clean install -DskipTests在没有通过MAVEN_OPTS设置为较大内存时,甚至还用上了多线程加速-DskipTests,表示跳过测试-Dmaven.compile.fork=true,表示允许进行多线程编译-T表示多线程,2C表示每核2个线程。假设这是一个64核的服务器,则在进行构建时可以使用 2 * 64 = 128个线程mvn -T 2C clean install -DskipTests -Dmaven.compil

2022-05-22 16:13:05 174

原创 java.lang.OutOfMemoryError: unable to create new native thread原因排查

1. 序言最近,在使用mvn test命令跑单员测试时,遇到了java.lang.OutOfMemoryError: unable to create new native thread错误unable to create new thread类型的OOM错误,一般都发生在应用程序无法创建新线程时候其出现的原因主要分为两种:系统内存耗尽,无法为新线程分配内存创建线程数超过了操作系统的限制(linux中可以通过ulimit -a查看系统的最大线程数)这篇博客讲了很多排查上述错误的方法和实例

2022-05-18 10:42:38 2639

原创 maven test实战记录

1. maven test实战之前的《maven实战》学习笔记中,有关于maven test的基础知识在本地对组件代码进行单元测试时,测试完成后maven-surefire-plugin会在target目录生成surefire-reports文件夹,里面记录了测试报告点击index.html文件,直接查看测试报告测试报告中,有统计这次测试总的方法数、pass的方法数、failed的方法数、skipped的方法数1.1 OOM:unable to create new thread某个

2022-05-15 19:02:20 274

原创 presto本地开发,访问Hive报错:Unable to create input format org.apache.hadoop.mapred.TextInputFormat

1. 序言出于工作需要,使用mac + IntelliJ IDEA,搭建了一个可以访问Hive的本地开发环境执行查询时报错:Query 20220422_084012_00000_34axr failed: Unable to create input format org.apache.hadoop.mapred.TextInputFormat查看日志,具体的报错信息如下:com.facebook.presto.spi.PrestoException: Unable to crea

2022-04-22 17:59:53 2890

原创 借助hive命令或ORC官网的Java Tools查看ORC文件的元数据

1. 絮絮叨叨Apache ORC官网,把ORC文件的结构讲的那么精妙,甚至让人云里雾里如果不借助工具查看ORC文件的元数据或者阅读源码,你可能无法在脑海中形成ORC文件结构本文将基于一张前10列加密、后10列不加密的Hive表test.tmp_hgs_orc_xxx,介绍如何查看ORC文件的元数据,以帮助大家更好地理解ORC文件的存储结构很多方式都可以查看ORC文件的元数据,本文将介绍hive命令和Java Tools两种方式官网在Spark DDL和C++ Tools部分,也介绍了如何查看O

2022-04-04 00:37:30 1621

原创 Intellij idea中properties文件的若干问题(on mac)

1. 修改idea的File Encoding本来自己铆足劲,准备好好攻克一个问题的,结果发现一个properties文件的中文注释咋个乱码了作为一个追求完美的人,无法容忍这样的情况存在通过查阅资料(IntelliJ IDEA文件编码调整),说是需要设置UTF-8编码,自己进行了设置Preferences →\rightarrow→ Editor →\rightarrow→ File Encodings其中,第4部分就是对properties文件的编码格式进行设置修改完后,发现能正常显式中

2022-03-31 00:36:59 1215

原创 5. protbuf中的Base 128 Varints

1. 絮絮叨叨学习protobuf的Encoding部分时,就对其使用的数值编码格式产生的了浓厚的兴趣后来,在学习ORC的Compression部分时,发现ORC对每一个数据块(chunk),都通过3 bytes的header来标识其数据长度、是否压缩同时,header使用little endian(小端存储)学习到Run Length Encoding部分时,介绍了Base 128 Varints,并指明该varint来自protobuf中不管是Base 128 Varints,还是对head

2022-03-20 22:34:37 515

原创 github.com的443端口无法访问的问题

1. 絮絮叨叨疫情之下,居家办公,各种问题都出现了今天想从Apache社区下载ORC的源码,悲催的发现报错了而且,一番倒腾后,报错信息还发生变化了# 原始报错unable to access 'https://github.com/apache/orc.git/': LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443# 一番折腾后的报错Failed to connect to github.

2022-03-17 22:58:06 5064 24

原创 4. Protocol Buffers实战

1. Protocol Buffers概述Protocol Buffers官网:https://developers.google.com/protocol-buffersProtocol buffers are Google’s language-neutral, platform-neutral, extensible mechanism for serializing structured data – think XML, but smaller, faster, and simpler.

2022-03-15 10:55:34 661

原创 2. IDEA + maven + protobuf配置(on mac)

1. 絮絮叨叨都说懒惰是人类进步的源泉,有时候想想还真就那么回事学习了如何使用protoc命令编译,重度依赖IDEA且已经习惯了maven的我,就在想是否能在IDEA中一键编译.proto文件2. vscode配置protobuf编辑环境由于自己习惯了使用vscode做文本阅读,因此通过protoc命令编译的.proto文件,最开始都是通过vscode查看使用vscode查看的过程中,发现没有预发高亮,简单的内容修改,也没有语法提示因此,自己首先想为vscode配置protobuf编辑环境

2022-03-14 17:43:52 1767

原创 1. mac上同时安装proto2和proto3并编译.proto文件

1. 安装proto2mac上安装proto2,可以参考博客: 【工具使用】mac 安装 protobuf 2.5.0笔者安装的是2.6.1版本,对应的下载地址:v2.6.1/protobuf-2.6.1.zip笔者实验发现,proto3能编译proto2语法的.proto文件,反之则不行。报错信息如下: Unrecognized syntax identifier "proto3". This parser only recognizes "proto2".因此,出于方

2022-03-14 00:08:34 1882

原创 linux系统error while loading shared libraries: libjli.so问题解决

1. 絮絮叨叨最近,在完成集群部署后,发现服务没有成功启动,在启动日志中发现如下报错信息java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory 使用了这么多年的Java,自己也是第一次遇到这样的问题 😂能咋办,遇到问题就解决呗;解决不了,就🔍呗找到一篇看似靠谱的博客(实际也确实靠谱):配置linux的jdk报错e

2022-03-11 00:26:31 12679

原创 Java的责任链模式

1. 絮絮叨叨学校的奖学金评选流程辅导员审核:确认个人信息是否完善、真实系主任审核:根据学生填写的信息,结合自己了解的情况,决定是否推荐该学生参与奖学金评选院长审核:根据学生填写的信息,综合对比候选人,决定该生是否能获得奖学金校长审核:一般,院长审核后的获奖人数都是学校规定的获奖人数,校长只需要同意即可;除非奖学金评比时,爆出了该生的黑料,取消该生的获奖资格 ????作为学生,只需要在学校的奖学金评选系统上,诚信地填写自己的信息即可至于,评选能走到哪一步,每一步由谁审批,都不是他关心的

2022-03-08 23:32:27 5039 7

原创 Java类的分类

1. 絮絮叨叨在学习JDK 8的lambda表达式这一新特性时,发现很多文章都是以匿名类作为切入点,从而体现lambda表达式的简洁,或者帮助我们理解lambda表达式的写法在对lambda表达式语法不熟悉的情况下,自己总是尝试先用匿名类实现这个接口,然后再跟lambda表达式一一对应 ????通过学习JDK 8的官方文档,发现原来我所认识的内部类也有这么多讲究:嵌套类、静态嵌套类、非静态嵌套等2. 嵌套类所谓嵌套类(Nested Class),就是在一个类中定义的类之前自己一直

2022-02-21 00:27:27 1222

原创 6. 实战:JCTree实现编译时注解处理器

lombok的学习文章:lombok的作用讲解,经常使用的注解的讲解:Lombok的介绍与使用lombok通过修改AST实现:Lombok简介、使用、工作原理、优缺点github地址:projectlombok/lombok1. JCTree有关知识2. 如何获取注解中元素的值按照之前的描述,@Value注解可以为String类型的、非final字段赋默认初始值@Value注解的定义如下,包含一个value元素,以设置字段的默认初始值@Target(ElementType.FIE

2022-02-13 21:38:52 551 2

hadoop-lzo-0.4.15-cdh5.14.4.jar

hadoop-lzo-0.4.15-cdh5.14.4.jar

2022-05-28

空空如也

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

TA关注的人

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