Skip to content

Commit 003d96b

Browse files
authored
Merge pull request enhorse#3 from lehaSVV2009/master
Fix typo
2 parents 9ea4bce + 9320409 commit 003d96b

5 files changed

Lines changed: 15 additions & 10 deletions

File tree

concurrency.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,7 @@ __`volatile`__ - этот модификатор вынуждает потоки
360360

361361
__`synchronized`__ - это зарезервированное слово позволяет добиваться синхронизации в помеченных им методах или блоках кода.
362362

363-
Ключевые слова `transient` и `native` к многопоточности никакого отношения не имеют, перове используется для указания полей класса, которые не нужно сериализовать, а второе - сигнализирует о том, что метод реализован в платформо-зависимом коде.
363+
Ключевые слова `transient` и `native` к многопоточности никакого отношения не имеют, первое используется для указания полей класса, которые не нужно сериализовать, а второе - сигнализирует о том, что метод реализован в платформо-зависимом коде.
364364

365365
[к оглавлению](#Многопоточность)
366366

@@ -499,7 +499,7 @@ __Состояние гонки__ (race condition) - ошибка проекти
499499
+ `newCachedThreadPool(ThreadFactory threadFactory)` - аналогично предыдущему, но с собственной фабрикой потоков;
500500
+ `newFixedThreadPool(int nThreads)` - создает пул на указанное число потоков. Если новые задачи добавлены, когда все потоки активны, то они будут сохранены в очереди для выполнения позже. Если один из потоко завершился из-за ошибки, на его место будет запущен другой поток. Потоки живут до тех пор, пока пул не будет закрыт явно методом `shutdown()`.
501501
+ `newFixedThreadPool(int nThreads, ThreadFactory threadFactory)` - аналогично предыдущему, но с собственной фабрикой потоков;
502-
`newSingleThreadScheduledExecutor()` - однопотоковый пул с возможностью выполнять задачу через указанное время или выполнять периодически. Если поток был завершен из-за каких-либо ошибок, то для выполнения следующей задачи будет создан новый поток.
502+
+ `newSingleThreadScheduledExecutor()` - однопотоковый пул с возможностью выполнять задачу через указанное время или выполнять периодически. Если поток был завершен из-за каких-либо ошибок, то для выполнения следующей задачи будет создан новый поток.
503503
+ `newSingleThreadScheduledExecutor(ThreadFactory threadFactory)` - аналогично предыдущему, но с собственной фабрикой потоков;
504504
+ `newScheduledThreadPool(int corePoolSize)` - пул для выполнения задач через указанное время или переодически;
505505
+ `newScheduledThreadPool(int corePoolSize, ThreadFactory threadFactory)` - аналогично предыдущему, но с собственной фабрикой потоков;

core.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -557,9 +557,9 @@ __Reference counting__ (подсчёт ссылок). Суть этого под
557557
+ Когда все объекты скопированы «from-space» полностью очищается;
558558
+ «to-space» и «from-space» меняются местами.
559559

560-
Главный полюс такого подхода в том, что объекты плотно забивают память. Минусы подхода:
560+
Главный плюс такого подхода в том, что объекты плотно забивают память. Минусы подхода:
561561

562-
1. Приложение должно быть остановлено на время необходимое для полного прохождения цикла сборки мусора;
562+
1. Приложение должно быть остановлено на время, необходимое для полного прохождения цикла сборки мусора;
563563
2. В худшем случае (когда все объекты живые) «form-space» и «to-space» будут обязаны быть одинакового размера.
564564

565565
Алгоритм работы __mark-and-sweep__ можно описать так:

io.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
+ `StringBufferInputStream` превращает строку (`String`) во входной поток данных `InputStream`;
7878
+ `PipedInputStream` реализует понятие входного канала;
7979
+ `PrintStream` - выходной поток, включающий методы `print()` и `println()`;
80-
+ PushbackInputStream - разновидность буферизации, обеспечивающая чтение байта с последующим его возвратом в поток, позволяет «заглянуть» во входной поток и увидеть, что оттуда поступит в следующий момент, не извлекая информации.
80+
+ `PushbackInputStream` - разновидность буферизации, обеспечивающая чтение байта с последующим его возвратом в поток, позволяет «заглянуть» во входной поток и увидеть, что оттуда поступит в следующий момент, не извлекая информации.
8181
+ `SequenceInputStream` используется для слияния двух или более потоков `InputStream` в единый.
8282

8383
[к оглавлению](#Потоки-вводавывода-в-java)

jcf.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -500,7 +500,7 @@ PhantomReference при вызове метода `get()` возвращает
500500
## Какова оценка временной сложности операций над элементами из `HashMap`? Гарантирует ли `HashMap` указанную сложность выборки элемента?
501501
В общем случае операции добавления, поиска и удаления элементов занимают константное время.
502502

503-
Данная сложность не гарантируется, т.к. если хэш-функция будет распределяет элементы по корзинам равномерно, временная сложность станет не хуже _O(lg(N))_, а в случае, когда хэш-функция постоянно возвращает одно и то же значение `HashMap` превратится в связный список со сложностью О(n) .
503+
Данная сложность не гарантируется, т.к. если хэш-функция распределяет элементы по корзинам равномерно, временная сложность станет не хуже _O(lg(N))_, а в случае, когда хэш-функция постоянно возвращает одно и то же значение `HashMap` превратится в связный список со сложностью О(n) .
504504

505505
[к оглавлению](#java-collections-framework)
506506

jdbc.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ JDBC превращает вызовы уровня API в «родные» ко
6161

6262
+ `java.sql.Connection` - обеспечивает формирование запросов к источнику данных и управление транзакциями. Также предусмотрены интерфейсы `javax.sql.PooledConnection` и `javax.sql.XAConnection`.
6363

64-
+ `java.sql.Statement` , `java.sql.PreparedStatement` и `java.sql.CallableStatenient` - эти интерфейсы позволяют отправить запрос к источнику данных.
64+
+ `java.sql.Statement` , `java.sql.PreparedStatement` и `java.sql.CallableStatement` - эти интерфейсы позволяют отправить запрос к источнику данных.
6565

6666
+ `java.sql.ResultSet` - объявляет методы, которые позволяют перемещаться по набору данных и считывать значения отдельных полей в текущей записи.
6767

@@ -162,11 +162,16 @@ __Уровень изолированности транзакций__ — зн
162162
+ _фантомное чтение (phantom reads)_ — ситуация, когда при повторном чтении в рамках одной транзакции одна и та же выборка дает разные множества строк.
163163

164164
Уровни изоляции транзакций определены в виде констант интерфейса `java.sql.Connection`:
165-
+ `TRANSACTION_NONE` – драйвер не поддерживает транзакции;
166165

167-
+ `TRANSACTION_READ_UNCOMMITTED`позволяет транзакциям видеть несохраненные изменения данных: разрешает грязное, непроверяющееся и фантомное чтения;+ `TRANSACTION_READ_COMMITTED` – любое изменение, сделанное в транзакции, не видно вне неё, пока она не сохранена: предотвращает грязное чтение, но разрешает непроверяющееся и фантомное;
166+
+ `TRANSACTION_NONE`драйвер не поддерживает транзакции;
168167

169-
+ `TRANSACTION_REPEATABLE_READ` – запрещает грязное и непроверяющееся, фантомное чтение разрешено;+ `TRANSACTION_SERIALIZABLE` – грязное, непроверяющееся и фантомное чтения запрещены.
168+
+ `TRANSACTION_READ_UNCOMMITTED` – позволяет транзакциям видеть несохраненные изменения данных: разрешает грязное, непроверяющееся и фантомное чтения;
169+
170+
+ `TRANSACTION_READ_COMMITTED` – любое изменение, сделанное в транзакции, не видно вне неё, пока она не сохранена: предотвращает грязное чтение, но разрешает непроверяющееся и фантомное;
171+
172+
+ `TRANSACTION_REPEATABLE_READ` – запрещает грязное и непроверяющееся, фантомное чтение разрешено;
173+
174+
+ `TRANSACTION_SERIALIZABLE` – грязное, непроверяющееся и фантомное чтения запрещены.
170175

171176
> __NB!__ Сервер базы данных может не поддерживать все уровни изоляции. Интерфейс `java.sql.DatabaseMetaData` предоставляет информацию об уровнях изолированности транзакций, которые поддерживаются данной СУБД.
172177

0 commit comments

Comments
 (0)