View Full Version : кросс-платформность на Java
crazy-mike
04-08-2009, 04:34 AM
:girl_cray2:
Написано однажды - работает везде? Как бы не так!!!!!!! (т.е. оно "типа работает" - но "немного иначе" :grum: )
Вообще-то пока всё латинскими буквами куда-нибудь вводится-выводится , то в это "скромное утверждение" можно даже и поверить.
Но вот если копнуть чуть глубже (когда приходится приложения на "рідній мові" делать :grum: ) , то начинаются сюрпризы.
Конечно же на экран всё можно гнать "картинками". Но ведь что-то из БД надо выводить. Да и записывать в БД - тоже надо (или в файлы куда-нибудь ). И тут начинается "Welcome to Hell".
(Java , а не PHP :grum: )
import java.lang.*;
import java.io.*;
class Mx {
public static void main(String[] aa)
{
try {
FileWriter f=new FileWriter("hello.txt");
f.write("Привет!\n");
f.close();
} catch(IOException e) {
System.out.println("Err!\n");
};
}
}
Ну напишем что-то такое под Win XP (наберём текст в Notepad).
Скомпилируем по javac -encoding CP1251 nonsense.java и запустим по java Mx. Данные в файл запишутся в кодировке windows-1251.
Теперь туже прогу запустим на java-машине под FreeBSD (или под Linux). Она даже компилироваться будет с такими же ключами - но данные в файл запишутся с ошибками перекодировки (не запишется кирилица).
Но если написать это чуть иначе - то всё будет работать "одинаково" и под *NIX , и под WinXP.
(Java :grum: )
import java.lang.*;
import java.io.*;
class Mx {
public static void main(String[] aa) throws Exception
{ OutputStreamWriter w
= new OutputStreamWriter(new FileOutputStream("bye.txt"),"CP1251");
w.write("Привет!\n");
w.close();
}
}
Просто для записи в файл тоже указывается перекодировка. Но всё что связано с графикой - с этим в смысле "вывода кирилицы" (по крайней мере в Swing ) проблем в самом деле нет.
crazy-mike
04-08-2009, 11:20 AM
import java.lang.*;
import java.io.*;
class Ukr {
public static void main(String[] aa) throws Exception
{ PrintStream f=new PrintStream(System.out,true,"KOI8U");
f.println("Наша Юлічка!\n");
}
}
javac -encoding KOI8U julia.java
:cranky:
Точно таким же способом назначать перекодировку для консоли и создавать PrintStream на основе defaults. :girl_cray2:
Иначе оно нигде кроме винды правильно работать не будет!!!!
Alex_3112
04-08-2009, 12:25 PM
Просто для записи в файл тоже указывается перекодировка.
Ну, это понятно - проблемы не Java, а оси, на которой Java стоит.
crazy-mike
04-08-2009, 12:39 PM
Ну, это понятно - проблемы не Java, а оси, на которой Java стоит.
Нет - скорее всё больше похоже на "проблемы JRE". Но свой изначальный девиз - они таки нарушили!!!!!
Sixteen
04-08-2009, 12:49 PM
дудаки они. не зря их айбиэм атказалсо пакупать.
это все Майк. Это Майк доказал айбиэму што жаба нифига не кроссплатформная. и АЙБИЭМ тут же атказалсо!
In2HiDef
04-08-2009, 01:07 PM
Майк, вся драма– [OS default behavior], если ты не указываешь точно, что ты хочешь. Не кати бочку.
Alex_3112
04-08-2009, 01:18 PM
Нет - скорее всё больше похоже на "проблемы JRE". Но свой изначальный девиз - они таки нарушили!!!!!
А причем тут JRE? Для записи файлов используются функции ОС. То, что разработчику о кодировке можно не думать в рамках одной системы или нижней половины ASCII не означает, что о ней можно не думать в общем случае.
crazy-mike
04-08-2009, 02:48 PM
Майк, вся драма– [OS default behavior], если ты не указываешь точно, что ты хочешь. Не кати бочку.
Internal Default Character Encoding (как и зафиксированный порядок байт в слове Java VM) - это как раз "фишка" Java-машины. Фактически реализация JVM под винду нарушает их собственный "типа стандарт" - потому что "вариант для UNIX" работает правильно и "под виндой"!!!
:white:
In2HiDef
04-08-2009, 02:51 PM
Internal Default Character Encoding (как и зафиксированный порядок байт в слове Java VM) - это как раз "фишка" Java-машины. Фактически реализация JVM под винду нарушает их собственный "типа стандарт" - потому что "вариант для UNIX" работает правильно и "под виндой"!!!
:white:
Internal он до того как данные сохраняются в файле. После этого факта, или поведение ОС играет роль, или файлы созданные Джавой надо объявлять совместимыми только с Джавой. С точки зрения стандарта я не вижу проблем.
crazy-mike
04-08-2009, 02:52 PM
жаба нифига не кроссплатформная.
Ну - об этом все и десять лет назад ведь знали. Просто думали - что все глюки будут "типа исправляться" со временем. Но они как-то неравномерно исправляются - когда одну и ту же вещь можно делать разными способами на разных платформах. А "кроссплатформность" должна предусматривать унификацию tips and tricks - наверное. :cranky:
crazy-mike
04-08-2009, 02:57 PM
I С точки зрения стандарта я не вижу проблем.
В результате работы синтаксического анализатора должны получаться одинаковые деревья разбора - и по ним должен генерироваться однозначно интерпретируемый код!!!!!! Этого там таки не делается. Это делается только для "подмножества языка".
In2HiDef
04-08-2009, 02:59 PM
В результате работы синтаксического анализатора должны получаться одинаковые деревья разбора - и по ним должен генерироваться однозначно интерпретируемый код!!!!!!
Ну, да! Это же не замкнутая система, поэтому о 100% однозначности можно забыть.
crazy-mike
04-08-2009, 03:09 PM
Internal он до того как данные сохраняются в файле.
OS default behavour === byte stream (без всякой перекодировки) для текстовых файлов (кроме wchar_t ). Ключ encoding CP1251 - для компилятора означает перекодировку всего из UNICODE в windows-1251.
"Оно" и перекодирует всё. Но с input/output streams оно обращается "по-варварски". Когда компилятор перевёл литерал из windows-1251 в UTF-8 , то JRE при выводе такой хреновины в "текст" об этом не знает. А должно бы (можно было инфу в дескрипторе константы менять). Т.е. - это самый настоящий "глюк реализации".
crazy-mike
04-08-2009, 03:11 PM
Ну, да! Это же не замкнутая система, поэтому о 100% однозначности можно забыть.
Этот язык разрабатывался именно для 100%-й однозначности (начальная цель). :popcorn:
Alex_3112
04-08-2009, 03:11 PM
Но они как-то неравномерно исправляются - когда одну и ту же вещь можно делать разными способами на разных платформах.
Естественно!
Можно "затянуть все гайки" - забыть о существовании environment variables, например, а в нашем случае - обязать явным образом указывать кодировку. Только ведь это неконструктивно.
algoritm
04-08-2009, 03:16 PM
Самая новая версия от разработчиков Java и является основным, остальные либо поддерживают стандарт либо указывают особенности, также пакет инсталер среды разработки. :popcorn: :cheer:
crazy-mike
04-08-2009, 03:16 PM
Естественно!
Можно "затянуть все гайки" - забыть о существовании environment variables, например, а в нашем случае - обязать явным образом указывать кодировку. Только ведь это неконструктивно.
Даже в "нормальном C" в рамках POSIX R3 всё "одинаково" (в смысле fopen,fread,fwrite,fclose). А эта "жаба" - ... А потом ещё удивляются - почему кого-то заносит в "глючный Python". Даже Regina REXX исполняется практически одинаково и под виндой и под UNIX. :grum:
Alex_3112
04-08-2009, 03:31 PM
Даже в "нормальном C" в рамках POSIX R3 всё "одинаково"
1. POSIX определяет стандарты кодировок?
2. Насколько Win совместима с POSIX?
mpredby
04-08-2009, 04:25 PM
Кто знает - C++ используется щас где-нить? В смысле, популярен, нет?
Alex_3112
04-08-2009, 04:28 PM
Кто знает - C++ используется где-нить? В смысле, популярен, нет?
Конечно!
В финансовых компаниях, и там где много Legacy Code.
Но новая компания уже вряд ли будет на C++ писать.
crazy-mike
04-08-2009, 05:41 PM
1. POSIX определяет стандарты кодировок?
2. Насколько Win совместима с POSIX?
Фактически - да (для stdio.h :grum: ). wfopen и fopen. Там просто явно разделяют UNICODE (UTF-16) и 8битовые наборы символов.
1. Глюк реализации JVM именно и состоит в том - что они это попытались сделать "невидимым" (transparent). Оно даже как бы и получилось - но "не до конца".
2. Windows NT является POSIX-системой по утверждениям Microsoft (на уровне библиотеки crtl.dll :grum: (C runtime library)).
crazy-mike
04-08-2009, 05:43 PM
Но новая компания уже вряд ли будет на C++ писать.
Для микропроцессоров и микроконтроллеров - довольно много ещё всего пишут на C++.
смешно
04-08-2009, 07:45 PM
самая большая "кросс проблема" это что-бы одинaково показывало в IE и Firefox. :grum:(я не только про джаву)
crazy-mike
04-09-2009, 01:14 AM
самая большая "кросс проблема" это что-бы одинaково показывало в IE и Firefox. :grum:(я не только про джаву)
:grum:
K-Meleon 1.5.2 :grum:
Google Chrome :grum:
Seam Monkey :grum:
Safari :grum:
Это всё "под виндой". Но под виндой они все используют Sun JRE (если оно установлено).
IE и FireFox - используют Sun-овский плагин в этом случае.
Opera вот "под виндой" использует свою Java-машину (а под FreeBSD - любую установленную. (какую найдёт :grum: ) Там это можно в настройках браузера задавать).
crazy-mike
04-09-2009, 04:07 AM
java -jar mg.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java :620)
at java.security.SecureClassLoader.defineClass(Secure ClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader .java:260)
at java.net.URLClassLoader.access$100(URLClassLoader. java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java: 195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.j ava:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:3 06)
at sun.misc.Launcher$AppClassLoader.loadClass(Launche r.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:2 51)
at java.lang.ClassLoader.loadClassInternal(ClassLoade r.java:319)
:cranky: Там только swing!!!!!!!!!! Но всё сделано под виндой (JDK6 Java SE) - а хотелось запустить в UNIX (FreeBSD)!!!!!!!!!! (open JDK 1.5 diablo) Ну - типа не запустилось!!!!!!!!
:grum:
Написано однажды - нуждается в перекомпиляции!!!!!!!!!!
:cranky: там конечно же можно пробовать задавать "совместимость с версией" , но тем не менее...
Под kaffee - тоже ведь работать не будет!!!!! :grum:
coocoo# javac -encoding CP1251 mg.java
coocoo# jar -cfm mg.jar mg.txt *.class
coocoo# java -jar mg.jar
coocoo#
А после перекомпиляции - работает!!!!! Тогда - чем же Java отличается от g++ (GNU C++) ?????????? Тем более - что runtime library для gcc как раз очень даже неплохо стандартизирована , а на g++/gcc MinGW можно под *NIX создавать исполняемые файлы для Win32!!!!!!!!!!
Даже апплеты - тоже работают ненормально!!!!! :cranky:
Сообщение Invalid bytecode в браузере прямо "улыбает"!!!!!
:evillaugh:
Но вот откомпиленное под FreeBSD (JDK 1.5 Diablo) - нормально работает под виндой!!!!!!!!!!!!!!! (в JRE 1.6 )
У меня вот этот "старый релиз" под FreeBSD:
http://www.freebsdfoundation.org/downloads/java15.shtml
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build diablo-1.5.0-b01)
Java HotSpot(TM) Client VM (build diablo-1.5.0_07-b01, mixed mode)
Под WinXP - Java SE 6
java version "1.6.0_13"
Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
Java HotSpot(TM) Client VM (build 11.3-b02, mixed mode)
Кстати - перекомпиляция под виндой по javac -source 1.5 yo.java --- в этом случае не помогает!!!!!
crazy-mike
04-09-2009, 05:14 AM
:grum: Но вот откомпилил апплет под FreeBSD - и выгрузил на сервер. И оно нормально работает и на винде , и на FreeBSD (с браузером Opera 9.64 ). :grum:
Вот - нет под рукой сейчас ни одного Linux-а. Даже интересно - если бы кто-то попробовал под Linux эту хрень выполнить.
Сейчас запихну её на mynet.ho.ua куда-нибудь...:grum:
http://mynet.ho.ua/mu.html == апплет "там тупой по максимуму" (создаёт такой гламурный жёлтенький JInternalFrame по нажатию кнопки)
import java.lang.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class MyF extends JInternalFrame {
public MyF()
{ super("Приветик");
setContentPane(new JPanel());
getContentPane().setBackground(new Color(0xff,0xff,0));
add(new JLabel("Приветик!"));
setVisible(true);
pack();
}
}
final public class Ma extends JApplet implements ActionListener {
final public void actionPerformed(ActionEvent e)
{ if("do".equals(e.getActionCommand())) {
JOptionPane.showMessageDialog(this,"Привет!","Hi!",
JOptionPane.INFORMATION_MESSAGE);
MyF f=new MyF();
add(f);
};
}
final public void init() {
JPanel p;
JButton b;
p=new JPanel();
b=new JButton("Выполнить!"); b.addActionListener(this); b.setActionCommand("do");
p.setBackground(new Color(0,0xff,0xff)); p.add(b);
setContentPane(p);
}
}
In2HiDef
04-09-2009, 08:40 AM
OS default behavour === byte stream (без всякой перекодировки) для текстовых файлов (кроме wchar_t ). Ключ encoding CP1251 - для компилятора означает перекодировку всего из UNICODE в windows-1251.
"Оно" и перекодирует всё. Но с input/output streams оно обращается "по-варварски". Когда компилятор перевёл литерал из windows-1251 в UTF-8 , то JRE при выводе такой хреновины в "текст" об этом не знает. А должно бы (можно было инфу в дескрипторе константы менять). Т.е. - это самый настоящий "глюк реализации".
Майк, не морочи себе голову опциями компайлера. Куда как естественней надеяться на внутреннее представление utf-8, и явно указывать внешнюю кодировку. Вот тебе и байтовый стрим.
Что касается "странностей компиляции"– если бы ко мне пришел инженер с такими делами, я бы его слушал ровно 1 минуту, потом послал работать, а в свободное время писать каменты Биллу Джою.
Sixteen
04-09-2009, 08:46 AM
Майк, не морочи себе голову опциями компайлера. Куда как естественней надеяться на внутреннее представление утф-8, и явно указывать внешнюю кодировку. Вот тебе и байтовый стрим.
Что касается "странностей компиляции"– если бы ко мне пришел инженер с такими делами, я бы его слушал ровно 1 минуту, потом послал работать, а в свободное время писать каменты Биллу Джою.
ух ты. менеджыр. Майки, среди нас запахло менеджериным духом.
покатаюся поваляюся пажравши интухайдефского мяса!
In2HiDef
04-09-2009, 08:47 AM
:fig:
Sixteen
04-09-2009, 08:50 AM
:фиг:
хи хи хи. испужалсо! так и надо!
crazy-mike
04-09-2009, 08:55 AM
Что касается "странностей компиляции"– если бы ко мне пришел инженер с такими делами, я бы его слушал ровно 1 минуту, потом послал работать, а в свободное время писать каменты Биллу Джою.
"перекодировка" - это как раз "решаемый" вопрос. Мне когда-то очень давно не хотелось "заморачиваться" со всей этой мутью - и я для JDK1.3 свои собственные классы просто тупо "нарисовал". Но в данном случае - проблема намного глубже. И - как я в "сегодняшних" постах уже рассказывал - всё сводится к "ошибкам при оптимизации портирования JRE" (и использованию native методов внутри основных классов). :girl_cray2:
Но когда апплеты не "портируются" - хотя должны бы выполняться в любом браузере с поддержкой Java!!!!! Но у них это совсем не так!!! Всё свелось к "разновидности C++". Даже апплеты нужно собирать для конкретной платформы - в результате от основной идеи языка (платформная независимость) просто ничего не осталось!!!!!!
Alex_3112
04-09-2009, 12:22 PM
Даже апплеты нужно собирать для конкретной платформы - в результате от основной идеи языка (платформная независимость) просто ничего не осталось!!!!!!
Здесь главный камень преткновения - переход от 1.4 к 5.0 и 6.0
А остальное все разумно.
crazy-mike
04-09-2009, 12:42 PM
Здесь главный камень преткновения - переход от 1.4 к 5.0 и 6.0
А остальное все разумно.
Да - но у них почему-то нет стаба для работы в "предидущей версии".
Официально они поддерживают "самообновляемые плагины" для IE и Firefox и ничего больше. Хотя логично было бы предположить - что байткод должен был бы выполнятся на любой JVM. :shy:
Sixteen
04-09-2009, 12:46 PM
это патаму што сан мудаг
crazy-mike
04-09-2009, 12:50 PM
это патаму што сан мудаг
Поневоле склоняюсь к очень похожим умозаключениям.
:vacation:
crazy-mike
04-12-2009, 05:36 AM
import java.lang.*;
import java.io.*;
class Ukr {
public static void main(String[] aa) throws Exception
{ PrintStream f=new PrintStream(System.out,true,"KOI8U");
f.println("Наша Юлічка!\n");
}
}
javac -encoding KOI8U julia.java
:cranky:
Точно таким же способом назначать перекодировку для консоли и создавать PrintStream на основе defaults. :girl_cray2:
Иначе оно нигде кроме винды правильно работать не будет!!!!
А под виндой это надо компилировать как javac -encoding KOI8-U julia.java
Потому что KOI8U - unsupported encoding, а KOI8-U -- supported encoding!!!!! :grum:
In2HiDef
04-12-2009, 01:45 PM
А под виндой это надо компилировать как javac -encoding KOI8-U julia.java
Потому что KOI8U - unsupported encoding, а KOI8-U -- supported encoding!!!!! :grum:
Write once, debug everywhere :)
Серьезно Майк, не морочи себе голову компиляцией, делай кодирование в ран–тайм.
crazy-mike
04-12-2009, 02:22 PM
Write once, debug everywhere :)
Серьезно Майк, не морочи себе голову компиляцией, делай кодирование в ран–тайм.
Можешь в каком-нибудь журнале написать страниц на двадцать о кросс-платформных несуразностях в Swing GUI в зависимости от выбраного LookAndFeel в UIManager. :girl_cray2: Просто для этого достаточно хотя бы одну не очень маленькую программу написать без Net Beans - а только с использованием обычного тупого текстового редактора (notepad,kwrite :grum:).
Портирование частично достигается через использование промежуточного software environment - написанного на Java. И даже в этом случае лучше всё компилировать непосредственно для target platform. А это является нарушением самой идеи Java.
In2HiDef
04-12-2009, 04:14 PM
Можешь в каком-нибудь журнале написать страниц на двадцать о кросс-платформных несуразностях в Swing GUI в зависимости от выбраного LookAndFeel в UIManager. :girl_cray2: Просто для этого достаточно хотя бы одну не очень маленькую программу написать без Net Beans - а только с использованием обычного тупого текстового редактора (notepad,kwrite :grum:).
Портирование частично достигается через использование промежуточного software environment - написанного на Java. И даже в этом случае лучше всё компилировать непосредственно для target platform. А это является нарушением самой идеи Java.
Это ужасное нарушение, но ведь пишут, и на 20 страниц жалобы не разводят.
Однако, ты прав.
crazy-mike
04-12-2009, 04:23 PM
Это ужасное нарушение, но ведь пишут, и на 20 страниц жалобы не разводят.
Однако, ты прав.
Просто часто хочется вместо java использовать тупо gcj. Но чтобы "на уровне исходных текстов" всё выглядело бы "как java". Для Java ведь существует не только Swing но и wxWidgets (довольно таки шизофренический кросс-платформный environment) :grum:
In2HiDef
04-12-2009, 04:26 PM
Просто часто хочется вместо java использовать тупо gcj. Но чтобы "на уровне исходных текстов" всё выглядело бы "как java". Для Java ведь существует не только Swing но и wxWidgets (довольно таки шизофренический кросс-платформный environment) :grum:
А почему ты апплеты используешь вместо Флэша?
crazy-mike
04-13-2009, 05:05 AM
А почему ты апплеты используешь вместо Флэша?
Я вообще-то JNLP собираюсь сейчас использовать. Сначала хотел апплеты - но увидел - что с кросс-платформностью там что-то хронически-загадочное происходит. Макромедиа-флеш - принципиально не хочу (это издевательство над самой идеей программирования сетевых приложений :grum: ). Тем более - что мы (пока)совсем не занимаемся интерактивным телевидением (где нужен Adobe SDK для винды). Пока нужны только "сетевые агенты" на дивайсах юзеров сети. На Java - это по крайней мере "управляемо" хоть как-нибудь. :respect:
In2HiDef
04-13-2009, 08:22 AM
Я вообще-то JNLP собираюсь сейчас использовать. Сначала хотел апплеты - но увидел - что с кросс-платформностью там что-то хронически-загадочное происходит. Макромедиа-флеш - принципиально не хочу (это издевательство над самой идеей программирования сетевых приложений :grum: ). Тем более - что мы (пока)совсем не занимаемся интерактивным телевидением (где нужен Adobe SDK для винды). Пока нужны только "сетевые агенты" на дивайсах юзеров сети. На Java - это по крайней мере "управляемо" хоть как-нибудь. :respect:
Кaкие девайсы, идет речь о чем–то с ОС, или закрытые коробки с ограниченными возможностями? Что ты понимаешь под управляемостью–WebDAV? Что нужно делать? По твоим примерам я понял, что речь идет о не–шибко–насыщенном пользовательском интерфейсе в среде, где есть браузер.
Если не идет речь о выходе за пределы sandbox'a, в смысле безопасности, то Джаве есть альтернативы более быстрые, не менее богатые визуальными трюками, и явно более устойчивые с точки зрения портабилити.
Если я правильно понял примеры, то твой 1й выбор, камрад– это Dojo, потом другие платформы, которые бегают внутри сэндбокса в браузере, и уже в последнюю очередь stand-alone платформы, из которых в самую последнюю я бы рекомендовал Джаву.
Я понимаю, что ты люто злой на Сан, но всему есть своя экологическая ниша, ИМХО.
crazy-mike
04-13-2009, 08:41 AM
Я понимаю, что ты люто злой на Сан, но всему есть своя экологическая ниша, ИМХО.
Ну - совсем даже не "люто злой". :grum: Всё (на уровне прикладного решения ) сводится к тому - чтобы "управлять домашними устройствами пользователей" в сети (кажется заказ "контента" и контроль - на Java приложений для Home Automation ). :grum: Из java чего-то пользователь как бы должен конфигурировать свои "проплаченные сервисы" (не с веб-сайта учётной системы) - а именно из application - которое "легальный пользователь" сгружает по сети. Просто у юзеров есть не только винда на компах.
In2HiDef
04-13-2009, 09:04 AM
То есть абстракное устройство, без привязки к конкретной/жестко закрепленной версии железа/ОС/локализациям–кодировкам?
Желаю удачи!!!
crazy-mike
04-13-2009, 09:17 AM
То есть абстракное устройство, без привязки к конкретной/жестко закрепленной версии железа/ОС/локализациям–кодировкам?
:vacation: Ну примерно так.
crazy-mike
04-15-2009, 01:36 AM
Вчера наткнулся на один очень смешной способ угробить GNOME и gdm на Debian Linux. Для этого туда надо просто установить Sun JRE ДЛЯ Linux. :vacation:
Эта portability ну просто ....:cranky: На нотбуках особенно...
Alex_3112
04-15-2009, 01:57 PM
Эта portability ну просто ....:cranky: На нотбуках особенно...
Идея хорошая - воплощение хромает.
crazy-mike
04-15-2009, 02:36 PM
Идея хорошая - воплощение хромает.
На Open SuSe - как раз всё очень неплохо сделано. Я на ней даже Wi-Fi настроил быстрее чем под Win XP. И Open JDK JRE там одновременно с Sun-овским JDK умудряется нормально работать. :vacation:
Yura717
04-20-2009, 10:35 PM
Вчера наткнулся на один очень смешной способ угробить GNOME и gdm на Debian Linux. Для этого туда надо просто установить Sun JRE ДЛЯ Linux. :vacation:
Эта portability ну просто ....:cranky: На нотбуках особенно...
а смешной способ угробить Windows?
In2HiDef
04-21-2009, 07:25 AM
а смешной способ угробить Windows?
Установить MS Office?
crazy-mike
04-21-2009, 07:38 AM
а смешной способ угробить Windows?
Поставить антивирус avira при отключенных службах RPC. :grum:
(один из довольно экстравагантных - конечно же :grum: )
wlass
04-21-2009, 08:36 AM
Поставить антивирус avira при отключенных службах RPC. :grum:
(один из довольно экстравагантных - конечно же :grum: )
Вчера Авиру поставил. А что? :hmm:
crazy-mike
04-21-2009, 08:53 AM
Вчера Авиру поставил. А что? :hmm:
А памяти на компе сколько было? 128 М????? :grum:
wlass
04-21-2009, 10:14 AM
А памяти на компе сколько было? 128 М????? :grum:
1GB. А что? Замечена в каких-то гнусностях?:oo:
crazy-mike
04-21-2009, 11:54 AM
1GB. А что? Замечена в каких-то гнусностях?:oo:
Ну - на 1 Gb всё что угодно (почти) под виндой заработает. А на 128M - сразу видно "что есть что".:vacation:
crazy-mike
06-21-2009, 02:08 PM
Улыбнул один шютк с GridLayoyt на Java.
Для того чтобы в GridLayout строки добавлялись автоматически почему-то надо создать GridLayout с числом строк 0!!!!!!!
:grum:
GridLayout a=new GridLayout(0,4); // примерно так
Но совсем не -1 какую-нибудь...:grum: