java
文章平均质量分 85
zdkdchao
这个作者很懒,什么都没留下…
展开
-
spark(kryo)、hadoop(writable)、jdk(serializable)-序列化
一、SRC一个类在jvm中是有结构的,但即使是在jvm中,也是一堆数据。网络只能传文本,所以需要序列化和反序列化。通过几种方式的序列化后文本输出到本地文件,可以对比下大小。二、jdk的序列化将类的上级所有层次都序列化,相当于把类的所有描述信息写在文本中传输。效率较低。ObjectOutputStream底层就是调用的DataOutputStream,只不过把类的层级、包名和数据一起传了。三、hadoop如果提前告知对方类的结构,则只需要传数据。效率会高。MR就是这种思路,所以MR用的是xxxW原创 2020-10-07 23:58:41 · 750 阅读 · 0 评论 -
java-Java 字符串拼接 五种方法的性能比较分析
https://www.toutiao.com/i6876216313715360269/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1×tamp=1601140678&app=news_article&utm_source=weixin&utm_medium=toutiao_android&use_new_style=1&req_id=202009270117570原创 2020-09-28 11:36:00 · 150 阅读 · 0 评论 -
java-日志
一、JCL、SLF4J、Log4J、Log4J2、LogBack和JUL之间的关系这几个技术使用了门面设计模式,不管用什么技术,都可以通过sfl4j进行操作。二、原理和使用弄清楚这几个技术的工作模型,实际上就知道如何使用配置文件进行配置了。...原创 2020-08-29 12:09:10 · 100 阅读 · 0 评论 -
java-调用linux命令
分为调脚本和直接调用linux的命令。亲测,调脚本100%成功,调命令只有一部分成功,比如调用beeline时,在命令行可以正常执行的,在java中调会报ParseException line 1:0 character '' not supported here (state=42000,code=40000),这个问题暂时没解决,只能封装到脚本中,再用exec方法去调。java调用linux命令的原理就是开启一个子进程,并且是并行的,也就是说,如果代码中前后执行了2个命令,那么这2个是并行执..原创 2020-07-23 19:33:03 · 688 阅读 · 0 评论 -
java-打包和执行(-cp和-jar)
https://www.cnblogs.com/klb561/p/10513575.html原创 2020-08-22 08:23:21 · 586 阅读 · 0 评论 -
时间戳格式化
须知:1. 时间戳分2种,一种是10位的,只包含年月日时分秒,也就是说,只精确到秒。一种是13位的,包含毫秒。这2种都叫时间戳,并不是只有精确到毫秒的才叫时间戳。10位时间戳就是从1970-01-01到当前的秒数,注意,不是毫秒数,所以需要按毫秒解析时,要 * 100013位时间戳就是从1970-01-01到当前的毫秒数,在java中用Instant对象对应。2. timestamp的格式化串用大写的S来表示毫秒数。S的个数和毫秒的位数严格对应,否则报错。如果规范中要求精确到毫秒,那么给的时间字符串原创 2020-05-25 15:58:11 · 15111 阅读 · 0 评论 -
java-linux中调用jar并获取jar的返回值
调用jar其实就是调用类的main方法,main是没有返回值的,但其实jar仍然可以向外输出信息。比如sout,只要把打印的信息重定向到一个文件或控制台即可。https://blog.csdn.net/tian6318/article/details/79349123...转载 2020-05-11 12:06:55 · 1851 阅读 · 0 评论 -
公司业务-etl-EDIP文件解析+添加分割符+转换编码
SRCEDIP叫定长双文件,是用来进行数据迁移的格式。一个表被转换为2个文件,1个flag用来存储表结构。1个压缩的dat.gz用来存储表数据,解压后是个dat文件。flg文件格式如下:编解码想要转换1个文件的编码,必须知道原来的编码。主要就是字符串操作...原创 2020-03-27 23:06:55 · 1911 阅读 · 0 评论 -
字符集+编解码
任何数据在计算机中都是二进制。原创 2020-03-27 23:06:07 · 152 阅读 · 0 评论 -
java-异常体系和try-catch操作
SRC没有tc时,如果程序出现异常,就会直接终止,实际场景中当然不希望因为出个错导致整个程序终止运行。所以可以使用tc增强程序健壮性,即使出了问题,也不至于直接go die。tc在实际业务逻辑中也可以使用,比如截取1个字符串,如果catch到OutOfBounds,说明String不在范围内。一、异常树二、须知1. tryWithResource2. 和finally的执行顺序3. ...原创 2020-03-27 22:53:50 · 115 阅读 · 0 评论 -
java-常见异常
StringindexOutOfBoundsExceptionString就是个字符数组(区分字节数组),对String进行操作时,如果操作的index超过String的范围,就会报这个。比如对String进行substring(begin,end)截取时,begin和end超过String范围...原创 2020-03-27 22:48:07 · 247 阅读 · 0 评论 -
java-Stream
SRC是java为了方便数据处理,提供的一种数据处理方式的抽象,借鉴了FP,将数据处理抽象为多个入1出1的函数链。https://www.jianshu.com/p/11c925cdba50操作符Stream操作是惰性执行的,分为中间和终止获取Stream对象的方式List类的集合可以直接.stream()Map,不能直接获取stream,但可以通过ketSet来获取key的流...原创 2020-03-27 22:43:06 · 116 阅读 · 0 评论 -
java-FP
SRC无论FP还是OOP,都是为了解决问题。都需要化简,也就意味着封装,只不过封装的形式不同。FP是将行为封装,将属性抽象为不可变的输入和输出。???FP从使用上来说,可以将一段逻辑(也就是函数)作为输入和输出,形成一个类似递归的嵌套式结构。java将几种常用逻辑抽象为一种特殊接口,用@FunctionalInterface注解来标识。这种接口只有一个抽象方法,涵盖了3种常用的逻辑,每个函...原创 2020-03-27 22:34:16 · 382 阅读 · 1 评论 -
java-BigDecimal,DecimalFormat
文章目录srcBigDecimal的构造器DecimalFormat格式化字符串\#和0examplesrcfloat和double在转换和运算时会损失精度,这在某些场景比如金融是不允许的,所以使用Decimal来封装,既不损失精度,又不会占用很大空间。思路就是把f和d封装成BigDecimal对象,然后计算即可。BigDecimal的构造器BigDecimal(java.math.Bi...原创 2020-03-17 23:25:30 · 435 阅读 · 0 评论 -
java-poi
一、srcHSSF - 提供读写Microsoft Excel格式档案的功能。XSSF - 提供读写Microsoft Excel07之前版本的功能。HWPF - 提供读写Microsoft Word格式档案的功能。HSLF - 提供读写Microsoft PowerPoint格式档案的功能。HDGF - 提供读写Microsoft Visio格式档案的功能。...原创 2020-03-17 15:49:57 · 345 阅读 · 0 评论 -
hdfs-javaAPI
hdfs-javaAPIdeleterename原创 2020-02-13 18:16:52 · 446 阅读 · 0 评论 -
java-String.split(regex)
一、srcsplit是极为常用的方法,注意的是,入参不是string,是正则。在正则的规则中,* ^ | 等符号在正则表达式中属于一种有特殊含义的字符,如果使用此种字符作为分隔符,必须使用转义符即\或\\加以转义。https://www.cnblogs.com/xiaoxiaohui2015/p/5838674.html二、usage特殊情况有 * ^ : | . \。分割时需要在前面.........原创 2020-03-13 22:10:25 · 1719 阅读 · 1 评论 -
java-同linux的信号交互
后台开发中,常常需要写 daemon 程序在后台默默执行一些任务。除了正常的逻辑之外,还需要考虑处理异常退出时怎么办,比如`ctrl + c`、`kill -9`。这时可以用到 signal 这个函数来注册异常信号的回调函数。原创 2020-03-09 20:22:38 · 515 阅读 · 0 评论 -
java-jdk8的时间日期API
一、时间处理会遇到的问题?时间的格式化,也就是同String的转换时间的国际化,时区的设置时间戳的转换时间的计算时间和时间差2个时间的时间差...原创 2020-03-02 00:13:02 · 1395 阅读 · 0 评论 -
Java-IO
重要的IO原创 2020-03-14 10:32:16 · 128 阅读 · 0 评论
分享