- 北有云溪
-
A canonical representation means that values of a particular type of resource can be described or represented in multiple ways, and one of those ways is chosen as the favored canonical representation .
一个特定种类的值可以用多种方式表示,其中一种你喜欢的方式被选为canonical representation 。就是把这种方式规定为最权威的方式。就像把一本书制定为圣经。
返回一个canonical representation(最权威的方式) 作为string object。
The classic definition of the canonical representation of that file would be the last path. With local or relative paths you cannot globally identify the resource without contextual information. With absolute paths you can identify the resource, but cannot tell if two paths refer to the same entity. With two or more paths converted to their canonical forms, you can do all the above, plus determine if two resources are the same or not, if that is important to your application (solve the aliasing problem).
而你这里的canonical representation应该解释为文件的绝对路径,也就是有且只有一个路径指向你的string object。
使用canonical representation一般用来减少程序所需的时间和空间。下面是例子
A classic example of optimizing performance with canonical instances is collapsing strings with the same content. Calling String.intern()on two strings with the same character
sequence is guaranteed to return the same canonical String object for that text.
If you pass all your strings through that canonicalizer, you know equivalent strings are actually identical object references, i.e., aliases