随笔分类 - java相关
摘要:Java中的基本类型主要包括整数、浮点数、字符和布尔类型。 整数: 整数类型主要包括byte、short、int、long四种类型,所占大小分别为1byte、2byte、4byte和8byte; 浮点数: 浮点数类型主要包括float、double两种类型,所占大小分别为4byte和8byte; 字
阅读全文
摘要:最近的项目中遇到需要将List<Map<String,String>>存储到Excel文件中,为满足此需求设计实现了如下函数:
阅读全文
摘要:1.对象优先在Eden分配 大多数情况下,对象在新生代Eden区中分配。当Eden区中没有足够空间进行分配时,虚拟机会发起一次Minor GC。 ps:Minor GC 和 Full GC 新生代GC(Minor GC):指发生在新生代的垃圾收集动作,因为Java对象大多都具备朝生夕灭的特性,所以M
阅读全文
摘要:垃圾收集算法简介 1、标记-清除算法 标记-清除算法主要分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一进行回收。对象的标记过程在垃圾收集器与内存分配策略(一)中已经介绍过。 存在的问题:一是效率问题,标记和清除的效率都不高;二是空间问题,标记清除之后会产生大量不连续的
阅读全文
摘要:1.判断对象是否存活 a.计数器算法 算法描述:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值加1;当引用失效时,计数器值减1;任何时刻计数器为0的对象就是不可能再被使用的。 该算法实现简单,效率也很高,但是Java虚拟机中没有使用计数器算法来管理内存,主要原因就是它很难解决对象之间相
阅读全文
摘要:本文介绍的对象创建过程仅限于普通Java对象,不包括数组和Class对象。 1.类加载检查 虚拟机遇到一条new指令时,首先去检查该指令的参数能否在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。 2.为新生对象分配内存 对象所需内存的大小在类加载完成后便可
阅读全文
摘要:Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”。 Java将内存控制的权利交给了Java虚拟机,一旦出现内存泄露和溢出问题,如果不了解虚拟机是怎样使用内存的,那么排查错误将会成为一项异常艰难的工作。 下面将从概念上介绍Java虚拟机内存的各个区域,说明这些区域的作用、服务对象
阅读全文
摘要:文件上传: 对表单的要求: * method="post" * enctype="multipart/form-data" * 表单中需要添加文件表单项:<input type="file" name="xxx" /> 对Servlet的要求: * request.getParametere("xx
阅读全文
摘要:JavaMail是java提供的一组API,用来发送和接收邮件。 相关协议: smtp(简单的邮件传输协议),服务器端口为25,用于发送邮件pop3(邮局协议第3版),服务器端口为110,用于接收邮件 进行发邮件之前,首先需要导包:mail.jar和 activation.jar 使用JavaMai
阅读全文
摘要:sun.misc.BASE64Encoder/BASE64Decoder类不属于JDK标准库范畴,但在JDK中包含了该类,可以直接使用。但是在MyEclipse中直接使用却找不到该类。 解决方法: 1) 选中项目,右键属性,在弹出框中选中 Java Build Path,如下图所示: 2)点解 JR
阅读全文