Java进阶 线程安全
摘要:多线程编程中的三个核心概念 原子性 这一点,跟数据库事务的原子性概念差不多,即一个操作(有可能包含有多个子操作)要么全部执行(生效),要么全部都不执行(都不生效)。 关于原子性,一个非常经典的例子就是银行转账问题:比如A和B同时向C转账10万元。如果转账操作不具有原子性,A在向C转账时,读取了C的余
阅读全文
jvm中堆和栈的区别
摘要:1.前言。 其实jvm能优化的空间不多,最主要的是使用的共享内存不要超过默认的2g或者自己调的参数。但了解一下还是有点意思的,建议面试时还是要看,别学笔者裸奔。 2.区别。 网上说是有5点区别。但笔者认为只有两点主要区别。 Java代码 堆--用new建立,垃圾自动回收负责回收 1、堆是一个"运行时
阅读全文
java集合
摘要:java集合也叫容器 java集合类可以用于存储数量不等的多个对象,还可用于保存具有映射关系的关联数组。 1、存储对象可以考虑:①数组 ②集合 2、数组存储对象的特点: 弊端:①一旦创建,其长度不可变。②真实的数组存放的对象的个数是不可直接知道。 3、集合可分为Collection和Map两种体系
阅读全文
Java 命令行运行参数
摘要:Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOME"bin"java –option 来启动,-option为虚拟机参数,JAVA_HOME为JDK安装路径,通过这些参数可对虚拟机的运行状态进行调整,掌握参数的含义可对虚拟机的运行模式
阅读全文
joda-time
摘要:Joda-Time Home:http://joda-time.sourceforge.net/ JavaDoc:http://joda-time.sourceforge.net/apidocs/index.html 直接看代码,这是在网上和根据API整理的一些例子,使用时看例子就可以了 Java代
阅读全文
OpenOffice Word文档转换成Html格式
摘要:为什么会想起来将上传的word文档转换成html格式呢?设想,如果一个系统需要发布在页面的文章都是来自word文档,一般会执行下面的流程:使用word打开文档,Ctrl+A,进入发布文章页面,Ctrl+V。看起来也不麻烦,但是,如果文档中包含大量图片呢?尴尬的事是图片都需要重新上传吧? 如果可以将已
阅读全文
JVM7、8详解及优化
摘要:一、引言:永久代为什么被移出HotSpot JVM了? 详见:JEP 122: Remove the Permanent Generation 原因主要有两个: 1、由于Permanent Generation内存经常不够用或发生内存泄露,引发恼人的java.lang.OutOfMemoryErro
阅读全文
java 用volatile和不用volatile的区别
摘要:在当前的Java内存模型下,线程可以把变量保存在本地内存(比如机器的寄存器)中,而不是直接在主存中进行读写。这就可能造成一个线程在主存中修改了一个变量的值,而另外一个线程还继续使用它在寄存器中的变量值的拷贝,造成数据的不一致。 要解决这个问题,只需要像在本程序中的这样,把该变量声明为volatile
阅读全文
java 里定义的方法参数 (final String... args)
摘要:定义成final是为了防止在方法类里面修改参数,final String... args 为JDK新的特性,为可变长参数。编译的时候被解释为:public DCMException(final String id, final String[] args), 但是在编程中你可以给方法参数为 DCME
阅读全文
EnumMap实现类
摘要:从名字上看出来,EnumMap是为枚举类服务的,它的key不能为null,在创建它的时候,必须要指定一个枚举类,如: EnumMap enumMap = new EnumMap(Season.class); 下面示范它的用法 public enum Season { SPRING,SUMMER,FA
阅读全文
java enum
摘要:Java Enum原理 public enum Size{ SMALL, MEDIUM, LARGE, EXTRA_LARGE }; 实际上,这个声明定义的类型是一个类,它刚好有四个实例,在此尽量不要构造新对象。 因此,在比较两个枚举类型的值时,永远不需要调用equals方法,而直接使用"=="就可
阅读全文
java中checked和unchecked 异常处理
摘要:有两种类型的异常:一种是checked异常一种是unchecked异常,在这篇文章中我们将利用实例来学习这两种异常,checked的异常和unchecked异常最大的区别就是checked去唱是在编译时检查的而unchecked异常是在运行时检查的。 什么是checked异常呢? checked异常
阅读全文
Java HashMap,LinkedHashMap,TreeMap
摘要:Java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMapMap主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。Hashmap 是一个最常用的Map,它根
阅读全文
java 元数据
摘要:什么是元数据? 元数据是指用来描述数据的数据,更通俗一点,就是描述代码间关系,或者代码与其他资源(例如数据库表)之间内在联系的数据。在一些技术框架,如struts、EJB、hibernate就不知不觉用到了元数据。对struts来说,元数据指的是struts-config.xml;对EJB来说,就是
阅读全文
PO、VO、BO、DTO、POJO、DAO
摘要:J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候,三分钟就被人家满口的专业术语喷晕了,PO VO BO DTO POJO DAO,一大堆的就来了(听过老罗对这种现象的批判的朋友会会心一笑)。 首先声明偶也不是什么高手,以下总结都是自己的体会。不对之处请您多指教。 PO:pe
阅读全文
Java序列化与反序列化
摘要:Java序列化与反序列化是什么?为什么需要序列化与反序列化?如何实现Java序列化与反序列化?本文围绕这些问题进行了探讨。 1.Java序列化与反序列化 Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。 2.为什么需要序列化与反序列化
阅读全文
Java for循环的几种用法
摘要:J2SE 1.5提供了另一种形式的for循环。借助这种形式的for循环,可以用更简单地方式来遍历数组和Collection等类型的对象。本文介绍使用这种循环的具体方式,说明如何自行定义能被这样遍历的类,并解释和这一机制的一些常见问题。 在Java程序中,要“逐一处理”――或者说,“遍历”――某一个数
阅读全文
List<?>和List<T>的区别
摘要:是java泛型的两种用法:List<T>是泛型方法,List<?>是限制通配符 List<T>一般有两种用途:1、定义一个通用的泛型方法。伪代码: public interface Dao{ List<T> getList(){}; } List<String> getStringList(){ r
阅读全文