java se
文章平均质量分 68
不泪之城
这个作者很懒,什么都没留下…
展开
-
java 读取解析xml的四种方式(转载)
1.有很多时候我们需要将相关动态的信息保存到XML文件中去,那么我们就可以动态输入相关信息。特别是针对数据库方面的操作的时候就非常地灵活。那我现在假如项目中的操作数据库的包为model里面存放了我们的XML文件db.xml现在来看看如何解析出来相关的数据来调用。第一个类:package model;import org.xml.sax.Attributes;import o...原创 2013-03-23 11:41:47 · 72 阅读 · 0 评论 -
properties 工具类
如下是代码:/** * Created with malone * User: P0032597 * Date: 13-8-20 * Time: 下午4:13 */public class PropertiesUtil { private static Logger logger = LoggerFactory.getLogger(Properties...原创 2013-10-19 08:55:59 · 112 阅读 · 0 评论 -
jdk 源码(全部)
JDK自带的源代码并没有包含所有的包,比如sun.refelect等包。如果我想查看里面的源码,可以从官网上下载jar包,自己编译。 打开http://download.java.net/jdk6/source/,选择合适的下载jdk-6u23-fcs-src-b05-jrl-12_nov_2010.jar,然后打开cmd,cd到jdk-6u23-fcs-src-b05-jrl-1...原创 2013-10-23 22:13:08 · 413 阅读 · 0 评论 -
jdk cglib 动态代理
1 jdk动态代理 jdk动态代理限制:只能对实现了某一个接口的类进行代理。 原理:生成的代理类也实现了被代理类实现的接口,并且继承了Proxy类 jdk提供动态代理的工具:接口:java.lang.reflect.InvocationHandler, java.lang.reflect.Proxy; 实现jdk动态代理步骤: 首先定义被代理的类及被代理类实...原创 2013-10-24 15:04:36 · 163 阅读 · 0 评论 -
web获取参数值工具(改进,使用Callback)
在前面的博客中写了一篇《自己封装的获取web端参数值工具》 当时对具体获取值的逻辑进行的封装和抽象,如下: @SuppressWarnings("unchecked") public static <T> T getValue(HttpServletRequest request, String paramName, T ...原创 2013-10-30 15:28:30 · 178 阅读 · 0 评论 -
ThreadLocal 管理 HttpSession
最近在用spring security控制系统的权限, 在用户登陆的时候,在方法loadUserByUsername里验证用户名是否正确时,想获取HttpSession,并把登陆用户保存到session中,此时发现在当前方法中无法获取HttpSession;类似的,在系统中,在无法获取HttpSession的时候,想使用session中保存的数据是很困难的;在我们项目中,我们是这样解决...原创 2014-04-24 15:52:45 · 491 阅读 · 0 评论 -
泛型的使用
public class ClassTest { public static void main(String[] args) throws Exception { ParameterizedType type = (ParameterizedType) Bar.class.getGenericSuperclass(); System.out.pri...原创 2016-06-22 15:08:17 · 92 阅读 · 0 评论 -
LinkedHashMap理解
注: 下面的源码理解均基于jdk1.8的源码 HashMap是常用的数据集合,但是是无序, LinkedHashMap就是在HashMap上进行的一种扩展,在HashMap特性的基础上增加了有序这个特性(还可以根据最新使用自动排序)设计十分巧妙 1 LinkedHashMap继承自HashMap public class LinkedHashMap<...原创 2016-11-16 14:55:54 · 109 阅读 · 0 评论 -
java 数组
1 数组是引用类型 2 java虚拟机在装入数组时,会根据数组元素的类型以及数组维度创建对应的Class对象,数组元素的类型和维度唯一确认了数组类的Class对象,比如下面的代码: public static void main (String[] args) { int[] a = new int[5]; System.out.printl...原创 2014-10-31 14:37:55 · 104 阅读 · 0 评论 -
Intellij Idea + Maven 使用jstl遇到的问题
请按照以下步骤操作:1 在pom.xml文件中引入jstl需要的jar包 <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>...原创 2014-11-11 10:27:33 · 715 阅读 · 0 评论 -
深入java虚拟机 异常,异常表, finally
每个异常表入口包含四个信息: 下面一个小例子: public class GreetDemo { public static void main (String[] args) { GreetDemo gd = new GreetDemo(); gd.testException(); } pub...原创 2014-11-12 17:36:55 · 229 阅读 · 0 评论 -
java静态方法是否可以被重写
首先来看一段代码:public class ExtendDemo { public static void main (String[] args) { SuperClass superClass = new SuperClass(); SuperClass subClass = new SubClass(); superCl...原创 2014-11-18 17:40:43 · 267 阅读 · 0 评论 -
java高并发下的唯一性验证
做java ee程序基本上都会遇到唯一性的问题,我们通常不考虑并发性的问题的情况下的做法是:先根据条件去数据中查询是否存在,如果存在则提示不唯一,否则插入 下面是一个简单的例子, 向表t_test_curr插入数据,t_test_curr表包含两个字段,一个id(主键,自增长),一个username,要求唯一1 不考虑并发性的做法: public void tes...原创 2014-11-21 14:03:36 · 3152 阅读 · 3 评论 -
java 8 Stream list to Map key 重复 value合并到Collection
关于把list转换成key value的map有很多博客上都有实现,这里是一个吧value放入到集合中去 List<String> list = Lists.newArrayList("1", "2", "3", "1"); Map<String, List<String>> map = list.str原创 2017-08-09 10:38:34 · 8366 阅读 · 0 评论 -
Function 对代码封装带来的改变
java 8 Function特性也出现了很久了,在项目用的越来越多,记录一下个人的感悟 1 函数式参数的编程思想,对callback功能的全面替代 这个很容易理解,callback本身就是接近函数式参数的一个概念,代码封装中常会对同一个方法中相同的部分抽取,不同的部分定义成callback,调用者提供具体的实现,使用过的类HibernateDaoSupport是一个很好的体...原创 2017-12-18 16:40:12 · 217 阅读 · 0 评论 -
BeanCopier 详解
BeanCopier 实现属性拷贝的主要代码: BeanCopier beanCopier = BeanCopier.create(dad.getClass(), dadly.getClass(), false); beanCopier.copy(dad, dadly, null); 查看BeanCopier源码可知: abstract public class...原创 2013-10-17 22:33:42 · 1146 阅读 · 0 评论 -
关于String的问题
关于String的经典问题很多,不过弄清楚jvm如果创建和存储String对象,一般的问题应该都能对付1 String对象的存放 (1) 直接使用双引号:String s = "abc"; "abc"字符串存在jvm的常量池中,常量池在方法区中 (2) 使用new String:String s = new String("abc");在堆中分配内存区域 2 + 操作...原创 2015-03-05 14:07:08 · 119 阅读 · 0 评论 -
java 数组详解
1 数组声明: int[] a;2 数组初始化: int[] a = new int[5]; 或者使用数组常量进行初始化:int[] a = {1,2,3};3 未初始化数组时,不能访问数组: int[] a; a[0] = 1; 会报错;4 数组常量只能在初始化的时候使用,否则会报错。5 数组是引用类型,数组变量相当于类的成员变量,会被默认初始化。6.动态...原创 2013-03-24 11:10:23 · 122 阅读 · 0 评论 -
同步与java内存模型(转载)
1 原子性 除了long型字段和double型字段外,java内存模型确保访问任意类型字段所对应的内存单元都是原子的。这包括引用其它对象的引用类型的字 段。此外,volatile long 和volatile double也具有原子性 。(虽然java内存模型不保证non-volatile long 和 non-volatile double的原子性,当然它们在某些场合也具有原子性。)...原创 2014-05-22 11:11:29 · 176 阅读 · 0 评论 -
JodaTime 时间处理
最近看别人在谈项目中时间处理的问题,jdk提供的Date好多方法都废弃了,现在基本上都是统一用Calendar来处理,用过Calendar处理日期的想必都有感觉,Calendar是一个笨重的东西,计算时间的时候更是劣势尽显,代码冗余很高,现在推荐一个非常好的时间处理类库:Joda Time 1 使用到的jar包<dependency> <...原创 2014-05-30 13:47:05 · 165 阅读 · 0 评论 -
java Tuple 元组
场景:当在一个方法中, 你需要返回几个对象,这几个对象的类型一致,你可以返回一个数组;如果几个对象的类型不同呢,当然你可以返回一个Object[]数组,可是这样在使用结果数组的时候,就需要强转对象的类型,会导致类型不安全;也可以定义一个dto,当多个场景下需要使用的不同,需要定义多个dto,这样会类爆炸,而且重用率极低;在非常接近Java语言的Scala里有元组的定义:val t = ...原创 2014-05-30 18:01:34 · 1201 阅读 · 0 评论 -
File Path 相对路径
最近在项目中想使用相对路径存放上传的apk包,所以研究了一下相对路径创建File的相关知识 1 参考以前的代码,写下如下代码: public static void main(String[] args) throws IOException { File parentFile = new File("/intelStore/apk/...原创 2014-06-07 10:32:48 · 1384 阅读 · 1 评论 -
java enum详解
enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中。 下面是我在使用 enum 过程中的一些经验和总结,主要包括如下内容:1. 原始的接口定义常量2. 语法(定义)3. 遍历、switch 等常用操作4. enum 对象的常用方法介绍5. 给 enum 自定义属性和方法...原创 2013-08-22 14:20:22 · 72 阅读 · 0 评论 -
jvm 参数详解
http://kenwublog.com/docs/java6-jvm-options-chinese-edition.htm原创 2013-08-23 14:29:11 · 82 阅读 · 0 评论 -
原型模式--深浅复制公用类
package basic;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;imp...原创 2014-02-08 15:35:28 · 101 阅读 · 0 评论 -
Amazon AWS S3 上传文件 并获取公用url
最近在用aws的s3做云存储,把文件上传上去,在数据库中记录对应的url,下面是示例代码: public static String uploadToS3(File tempFile, String remoteFileName) throws IOException { PropertiesUtil propertiesUtil = new Pro...原创 2014-06-20 13:38:37 · 11944 阅读 · 0 评论 -
xml查询xpath
一、结点类型XPath中有七种结点类型:元素、属性、文本、命名空间、处理指令、注释以及文档节点(或成为根节点)。 文档的根节点即是文档结点;对应属性有属性结点,元素有元素结点。二、常用路径表达式表达式 描述nodename 选取此节点的所有子节点/ ...原创 2013-08-28 16:02:03 · 177 阅读 · 0 评论 -
java中HashMap使用的一些点
1、内部存储结构HashMap的内部存储结构是数组,默认初始化为16长度的Entry[],对于hash冲突采用拉链方法解决,所以它是数组和链表的合体。2、理解HashMap做到合理使用假设我们要存放100W数据到HashMap中,那么分到每个链上就有100W/16个数据,显然这样的map是不合理的。HashMap采用resize数组来增加数据长度降低拉链过长造成的性...原创 2013-09-10 11:08:02 · 96 阅读 · 0 评论 -
理解 java 数组(转载)
本文转载自:http://www.blogjava.net/flysky19/articles/92763.html?opt=admin 参考资料:1.《java jdk5.0 学习笔记》良葛格 第五章数组2.如何理解数组的length?http://blog.csdn.net/treeroot/archive/2005/01/22/264001.aspx3.关于java数组的深度思考h...原创 2014-03-13 17:14:37 · 102 阅读 · 0 评论 -
java throws
大家都知道throws关键字在方法名后使用,表示该方法可能抛出的异常,在本方法中不做处理,当产生异常时,系统会自动抛给调用该方法的方法,当被调用方法throws一个runtimeException时,调用方法不强制要求捕捉该异常,当throws一个非运行时异常时,调用方法必须捕捉此异常或者继续throws此异常...原创 2013-09-29 14:07:46 · 166 阅读 · 0 评论 -
自己封装的获取web端参数值工具
package com.malone.family.util;import javax.servlet.http.HttpServletRequest;import org.apache.commons.lang.StringUtils;import com.malone.family.exception.ParamCheckException;public c...原创 2013-09-30 10:14:44 · 97 阅读 · 0 评论 -
CompletableFuture源码赏析
文章原创,转载请注明出处:http://abc08010051.iteye.com/blog/2409693后面会再修改一下,让文章读起来更好读,现在的版本还比较粗糙 CompletableFuture是java 1.8提供的一个新类,是对Future的增强,吸收了guava异步线程的特点,可以实现一系列的异步线程操作,很多常规的用法网上有很多博客,这里说说部分代码的实现:...原创 2018-01-29 17:26:52 · 1988 阅读 · 0 评论