Chapter 1 Introduction to Computers, the Internet, and the Web

Similar documents
Introduction to Computers, the Internet and the World Wide Web

Introduction to OOP Using Java Pearson Education, Inc. All rights reserved.

港專單一登入系統 (SSO) 讓本校的同學, 全日制及兼職老師只要一個登入帳戶, 便可同時使用由本校提供的網上系統及服務, 包括 Blackboard 網上學習平台, 港專電郵服務, 圖書館電子資料庫及其他教學行政系統.

SSL VPN User Manual (SSL VPN 連線使用手冊 )

Oxford isolution. 下載及安裝指南 Download and Installation Guide

Chapter 7. Digital Arithmetic and Arithmetic Circuits. Signed/Unsigned Binary Numbers

桌上電腦及筆記本電腦安裝 Acrobat Reader 應用程式

C++ Spring Break Packet 11 The Java Programming Language

Network Programming Concepts

用於網頁版權保護的資訊隱藏方法. A Steganographic Method for Copyright Protection of Web Pages

System Programming. System Software: An Introduction to Systems Programming. Leland L. Beck 3rd Edition Addison-Wesley, 1997

Figure 1 Microsoft Visio

全面強化電路設計與模擬驗證. Addi Lin / Graser 2 / Sep / 2016

一般來說, 安裝 Ubuntu 到 USB 上, 不外乎兩種方式 : 1) 將電腦上的硬碟排線先予以排除, 將 USB 隨身碟插入主機, 以一般光碟安裝方式, 將 Ubuntu 安裝到 USB

C++ Programming Language Lecture 1 Introduction

Chapter 1 Overview of Programming and Problem Solving By C.K. Liang

Apache OpenWhisk + Kubernetes:

JAVA Programming Language Homework V: Overall Review

EMBARCADERO TECHNOLOGIES. C++Builder XE5 技術研討會 唯快不破

Java 程式設計基礎班 (7) 莊坤達台大電信所網路資料庫研究室. Java I/O. Class 7 1. Class 7 2

Chapter 1 Introduction to Computers and C++ Programming

Introduction to JAVA Programming Language

PC Link Mode. Terminate PC Link? Esc. [GO]/[Esc] - - [GO]/[Esc] 轉接座未放滿. Make auto accord with socket mounted? [GO]/[Esc] Copy to SSD E0000

UAK1-C01 USB Interface Data Encryption Lock USB 資料加密鎖. Specifications for Approval

Chapter 1 Introduction to Computers, Programs, and Java

Software Architecture Case Study: Applying Layer in SyncFree

CLAD 考前準備 與 LabVIEW 小技巧

香港中文大學學生會計算機科學系會 圖書清單

Lecture 1: Introduction to Java

Java 程式設計基礎班 (7) 劉根豪台大電機所網路資料庫研究室. Java I/O. Class 7 1. Class 7

0 Introduction: Computer systems and program development

Frame Relay 訊框中繼 FRSW S0/0 S0/1

Information is EVERYTHING 微軟企業混和雲解決方案. November 24, Spenser Lin. Cloud Infra Solution Sales, Microsoft Taiwan

Chapter 7. Signed/Unsigned Binary Numbers. Digital Arithmetic and Arithmetic Circuits. Unsigned Binary Arithmetic. Basic Rules (Unsigned)

MP3 Codec Design 吳炳飛教授. Chaotic Systems & Signal Processing Lab, CSSP Lab. CSSP Lab:

Chapter 1 Introduction to Computers, Programs, and Java

Operating Systems 作業系統

EdConnect and EdDATA

購票流程說明 How To purchase The Ticket?

InTANK ir2771-s3 ir2772-s3. User Manual

PowerBuilder 12. PowerBuilder is.net. 向質彬 Ben Sybase Taiwan 2010 / 08

Lotusphere Comes to You 輕鬆打造 Web 2.0 入口網站 IBM Corporation

NCCU 資訊碩專班 Advanced Programming Languages

Introduction to Computers, the Internet and the Web Pearson Education, Inc. All rights reserved.

黃河凱. Kaiser Huang 巨匠電腦北區 / 新竹認證中心認證講師國立新竹教育大學數位學習科技研究所在職生微軟原廠認證講師 MCT

多元化資料中心 的保護策略 技術顧問 陳力維

微軟新一代私有雲服務. 利用 Windows Azure Pack 協助企業建構現代化的 IT 服務架構, 提升競爭力降低維運成本. Jason Chou Architect. Nov 7, 2013

Chapter 1 Introduction to Computers, Programs, and Java. What is a Computer? A Bit of History

游家德 Jade Freeman 群智信息 / 敦群數位資深架構顧問

現代化資料中心必備資料隨處保護機制 首席技術顧問藍基能 GLOBAL SPONSORS

SOHOTANK PD3500+ User Manual

EMP2 SERIES. mpcie to Serial COM User Manual. Rev 1.3

InTANK ir2622 User Manual

場次 : C3. 公司名稱 : Radware. 主題 : ADC & Security for SDDC. 主講人 : Sam Lin ( 職稱 ) 總經理

Ubiquitous Computing Using SIP B 朱文藝 B 周俊男 B 王雋伯

// 範例 4-1: 連結資料庫 (connectdb.php) <?php mysql_connect("localhost", "student", "Asia2013"); mysql_select_db("student");?>

VMware vsphere. 零壹科技 Josh.wang VMware Inc. All rights reserved

InTANK ir2623-s3 User Manual

Increase Productivity and Quality by New Layout Flow

Multimedia Service Support and Session Management 鍾國麟

打造新世代企業資料中心 Windows Server 2016 重裝登場. 馮立偉 Hybrid Cloud Lead Microsoft Taiwan

GPIB 儀器控制之概念及軟硬體介紹 研華股份有限公司 工業自動化事業群

SPI 功能使用方法 Application Note

Version Control with Subversion

2009 OB Workshop: Structural Equation Modeling. Changya Hu, Ph.D. NCCU 2009/07/ /07/03

History Introduction to Java Characteristics of Java Data types

Oracle Database 11g Overview

Protech RMA Request Form

Quick Installation Guide for Connectivity Adapter Cable CA-42

Twin API Guide. How to use Twin

購票流程說明 How To purchase The Ticket?

Microsoft RemoteFX: USB 和设备重定向 姓名 : 张天民 职务 : 高级讲师 公司 : 东方瑞通 ( 北京 ) 咨询服务有限公司

Chinese (Traditional) Style Guide

微控设计网 微控技术论坛 基于模拟前端信号处理与控制技术的专业论坛 网站.

Practical Experience on CUDA

BTC, EMPREX Wireless Keybaord +Mouse + USB dongle. 6309URF III Quick Installation Guide

Use of SCTP for Handoff and Path Selection Strategy in Wireless Network

Quick Installation Guide

Objectives. Chapter 1 Introduction to Computers, Programs, and Java. What is a Computer?

Clonezilla Live 實務與應用

Chapter 1 Introduction to Computers, Programs, and Java

Introduction to Java Programming CPIT 202. WEWwwbvxnvbxmnhsgfkdjfcn

Additional Information

Mid-term EXAM. 11/14/2009

Introduction to Java. Liang, Introduction to Java Programming, Ninth Edition, (c) 2013 Pearson Education, Inc. All rights reserved.

虛擬機 - 惡意程式攻防的新戰場. 講師簡介王大寶, 小時候大家叫他王小寶, 長大後就稱王大寶, 目前隸屬一神祕單位. 雖然佯稱興趣在看書與聽音樂, 但是其實晚上都在打 Game. 長期於系統最底層打滾, 熟悉 ASM,C/C++,

ISILON DATA LAKE 運用 ISILON 輕鬆建構企業資料湖

DVS-8504E-H 四路 H.264 數位影像編碼器

Introduction to Java. Lecture 1 COP 3252 Summer May 16, 2017

微軟商務用 Skype 雲端視訊會議及與所需頻寬介紹

Digital imaging & free fall of immersed sphere with wall effects

The notice regarding Participation Ways of our global distributor video conference on Feb. 5.

SOHORAID ST8-TB3 User Manual

DVS-8501E/DVS-8501E-H 單路 H.264 數位影像編碼器

H3C CAS 虚拟机支持的操作系统列表. Copyright 2016 杭州华三通信技术有限公司版权所有, 保留一切权利 非经本公司书面许可, 任何单位和个人不得擅自摘抄 复制本文档内容的部分或全部, 并不得以任何形式传播 本文档中的信息可能变动, 恕不另行通知

描述性資料採礦 Descriptive Data Mining

RA8835. Dot Matrix LCD Controller Q&A. Preliminary Version 1.2. July 13, RAiO Technology Inc.

Object Oriented Concepts and Programming (CSC244) By Dr. Tabbasum Naz

MH-3621-U3 Clone Dual SATA HDD Docking System

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.

Transcription:

Chapter 1 Introduction to Computers, the Internet, and the Web Java technologies are classified into three editions: 1. Standard (J2SE technology) 2. Micro (J2ME technology) 3. Enterprise (J2EE technology) 多了 EJB Advanced Java 2 Platform How to program Each edition is a developer treasure chest of tools and supplies that can be used with a particular product: 1. Java virtual machines 2. A library of APIs 3. Tools for deployment and device configuration 4. A profile that is a specification of the set of APIs Reference: http://java.sun.com 1 Java 主要版本範圍圖 2 1

Evolution of Operating Systems Single user Batch processing One job (task) at a time for CPU Operating systems developed Programs to make computers more convenient to use Switch jobs easier(one after another) Increase throughput Monopoly computer resources Multiprogramming Share computer resources Increase utilization Simultaneous jobs Timesharing operating systems CPU time slice User receives immediate response 3 Personal, Distributed and Client/Server Computing Personal computing Computers for personal use Distributed computing Computing performed among several computers Client/server computing Servers offer common store of programs and data Clients access programs and data from server 3 Tiers architecture Client/Server(pure Homepage) + Server DB(provide data) 4 2

Machine Languages, Assembly Languages and High-Level Languages Machine language Natural language of computer component Machine dependent Assembly language English-like abbreviations represent computer operations Translator programs convert to machine language High-level language Allows for writing more English-like instructions Contains commonly used mathematical operations Compiler convert to machine language Interpreter Execute high-level language programs without compilation 5 C++ History of C++ Evolved from C Evolved from BCPL and B Provides object-oriented programming capabilities Objects Reusable software components that model real-world items 6 3

Java History of Java Originally for intelligent consumer-electronic devices Then used for creating Web pages with dynamic content Now also used for: Develop large-scale enterprise applications Enhance WWW server functionality Provide applications for consumer devices (cell phones, etc.) 7 Classes Java Class Libraries Contain methods that perform tasks Return information after task completion Used to build Java programs Java contains class libraries Known as Java APIs (Application Programming Interfaces) 8 4

FORTRAN, COBOL, Pascal and Ada Fortran FORmula TRANslator COBOL COmmon Business Oriented Language 9 Structured Programming Structured Programming Structured programs Clearer than unstructured programs Easier to test, debug and modify Pascal designed for teaching structured programming ADA Multitasking(rendezvous) allow programmers to specify many activities are occurred in parallel C Java Multithreading enables programmers to write programs with parallel activities 10 5

BASIC, Visual Basic, Visual C++, C# and.net BASIC Beginner s All-Purpose Symbolic Instruction Code Visual Basic.NET Framework Class Library (FLC) Visual C++ C# Microsoft Foundation Classes (MFC) C-Sharp.NET.NET Framework 11 Internet The Internet and the World Wide Web Developed more than four decades ago with DOD funding Originally for connecting few main computer systems Now accessible by hundreds of millions of computers World Wide Web (WWW) Allows for locating/viewing multimedia-based documents 12 6

Basics of a Typical Java Environment Java systems contain Environment Language APIs Class libraries 13 Basics of a Typical Java Environment (cont.) Java programs normally undergo five phases Edit (*.java) Programmer writes program (and stores program on disk) Compile (*.class) javac [machine independent] Compiler creates bytecodes from program Load (Just-In-Time) Class loader stores bytecodes in memory Verify Verifier ensures bytecodes do not violate security requirements Execute (Java Run-Time Environment) java [machine dependent] Interpreter translates bytecodes into machine language J2SDK http://java.sun.com/download5 Forte http://www.sun.com/forte/ffj 14 7

Phase 1 Editor Disk Program is created in an editor and stored on disk in a file ending with.java. Phase 2 Compiler Disk Compiler creates bytecodes and stores them on disk in a file ending with.class. Phase 3 Class Loader Primary Memory Class loader reads.class files containing bytecodes from disk and puts those bytecodes in memory. Disk.... Phase 4 Bytecode Verifier Primary Memory Bytecode verifier confirms that all bytecodes are valid and do not violate Java s security restrictions..... Phase 5 Interpreter Primary Memory Interpreter reads bytecodes and translates them into a language that the computer can understand, possibly storing data values as the program executes..... Fig. 1.1 Typical Java environment. 15 Open source Freeware & Shareware Freeware Download from internet and use as free SW Subject to the restrictions specified by the copyright owner Shareware Download from internet and use as free SW for personal use Pay a fee to the copyright owner for commercial products Open source community Download the source code from internet and learn from them Make some enhancements and publish to the open source community Linux is an example of open source community 16 8

Java programming environment Java IDEs(Integrated Development Environments) Borland s JBuilder Symantec s Visual Café IBM s VisualAge (WebSphere) Java Creator (http://www.jcreator.com) NetBean (http://www.netbeans.org/) Eclipse (http://eclipse.cis.sinica.edu.tw/downloads/index.php) 17 Java program developing categories Application can execute and save standalone A program is stored and executed from the user s local computer Execute result can be display in DOS or open a window dialog(swing) Applet(client load heavy) embedded in HTML A small program is stored on a remote computer Users connect to it from WWW browser Applets are downloaded from server computer to the client browser and are execute and display result in client s browser After executing the Applet, client s browser discards the applet(byte code), reload again if the client s browser wants to execute again Servlet (Server load heavy) troublesome JSP ASP like 18 9

Servlets 與 JSP Servlets 是首先發展出來的動態網頁技術, 功能非常強大而且完善, 但是在產生頁面時, 必需使用 out.println() 一句一句的輸出 在網頁輸出的程式片段,Servlets 必需靠 out.println() 來輸出 HTML 標籤, 如果是內容複雜的網頁, 不難想像製作與維護的困難 同樣是在網頁顯示 "Hello World!", 使用 JSP 技術來製作的話, 使用 HTML 標籤配合 JSP 程式碼, 可以大幅度簡化程式 19 JSP 與 ASP 的比較 ASP JSP 網頁伺服器 IIS or P WS Apache, and IIS 平台 Microsoft Windows 大部份常見的平台, 包含 Solaris Operating Environment, Microsoft Windows, Mac OS, Linux, 和其它 UNIX platform implementations 可重複使用, 跨平台的元件 No JavaBeans, custom JSP tags 安全性與防止系統毀損 No Yes 記憶體漏失保護 No Yes 使用的描述語言 VBScript, JScript Java 自定標籤 No Yes 20 10

General Notes about Java and This Book Geared for novice programmers We stress clarity Comments appear in Green Keywords appear in Blue Constants appear in Light Blue Class and variable names appear in Black 21 Java Environment 22 11

. NET Environment 23 Thinking About Objects: Introduction to Object Technology and the Unified Modeling Language Object orientation(has attributes and exhibit behaviors) Unified Modeling Language (UML) Graphical language that uses common notation Allows developers to represent object-oriented designs Objects Reusable software components that model real-world items Look all around you People, animals, plants, cars, etc. Characteristics(attributes) Size, shape, color, weight, etc. Behaviors(methods) Babies cry, crawl, sleep, etc. 24 12

Thinking About Objects (cont.) Object-oriented design (OOD) Models real-world objects Models communication among objects(via messages) Encapsulates data (attributes) and functions/methods (behaviors) Information hiding Communication through well-defined interfaces Object-oriented language Programming is called object-oriented programming (OOP) Java Object-Oriented Analysis and Design (OOAD) Essential for large programs Analyze program requirements, then develop solution We begin OOAD in Chapter 2 Elevator-simulation case study 25 History of the UML Thinking About Objects (cont.) Need developed for process with which to approach OOAD Union of Booch, Rumbaugh and Jacobson Object Management Group (OMG) supervised in 1997 Version 1.4 is current version in 2001 (http://www.omg.org/uml ) Version 2.0 scheduled tentatively for release in 2002 UML Graphical representation scheme(use-case, class, object, sequence, collaborative, statechart, activity, component, deployment diagrams) Enables developers to model object-oriented systems Flexible and extendible 26 13

Discovering Design Patterns: Introduction Effective design crucial for large programs Design patterns Proven architectures for developing object-oriented software Architectures created from accumulated industry experience Reduce design-process complexity Promotes design reuse in future systems Helps identify common design mistakes and pitfalls Helps design independently of implementation language Establishes common design vocabulary Shortens design phase in software-development process Similar to architectural elements arches and columns Used by developers to construct sets of classes and objects Developers Familiarity with patterns to understand how to use patterns 27 Discovering Design Patterns (cont.) History of Design Patterns Gamma, Helm, Johnson and Vlissides Gang of Four Design Patterns, Elements of Reusable Object-Oriented Software (Addison Wesley: 1995) Established 23 design patterns Creational Instantiate objects Structural Organize classes and objects Behavioral Assign responsibilities to objects 28 14