标签:: Java

0

Java编程思想之初始化顺序(七)

Java面试中经常考查同学们的一个问题就是对象的初始化顺序。本文就重点说一说Java中的类和对象的初始化顺序。 初始化顺序我们都知道,在类的内部,变量定义的先后顺序决定了初始化的顺序。即使变量定义散布于方法定义之间,它们仍旧会在任何方法(包括构造器)被调用之前得到初始化。看看下面这个例子👇: 1234567891011121314151617181920212223242526class Win

0

Java编程思想之GC与finalize()(六)

垃圾回收与终结处理程序员都了解初始化的重要性,但是常常会忘记同样也重要的清理工作。毕竟。谁需要清理一个int呢?但是我们知道把一个对象用完了以后“不管不顾”总是不安全的。因为很容易导致内存泄漏。当然了,你可能会说,我们有Java内存回收器啊。需要说明白的是,Java内存回收器只知道释放哪些由new创建的对象。假如你的代码没有通过new创建对象而是通过别的途径(比如说,调用了JNI本地方法,C++里

0

Java编程思想之this关键字(五)

大家可能都知道this关键字,而且平时在工作中也用的非常多,那么你是真正知道this关键字的作用吗?如果一个类有两个实例a和b,那么你可能想知道如何让这两个实例都能调用work()方法呢? 12345678910class Person { void work(){ /** something **/ } }public class PersonWorker

0

Java编程思想之方法重载(四)

如果你能在十五秒内答出如何区分两个函数如何区别的问题,那么本文你就可以直接略过了。如果不能的话,或者不是很确切的话,还是听我唠叨唠叨一下吧。 方法重载什么是方法?我们都知道当在堆上创建一个对象的时候,我们也就给堆上的这片内存空间取了一个名称。那么方法是什么呢?所谓方法就是给某一个动作取的名字。我们通常都是通过某一个方法执行某一段具体的动作。通过使用名字,你可以访问所有的对象和方法(匿名的除外哈)。

0

Java编程思想之操作符(三)

本文将的操作符就不像书中那样描述啦,博主总结一些比较重要而且比较容易出错的点。这些点弄明白了操作符这一块才能真正地搞清楚。 “+”操作符有人说“+”这个操作符也需要讲?Naive!如果只是简单地描述1+1=2,那这个篇文章就没有啥存在的意义了。这里主要描述的是与字符串相关的操作。 str1 + str2Java为我们做了一件很重要的事情就是让String支持+操作符。这样做有利也有弊。首先说说好处

0

Java编程思想之注释文档(二)

大家平时聊天的时候总会调侃到,程序员最讨厌的事情就是别的程序员代码不写注释,让自己更讨厌的是自己的代码居然要写注释!今天就聊一聊Java的代码注释以及文档。 Java中的代码注释Java中的代码注释主要有两种风格,一种是源自于C语言的传统注释风格,即我们平时见到的多行注释,以/**开头,以**/结尾。另一种源自于C++语言的单行注释风格,就是在每一行代码的后面都可以使用//来标识说明内容。 多行注

0

Java编程思想之数据存储(一)

数据到底存储在什么地方?程序运行的时候,对象是怎么进行有效地放置的呢?尤其是我们关心的内存是如何分配的?一般来说,数据会存放在以下五个地点。 1. 寄存器这是最快的存储区,没有之一。因为寄存器位于CPU内部。CPU是直接执行指令的地方,寄存器距离它最近,因此速度最快。但是寄存器的大小就比较可怜了,所以一般寄存器的大小都是根据需要进行分配。我们不能直接控制寄存器的内存分配,甚至根本感觉不到它的存在。

0

(译)Java向文件中追加内容

Replace vs Append/Add如果你想要你的代码能够创建一个新的文件或者是清空之前已存在的一个文件内容,FileWriter能够简单地替代这些代码。为了替换一个文件中的所有内容,你可以这么做: 1FileWriter fstream = new FileWriter(loc); 如果已经存在的文件名字和正在写入的文件名字重复了的话,上面的代码会删除已经存在的这个文件。 为了向一个已经存

0

(译)Java一行一行写入文件

这篇博客总结了能够用来将数据写入一个文件的一些类。 1. FileOutputStream12345678910111213public static void writeFile1() throws IOException { File fout = new File("out.txt"); FileOutputStream fos = new FileOutputStream(fou

0

(译)Java一行一行读取文件

Java类里面关于输入输出(IO)这一块的类实在是太多了,以致于我们经常会感到迷惑到底使用哪一个类来完成我们的功能。下面的代码是介绍如何来使用Java IO类完成一行一行读取文件的需求。 方法一: 12345678910111213private static void readFile1(File fin) throws IOException { FileInputStream fi