文档章节

JAVA从头回顾--java环境基础篇

j
 java_龙
发布于 2017/09/05 12:50
字数 1302
阅读 9
收藏 1
点赞 0
评论 0

概述

        前段时间忙于面试,在面试过程中,发现工作几年,有很多基础有些淡忘了,现在重新从基础开始回顾,JAVA从入门到放弃系列博文将会记录一下基于JDK1.6在工作中不常用而容易忘记,但是有必须要掌握的一些知识点, 本篇先从java环境相关的知识点写起

JDK和JRE关系

    开始学习JAVA开发时,首先就需要大家配置JAVA环境,这里就不赘余JAVA环境配置了,大家最开始认识JAVA都是从JDK安装学起

JDK

    JDK全称为Java Development Kit ,JAVA分为javaSE,javaEE,javaME,java分别为java SE提供了JDK,为javaEE提供了java EE SDK,为javaME提供了java ME SDK三个开发包

    平时开发搭建的是java SE的JDK环境java EE SDK中也包含了JDK,JDK是java开发的软件包,它包含了 Java系统类库、运行环境 和Java工具,JDK安装选项中有开发工具,演示程序及样例、源代码、公共JRE、java DB五部分,其中公共JRE和javaDB我们不需要安装。

  1.  开发工具:它包含了编译器、调试器和其它工具,安装在了JDK目录的bin目录的工具命令和lib目录下实际执行程序。
  2. 演示程序:它提供了JDK的演示代码,初学者可以学习这里面的演示代码,安装在JDK目录的demo目录下
  3. 样例:它提供了JDK的简单示例代码,初学者可以学习这里面的示例代码,安装在JDK目录的sample目录下
  4. 源代码:它就是java提供的核心类库源代码,安装在JDK目录下的src.zip
  5. 公共JRE:不建议安装,实际开发工作中,基本不需要在网页运行Applet,所以无需单独安装JRE,直接使用JDK目录下的JRE目录即可,
  6. javaDB:不建议安装,实际开发工作中,均使用Mysql,oracle等数据库,不会使用到javaDB,它对应的目录是JDK目录的DB目录

    oracle收购了sun公司,java对应的SDK均需要在oracle官网(www.oracle.com)下载,如下图点击相应链接进行下载

JRE

     JRE的全称是Java Runtime Environment,它包含了Java Runtime Environment和Java Plug-in两部分。

     Java Runtime Environment(JRE)顾名思义,它是java的运行环境,如果只是运行java程序,只需安装它即可,它 Java虚拟机(jvm)、Java核心类库和支持文件。

     Java Plug-in是允许Java Applet和JavaBean组件在Java Runtime Environment(JRE)的浏览器中运行

由于实际工作中在网页执行java程序的可能性微乎其微,所以Java Plug-in基本无用武之地了。

classpath

    有人说我在实际开发中用过classpath,我熟悉它,这就暴露了我们的年龄,擦泪继续,因为在JDK1.5以上版本不设置classpath也可以正常开发运行java程序。JDK1.4以下版本通常需要设置classpath。

    classpath配置作用是什么呢? JDK1.4以前,当我们使用java命令运行java程序时,jre要根据classpath路径去找需要运行的java程序,JDK1.5以上做了优化,jre会自动在运行java命令的目录去寻找对应的类,所以无需配置此选项。

    在JDK1.5以上版本不建议配置它,当配置了classpath,jre还是会根据classpath配置去寻找运行程序,其中就有配错的风险,配错后,就容易出各种问题了。如果要配置它,一点要在前面加上英文符号的点, 即在当前目录搜索java类,否则在运行java程序时会报 NoClassDefFoundError。

java垃圾回收机制

    java垃圾自动回收机制,解决了程序员的一大头疼问题。

    在C/C++编程语言中,需要程序员自己控制内存回收,容易造成以下问题

  1.     忘记及时回收造成内存泄漏
  2.    错误回收核心类库,导致程序异常甚至崩溃

    java编程语言,则由JVM自行回收无用对象,不同的JVM垃圾回收机制不同。通常它们垃圾回收有以下特点

  1.     垃圾回收是回收无用对象,也就是JVM堆内存的空间,它只回收内存资源,所以 IO资源和数据库连接资源等其他非内存资源需要程序员手动回收
  2.    垃圾回收一般是在内存资源紧张或者CPU空闲时启动回收,回收时间不定,程序员无法控制,只能告知JVM某些对象可以回收了。

下一篇将会回顾面向对象相关的知识点,欢迎大神提出异议拍砖共勉。

 

 

© 著作权归作者所有

共有 人打赏支持
j
粉丝 53
博文 37
码字总数 119646
作品 0
成都
程序员
Java程序员必读书单,家族又添新成员

点击关注异步图书,置顶公众号 每天与你分享IT好书 技术干货 职场知识 参与文末话题讨论,每日赠送异步图书。 ——异步小编 有些革命出其不意地吸引了全世界的眼球。Twitter、Linux操作系统和...

异步社区 ⋅ 05/09 ⋅ 0

《成神之路-基础篇》JVM——JVM内存结构(已完结)

Java内存模型,Java内存管理,Java堆和栈,垃圾回收 本文是《成神之路系列文章》的第一篇,主要是关于JVM的一些介绍。 持续更新中 参考文章: Java虚拟机的内存组成以及堆内存介绍 Java堆和栈...

⋅ 05/05 ⋅ 0

【目录导航】JAVA零基础进阶之路

【JAVA零基础入门系列】(已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 Day4 变量与常量 Day5 Java中的运算符 Day6 Java字符串 Day7 Java输入与输出...

MFrank ⋅ 06/21 ⋅ 0

编写你的第一个HelloWorld

写在前面的话 因为Java基础是以后学习框架的基石,因此开个文集首先写写Java基础,本来想直奔基础知识的介绍,但是为了保证知识的完整性,因此从Java安装和运行“hello world”开始(虽然百度...

nanaFighting ⋅ 06/15 ⋅ 0

安卓开发必备知识体系:Java篇

大家好我是张拭心,自从各位朋友帮点广X开始,我发现我每天更有奔头了,走起路来也更有劲了,说啥也得更新的勤快一点。不过放心,我一定推送有价值的内容给大家,还请朋友们照旧动动手指点点...

d29h1jqy3akvx ⋅ 05/10 ⋅ 0

你所需要的java提升篇大总结

java基础篇深入解析大总结 java基础(一) 深入解析基本类型 java基础(二) 自增自减与贪心规则 java基础(三) 加强型for循环与Iterator java基础(四) java运算顺序的深入解析 java基础(五) Str...

sihailoveyan ⋅ 04/25 ⋅ 0

《成神之路-基础篇》JVM——JVM参数及调优(已完结)

Java内存模型,Java内存管理,Java堆和栈,垃圾回收 本文是[《成神之路系列文章》][1]的第一篇,主要是关于JVM的一些介绍。 持续更新中 JVM参数及调优 JVM实用参数系列 成为Java GC专家(5)...

⋅ 05/05 ⋅ 0

《成神之路-基础篇》JVM——垃圾回收(已完结)

Java内存模型,Java内存管理,Java堆和栈,垃圾回收 本文是[《成神之路系列文章》][1]的第一篇,主要是关于JVM的一些介绍。 持续更新中 Java之美[从菜鸟到高手演变]之JVM内存管理及垃圾回收 ...

⋅ 05/05 ⋅ 0

Java编程基础知识点和技术点归纳

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互...

Java小辰 ⋅ 05/23 ⋅ 0

Java基础|Java特性与HelloWorld运行流程

【Java基础】 Java语言特点:(着重了解两个)开源、跨平台。 跨平台如何实现:通过JVM实现,JVM充当Java和不同OS之间的翻译器,不同OS对应不同JVM。 Java语言的平台:JavaSE、JavaME(Androi...

darlingwood2013 ⋅ 05/29 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

关于线程的创建

转自自己的笔记: http://note.youdao.com/noteshare?id=87584d4874acdeaf4aa027bdc9cb7324&sub=B49E8956E145476191C3FD1E4AB40DFA 1.创建线程的方法 Java使用Thread类代表线程,所有的线程对......

MarinJ_Shao ⋅ 31分钟前 ⋅ 0

工厂模式学习

1. 参考资料 工厂模式-伯乐在线 三种工厂-思否 深入理解工厂模式 2. 知识点理解 2.1 java三种工厂 简单工厂 工厂模式 抽象工厂 2.2 异同点 逐级复杂 简单工厂通过构造时传入的标识来生产产品...

liuyan_lc ⋅ 43分钟前 ⋅ 0

Java NIO

1.目录 Java IO的历史 Java NIO之Channel Java NIO之Buffer Java NIO之Selector Java NIO之文件处理 Java NIO之Charset Java 可扩展IO 2.简介 “IO的历史”讲述了Java IO API从开始到现在的发...

士别三日 ⋅ 47分钟前 ⋅ 0

[Err] ORA-24344: success with compilation error

从txt文本复制出创建function的脚本,直接执行,然后报错:[Err] ORA-24344: success with compilation error。 突然发现脚本的关键字,居然不是高亮显示。 然后我把脚本前面的空格去掉,执行...

wenzhizhon ⋅ 56分钟前 ⋅ 0

Spring Security授权过程

前言 本文是接上一章Spring Security认证过程进一步分析Spring Security用户名密码登录授权是如何实现得; 类图 调试过程 使用debug方式启动https://github.com/longfeizheng/logback该项目,...

hutaishi ⋅ 今天 ⋅ 0

HAProxy基于KeepAlived实现Web高可用及动静分离

前言 软件负载均衡一般通过两种方式来实现: 基于操作系统的软负载实现 基于第三方应用的软负载实现 LVS是基于Linux操作系统实现的一种软负载,而HAProxy则是基于第三方应用实现的软负载。 ...

寰宇01 ⋅ 今天 ⋅ 0

微软自研处理器的小动作:已经开始移植其他平台的工具链

微软将 Windows 10 、Linux 以及工具链如 C/C++ 和 .NET Core 运行时库、Visual C++ 2017 命令行工具、RyuJIT 编辑器等移植到其自主研发的处理器架构 E2。微软还移植了广泛使用的 LLVM C/C++...

linux-tao ⋅ 今天 ⋅ 0

JS常见this指代总结

1. dom0级事件处理程序的回调函数内 2. dom2级事件处理程序的回调函数内 3. setTimeout 4. setInterval var test = { testfn: function () { console.log(this); }};...

静默行 ⋅ 今天 ⋅ 0

泛型的基本原理

泛型是 JDK1.5 的一个新特性,其实就是一个『语法糖』,本质上就是编译器为了提供更好的可读性而提供的一种小「手段」,虚拟机层面是不存在所谓『泛型』的概念的。 在我看来,『泛型』的存在...

沧海一刀 ⋅ 今天 ⋅ 0

学好Java只需要做到这8点,年薪30W很简单!文末福利赠送!

前言: 大道至简,所以扎实有用的方法,其实都是很简单的,难在踏踏实实的执行过程。今天为大家介绍的就是Java学习的8个看起来非常简单的方法,快学起来吧。 为什么要学习Java? Java是目前最...

java高级架构牛人 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部