
java
文章平均质量分 78
somilong
这个作者很懒,什么都没留下…
展开
-
小议hashmap
转:http://blog.youkuaiyun.com/liuzhengkang/article/details/2914567大家都知道,在Java里对对象的操作是基于引用的。而当我们需要对一组对象操作的时候,就需要有接收这一组引用的容器。平时我们最常用的就是数组。在Java里可以定义一个对象数组来完成许多操作。可是,数组长度是固定的,如果我们需要更加灵活的解决方案该怎么办呢?Java提供转载 2015-10-06 13:03:19 · 342 阅读 · 0 评论 -
Spring中ApplicationContextAware接口的用法
1. 这个接口有什么用?加载Spring配置文件时,如果Spring配置文件中所定义或者注解自动注入的Bean类实现了ApplicationContextAware 接口,那么在加载Spring配置文件时,会自动调用ApplicationContextAware 接口中的方法:public void setApplicationContext(ApplicationContext co原创 2017-07-08 16:23:27 · 2645 阅读 · 0 评论 -
ThreadLocal浅析
ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序,ThreadLocal并不是一个Thread,而是Thread的局部变量。ThreadLocal的接口方法ThreadLocal类接口很简单,只有4个方法,我们先来了解一下:void set(Object value)public void原创 2017-07-31 15:39:24 · 247 阅读 · 0 评论 -
Ibatis+DBCP+Mysql数据库访问
1. 添加ibatis的jar包依赖 org.apache.ibatis ibatis-sqlmap 2.3.4.726 com.ibatis ibatis-common 2.1.0.565 2. 新建ibatis-dbcp-ds.xml配置数据源bean, 注意是dbcp.BasicDataSou原创 2017-09-26 23:30:31 · 440 阅读 · 1 评论 -
Ibatis+JDBC+Mysql数据库访问
1. 添加ibatis的jar包依赖 org.apache.ibatis ibatis-sqlmap 2.3.4.726 com.ibatis ibatis-common 2.1.0.5652. 新建ibatis-jdbc-config.xml文件配置db数据源以及指定DO和表的sql映射关系文件路径如果http://www.i原创 2017-09-26 23:08:37 · 871 阅读 · 0 评论 -
JDBC访问Mysql数据库
新建一个maven工程,用的spring框架1. 在pom.xml中天街mysql的依赖1.1 版本号管理 1.0.0-SNAPSHOT 1.0.0-SNAPSHOT 4.4 1.7 19.0 GBK 2.5.6 5.1.44 3.0.6 1.2 添加jar包依赖 mysql原创 2017-09-26 22:25:06 · 308 阅读 · 0 评论 -
Java中ExecutorService和CompletionService区别
我们现在在Java中使用多线程通常不会直接用Thread对象了,而是会用到java.util.concurrent包下的ExecutorService类来初始化一个线程池供我们使用。之前我一直习惯自己维护一个list保存submit的callable task所返回的Future对象。在主线程中遍历这个list并调用Future的get()方法取到Task的返回值。转载 2017-10-12 21:24:07 · 1004 阅读 · 0 评论 -
Spring中使用TransactionTemplate的事务管理
先看下TransactionTemplate类的源码:public class TransactionTemplate extends DefaultTransactionDefinition implements TransactionOperations, InitializingBean { /** Logger available to su原创 2017-11-05 21:38:12 · 3420 阅读 · 0 评论 -
groovy代码动态加载运行实战
class Calculator { //groovy语法 def discount(a,b){ def c = a * b } //java语法 int add(int a, int b){ return a + b; } //java语法 String addStr(Map map){原创 2017-12-08 14:59:16 · 8342 阅读 · 1 评论 -
面向切面编程AOP实战
先了解AOP的相关术语:1.通知(Advice):通知定义了切面是什么以及何时使用。描述了切面要完成的工作和何时需要执行这个工作。2.连接点(Joinpoint):程序能够应用通知的一个“时机”,这些“时机”就是连接点,例如方法被调用时、异常被抛出时等等。3.切入点(Pointcut)通知定义了切面要发生的“故事”和时间,那么切入点就定义了“故事”发生的地点,例如某个类或方原创 2016-12-04 21:43:27 · 477 阅读 · 0 评论 -
GuavaCache简介
转:http://blog.youkuaiyun.com/guozebo/article/details/51590517前言在多线程高并发场景中往往是离不开cache的,需要根据不同的应用场景来需要选择不同的cache,比如分布式缓存如Redis、memcached,还有本地(进程内)缓存如ehcache、GuavaCache。之前用spring cache的时候集成的是ehcache,但接转载 2017-06-29 22:10:28 · 259 阅读 · 0 评论 -
ConcurrentHashMap原理分析
转:http://blog.youkuaiyun.com/liuzhengkang/article/details/2916620集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,c转载 2015-10-06 13:14:31 · 378 阅读 · 0 评论 -
EqualsBuilder和HashCodeBuilder
转:http://www.blogjava.net/19851985lili/articles/95448.html自动化hashCode()和equals() 问题产生:当需要自动实现hashCode()和equals()方法 解决方法:使用EqualsBuilder和HashCodeBuilder 使用举例: import org.apache.comm转载 2015-11-22 21:45:59 · 367 阅读 · 0 评论 -
java hashcode和equal使用总结
转:http://www.cnblogs.com/nktblog/articles/2518111.htmlequals()反映的是对象或变量具体的值,即两个对象里面包含的值--可能是对象的引用,也可能是值类型的值。而hashCode()是对象或变量通过哈希算法计算出的哈希值。之所以有hashCode方法,是因为在批量的对象比较中,hashCode要比equals来得快,很转载 2015-11-22 21:28:11 · 360 阅读 · 0 评论 -
JAVA 动态代理
代理设计模式定义:为其他对象提供一种代理以控制对这个对象的访问。代理模式的结构如下图所示。动态代理使用java动态代理机制以巧妙的方式实现了代理模式的设计理念。代理模式示例代码public interface Subject { public void doSomething(); } public class Rea转载 2015-12-21 20:51:06 · 281 阅读 · 0 评论 -
Quartz-Cron Expression 使用介绍
介绍 cron是Unix/Linux系统工具,有很强的任务调度能力,Quartz的CronTrigger触发器就是建立在cron的基础上.格式说明 一个cron Expression(克龙表达式)是由6或7个字段以空格分隔的字符串,每个字段包含一些允许的值或允许的特殊字符(具体见下表), 字段必要容许值容转载 2016-02-04 20:42:17 · 875 阅读 · 0 评论 -
如何使用XSD
更多细节可以参考:http://www.w3school.com.cn/schema/schema_howto.aspXSD是XML Schema Definition的简称,顾名思义,它是用xml语言来定义和验证xml数据格式的文件,后缀.xsdXML Schema可以用来定义什么?:定义可出现在文档中的元素定义可出现在文档中的属性定义哪个元素是子元素定义子元素的次序原创 2016-06-03 21:07:17 · 5578 阅读 · 0 评论 -
java 多线程之Executors.newFixedThreadPool
//生成线程池最大3个并发线程ExecutorService executorService = Executors.newFixedThreadPool(3);for(BookDO bookDO : Books){ //多线程执行子任务 executorService.submit(new BookCollector(bookDO, EagleEye.getR原创 2016-07-03 11:46:35 · 1538 阅读 · 0 评论 -
JAXB 序列化 java.util.Map
使用JAXB序列化java.util.Map接口可能会遇到一些问题,本文通过几种方式来做map的序列化,包括不做任何处理的序列化、修改节点名称、添加xml命名空间、使用XmlAdapter统一命名空间。首先介绍下序列化涉及到的几个类:Customer类包含一个Map的属性,Map的key类型是String类型,而value类型是我们自定义的POJO类型。其代码如下:package转载 2016-07-09 16:18:26 · 3549 阅读 · 0 评论 -
Groovy正则表达式使用
转: http://364434006.iteye.com/blog/1735462// 定义正则表达式,里面的特殊字符会自动转义~// 定义正则表达式,会将字符串编译成Pattern=~ 将左边的字符串局部匹配右边的正则表达式,并返回Matcher==~ 将左边的字符串全局匹配右边的正则表达式,并返回boolean //语法“//”定义正则表达式,对于转载 2017-12-21 16:16:01 · 6254 阅读 · 1 评论