SlideShare una empresa de Scribd logo
1 de 41
Новости в  JDK 1.5 Светлин Наков www.devbg.org
Съдържание ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Съдържание ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
История на езика  Java ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Принципи, залегнали в  JDK 1.5 ,[object Object],[object Object],[object Object],[object Object]
Auto boxing/unboxing ,[object Object],[object Object],[object Object],ArrayList list = new ArrayList(); list.add(5);  // auto boxing: int --> Integer Integer i = (Integer) list.get(0);  int i2 = i;  // auto unboxing: Integer --> int
Разширение на  for - циклите ,[object Object],Person[] persons = new Person[] { new Person("Бай Иван"), new Person("Цар Киро"), new Person("Баба Яга") }; for (Person p : persons) { System.out.println(p); }
Разширение на  for - циклите ,[object Object],[object Object],ArrayList personsList = new ArrayList(); personsList.add(new Person("Бай Иван")); personsList.add(new Person("Цар Киро")); personsList.add(new Person("Баба Яга")); for (Object obj : personsList) { Person person = (Person) obj; System.out.println(person); }
Изброени типове  (enums) ,[object Object],[object Object],[object Object],[object Object],[object Object],public enum Color { WHITE, RED, GREEN, BLUE, BLACK }
Изброени типове  (enums) ,[object Object],switch (color) { case WHITE:  System.out.println("бяло");  break; case RED:  System.out.println("червено");  break; ... } if (color == Color.RED) { ... }
Изброени типове  (enums) ,[object Object],public static void main(String[] args) { Color color = Color.RED; System.out.println("color = " + color); int value = color.ordinal(); System.out.println("value = " + value); for(Color c : Color.values()) { System.out.println("Color." + c + " = " + c.ordinal()); } }
Статично включване ,[object Object],import static java.lang.Math.*; public static void main(String[] args) { // Пишем директно PI, а не Math.PI // и  sin(PI/2),  а не  Math.sin(Math.PI/2) System.out.println( "PI = " + PI +  ", sin(PI/2) = " + sin(PI/2) ); }
Променлив брой аргументи ,[object Object],double average(double ... aValues) { double sum = 0; for (double value : aValues) { sum = sum + value; } double avg = sum / aValues.length; return avg; } System.out.println(average(5,6)); System.out.println(average(1,2,3,4,5));
Ковариантност на връщания тип ,[object Object],interface SomeInterface { public Object someMethod(); } public class C   implements SomeInterface   { public String someMethod() { return "I return String  " + " instead of Object"; } }
Шаблонни типове ,[object Object],[object Object],public class Example<T> { private T mValue; public Example<T>(T aValue) { mValue = aValue; } public T getValue() { return mValue; } }
Шаблонни типове ,[object Object],[object Object],[object Object],Example<String> str = new Example<String>( &quot;Шаблони, маблони,  макарони и купони &quot;); System.out.println(str.getValue()); Example< Double >  d  =  new Example< Double >( 3.14159265 ); System.out.println( d .getValue());
Шаблонни типове ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Шаблонни колекции ,[object Object],import java.util.*; ArrayList<Integer> list = new ArrayList<Integer>(); list.add(5); int value = list.get(0); HashMap<String, Integer> ageMap = new HashMap<String, Integer>(); ageMap.put(&quot;Бай Киро&quot;, 83); int kiroAge = ageMap.get(&quot;Бай Киро&quot;);
Шаблонни колекции ,[object Object],ArrayList <Person>  personsList = new ArrayList <Person> (); personsList.add(new Person(&quot;Бай Иван&quot;)); personsList.add(new Person(&quot;Цар Киро&quot;)); personsList.add(new Person(&quot;Баба Яга&quot;)); for ( Person   person  : personsList) { System.out.println(person); }
[object Object],Шаблонни типове class Example<T extends Person> { ... } class Example2<T extends Shape & Movable, Transformable> { ... } void fill(List<? extends Shape> aList) { ... }
Шаблонни методи ,[object Object],static <T> void swap(T[] arr, int index1, int index2) { T temp = arr[index1]; arr[index1] = arr[index2]; arr[index2] = temp; } public static void main(String[] args) { Integer[] intArray = {10, 20, 30, 40}; swap(intArray,  1 ,  3 ); }
Демонстрация ,[object Object],[object Object]
Анотации ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Анотации ,[object Object],@Retention(RetentionPolicy.RUNTIME) @interface Author { String name(); } @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @interface Optimize { String level()  default &quot;release&quot; ; boolean threadSafe(); String lastCheckDate();  // java.util.Date not allowed! }
Анотации ,[object Object],@ A uthor(name=&quot;Svetlin Nakov&quot;) public class AnnotDemo { @ O ptimize(level=&quot;debug&quot;, threadSafe=false, lastCheckDate=&quot;20.07.2004&quot;) public void  test () { ... } }
Анотации ,[object Object],[object Object],import java.lang.annotation.*; Annotation classAnnot = AnnotDemo.class. getAnnotation(Author.class); System.out.println(&quot;AnnotDemo class &quot; + &quot;has annotation: &quot; + classAnnot); Author classAuthor = (Author) classAnnot; System.out.println(&quot;AnnotDemo  has  &quot; + &quot;author: &quot; + classAuthor.name());
Анотации ,[object Object],// EJB 3.0 session bean @Session public class Sample Session Bean { private DataSource customerDB; @Inject private void setCustomerDB( DataSource customerDB)   { this.customerDB = customerDB;  } ... }
Демонстрация ,[object Object]
Нови класове   в  JDK 1.5 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Форматиран вход/изход Date now = new java.util.Date(); System.out.printf(&quot;Today is &quot; + &quot;%1$te.%1$tm.%1$tY&quot;, now); String name = &quot;Svetlin Nakov&quot;; int count = 15; System.out.printf(&quot;Welcome, %1$s.  You  &quot; + &quot;are visitior %2$d.&quot;,   name, count); Scanner sc = new Scanner(System.in); int value = sc.nextInt(); System.out.printf(&quot;value = %1$d&quot;, value);
Конкурентно програмиране ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Executors ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Executors ,[object Object],[object Object],[object Object],[object Object]
Executors –  пример // Create a thread pool with 3 worker threads int threadsCount = 3; ExecutorService pool = Executors. newFixedThreadPool(threadsCount); // Add some tasks to the pool int tasksCount = 12; for (int i = 0; i < tasksCount; i++) { pool.execute(new Task(&quot;t&quot; + (i+1))); } // Destroy the pool after all tasks get finished pool.shutdown();
Демонстрация ,[object Object]
Други новости в  JDK  1.5 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Проследяване на стека // Show current thread's stack trace java.lang.StackTraceElement ste[] =  Thread.currentThread().getStackTrace(); for (int i=0; i < ste.length; i++) { System.out.println(ste[i]); } // Show all threads' stack traces Map<Thread,StackTraceElement[]> allStacks = Thread.getAllStackTraces(); System.out.println(allStacks);
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Още новости в  JDK  1.5
[object Object],[object Object],[object Object],[object Object],[object Object],Още новости в  JDK  1.5
За повече информация ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Новости в  JDK 1.5 ,[object Object]

Más contenido relacionado

La actualidad más candente

Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)
Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)
Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)DAVID Academy
 
Училищен курс по програмиране на C# (2013/2014), занятие №2
Училищен курс по програмиране на C# (2013/2014), занятие №2Училищен курс по програмиране на C# (2013/2014), занятие №2
Училищен курс по програмиране на C# (2013/2014), занятие №2DAVID Academy
 
Училищен курс по програмиране на C# (2013/2014), занятие №7
Училищен курс по програмиране на C# (2013/2014), занятие №7Училищен курс по програмиране на C# (2013/2014), занятие №7
Училищен курс по програмиране на C# (2013/2014), занятие №7DAVID Academy
 
Училищен курс по програмиране на C# (2013/2014), занятие №10
Училищен курс по програмиране на C# (2013/2014), занятие №10Училищен курс по програмиране на C# (2013/2014), занятие №10
Училищен курс по програмиране на C# (2013/2014), занятие №10DAVID Academy
 
Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#
Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#
Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#DAVID Academy
 
Училищен курс по програмиране на C# (2013/2014), занятие №11
Училищен курс по програмиране на C# (2013/2014), занятие №11Училищен курс по програмиране на C# (2013/2014), занятие №11
Училищен курс по програмиране на C# (2013/2014), занятие №11DAVID Academy
 
Динамична памет (оператори new и delete) в C++
Динамична памет (оператори new и delete) в C++Динамична памет (оператори new и delete) в C++
Динамична памет (оператори new и delete) в C++Georgi Mirchev
 
Основни структури за управление на изчислителния процес
Основни структури за управление на изчислителния процесОсновни структури за управление на изчислителния процес
Основни структури за управление на изчислителния процесAtelier for robotics
 
Курс по програмиране на C# 2013 - 6. Обектно-ориентирано програмиране. Класов...
Курс по програмиране на C# 2013 - 6. Обектно-ориентирано програмиране. Класов...Курс по програмиране на C# 2013 - 6. Обектно-ориентирано програмиране. Класов...
Курс по програмиране на C# 2013 - 6. Обектно-ориентирано програмиране. Класов...DAVID Academy
 
Курс по уеб програмиране (2015), занятие №2 - CSS
Курс по уеб програмиране (2015), занятие №2 - CSSКурс по уеб програмиране (2015), занятие №2 - CSS
Курс по уеб програмиране (2015), занятие №2 - CSSDAVID Academy
 

La actualidad más candente (10)

Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)
Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)
Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)
 
Училищен курс по програмиране на C# (2013/2014), занятие №2
Училищен курс по програмиране на C# (2013/2014), занятие №2Училищен курс по програмиране на C# (2013/2014), занятие №2
Училищен курс по програмиране на C# (2013/2014), занятие №2
 
Училищен курс по програмиране на C# (2013/2014), занятие №7
Училищен курс по програмиране на C# (2013/2014), занятие №7Училищен курс по програмиране на C# (2013/2014), занятие №7
Училищен курс по програмиране на C# (2013/2014), занятие №7
 
Училищен курс по програмиране на C# (2013/2014), занятие №10
Училищен курс по програмиране на C# (2013/2014), занятие №10Училищен курс по програмиране на C# (2013/2014), занятие №10
Училищен курс по програмиране на C# (2013/2014), занятие №10
 
Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#
Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#
Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#
 
Училищен курс по програмиране на C# (2013/2014), занятие №11
Училищен курс по програмиране на C# (2013/2014), занятие №11Училищен курс по програмиране на C# (2013/2014), занятие №11
Училищен курс по програмиране на C# (2013/2014), занятие №11
 
Динамична памет (оператори new и delete) в C++
Динамична памет (оператори new и delete) в C++Динамична памет (оператори new и delete) в C++
Динамична памет (оператори new и delete) в C++
 
Основни структури за управление на изчислителния процес
Основни структури за управление на изчислителния процесОсновни структури за управление на изчислителния процес
Основни структури за управление на изчислителния процес
 
Курс по програмиране на C# 2013 - 6. Обектно-ориентирано програмиране. Класов...
Курс по програмиране на C# 2013 - 6. Обектно-ориентирано програмиране. Класов...Курс по програмиране на C# 2013 - 6. Обектно-ориентирано програмиране. Класов...
Курс по програмиране на C# 2013 - 6. Обектно-ориентирано програмиране. Класов...
 
Курс по уеб програмиране (2015), занятие №2 - CSS
Курс по уеб програмиране (2015), занятие №2 - CSSКурс по уеб програмиране (2015), занятие №2 - CSS
Курс по уеб програмиране (2015), занятие №2 - CSS
 

Destacado

Improved Word Alignments Using the Web as a Corpus
Improved Word Alignments Using the Web as a CorpusImproved Word Alignments Using the Web as a Corpus
Improved Word Alignments Using the Web as a CorpusSvetlin Nakov
 
Академия на Телерик - безплатни курсове 2011
Академия на Телерик - безплатни курсове 2011Академия на Телерик - безплатни курсове 2011
Академия на Телерик - безплатни курсове 2011Svetlin Nakov
 
Tools for Developers
Tools for DevelopersTools for Developers
Tools for DevelopersSvetlin Nakov
 
High Quality Code Introduction
High Quality Code IntroductionHigh Quality Code Introduction
High Quality Code IntroductionSvetlin Nakov
 
Как да напишем некомерсиална книга с екип от 30 автора?
Как да напишем некомерсиална книга с екип от 30 автора?Как да напишем некомерсиална книга с екип от 30 автора?
Как да напишем некомерсиална книга с екип от 30 автора?Svetlin Nakov
 
4. Писане на мотивационно писмо
4. Писане на мотивационно писмо4. Писане на мотивационно писмо
4. Писане на мотивационно писмоSvetlin Nakov
 

Destacado (6)

Improved Word Alignments Using the Web as a Corpus
Improved Word Alignments Using the Web as a CorpusImproved Word Alignments Using the Web as a Corpus
Improved Word Alignments Using the Web as a Corpus
 
Академия на Телерик - безплатни курсове 2011
Академия на Телерик - безплатни курсове 2011Академия на Телерик - безплатни курсове 2011
Академия на Телерик - безплатни курсове 2011
 
Tools for Developers
Tools for DevelopersTools for Developers
Tools for Developers
 
High Quality Code Introduction
High Quality Code IntroductionHigh Quality Code Introduction
High Quality Code Introduction
 
Как да напишем некомерсиална книга с екип от 30 автора?
Как да напишем некомерсиална книга с екип от 30 автора?Как да напишем некомерсиална книга с екип от 30 автора?
Как да напишем некомерсиална книга с екип от 30 автора?
 
4. Писане на мотивационно писмо
4. Писане на мотивационно писмо4. Писане на мотивационно писмо
4. Писане на мотивационно писмо
 

Similar a JDK 1.5 New Features

BARS - Regular Expressions - Svetlin Nakov, George Penkov
BARS - Regular Expressions - Svetlin Nakov, George PenkovBARS - Regular Expressions - Svetlin Nakov, George Penkov
BARS - Regular Expressions - Svetlin Nakov, George PenkovSvetlin Nakov
 
Курс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQL
Курс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQLКурс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQL
Курс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQLDAVID Academy
 
Web applications with Catalyst BG
Web applications with Catalyst BGWeb applications with Catalyst BG
Web applications with Catalyst BGsvilen.ivanov
 
Rykowodstwo po programirane_na_bazata_na_ezika_java
Rykowodstwo po programirane_na_bazata_na_ezika_javaRykowodstwo po programirane_na_bazata_na_ezika_java
Rykowodstwo po programirane_na_bazata_na_ezika_javaSonia Lichkova
 
алгоритми
алгоритмиалгоритми
алгоритмиmtrad
 
21a manipulirane na danni v sql server upraznenie
21a manipulirane na danni v sql server   upraznenie21a manipulirane na danni v sql server   upraznenie
21a manipulirane na danni v sql server upraznenieIvan Peev
 
Nakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - IntroNakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - IntroSvetlin Nakov
 
K.Merachev G.Penkov Intro To Context Free Art
K.Merachev G.Penkov  Intro To Context Free ArtK.Merachev G.Penkov  Intro To Context Free Art
K.Merachev G.Penkov Intro To Context Free Artgushelche
 

Similar a JDK 1.5 New Features (12)

BARS - Regular Expressions - Svetlin Nakov, George Penkov
BARS - Regular Expressions - Svetlin Nakov, George PenkovBARS - Regular Expressions - Svetlin Nakov, George Penkov
BARS - Regular Expressions - Svetlin Nakov, George Penkov
 
C++ OpenFest 2015
C++ OpenFest 2015C++ OpenFest 2015
C++ OpenFest 2015
 
Курс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQL
Курс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQLКурс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQL
Курс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQL
 
Web applications with Catalyst BG
Web applications with Catalyst BGWeb applications with Catalyst BG
Web applications with Catalyst BG
 
Rykowodstwo po programirane_na_bazata_na_ezika_java
Rykowodstwo po programirane_na_bazata_na_ezika_javaRykowodstwo po programirane_na_bazata_na_ezika_java
Rykowodstwo po programirane_na_bazata_na_ezika_java
 
алгоритми
алгоритмиалгоритми
алгоритми
 
Writing tests in Go
Writing tests in GoWriting tests in Go
Writing tests in Go
 
21a manipulirane na danni v sql server upraznenie
21a manipulirane na danni v sql server   upraznenie21a manipulirane na danni v sql server   upraznenie
21a manipulirane na danni v sql server upraznenie
 
JSTL
JSTLJSTL
JSTL
 
.NET/C#_14
.NET/C#_14.NET/C#_14
.NET/C#_14
 
Nakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - IntroNakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - Intro
 
K.Merachev G.Penkov Intro To Context Free Art
K.Merachev G.Penkov  Intro To Context Free ArtK.Merachev G.Penkov  Intro To Context Free Art
K.Merachev G.Penkov Intro To Context Free Art
 

Más de Svetlin Nakov

BG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учителиBG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учителиSvetlin Nakov
 
Programming World in 2024
Programming World in 2024Programming World in 2024
Programming World in 2024Svetlin Nakov
 
AI Tools for Business and Startups
AI Tools for Business and StartupsAI Tools for Business and Startups
AI Tools for Business and StartupsSvetlin Nakov
 
AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)Svetlin Nakov
 
AI Tools for Entrepreneurs
AI Tools for EntrepreneursAI Tools for Entrepreneurs
AI Tools for EntrepreneursSvetlin Nakov
 
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023Svetlin Nakov
 
AI Tools for Business and Personal Life
AI Tools for Business and Personal LifeAI Tools for Business and Personal Life
AI Tools for Business and Personal LifeSvetlin Nakov
 
Дипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин НаковДипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин НаковSvetlin Nakov
 
Дипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООПДипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООПSvetlin Nakov
 
Свободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТСвободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТSvetlin Nakov
 
AI and the Professions of the Future
AI and the Professions of the FutureAI and the Professions of the Future
AI and the Professions of the FutureSvetlin Nakov
 
Programming Languages Trends for 2023
Programming Languages Trends for 2023Programming Languages Trends for 2023
Programming Languages Trends for 2023Svetlin Nakov
 
IT Professions and How to Become a Developer
IT Professions and How to Become a DeveloperIT Professions and How to Become a Developer
IT Professions and How to Become a DeveloperSvetlin Nakov
 
GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)Svetlin Nakov
 
IT Professions and Their Future
IT Professions and Their FutureIT Professions and Their Future
IT Professions and Their FutureSvetlin Nakov
 
How to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a JobHow to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a JobSvetlin Nakov
 
Призвание и цели: моята рецепта
Призвание и цели: моята рецептаПризвание и цели: моята рецепта
Призвание и цели: моята рецептаSvetlin Nakov
 
What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?Svetlin Nakov
 
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)Svetlin Nakov
 
Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)Svetlin Nakov
 

Más de Svetlin Nakov (20)

BG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учителиBG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учители
 
Programming World in 2024
Programming World in 2024Programming World in 2024
Programming World in 2024
 
AI Tools for Business and Startups
AI Tools for Business and StartupsAI Tools for Business and Startups
AI Tools for Business and Startups
 
AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)
 
AI Tools for Entrepreneurs
AI Tools for EntrepreneursAI Tools for Entrepreneurs
AI Tools for Entrepreneurs
 
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
 
AI Tools for Business and Personal Life
AI Tools for Business and Personal LifeAI Tools for Business and Personal Life
AI Tools for Business and Personal Life
 
Дипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин НаковДипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин Наков
 
Дипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООПДипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООП
 
Свободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТСвободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТ
 
AI and the Professions of the Future
AI and the Professions of the FutureAI and the Professions of the Future
AI and the Professions of the Future
 
Programming Languages Trends for 2023
Programming Languages Trends for 2023Programming Languages Trends for 2023
Programming Languages Trends for 2023
 
IT Professions and How to Become a Developer
IT Professions and How to Become a DeveloperIT Professions and How to Become a Developer
IT Professions and How to Become a Developer
 
GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)
 
IT Professions and Their Future
IT Professions and Their FutureIT Professions and Their Future
IT Professions and Their Future
 
How to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a JobHow to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a Job
 
Призвание и цели: моята рецепта
Призвание и цели: моята рецептаПризвание и цели: моята рецепта
Призвание и цели: моята рецепта
 
What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?
 
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
 
Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)
 

JDK 1.5 New Features

  • 1. Новости в JDK 1.5 Светлин Наков www.devbg.org
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30. Форматиран вход/изход Date now = new java.util.Date(); System.out.printf(&quot;Today is &quot; + &quot;%1$te.%1$tm.%1$tY&quot;, now); String name = &quot;Svetlin Nakov&quot;; int count = 15; System.out.printf(&quot;Welcome, %1$s. You &quot; + &quot;are visitior %2$d.&quot;, name, count); Scanner sc = new Scanner(System.in); int value = sc.nextInt(); System.out.printf(&quot;value = %1$d&quot;, value);
  • 31.
  • 32.
  • 33.
  • 34. Executors – пример // Create a thread pool with 3 worker threads int threadsCount = 3; ExecutorService pool = Executors. newFixedThreadPool(threadsCount); // Add some tasks to the pool int tasksCount = 12; for (int i = 0; i < tasksCount; i++) { pool.execute(new Task(&quot;t&quot; + (i+1))); } // Destroy the pool after all tasks get finished pool.shutdown();
  • 35.
  • 36.
  • 37. Проследяване на стека // Show current thread's stack trace java.lang.StackTraceElement ste[] = Thread.currentThread().getStackTrace(); for (int i=0; i < ste.length; i++) { System.out.println(ste[i]); } // Show all threads' stack traces Map<Thread,StackTraceElement[]> allStacks = Thread.getAllStackTraces(); System.out.println(allStacks);
  • 38.
  • 39.
  • 40.
  • 41.