-
-9 6
从JDK1.2版本开始,把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。
1.强引用
本章前文介绍的引用实际上都是强引用,这是使用最普遍的引用。如果一个对象具有强引用,那就类似于必不可少的生活用品,垃圾回收器绝不会回收它。当内存空 间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足问题。
-
-9 5
至于这个问题就直接看代码吧
public class StaticDemo {
public static String info ;
private String other ;
static {
info = "静态语句块能操纵静态的对象";
//other = "无法操纵非static对象";
-
-7 7
/*
* C++中的解释:
* 当执行到下面的时候,系统会调用(call)B类的构造函数来分配内存空间,所分配的内存空间的地址保存在this指针里,
* 所以在构造函数(分为有参和无参还有拷贝构造函数等)就是用于对象级别的(对象之间的拷贝,新建对象等)
-
-1 20
单例就是在整个应用程序运行的过程中只有一个实例,这样防止一个经常需要new的类,为了产生对象而浪费时间,大大的节省了程序执行的时间和内存的占用率,这样一来必须要考虑线程安全的问题,否则会出现异常,要坚持一个原则:程序的执行效率,看下面例子的说明:
class Singleton {
private static Singleton instance;
-
-12 27
Beside the JSP tag library and the CacheFilter you can use OSCache through its straightforward API. You can use the GeneralCacheAdministrator to create, flush and administrate the cache. The GeneralCacheAdministrator has a cache instance and delegates different Cache's methods. Furthermore the GeneralCacheAdministrator is in charge of load the cache.properties and create a cache instance with the properties definded. You have to store an instance of the GeneralCacheAdministrator in a static value or use a singleton pattern to access the same GeneralCacheAdministrator.
-
-11 12
1.Overload(方法重载)和override(方法覆盖)的区别:
-
-10 9
- 常量池主要涉及到常量池里的内容和常量池解析这两块,这篇文章主要分析下常量池概念,大致说下常量池解析,以加深对常量池的理解。
在方法区中,每个类型都对应一个常量池,常量池中存储了诸如文字字符串、final变量值、类名和方法名常量。JVM把常量池组织为入口列表的形式,可通过索引来访问常量池中的各个入口,每个常量池入口的第一个字节都是个标志,用这个标志来表示该入口中存储的常量类型,如CONSTANT_Long表示里面存储的是long类型字面值,CONSTANT_Class_info表示里面存的是某个Class的类型信息(存的可能是个普通的字符串,然后经过常量池解析,则变成指向某个类的引用)。
-
-9 1
对于Java开发人员而言,在 这个庞大而复杂的技术平台中要想更好的掌握Java技术,深入理解底层的技术处理细节必不可少。这里所介绍的是Java技术平台的几个核心概念,其中所蕴 含的思想有助于我们更深刻的理解Java技术。对核心概念和思想的掌握可以帮助我们举一反三、触类旁通,有助于提升我们对整个Java平台的理解力。
Java虚拟机
-
-11 29
da
-
-11 28
PrepareStatement对象能够很好的防止Statement对象在数据库连接应用中被脚本注入,他的优势在于当SQL语句中要使用参数时,无需"拼接"SQL字符串这样就避免了被注入,当SQL语句中有多个字符串参数时,拼接这条 sql语句时很容易出现错误,,而采用PrepareStatment通过占位符控制,减少了出错的概率和编程的复杂度。
-
-11 26
AWT中的getDirectory()与getFile()函数的用法以及意义
看下面一段代码:
FileDialog opentext=new FileDialog(mainfrm,"打开文件",0);
-
-11 26
今天在进行AWT的图形界面开发的时候,五一中用了J2ME的事件处理方法,结果导致,菜单栏无法响应命令,思考许久才意识到自己用错了方法,应该使用AWT的事件处理方法。
下面是AWT中用J2ME的时间响应的方法的代码:
//下面用的是J2ME的方法,点击没有反应,
if(arg0.equals(newone)){
...
-
-11 20
public class Text
{
public static void main(String atgs[])
{
new Text(2L);
}
public Text(int x)
{
this();
-
-11 18
看起来很简单,做一下看看能不能多用一分钟去仔细想想,仔细的分析下。不要把它看得很容易。
class Text
{
public static void main(String args[] )
{
int x=0;