itmyhome的专栏

越努力,越幸运

JXL返回正确的行数

如果Excel中在有数据的行下面有回车,getRows()也会返回该行数,判断方法为如果该行每一列都是空值就过滤掉 /** * 过滤掉空行 * @param sheet * @return */ private static int getRigh...

2018-06-01 15:28:37

阅读数:32

评论数:0

文章整理

Java集合 HashMap实现原理及源码分析 ArrayList和Vector的区别 ArrayList和LinkedList的区别 HashSet实现原理及源码分析 TreeMap实现原理及源码分析 TreeSet实现原理及源码分析 Hashtable实现原理及源码分析 HashMap和Ha...

2018-03-18 23:00:58

阅读数:107

评论数:0

JDK1.7 switch支持String类型的原理

我们知道在JDK1.6之前 switch语句只支持byte、char、short、int以及Enum,是不支持String类型的 JDK1.7之后加入了对String类型的支持,如下代码(需1.7以上版本): public class Test { public static v...

2018-03-10 23:00:28

阅读数:138

评论数:0

Servlet单实例多线程模式

问题:Servlet是线程安全的吗? Servlet类本质上也是一个普通的类,并且Servlet容器默认只允许单个实例存在。当请求到达服务器时,Servlet实例如果已经存在的话则直接加载该实例,如果该Servlet类还未实例化则会先初始化这个Servlet。当请求到达Web服务器时,Web服...

2018-03-04 22:31:11

阅读数:116

评论数:0

Java使用阻塞队列BlockingQueue实现生产者消费者

什么是阻塞队列 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。 1、支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满。 2、支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空。 ...

2018-02-22 22:58:45

阅读数:167

评论数:0

Java之浅克隆和深克隆

克隆就是复制一个对象的副本,但一个对象中有可能有基本数据类型,如 int,long,float等,也可能含有对象引用数据类型,如 数组,集合等 浅克隆: 被复制对象的所有变量都含有与原来的对象相同的值,而所有的其他对象的引用仍然指向原来的对象。换言之,浅克隆仅仅复制所考虑的对象,而不复制它...

2018-02-11 22:06:32

阅读数:94

评论数:0

Java中split使用时遇到的问题

项目中是这样使用split()的 // onestr 为 PRO:=:2018-01 // 按 “:” 分隔为3部分 String[] valueT = onestr.split(":"); 之前一直没事,直到日期值变为了 2018-01-31 11:...

2018-02-11 22:05:17

阅读数:110

评论数:0

Java并发编程之final

final域的重排序规则对于final域,编译器和处理器要遵守两个重排序规则。 在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序。 初次读一个包含final域的对象的引用,与随后初次读这个final域,这两个操作之间不能重排序。 下面通...

2018-01-03 23:15:25

阅读数:522

评论数:1

Java并发编程之volatile

volatile可以说是Java虚拟机提供的最轻量级的同步机制,Java内存模型对volatile专门定义了一些特殊的访问规则。当一个变量定义为volatile之后,它将具备两种特性,第一是保证此变量对所有线程的可见性,这里的“可见性”是指当一条线程修改了这个变量的值,新值对于其他线程来说是可以立...

2017-12-30 22:25:35

阅读数:367

评论数:0

Java并发编程之内存模型

硬件的效率与一致性让计算机并发执行若干运算任务不可能只靠处理器“计算”就能完成,处理器至少要与内存交互,如读取运算数据、存储运算结果的哪个,由于计算机的存储设备与处理器的运算速度有几个数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(Cache)来作为内存...

2017-12-26 21:09:24

阅读数:467

评论数:0

深入理解Java虚拟机 - 泛型与类型擦除

泛型是JDK 1.5的一项新增特性,它的本质是参数化类型(Parametersized Type)的应用,也就是说所操作的数据类型被指定为一个参数。 这种参数类型可以用在类、 接口和方法的创建中,分别称为泛型类、 泛型接口和泛型方法。 Java语言中的泛型只在程序源码中存在,在编译后的字节码文件...

2017-12-22 13:39:37

阅读数:471

评论数:0

深入理解Java虚拟机 - 字节码指令集

Java虚拟机的指令由一个字节长度的、 代表着某种特定操作含义的数字(称为操作码,Opcode)以及跟随其后的零至多个代表此操作所需参数(称为操作数,Operands)而构成。 字节码与数据类型 在Java虚拟机的指令集中,大多数的指令都包含了其操作所对应的数据类型信息。 例如,iload...

2017-12-22 13:38:05

阅读数:509

评论数:0

深入理解Java虚拟机 - 类文件结构

无关性的基石 各种不同平台的虚拟机与所有平台都统一使用的程序存储格式——字节码(ByteCode)是构成平台无关性的基石。实现语言无关性的基础仍然是虚拟机和字节码存储格式。 Java虚拟机不和包括Java在内的任何语言绑定,它只与“Class文件”这种特定的二进制文件格式所关联,Class文件中...

2017-12-19 21:04:04

阅读数:509

评论数:0

深入理解Java虚拟机 - OutOfMemoryError异常

在Java虚拟机规范的描述中,除了程序计数器外,虚拟机内存的其他几个运行时区域都 有发生OutOfMemoryError(下文称OOM)异常的可能 下文代码的开头都注释了执行时所需要设置的虚拟机启动参数(注释中“VM Args”后面跟着的参数),这些 参数对实验的结果有直接影响,可在Ecli...

2017-12-12 22:01:07

阅读数:512

评论数:0

深入理解Java虚拟机 - HotSpot虚拟机对象探秘

对象的创建 虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程,在类加载检查通过后,接下来虚拟机将为新生对象分配内存。假设Java堆中内存是绝对规整的,所有...

2017-12-11 21:10:33

阅读数:453

评论数:0

深入理解Java虚拟机 - Java内存区域

运行时数据区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。 这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。 根据《Java虚拟机规范(Java SE 7版)》 的规定,...

2017-12-10 23:07:51

阅读数:516

评论数:0

为什么String是不可变对象

不可变对象是指在创建后后其外部可见状态无法更改的对象。Java 类库中的 String 、 Integer 和 BigDecimal 类就是不变对象的示例 ― 它们表示在对象的生命期内无法更改的单个值。看下面代码:String s = "ABC"; s.toLowerCase(...

2017-11-07 20:49:35

阅读数:507

评论数:0

了解Java线程的start方法如何回调run方法

Java 创建线程的方法实际上,创建线程最重要的是提供线程函数(回调函数),该函数作为新创建线程的入口函数,实现自己想要的功能。Java 提供了两种方法来创建一个线程:继承 Thread 类class MyThread extends Thread{ public void run() ...

2017-11-07 19:53:45

阅读数:4943

评论数:18

Java之transient关键字详解

1、transient的作用及使用方法Java对象序列化是 JDK 1.1 中引入的一组开创性特性之一,用于作为一种将Java对象的状态转换为字节数组,以便存储或传输的机制,以后,仍可以将字节数组转换回 Java 对象原有的状态。实际上,序列化的思想是 “冻结” 对象状态,传输对象状态(写到磁盘、...

2017-10-25 21:37:35

阅读数:757

评论数:1

EL表达式使用fmt:formatNumber标签保留两位小数

在页面上使用EL表达式进行统计计算${energyBO.min + energyBO.max}, 结果显示的是科学计数法,现在要改为原始数据并保留两位小数可使用<fmt:formatNumber>标签进行格式化<%@ taglib uri="http://java.s...

2017-10-19 22:16:50

阅读数:1302

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭