Java基础
木叶之荣
这个作者很懒,什么都没留下…
展开
-
log4j一些配置说明
#根节点log4j.rootLogger=debug,console,file#控制台log4j.appender.console=org.apache.log4j.ConsoleAppenderlog4j.appender.console.layout=org.apache.log4j.PatternLayoutlog4j.appender.console.layout.Co原创 2015-05-29 16:00:38 · 478 阅读 · 0 评论 -
利用反射获取类或者方法或者字段上的注解的值
从JDK1.5之后,注解在各大框架上得到了广泛的应用。下面这个例子中,你可以判断一个类或者方法或者字段上有没有注解,以及怎么获取上面的注解值。话不多说,代码如下:AnnotationTest01.javapackage com.zkn.newlearn.annotation;import java.lang.annotation.ElementType;import java.l原创 2016-05-26 23:34:32 · 19299 阅读 · 0 评论 -
Java中用字节数组表示整数和用整数表示字节数组
程序中的所有数在计算机内存中都是以二进制的形式储存的。所以有时候我们还是有必要学习一下位运算的。我们知道在java中一个整型是占用四个字节32位的,而一个byte类型占用一个字节8位的。所以我们可以用一个整型来最多表示一个长度为4的byte数组,同样我们可以用一个长度为4的byte数组来表示一个整型。下面我们就看一下怎么用代码怎么去写整型和byte数组的相互转换。字节数组表示一个整型原创 2016-12-11 22:15:24 · 2827 阅读 · 0 评论 -
Java中主要Map类概述
Map:1、Map的一级接口大概有这三个:SortedMap、ConcurrentMap(1.5)、和Bindings(1.6).SortedMap:1)、SortedMap的直接接口有NavigableMap(1.6)、间接接口有ConcurrentNavigableMap(1.6)。主要实现类有TreeMap、ConcurrentSkipListMap(1.6)。2)、So原创 2016-12-24 21:06:11 · 1376 阅读 · 0 评论 -
java为什么要重写hashCode和equals方法
如果不被重写(原生)的hashCode和equals是什么样的? 不被重写(原生)的hashCode值是根据内存地址换算出来的一个值。 不被重写(原生)的equals方法是严格判断一个对象是否相等的方法(object1 == object2)。 为什么需要重写equals和hashCode方法? 在我们的业务系统中判断对象时有时候需要的不是一种严格意原创 2016-12-24 21:17:08 · 23609 阅读 · 3 评论 -
集合和Collections、Map的UML类图
今天在家没事看了一下集合框架,画了常用的类图。Collection大致可以分为set、List、Queue三种(Map不属于Collection体系中的,它是一个独立的数据结构。但是Collection和Map的实现上又互相依赖)。类图如下:Collections是一个包装类,它可以看做是Collection的辅助类。在这个类中提供了包装集合的一些类和有关集合操作的一些静态方法。它包含的静态类原创 2016-12-18 17:58:21 · 6047 阅读 · 1 评论 -
Java主要集合类概述
Collection这个接口中大概可以分为这样三种类型的接口:List、Set、Queue(JDK1.5之后新增)。 Set: 1、Set是一个不包含重复元素的Collection。 2、Set的底层是由Map实现的。 3、Set的实现主要分为HashSet、LinkedHashSet、TreeSet三种。JDK1.5之后又新增了EnumSet及它的子类Ju原创 2016-12-19 21:21:38 · 532 阅读 · 0 评论 -
为自定义对象生成随机属性值
这几天在熟悉Swagger的时候,发现它没有提供为自定义对象属性赋随机值的功能(如果有的话,请告知一下),于是自己就写了一个能生成对象随机属性值的工具类,主要用到了反射机制、注解、随机类。具体的代码如下所示:随机生成对象属性值的类:public class RandomObjectValue { public static T getObject(Class clazz)原创 2017-04-16 20:43:10 · 2564 阅读 · 0 评论 -
JDBC连接MySQL数据库小例子
前几天没事翻看了一下JDBC,顺便写了一个小demo。demo代码如下:package com.zkn.newlearn.jdbc.mysql.first;import org.junit.Test;import java.io.IOException;import java.io.InputStream;import java.sql.*;import java.util.Pr原创 2017-05-03 22:51:53 · 574 阅读 · 0 评论 -
自定义JDBC数据库连接池小例子
上篇文章中写了一个JDBC的小例子,这篇文章写个数据库连接池的小例子吧。package com.zkn.newlearn.jdbc.mysql.third;import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;imp原创 2017-05-04 00:17:54 · 2276 阅读 · 0 评论 -
利用IntelliJ IDEA创建第一个Groovy工程
因为某些原因,需要学习一下Groovy。关于Groovy的入门教程请看这篇文章http://www.ibm.com/developerworks/cn/education/java/j-groovy/j-groovy.html有点老,入门还不错。OK,下面来介绍如何创建一个Groovy工程。由于Idea集成了Groovy,所以就省了我们安装Groovy插件的麻烦了。但是还是要下载一个Groovy原创 2016-08-04 22:19:27 · 43038 阅读 · 3 评论 -
Git下载Spring源码 Gradle编译Spring源码为Eclipse工程文件
由于Spring源码托管到GitHub上,所以我们需要从GitHub上下载Spring源码。这里我们有两种方式可选,一种是用Eclipse里的Git插件,另外一种是下载一个GitHub客户端。Git插件我们可以从Eclipse的Market里下载:如下图所示:安装就行。安装完之后打开File-import 在import里可以看到,打开输入地址https://github.com/Spring原创 2015-06-14 23:46:15 · 6130 阅读 · 9 评论 -
解决sublime package control 出现There are no packages available for installation
昨天在安装了一下Sublime Text 3,在安装插件的过程中出现了一些问题,现在记录一下,也给遇到同样问题的朋友一些帮助。在安装插件的时候,需要先安装一下Package Control。安装Package Control安装Package Control有两种方式,第一种方式为:在控制台中输入安装命令。调出控制的方式为:Ctrl+`。Sublime Text2和Sublime Text...原创 2016-09-27 22:43:37 · 62843 阅读 · 49 评论 -
dom4j简单解析XML
package com.zkn.xmlparse.text;import java.io.File;import java.util.Iterator;import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.io.SAXReader;/** *原创 2015-06-04 13:57:37 · 595 阅读 · 1 评论 -
java读取资源文件的五种方式
package com.zkn.newlearn.others;import java.io.IOException;import java.io.InputStream;import java.util.Properties;import com.zkn.newlearn.gof.singleton.SimpleFactoryTest01;/** * 读取资源文件的五种方式原创 2016-03-16 22:47:47 · 2091 阅读 · 0 评论 -
Java反射调用带参数的函数
目前本文中只考虑函数参数为基本类型、包装类型、String类型。其他负责类型,以后再慢慢补充。代码如下:package com.zkn.newlearn.reflect;import java.io.Serializable;/** * Created by zkn on 2016/5/9. */public class ReflectTest02 implements Seri原创 2016-05-10 20:22:55 · 9714 阅读 · 1 评论 -
ArrayList源码浅析
ArrayList的可以看做是一个动态的数组,更复杂的数组,其实ArrayList的底层也是用数组来实现的,下面我们来看一下ArrayList常用方法的实现,以及自定义一个自己的ArrayList。ArrayList初始化:List list = new ArrayList();源码为:private static final Object[] DEFAULTCAPACITY_原创 2016-06-20 22:02:30 · 760 阅读 · 0 评论 -
LinkedList源码浅析
package com.zkn.newlearn.collection;/** * * @author zkn 2016-06-25 * LinkedList的内部数据结构是双向链表, * 所以定义一个内部类,用来表示一个节点, * 这个节点包括三个属性, * 1、一个用来表示当前元素 * 2、一个用来表示上一个元素 *原创 2016-06-28 00:04:51 · 458 阅读 · 0 评论 -
JSON字符串转换为Map
本文是利用阿里巴巴封装的FastJSON来转换json字符串的。例子如下:package com.zkn.newlearn.json;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import java.util.Map;/** * JSON字符串自动转换 * Created by原创 2016-08-22 22:59:33 · 263737 阅读 · 11 评论 -
JSON数组形式字符串转换为Map数组(转为其他的Bean的话,请参考自行变形)
本文用的是阿里巴巴封装的FastJSON来转换JSON数组形式字符串。请看例子:package com.zkn.newlearn.json;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import java.原创 2016-08-22 23:41:59 · 17691 阅读 · 0 评论 -
Linux环境下系统安装JDK
在CentOs6.5中中集成了JDK,是OpenJDK,我们可以通过命令来查看一下JDK的版本。 所以我们需要先卸载原先的OpenJDK,再安装Oracle官网的JDK。原创 2016-09-18 23:11:48 · 7896 阅读 · 3 评论 -
IDEA使用小技巧
这篇文章用来记录一下自己在使用IDEA中的小技巧,会不断更新。debug小技巧在我们开发过程中,免不了要对源代码进行debug。在debug的过程中可能会遇到这样的一种场景:需要去debug一个循环代码中的一段逻辑,而这个循环又比较多,一个一个的去debug就会很费劲,有没有什么方式可以跳过不想要的循环条件,一步到位直击我们的目标呢?答案是肯定的下面我们来演示一下怎么在IDEA中跳不过不想...原创 2018-03-11 18:12:04 · 995 阅读 · 0 评论