![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
erik.zh
即使失败一百次,也不要后悔一次
展开
-
Java多线程,并发编程等
看到比较好的博客资源,http://blog.csdn.net/fw0124/article/category/853138/3转载 2015-10-29 13:59:47 · 414 阅读 · 0 评论 -
Java集合框架
【Java集合源码剖析】Java集合框架 http://blog.csdn.net/ns_code/article/details/35564663转载 2016-06-27 23:35:10 · 370 阅读 · 0 评论 -
spring事务管理UnexpectedRollbackException
在使用spring事务管理时,程序报如下: Java代码 org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only 程序的代码为: Java转载 2016-07-22 23:55:34 · 1363 阅读 · 0 评论 -
Java设计模式之装饰器模式
记得以前听一个高手说java.io包采用了了装饰器模式,当时不是很明白什么事装饰器模式,现在,网上看了一下说明和帮助的例子,他们的例子是这样的。 定义Decorator装饰器,顾名思义,就是动态地给一个对象添加一些额外的职责,就好比为房子进行装修一样。因此,装饰器模式具有如下的特征:它必须具有一个装饰的对象。它必须拥有与被装饰对象相同的接口。它可以给被装转载 2016-04-19 13:42:42 · 373 阅读 · 0 评论 -
23种设计模式汇总整理
设计模式分为三大类:创建型模式:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式结构型模式:适配器模式、装饰者模式、代理模式、外观模式、桥接模式、组合模式、享元模式行为型模式:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式还有两类:并发型模式和线程池模式。转载 2016-04-19 12:55:05 · 357 阅读 · 0 评论 -
Spring中模板模式和回调模式的讲解
话回正转,这两天在读spring的jdbc模板,对Spring源码的精妙真是佩服得五体投地,极为经典。 spring中真是集设计模式之大成,而且用得是炉火纯青。模板方法(template method)就在spring中被大量使用,如:jdbcTemplate,hibernateTemplate,JndiTemplate以及一些包围的包装等都无疑使用了模板模式,但spring并不是单纯使用了模转载 2016-04-19 12:47:20 · 425 阅读 · 0 评论 -
深入理解Java内存模型之系列篇
深入理解Java内存模型(一)——基础并发编程模型的分类在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来转载 2016-03-11 11:44:54 · 549 阅读 · 0 评论 -
Apache Shiro
Shiro基础及原理: http://kdboy.iteye.com/category/35212转载 2015-11-24 16:58:40 · 280 阅读 · 0 评论 -
Lock与synchronized 的区别
1、ReentrantLock 拥有Synchronized相同的并发性和内存语义,此外还多了 锁投票,定时锁等候和中断锁等候 线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定, 如果使用 synchronized ,如果A不释放,B将一直等下去,不能被中断 如果 使用ReentrantLock,如果A不释放,可以使B在转载 2015-10-29 11:05:47 · 430 阅读 · 0 评论 -
Java 类加载与初始化
目录类加载器动态加载链接初始化示例类加载器在了解Java的机制之前,需要先了解类在JVM(Java虚拟机)中是如何加载的,这对后面理解java其它机制将有重要作用。每个类编译后产生一个Class对象,存储在.class文件中,JVM使用类加载器(Class Loader)来加载类的字节码文件(.class),类加载器实质上是一条类加载器链,一般的,我们只会用到一转载 2015-10-09 22:54:50 · 2832 阅读 · 0 评论 -
VisualVM 性能调优过程(测试demo)
VisualVM 是一款免费的,集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优。这些功能包括生成和分析海量数据、跟踪内存泄漏、监控垃圾回收器、执行内存和 CPU 分析,同时它还支持在 MBeans 上进行浏览和操作。本文主要介绍如何使用 VisualVM 进行性能分析及调优。目录: 准备工作 内存分析篇 内存堆H转载 2015-10-27 13:03:56 · 1742 阅读 · 0 评论 -
java.io.Serializable浅析
Java API中java.io.Serializable接口源码:1 public interface Serializable {2 } 类通过实现java.io.Serializable接口可以启用其序列化功能。未实现次接口的类无法使其任何状态序列化或反序列化。可序列化类的所有子类型本身都是可序列化的。序列化接口没有方法或字段,仅用于标识可序列化的语义。 J转载 2015-10-12 11:21:36 · 372 阅读 · 0 评论 -
Java中的日志——Java.util.logging、log4j、commons-logging
Java中给项目程序添加log主要有三种方式,一使用JDK中的java.util.logging包,一种是log4j,一种是commons-logging。其中log4j和commons-logging都是apache软件基金会的开源项目。这三种方式的区别如下:Java.util.logging,JDK标准库中的类,是JDK 1.4 版本之后添加的日志记录的功能包。 log4j,最转载 2015-10-20 22:40:58 · 402 阅读 · 0 评论 -
Java提高篇
Java提高篇:http://blog.csdn.net/chenssy/article/category/1688799转载 2015-11-04 15:38:21 · 308 阅读 · 0 评论 -
一些问题
1. for 循环remove,i--for (int i = 0; i ; i++) { item item= itemVOs.get(i); //如果库存等于空或者0,购买数量等于空或者0.则移除商品 if(item.getAvailableNum() == null){ itemVOs.remove(item); i--;原创 2017-04-14 13:46:06 · 324 阅读 · 0 评论