*【core】Оптимизация методов, связанных с isSorted
в ArrayKit
*【core】Улучшение WordTree
:
*【core】Использование поточно-безопасного способа получения объектов лямбды из кэша
*【core】Обновление данных официальных праздников за 2023 год
*【core】Комплексное удаление использования Date
и Calendar
*【office】Добавление поддержки кэширования в CellKit.getCellIfMergedRegion
; увеличение проверки максимального и минимального диапазона для снижения количества проходов
*【core】Исправление проблемы пропущенного преобразования в григорианский календарь при крайних условиях
*【core】Исправление ошибки общего числа дней в 1582 году; исправление проблемы пропущенного преобразования в григорианский календарь
*【core】Исправление ошибки года девяти звезд при раннем приходе Весеннего равноденствия относительно Нового года; добавление недели в месяце по григорианскому календарю
*【core】Исправление ошибки сезонных фенологических явлений
*【core】Исправление ошибки месяца в период между Новым годом и Весенным равноденствием
class.getCanonicalName
заменены на class.getName
virtual
hints
) и другими оптимизациями для счетчикаCellKit.getCellIfMergedRegion
добавлена поддержка кэширования, а также проверка максимального и минимального диапазонаlogProcs
и physProcs
на AIX*【all】Обновлены версии зависимых JAR-файлов для повышения совместимости
*【core】Класс CollKit получил метод addIfAbsent
*【core】Метод DateKit.parseUTC теперь поддерживает формат времени с указанием только часов и минут
*【core】Добавлена поддержка SOAPAction и типа содержимого application/soap+xml
*【http】Для RequestBody и ResponseBody добавлена поддержка UTF_8 по умолчанию
*【core】Исправлено исключение при передаче отрицательной длины в RandomKit#randomString
*【core】Исправлено преобразование времени при использовании целочисленного значения timestamp
isIn
BeanValueProvider
Convert
добавлены новые методы для конвертации китайских больших букв в цифрыCollKit.reduceListMap()
StringKit.containsAll
ForestMap
добавлен метод getNodeValue
Dictionary.containsKey
LocalDateTime
объектов как одного дняDateKit.isin
QrCodeKit
для случайной формы DATA_MATRIX
HKEY_PERFORMANCE_DATA
для снижения ударов по кучеgetSystemCpuLoad
, getProcessorCpuLoad
isBase64
null
в CollKit
с переменным количеством аргументовSystem.getBoolean
метод, который теперь корректно возвращает true
только если значение равно true
Convert.toMap
по умолчанию в HashMap
AnnotatedElement
Integer timestamp
putIfAbsent
и computeIfAbsent
в Dictionary
Console.log
в неправильное место[ядра] Добавлен параметр направления рисования, применимый ко всем элементам (метод setDirection
), включая текст, изображения и прямоугольники, для случаев, когда требуется выравнивание по правому краю.
[ядра] Введен BeanValueProvider
.
[ядра] Добавлена функция CollKit.reduceListMap()
.
[ядра] Объединённые аннотации Synthetics
были преобразованы в интерфейсы, а также добавлены аннотационные селекторы и обработчики свойств для реализованных классов.
[ядра] В классе инструментов Convert
добавлена функция конвертации крупных букв в цифровое значение.
[ядра] Расширены типы файлов FileType
для поддержки расширений pptx
и webp
.
[ядра] В BlockPolicy
добавлена логика после завершения работы пула потоков.
[ядра] Устранено исключение NullPointerException
в методе getAnnotations
класса инструментов аннотаций; добавлены новые функции сканирования аннотаций.
[cron] При загрузке задач из файла конфигураций теперь можно использовать уникальные ID для избежания повторной загрузки одной и той же задачи.
[ядра] Изменён метод ObjectKit.isNull
.
[http] Оптимизация обратного вызова асинхронных запросов для поддержки более новых версий Android.
[ядра] Добавлены сканеры аннотаций и объединённые аннотации.
[ядра] Добавлен метод установки пробела между символами setSpace
.
[здоровье] Поддержка macOS 13.### Исправление ошибок
[здоровье] Переменная с названием, содержащим ключевые слова Java, была переименована.
[ядра] Исправлено исключение при использовании ZipKit для замены файла при наличии родительской директории.
[здоровье] Исключения от заражённых счетчиков производительности были пойманы и занесены в журнал предупреждений.
[ядра] Исключение выбрасывается при передаче пустого массива в ArrayKit.setOrAppend().
[здоровье] Используется процессор группы Windows для восстановления номера процессора.
[дополнительно] Исправлено исключение null-проверки в JschSessionPool.
[ядра] Исправлено исключение при передаче null в качестве переменного параметра в CollKit.
[ядра] Исправлено исключение NullPointerException в методе Convert.toSBC.
[ядра] Исправлен мелкий баг при масштабировании фонового изображения, где высота и ширина были поменяны местами.
[ядра] Поддерживается растяжение материалов для создания эффекта водяного знака или растяжения текста.
ipv4ToLong
IterKit.get
добавлена проверка на пустотуLocalDateTimeUtil.parse
заменён на проверку на пустотуBeanPath
теперь по умолчанию добавляет в map
при пустых элементах, а также модифицировано присваивание Listormap
по типу индексаBeanKit
добавлен метод isCommonFieldsEqual
ObjectKit.isNull
BlockPolicy
добавлена логика после закрытия пула потоковSftp
добавлен перегруженный конструктор с поддержкой таймаутаFileType
добавлено определение типа webp
и поддержка расширения pptx
setFields
в Dict
ExcelReader
с использованием режима только для чтенияchange
в MapKit
и функции getBy
в EnumKit
через лямбду для отображения полей перечисленияcomparingIndexed
в CompareKit
addImg
в ExcelWriter
rar
и 7z
в getMimeType
в FileKit
*【health】Исправление проблемы с использованием общего класса для исправления сбоев AIX
*【health】Исправление проблем с откатом или предупреждениями журнала, чтобы избежать исключений без udev
*【core】Исправление проблемы с NumberKit
. isXXX
без проверки пустоты
*【core】Исправление возможной проблемы с неправильным расположением связанного ClassLoader
в ClassKit
*【office】Исправление проблемы с генерацией метода getDisposition
в ExcelWriter
*【core】Исправление потенциальной проблемы с SimpleCache
при получении без использования блока чтения
*【core】Исправление проблемы NullPointerException
в BeanKit
. beanToMap
при properties
равном null
*【extra】Исправление проблемы с анализом содержимого Sftp
с учетом регистра
*【core】Исправление проблемы с ограничением длины при чтении IoKit
. readBytes
【core】Исправление проблемы конвертации вызванной TemporalAccessorConverter
【core】Исправление проблемы, когда ObjectKit.hasNull принимает null и возвращает true
*【core】Исправление проблемы конвертации чисел в NumberConverter
*【core】Исправление проблемы циклического зависания вызванного багом ConcurrentHashMap в Singleton в JDK8
*【core】Дружественность к null в MapKit.map и исправление проблемы группировки в тестах
*【core】Исправление проблемы конвертации Convert.numberToSimple
*【core】Исправление проблемы получения методов интерфейса ReflectKit.getMethods
*【core】Исправление проблемы преобразования верхнего регистра в NamingCase
*【extra】Исправление проблемы инициализации SshjSftp без передачи конфигурации порта
*【core】Исправление проблемы возвращаемого значения метода entry в Map (возвращение изменяемого объекта вместо неизменяемого)
*【core】Исправление проблемы потокобезопасности в SimpleCache
*【core】Исправление проблемы получения родительского пути относительных путей в FileKit и FileCopier
*【core】Исправление проблемы недействия fieldNameEditor в CopyOptions
*【core】Исправление проблемы совместимости маппинга в MapConverter
*【core】Исправление проблемы неверной проверки пустоты в NumberKit.isXXX
*【office】Исправление проблемы совместимости SAX с POI-5.2.x при чтении
getAnnotationAlias
pad
FileKit.extName
добавлено специальное обработывание tar.gz
Dict
добавлен метод setFields
CronPatternParser
и MatcherTable
CsvReadConfig
добавлена возможность указывать номер строки с заголовкамиFileAppender
добавлен конструктор с блокировкойArrayKit
добавлен метод replace
FileUKit
добавлен метод getTotalLines
AntPathMatcher
toString
в TextJoiner
, теперь Appendable
больше не меняетсяGenericBuilder
теперь поддерживает создание объектов из Map
List
в FileAppender
TextJoiner
добавлены методы length
и merge
StringKit#startsWith
и endsWith
### Исправление ошибокweekOfYear
в DateKitrangeFunc
и rangeConsume
toJdkMonth
и getValueBaseOne
replace
builder
: GenericBuilder
setUseJdkToStringStyle
copySafely
и mkdirsSafely
IntMap
и LongMap
использована битовая арифметика для быстрого вычисления остатка от деленияArrayKit.isAllEmpty
Collector
для группировки null-дружественным способом, позволяющий указывать тип mapCollectors.toMap
, чтобы избежать NPEdefaultIfXxxx
для экономии CPU и памятиrandomStringWithoutStr
replace
Images.scale
по умолчанию добавлен режим сглаживания, добавлены перегрузки метода scale
для выбора различных режимов.IoCopier
добавлен метод setFlushEveryBuffer
.CharsKit.replace
теперь поддерживает расширенные символы.DateKit
добавлен перегруженный метод endOfDay
.ArrayKit.isAllEmpty
.excel
добавлен метод записи изображений.BeanDesc
.CharsKit.replace
.LineReadWatcher#onModify
.float
.StringKit.startsWith
, когда оба аргумента равны null
.SM2.getD
, содержащее знаковый байт./
в Archiver
.rgbFilters
в методе getMainColor
.TaskTable.remove
CipherWrapper
, добавлен метод setRandom
ReflectKit.getMethod
исключает мостовые методыCharKit.subPreGbk
с перегрузкойSheetRidReader
может получать все названия листовFormula.compare
изменено на private
MathKit
добавлены методы isOdd
и isEven
CopyOptions
добавлен конфиг override
ColumnSheetReader
и ExcelReader.readColumn
, поддерживают чтение одной колонкиCitizenIdKit.isValidCard
больше не автоматически обрезает пробелыTextFinder
, теперь поддерживает ограничение конечной позиции и режим обратного поискаOptional
добавлены некоторые методы, добавлен метод ofTry
ResourceClassLoader
добавлен кэшированиеDateTime
добавлен метод setMinimalDaysInFirstWeek
Taoist
Tree
добавлены методы filter
, filterNew
, cloneTree
, hasChild
ElasticSearch
DateTime.toLocalDateTime
MathKit.compare
MailAccount
добавлена дефолтная конвенция charset
при значении null
Sftp
добавлены перегрузки put
и upload
CharSequenceKit
добавлен метод normalize
Ipv4
в RegexPool
TemporalKit
добавлены методы toChronoUnit
и toTimeUnit
StopWatch
добавлена перегрузка prettyPrint
TreeKit
добавлен метод walk
Opt
добавлены методы peeks
и flattedMap
Builder
добавлен метод sm3WithSalt
CollKit
добавлен метод safeContains
ActualTypeMapper
добавлен метод getStrKeyMap
bus.date.lenient
DateKit
добавлена перегрузка rangeToList
Assert
добавлена перегрузка checkBetween
Hash
с наследниками HashXXX
ZipKit
добавлен метод append
ContentType
добавлена перегрузка build
CopyOptions
добавлен метод setFieldValueEditor
*【core】Обновлены версии зависимостей от третьих сторон
*【core】Переписаны методы обработки строк и связанные с ними методы
*【core】Добавлена возможность отключения комментариев в CsvConfig
*【core】Добавлены IterableIterator и ComputeIterator
*【core】Добавлены перегрузки checkBetween в Assert
*【core】Добавлены методы swapTo и swapElement в CollKit
*【core】Добавлены методы set для части корневых узлов в TreeBuilder
*【core】Улучшено выполнение Base64.isBase64: устранена лишняя проверка
*【core】Добавлена поддержка Optional класса
*【core】Изменено DateConverter для возврата java.util.Date вместо DateTime
*【core】Улучшено выполнение Base64.isBase64: устранены проблемы с логикой
*【core】Улучшен CsvReader для контролируемого прохода
*【core】Добавлен параметр trimField в CsvReadConfig
*【core】Параметры write и writeBeans в CsvWriter изменены на Iterable
*【core】Поддержана новая функциональность TextFormatter.format
*【mapper】Обновлен Mapper до последней версии; старая версия больше не совместима
*【pager】Улучшены правила пагинации и сортировки
*【setting】Добавлена поддержка работы с Yaml файлами
*【office】Улучшено чтение, чтобы избежать множественного создания CopyOptions
*【office】Добавлена поддержка Hyperlink в ExcelWriter
*【core】Исправлено некорректное поведение функции FuncKey
*【core】Исправлено исключение getCanonicalPath в методе FileKit.checkSlip
*【core】Исправлено удаление конфигураций в методе TextJoiner.append
*【core】Исправлено недостаточное представление шестнадцатеричных значений специальных символов в EscapeKit
*【core】Исправлено некорректное определение размера изображения после загрузки URL в методе ImageKit.copyImage
*【core】Исправлено неверное определение CitizenIdKit.isValidCard
*【office】Исправлены лишние диагностические данные в ExcelWriter
trimField
write
и writeBeans
в CsvWriter
изменены на Iterable
CollKit
добавлены методы swapTo
и swapElement
ExcelWriter
теперь поддерживает Hyperlink
SpringBuilder
добавлены методы getApplicationName
и publishEvent
BeanKit.getProperty
добавлено проверочное условие на null
Setting
и Props
вместо URL
используется Resource
Symmetric
добавлен метод setMode
, а update
использует накапливаемый режимZipReader
теперь поддерживает Filter
Sftp
и Ftp
добавлены перегруженные методы download
для предотвращения повреждения передаваемых файловCollKit.split
isTryHarder
и isPureBarcode
в QrCode
MathKit.parseNumber
FuncKey
ImageKit.copyImage
CitizenIdKit.isValidCard
pageSize
и pageNo
PHONE_PATTERN
теперь поддерживает номера без префикса страныTextSimilarity
для поиска общих подстрокFileKit.delete
теперь использует Files.delete
upload
в Sftp
NetKit.getLocalHost
TextSimilarity.longestCommonSubstring
DateKit.ceiling
put
в MapBuilder
isWeekend
в DateKit
Base64.isBase64
QQ
, alipay
, taobao
, uc
в Browser
getManifest(Class<?> cls)
NanoId
FileKit
CscReader
теперь позволяет указывать начальную и конечную строки для чтенияMapKit.get
при передаче null
, теперь возвращается значение по умолчанию вместо null
CsvWriter.write(csvData)
Base64.isBase64
для проверки наличия знака равенстваAbsCollValueMap
HOTP
с кэшированием на 8 символов и новый методSmKit.sm4
isDir
в AbstractFtp
toProperties
в Props
*【core】Добавлена перегрузка метода CsvWriter.write(csvData)
*【core】Метод setXXX класса CsvConfig теперь возвращает this
*【core】Удалены все операции с Map в CollKit
*【core】Добавлен перегруженный метод join в CharSequenceKit
*【core】Добавлен TreeBuilder
*【core】Изменено поведение MapKit.get при передаче null, теперь возвращается значение по умолчанию вместо null
*【core】Добавлен AbsCollValueMap
*【core】Улучшена производительность алгоритма TreeKit.build
*【core】Добавлен метод getFirstNonNull в IterKit
*【core】Переименован метод isNull в NumberKit на isBlank
*【core】Добавлены методы hexToLong и hexToInt в HexKit
*【core】Добавлен метод Convert.toSet
*【core】Добавлен метод writeBeans в CsvWriter
*【crypto】Обновлен размер кэша HOPT до 8 байт; добавлены новые методы
*【crypto】Расширен метод sm4 класса SmKit для единого типа возврата
*【crypto】Добавлен метод update в SymmetricCrypto
*【crypto】Добавлены интерфейсы update, doFinal, reset в MacEngine
*【extra】Добавлен перегруженный метод download в Sftp
*【health】Добавлена поддержка macOS 12 Monterey
*【health】Оптимизирован запрос PDH, который не должен локализоваться начиная с Vista+
*【office】Добавлен content-type
*【pager】Добавлена поддержка виртуальной базы данных Xugou
*【pager】Добавлен PostgreSqlDialect
*【pager】Обновлен jsqlparser до версии 4.0
【shade】Добавлена поддержка camelCase названий, активация Dubbo и других функций【socket】Добавлен мониторинг потока данных, оптимизация производительности, улучшение многопоточной модели### Исправление ошибок
*【base】Исправлено отображение значений pageNo
и pageSize
по умолчанию
*【core】Исправлено определение дня старта года Lunar
; оптимизирован код
*【core】Исправлено удаление пробелов в конце строки в FileKit.normalize
*【core】Исправлено отключение setFieldNameEditor
в BeanCopier
*【core】Исправлены проблемы NullPointerException
при использовании CollKit.subtract
с некорректным Set
*【core】Исправлено закрытие потока в CharsetDetector
*【core】Исправлено разделение пробела внутри кавычек в RuntimeKit.exec
*【core】Исправлено парсинг пути без параметров в UrlQuery
*【core】Исправлено использование глубины в TreeKit.build
*【core】Исправлено создание циклического ссылочного контента в FormatCache
*【core】Исправлено определение ArrayKit.indexOfSub
*【core】Исправлено повторное использование ConcurrencyTester
без очистки предыдущих задач
*【core】Исправлено сравнение веса узлов Node
*【core】Исправлено использование RadixKit.decode
как non-static
*【core】Исправлено сравнение массивов в EqualsBuilder
*【health】Исправлено безопасное выполнение запросов PDH
*【health】Исправлено возникновение ошибки "keyword not found" при работе с процессами FreeBSD
*【office】Исправлено изменение значения ячеек ExcelWriter
после использования BigWriter
*【socket】Исправлено неверное вычисление общего количества исторических соединений
copyToList
stop
isEmpty
в FileKit возвращается значение trueisValidCard
getMaskBit()
decimalFormat
remoteVerificationEnabled
изменён на falsewriteSecHeadRow
, а также добавлены стили границ цвета для объединённых ячеек