几乎在每个jar包里都可以看到log4j的身影,在多个子工程构成项目中,slf4j相关的冲突时不时就跳出来让你不爽,那么slf4j-api、slf4j-log4j12还有log4j他们是什么关系?我把自己了解的和大家简单分享一下:slf4j:Simple Logging Facade forJava,为java提供的简单日志Facade。Facade:门面,更底层一点说就是接口。他允许用户以自己的喜好,在工程中通过slf4j接入不同的日...
8年前 (2017-06-01)
阅读(2199)
赞一个 (0 )
链接直达
Java中8种基本数据类型总结序号数据类型大小/位封装类默认值可表示数据范围1byte(位)8Byte0-128~1272short(短整数)16Short0-32768~327673int(整数)32Integer0-2147483648~21474836474long(长整数)64Long0-9223372036854775808~92233720368547758075float(单精度)32Float0.01.4E-45~3.4...
8年前 (2017-05-26)
阅读(4749)
赞一个 (0 )
链接直达
war模式—-将WEB工程以包的形式上传到服务器 war exploded模式—-将WEB工程以当前文件夹的位置关系上传到服务器
war和war exploded的区别
在使用IDEA开发项目的时候,部署Tomcat的时候通常会出现下边的情况:
是选择war还是war exploded 这里首先看一下他们两个的区别:
war模...
8年前 (2017-05-12)
阅读(2873)
赞一个 (1 )
链接直达
InputStream和OutputStream都只能单方面的读和写文件的内容,如果有随机的读取和写入文件内容的需要那有该怎么办呢?Java为开发者提供了一个RandomAccessFile类,它就是专门用来随机存取文件内容的。RandomAccessFile操作文件内容的时候,就好像操作一块内存区域一样,把字节用下标来进行定位,通过调用RandomAccessFile的API方法,把指针的方向进行移动,达到随机存取数据的目的。主要方法...
8年前 (2017-05-04)
阅读(2648)
赞一个 (4 )
链接直达
nativenative是方法修饰符。Native方法是由另外一种语言(如c/c++,FORTRAN,汇编)实现的本地方法。因为在外部实现了方法,所以在java代码中,就不需要声明了,有点类似于借口方法。Native可以和其他一些修饰符连用,但是abstract方法和Interface方法不能用native来修饰。 public interface TestInterface {
&...
8年前 (2017-05-04)
阅读(2353)
赞一个 (2 )
链接直达
有5种显式地创建对象的方式:1、用new语句创建对象,这是最常用的创建对象的方式。2、运用反射手段,调用Java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。Class.forName()3、调用对象的clone()方法。4、调用ClassLoader类加载器5、运用反序列化手段,调用java.io.ObjectInputStream对象的readObject...
8年前 (2017-05-03)
阅读(3410)
赞一个 (0 )
链接直达
ConcurrentHashMap使用分段锁的技术解决了HashMap的线程不安全问题和HashTable在全局锁竞争激烈的情况下效率低下的问题。术语术语英文解释哈希算法hash algorithm是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。哈希表hash table根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称...
8年前 (2017-04-24)
阅读(2427)
赞一个 (0 )
链接直达
从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格外小心。在JDK1.5中,伟大的Doug Lea给我们带来了concurrent包,从此Map也有安全的了。ConcurrentHashMap具体是怎么实现线程安全的呢,肯定不可能是每个方法加synchronized,那样就变成了HashTable。从ConcurrentHashMap代码中可以看出,它引入了一个“分段锁”的概...
8年前 (2017-04-24)
阅读(2296)
赞一个 (0 )
链接直达
美女镇楼JsonPath是一种简单的方法来提取给定JSON文档的部分内容。 JsonPath有许多编程语言,如Javascript,Python和PHP,Java。JsonPath提供的json解析非常强大,它提供了类似正则表达式的语法,基本上可以满足所有你想要获得的json内容。下面我把官网介绍的每个表达式用代码实现,可以更直观的知道该怎么用它。GitHub:https://github.com/json-path/JsonPath以...
8年前 (2017-04-17)
阅读(35690)
赞一个 (14 )
链接直达
一、什么是自动装箱拆箱 很简单,下面两句代码就可以看到装箱和拆箱过程//自动装箱Integer total = 99;
//自定拆箱int totalprim = total;1234512345简单一点说,装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。下面我们来看看需要装箱拆箱的类型有哪些:这个过程是自动执行的,那么我们需...
8年前 (2017-04-14)
阅读(3621)
赞一个 (0 )
链接直达
在本文中,笔者向大家介绍下Java中一个非常重要也非常有趣的特性,就是自动装箱与拆箱,并从源码中解读自动装箱与拆箱的原理,同时这种特性也留有一个陷阱。开发者如果不注意,就会很容易跌入这个陷阱。自动装箱(Autoboxing)定义大家在平时编写Java程序时,都常常以以下方式来定义一个Integer对象;Integer i=100;从上面的代码中,大家可以得知,i为一个Integer类型的引用,100为Java中的基础数据类型(...
8年前 (2017-04-14)
阅读(2712)
赞一个 (1 )
链接直达
如果面试官问Integer与int的区别:估计大多数人只会说道两点,Ingeter是int的包装类,int的初值为0,Ingeter的初值为null。但是如果面试官再问一下Integer i = 1;int ii = 1; i==ii为true还是为false?估计就有一部分人答不出来了,如果再问一下其他的,估计更多的人会头脑一片混乱。所以我对它们进行了总结,希望对大家有帮助。首先看代码:public static ...
8年前 (2017-04-14)
阅读(3024)
赞一个 (1 )
链接直达