Извините, но на Java нет действительно «свободного» или «распоряжающегося» эквивалента.
Лучшее, что вы можете сделать, это просто установить объект в null (удаляет ссылку). Затем явным образом сообщите сборщику мусора, что вы собираетесь rambo (его где-то в java.lang.Runtime
).
В мире Oracle общий порядок разработки должен быть:
Везде, где возможно делают это просто с SQL. При необходимости в больше, чем SQL делает это с МН / SQL. Если Вам нужно что-то, что МН / SQL не может сделать, затем использовать Java. Если все остальное приводит использование к сбою C. Если Вы не можете сделать этого с C, назад медленно далеко от проблемы....
хранимые процедуры пуазейли / хранимые процедуры SQL являются отличным способом переместить Вашу бизнес-логику в слой, который будет доступен с помощью любой технологии интеграции. Бизнес-логика в Пакете (не пишут одинокие Функции и Процедуры - они будут расти со временем неуправляемым способом), может быть выполнен Java, C#, МН / SQL, ODBC и так далее.
пуазейль / SQL являются самым быстрым способом бросить вокруг огромных блоков данных за пределами чистого SQL. Функции "Bulk Binding" означают, что это работает очень хорошо с механизмом SQL.
хранимые процедуры Java являются лучшими для создания функциональности, которая взаимодействует с сетевой или операционной системой. Примеры были бы, послав электронные письма, данные FTP'ing, произведя к текстовым файлам и архивировав его, выполнив командные строки хоста в целом.
я никогда не должен был кодировать C при работе с Oracle, но по-видимому это могло использоваться для интеграции с приложениями прежней версии.
Только, когда Вы не можете выполнить в нем МН / SQL (или МН / SQL оказывается слишком медленным, который был бы довольно редок, чтобы я верил).
Как тематическое исследование... У нас была единственная хранимая процедура Java, работающая в производстве (Oracle 9i), это было первоначально записано в Java, потому что в то время, когда мы думали, Java был прохладен, Что-то, о чем я давно передумал. Так или иначе. Однажды, катастрофические отказы DB, после того, как это перезагрузит SP Java, не работают. После очень назад и вперед с поддержкой оракула, они действительно не знают то, что проблема, и единственные предложения, которые они имеют, включают много времени простоя. Что-то, что не было опцией. 30 минут спустя я переписал SP Java в МН / SQL.
Это теперь, работает быстрее, является оракулом "собственный компонент", совместно использует тот же процесс развертывания как другие объекты и легче отладить.
пуазейль / SQL являются очень способным языком. Если Вы пишете Хранимые процедуры, не торопитесь для изучения его вместо того, чтобы просто делать вещи в Java, потому что это - то, что Вы знаете.
Преимущества:
Недостатки:
Java позволяет записать нейтральный в отношении базы данных код. Это позволяет Вам снова использовать существующий код и существенно повышать производительность.
Одна вещь я нахожу, что Хранимые процедуры Java, полезные для, являются Файлом IO. Java имеет намного более богатый набор Файла, возможности IO, позволяя разработчикам удалить файлы, добавляют каталоги, и так далее, по сравнению с пакетом Oracle UTL_FILE.
Я использовал встроенный Java Oracle для двух проблем:
1), Чтобы сделать процедуру PLSQL, которая увеличивает объем результатов запроса в текстовом файле и отправляет его по FTP. Этот файл был очень большим, и я использую Java для Архивирования его.
2) В приложении клиент-сервер с прямым подключением с DB, для сравнения пользователя, отправленного пароль в приложение (не пароль пользователя DB) хешированный с MD5, так, чтобы пароль не переместился сетью в простом тексте. Я не уверен, было ли это лучшим решением для этой проблемы, я собираюсь спросить его теперь.:)
Основным преимуществом является доступ к API и функции языка, не найденные в МН / SQL. Например, я использовал их для обработки регулярного выражения, управления файлом/каталогом и парсинга XML.
существует много недостатков:
, Перемещение Java к серверу приложений часто является лучшим подходом, поскольку это противодействует недостаткам. Существует превосходная поддержка инструмента, большое управление JVM и существует "куча" людей, обученных в серверах распространенного приложения, настолько находящий персонал поддержки легок. Существуют альтернативные издержки хита производительности, переезжающего от базы данных, но сохраняющий Java близко к базе данных не дает Вам усиления высокой эффективности так или иначе.
Вам определенно нужна причина использовать Java в базе данных по a) МН хранимым процедурам / хранимым процедурам SQL или b) Java вне базы данных.
Ответ НИКОГДА . Если необходимо записать программы для загрузки, или обрабатывать данные необходимо сделать это за пределами уровня данных от другого компьютера в сети.
внешние приложения Запуска непосредственно на Вашем уровне данных или боге запрещают незавершенный с Вашим уровнем данных или неправильным использованием внешних языков, когда собственные языки запросов являются лучшим пригодным для задания, под рукой прекрасны и совершенно приемлемые для мелкомасштабного пользовательского внутреннего приложения. У них просто нет места за пределами той арены.