JAVA
xuxiaoxie
123
展开
-
JAVA基础之——注解的生命周期
注解的生命周期有三种,注解驻留在源文件阶段,字节码文件阶段和内存字节码阶段。(1)注解被保留到源文件阶段 当javac把.java源文件编译成.class时,就将相应的注解去掉。这种注解的生命周期就维持到源文件阶段。(2)注解被保留到字节码文件阶段 在JVM通过ClassLoader向内存中加载字节码文件时候,JVM会去掉相应的原创 2016-05-10 21:01:59 · 4555 阅读 · 0 评论 -
JAVA框架——Spring Mvc与struts2区别
虽然说没有系统的学习过spring MVC框架, 但是工作这么长时间, 基本上在WEB层使用的都是Spring MVC, 自己觉得Struts2也是一个不错的WEB层框架, 这两种框架至今自己还未有比较, 今天闲着没事干, 从网上找了一些资料, 再加上平时使用Spring MVC的感触来总结一下。Spring MVC PK Struts2我们用struts2时采用的传统转载 2016-05-09 21:04:49 · 1955 阅读 · 1 评论 -
simple-spring-memcached简介
memcached是一款非常优秀的分布式缓存工具,有效提升了按主键检索数据的性能问题。而simple-spring-memcached组件通过与spring框架整合,让memcached的调用变得更加简单。simple-spring-memcached本质上是采用了AOP的方式来实现缓存的调用和管理,其核心组件声明了一些Advice,当遇到相应的切入点时,会执行这些Advice来对memc原创 2016-05-10 08:05:45 · 1168 阅读 · 0 评论 -
装饰模式与代理模式的区别
以下是我的理解:代码区别:装饰模式跟代理模式代码的最大的在于他们的构造方法,代理模式的构造方法不传参数,在构造方法内部完成参数传递,装饰模式将装饰的对象作为参数传进去。理念区别:代理模式中,代理类对被代理的对象有控制权,决定其执行或者不执行。而装饰模式中,装饰类对代理对象没有控制权,只能为其增加一层装饰,以加强被装饰对象的功能,仅此而已转载内转载 2016-05-10 08:31:41 · 3388 阅读 · 0 评论 -
JAVA学习之——fail-fast机制
在JDK的Collection中我们时常会看到类似于这样的话: 例如,ArrayList:注意,迭代器的快速失败行为无法得到保证,因为一般来说,不可能对是否出现不同步并发修改做出任何硬性保证。快速失败迭代器会尽最大努力抛出 ConcurrentModificationException。因此,为提高这类迭代器的正确性而编写一个依赖于此异常的程序是错误的做法:迭代器原创 2016-05-25 10:13:09 · 408 阅读 · 0 评论 -
JAVA学习之——HashMap实现原理
1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 2. HashMap的数据结构: 在Java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本转载 2016-05-20 11:34:06 · 278 阅读 · 0 评论 -
JAVA学习之——ArrayList实现原理
一、 ArrayList概述 二、 ArrayList的实现 1) 私有属性 2) 构造方法 3) 元素存储 4) 元素读取 5) 元素删除转载 2016-05-20 19:43:05 · 414 阅读 · 0 评论 -
Mybatis开发总结
1、使用插件“mybatisGenerator”生成的辅助代码 Example做组合查询,非常方便,如下:[java] view plain copy print?AfficheExample example = new AfficheExample(); Criteria cri = example.createCriteria转载 2016-06-06 13:35:59 · 604 阅读 · 0 评论 -
身份证工具类IdcardUtils
import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.HashMap;import java.util.Map;import org.apache.commons.lang.St原创 2016-07-19 11:38:02 · 4158 阅读 · 0 评论 -
FireFox不能正常导出文件的问题
最近在做一个Excel导出的功能,遇到了一个问题下载的时候,在Chrome浏览器里面能正常的下载Excel的文件,但是在FireFox里面下载的时候,下载的文件没有后缀名,是一个空白文件,在文件的后面加上Excel的xls后缀之后,能够正常打开代码如下 productManage.exportExcel(sheet,vo,list,out); Simple原创 2016-07-19 11:46:54 · 8016 阅读 · 1 评论 -
JAVA多线程——多线程的几种实现方法详解
转自:http://blog.csdn.net/jspamd/article/details/5262894随着计算机技术的发展,编程模型也越来越复杂多样化。但多线程编程模型是目前计算机系统架构的最终模型。随着CPU主频的不断攀升,X86架构的硬件已经成为瓶,在这种架构的CPU主频最高为4G。事实上目前3.6G主频的CPU已经接近了顶峰。 如果不能从根本上更新当前CPU的架构(在转载 2016-05-04 16:47:34 · 3369 阅读 · 0 评论 -
JAVA基础之——HashSet中是如何判断元素是否重复的
原文:http://blog.csdn.net/ning109314/article/details/17354839HashSet不能添加重复的元素,当调用add(Object)方法时候,首先会调用Object的hashCode方法判hashCode是否已经存在,如不存在则直接插入元素;如果已存在则调用Object对象的equals方法判断是否返回true,如果为tr转载 2016-05-09 19:46:37 · 7490 阅读 · 2 评论 -
JAVA基础之——深入理解Java的接口和抽象类
原文链接: http://www.cnblogs.com/dolphin0520/p/3811437.html对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下转载 2016-05-09 19:39:33 · 402 阅读 · 0 评论 -
JAVA基础之——为什么String要设计成不可变的?
这是一个老生常谈的话题(This is an old yet still popular question). 在Java中将String设计成不可变的是综合考虑到各种因素的结果,想要理解这个问题,需要综合内存,同步,数据结构以及安全等方面的考虑. 在下文中,我将为各种原因做一个小结。1. 字符串常量池的需要字符串常量池(String pool, String intern p转载 2016-05-11 07:12:02 · 441 阅读 · 0 评论 -
一台机器上启动多个Tomcat
如果需要在一台机子上启动多个Tomcat服务器,在默认设置下肯定会发生端口冲突。为实现这个效果,只需修改conf子目录中的server.xml文件即可。共需修改三处: (1).修改http访问端口(默认为8080端口): connectionTimeout=”20000″ redirectPort=”8443″ URIEncoding=”gb2312″/> (2).原创 2016-05-25 14:35:43 · 734 阅读 · 0 评论 -
Windows环境下实现Nginx+2tomcat实现负载均衡
在项目运营时,我们都会遇到一个问题,项目需要更新时,我们可能需先暂时关闭下服务器来更新。但这可能会出现一些状况: 1.用户还在操作,被强迫终止了(我们可以看日志等没人操作的时候更新,但总可能会有万一)2.不知道的用户可能会想网站是不是被攻击了,降低了对网站的信任程度,从而导致失去部分潜在客户,这点尤其对金融互联网公司不利。 在查了一些资料后,决定采用Tomc原创 2016-05-25 14:55:16 · 4116 阅读 · 0 评论 -
java 死锁产生原因及解锁
进程死锁及解决办法 一、要点提示(1) 掌握死锁的概念和产生死锁的根本原因。(2) 理解产生死锁的必要条件--以下四个条件同时具备:互斥条件、不可抢占条件、占有且申请条件、循环等待条件。(3) 记住解决死锁的一般方法,掌握死锁的预防和死锁的避免二者的基本思想。(4) 掌握死锁的预防策略中资源有序分配策略。(5) 理解进程安全序列的概念,理解死锁与安全序列的关系。(6转载 2016-05-08 09:49:06 · 9050 阅读 · 2 评论 -
Java学习之——线程非安全单利模式到线程安全单利模式
为何需要单例模式对于系统中的某些类来说,只有一个实例很重要,例如,一个系统只能有一个窗口管理器或文件系统;一个系统只能有一个计时工具或ID(序号)生成器。单例模式设计要点保证该类只有一个实例。将该类的构造方法定义为私有方法,这样其他处的代码就无法通过调用该类的构造方法来实例化该类的对象提供一个该实例的访问点。一般由该类自己负责创建实例,并提供一个静态方法作为该实例的访问点转载 2016-05-19 09:36:31 · 848 阅读 · 0 评论 -
JAVA学习之——Spring 注释 @Autowired 和@Resource 的区别
一、@Autowired和@Resource都可以用来装配bean,都可以写在字段上,或者方法上。 二、@Autowired属于Spring的;@Resource为JSR-250标准的注释,属于J2EE的。 三、@Autowired默认按类型装配,默认情况下必须要求依赖对象必须存在,如果要允许null值,可以设置它的required属性为fa原创 2016-06-01 19:38:05 · 657 阅读 · 0 评论 -
java设计模式之——代理模式
1,什么是代理模式?代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。 2,策略模式有什么好处? 在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 3,代理模式一般涉及到的角色有: 抽象角色:声明真实对象和代理对象的共同接口; 代理角色:代理对象角色转载 2016-05-09 19:32:24 · 269 阅读 · 0 评论 -
JAVA基础之——深入理解java多态性
深入理解Java多态性 昨天看到一个关于多态性的帖子,参考了回帖者的理解,加入了一些自己的看法,整理出来供大家参考,不一定完全正确,欢迎大家批评指正。(一)相关类class A ...{ public String show(D obj)...{ return ("A and D");转载 2016-05-09 19:29:52 · 276 阅读 · 0 评论 -
JAVA虚拟机之——类加载机制
总是忘记java虚拟机的类加载机制,不过核心思想还是清楚的:类加载器是个树型结构,如果Parent能找到要加载的类的话,就加载Parent的,这样可以确保JDK自带的类不被项目中自定义的同名类覆盖。如下是摘自网上的资料,留个记号:java应用环境中不同的class分别由不同的ClassLoader负责加载。一个jvm中默认的classloader有Bootstrap Cla转载 2016-05-06 08:53:15 · 413 阅读 · 0 评论 -
CommonLang3中的StringUtils最全解析
public static boolean isEmpty(CharSequence cs)常用函数之一,判断字符串是否为""或者null StringUtils.isEmpty(null) = true StringUtils.isEmpty("") = true StringUtils.isEmpty(" ") = false Stri原创 2016-08-03 16:06:13 · 34003 阅读 · 5 评论