Girl in IT-wolrd

Everything has been downloaded. Quit download loop.

Tag Archives: java

Справочник по Java Collections Framework 

Данная публикация не является полным разбором или анализом (не покрывает пакет java.util.concurrent). Это, скорее, справочник, который поможет начинающим разработчикам понять ключевые отличия одних коллекций от других, а более опытным разработчикам просто освежить материал в памяти.

Что такое Java Collections Framework?

Java Collection Framework — иерархия интерфейсов и их реализаций, которая является частью JDK и позволяет разработчику пользоваться большим количесвом структур данных из «коробки».

Базовые понятия

На вершине иерархии в Java Collection Framework располагаются 2 интерфейса: Collection и Map. Эти интерфейсы разделяют все коллекции, входящие во фреймворк на две части по типу хранения данных: простые последовательные наборы элементов и наборы пар «ключ — значение» (словари).

image

Collection — этот интерфейс находится в составе JDK c версии 1.2 и определяет основные методы работы с простыми наборами элементов, которые будут общими для всех его реализаций (например size(), isEmpty(), add(E e) и др.). Интерфейс был слегка доработан с приходом дженериков в Java 1.5. Так же в версии Java 8 было добавлено несколько новых метода для работы с лямбдами (такие как stream(), parallelStream(), removeIf(Predicate<? super E> filter) и др.).

Java Interview. Autoboxing.

1 Что такое autoboxing?
Автоупаковка это механизм неявной инициализации объектов классов-оберток (Byte, Short, Character, Integer, Long, Float, Double) значениями соответствующих им исходных примитивных типов (соотв. byte, short, char, int, long, float, double), без явного использования конструктора класса.
Автоупаковка происходит при прямом присвоении примитива — классу-обертке (с помощью оператора”=”), либо при передаче примитива в параметры метода (типа «класса-обертки»). Автоупаковке в «классы-обертки» могут быть подвергнуты как переменные примитивных типов, так и константы времени компиляции(литералы и final-примитивы). При этом литералы должны быть синтаксически корректными для инициализации переменной исходного примитивного типа.
Read more of this post

Design Patterns. Structural.

Structural Design Patterns

1. Adapter Pattern
2. Composite Pattern
3 .Proxy Pattern
4. Flyweight Pattern
5. Facade Pattern
6. Bridge Pattern
7. Decorator Pattern

Read more of this post

Java Interview Q&A.Coding Standards.[26-51/240]

Core java Interview questions on Coding Standards

26) Explain Java Coding Standards for classes or Java coding conventions for classes?
Sun has created Java Coding standards or Java Coding Conventions . It is recommended highly to follow java coding standards.
Classnames should start with uppercase letter. Classnames names should be nouns. If Class name is of multiple words then the first letter of inner word must be capital letter.
Ex : Employee, EmployeeDetails, ArrayList, TreeSet, HashSet
Read more of this post

Java Interview Q&A. Java Core.[1-25/240]

This post opens series of posts about Java Core Interview Questions and Answers.

1) what are static blocks and static initializers in Java ?
Static blocks or static initializes are used to initialize static fields in java. we declare static blocks when we want to initialize static fields in our class. Static blocks gets executed exactly once when the class is loaded . Static blocks are executed even before the constructors are executed.

2) How to call one constructor from the other constructor ?
With in the same class if we want to call one constructor from other we use this() method. Based on the number of parameters we pass appropriate this() method is called.
Restrictions for using this method :
1) this must be the first statement in the constructor
2)we cannot use two this() methods in the constructor

Read more of this post

Abstract class vs Interface (c)JavaRush

fullscreen252520capture252520118201625252051539252520pm-bmp

Java Collections Advanced. Video Lectures

Чудова серія лекцій від Юрія по темам
HashSet и TreeSet
Реализации интерфейса Map
Queue и приоритетная очередь
Многопоточные коллекции
Блокирующая очередь

Відкрити лекції –> Read more of this post

Java Generics Advanced. Video Lectures

Відео Лекції з тем
Сырые типы – Generics
Наследование и расширители обобщений
Рекурсивное расширение типа

Дивитися відео –> Read more of this post

Java Generics & Collections. Video Lectures

Колекції початок. Відео лекції
Теорія та практика

Дивитися відео  Read more of this post

Java Multithreading. Video Lectures.

Multithreading. Відео курс
Deadlock
Неблокирующая синхронизация
Сервис запуска потоков
Синхронизаторы
ThreadLocal

Дивитися відео лекції Read more of this post

Java. Work with DataBases. Videos.

Бази Данних.JDBC

Дивитися відео лекції Read more of this post

JUnit – must have

JUnit Tutorials
1. Java JUnit. Часть 1 — Введение http://javaxblog.ru/article/java-junit-1/

2. Tutorials Point JUnit http://www.tutorialspoint.com/junit/index.htm

JUnit video lectures

Read more of this post

Java Web. Video Lectures.

Выдео лекції по Java web by Sergey Nemchinskyi

Дивитися відео  Read more of this post

Maven. Where to start

1. Apache Maven — основы http://habrahabr.ru/post/77382/

2. Maven — автоматизация сборки проекта http://habrahabr.ru/post/77333/

3. Apache Maven Project http://www.apache-maven.ru/index.html

4. IntelliJ IDEA Getting Started with Maven https://www.jetbrains.com/idea/help/getting-started-with-maven.html

5. Maven Tutorials Point  http://www.tutorialspoint.com/maven/index.htm 

6. Видео Лекции по мавен  Read more of this post

Sorting in Java

In this section we discuss four different ways to sort data in Java.

Arrays of primitives

An array of primitives is sorted by direct invocation of Arrays.sort method

int[] a1 = {3,4,1,5,2,6};
Arrays.sort(a1);

Arrays of objects

In order to sort an array of abstract object, we have to make sure that objects are mutually comparable. The idea of comparable is extension of equals in a sence than we need to know not only that two objects are not equal but which one is larger or smaller. This is supported by the Comparable interface. This interface contains only one method with the following signature:

	public int compareTo(Object obj);

Read more of this post

[ALGO] Quick sort

Quicksort or partition-exchange sort, is a fast sorting algorithm, which is using divide and conquer algorithm. Quicksort first divides a large list into two smaller sub-lists: the low elements and the high elements. Quicksort can then recursively sort the sub-lists.

Steps to implement Quick sort:

1) Choose an element, called pivot, from the list. Generally pivot can be the middle index element.
2) Reorder the list so that all elements with values less than the pivot come before the pivot, while all elements with values greater than the pivot come after it (equal values can go either way). After this partitioning, the pivot is in its final position. This is called the partition operation.
3) Recursively apply the above steps to the sub-list of elements with smaller values and separately the sub-list of elements with greater values.

Read more of this post

[ALGO] Merge Sort

Mergesort

Merge-sort is based on the divide-and-conquer paradigm. It involves the following three steps:

  • Divide the array into two (or more) subarrays
  • Sort each subarray (Conquer)
  • Merge them into one (in a smart way!)

Read more of this post

[ALGO] Insertion Sort

Insertion Sort

To sort unordered list of elements, we remove its entries one at a time and then insert each of them into a sorted part (initially empty):

void insertionSort(int[] ar)
{
   for (int i=1; i ‹ ar.length; i++)
   {
      int index = ar[i]; int j = i;
      while (j > 0 && ar[j-1] > index)
      {
           ar[j] = ar[j-1];
           j--;
      }
      ar[j] = index;
} }

Example. We color a sorted part in green, and an unsorted part in black. Here is an insertion sort step by step. We take an element from unsorted part and compare it with elements in sorted part, moving form right to left. Read more of this post

[ALGO] Selection Sort

Selection Sort

The algorithm works by selecting the smallest unsorted item and then swapping it with the item in the next position to be filled.

The selection sort works as follows: you look through the entire array for the smallest element, once you find it you swap it (the smallest element) with the first element of the array. Then you look for the smallest element in the remaining array (an array without the first element) and swap it with the second element. Then you look for the smallest element in the remaining array (an array without first and second elements) and swap it with the third element, and so on. Here is an example,

void selectionSort(int[] ar){
   for (int i = 0; i ‹ ar.length-1; i++)
   {
      int min = i;
      for (int j = i+1; j ‹ ar.length; j++)
            if (ar[j] ‹ ar[min]) min = j;
      int temp = ar[i];
      ar[i] = ar[min];
      ar[min] = temp;
} }

Example. Read more of this post

[ALGO] Bubble sort

Bubble Sort

  1. The algorithm works by comparing each item in the list with the item next to it, and swapping them if required. In other words, the largest element has bubbled to the top of the array. The algorithm repeats this process until it makes a pass all the way through the list without swapping any items.
void bubbleSort(int ar[])
{
   for (int i = (ar.length - 1); i >= 0; i--)
   {
      for (int j = 1; j ≤ i; j++)
      {
         if (ar[j-1] > ar[j])
         {
              int temp = ar[j-1];
              ar[j-1] = ar[j];
              ar[j] = temp;
   } } } }

Example. Here is one step of the algorithm. The largest element – 7 – is bubbled to the top: Read more of this post