`

java点滴

    博客分类:
  • JAVA
阅读更多

1 一个java文件中至少应有一个类,但最多只能有一个public类;若有public类,源文件必须按该类命名。

2 java 的数据类型分为基本类型和引用类型。变量根据生成周期不同,可以分为静态变量、成员变量和局部变量。

3 局部变量在被使用前一定要初始化,全局变量中的实例变量和类变量使用前不需要初始化,会获得一个默认值。

4 数值不能再变化的变量叫做常量,需要用关键字final来修饰。一般情况下,常量名用大写字母标识。

5 一个整数值可以赋给一个long变量,但是指定一个long变量,你需要明白地告诉编译器变量的值是long型,可以通过在变量的后面加大写或者小心的L来做到这点

6 在拷贝数组时,最容易犯的错就是使用赋值运算符=来复制数组,然后对新数组的操作也影响到原数组的操作,那是因为它们根本指向的就是同一段内存空间。其实,拷贝数组数据应该使用systm.arraycopy()方法,示例代码如下:

int[] arr = new int[]{1,2,3};

int[] arr2 = new int[3];

System.arraycopy(arr, 0, arr2, 0, arr.length);

7 当环境变量path指定了某些路径,就可以在任何目录下访问到指定路径中的软件。

8 运行时的数据存储区有堆(heap)和栈(stack)。一般来说,栈中存放的是非static的自动变量、函数参数、表达式的临时结果和函数返回值(如果它们没有放到寄存器中)。栈中的这些实体数据的分配和释放均是由系统自动完成的,堆中存放的实体数据都是程序中显式分配的,没有自动垃圾回收机制的系统中必须由程序代码显式地释放这些实体。

9 java中,引用是不可计算的。C++中的指针可以计算,如++,--。引用不会引起内存泄露。

10 内部类

     1) 静态内部类:它相当于外部类的静态成员一样,使用static修饰的内部类,它隶属于外部类,使用起来相当于一个独立的外部类。

     2) 成员内部类:它相当于外部类普通成员一样,隶属于外部类的具体对象,在定义它的时候,需要先创建外部类对象,再创建它的实例。

     3) 局部内部类:它定义在一个方法的方法体中,往往仅作为方法暂时的使用,只能访问final修饰的局部变量。

     4) 匿名内部类: 它也定义在方法体中,但是它没有个具体的名字,具有非常大的灵活性,工作本质与局部内部类类似。

11 基础数据类型创建不会在堆内存中开辟空间,一般保存在栈中。在参数传递时,直接传递它的值。

     类的创建,会在堆内存中开辟一块新的空间。在参数传递的时候,传递的是它所代表的对象的一个引用。

12 Java虚拟机在启动的时候会实例化9个对象池。这9个对象池分别用来存储8种基本类型的包装类对象和String对象,主要是效率问题。

13 java对待目录和文件都统一使用File来表示,并且在创建File对象的时候,并不检查该目录或文件是否存在,只作为一种代表,开发者在需要时使用isDirectory()或isFile()方法来判断。

14 java的所有数据读写,都是通过流进行的。因此要完成一个复制文件的程序,就得有两个流对象,一个输入流FileInputStream,一个输出流FileOutputStream。

15 java流根据数据格式不同,可以分为字节流和字符流。

     字节流最大的特点,就是每次的输出输入都是一个字节,因此它主要应用在最原始的的流的处理上,如内存缓存操作、文件复制等不用关心流的内容是什么格式的地方。

    字符流是针对文本文件的。输入和输出类型包括StringReader和StringWriter、BufferReader和BufferWriter。

16 序列化本质上就是把对象内存中的数据按照一定的规则,变成一系列的字节数据,然后再把这些字节数据写入到流中。而反序列化的过程相反,先读取字节数据,然后再重新组装成java对象

    所有需要进行序列化的类,都必须实现Serializable接口,必要时还需要提供静态的常量serialVersionUID。

17 Runnable接口与thread类的区别

    线程类继承自Thread则不能继承自其它类,而Runnable接口则可以。

    线程类继承自Thread相对于Runnable来说,使用线程更方便些。Thread类提供了很多关于线程的方法,例如,获取线程ID,线程名等方法。

    实现Runnable接口的线程类的多个线程,可以更方便的访问同一变量,而Thread类就需要内部类来进行替代。

18 如何启动一个线程

     继承自Thread类的线程,可以通过new创建一个线程对象以后,执行start()方法开始一个线程。而实现了Runnable接口的线程类,需要用它的对象实例,作为Thread类构造方法的参数,创建一个Thread对象,然后调用start()方法。

19

分享到:
评论

相关推荐

    java点滴学习资料

    个人学习JAVA的一点心得体会

    java并发编程艺术源码-JavaLearn:Java点滴(代码来源于《Java并发编程的艺术》)

    java并发编程艺术源码 JavaLearn Java点滴学习

    Java经验点滴类注释文档编写方法.rar

    Java经验点滴类注释文档编写方法.rar

    Java经验点滴处理没有被捕获的异常.rar

    Java经验点滴处理没有被捕获的异常.rar

    我的学习笔记,记录从零学习java的点滴

    一些学习java的笔记及内容

    java 基础点滴(一)

    NULL 博文链接:https://wuning.iteye.com/blog/855331

    《Java程序员》

    本书中浓缩了程序员求职与工作、生存与发展的点滴经验,希望本书能够成为你的朋友。望本书能让即将走向工作岗位的程序员和已经成为程序员的朋友,对工作和软件行业做到既“知己”又“知彼”,在入职前对职业状况清楚...

    19个非常全的Java面试题和面经PDF,辛苦整理,希望帮助到大家

    搜集不易,请予以点滴支持,谢谢友友们! ===文件说明=== c语言和java语言面经.pdf Redis使用.pdf RocketMQ使用与实现.pdf Spring使用与实现总结.pdf Spring源码解析.pdf Tomcat源码解析.pdf 面试---1. Java&...

    java程序员上班那点事

    本书对于即将从事Java职业或初步从业的程序员来说是一本难得的好书。书中浓缩了程序员求职与工作、生存与发展的点滴经验,希望本书能够成为你的朋友。望本书能让即将走向工作岗位的程序员和已经成为程序员的朋友,对...

    瓜哇夜未眠Java程序员的心声

    作者是享誉国内外的Java高手,除了技术相关的文章之外,他也没有僭越自己的专业,随笔中所提及的都是软件产业里的甘苦点滴。不眠之夜,一本蔡学镛的《Java夜未眠》恰能适应你的心情,就像一杯清香醇厚的咖啡,让孤独...

    Java夜未眠

    作者是享誉国内外的Java高手,除了技术相关的文章之外,他也没有僭越自己的专业,随笔中所提及的都是软件产业里的甘苦点滴。不眠之夜,一本蔡学镛的《Java夜未眠》恰能适应你的心情,就像一杯清香醇厚的咖啡,让孤独...

    点滴读在线读书系统.zip

    点滴读在线读书系统.zip

    Java经验点滴:类注释文档编写方法

    对于Java语言,最体贴的一项设计就是它并没有打算让人们为了写程序而写程序——人们也需要考虑程序的文档化问题。对于程序的文档化,最大的问题莫过于对文档的维护。若文档与代码分离,那么每次改变代码后都要改变...

    [Java夜未眠.电子书].java夜未眠

    作者是享誉国内外的Java高手,除了技术相关的文章之外,他也没有僭越自己的专业,随笔中所提及的都是软件产业里的甘苦点滴。不眠之夜,一本蔡学镛的《Java夜未眠》恰能适应你的心情,就像一杯清香醇厚的咖啡,让孤独...

    Java程序员上班那点事儿.doc(完整版)

    本书中浓缩了程序员求职与工作、生存与发展的点滴经验,希望本书能够成为你的朋友。望本书能让即将走向工作岗位的程序员和已经成为程序员的朋友,对工作和软件行业做到既“知己”又“知彼”,在入职前对职业状况清楚...

    Java 程序设计

    用独特的写作方式通俗地诠释了这些晦涩、枯燥的难点技术并提供了许多前所未有的操作实践和作者长期从事存储工作的一些经验点滴。

    Java程序员上班那点事儿 作者:钟声

    本书对于即将从事Java职业或初步从业的程序员来说是一本难得的好书。从生存、制胜、发展三个方面入手,为大家展示出程序员求职与工作的一幅3D全景图像。本书中既有在公司中的生存技巧,又有高手达人的进阶策略,既有...

    java笔试题算法-Java-Interview-Blog:Java博客,记录学习点滴,努力成长

    java笔试题算法 Java-Interview-Blog 作为一个程序员,我觉得记录下学习的过程和心得是一件很重要的事情,这里是我的博客文章的备份,希望在不远的将来,随着这里的文章越写越多,我的技术水平也可以变得越来越高! :bar_...

    java培训笔记.doc

    参加E-learning 所做的笔记,课堂点滴!

Global site tag (gtag.js) - Google Analytics