W kodzie dokumentacyjnych widzę pewne rzeczy tak:sens @ (#) znaków
/*
* @(#)File.java 1.142 09/04/01
co robi znaki jak @ (#) znaczenie?
W kodzie dokumentacyjnych widzę pewne rzeczy tak:sens @ (#) znaków
/*
* @(#)File.java 1.142 09/04/01
co robi znaki jak @ (#) znaczenie?
@(#)
to ciąg znaków używany przez polecenie Unix what
do filtrowania ciągów z plików binarnych w celu wyświetlenia listy składników użytych do zbudowania tego pliku binarnego. Na przykład what java
na plon AIX:
java:
23 1.4 src/bos/usr/ccs/lib/libpthreads/init.c, libpth, bos520 8/19/99 12:20:14
61 1.14 src/bos/usr/ccs/lib/libc/__threads_init.c, libcthrd, bos520 7/11/00 12:04:14
src/tools/sov/java.c, tool, asdev, 20081128 1.83.1.36
src/misc/sov/copyrght.c, core, asdev, 20081128 1.8
podczas gdy `ciągi java | grep „@ (#)” Wydajność:
@(#)23 1.4 src/bos/usr/ccs/lib/libpthreads/init.c, libpth, bos520 8/19/99 12:20:14
@(#)61 1.14 src/bos/usr/ccs/lib/libc/__threads_init.c, libcthrd, bos520 7/11/00 12:04:14
@(#)src/tools/sov/java.c, tool, asdev, 20081128 1.83.1.36
@(#)src/misc/sov/copyrght.c, core, asdev, 20081128 1.8
@(#)
został wybrany jako marker ponieważ nie występują gdzie indziej, kod źródłowy kontroluje systemy typowo dodać linię zawierającą ten znacznik i oznaczenie wersji plików w synchronizacji, poszerzając słowa kluczowe z wartościami odzwierciedlającymi zawartość pliku. Na przykład komentarz, który wymienisz, byłby wynikiem rozszerzenia słów kluczowych SCCS: %Z% %M% %R%.%L% %E%
, gdzie %Z%
tłumaczy się na @(#)
.
Zazwyczaj jest to coś, co jest automatycznie dodawane przez system kontroli wersji.
Ta konstrukcja nie ma specjalnego znaczenia w Javie. To tylko jakiś tekst w komentarzu.
Wygląda na coś, co zostało wstawione przez system kontroli wersji.
Z (mglistej) pamięci, która była tagiem używanym przez SCCS w "starych dobrych czasach". Biorąc pod uwagę, że (według mojej wiedzy), BitKeeper używa SCCS pod spodem, może to być BitKeeper.