Если Вы намереваетесь считать csv из Excel, то существуют некоторые интересные угловые случаи. Я не могу помнить их всех, но апачское свободное городское население csv не был способен к обработке его правильно (с, например, URL).
убедиться протестировать вывод Excel с кавычками и запятыми и наклонными чертами повсеместно.
The JVM (Java Virtual Machine) is designed to be platform independent. If data type sizes were different across platforms, then cross-platform consistency is sacrificed.
The JVM isolates the program from the underlying OS and platform. This can make life difficult for performing system-specific work, but the benefits are that you can write-once, run-anywhere (this is largely true, with some unfortunate issues. Write-once, test-everywhere is a much more practical approach).
If data type size varies on different platforms you lose portability.
To get a really comprehensive answer to this, you'd need to do a great deal of historical reading from the early days of Java. Certainly, the designers could have included a more complicated primitive type system. However, when Java burst onto the broad stage, it was aimed at applets. Code to run in a browser, organizing complex UI, didn't (and doesn't) need to know whether it is running on the infamous MNS-49 (7 7-bit chars per word), or the Honeywell 68000 (4 9-bit chars per word), or a boring modern processor. It's much more important than anyone can code bit arithmetic on an int
and know what's going to happen after 32 shifts.
Гибкость C для этого имеет некоторые преимущества (снижение потребления памяти / хранилища, если вы используете 32 бита вместо 64), но эти преимущества, как правило, становятся менее актуальными по мере улучшения оборудования (это было
Эта гибкость, однако, сопровождается серьезной совместимостью и долгосрочными проблемами зрения (ошибки Y 2038).
Напротив, объект Java в любом случае имеет некоторые накладные расходы на хранилище, поэтому экономия 4 байта на каждую дату объект был бы совершенно бессмысленным и неприятным.
Идея java заключалась в том, чтобы «написать один раз, запустить где угодно» без перекомпиляции. Это означает, что каждая виртуальная машина имеет одинаковый размер данных. Конечно, на 64-битных машинах он использует 64-битные ссылки, но у вас нет доступа к ним, поэтому это не имеет значения.
Это работает довольно хорошо, но я очень хочу, чтобы мы могли получить индексы 64-битных массивов. Раньше это не имело большого значения, но для больших файлов с отображением памяти это огромная боль. Вы должны разбить их на куски по 2 ГБ.