首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

又释final关键字、浅析java缓存

2012-10-12 
再释final关键字、浅析java缓存?????? 以前总是遇到一些不可思议的事,但是那是没有时间和精力去解决,只是先

再释final关键字、浅析java缓存

?

????? 以前总是遇到一些不可思议的事,但是那是没有时间和精力去解决,只是先记着,唉,记着记着,就有去解释一下的冲动了。

?

引例:

?

?

很多人遇到过这种情况,在匿名内部类中使用一个内部类外的局部变量时,如果该局部变量不加final关键字修饰,会编译不通过,这是为什么呢?如果你知道答案,以下内容请勿看,免得浪费你宝贵的时间。

true

小释:Java会缓存曾经用过的字符串直接量(本人估计这样的机制是想提高运行速度和节省空间吧)。

?

总结:以上都是一些很小的细节,但是,见叶知秋,我们可以从一些小小的细节去窥探java运行机制,其实还是蛮有意思的。

?

计划:研究java集合的实现细节。

1 楼 jyjava 2011-09-25   第一个demo的理解有点牵强了,是否作为宏处理,就决定了是否相同了吗? 2 楼 z276356445t 2011-09-25   引用小释:Java会缓存曾经用过的字符串直接量(本人估计这样的机制是想提高运行速度和节省空间吧)。
这并不是缓存,而是String本身在Java体系中被归为基本类型,所以会对同样的常量做相同的引用,建议看下http://www.iteye.com/topic/774673对String类有个了解. 3 楼 蜜团甜 2011-09-26   package com.huawei.it.support.docfeedback.actions;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Vector;

import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFHyperlink;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

4 楼 feargod 2011-09-27   支持,原来觉得很基础的东西,深究下去大有文章。

热点排行