JavaSE学习总结——Java基础

JavaSE学习总结 前言:在学习Java之前,我认真的学完了C语言。现在花了两个月,学习javaSe,才深刻体会到C语言的重要性,C语言就是各个语言基础,现在觉得他非常重要,学好C,你去接触一门新语言,你会觉得很轻松。作者为初学者,说的不对的地方,欢迎指正。 学习目录: 目录 1.初识java 2.数据类型与变量 3.运算符 4.程序的逻辑控制 5.方法的使用 6.数组的定义与使用 7.类和对象 8.继承和多态 9.抽象类和接口 10.认识String类 11.认识异常 我从这11个章节吧,差 阅读详情

一、Java是什么

Java 是由 Sun Microsystems 在 1995 年首先发布的编程语言和计算平台。Java 是一项用于开发应用程序的技术,可以让 Web 变得更有意思和更实用。有许多应用程序和 Web 站点只有在安装 Java 后才能正常工作,而且这样的应用程序和 Web 站点日益增多。Java 快速、安全、可靠。从笔记本电脑到数据中心,从游戏控制台到科学超级计算机,从手机到互联网,Java 无处不在!

java是当前最流行,应用最广泛的编程语言。

1.2、Java相关网站

Oracle英文:https://www.oracle.com/index.html

Oracle中文:http://www.oracle.com/cn/index.html

Java中文:https://www.java.com/zh_CN/

1.3、发展历史

20世纪90年代,硬件领域出现了单片式计算机系统,根据嵌入式软件的要求,对C++进行了改造,去除了留在C++的一些不太实用及影响安全的成分,并结合嵌入式系统的实时性要求,开发了一种称为Oak的面向对象语言。

1995年,并将Oak更名为Java。互联网的蓬勃发展给了Oak机会,Oak也是一种精简的语言,程序非常小,适合在网络上传输。

1996年1月,Sun公司发布了Java的第一个开发工具包(JDK 1.0),这是Java发展历程中的重要里程碑,标志着Java成为一种独立的开发工具。9月,约8.3万个网页应用了Java技术来制作。10月,Sun公司发布了Java平台的第一个即时(JIT)编译器。

1997年2月,JDK 1.1面世,在随后的3周时间里,达到了22万次的下载量。

1999年6月,Sun公司发布了第二代Java平台(简称为Java2)。

1999年4月27日,HotSpot虚拟机发布。HotSpot虚拟机发布时是作为JDK 1.2的附加程序提供的,后来它成为了JDK 1.3及之后所有版本的Sun JDK的默认虚拟机。
2000年5月,JDK1.3、JDK1.4和J2SE1.3相继发布,几周后其获得了Apple公司Mac OS X的工业标准的支持。

2001年9月24日,J2EE1.3发布。

2002年2月26日,J2SE1.4发布。

2004年9月30日,J2SE1.5发布,成为Java语言发展史上的又一里程碑。

2005年6月,在Java One大会上,Sun公司发布了Java SE 6。

2006年11月13日,Java技术的发明者Sun公司宣布,将Java技术作为免费软件对外发布。

从2007年3月起,全世界所有的开发人员均可对Java源代码进行修改

2009年,甲骨文公司宣布收购Sun。

2010年,Java编程语言的共同创始人之一詹姆斯·高斯林从Oracle公司辞职。

2011年,Java7正式发布。

2014年,甲骨文公司发布了Java8正式版。

1.4、Java组成

JavaME(Java Micro Edition,Java2平台的微型版),应用于移动、无线及有限资源的环境

JavaSE(Java Standard Edition,Java 2平台的标准版),应用于桌面环境,它是其它Java平台的基础 C/S

JavaEE(Java Enterprise Edition,Java 2平台的企业版),应用于基于Java的应用服务器 B/S

JavaSE平台:

二、Java能做什么

Java可以编写桌面应用程序(C/S Client/Server)、Web应用程序(B/S Browser/Server)、分布式系统和嵌入式系统应用程序等。Java最主要的作用是为各种应用提供强大的后台服务。

2.1、开发面向Internet的B/S结构应用程序

淘宝网、阿里巴巴、易趣网、中国移动网上营业厅

2.2、开发面向移动端的手机应用程序 

Android,各种Android下的App

2.3、开发面向桌面的C/S应用程序 

银行软件、商场结算软件、QQ 、飞信


顺便在这里说一下,我目前是在职Java开发,如果在学习Java的过程当中有遇见任何关于学习方法,学习路线等方面的问题,你都可以点击 加入 Java技术讨论组,这里面聚集了很多正在学习Java技术的初学者,也有不少从事Java开发岗的大佬,与Java相关的问题都可以随时发出来讨论。文件夹整理了最新的Java基础精讲视频教程以及我做Java技术这段时间整理的一些学习手册。

三、Java语言的特点

3.1、简单

Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。 Java略去了运算符重载、多重继承等模糊的概念,并且通过实现自动垃圾收集大大简化了程序设计者的内存管理工作。

3.2、纯面向对象

Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏 ;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。

3.3、分布式

Java是面向网络的语言。通过它提供的类库可以处理 TCP/IP协议,用户可以通过 URL地址在网络上很方便地访问其它对象。

3.4、健壮

Java在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。它提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生的错误。通过集成的面向对象的例外处理机制,在编译时,Java提示出可能出现但未被处理的例外。另外,Java在编译时还可捕获类型声明中的许多常见错误,防止动态运行时出现不匹配问题。

3.5、安全性

用于网络、分布环境下的 Java必须要防止非法的入侵。 Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用“特洛伊 ”木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。Linux

3.6、体系结构中立

Java解释器生成与体系结构无关的字节码指令,只要安装了 Java运行时系统,Java程序就可在任意的处理器上运行。这些字节码指令对应于 Java虚拟机中的表示,Java解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。

3.7、可移植性

与平台无关的特性使 Java程序可以方便地被移植到网络上的不同机器。同时,Java的类库中也实现了与不同平台的接口,使这些类库可以移植。另外,Java编译器是由 Java语言实现的,Java运行时系统由标准C实现,这使得Java 系统本身也具有可移植性。

3.8、解释执行

Java解释器直接对Java的字节码进行解释执行。字节码本身携带了许多编译时信息,使得连接过程更加简单。

3.9、高性能

和其它解释执行的语言(例如BASIC)不同,Java字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码,从而得到较高的性能。

3.10、多线程

多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。

3.11、动态性

Java的设计使它适合于一个不断发展的环境。在类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。另外, Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性。

3.12、开源

3.13、免费

四、第一个Java程序

JDK (Java Development Kit)是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境,JAVA工具和JAVA基础的类库。

JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。

JRE为Java Runtime Environment的简称,Java Runtime Environment(包括Java Plug-in)是Sun的产品,包括两部分:Java Runtime Environment和Java Plug-in。JavaRuntimeEnvironment(JRE)是可以在其上运行、测试和传输应用程序的Java平台。它包括Java虚拟机(jvm)、Java核心类库和支持文件。它不包含开发工具(JDK)--编译器、调试器和其它工具。JRE需要辅助软件--Java Plug-in--以便在浏览器中运行applet。

JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。平台的不同主要体现硬件(x64,x32,mac,arm)与软件(windows,linux,unix,ios,android)

4.1、安装JDK并安装

1)、下载JDK

地址:Oracle 甲骨文中国 | 集成的云应用和平台服务

Unauthorized Request

开始->运行->cmd->java -version 如果可以看到如下界面,说明已安装成功

顺便在这里说一下,我目前是在职Java开发,如果在学习Java的过程当中有遇见任何关于学习方法,学习路线等方面的问题,你都可以点击 加入 Java技术讨论组,这里面聚集了很多正在学习Java技术的初学者,也有不少从事Java开发岗的大佬,与Java相关的问题都可以随时发出来讨论。文件夹整理了最新的Java基础精讲视频教程以及我做Java技术这段时间整理的一些学习手册。

java -version用于查看java版本

4.2、配置环境变量

如果使用安装包,默认会添加环境变量,如果使用的是绿色版本的JDK则需要手动配置环境变量

4.2.1、手动添加

右键点击我的电脑->属性->高级->环境变量,修改下面系统变量那个框里的值就行了。

a)、添加JAVA_HOME变量

JAVA_HOME是一个变量,一次定义可以反复引用,引用办法%JAVA_HOME%

b)、在Path中增加内容

%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

注意以分号隔开

c)、增加CLASSPATH

系统变量->新建CLASSPATH变量

变量值填写.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一个点)

4.2.2、批处理添加一 

新建一个jdk.bat批处理文件,注意路径不要空格与中文

@echo off

rem  TODO:设置java环境变量

rem 设置java的安装路径,可方便切换不同的版本
set javaPath=E:\java\program\jdk1.7.0_25\

rem 如果有的话,先删除JAVA_HOME
wmic ENVIRONMENT where "name='JAVA_HOME'" delete

rem 如果有的话,先删除ClASS_PATH 
wmic ENVIRONMENT where "name='CLASS_PATH'" delete

rem 创建JAVA_HOME
wmic ENVIRONMENT create name="JAVA_HOME",username="",VariableValue="%javaPath%"

rem 创建CLASS_PATH
wmic ENVIRONMENT create name="CLASS_PATH",username="",VariableValue=".;%%JAVA_HOME%%\lib\tools.jar;%%JAVA_HOME%%\lib\dt.jar;"

rem 在环境变量path中,剔除掉变量java_home中的字符,回显剩下的字符串
call set xx=%%Path:%JAVA_HOME%=%%

rem 将返回显的字符重新赋值到path中
wmic ENVIRONMENT where "name='Path' and username=''" set VariableValue=%xx%

pause

 4.2.3、批处理添加二 

echo. 运行本文件前请将本放置在java_home目录下,如 C:\Program Files\Java\jdk1.7.0

@reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JAVA_HOME /t reg_sz /d "%~dp0
@reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v CLASSPATH /t reg_sz /d ".;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar;" /f
@reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v path /t reg_expand_sz /d "%path%;%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin" /f
pause

*运行本文件前请将本放置在java_home目录下,如 C:\Program Files\Java\jdk1.7.0

4.3、编辑源代码

4.3.1、在DOS下创建一个源代码文件

4.3.2、直接在windows下创建一个源代码文件

在目标位置创建一个文本文件,重命令为Hello.java

//定义一个名为Hello的类
public class Hello{
  //定义主方法,程序入口
  public static void main(String[] args){
     //向控制台输出字符信息并换行
     System.out.println("Hello Java");
  }
}

 

注意:

a)、public类名要与文件名一致

b)、严格区分大小写

c)、一行语句结束需要以分号界定

4.4、编译运行

 

命名用javac 文件名可以编译源代码为字节码,运行编译好的字节码:

4.5、运行机制解析

java源文件的后缀名为:.java,公有的类名与文件名相同

编译后的后缀名为:.class,也称为字节码文件

五、使用IDE开发Java程序

java集成开发环境(IDE)有许多如:Eclipse、MyEclipse、IDEA、NetBeans、Jdeveloper等

Eclipse:当前使用人数最多,开源,免费,以前是IBM的后来捐给了Apache

MyEclipse:Eclipse的演化版本,功能比Eclipse强大,但收费

IDEA:IntelliJ IDEA比Eclipse的好评多,收费,Android开发现在使用该IDE

Eclipse下载地址:Enabling Open Innovation & Collaboration | The Eclipse Foundation

方法二:(推荐)

打开:Eclipse Packages | The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 350 open source projects...

点击64位后:

可以选择国内的镜像(Mirror)

直接将压缩包放到一个没有中文,没有空格,没有特殊字符的目标下

打开eclipse

最好发送快捷方式到桌面,避免每次打开文件夹

微生物组数据分析实战:从OTU/ASV过滤到相对丰度转换的标准化流程 本文详细介绍了微生物组数据分析中从原始OTU/ASV表格到标准化相对丰度表格的完整预处理流程。通过基于绝对丰度和出现频率的过滤步骤有效剔除测序噪音与污染,再通过相对丰度转换解决样本间测序深度差异问题,为后续的多样性分析和差异比较奠定可靠基础。文章提供了清晰的R语言实战代码与参数设置思路。 阅读详情

相关推荐

游戏封包抓取实战:雷电模拟器+ProxyDroid+查尔斯3.93+WPE全流程解析

本文详细解析了使用雷电模拟器、ProxyDroid、查尔斯3.93和WPE进行游戏封包抓取的全流程实战。通过环境搭建、代理配置与工具协同,手把手教你抓取HTTP/HTTPS及原始Socket数据,涵盖从流量转向、证书安装到数据分析和常见问题排查,是学习游戏网络协议分析与安全测试的实用指南。

u8v9w0x1y的博客 380

JAVA基础JAVA SE学习笔记(一)JAVA学习路线、行业了解、开发环境JDK17安装配置 和 JDK8同时配置

java基础JAVA进阶学习路线及行业了解,开发环境JDK17安装配置 和 JDK8同时配置

时时师师的博客 1767

javaSE从入门到精通的二十万字总结(一)

目录前言1. 面向对象1.1 final关键字1.2 抽象类2. 数组2.1 一维数组的声明和使用3. 常用类3.1 String 前言 在看这篇文章之前先预习ava基础 可查看我之前写的文章java基础从入门到精通(全) 1. 面向对象 1.1 final关键字 final 修饰的类不能被继承 final 修饰的方法不能被覆盖 final 修饰的变量不能被修改 构造方法不能被 final 修饰 代码示列:修饰的类、方法、变量 变量在没有赋值的时候可以定义可以声明 但如果输出变量就必须给予定义以及赋值

码农研究僧的博客 1万+

【01】JAVASE-Java基础入门【从零开始学JAVA

从零开始学Java系列课程

波波烤鸭的博客 1369

JavaSE基础篇——超详细,Java入门,这一篇就够了

​ 注释是写在程序中对代码进行解释说明的文字,方便自己和其他人查看,以便解释程序。​ 变量就是用来存储一个数据的内存区域(可以理解为盒子),里面存储的数据可以变化。数据类型 变量名 = 初始值;数据类型:强制限制盒子存储数据的形式。例如:int(整型)、double(小数类型)变量名:取名字,首字母小写,有意义初始值:存储的初始数据变量要先声明在使用变量声明后,不能存储其他类型的数据变量的有效范围是从定义到“}”截止,且在同一个范围内不能定义2个同名的变量。

wocao_666的博客 2万+

java学习笔记)JavaSE基础

Java技术体系平台 JavaSE :标准版 面向桌面型应用(Windows下的应用程序)的Java平台。提供完整的Java核心API,也叫J2SE. JavaEE:企业版 开发企业环境下的应用程序。该技术体系中包含的技术 Servlet Jsp。主要针对Web应用程序开发。也叫J2EE. JavaME:小型版 支持Java程序运行在移动终端(手机、PDA:掌上电脑 条码扫描器、RFID读写器、P...

陌然白(小白)的博客 4048

java se需要多久_javaSE基础部分的学习需要多久完成啊?

其实学java一般要多久?因人而异,有些人资质好,头脑聪明几个月就能学会,有些人天生愚钝,理解能力差,不过勤能补拙,只是时间相对长点 要坚持住。不过java相对于C,C++java而言,java无疑简单了很多,不需要指针,不需要销毁对象,使得对java初学者来讲更容易入门,挫折感也少。很多人自学java,因为抓不到学习java的重点,找不到学习java的方向。往往花费大量的时间和精力,而效果却不大...

weixin_35779506的博客 2315

【狂神说JavaJava基础学习笔记-JavaSE总结

【狂神说JavaJava基础学习笔记-JavaSE总结

ঞ黎明の微笑的博客 310

【系统学习】【Java基础】0-JavaSE笔记索引

什么是IOIO分类各IO的究极父类类1-1字节流、字符流类1-2字节缓冲流、字符缓冲流类1-3字节打印流、字符打印流类2转换流类3-1序列化流、反序列化流类3-2压缩流、解压缩流。

HMTeen 160

Java学习JavaSE-Java语言基础

第一章:初识计算机和Java语言 一、计算机的体系结构 (一)计算机的基本概念 计算机(Computer)俗称电脑,是现代一种用于高级计算,使用非常广泛的设备,主要由计算机硬件和计算机软件两个部分组成。 计算机硬件是客观存在的各种计算机相关设备(看得见摸得到),而计算机的软件是用于控制各种硬件设备完成各种功能(看得见摸不到)。 (二)常见的主要硬件 1)中央处理器(CPU) 是计算机中最核心的部件,类似于人的大脑。 是一台计算机运算核心和控制核心,所有运算都由CPU完成。 其功能主要是解释计算机指令以及处

bricklayer_hzc的博客 1384

动力节点『lol版』Java学习路线图(二)JavaSE基础阶段

先上干货,再讲故事。召唤师,准备好你的键盘了吗?开战吧! 二、北地禁魔 Java基础需要掌握的技术 背景故事: 世界被同化之后,符文之地有些地区发生了变化。首当其中的便是德邦与北地。两地边界渐融,在龙禽栖息处、厄文戴尔与阿瓦罗萨石像矗立之地最先融合,现如今龙禽骑手围绕着阿瓦罗萨雕像。盖伦和艾希作为最先触碰到Java之道的两位存在正在为所有来到这里的英雄和召唤师们讲解Java基础。旁边布隆大叔充当守卫,纳尔把波比的锤子扔进了努努的雪球里惹来波比直追。泰米达尔和拉克丝则瞅着盖伦和艾希.

Java_Leo12的博客 414

javaSE今天开始学习java基础

一年前就打算学习java,iOS手机app端事情比较多,后来又出现了swift3.0,就先把swift3.0学会,并且写了一个项目.这段时间轻松下来了..就开始要学习javaSE了.打算用一个月的时间学会SE

loveiosolovehua的博客 436

Java全栈】Java全栈学习路线及项目全资料总结【JavaSE+Web基础+大前端进阶+SSM+微服务+Linux+JavaEE】

目录一,程序应用二,面向对象程序设计基础 一,程序应用 二,面向对象程序设计基础 面向对象程序设计基础(一)学生信息管理 面向对象程序设计基础(二)矩形

胡毛毛的博客 5530

Java学习之路(二)JavaSE基础

Java基础语法 1.注释、标识符、关键字 (1)书写注释是一个非常好的习惯 平时写代码一定要注意规范 单行注释 多行注释 文档注释 public class HelloWorld { public static void main(String[] args) { //单行注释// // 输出一个Hello World!! System.out.println(“Hello Wor...

qq_39088129的博客 343

JAVA学习JAVASE基础

本文摘要:本文系统介绍了Java集合框架、IO流、多线程、网络编程、反射、注解和动态代理等核心知识点。主要内容包括:1. 集合框架(List/Set/Map)的实现原理、性能对比和遍历方式;2. IO流的分类、使用场景和资源释放;3. 多线程的创建方式、线程安全和线程池;4. UDP/TCP网络通信的实现;5. 反射机制的应用;6. 自定义注解和解析;7. 动态代理的实现。文章通过代码示例详细展示了各技术的实际应用,并提供了性能优化建议,适合作为Java高级特性的参考手册。

2301_81288466的博客 607

java学习之路之javaSE基础1

<h2>java学习之路之javaSE基础1</h2> <div> ###01.01_计算机基础知识(计算机概述)(了解)* A:什么是计算机?计算机在生活中的应用举例 * 计算机(Computer)全称:电子计算机,俗称电脑。是一种能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件和软件所组成,没有安装任何软件的计算机称为裸机。...

weixin_30357231的博客 175

《从零开始的java从入门到入土的学习生活——JavaSE篇》Chapter10——Java基础加强篇学习记录——net网络编程

如下图: 如下图:总结:无论是CS架构,还是BS架构的软件都必须依赖网络编程!,java.net.*包下提供了网络编程的解决方案! IP(Internet Protocol):全称”互联网协议地址”,是分配给上网设备的唯一标识。目前,被广泛采用的IP地址形式有两种:IPV4、IPv6。 IPv4是Internet Protocol version 4的缩写,它使用32位地址,通常以点分十进制表示。

2401_88076149的博客 639

JavaSE 基础学习之一 —— Java 的简介

一. Java 的简介 1. 安装 JDK JDK 是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的 java 应用程序。JDK 是整个 java 开发的核心,它包含了 JAVA 的运行环境( JVM + Java 系统类库)和 JAVA 工具。——摘自百度百科 在 Sun 公司的官网上选择适应的 Java 版本,笔者写文章时,Java 已经出到了 Java...

琦小虾的代码世界 508

Java学习笔记】JavaSE基础全程笔记

Java学习笔记】JavaSE基础全程笔记

weixin_52144018的博客 948

java学习之路之javaSE基础2

java学习之路之javaSE基础2 所有的代码都是引用他人写的。 1、逻辑运算符 1 //&,|,^,! 2 //int x = 10; 3 //5 < x < 15 4 //x > 5 & x < 15 5 //逻辑与 & 并且and 遇fa...

weixin_30485799的博客 79

Multivariate Statistics

MULTIVARIATE STATISTICS:CONCEPTS, MODELS, AND APPLICATIONSWWW Version 1.0First Published July, 1997Revised March, 1998David W. StockburgerMissouri State University@Copyright 1996 by David W. Stockburger

上一篇: 分享开发前辈多年总结——Java程序员的学习心得。
下一篇: Java攻城狮必备书单整理
youngpeople_
博客等级 码龄5年 16粉丝 90原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值