基础知识(1)- Java程序设计概述】的更多相关文章

第1章 Java程序设计概述1.1 Java程序设计平台 具有令人赏心悦目的语法和易于理解的语言,与其他许多优秀语言一样,Java满足这些要求. 可移植性 垃圾收集 提供大型的库  如果想要有奇特的绘图功能,网络连接功能和数据库存取功能无需自己动手编写代码 功能齐全的出色语言 高质量的执行环境,提供庞大的库.集多种优势于一身 注:  白皮书:www.oracle.com/technetwork/java/langenv-140151.html  11个关键术语的论述:http://horstma…
1.1 Java程序设计平台 1.2 Java“白皮书”的关键术语  1.2.1 简单性  1.2.2 面向对象  1.2.3 网络技能  1.2.4 健壮性  1.2.5 安全性  1.2.6 体系结构中立  1.2.7 可移植性  1.2.8 解释型  1.2.9 高性能  1.2.10 多线程  1.2.11 动态性 1.3 Java applet与Internet 1.4 Java发展简史 1.5 关于Java的常见误解…
java  基础知识 三 变量 1.作用域 {} 包围起来的代码 称之为代码块,在块中声明的变量只能在块中使用 2.常量 就是固定不变的量,一旦被定义,它的值就不能再被改变. 3.变量 变量必须在程序中被定义(或声明)后才能使用,而且为每个变量确定一个具体类型 深层次含义:变量,是内存上一个数据存储空间,该区域有名称和数据类型,里面的数据可以在同一类型范围内不断变化,通过变量名获取变量值 变量声明:根据数据类型在内存中申请一块空间,并需要提供变量名 变量赋值:将数据存储至对应的内存空间 变量分类…
1.1 Java程序设计平台 Java是一门设计优秀的语言,更是一个完整的平台.Java平台包括了一个庞大可重用的类库以及提供了安全性,跨系统,自动垃圾收集等优秀特性的执行环境. 这也使其成为自发布以来就颇为流行的高级程序设计语言. 1.2 Java"白皮书"的关键术语 简单性: 与C++相比,剔除了难以理解的一些语言特性:Java包也很小: 面向对象:聚焦于问题本身 分布式: 网络编程的便捷性 健壮性: 相比C++的指针更安全 安全性: * 运行时堆栈溢出 * 破坏自己的进程空间外的…
摘要:1996年Java第一次发布就引起了人们的广大关注.本文简要地介绍一下Java语言的发展历史. 一.Java程序设计平台 Java是一种优秀的程序设计语言.一旦一种语言应用于某个领域,与现存代码的兼容性问题就摆在了人们的面前.这就导致Java在发展之初没有那么完美无瑕,但是,Java的发展是不断追求进步与完善的过程.在第一次发布时,Java的问世引起了业界的极大关注,举个真实的栗子,当时关注Java的人士不仅限于计算机出版界,还有诸如<纽约时报><华盛顿邮报><商业周刊…
聊聊文字,写一篇关于 java 基础知识的博文. JVM 线程栈 到 函数运行 每一个JVM线程来说启动的时候都会创建一个私有的线程栈.一个jvm线程栈用来存储栈帧,jvm线程栈和C语言中的栈很类似,它负责管理局部变量.部分运算结果,同时也参与到函数调用和函数返回的工作中.JVM规范中运行线程栈的大小可以是固定的或者是动态分配的,也可以是根据一定规则计算的.不同jvm对栈的实现会不同,一些可能提供给开发人员自己控制jvm线程栈初始大小的方式:对于动态分配来说也可能提供对jvm最大和最小值的设置.…
一.Java标识符程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier).Java语言中,标识符是以字母,下划线(_),美元符($)开始的一个字符序列,后面可以跟字母,下划线,美元符,数字.例如,identifier,userName,User_Name,_sys_val, $change为合法的标识符,而2mail room#,class 为非法的标识符.二.Java保留字具有专门的意义和用途,不能当作一般的标识符使用,这些标识符称为保留字(reserved wor…
一.Java变量的声明 在 Java 程序设计中,每个声明的变量都必须分配一个类型.声明一个变量时,应该先声明变量的类型,随后再声明变量的名字.下面演示了变量的声明方式. double salary; int age; Boolean op; 其中第一项称为变量类型,第二项称为变量名.分号是必须的,这是 Java 语句的结束符号. 同一类型的不同变量,可以声明在一行,也可以声明在不同行,如果要声明在同一行中,不同的变量之间用逗号分隔,例如下面的例子. int studentNumber,peop…
常量就是从程序开始运行到结束都不变的量.在 Java 程序设计中,使用关键字“final”来声明一个常量,例如下面的程序代码. 这里的 x 是一个常量,但是是在某个方法内的常量,也可以称为成员常量(作者给它取的名字) public class var { public static void main(String[] args){ final int X=20; System.out.println("常量 X="+X); } } 运行结果是:常量 X=20 如果要声明一个类常量,就…
1.抽象类 在自上而下的继承层次结构中,位于上层的类更具有通用性,甚至可能更加抽象.从某种角度看,祖先类更加通用,它只包含一些最基本的成员,人们只将它作为派生其他类的基类,而不会用来创建对象.甚至,你可以只给出方法的定义而不实现,由子类根据具体需求来具体实现. 这种只给出方法定义而不具体实现的方法被称为抽象方法,抽象方法是没有方法体的,在代码的表达上就是没有“{}”.包含一个或多个抽象方法的类也必须被声明为抽象类. 使用 abstract 修饰符来表示抽象方法和抽象类. 抽象类除了包含抽象方法外…
JAVA概述: 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒.PDA等的微处理器. 1994年将Oak语言更名为Java. JAVA三种技术架构方向: 1.JAVAME:开发电子消费产品和嵌入式设备,如手机中的程序. 2.JAVASE:完成桌面应用程序的开发,是其它两者的基础. 3.JAVAEE:开发企业环境下的应用程序,主要针对web程序开发. JAVA开发环境: 1.JRE:程序的运行环境,java运行的所需的类库+J…
完成几个小代码练习?让自己更加强大?学习新知识回顾一下基础? 1.输入数组计算最大值 2.输出数组反向打印 3.求数组平均值与总和 4.键盘输两int,并求总和 5.键盘输三个int,并求最值 /* 要求:输入一组数组,计算出最大值. */ public class cesi{ public static void main (String[] args) { int[] array = {5, 15, 100, 999, 1000}; int max = array[0]; for (int…
1. GC机制(垃圾回收机制) 找到垃圾的方法:引用计数法.可达性分析法 回收垃圾的方法:标记清除算法.复制算法.标记整理法.分代算法 2. JVM内存划分 线程私有:程序计数器.JVM虚拟机栈.本地方法栈 线程公有:堆.方法区.运行时常量池 3. 会发生OOM的区域 堆:内存泄漏 JVM虚拟机栈和本地方法栈:递归循环 方法区:早期类加载过多会OOM,现在一般不会 4. 类加载过程 1.加载:将字节码数据从不同的数据源读取到JVM内存,并映射为JVM认可的数据结构 2.链接: 验证:校验字节信息…
volatile: 让变量每次在使用的时候,都从主存中取. volatile具有synchronized关键字的“可见性”,但是没有synchronized关键字的“并发正确性”,也就是说不保证线程执行的有序性. 也就是说,volatile变量对于每次使用,线程都能得到当前volatile变量的最新值.但是volatile变量并不保证并发的正确性. 1. volatile的可见性: 案例: public class TestVolatile { private static boolean st…
Java 是一种强类型的语言,声明变量时必须指明数据类型.变量(variable)的值占据一定的内存空间.不同类型的变量占据不同的大小. Java中共有8种基本数据类型,包括4 种整型.2 种浮点型.1 种字符型.1 种布尔型,请见下表. Java基本数据类型 数据类型 说明 所占内存 举例 备注 byte 字节型 1 byte 3, 127   short 短整型 2 bytes 3, 32767   int 整型 4 bytes 3, 21474836   long 长整型 8 bytes…
本文内容: String类的概述 String类的使用步骤 String类的常用方法 本文目的: 能够使用String类的构造方法创建字符串对象 能够明确String类的构造方法创建对象,和直接赋值创建字符串对象的区别 能够使用文档查询String类的判断方法 能够使用文档查询String类的获取方法 能够使用文档查询String类的转化方法 一.String类 概述java.lang.String 类代表字符串.Java程序中所有的字符串文字(比如"abc")都可以被看成是实现此类的…
继承时类和类之间的关系,是一个很简单很直观的概念,与显示生活中的继承(例如儿子继承了父亲财产)类似. 继承可以理解为一个类从另一个类中获取方法和属性的过程.如果类B继承于类A,那么类B就拥有类A的属性和方法. 继承使用extends关键字. 例如我们定义了一个People: public class People { public String name;//姓名 public String age;//年龄 public String sex;//属性 public void say(){ S…
按照规划,从本篇开始我们开启『并发』系列内容的总结,从本篇的线程开始,到线程池,到几种并发集合源码的分析,我们一点点来,希望你也有耐心,因为并发这块知识是你职业生涯始终绕不过的坎,任何一个项目都或多或少的要涉及一些并发的处理. 这一系列文章只能算是对并发这块基本理论知识的一个总结与介绍,想要成为并发高手,必然是需要通过大规模并发访问的线上场景应用,或许以后我有了相关经验了,再给你们做一点分享吧. 基本的进程线程概念 进程和线程算是操作系统内两个很基本.很重要的概念了,进程是操作系统中进行保护和资…
上文讲解了Java线程的创建.启动以及停止,在讲到停止线程时说到了Java中断,Java中断是停止线程的一种协作机制,本文打算对Java中断机制进行详细讲解. 在网上搜索Java中断机制,发现两篇好文章,分别如下:Java 理论与实践: 处理 InterruptedException 以及 详细分析Java中断机制,推荐大家仔细阅读. 中断是一种协作机制                                                                        …
计算机 计算机(Computer)全称:电子计算机,是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件所组成,没有安装任何软件的计算机称为裸机.常见的形式有台式计算机.笔记本计算机.大型计算机等. 计算机的应用主要在以下几个方面: 科学计算科学计算:也称数值计算. 数据处理 自动控制 计算机辅助设计 人工智能 多媒体应用 计算机网络 计算机硬件 计算机硬件(Computer Hardware)是指计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称.这些物理…
Java中的类 1.类的概念 2.类中的封装 3.对象的三大特征 4.对象状态 5.类与类之间的关系 ------------------------------------------------------------ 1.类(class)是构造对象的模板或蓝图.由类构造(construct)对象的过程称为创建类的实例(instance). 个人理解: Java中存着很多很多的类: 有些是Java标准类库中提供的类 有些是用户自己编写的类 有些是第三方提供的类 .... 总之有很多的类,我们…
Spring简介 Spring框架由Rod Johnson开发,2004年发布了Spring框架的第一版.Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,留给开发者的仅仅是与特定应用相关的部分,从而大大提高了企业应用的开发效率. Spring总结起来优点如下 低侵入式设计,代码的污染极低 独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺 Spring的IoC容器降低了业务对象替换的复杂性,提高了组件…
学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作. IO流的分类 根据处理数据类型的不同分为:字符流和字节流 根据数据流向不同分为:输入流和输出流 Java流操作有关的类或接口: 字符流和字节流 字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象.本质其实就是基于字节流读取时,去查了指定的码表.字节…
什么是泛型?为什么要使用泛型? 泛型,即“参数化类型”.一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参.那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参). 泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型).也就是说在泛型使用过程中,操作的数据类型被指定为一个参数,这种参数类型可以用在类…
List和Set概述数组必须存放同一种元素.StringBuffer必须转换成字符串才能使用,如果想拿出单独的一个元素几乎不可能.数据有很多使用对象存,对象有很多,使用集合存. 集合容器因为内部的数据结构不同有多种具体容器,不断的向上抽取就形成了集合框架.框架的顶层就是Collection接口. List:列表.元素可以重复,有序(存入和取出有特定的顺序).List下有三个类比较常用:Vector.ArrayList.LinkedList. Vector类.Vector类自JDK1.0就出现了,…
基本数据类型的包装类 为什么需要包装类? Java并不是纯面向对象的语言.Java语言是一个面向对象的语言,但是Java的基本数据类型却不是面向对象的.但是我们在实际使用中经常需要将基本数据转化成对象,便于操作.比如:集合的操作中,这是,我们就需要将基本类型数据转化为对象. 包装类均位于java.lang包,使用时不需要导入,系统自动导入.Java中的8个包装类分别是:Byte,Short,Integer,Long,Float,Double,Character,Boolean它们的使用方式都是一…
java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题.现在总结一下,看看他们的不同与相同. 1.可变与不可变 String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的. private final char value[]; StringBuilder与StringBuffer都继承自AbstractStringBuilder类,在Abstra…
2. 定义获取省份的方法,创建一个Map集合,将上一步得到的映射集合赋值给它,使用Map集合的keySet()方法获取该集合中的所有键对象组成的Set 集合,即为省分集合,创建一个Object型一维数组,使用Set接口的toArray()方法将Set集合转换为数组,返回此数组作为省份选择下拉列表的参数. 3. 使用JComboBox类的setModel()方法为省份下拉列表添加省份信息,参数即为上一步中的获取省份方法. 4. 定义根据省份获取市/县的方法,创建一个Map集合,将步骤1中得到的映射…
* Returns an image stored in the file at the specified path * @param path String The path to the image file * @return Image The image stored in the file at the specified path */ public static Image getImage(String path) { return getImage("default&quo…
Java实现Map集合二级联动 Map集合可以保存键值映射关系,这非常适合本实例所需要的数据结构,所有省份信息可以保存为Map集合的键,而每个键可以保存对应的城市信息,本实例就是利用Map集合实现了省市级联选择框,当选择省份信息时,将改变城市下拉选择框对应的内容. 思路分析: 1. 创建全国(省,直辖市,自治区)映射集合,即LinkedHashMap对象,使用Map接口的put()方法向集合中添加指定的省与城市的映射关系,其中值为String型一维数组. 代码如下: CityMap.java i…