
java
文章平均质量分 53
zdavb
这个作者很懒,什么都没留下…
展开
-
通用JSON生成器3
接上文通用JSON生成器,上文给出了一个JSON生成器,用了一段时间,感觉还是有两个地方还不太爽。待生成的属性必须是public的,否则是获取不到该属性的值的。对时间如Date类型的不大友好,因为我们希望能够输出一种自己指定的Date数据格式针对以上两点,我又重新写了一下:首先,更改Output注解,添加一个pattern域,并设定一个默认值。更改GenerateJSON中获取数据方式,之原创 2016-03-15 19:35:39 · 822 阅读 · 0 评论 -
从源码分析HashMap实现
HashMap可能是Java程序员最常用的数据结构之一了。网上关于它的解析也不少,可是看完之后,有些细节还不是很清楚。所以干脆直接看了HashMap的源码,然后在这里总结一下。原理先从它的基本原理开始讲起。HashMap内部使用数组来存储Node节点。其中Node节点是一种链表的结构(Node节点内部包含一个指向next的引用) 当put()的时候,首先map根据Key的hash值定位到数组中的某原创 2016-08-31 16:16:58 · 804 阅读 · 0 评论 -
String s1 = new String("abc")和String s2 = "abc"的区别
今天在看JVM的时候突然想到这样一个问题,即String s1 = new String("abc");String s2 = "abc";System.out.println(s1 == s2);//答案是false问题有两个:String s2 = “abc”时发生了什么?String s1 = new String(“abc”)时又做了什么?第二个问题是比较好回答的,根据官方文档:原创 2016-07-18 22:50:38 · 13886 阅读 · 2 评论 -
分析MockHttpServletRequestBuilder中content和param的区别
最近在做一个自动测试的平台,使用的是Spring的自带测试库。如何使用,这里不再说了,网上有很多,推荐开涛写的博客我的主要测试代码://主要构造mock请求类,可以不用看try { for(TestClass tmpClass:classes){ List<TestUrl> urls = tmpClass.getUrls();原创 2016-03-28 17:06:31 · 13986 阅读 · 0 评论 -
java自动装箱和拆箱机制详解
我们还是从一个笔试题谈起把?/** * Created by dave on 2016/4/12. * 注释表示运行结果 */public class Main { public static void main(String[] args) { Integer int1 = new Integer(30); Integer int2 = 30;原创 2016-04-12 23:46:48 · 964 阅读 · 0 评论 -
Spring框架中CharacterEncodingFilter的作用真的没那么大
之前看介绍Spring框架的时候,提到了Spring中内置了几种过滤器,其中有一种是CharacterEncodingFilter的过滤器,是将数据以某种格式编码的方式输出的。这个特性让我很兴奋,因为在WEB系统下,字符编码的格式是一定要面对的。所以我尝试了一下,结果很失望。在web.xml中添加了如下内容 <!-- 配置请求过滤器,编码格式设为UTF-8,避免中文乱码--> <fil原创 2016-03-14 14:42:16 · 16354 阅读 · 6 评论 -
通用JSON数据生成器2
前几天写了一个通用JSON生成器,但是用着用着觉得意犹未尽,不是特别顺手。原因有二:上个方法要求filed的域就是json数据中的域名称,这样很受限,特别是在发送给前端、或者JNI时,可能C语言的风格是使用下划线,而不是驼峰法,比如userName是java风格,而user_name则C语言常常用,那么,如果要让我把filed名字都变成user_name这种形式,我会受不了的。对于有些域而言,可原创 2016-03-12 11:25:19 · 2039 阅读 · 0 评论 -
Java使用Graphics2D生成公章
用了大半天的时间才把这个公章做好,个人感觉这里面需要比较多的数学知识,当然都是比较简单的了。Graphics2D根据API上的说法是,在使用Graphics2D类库的时候,这是进行操作的主要类,类似于提供了一种context。Graphics2D为抽象类,继承自Graphics类,所以在操作前,需要先获取一种可以操作的对象,然后再创建Graphics2D对象。 Graphics2D可以支持三种操作原创 2016-03-23 09:40:37 · 12740 阅读 · 3 评论 -
通用JSON数据生成器
在一个项目中通常会有很多数据是需要通过封装成JSON格式进行传输的,但是在封装JSON的过程中,不仅繁琐,而且也不美观,于是构建了一个JSON数据生成器,用户只需要定义好要传输数据类,然后通过调用封装类即可得到JSON字符串。代码通过使用反射+泛型的方法来完成。在类中的静态方法中,都需要传入参数T t,Class tClass才可以。原因在于在泛型中数据类型会被擦除,因此需要显式的传入对象的类信息;原创 2016-03-06 22:56:54 · 8982 阅读 · 0 评论 -
String.split()到底怎么回事
我们常常使用string.split方法进行分割字符串,使用最多的可能就是根据空格进行分割了。即split(” “);但是每次使用的时候,都感觉虚虚的,不知道它到底是怎么分割的。 今天看了一下源码,核心代码是这样: int off = 0; int next = 0; boolean limited = limit > 0;原创 2016-03-06 22:13:38 · 509 阅读 · 0 评论 -
ProcessBuilder中如何为命令行传参
项目中有个需求是备份数据库,备份数据库很自然的想到使用mysqldump进行转储,那么问题的关键就变成了如何在java中调用mysqldump命令,一搜才知道通过开启一个本地的进程,来执行该命令即可。 Process的产生有两种方式:Runtime.getRuntime.exec(cmd),另一种是通过ProcessBuilder builder,builder.start()。 Process原创 2016-03-03 19:50:19 · 10973 阅读 · 2 评论 -
谈谈ThreadLocal
ThreadLocal其实在很早以前就看到过,也看过一些介绍,但还是不甚了解。今天跟踪了一下源码,才觉得ThreadLocal非常巧妙。现在网上对ThreadLocal的介绍也有很多了,我主要想聊聊ThreadLocal的代码设计。作用为什么要引入ThreadLocal呢?具体应用我在项目中并没有遇到过,只是觉得当我们创建一个线程的时候,我的主线程中的所有数据都是对子线程可见的。也就是如果子线程想要原创 2016-08-25 17:27:05 · 771 阅读 · 0 评论