|
0 / 0 / 0
Регистрация: 21.07.2008
Сообщений: 21
|
|
Кто аргументированно выскажется в пользу Java как серверной технологии?21.07.2008, 18:44. Показов 7584. Ответов 65
Метки нет (Все метки)
Кто аргументированно выскажется в пользу Java как серверной технологии? Только не надо про многоплатформенность, котороя еще и не достигнута на 100%
0
|
|
| 21.07.2008, 18:44 | |
|
Ответы с готовыми решениями:
65
Вывести дерево, получаемое с серверной части, написанной с использованием технологии WCF Требуется JAVA-разработчик серверной части прилож., удаленно Кто-нибудь писал на технологии TDD |
|
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
|
||||||
| 23.07.2008, 18:20 | ||||||
|
Так же показателен размер кода для аналогичного выполнения на двух языках и это при том, что в vbs я определял все используемые переменные, если эти определния убрать, то код будет еще более емким.
0
|
||||||
|
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
|
|
| 23.07.2008, 18:23 | |
|
2serguei:
Если и будет, то непринципиально, это просто пример такой, что компиляция в байт-код не будет здесь иметь решающего значения для скорости. Просто ASP и VBScript и так весьма неплохо оптимизированы, уж java обгоняют по крайней мере.
0
|
|
|
0 / 0 / 0
Регистрация: 09.06.2008
Сообщений: 51
|
|
| 23.07.2008, 18:27 | |
|
2t1k
Ты хочешь сказать что откомпилируемая страница работает с такойже скоростью что и интерпретируемая?
0
|
|
|
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
|
|
| 23.07.2008, 18:34 | |
|
Нет, конечно. Расхождения в ту или иную сторону безусловно будут. На таком простом примере как этот, нельзя показать преимущества и недостатки компиляции перед интерпретацией и наоборот. Просто сложных вычислений внутри маловато. Если перевести данный код на VB.NET, то он если и будет выигрывать по скорости, то не из-за компилируемости в байт-код, а скорее из-за типизации в VB.NET.
Я проводил определенные тестирования, переводя ASP странички в ASP.NET с минимальным переписыванием кода. Выигрыш в таком случае был небольшим. А вот если каждой переменной присваивать наиболее подходящеий ей тип, желательно не variant, тогда ускорение более значительно.
0
|
|
|
0 / 0 / 0
Регистрация: 09.06.2008
Сообщений: 51
|
|
| 23.07.2008, 18:40 | |
|
2t1k
Сейчас (после выхода ASP.NET) уже можно твердо сказать что в интернет разработке Java явно проигрывает .NET. Старые проекты на Java конечно переводить может быть и не стоит, а вот новые - сам Бог велел начинать только на платформе .NET. Это объективная реальность.
0
|
|
|
Sergey_
|
|
| 23.07.2008, 19:39 | |
|
2t1k
На мой взгляд, условия приведенного тестирования необъективны. Сравнительно низкая скорость java-программы вызвана тем, что коннекшн проводится через jdbc-odbc-мост, а в качестве базы выбран Access2000. Попробуйте прогнать тесты, например, для Oracle с использованием нормального оракловского драйвера. |
|
|
mishgun
|
|
| 23.07.2008, 20:31 | |
|
Абсолютно согласен с Сергеем.
Мост это самое худшее что можно предложить в этом случае.Тем более что мост это переход с Java на С на котором написан ODBC и показатель что Java прога работает в два раза медленне ВБ(для которого выбран не ОDBC а OLE) это притянутый за уши. С уважением и предложением закончить этот диспут МИШГАН Для дебютанта. В таклм случае Мелкомягкие признали поражение своей стратегии на моноплатформенность(типа девиз Окошки форева канул в лету. И потом ну на фига мне знать кучу языков для .НЕТ когда я могу прекрасно обойтись одной Джавой? Мне это непонятно.) |
|
|
Eugeny
|
|
| 24.07.2008, 09:53 | |
|
TO: t1k
Для чистоты эксперимента я бы подсчитывал время перед закрытием соединения с базой, т.к. при длительности работы программы порядка 1с. это может быть существенно. В том примере о каком писал я, время формирования отчета было следующее: ASP=3m45s, Servlet=29s |
|
|
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
|
|
| 24.07.2008, 12:05 | |
|
2mishgun:
И где ты увидел, что для vbscript выбран OLE? Специально в целях корректного тестирования соединение производится также через ODBC. Ведь строки соединения для java и для vbscript одинаковы. Далее, разве не видно из тестов, что время начинает выбираться ПОСЛЕ соединения, так что время соединения не при чем. 2eugeny: Вообще говоря закрытие соединения происходит значительно быстрее его открытия, так что оно не могло повлиять принципиально. Я изменил соответствующим образом код и это действительно так. Время осталось тем же самым с точностью до десятка миллисекунд. Так что я думаю, что у тебя в программе на ASP были допущены какие-то глобальные ошибки. На таких простых вещах как выборка таблицы и вывод ее значений, ASP работает весьма быстро. Вероятно я в скором времени проведу тестирование на SQL Server (т.к. Oracle у меня нет) с родным jdbc драйвером microsoft.
0
|
|
|
Sergey_
|
||||||
| 24.07.2008, 12:55 | ||||||
|
2t1k:
еще одна вещь бросается в глаза при просмотре показанного java-кода. Использование класса Calendar в данном случае совершенно не требуется, так как существует метод System.currentTimeMillis(). Не думаю, что это принципиально влияет на скорость выполнения кода (хотя влияет, конечно), но на размер исходника влияет однозначно. С учетом этого замечания java-код можно сделать существенно более компактным:
|
||||||
|
Eugeny
|
||||||
| 24.07.2008, 13:03 | ||||||
|
Еще короче
![]()
|
||||||
|
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
|
|
| 24.07.2008, 13:19 | |
|
По поводу варианта Sergey согласен, хотя все равно на vbscript меньше.
А вот по поводу варианта Eugeny нет, т.к. в результате сокращения количества строк в программе, увеличивается длина некоторых строк, хотя вариант с выбрасыванием только Exception сокращает длину и приемлем в данном случае. Увеличение же длины строк плохо влияет на читабельность текста программы.
0
|
|
|
Sergey_
|
|
| 24.07.2008, 13:51 | |
|
Насчет того, что конвертация toString() излишняя, Eugeny тоже прав, но это не существенно.
Обязательно напиши о результатах тестирования. Возможно, тогда мы даже приблизимся к ответу на исходный вопрос топика, о котором все уже забыли
|
|
|
0 / 0 / 1
Регистрация: 11.07.2008
Сообщений: 11
|
||||||
| 24.07.2008, 14:04 | ||||||
|
Я конечно все понимаю - философские вопросы это замечательно . Но не могли бы вы ответить на мой вопрос. пустьб он и off Topic но другие темы кроме философских походу мало кто читает. Помогите разобраться пожалуйста.
Проблемы возникли с базой и кодировкой. mysql win2000 JSP . Использую JBuilder 6. т.е. JDK (jdk1.3.1) и все прочее пришло с ним Web Server - Apache 1.3 и Tomcat jakarta-tomcat-3.2.3 кодировка - не могу извлечь SELECTom из БД русские поля -они приходят в кодировке Cirilic(DOS) в меню IE. Ввожу инфо в базу из утилиты mysql-я. mysql.exe те. инфо в базе вероятно в кодировке latin1. Проблема в следующем - при выполнении запроса к базе несмотря на <%@page contentType='text/html; charset=Windows-1251' %> и Class.forName('org.gjt.mm.mysql.Driver') ; Properties connInfo = new Properties(); connInfo.put('user', '1'); connInfo.put('password', '1'); connInfo.put('useUnicode', 'true'); connInfo.put('characterEncoding', 'Cp1251'); Имеем в браузере данные из базы не в кодировке cp1251 а в кодировке по терминологии браузера IE Cirilic(DOS) - вероятно это latin1 ...... пробовал ставить в my.ini default-character-set=win1251 в [mysqld] и [client] - ничего не меняется данные в базу вводил с командной строки из утилиты mysql.exe. распечатка команды status в mysql приведена ниже. Вероятно у меня неправильное сочетание кодировки в базе и Jave или я не правильно конвертирую строки в Jave. подскажите плз корректные настройки или действия. Сразу говорю доку http://people.comita.spb.ru/users/sergeya/java/ruschars.html я читал. И вроде сделал все по примеру с http://example.inc.ru/ ней и по примеру с- но вероятно проблема в ДНК ..... Необходимо получить отображение на странице данных из базы в кодировке windows-1251 и корректно работающий INSERT с SELECT, INSERT из javы тоже не работает.... Желательно если такое возможно чтоб в базе инфо хранилась в latin1 чтоб можно было юзать утилиты. Вот код JSP
Настройки Mysql mysql>status дает Connection id: 1 Current database: compbook Current user: ODBC@localhost Server version: 3.23.49-nt Protocol version: 10 Connection: . via named pipe Client characterset: latin1 Serve
0
|
||||||
|
0 / 0 / 1
Регистрация: 11.07.2008
Сообщений: 11
|
|
| 24.07.2008, 14:08 | |
|
код без тегов (code]
<% try { Class.forName('org.gjt.mm.mysql.Driver') ; Properties connInfo = new Properties(); connInfo.put('user', '1'); connInfo.put('password', '1'); connInfo.put('useUnicode', 'true'); connInfo.put('characterEncoding', 'Cp1251'); Connection con = DriverManager.getConnection('jdbc:mysql://localhost/compbook', connInfo); Statement st = con.createStatement(); /* do query */ ResultSet rs = st.executeQuery('select id,name,questCount from test'); %> <TABLE>11 <tr><td>p1</td><td>p2</td></tr> <% while (rs.next()) { %> <TR><% for(int i=2;i<=3;i++){%> <TD><%= new String(rs.getString(i).getBytes('latin1' ),'Cp1251') %></TD> <TD><%= new String( rs.getString(i) ) %></TD> <% } %> </TR> <% } %> </TABLE> <% rs.close(); st.close(); } catch (Exception e) { throw (new ServletException(e)); } %>
0
|
|
|
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
|
|||||||||||||||||||||
| 24.07.2008, 15:13 | |||||||||||||||||||||
|
Тестирование SQL Server
таблица
test.java
vbscript 570 миллисекунд (OLEDB) java 910 милисекунд (родной jdbc драйвер от microsoft) csharp 310 миллисекунд (родной драйвер от microsoft, не OLEDB)
0
|
|||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 09.06.2008
Сообщений: 51
|
|
| 24.07.2008, 15:17 | |
|
... что и требовалось доказать! хотя это и сразу было понятно. откомпилированный код (ASP.NET) всегда работает быстрее интерпретируемого (ASP) и байт-кода (Java)
0
|
|
|
Rina
|
|
| 24.07.2008, 15:18 | |
|
Попробуй добавить response.setContentType('text/html; charset=windows-1251');
|
|
|
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
|
|
| 24.07.2008, 15:34 | |
|
2serguei:
Меня, откровенно говоря, тоже несколько удивило чуть ли не двухкратное преимущество csharp над vbscript в таком простом примере и я решил, что дело в использовании специальных объектов для SQL Server, однако если заменить в csharp соответствующие sql объекты на их oledb аналоги, то результаты остаются теми же самыми. 2Rina: А зачем? Тем паче, что я тестирую консольные приложения.
0
|
|
|
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
|
|
| 24.07.2008, 15:36 | |
|
2Rina:
или это совет -lexa-?
0
|
|
| 24.07.2008, 15:36 | |
|
Java технологии Как рассчитать пользу от сайта? Java Web и технологии RMI технологии. Java Использование технологии CUDA на Java Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата)
Этот документ предназначен для того, чтобы новый чат Claude мог продолжить
работу без необходимости заново разбираться в. . .
|
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса
Калибровка параметров симбиотической модели: технический обзор
Содержание:
Введение
Постановка проблемы
Технические аспекты реализации
Процесс внедрения изменений
|
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0»
https:/ / ibb. co/ NnkGpfMd
Представленная интегрированная схема описывает непрерывную нелинейную. . .
|
|
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы
### Аннотация
Представлено исследование по разработке агентной модели микоризной. . .
|
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики
Контекст
Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
|
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии
Введение
Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
|
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np
class PlantAgent:
def __init__(self, name, strategy, initial_biomass):
self. name = name
self. strategy = strategy # "greedy" (широколиственные) или. . .
|