23

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

Embed Size (px)

Citation preview

Page 1: Java весна 2013 лекция 9
Page 2: Java весна 2013 лекция 9
Page 3: Java весна 2013 лекция 9

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

@Testpublic void unitTestSomething(){…}

@Deprecatedclass oldClass{…}

@Nullableprivate Object object;

public int getUserId(@NotNull User user){…}

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

Обозначает устаревшую фукциональность

Deprecated методы могут бять удалены в следующих версиях

Отмечает методы, кторые переопределяют методы базового класса

Компилятор проверяет сигнатуры методов

Указание IDE или компилятору не сообщять об проблемах типа «warning»

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

@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[])

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

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());

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

Page 10: Java весна 2013 лекция 9
Page 11: Java весна 2013 лекция 9
Page 12: Java весна 2013 лекция 9
Page 13: Java весна 2013 лекция 9
Page 14: Java весна 2013 лекция 9
Page 15: Java весна 2013 лекция 9

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

Page 16: Java весна 2013 лекция 9
Page 17: Java весна 2013 лекция 9
Page 18: Java весна 2013 лекция 9

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();

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

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);

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

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);

}

Page 21: Java весна 2013 лекция 9
Page 22: Java весна 2013 лекция 9

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.concurrent18. 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.

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