JAVA
文章平均质量分 64
黔梦
这个作者很懒,什么都没留下…
展开
-
JAVA——基本数据类型之间的自动转换
我们都知道基本数据类型之间的自动转换遵循“小范围到大范围”,那么大范围的就一定不能自动转向小范围吗?答案是:在一定情况下是可以的。而且在实验中还意外地发现,java在处理算术表达式时,将算术表达式的数据类型定义为等于或高于int型。原创 2015-11-09 15:08:33 · 2885 阅读 · 1 评论 -
linux 安装JDK
这里以Ubuntu12.04安装JDK8来加以说明。首先从官网下载linux版的JDK8:http://www.oracle.com/technetwork/java/javase/downloads/server-jre8-downloads-2133154.html然后,将下载好的JDK压缩包传输到目的机器上。如:再将其解压缩:tarzxvf jdk-8u5原创 2017-03-19 21:50:21 · 231 阅读 · 0 评论 -
java-mysql-mybatis日期类型
本篇包含以下内容:MYSQL的五种时间类型java、mybatis、mysql类型对应关系1、MYSQL的五种时间类型(参考http://blog.csdn.net/nich002/article/details/8950065)DATETIME 8B 范围[1000-01-01 00:00:00, 9999-12-31 23:59:59]TIM原创 2017-10-10 14:53:34 · 1571 阅读 · 0 评论 -
HTTP请求客户端
Http请求的客户端(在java里)目前有两种,java.net.HttpURLConnection和org.apache.http.client.HttpClient。java.net.HttpURLConnection这是java自带的http请求工具类。HttpURLConnection的API提供的比较简单,更加容易地去使用和扩展它,但是在2.2以前存在bug,所以原创 2017-10-10 14:59:41 · 1368 阅读 · 0 评论 -
javax的NotBlank和Email注解失效
使用javax的NotBlan和Email注解,结果保类似错误no validator could be found for constraint 'javax.validation.constraints.notblank'原来是由于javax只提供了注解的定义,未提供对应的处理器,一般使用hibernate提供的注解处理器。但是hibernate未提供NotBlank和原创 2017-11-30 11:40:45 · 7397 阅读 · 2 评论 -
javax注解适用范围
javax的各种注解分别适用于什么类型,有哪些边界条件呢?先汇总如下:DecimalMax 通过最大值指定取值范围 null是合法的 BigDecimal、BigInteger、CharSequence、byte、short、int、long、Byte、Short、Integer、LongDecimalMin null是合法的 同上Digits 通过有效位数指原创 2017-11-30 11:47:51 · 1439 阅读 · 0 评论 -
Spring自定义xml标签
1、总体思路:1.1) 编写标签schema1.2) 添加文件spring.schemas和spring.handlers(目录固定在classpath:/META-INF下,被依赖代码必须打成一个jar包)1.3) 编写一堆handler。2、详细说明自定义的标签一定有属于自己的namespace,所以要有个namespaceHandler(继承Namespace原创 2017-11-30 13:13:50 · 2330 阅读 · 0 评论 -
java项目相对路径问题
1、背景在做开发时,经常遇到这样的情形:IDE、cmd、web容器,对于一个项目的主目录路径的获取方式总是不一样,而且跨os(如windows和linux)时更是如此,这样太影像编码了,因为总不能一个一个if else吧 ~囧~。那么有没有办法解决呢?2、解决方案:看需求!2.1、如果你是想拿到路径,那么 => 没有(除非仅限制在linux或mac上),因为原创 2017-11-30 13:21:39 · 818 阅读 · 0 评论 -
Java日志框架
在java的众多开源项目中,有很多日志框架,如Commons-logging、Log4j、logback和JDK自带的logging。这些日志框架也有自己的接口,但是这些接口定义不统一,在项目开发时不容易相互切换。于是有了SLF4J。可以看出SLF4J只是一个统一的定义,并未提供日志功能的实现。但是在业务项目开发时,可以使用SLF4J进行编码,然后再引入两个依赖,一个是具体的日志框架,一个是从原创 2017-11-30 13:58:12 · 185 阅读 · 0 评论 -
Logback
解决两个问题:1、日志文件先按日期分割,再按指定大小分割;2、日志输出到catalina.out; 1、日志输出到catalina.out在logback.xml里如下配置后就能输出到console里, <?xml version="1.0" encoding="UTF-8"?><configuration> <appende...原创 2017-11-30 14:10:49 · 401 阅读 · 0 评论 -
JAVA HttpClient使用
为达到以下目的:要发送的参数json和platformKey, 以post方式传送,对参数进行Encode,只针对参数的值进行encode,否则解析不了;引用的包import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.Inpu原创 2017-03-19 20:07:32 · 322 阅读 · 0 评论 -
java 注解的实例化
这里介绍诸如@Override、@Test的注解是如何实现(实例化)的?其实注解是一个被final修饰、继承Annotation的interface。不过既然是interface,那么就不能直接实例化,但是却可以通过getAnnotation(Class)方法取得注解对象,这说明开发人员或内置注解一定在某个地方有个实现类。而这个实现类,其实就是JVM在运行时生成的,名称一般遵循$Proxy原创 2017-01-28 22:17:03 · 8980 阅读 · 1 评论 -
JAVA——对象所占内存空间大小的计算
学过c++的朋友想必对“c++的内存对齐规则”不会感到陌生。那么在java中,是否也存在这样的规则呢?为此,笔者进行了实验,发现java的内存对齐规则非常简明——8字节对齐。现与大家分享下。 一个java对象所占的内存空间分为三个部分:对象头(Mark Word+类型指针+长度)+实例数据+填充。 填充的目的是保证一个java对象的大小是8B的整数倍。 对象头分为三个部分:Mark Word、原创 2015-11-10 18:56:47 · 4008 阅读 · 1 评论 -
JAVA——类与JAVA文件
在求职笔试中,经常会遇到类似“一个java文件中可以有几个类?”的问题。虽然在实际开发中很少用到,但还是有必要了解下。为此,笔者进行了实验,现与大家分享下。主要的准则就是:一个JAVA文件内可以同时有多个类,但有且仅有一个类的名称与JAVA文件名称相同如果JAVA文件里有public修饰的类,那么这个类的名称必须与JAVA文件名相同。也就是说允许所有类的访问修饰符均为“默认”,因为原创 2015-11-11 14:18:23 · 476 阅读 · 0 评论 -
JAVA——包装类的自动装箱和拆箱
关于JAVA的包装类自动拆箱和装箱,有很多人做过介绍,但笔者发现说的不够简洁,而这个问题在面试、笔试中又经常涉及,故笔者将搜集到的信息与大家分享下:包装类(原始类型对应的类,即Boolean, Byte, Short, Integer, Long, Float, Double, Character)的自动拆、装箱规则如下:遇到赋值运算符“=”(包括传参数,参数传递属于隐式赋值)原创 2015-11-10 21:06:02 · 4575 阅读 · 0 评论 -
JAVA——算术表达式和方法参数计算
相信不少人对c++里同时含有i++和++i的算术表达式计算都感到头大;此外c++中对函数实参值的计算也会涉及i++和++i的问题。那么在java中,这两个问题的处理是否也很棘手呢?答案就是——“基于栈的、从左向右地、一边计算一边代入”。原创 2015-11-09 18:45:43 · 2046 阅读 · 0 评论 -
java 使用org.w3c.dom操作XML文件
本篇介绍在java中,如何使用org.w3c.dom中的相关内容来操作XML文件。包括:如何在内存中构建XML文件并写入磁盘;如何从磁盘读取XML文件到内存;如何添加注释,读取注释;如何添加属性,读取属性;如何添加子元素,读取子元素;也可以参考如下连接:http://www.cnblogs.com/ITEagle/archive/2010/03/03/1677431.h原创 2016-06-17 10:00:15 · 7821 阅读 · 0 评论 -
maven 设置JAVA_HOME
在idea中编写maven的pom脚本,想为项目的主代码生成javadoc文件,结果却提示"JAVA_HOME"变量设置不正确,具体提示如下:Failed to execute goal org.apache.maven.plugins:maven-site-plugin:3.0:site (default-site) on project QSProject: Error during pa原创 2016-06-22 13:31:54 · 5334 阅读 · 0 评论 -
mybatis插件原理
mybatis的插件原理可参考博文,http://blog.csdn.net/hupanfeng/article/details/9247379,本文可作为补充。1、mybatis的自定义插件,需要实现Interceptor接口,里面有三个接口:Object intercept(Invocation var1) throws Throwable;Object plugin(Obje原创 2016-12-31 14:42:57 · 568 阅读 · 0 评论 -
maven项目打包
现欲将项目源码打成可执行jar包,但不将(resources)资源文件打入jar包,而是在jar包中指定classpath,那么如何编写POM文件呢?项目的结构是:-src-main+java+sources+webapp+test现需要打成一个可执行的jar包,运行时的结构如下:-work+lib+resources-runnable.jar-翻译 2016-12-31 15:37:04 · 298 阅读 · 0 评论 -
Spring AOP demo 和获取被CGLIB代理的对象
本文分为两部分:1)给出Spring AOP的一个例子(会使用CGLIB代理);2)给出获取被CGLIB代理的原始对象。1、Spring AOP Demo这部分参考了博文(http://www.voidcn.com/blog/daguanjia11/article/p-4628090.html)1.1添加maven依赖 org.springframework spr原创 2017-02-16 22:55:00 · 8179 阅读 · 0 评论 -
javax的Valid注解对泛型失效
我们知道javax的@Valid注解的效果是递归下去的。比如有一个如下的Controller:request的结构分别如下:那么QueryContractRequest的chainId字段上面的Min注解是会生效的。但是,如果ApiBaseRequest的定义如下,及使用了泛型,那么QueryContractRequest的chainId字段上面的Min注解不会原创 2017-12-09 15:45:09 · 5438 阅读 · 10 评论