Java技術の歴史と全体像【日本一Java講師が本気出してみた】
Summary
TLDRこのビデオスクリプトは、Java技術の歴史と多様な応用分野を紹介しています。1995年にリリースされてから、Webサービスや大規模システム、埋め込みシステムへと広がり続けるJavaの進化を追跡し、その開発環境やクラスライブラリ、そしてJavaBeansやMVCパターンなどの重要な概念を解説します。また、Javaフレームワークの進歩、特にSpring Bootの人気や、Java EEからJakarta EEへの移管など、最新の動向も触れています。これは、Java学習者や開発者にとって、その歴史と未来に向けた開発の流れを理解するのに役立つ一瞥です。
Takeaways
- 🌐 Java技術はウェブサービス、大規模システム、組み込みシステムの2つの方向へ広がっており、業界全体が相互にサポートしつつ発展しています。
- 📅 Javaは1995年にアメリカのSun Microsystemsによってリリースされ、30年以上の間使用され続け、現在も開発が進化しています。
- 🔍 Javaはプログラミング言語であり、開発環境の一部で、言語仕様は基本文法を含むルールのセットです。
- 📝 Javaはオブジェクト指向思考に基づいており、クラスという単位でプログラムが組み立てられ、クラス外で属性やメソッドを定義することはできません。
- 🔄 Javaの継承や多相性などのオブジェクト指向の特徴は、開発効率を高めるために役立ちます。
- 💻 JRE(Java Runtime Environment)はJavaの実行環境で、異なるOSでも同じJavaプログラムを実行できるようにします。
- 🗑️ Javaはガベージコレクション技術を備えており、プログラム実行中に開かれたオブジェクトの領域を自動的に解放します。
- 📚 Javaには多くのクラスがパブリックに提供されており、それらはパッケージにまとめられています。
- 🌐 Javaはウェブアプリケーションの開発に使用されており、Servlet、JSP、JavaBeansなどの技術が導入されています。
- 📈 Javaはフレームワークを使用してウェブサービスや大規模システムの開発を効率化しています。Spring FrameworkやSpring Bootがその一例です。
- 📱 Javaは組み込みシステムやAndroidスマートフォンにも広く使用されており、IoTやJava Card、Java TVなどにも応用されています。
- 🔧 Java EEの管理はOracleからEclipse Foundationに移管され、Jakarta EEへと名称変更されています。
Q & A
Java技術が2つの方向で広がっていると説明されていますが、それらの方向は何ですか?
-Java技術が広がっている2つの方向は、ウェブサービスや大規模システム、そして組み込みシステムです。
Java言語の特徴の一つとして例外処理が挙げられますが、これは何を意味しますか?
-例外処理は、Java言語で発生した実行時エラーをtry-catchブロックなどの方法で処理する機能であり、C言語のGoTo文に代わる機能です。
オブジェクト指向思考とは何であり、Java言語にどのように反映されていますか?
-オブジェクト指向思考は、データとメソッドをクラスという単位でまとめる考え方です。Java言語では、クラス内にメンバー変数とメソッドを定義することが求められ、クラス外で属性やメソッドを定義することは許可されていません。
JREとは何で、Java言語の実行環境としてどのような役割を果たしていますか?
-JREはJava Runtime Environmentの略で、Javaプログラムの実行環境を提供します。各OSごとの実行環境の違いを吸収し、同じJavaプログラムが異なるOSでも実行できるようにしています。
ガベージコレクションとは何であり、Java言語でどのように利用されていますか?
-ガベージコレクションは、プログラム実行中に開かれたオブジェクトの領域を自動的に解放するJavaの機能で、プログラマがメモリを明示的に解放する必要がなくなります。
Javaのクラスライブラリとは何で、どのような役割を持っていますか?
-クラスライブラリは、Javaで提供される多くのクラスの集まりで、基本的な機能から役立つ機能まで様々なクラスがパッケージ化されています。これにより、プログラマは既存のクラスを利用してプログラムを効率的に開発できます。
JavaのMVCパターンとは何であり、ウェブアプリケーション開発においてどのような役割を果たしていますか?
-MVCパターンは、モデル(model)、ビュー(view)、コントローラー(controller)の3つの役割を分離し、ウェブアプリケーションの開発を効率化するデザインパターンです。Javaでは、サーブレットがコントローラー、JSPがビュー、JavaBeansがモデルとして機能します。
Java SE、EE、MEのそれぞれのエディションはどのような用途に使われていますか?
-Java SEはデスクトップアプリケーションの開発に使われます。Java EEはウェブサービスや大規模システムの開発に使われ、Java MEは組み込みシステムやホームアプライアンスなどの小さなデバイス向けに使われます。
AndroidスマートフォンにおけるJavaプログラムの役割とは何ですか?
-Androidスマートフォンの多くはJavaで作られており、その上で動作するアプリもJavaで開発されています。JavaはAndroidアプリの開発において、処理やレイアウト情報を分離して効率的に開発できるようにしています。
Spring FrameworkとSpring Bootの違いは何であり、なぜSpring Bootが人気を得ていますか?
-Spring FrameworkはJavaのフレームワークで、多くの機能を含んでいますが、設定ファイルの作成が複雑です。一方、Spring BootはSpring Frameworkの一部で、少ないコードでウェブアプリケーションを簡単に作成できるため、最近では特に人気があります。
Java EEがJakarta EEに名前変更された背景にはどのような事情がありますか?
-Java EEの管理がOracleからEclipse Foundationに移管された際、商標の問題のために名前がJava EEからJakarta EEに変更されました。Eclipse Foundationは、Eclipseという開発ツールを提供する組織でもあります。
Outlines
😀 Java技術の歴史と進化
Java技術はウェブサービスや大規模システム、埋め込みシステムの2つの方向へ広がっており、産業全体が相互支援し合いながら発展を続けています。1995年にJavaがリリースされてから、様々な技術が創造され、どのように利用されているかを一つのダイアグラムにまとめます。Javaは古くさいと思われるかもしれませんが、実際には今も広く使われており、30年間も開発が続けられています。Javaの歴史を振り返りながら、技術の全体像を解説します。Javaの基本文法やオブジェクト指向の考え方、JRE(Javaランタイム環境)の機能、そしてガベージコレクションなど、Javaの基本的な書き方や特徴について説明します。
📚 Javaのクラスライブラリと開発ツール
Javaには多数のクラスが存在し、それらはパッケージに分類されています。java.langパッケージには基本的な機能が、java.utilパッケージにはコレクションクラスなどが含まれています。Javaのクラスライブラリはライブラリのように扱われ、Javaの機能やクラスの数が増え続けています。開発ツールとして、EclipseやIntelli J IDEAなどの統合開発環境(IDE)が有名で、Javaの開発に広く使用されています。また、Javaの初期にはアプレットが人気でしたが、現在ではウェブアプリケーションの開発に注力しています。
🌐 Javaのウェブサービスと組み込みシステム
Javaはコンポーネントとして容易に作成でき、高速で安全な処理が可能なため、ウェブサービスや大規模システム開発に広く使用されています。Java SEはデスクトップアプリケーションの開発に使用され、Java EE(Jakarta EE)はウェブサービスや大規模システムの開発に向いています。Java MEは組み込みシステム向けのエディションで、家電やICカード、Java TVなどへの応用が見られます。特にAndroidスマートフォンへの影響は大きいです。Javaの技術はウェブサービスや組み込みシステムの2つの大きな方向へ広がっており、IoTの拡大やAndroidアプリ開発など、今後も重要な役割を果たし続けることでしょう。
🛠️ Javaフレームワークと開発の未来
Javaには多くのフレームワークがあり、その中でもSpring Frameworkが有名です。Spring Bootは最近特に人気があり、少ないコードでウェブアプリケーションの開発が容易になっています。Java技術は多様化し、Oracle単独では管理が難しくなっており、Java EEの管理はEclipse Foundationに移管され、Jakarta EEへと名称変更されています。Java技術は産業全体が相互支援し合いながら発展しており、今後の進化にも期待が寄せられています。
Mindmap
Keywords
💡Java技術
💡オブジェクト指向
💡JRE
💡ガベージコレクション
💡クラスライブラリ
💡Applet
💡Javaフレームワーク
💡Java SE
💡Java EE
💡Android
💡IoT
Highlights
Java技术自1995年发布以来,一直在两个方向发展:web服务和大型系统,以及嵌入式系统。
Java技术继续朝着整个行业相互支持和共同发展的方向发展。
Java不仅是编程语言,还包括开发环境的语言规范。
Java的基本数据类型和引用类型定义了数据存储的容器形状。
Java不包含GoTo语句,而是使用异常处理等结构化编程方法。
Java基于面向对象的思维,程序基本单位是类,成员变量和方法定义在类中。
Java的继承和多态性是面向对象编程的重要特性。
JRE(Java运行环境)是Java程序的执行环境,提供跨平台的执行支持。
Java具有垃圾回收技术,自动释放对象占用的内存,简化内存管理。
Java的类库按功能组织成包,如java.lang、java.util等。
Java applet是在浏览器上运行的程序,曾因互联网的兴起而流行。
Java分为三个版本:Java SE(标准版)、Java EE(企业版)、Java ME(微型版)。
Java开发工具包括Eclipse和IntelliJ IDEA等集成开发环境(IDE)。
Java技术在web应用开发中通过Servlet、JSP和JavaBeans等技术实现。
MVC模式结合了Servlet、JSP和JavaBeans,提高了web应用开发的效率。
Java在web服务和大型系统开发中广泛应用,如Twitter、Evernote等。
Java ME用于嵌入式系统,如家电控制和IC卡技术。
Java技术在Android智能手机中的应用,大多数应用使用Java开发。
Android Studio是Google发布的Android应用开发工具。
Java框架如Spring Framework和Spring Boot提高了大型系统开发的效率。
Java EE的管理权从Oracle转移到Eclipse Foundation,更名为Jakarta EE。
Java技术的发展是整个行业相互支持和共同进步的结果。
Transcripts
Up until now, Java technology has been spreading in two directions: web services and large-scale systems, and embedded systems.Java
technology continues to move towards a method where the entire industry supports each other and develops together.
Yes, hello, this time's theme is a world map of Java technology.I
will explain what technologies have been created and how they have been utilized since Java was released in 1995, drawing it in a single diagram.
Many people may think that Java is old, but it is still being used quite a lot.Of course, there is a reason why it has been used for
30 years, and it is still a field that continues to develop. Yes,
this time I will explain the overall picture of Java technology while looking at its history.
First of all, I would like to explain that I will not be able to explain everything about Java technology this time, and that
I myself am This means that there are technologies that we don't know yet.Please
note that I am still inexperienced in this regard and am still learning.Now, let's start the world map of Java technology! [Applause]
First of all, Java was released by Sun Microsystems in the United States in 1995.
Many people think that Java is a programming language, but
strictly speaking, Java is a programming language. and aspects of the development environment.Language
specifications are
the rules for writing.For example
, they include the basic grammar.What
is provided by the basic grammar? The first thing that is easy to understand is variables.And
when you define a variable in Java, you need to specify the data type.The data type is
the shape of the container in which the data is stored.For
example, there are 8 basic data types such as the int type. There are reference types, such as the String type, in which a reference value is stored in a container.In
addition, like other programming languages, Java also provides control statements to control the flow of the program. Programs are mainly
created in the form of structured programming, which combines these three structures:
sequential progression, branching, and repetition.In
languages such as C, which was commonly used before Java, it was possible to jump anywhere in the program. There was a GoTo statement that was prepared, but
it would make the program difficult to understand, so there is no GoTo statement in Java.One
of the functions provided as an alternative to the GoTo statement is called exception handling. In
the C language, when a run-time error occurs, it is common to use a GoTo statement to skip processing, but in Java, it is now possible to handle
run-time errors, that is, exceptions, by using methods such as try catch blocks. In
addition to this basic writing style, Java is also based on object-oriented thinking.First of all, a
major feature of object-oriented is that Java programs are basically assembled in units called classes.
In Java, member variables are defined as attributes within a class, and methods are defined as operations.Conversely,
in Java, it is not allowed to define attributes or methods outside of a class.
A major feature of Java is
that, for example, in C++, which was used around the same time as Java was released, it was possible to define methods outside of a class.At first glance, it seems convenient to be able to do that
. However, if this were allowed,
some programmers would write attributes and operations properly in a class, while others would try to write
a program using only processing outside the class without defining a class at all.
Java has become so popular
because of the strict object-oriented rules that state that member variables and methods can only be defined in classes,
and other objects.
Java incorporates the inheritance function and the polymorphism function, which is also called polymorphism,
as a oriented feature.The
first technology you should know as a development environment is JRE.JRE is
an acronym for Java Runtime Environment. This is the Java execution environment.The
blue part is that each OS provides an execution environment that absorbs the differences between each OS
so that the same Java program can run on different OS such as Windows and MAC. JRE
provides an environment for running Java programs as well as a compiler for development.One
feature that you should keep in mind that is different from other C++ programs is the technology called garbage collection
.
Java provides an execution environment that automatically frees the area of objects that are opened during program execution, so programmers can easily free
memory . This means that you can program without being particularly conscious of
it.Java programmers use this kind of development environment to write classes, and
in Java there are many classes with various functions that have been made public. They are organized
into packages. First, classes with basic functionality are organized into the java.lang package.
Then there are classes with useful functions such as collection classes. Classes are grouped together in the java.util package.In
addition, there is a java.io package for file management,
a java.net package for Internet-related functions,
and a java.sql package for database access functions
. There are many packages provided in Java, and the packages that were implemented when Java was first announced were as follows. Each package contains many classes, and it is almost like a library
. That's why
these provided classes are collectively called a class library.By
the way, the applet in the first package is a program that runs on a browser.Java was announced in
1995, right around the time the Internet was introduced. This was also the time when Java was becoming popular, so this applet was very popular.This was
one of the reasons why Java became popular.Every
time Java was updated, the number of functions and classes that could be used in Java continued to increase. Think of the rally as expanding.As
the language specifications and development environment for Java have been made public, and the class library has been enriched,
tools for developing with Java have also been created. Various tools have been created
, but the one most programmers use
is an integrated development environment (IDE) for Java development.The
most famous ones are Eclipse
, and then Intelli J IDEA
. There are various other tools as well, the most famous being the web server Apatch.In addition to
this, there are database servers and other tools made with Java.Incidentally,
the two introduced here are eclipse and Intelli J IDEA. Tools are commonly used development tools as of 2022.In the past,
there were development tools for each time, but what kind of Java programs were actually created using those development tools?In the beginning, there were two main directions
. I will write one on the top of the whiteboard and the other on the left.The
first thing I would like to introduce is web applications.Java
technology for creating web applications was introduced in 1998
. Servlets were announced in 2009. [Music]
A servlet is a Java program that runs when a request is received from a web browser. From
within a Java program, you can use the println method to output HTML tags to the other browser. At first, such a program
was used, but it was found to be quite difficult to output HTML from within a Java program, so the following year, in 1998, a technology called JSP was announced
. The servlet I mentioned
earlier was about HTML being contained within a Java program, but
JSP is the opposite; it basically allows you to embed part of a Java program within an HTML file
. JavaBeans is often used in combination with
Since it is not possible to express the functions of the entire web application with just servlets and JSPs,
JavaBeans was compiled as a rule to create program parts, for example, to extract the processing part as a separate class
. It is a collection of basic rules such as preparing a constructor with no arguments when creating a program.From around
this time, the idea of creating programs by combining parts spread, and the idea of design patterns also spread.
This design pattern is not limited to Java, but is an idea that has begun to be used in other languages as well.In Java, SunMicrosystems has developed
several
Java Design patterns have been published.One
of them is the MVC pattern.This
is an idea that combines the idea of the original MVC model with servlets, JSP, and JavaBeans, and this is the image of MVC
. The M in the model is the M in the model.A
model is a collection of processing.It is implemented using a class called JavaBeans, which is created based on the rules.V is the
part shown on the view screen, the layout part. This
is created using JSP, and C is used to control these two components.This is
the servlet that is the main part of the Java program.The
idea is that by combining these two components in this way, you can develop web applications efficiently.
This idea is often used in modern development sites.As you can see,
Java programs are easy to make into components, and since it is a compiler language that compiles and executes, processing is fast, and security is also important
. It is mainly used for web services and large-scale system development.First
of all, famous web services such as twitter(X), evernote, and Rakuten's site are also built with Java.
For example, Java is still used in banks and delivery systems.This was mostly in the
late 1990s,
and various technologies had already been developed. It was decided in 1999 that
Java's functions would be divided into three editions depending on the purpose.The first edition is the standard edition called Java SE.This
is a basic class like the one shown here. This edition is a collection of libraries and is used when creating desktop applications.The edition
above is called Java EE.The edition for creating web services and large-scale systems is the
Enterprise Edition.Initially, it was
called Java EE. It used to be called Jakarta EE for a reason.The
reason for this will be explained in the second half of the video.The
other edition is a micro edition called Java ME.The
first thing to do when starting Java development is The first thing to do is install the JDK Java Development Kit, which
includes the language specifications, development environment, Java SE Standard Edition features, and if you want to use the
Java EE features, use this JDK. If you need to install the basic functions plus JavaEE SDK and want to
develop Java ME, you can install this JDK plus Java ME SDK and develop each.This
micro is small. That's what I mean.
Let me introduce you to some places where it has actually been used. OJPI is an
acronym for Oracle Java Platform Integrator, and it is a Java program that mainly runs in home appliances.
Small chips built into home appliances
are used to control the movements of refrigerators and rice cookers.The
current expansion of IoT is thanks to Java technology. There is also
a technology called Java Card that is used in IC cards.For
example, VISA credit cards have a Java program running inside the IC chip.Another
familiar technology is Java TV. Java technology is used
to control televisions and is used in Blu-ray disc recorders.More
familiar to us, Java programs are also running on Android smartphones.Like
this. Java programs are also often used as embedded technology.Android
smartphones were announced by Google in 2007, so it's been about
10 to 15 years since Java was released
. Up until now, Java technology has been spreading in two major directions: web services and large-scale systems, and embedded systems on the left.And since there is still a little empty space on the top right and left of the whiteboard, I will explain the recent
10 Let's talk about
this Android smartphone
that I talked about earlier.Android itself is made with Java, so most of the apps that run on this smartphone are also made with Java.It's
easier to create Android apps. In 2014, Google released a development tool called Android Studio.The
app development tool called Android Studio uses
two files : a java file for processing the app, and an xml file that collects layout information.
We will create an application.
In this way, we will summarize the processing and control of the application into a java file, and the settings and layout information for that application into an xml file. Then, we
can combine these and run them as a single application
. When developing an app, we
have created an environment where you can connect the development machine for the app to an actual smartphone via USB and run it as a demo while developing.In
Japan, iPhones have a high market share, but globally, Android smartphones have a high market share. has a fairly high share, so
I think
this is a field that will continue to be developed.And a recent trend regarding web services and large-scale systems is development using frameworks.This
framework is a Japanese Translated into Japanese, it means a framework.The
design pattern I mentioned earlier was based on the idea that program parts could be combined in this pattern for efficient development, but
this framework is even more advanced and can even be used as a system framework. In other words,
the general outline of the program has been completed and you only need to write the necessary parts, which has the
advantage of further increasing development efficiency.Java
has many different frameworks. The most famous one is Spring Framework.It is sometimes
simply called Spring.It was quite popular
when it first came out, but it is a framework that includes various functions, and it is difficult to create
configuration files.
Spring Boot is a part of Spring that has been used more and more in the last few years, partly because it is difficult. By using this, it is very easy to create web
applications with a small amount of code. There
are many other frameworks, but for example, here
is a list of job openings for Java freelancers by framework.February 2022 If you look at this
information , you will understand that Spring and Spring Boot are relatively popular
these days.Spring Boot was announced in 2014, but it has been around
this time. Java technologies have become so diverse that it has become difficult for Oracle to manage them alone.For
example, the speed of version updates for this technology called Java EE has become slow.What is the
current situation? In 2018, the management of Java EE was transferred from Oracle to another organization, and
due to trademark issues at that time, the name was changed from Java EE to Jakarta EE.
Management has been transferred to an organization called the Eclipse Foundation.In other words,
the organization that makes this development tool, eclipse, will also manage it.In this way,
now the only company that uses Java technology is Oracle. We are still moving in the direction of supporting each other across
the industry and developing together, rather than relying solely on one
thing or another.I'm looking forward to seeing how development progresses in the future, so
this time I'll be focusing on Java technology. With the theme of world map, I have tried to compile the flow of the development of Java technology so far in one piece.Since I have only been able to
talk about each technology in a very shallow way, this time I would like to first give you an idea of the overall picture and the flow of history. I'll be happy
if this video makes your future Java learning and development even a little bit more fun.If you
find any mistakes in the content of this video, or if there are any other areas like this, please feel free to leave a comment with your impressions of the video. I would be happy if
you could get it. Also, if you liked this video, please hit the like button and subscribe to the channel.
See you in the next video. Thank you very much
[Music]
5.0 / 5 (0 votes)