• 0.00

  • +4.20

  • ,

Трудно ли найти работу украинцу в Питере ?

Всем привет. Ребят очень интересует вопрос, хочу переехать в Питер, сам из Украины, какие шансы найти работу программистом без опыта работы, с образованием программиста (бакалавр), как могут отнестись к тому что я из другой страны и каким образом по сути искать работу? отсылать куда возможно резюме? Подскажите кто знает, буду благодарен за ответ. Кажется в Питере больше возможностей ) Да и погода по душе )
  • ,

Volatile (пример в 17 лекции)

Вообщем есть в лекции 17 пример c volatile, там сказано, если у переменной isCancel не использовать volatile то изменяя значения данной переменной из другой нити остальные о нем не узнают, я переписал пример, только в методе run происходит вывод имени потока и значения isCancel и получилось так, что у независимо от того, будет ли стоять у переменной volatile или не будет, значение всеравно меняется для всех поток, хоть стукните но я запутался окончательно, если с синхронизацией я разобрался, то с volatile я запутался и не могу его никак применить. Может я как то не так пример создал? Я пробовал еще создать класс Clock и унаследовать от Thread, а в main создать два экземпляра и оба запустить, так же volatile не работал, помогите иначе я сойду сума )

public static void main(String[] args)
    {
       Clock n = new Clock();


        Thread thread1 = new Thread(n);
        Thread thread2 = new Thread(n);
        thread1.start();
        thread2.start();

        try
        {
            Thread.sleep(3000);
        }
        catch (InterruptedException e)
        {
            e.printStackTrace();
        }

        n.cancel();

    }


    public static class Clock implements Runnable
    {
        private volatile boolean isCancel = false;

        public void cancel()
        {
            this.isCancel = true;
        }

        @Override
        public void run()
        {
            while (true)
            {
               
                try
                {   System.out.println(Thread.currentThread().getName()+" "+isCancel);
                    Thread.sleep(2000);
                }
                catch (InterruptedException e)
                {
                    e.printStackTrace();
                }
            }
        }
    }
  • ,

Вопрос про synchronized

Ребята обьясните как правильно применять synchronized, из лекций JR да и вообще почитав различные статьи, я понял, что он нужен для того:
1) Чтобы контролировать доступ к помеченном методу или блоку, пока в нем есть поток, он занят и никто другой не может из потоков в него зайти, пока он не освободиться.
2) Чтобы провести синхронизацию данных, то есть если какие то данные в данном блоке или методе изменились, они изменятся для всех других потоков.
Так я понял его применение, но решая задачу level17.lesson10.home04, там где нужно было расставить synchronized в нужных местах, я в упор не понимаю для чего он нужен в методе 3, если для каждого потока который будет вызывать method3 никакой синхронизации не нужно, ведь param не изменяется никак, а переменная random создается для каждого потока.

private  double param = Math.random();

    private void method0() {
        double i = method3();
    }

    protected  void method1(String param1) {
        Solution solution = new Solution();
        solution.method0();
    }

    public  void  method2(int param1) {
        param1++;
    }

      double  method3() {
        double random = Math.random();
        return random + param;
    }
  • ,

Проблема с Jar

Ребята подскажите, делаю программу с интерфейсом, когда в среде запускаю ее все работает на ура, когда решил создать jar, все работает до определенной строки (проверил это выводом сообщений в gui в определенных кусках кода), в чем может быть проблема? я уже даже не знаю что делать…
  • ,

Интерфейсы

В уроке 14 есть лекция «Стандартные интерфейсы: InputStream,OutputStream. Так вот, допустим я создаю свой класс и хочу чтобы он у меня имел способности чтения и записи, для чего мне нужно реализовывать поддержку этих двух интерфейсов? Какая разница, что я так реализую методы в классе и что я реализую поддержку интерфейсов, вот не доходит до меня… Интерфейс это же как способ взаимодействия с классом… хотя в данном примере это просто определение ролей для класса, выходит это вся польза интерфейса? именно в данном случае.
  • ,

Проблема с выводом русского языка в консоль.

После установки IntelliJ IDEA Community Edition 14.0 при выводе русского текста в консоль, выводит приветподскажите как решить проблему? Может нужно как то в настройках добавить поддержку русского языка. В прошлой версии естественно таких проблем не было.
  • ,

Проблема импорта проекта Eclipse в IDEA

Задача следующая, есть проект на eclipse, мне нужно его импортировать на Idea, до этого все было нормально, выбирал Import Project, потом выбирал папку с проектом (или файл .classpath,.project (они отображались значком эклипса), после чего открывалось окно где можно выбрать external model (eclipse был), ну дальше все само собой.
Сегодня не понятно по каким причинам, при попытке сделать тоже самое файлы .classpath,.project уже не содержат значок эклипса, вместо него вопросительный знак. При попытке импорта выдает ошибку — cannot import…
При попытке выбрать папку проекта, в окне external model эклипса тоже нету… Как мне его вернуть? Куда он делся, я уже все перепробовал, ничего не получается, из-за этого импортировать проект не получается, подскажите.



  • ,

Проблема в расшифровке шифра Crypton

Мне нужно реализовать шифр CRYPTON. Вроде шифрование выполнил.
В этом алгоритме есть 4 операции:
Табличная замена gamma;
Линейное преобразование pi;
Байтовая перестановка tau;
Операция sigma.
Начал расшифровывать и на операции линейное преобразование, не могу правильно расшифровать.
Расшифрование выполняется применением обратных операций в обратной последовательности. Все операции, кроме gamma являются обратными самим себе. То есть операцию линейного преобразования нужно выполнить обратной самой себе, до меня просто не доходит как это сделать… Помогите пожалуйста, мне просто на словах, что нужно менять при расшифровке вот в этих формулах(там где XOR)
  • ,

Цикл для try-catch

Программа простая, пользователь вводит имя файла, если такой файл есть то считывается и т.д., если нет то срабатывает исключение и пользователь должен ввести снова имя файла и так до тех пор пока имя файла не будет правильным. Вот код:
public class Solution
{
    public static void main(String[] args) throws Exception
    {
        InputStream inStream = filego();
        OutputStream outStream = new PrintStream(System.out);

        while(inStream.available()>0)
        {
           int data =  inStream.read();
            outStream.write(data);
        }

        inStream.close();
        outStream.close();
    }

    public static InputStream filego() throws Exception
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String FileName = reader.readLine();
       InputStream inStream = null ;


        try
        {
            inStream = new FileInputStream(FileName);

        }
        catch (Exception e)
        {

            System.out.println("Файл не найден, введите еще раз");
            filego();

        }

        return inStream;
    }
}


При запуске программы, когда ввожу не правильное имя все работает, когда ввожу правильное выдает
Exception in thread «main» java.lang.NullPointerException
то есть возвращает почему то null, что я не так делаю, может глаза запотели или что то не понимаю, подскажите пожалуйста ) Очень хочу разобраться, как правильно сделать цикл для try-catch. Пробовал без отдельного метода, просто через while, тоже ничего хорошего не вышло )
И правильно ли я указал тип возвращаемого значения?
  • ,

Вопрос про наследование

Допустим у нас нужно создать домашних животных (кот, собака, корова, свинья). У меня возник вопрос как будет лучше и правильней? (сейчас на 11 лекции)
1) Создать класс Pets и в нем задать конструктор с параметрами Pets(String тип животного,String имя, и т.д.) и проверять если допустим тип Собака, то будут вызываться определенные ф-ции, которые подходят только к собаке.
2) Создать класс Pets, и создавать классы кот, собака, корова, свинья и наследовать их от Pets. Но тут вопрос, так как я только учусь) Допустим в Pets есть метод setvoice, который загружает звук, могу ли я в разных классах его вызывать и в параметр передавать определенные звуки или как по другому можно животному присвоить свой звук ?) Обьясните кому не сложно) У нас получается что классы Cat и другие как бы являются экземплярами класса Pets и имеют возможность добавлять свои методы?