Поскольку интерфейс Runnable представляет собой альтернативный способ программирования потоков исполнения, можно ли в такой программе обойтись без класса Thread?
Anonymous Quiz
24%
да
8%
да, если не модифицировать свойства потока (приоритет и т.п.)
4%
да, если не прерывать поток
18%
да, если не требуется взаимодействие с другими потоками
46%
нет
Сколько комментариев в следующем примере кода: int x = 0; /* комментарий // комментарий /* int y = 1; // комментарий */ // комментарий */
Anonymous Quiz
43%
1 блочный, 0 строчных
27%
1 блочный, 1 строчный
5%
1 блочный, 2 строчных
14%
2 блочных, 3 строчных
11%
2 блочных, 1 строчный
👨🏻💻 Как преобразовать двумерный ArrayList<String> в массив с помощью stream API?
Создание двумерного ArrayList:
Создание двумерного ArrayList:
ArrayList<String> map = new ArrayList<String>();Java задачи с собеседований
BufferedReader reader;
try {
reader = new BufferedReader(new FileReader("map.txt"));
String line = reader.readLine();
while (line != null) {
map.add(new String(line.strip()));
line = reader.readLine();
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
👨🏻💻 Вопрос от реального человека
Как запускать тесты по папкам или по тегам?
Пытаюсь запустить определённые тесты через консоль с помощью вот такой команды:
Java задачи с собеседований
Как запускать тесты по папкам или по тегам?
Пытаюсь запустить определённые тесты через консоль с помощью вот такой команды:
gradle test -PincludeTags="User_Service"Проблема в том, что он прогоняет все тесты, даже те, которые мне не нужно запускать. Подскажите, что я не так делаю? Может что-то в biuld.gradle нужно добавить?
UserService - это @Tag.
Java задачи с собеседований
👨🏻💻 Вопрос от реального человека
Загрузка всех переменных из других активити при старте программы
Такая проблема: Я только начал изучать андроид студио.
Делаю программу, у меня есть три активити:
1.Главное меню где я ввожу некие данные(цыфры)
2.Настройки где есть переменные с цифрами. Они сохранены через Shared preferences.
3.активити где обрабатывается и выводится на экран результат сложения и умножения из данных 1 активити и тех данных что есть в настройках.
Но вот беда: при переходе из 1 активити в 3 выдает ошибку т.к. что бы загрузить переменные из настроек мне сначала нужно открыть эти настройки. А это не очень удобно.
Вопрос вот в чем: как при старте программы сделать так что бы все переменные загрузились(то есть из других активити) или их нужно писать в главном активити... я прост не понимаю конструкции
Java задачи с собеседований
Загрузка всех переменных из других активити при старте программы
Такая проблема: Я только начал изучать андроид студио.
Делаю программу, у меня есть три активити:
1.Главное меню где я ввожу некие данные(цыфры)
2.Настройки где есть переменные с цифрами. Они сохранены через Shared preferences.
3.активити где обрабатывается и выводится на экран результат сложения и умножения из данных 1 активити и тех данных что есть в настройках.
Но вот беда: при переходе из 1 активити в 3 выдает ошибку т.к. что бы загрузить переменные из настроек мне сначала нужно открыть эти настройки. А это не очень удобно.
Вопрос вот в чем: как при старте программы сделать так что бы все переменные загрузились(то есть из других активити) или их нужно писать в главном активити... я прост не понимаю конструкции
Java задачи с собеседований
👨🏻💻 Вопрос от реального человека
SplashscreenActivity падение вниз?
Падает лого вниз как мне избежать этого? Установил через setTheme. Мой активити.
Мой активити.
SplashscreenActivity падение вниз?
Падает лого вниз как мне избежать этого? Установил через setTheme. Мой активити.
Мой активити.
<?xml version="1.0" encoding="utf-8"?>Мой стиль.
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".ui.SplashscreenActivity">
</androidx.constraintlayout.widget.ConstraintLayout>
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">Код.
<item name="android:windowBackground">@drawable/splash_background</item>
<item name="android:windowFullscreen">true</item>
</style>
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.SplashTheme);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splashscreen);
Java задачи с собеседований👨🏻💻 Вопрос от реального человека
ReadWriteLock - внутри один объект блокировки или два?
У класса ReentrantReadWriteLock есть два метода на получение блокировки - readLock и writeLock. Между ними установлены некоторые правила взаимоотношений, по которым блокировка становится возможной.
Собственно такой вопрос - внутри класса получение этих двух блокировок будет сводиться к одному объекту блокировки, или там будут отдельный объект для блокировки на чтение и отдельный для блокировки на запись?
Может быть я неправильно понимаю и там вообще используется другой внутренний механизм без явных объектов блокировки? Документация говорит что
Java задачи с собеседований
ReadWriteLock - внутри один объект блокировки или два?
У класса ReentrantReadWriteLock есть два метода на получение блокировки - readLock и writeLock. Между ними установлены некоторые правила взаимоотношений, по которым блокировка становится возможной.
Собственно такой вопрос - внутри класса получение этих двух блокировок будет сводиться к одному объекту блокировки, или там будут отдельный объект для блокировки на чтение и отдельный для блокировки на запись?
Может быть я неправильно понимаю и там вообще используется другой внутренний механизм без явных объектов блокировки? Документация говорит что
A ReadWriteLock maintains a pair of associated locks, one for read-only operations and one for writingНо не очень понятно как это трактовать.
Java задачи с собеседований
👨🏻💻 Вопрос от реального человека
Как поставить toster в kotlin?
Всем привет, как выводить toast пока твой сайт на WebView еще не загрузился? То есть, ты открываешь прилку, а у тебя вместо белого экрана показывается, что прилка загружается.
Как поставить toster в kotlin?
Всем привет, как выводить toast пока твой сайт на WebView еще не загрузился? То есть, ты открываешь прилку, а у тебя вместо белого экрана показывается, что прилка загружается.
import android.annotation.SuppressLintJava задачи с собеседований
import android.os.Build
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.webkit.WebView
import android.webkit.WebViewClient
import androidx.annotation.RequiresApi
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
@SuppressLint("SetJavaScriptEnabled")
class MainActivity : AppCompatActivity() {
@RequiresApi(Build.VERSION_CODES.O)
override fun onCreate(savedInstanceState: Bundle?) {
installSplashScreen()
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
webViewSetup()
}
@RequiresApi(Build.VERSION_CODES.O)
private fun webViewSetup() {
val wb = findViewById<WebView>(R.id.wb_webView)
wb.webViewClient = WebViewClient()
wb.apply {
settings.javaScriptEnabled = true
settings.safeBrowsingEnabled = true
loadUrl("https://www.google.com/?hl=ru")
}
}
override fun onBackPressed() {
val wb = findViewById<WebView>(R.id.wb_webView)
if (wb.canGoBack()) wb.goBack() else super.onBackPressed()
}
}
👨🏻💻 Вопрос от реального человека
Как мне разделить строку на равные части по 4?
String binary =
"10011101000011101001001011111000100110000111001101010000";
Java задачи с собеседований
Как мне разделить строку на равные части по 4?
String binary =
"10011101000011101001001011111000100110000111001101010000";
Java задачи с собеседований
👨🏻💻 Как подключить jpa batch без использования GenerationType.SEQUENCE
Столкнулся с такой ситуацией, что нужно записать большое количество строк в таблицу postgres, где ключем выступает поле типа string.
по документации в случае GenerationType.IDENTITY Spring ИГНОРИРУЕТ батчевую вставку, даже если она включена в настройках.
т.е. чтобы использовать батчевую вставку - нужно, чтобы в классе entity полем был ключ с типом integer и GenerationType.SEQUENCE
вот так
сейчас класс и репозиторий выглядят так.
настройки драйвера
Столкнулся с такой ситуацией, что нужно записать большое количество строк в таблицу postgres, где ключем выступает поле типа string.
create table manual_securityдоступа к таблице у меня нет, изменить не могу. т.е. например добавить в нее поле типа int и
(
isin_code varchar(12) not null,
emitent_id numeric,
update_date_time timestamp not null,
constraint manual_security_pk primary key (isin_code)
);
create sequence manual_security_security_id_auto_gen increment 100;
я прочел в документации, что SEQUENCE is used for delegating the identifier generation to a database sequence.по документации в случае GenerationType.IDENTITY Spring ИГНОРИРУЕТ батчевую вставку, даже если она включена в настройках.
т.е. чтобы использовать батчевую вставку - нужно, чтобы в классе entity полем был ключ с типом integer и GenerationType.SEQUENCE
вот так
@Id
@SequenceGenerator(name = "manual_security_security_id_auto_gen", allocationSize = 100, sequenceName = "manual_security_security_id_auto_gen", initialValue = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "manual_security_security_id_auto_gen")
private Integer securityId;
вопрос к знатокам hibernate - можно ли как-то включить batch и добиться быстрого батчевого сохранения строк в таблице где ключем выступает string.сейчас класс и репозиторий выглядят так.
@Entityсохарнение saveall коллекции из 4к записей занимает так около 10 минут.
@Table(name = "manual_security")
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
@EqualsAndHashCode(of = "isinCode")
public class ManualSecurity {
@Id
@NotNull
@Column(name = "isin_code", nullable = false)
private String isinCode;
// остальные поля
}
public interface ManualSecurityRepository extends JpaRepository<ManualSecurity, String> {
}
настройки драйвера
jpa:Java задачи с собеседований
show-sql: false
open-in-view: false
database: postgresql
properties:
hibernate:
jdbc:
batch_size: 100
👨🏻💻 Почему компилятор выдает ошибку когда я пытаюсь добавить объект в Set?
Не могу понять, почему компилятор выдает ошибку когда я пытаюсь добавить объект класса Rout в Set rout?
Java задачи с собеседований
Не могу понять, почему компилятор выдает ошибку когда я пытаюсь добавить объект класса Rout в Set rout?
public class SystemManager {Выдает ошибку: Cannot resolve symbol 'add'
Rout CI106 = new Rout("WizzAir", "Rome", "Berlin", 1, "06:00", "06:40", 25);
Set<Rout> rout = new HashSet<>();
rout.add(CI106);
Java задачи с собеседований
👨🏻💻 Ошибка при установке Progress Bar progressBar.setVisibility(View.VISIBLE)
Помогите с задачей, пожалуйста. Выдает такую ошибку
Помогите с задачей, пожалуйста. Выдает такую ошибку
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ProgressBar.setVisibility(int)' on a null object referenceРугает за строчки с ProgressBar
at com.example.mvvm_test.view.MainActivity$4.onChanged(MainActivity.java:94)
at com.example.mvvm_test.view.MainActivity$4.onChanged(MainActivity.java:91)
mMyViewModel.getShowLoadingLiveData().observe(this, new Observer<Void>() {
@Override
public void onChanged(Void unused) {
progressBar.setVisibility(View.VISIBLE);
}
});
mMyViewModel.getHideLoadingLiveData().observe(this, new Observer<Void>() {
@Override
public void onChanged(Void unused) {
progressBar.setVisibility(View.GONE);
}
});
public class MyViewModel extends AndroidViewModel {
private final MutableLiveData<NumbersResponsePojo> pojoLiveData = new MutableLiveData<>();
private LiveData<List<Numbers>> numbers = new MutableLiveData<>();
private MutableLiveData <String> errorMessageLiveData = new MutableLiveData<>();
private final MutableLiveData<Void> showLoadingLiveData = new MutableLiveData<>();
private final MutableLiveData<Void> hideLoadingLiveData = new MutableLiveData<>();
private final WebRepo numberRepository;
private final DataBaseRepo dataBaseRepo;
public MyViewModel(Application application, WebRepo numberRepository) {
super(application);
dataBaseRepo = new DataBaseRepo(application);
numbers = dataBaseRepo.getAllFacts();
this.numberRepository = numberRepository;
}
void insert(Numbers numbers) {
dataBaseRepo.insert(numbers);
}
public void setPojoLiveData(NumbersResponsePojo pojoLiveData) {
setIsLoading(true);
this.pojoLiveData.setValue(pojoLiveData);
}
private void setIsLoading(boolean loading) {
if (loading) {
showLoadingLiveData.postValue(null);
} else {
hideLoadingLiveData.postValue(null);
}
}
public void getNumbers(String num) {
numberRepository.getNumbers(num)
.subscribe(new Observer<NumbersResponsePojo>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(NumbersResponsePojo numbersResponsePojo) {
Numbers numbers = new Numbers();
numbers.facts = numbersResponsePojo.getText();
numbers.number = numbersResponsePojo.getNumber();
numbers.time = System.currentTimeMillis();
setPojoLiveData(numbersResponsePojo);
insert(numbers);
setIsLoading(false);
//errorMessageLiveData.postValue("There is not items!");
}
@Override
public void onError(Throwable e) {
setIsLoading(false);
errorMessageLiveData.postValue("Internet is missing");
}
@Override
public void onComplete() {
}
});
}
public void getRandomNumbers(String num) {
numberRepository.getRandomNumbers(num)
.subscribe(new Observer<NumbersResponsePojo>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(NumbersResponsePojo numbersResponsePojo) {
Numbers numbers = new Numbers();
numbers.facts = numbersResponsePojo.getText();
numbers.number = numbersResponsePojo.getNumber();
numbers.time = System.currentTimeMillis();
setPojoLiveData(numbersResponsePojo);
insert(numbers);
setIsLoading(false);
}
@Override
public void onError(Throwable e) {
setIsLoading(false);
errorMessageLiveData.postValue("Internet is missing");
}
@Override
public void onComplete() {
}
});
}
public LiveData<NumbersResponsePojo> getPojoLiveData() {
return pojoLiveData;
}
public MutableLiveData<String> getErrorMessageLiveData() {
return errorMessageLiveData;
}
public void setErrorMessageLiveData(String errorMessageLiveData) {
this.errorMessageLiveData.setValue(errorMessageLiveData);
}
public LiveData<List<Numbers>> getDataFromDB() {
return numbers;
}
public MutableLiveData<Void> getShowLoadingLiveData() {
return showLoadingLiveData;
}
public MutableLiveData<Void> getHideLoadingLiveData() {
return hideLoadingLiveData;
}
}
Что не так? СпасибоJava задачи с собеседований
👨🏻💻 Вопрос от реального человека
Можно ли передать из EditText в TextView не только текст, но и цвет текста, его размер и толщину?
У меня в активности есть ЭдитТекст, где я ввожу текст и изменяю его параметры (textSize, textColor,bold/italic) и фон. Всё работает.
Дальше по нажатию кнопки текст с параметрами должен передаваться в TextView в виджете. Я сделала код для передачи текста и фона из EditText в TextView и он работает, но как передать параметры текста я не знаю.
Пробовала сделать по аналогии, но с textSize у меня проблема с float, а с textColor то, что в ЭдитТекст нет метода getTextColor() и я не могу получить последнее значение textColor. Можно ли вообще передать текст с параметрами из ЭдитТекст в ТекстВьев?
Java задачи с собеседований
Можно ли передать из EditText в TextView не только текст, но и цвет текста, его размер и толщину?
У меня в активности есть ЭдитТекст, где я ввожу текст и изменяю его параметры (textSize, textColor,bold/italic) и фон. Всё работает.
Дальше по нажатию кнопки текст с параметрами должен передаваться в TextView в виджете. Я сделала код для передачи текста и фона из EditText в TextView и он работает, но как передать параметры текста я не знаю.
Пробовала сделать по аналогии, но с textSize у меня проблема с float, а с textColor то, что в ЭдитТекст нет метода getTextColor() и я не могу получить последнее значение textColor. Можно ли вообще передать текст с параметрами из ЭдитТекст в ТекстВьев?
Java задачи с собеседований
Какой результат работы данного кода?
public static void main(String[] args) {
String test = "Hello"; String test2 = "Hello"; System.out.println(test==test2); }
public static void main(String[] args) {
String test = "Hello"; String test2 = "Hello"; System.out.println(test==test2); }
Anonymous Quiz
1%
null
3%
Hello
33%
false
63%
true