`
gdwrx_winson
  • 浏览: 125831 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Java 细节总结

    博客分类:
  • Java
阅读更多

Java 细节总结: 1. 用package的时候,要将原文件也放到相应的文件夹中才可以. 2. 用new产生的对象,用==判断一般是不同的,但是String a = "abc"; String b = "abc";编译器会产生优化,a和b是指向同一对象 3.equals从object上是直接用==来判断的,String重载了该类,使得其能对字符串的内容进行比较. 4. 每个java文件有且只能有一个public类,这个类的类名必须和文件名的大小写完全一样。其次,在你要运行的类中有且只能有一个public static void main(String[] args)方法,这个方法就是你的主程序。 5. 从标准输入中读取:BufferedReader cin = new BufferedReader( new InputStreamReader( System.in)); String s = cin.readline(); 初始化顺序 1、static类型: 在有对象创建的时候才会被初始化 2、一般变量 3、构造函数 Java volatile 类型修饰 关于volatile 我们知道,在Java中设置变量值的操作,除了long和double类型的变量外都是原子操作,也就是说,对于变量值的简单读写操作没有必要进行同步。这在JVM 1.2之前,Java的内存模型实现总是从主存读取变量,是不需要进行特别的注意的。而随着JVM的成熟和优化,现在在多线程环境下volatile关键字的使用变得非常重要。在当前的Java内存模型下,线程可以把变量保存在本地内存(比如机器的寄存器)中,而不是直接在主存中进行读写。这就可能造成一个线程在主存中修改了一个变量的值,而另外一个线程还继续使用它在寄存器中的变量值的拷贝,造成数据的不一致。要解决这个问题,只需要像在本程序中的这样,把该变量声明为volatile(不稳定的)即可,这就指示JVM,这个变量是不稳定的,每次使用它都到主存中进行读取。一般说来,多任务环境下各任务间共享的标志都应该加volatile修饰。 Collections.unmodifiableSet() 二、 Collections的unmodifiableSet方法 Collections的unmodifiableXXX方法设定一个Collection或Map为只读,有四中类型,分别对应 Collection、List、Set、Map。他只有一个参数,一般的写法会是这样: Set set = new HashSet(); ..... set = Collections.unmodifiableSet(set); 此时如果你对容器实施写操作的话,会抛出UnsupportedOperationException。当然你可像 DisplaySetting一样,并不把容器本身的引用设为只读,而是提供给外部的接口的引用为只读。当然 可以自己提供一个私有的方法得到该引用,然后只允许自己对容器的内容修改。初看时感到很奇怪: private static final Set all = new HashSet(); public static final Set ALL = Collections.unmodifiableSet(all); Driver接口 主要数据库的JDBC驱动类名: 流程: Java应用程序--JDBC驱动程序管理器(DriverManager)--JDBC驱动程序(提供connect方法建立连接)--数据库 DriverManager类中所有方法都是静态的 一般不用亲自去注册驱动程序类的实例。---Driver接口的静态代码块中实现此功能。 JDBC URL用于标识一个被注册的驱动程序 语法: jdbc:subprotocol:subname 协议:子协议:子名称 DataSource方式加载 用DataSource建立连接,不需要在客户程序中加载JDBC驱动,也不用DriverManager类 在程序中,通过向一个JNDI服务器查询来得到DataSource对象,然后用getConnection来建立连接

 

 

main 里面能定义static类型变量吗?

不能:因为static类型变量是对于类而言的,不能在方法里面定义static变量。

 

序列化数据怎么重组成对象?----不调用构造函数重组的

 

在实现Serializable的类里定义private的readObject和writeObject,就会使得序列化时候会忽略默认机制----怎么访问private方法的呢?(默认的readObject会调用你自己写的private的readObject函数)

 

序列化的顺序是怎么的,存在多个对象引用的时候。

 

如果我们将两个都具有指向第三个对象的引用的对象进行序列化,会发生什么情况。

当我们从它们的序列化状态恢复这两个对象的时候,第三个对象会只出现一次吗?

如果这两个对象是序列化成独立的文件呢,在代码不同部分对它们进行反序列化,又会怎样?

------同一个序列化中,如果之前对象是共享的,那么恢复之后也是共享的。不同的序列化之间不存在共享。

 

Thinking in java 中关于static类型序列化的描述有点问题-----CADState里面,全部都设成了GREEN,怎么后来说期望原来的值呢?Line类定义的serializeStaticState和deserializeStaticState好像没用。

分享到:
评论

相关推荐

    java细节总结 非常适合初学者学习

    java细节总结 非常适合初学者学习java细节总结 非常适合初学者学习

    java代码细节总结1.0版本.zip

    java代码细节总结1.0版本.zip

    java代码细节总结1.0版本.7z

    java代码细节总结1.0版本.7z

    java代码优化细节总结1.0版本.zip

    java代码优化细节总结1.0版本.zip

    Java代码优化细节总结

    代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么...但是如果有足够的时间开发、维护代码,这时候必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,对于代码的运行效率是有提升的。

    java代码优化细节总结1.0版本.7z

    java代码优化细节总结1.0版本.7z

    Java.xmind Java全面总结思维导图

    本资源含有百分之八十的Java技术总结,内容丰富,细节到位,适合Java初学者以及Java学习过半者,总结清晰明了,有很好的构建知识网络作用

    java总结文档

    这是一篇是用来熟悉Java语法以及各个语法细节的总结性文档

    Java集合框架使用总结

    Java集合框架使用总结 前言: 本文是对Java集合框架做了一个概括性的解说,目的是对Java集合框架体系有个总体认识,如果你想学习具体的接口和类的使用方法,请参看Java API文档。 一、概述 数据结构对程序设计...

    crm客户关系管理系统的实现细节总结

    crm总结,客户关系管理系统的实现细节,你可以通过本文档了解crm

    Java编程中影响性能的细节

    开发中我们经常忽略了一些影响性能的细节,这里特总结出来供大家参考。

    java 面试题 总结

    抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性...

    Java 基础思维导图 里面包含理论概念 语句 细节及执行流程图

    java概括 ,Java常用的转义字符 注释类型,变量, Java数据类型 ,运算符 程序流程控制介绍(分支 循环) , 数组 里面包含理论概念 语句 细节及执行流程图 里面内容是通过我在it培训机构及在B站看韩顺平老师的课件...

    2011最新最全的JAVA面试题总结.txt

    2011最新最全的JAVA面试题总结.txt JAVA 面试题汇总 一、 JAVA 基础知识 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不...

    java基础知识点总结

    java基础知识最全面、最细节的总结,对于初学者很好用

    面试过程中的猫腻 java面试的总结

    java面试的总结 面试过程中,面试官会向应聘者发问,而应聘者的回答将成为面试官考虑是否接受他的重要依据。对应聘者而言,了解这些问题背后的“猫腻”至关重要。本文对面试中经常出现的一些典型问题进行了整理,并...

    个人面试题总结(java,数据库,前端).zip

    文件夹大概有30兆的大小,所以面试题数量也是不少的,里面也包含了个人的一些总结和见解,比如说在集合方面的知识点有实现的各自特点,他们之间的区别,以及等等原理和实现的细节,还包含了java和前端的面试宝典,一...

    java考试题大总结

    抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性...

Global site tag (gtag.js) - Google Analytics