Java
攻城狮Kevin
爱学习,爱工作,爱生活
展开
-
log.info
import org.slf4j.Logger;import org.slf4j.LoggerFactory;logger.info("get records list:{}", JSONHelper.toJSON(userPackageList));原创 2020-05-22 17:12:02 · 3119 阅读 · 0 评论 -
运行jar包指定java的主类名,运行其main方法
在jar包中,META-INF目录下,修改MANIFEST.MF文件Manifest-Version: 1.0Main-Class: 主类名全路径原创 2020-05-21 14:40:23 · 6099 阅读 · 1 评论 -
Arrays.asList()将数组转list
if (splitList.contains(tagKey)) { val tmpList = String.valueOf(tagValue).split("\\|").filter(!_.equals("")) tagValueArr.addAll(util.Arrays.asList(tmpList))} else { tagValueArr.add(tagValue)}split拆分出数组,然后ava.util.Arrays.asList(Array),将数组转换成list集合.原创 2020-05-15 10:51:25 · 766 阅读 · 0 评论 -
java程序报错Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.util.ReflectionUtil
异常如下:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/logging/log4j/util/ReflectionUtil......Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.util.Reflec...原创 2020-05-06 10:27:40 · 15946 阅读 · 3 评论 -
StringBuilder转Json遇到的坑,创建ES索引报index patterns are missing异常
org.json使用的时候,想把jsonString转jsonObject;可以用new JsonObject(String)但是如果用new JsonObject(StringBuilder),转换成的json为空。测试代码如下:public class Test { public static void main(String[] args) { Stri...原创 2020-04-21 17:36:55 · 2119 阅读 · 0 评论 -
Set集合在for循环中调用只生效1次的问题
如果Set集合声明在for循环代码之外,则Set集合的元素在for循环里,只会被调用一遍,调用完毕后,Set集合就释放掉了,测试代码如下:object test { def main(args: Array[String]): Unit = { val jsonstr = "{\"tag_value\":\"9.0\",\"pay_type\":\"a\"}" val j...原创 2020-04-20 22:30:39 · 1187 阅读 · 0 评论 -
HashMap使用HashMap(int initialCapacity)初始化值的设置原则
新建一个hashMap的时候,可以通过initialCapacity设置hashMap长度的初始化值。Map<String, Object> resultMap = new HashMap<String, Object>(initialCapacity: 5);hashMap源码中initialCapacity的初始值为16,负载因子为0.75;所以一个ha...原创 2019-10-18 16:17:26 · 8934 阅读 · 4 评论 -
split第二个参数limit的用法
publicString[]split(Stringregex , intlimit)根据匹配给定的正则表达式来拆分此字符串。此方法返回的数组包含此字符串的子字符串,每个子字符串都由另一个匹配给定表达式的子字符串终止,或者由此字符串末尾终止。数组中的子字符串按它们在此字符串中出现的顺序排列。如果表达式不匹配输入的任何部分,那么所得数组只具有一个元素,即此字符串。limit参...原创 2019-06-18 17:04:55 · 17860 阅读 · 3 评论 -
对Set的遍历,Iterator形式
对Set集合的遍历,利用Iterator,代码如下:HashSet<String> set = new HashSet<>();set.add("1");set.add("5");set.add("7");set.add("9");set.add("2");set.add("1");if(set != null){ Iterator<Str...原创 2019-06-21 11:25:47 · 6421 阅读 · 1 评论 -
java -cp和java -jar的区别 &【MR提交到yarn的api】
java -cp和java -jar都是运行jar包,区别在于前者需要自行指定主类,后者必须jar包中指定了主类用maven导出的包中,如果没有在pom文件中将依赖包打进去,是没有依赖包。1.打包时指定了主类,可以直接用java -jar xxx.jar。2.打包时没有指定主类,可以用java -cp xxx.jar 主类名称(绝对路径)。至于MR提交到yarn上,代码块如下...原创 2019-06-19 15:14:38 · 689 阅读 · 0 评论 -
String的split(String regex,int limit)方法
使用String.split(String regex,int limit)按照指定的分隔符regex,分隔字符串String;分隔结果为String[ ]格式limit的用法如下:limit 参数通过控制分割次数从而影响分割结果如果传入 n(n>0) 那么字符串最多被分割 n-1 次,分割得到数组长度最大是 n如果 n = -1 将会以最大分割次数分割如果 n = 0...原创 2019-05-15 19:50:39 · 4677 阅读 · 0 评论 -
HashMap、HashTable、HashSet的区别
1. HashTable线程安全,key和value不能是null,否则会报空指针异常2. HashMap线程不安全,key和value可以是null3. HashTable的实现方法中添加了Synchronized关键词保证线程安全,因此相对而言HashMap性能更高一些4. HashMap是Map接口的实现,HashTable实现了Map接口和Dictionary抽象类5. H...原创 2019-04-08 01:44:08 · 238 阅读 · 0 评论 -
到底什么是hash呢?hash碰撞?为什么HashMap的初始容量是16?
&amp;amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;lt;span style=&amp;amp;amp;amp;amp;quot;font-size:14px;&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;gt;一 ,到底什么是hash呢?&am转载 2019-03-06 15:50:17 · 318 阅读 · 0 评论 -
tar包、jar包和war包分别是什么东西
tar:tar是linux等下的打包工具,生成的包通常也用tar作为扩展名,其实tar只是负责打包,不一定有压缩,事实上可以压缩,也可以不压缩,通常你看到xxxx.tar.gz,就表示这个tar包是压缩的,并且使用的压缩算法是GNU ZIP,而xxxx.tar.bz2就表示这个包使用了bzip2算法进行压缩,当然这样的命名只是一种惯例,并非强制。简单地说,tar就仅是打包。jar:即J...转载 2018-11-30 11:35:25 · 10002 阅读 · 2 评论 -
数组和集合的区别
数组和集合的定义一、数组数组是java语言内置的数据类型,他是一个线性的序列,所有可以快速访问其他的元素,数组和其他语言不同,当你创建了一个数组时,他的容量是不变的,而且在生命周期也是不能改变的,还有JAVA数组会做边界检查,如果发现有越界现象,会报RuntimeException异常错误,当然检查边界会以效率为代价。二、集合JAVA还提供其他集合,list,map,set,他们处理对象的时候就好...转载 2019-01-16 16:28:46 · 477 阅读 · 0 评论 -
二进制、十进制、十六进制之间的相互转换
1. 二进制 -&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; 十六进制eg: 二进制数 1001 1010;通过1248赋值法,即1001 10108421 8421---------------1+8=9 , 2+8=10;即二进制数1001 1010,对应十六进制的数为 ox 9A(A对应10);2. 二进制 -&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; 十进制流原创 2018-10-29 20:20:02 · 11011 阅读 · 0 评论 -
Java抽象方法中可以有static属性和方法吗?
抽象方法中可以有Static属性和方法吗?对于这个问题,网上众说纷纭,其实,抽象类中是可以包含static属性和static方法的,最典型的例子:Calendar类下面直接上Calendar类的源码:public abstract class Calendar implements Serializable, Cloneable, Comparable&amp;lt;Calendar&amp;gt; {....原创 2018-10-31 18:26:31 · 6398 阅读 · 0 评论 -
Java具体类 & 抽象类 & 接口 —继承extends & 实现Implement
一、具体类 &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp; 抽象类 $ 接口从组成上来看:具体类包含:属性、构造器、具体方法、初始化块(静态语句块static{ } 、动态语句块{ })、内部类 ;抽象类包含:属性、构造器、具体方法、抽象方法(需要用public abstract修饰);接口包含:属性、抽象方法(一般省略public abstract,直接用void);这部分的知识点和易混淆点小结如下:具体类可以继承...原创 2018-10-31 18:59:55 · 1136 阅读 · 0 评论 -
public、private、protected、default的权限
访问权限降级依次如下:public:可以被所有其他类所访问protected:自身、子类及同一个包中类可以访问default:同一包中的类可以访问,声明时没有加修饰符,认为是friendlyprivate:只能被自己访问和修改public:具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形...原创 2018-12-26 16:38:47 · 420 阅读 · 0 评论 -
Java并发编程——多线程和线程池的那些坑
最近做HBase项目有一块涉及到Java的多线程安全的问题,于是回顾了一下java多线程的东西,看了多篇多线程的写的比较好的文章之后,对这一块的知识做一个回顾总结,并附上参考文章。第一篇会写正题,ThreadLocal的原理和用法。目录一、程序 & 进程 & 线程二、多线程的使用场景三、 多线程的优点和缺点1. 优点2. 缺点四、 多线程并行 &am...原创 2018-12-27 11:57:42 · 898 阅读 · 0 评论 -
方法重写——JVM动态绑定机制和子类中this的简写
目录先来一张示意图进行讲解例1:子类B,父类A;都有getResult()方法例2:子类B,父类A,B中没有getResult()方法例3:子类BB,父类AA;分别有属性i,方法getResult()和getI()例4:子类BB,父类AA;BB中没有getResult()方法,但有getI()方法在子类和父类的方法重写问题上,核心两点这一篇博文的意义在于,调用方法创建对...原创 2018-12-24 19:39:46 · 305 阅读 · 0 评论 -
方法的重载——看实参类型 & 基础数据类型的精度升级转换
目录例1:子类BBB,父类AAA例2:子类BBB,父类AAA,但形参列表缺少BBB类型,类树体系中类型升级例3:类树体系类型升级,但不会发生类型降级例4:基础数据类型的精度升级例5:char类型和int类型的比较总结:3点前一篇博客,举了四个例子,说明方法子类继承父类后,方法的重写需要看内存中创建对象的类是哪一个,JVM的动态绑定机制,以及子类中this的简写等。这...原创 2018-12-24 20:18:29 · 207 阅读 · 0 评论 -
从源码比较Math.random()和Random.nextInt()的区别
目录一、Math.random()源码:二、再看Random()的源码三、总结生成随机数,有两种方法Math.random()和Random.nextInt()。Math.random() 为 java.lang.Math 类中的静态方法。random.nextInt() 为 java.util.Random类中的方法;一、Math.random()源码:(1)首先...原创 2018-12-24 21:19:27 · 3892 阅读 · 0 评论 -
SimpleDateFormat格式化日期的方法和参数
目录一、创建默认或自定义格式的格式对象二、格式对象调用的两种方法(格式化、解析)三、Date类的两个常用方法(getTime和toString)★ pattern格式的写法总结:例1:格式化方法public String format(Date date) 将Date类型的日期,转变为指定格式的String文本例2:解析方法Date parse(S...原创 2018-12-25 12:01:49 · 10512 阅读 · 0 评论 -
Java 泛型,你了解类型擦除吗?
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/briblue/article/details/76736356 &lt;/div&gt; &lt;div id="content_views" ...转载 2019-01-12 11:45:37 · 157 阅读 · 0 评论 -
【Java核心面试题-1】谈谈对Java平台的理解 & Java的运行机制
目录一、Java的发展过程二、Java的主要特性(1)最显著的特性有两个方面:(2)Java的其他特性:三、Java的两大主要模块四、Java运行机制(一次编码,一次解析,两次编译)和优化技术一、Java的发展过程从JDK5开始,JDK5(重写Bug)、JDK6(商用最稳定版本)、JDK7(switch的字符串支持)、JDK8(函数式编程) 二、Java的主...原创 2019-01-03 11:07:36 · 378 阅读 · 0 评论 -
public类和非public类,static属性和非static属性,构造方法和成员方法
一、public类和非public类首先,修饰类和属性的修饰词的适用范围:public,公共的,表明修饰的类和变量是公开的,所有的类都可以调用;protected,受保护的,只有本包中的类才能调用;privated,私有化的,只有在本类中才能被调用。然后,我们在同一个java文件中,经常可以看到一个public Class,下面接了很多Class;它们之间的区别是:加public...原创 2018-10-29 19:49:01 · 3557 阅读 · 0 评论