SlideShare a Scribd company logo
1 of 23
―
@Test
public void unitTestSomething(){…}
@Deprecated
class oldClass{…}
@Nullable
private Object object;
public int getUserId(@NotNull User user){…}
Обозначает устаревшую фукциональность
Deprecated методы могут бять удалены в следующих версиях
Отмечает методы, кторые переопределяют методы базового класса
Компилятор проверяет сигнатуры методов
Указание IDE или компилятору не сообщять об проблемах типа
«warning»
@interface CreatedBy {
String author();
String date();
}
@CreatedBy (author = “tully”, date = “01.05.2013”)
public class MyClass {…}
@CreatedBy (author = “tully”, date = “01.05.2013”)
public static void main(String args[])
Class myClass = MyClass.class;
Method method = myClass.getMethod(“main”);
CreatedBy annotationC = myClass.getAnnotation(CreatedBy.class);
CreatedBy annotationM = method.getAnnotation(CreatedBy.class);
log.info(“Author of the class: ” + annotationC.author());
log.info(“Date of Writing the class: ” + annotationC.date());
log.info(“Author of the method: ” + annotationM.author());
log.info(“Date of Writing the method: ” + annotationM.date());
―
Configuration configuration = new org.hibernate.cfg.Configuration();
configuration.setProperty(propertyName, propertyValue);
propertyName propertyValue
hibernate.dialect org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class com.mysql.jdbc.Driver
hibernate.connection.url jdbc:mysql://localhost:3306/Lecture8
hibernate.connection.username tully
hibernate.connection.password tully
hibernate.show_sql true
hibernate.hbm2ddl.auto update
ServiceRegistryBuilder builder = new ServiceRegistryBuilder();
builder.applySettings(configuration.getProperties());
ServiceRegistry serviceRegistry = builder.buildServiceRegistry();
SessionFactory sessionFactory =
configuration.buildSessionFactory(serviceRegistry);
Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
System.out.append(transaction.getLocalStatus().toString());
session.close();
sessionFactory.close();
import javax.persistence.*;
@Entity
@Table(name="users")
public class UserDataSet {
@Id
@Column(name="id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column(name="name")
private String name;
…
}
configuration.addAnnotatedClass(UserDataSet.class);
―
public void save(UserDataSet dataSet){
Session session = sessionFactory.openSession();
Transaction trx = session.beginTransaction();
session.save(dataSet);
trx.commit();
session.close();
}
public UserDataSet read(long id){
Session session = sessionFactory.openSession();
return (UserDataSet)session.load(UserDataSet.class, id);
}
1. История и особенности языка Java.
2. Платформа Java. Java Editions. GC, JVM, JDK, JRE. ByteCode.
3. Правила наименований. Запуск java приложений.
4. class Object и class Class<?>.
5. Простые типы в Java. Классы обертки простых типов.
6. Generic programming в Java.
7. Коллекции в Java. Iterator, Iterable.
8. Processes and Threads.
9. Interface Runnable. class Thread. Методы start() и run().
10. Методы класса Thread: sleep(), interrupt(), join().
11. Ключевые слова volatile и synchronized.
12. Atomic variables.
13. Проблемы многопоточного доступа к данным. Race condition.
14. Методы класса Object: wait(), notify() и notifyAll().
15. Плюсы и минусы многопоточных приложений.
16. Способы взаимодействия потоков.
17. java.util.concurrent
18. MessageSystem. Address и Abonent.
19. Распределение классов по пакетам. Циклические зависимости.
20. Архитектура игрового сервера.
21. Процесс работы игрового сервера, репликация.
22. Виды тестирования.
23. GC. Виды GC. Параметры GC.
24. Работа со случайными числами.
25. Singleton и Context.
26. Events, подписка на события.
27. Exception и Throwable.
28. Передача функции в библиотеку. Callback.
29. Анонимные классы.
30. Работа со временем и датой. Unix time. Locale.
31. I/O Streams. Потоки байт и потоки символов.
32. Сериализация/десериализация. Interface Serializable.
33. Ключевое слово transient.
34. Reflection. Роль reflection в сериализации.
35. SAX парсер.
36. DOM парсер.
37. ResourceFactory. Роль ресурсов в игре.
38. JDBC API.
39. class Connection.
40. Statement.
41. ResultSet.
42. DataSet.
43. DAO.
44. Annotation.
45. Object Relational Mapping.
46. Frontend.
47. MessageSystem иерархия наследования.
48. Game Mechanics.
49. Resource System.
50. Database System.
Java весна 2013 лекция 9

More Related Content

What's hot

Классы и объекты в Java
Классы и объекты в JavaКлассы и объекты в Java
Классы и объекты в Java
metaform
 
Виктор Брыкcин — Как всё починить и ничего не сломать: работа со сложным кодо...
Виктор Брыкcин — Как всё починить и ничего не сломать: работа со сложным кодо...Виктор Брыкcин — Как всё починить и ничего не сломать: работа со сложным кодо...
Виктор Брыкcин — Как всё починить и ничего не сломать: работа со сложным кодо...
CocoaHeads
 
Классы и объекты в Java
Классы и объекты в JavaКлассы и объекты в Java
Классы и объекты в Java
metaform
 
Глава 2: Среда разработки NetBeans
Глава 2: Среда разработки NetBeansГлава 2: Среда разработки NetBeans
Глава 2: Среда разработки NetBeans
metaform
 
Клиент-серверное взаимодействие под android в деталях
Клиент-серверное взаимодействие под android в деталяхКлиент-серверное взаимодействие под android в деталях
Клиент-серверное взаимодействие под android в деталях
Kirill Zotin
 

What's hot (16)

Java осень 2014 занятие 6
Java осень 2014 занятие 6Java осень 2014 занятие 6
Java осень 2014 занятие 6
 
Bytecode
BytecodeBytecode
Bytecode
 
Dependency Injection на примере Unity и NInject
Dependency Injection на примере Unity и NInjectDependency Injection на примере Unity и NInject
Dependency Injection на примере Unity и NInject
 
Классы и объекты в Java
Классы и объекты в JavaКлассы и объекты в Java
Классы и объекты в Java
 
Java Core. Lecture# 3. Part# 3. Multithreading.
Java Core. Lecture# 3. Part# 3. Multithreading.Java Core. Lecture# 3. Part# 3. Multithreading.
Java Core. Lecture# 3. Part# 3. Multithreading.
 
Java осень 2014 занятие 7
Java осень 2014 занятие 7Java осень 2014 занятие 7
Java осень 2014 занятие 7
 
Виктор Брыкcин — Как всё починить и ничего не сломать: работа со сложным кодо...
Виктор Брыкcин — Как всё починить и ничего не сломать: работа со сложным кодо...Виктор Брыкcин — Как всё починить и ничего не сломать: работа со сложным кодо...
Виктор Брыкcин — Как всё починить и ничего не сломать: работа со сложным кодо...
 
Java Core. Lecture# 3. Part# 2. Exceptions.
Java Core. Lecture# 3. Part# 2. Exceptions.Java Core. Lecture# 3. Part# 2. Exceptions.
Java Core. Lecture# 3. Part# 2. Exceptions.
 
C++ STL & Qt. Занятие 08.
C++ STL & Qt. Занятие 08.C++ STL & Qt. Занятие 08.
C++ STL & Qt. Занятие 08.
 
Работа с БД в Java
Работа с БД в JavaРабота с БД в Java
Работа с БД в Java
 
Классы и объекты в Java
Классы и объекты в JavaКлассы и объекты в Java
Классы и объекты в Java
 
Лекция Android. БД SQLite, ContentProvider, Loader
Лекция Android. БД SQLite, ContentProvider, LoaderЛекция Android. БД SQLite, ContentProvider, Loader
Лекция Android. БД SQLite, ContentProvider, Loader
 
Основы Java. 5. Databases
Основы Java. 5. DatabasesОсновы Java. 5. Databases
Основы Java. 5. Databases
 
C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.
 
Глава 2: Среда разработки NetBeans
Глава 2: Среда разработки NetBeansГлава 2: Среда разработки NetBeans
Глава 2: Среда разработки NetBeans
 
Клиент-серверное взаимодействие под android в деталях
Клиент-серверное взаимодействие под android в деталяхКлиент-серверное взаимодействие под android в деталях
Клиент-серверное взаимодействие под android в деталях
 

Similar to Java весна 2013 лекция 9

Android - 02 - annotations, exceptions, io, generics
Android - 02 - annotations, exceptions, io, genericsAndroid - 02 - annotations, exceptions, io, generics
Android - 02 - annotations, exceptions, io, generics
Noveo
 
C++ осень 2013 лекция 4
C++ осень 2013 лекция 4C++ осень 2013 лекция 4
C++ осень 2013 лекция 4
Technopark
 
Java весна 2013 лекция 8
Java весна 2013 лекция 8Java весна 2013 лекция 8
Java весна 2013 лекция 8
Technopark
 
Java осень 2012 лекция 9
Java осень 2012 лекция 9Java осень 2012 лекция 9
Java осень 2012 лекция 9
Technopark
 
Java весна 2014 лекция 1
Java весна 2014 лекция 1Java весна 2014 лекция 1
Java весна 2014 лекция 1
Technopark
 
Android - 01 - Java Basics
Android - 01 - Java BasicsAndroid - 01 - Java Basics
Android - 01 - Java Basics
Noveo
 
Ciklum .NET Saturday - Introduction to TypeScript
Ciklum .NET Saturday - Introduction to TypeScriptCiklum .NET Saturday - Introduction to TypeScript
Ciklum .NET Saturday - Introduction to TypeScript
Dmytro Mindra
 
Mikhail Valkov_Antipatterns
Mikhail Valkov_AntipatternsMikhail Valkov_Antipatterns
Mikhail Valkov_Antipatterns
Ciklum
 

Similar to Java весна 2013 лекция 9 (20)

Android - 02 - annotations, exceptions, io, generics
Android - 02 - annotations, exceptions, io, genericsAndroid - 02 - annotations, exceptions, io, generics
Android - 02 - annotations, exceptions, io, generics
 
Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"
 
Java 9: what is there beyond modularization
Java 9: what is there beyond modularizationJava 9: what is there beyond modularization
Java 9: what is there beyond modularization
 
Java осень 2014 занятие 1
Java осень 2014 занятие 1Java осень 2014 занятие 1
Java осень 2014 занятие 1
 
Инструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщикаИнструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщика
 
C++ осень 2013 лекция 4
C++ осень 2013 лекция 4C++ осень 2013 лекция 4
C++ осень 2013 лекция 4
 
C# Desktop. Занятие 06.
C# Desktop. Занятие 06.C# Desktop. Занятие 06.
C# Desktop. Занятие 06.
 
Java весна 2013 лекция 8
Java весна 2013 лекция 8Java весна 2013 лекция 8
Java весна 2013 лекция 8
 
Java осень 2012 лекция 9
Java осень 2012 лекция 9Java осень 2012 лекция 9
Java осень 2012 лекция 9
 
Использование Java Native Interface (JNI) и кросплатформенных C/C++ реализаци...
Использование Java Native Interface (JNI) и кросплатформенных C/C++ реализаци...Использование Java Native Interface (JNI) и кросплатформенных C/C++ реализаци...
Использование Java Native Interface (JNI) и кросплатформенных C/C++ реализаци...
 
Oop java.generics
Oop java.genericsOop java.generics
Oop java.generics
 
Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"
 
Java весна 2014 лекция 1
Java весна 2014 лекция 1Java весна 2014 лекция 1
Java весна 2014 лекция 1
 
Память в Java. Garbage Collector
Память в Java. Garbage CollectorПамять в Java. Garbage Collector
Память в Java. Garbage Collector
 
Java 9 - кратко о новом
Java 9 -  кратко о новомJava 9 -  кратко о новом
Java 9 - кратко о новом
 
Статический анализ кода: Что? Как? Зачем?
Статический анализ кода: Что? Как? Зачем?Статический анализ кода: Что? Как? Зачем?
Статический анализ кода: Что? Как? Зачем?
 
Android - 01 - Java Basics
Android - 01 - Java BasicsAndroid - 01 - Java Basics
Android - 01 - Java Basics
 
Ciklum .NET Saturday - Introduction to TypeScript
Ciklum .NET Saturday - Introduction to TypeScriptCiklum .NET Saturday - Introduction to TypeScript
Ciklum .NET Saturday - Introduction to TypeScript
 
Зачем нужна Scala?
Зачем нужна Scala?Зачем нужна Scala?
Зачем нужна Scala?
 
Mikhail Valkov_Antipatterns
Mikhail Valkov_AntipatternsMikhail Valkov_Antipatterns
Mikhail Valkov_Antipatterns
 

More from Technopark

СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
Technopark
 
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
Technopark
 
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
Technopark
 

More from Technopark (20)

Лекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель PregelЛекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель Pregel
 
Лекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.RuЛекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.Ru
 
Лекция 13. YARN
Лекция 13. YARNЛекция 13. YARN
Лекция 13. YARN
 
Лекция 12. Spark
Лекция 12. SparkЛекция 12. Spark
Лекция 12. Spark
 
Лекция 10. Apache Mahout
Лекция 10. Apache MahoutЛекция 10. Apache Mahout
Лекция 10. Apache Mahout
 
Лекция 9. ZooKeeper
Лекция 9. ZooKeeperЛекция 9. ZooKeeper
Лекция 9. ZooKeeper
 
Лекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и HiveЛекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и Hive
 
Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)
 
Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)
 
Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)
 
Лекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFSЛекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFS
 
Лекция 2. Основы Hadoop
Лекция 2. Основы HadoopЛекция 2. Основы Hadoop
Лекция 2. Основы Hadoop
 
Лекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduceЛекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduce
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
 
СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"
 
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
 
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
 
СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"
 
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
 

Java весна 2013 лекция 9

  • 1.
  • 2.
  • 3.
  • 4. @Test public void unitTestSomething(){…} @Deprecated class oldClass{…} @Nullable private Object object; public int getUserId(@NotNull User user){…}
  • 5. Обозначает устаревшую фукциональность Deprecated методы могут бять удалены в следующих версиях Отмечает методы, кторые переопределяют методы базового класса Компилятор проверяет сигнатуры методов Указание IDE или компилятору не сообщять об проблемах типа «warning»
  • 6. @interface CreatedBy { String author(); String date(); } @CreatedBy (author = “tully”, date = “01.05.2013”) public class MyClass {…} @CreatedBy (author = “tully”, date = “01.05.2013”) public static void main(String args[])
  • 7. Class myClass = MyClass.class; Method method = myClass.getMethod(“main”); CreatedBy annotationC = myClass.getAnnotation(CreatedBy.class); CreatedBy annotationM = method.getAnnotation(CreatedBy.class); log.info(“Author of the class: ” + annotationC.author()); log.info(“Date of Writing the class: ” + annotationC.date()); log.info(“Author of the method: ” + annotationM.author()); log.info(“Date of Writing the method: ” + annotationM.date());
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. Configuration configuration = new org.hibernate.cfg.Configuration(); configuration.setProperty(propertyName, propertyValue); propertyName propertyValue hibernate.dialect org.hibernate.dialect.MySQLDialect hibernate.connection.driver_class com.mysql.jdbc.Driver hibernate.connection.url jdbc:mysql://localhost:3306/Lecture8 hibernate.connection.username tully hibernate.connection.password tully hibernate.show_sql true hibernate.hbm2ddl.auto update
  • 16.
  • 17.
  • 18. ServiceRegistryBuilder builder = new ServiceRegistryBuilder(); builder.applySettings(configuration.getProperties()); ServiceRegistry serviceRegistry = builder.buildServiceRegistry(); SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry); Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); System.out.append(transaction.getLocalStatus().toString()); session.close(); sessionFactory.close();
  • 19. import javax.persistence.*; @Entity @Table(name="users") public class UserDataSet { @Id @Column(name="id") @GeneratedValue(strategy = GenerationType.IDENTITY) private long id; @Column(name="name") private String name; … } configuration.addAnnotatedClass(UserDataSet.class);
  • 20. ― public void save(UserDataSet dataSet){ Session session = sessionFactory.openSession(); Transaction trx = session.beginTransaction(); session.save(dataSet); trx.commit(); session.close(); } public UserDataSet read(long id){ Session session = sessionFactory.openSession(); return (UserDataSet)session.load(UserDataSet.class, id); }
  • 21.
  • 22. 1. История и особенности языка Java. 2. Платформа Java. Java Editions. GC, JVM, JDK, JRE. ByteCode. 3. Правила наименований. Запуск java приложений. 4. class Object и class Class<?>. 5. Простые типы в Java. Классы обертки простых типов. 6. Generic programming в Java. 7. Коллекции в Java. Iterator, Iterable. 8. Processes and Threads. 9. Interface Runnable. class Thread. Методы start() и run(). 10. Методы класса Thread: sleep(), interrupt(), join(). 11. Ключевые слова volatile и synchronized. 12. Atomic variables. 13. Проблемы многопоточного доступа к данным. Race condition. 14. Методы класса Object: wait(), notify() и notifyAll(). 15. Плюсы и минусы многопоточных приложений. 16. Способы взаимодействия потоков. 17. java.util.concurrent 18. MessageSystem. Address и Abonent. 19. Распределение классов по пакетам. Циклические зависимости. 20. Архитектура игрового сервера. 21. Процесс работы игрового сервера, репликация. 22. Виды тестирования. 23. GC. Виды GC. Параметры GC. 24. Работа со случайными числами. 25. Singleton и Context. 26. Events, подписка на события. 27. Exception и Throwable. 28. Передача функции в библиотеку. Callback. 29. Анонимные классы. 30. Работа со временем и датой. Unix time. Locale. 31. I/O Streams. Потоки байт и потоки символов. 32. Сериализация/десериализация. Interface Serializable. 33. Ключевое слово transient. 34. Reflection. Роль reflection в сериализации. 35. SAX парсер. 36. DOM парсер. 37. ResourceFactory. Роль ресурсов в игре. 38. JDBC API. 39. class Connection. 40. Statement. 41. ResultSet. 42. DataSet. 43. DAO. 44. Annotation. 45. Object Relational Mapping. 46. Frontend. 47. MessageSystem иерархия наследования. 48. Game Mechanics. 49. Resource System. 50. Database System.