# [Java学习]1.Java基础【学习笔记】

[Java学习]1.Java基础【学习笔记】

书籍 《Java核心技术》、《Java核心技术精讲》




2018-09-18

1.Java基础

  • 三个分支
  • Java SE:Java语言核心的类。如数据库连接、接口定义、数据结构、输入/输出、网络编程等。
  • Java EE:包含Java SE ,还包含用于企业级应用开发的类,比如EJB、Servlet、JSP、XML、事务控制是现在Java应用的主要方向。
  • Java ME:用于嵌入式开发.
  • Java 3个分支的关系


  • J2EE这样的称呼已经在2005年后抛弃了,而是Java EE
  • Java EE是目前Java应用的主要方向
  • Java SE是整个技术架构的核心


  • Java的重点一直放在嵌入式开发上,到了Android时代,真正实现了Java的嵌入式开发设想。
语言特性
  1. 简洁有效,省略了C++中难以理解、容易混淆的特性
  2. 可移植性
  3. 面向对象
  4. 解释型
  5. 适合分布式计算:编写Socket通用程序简单,十分适用于CGI脚本开发,JSP、Servlet等手段来构建更丰富的网页。
  6. 拥有较好的性能:(1)源程序编写完成后,先使用伪编译器进行伪编译,将其转换为中间码(字节码)(2)提供了准实时(JIT)编译器,需要更快运行速度时,可以将字节码转换成机器码,然后缓冲下来,速度就会更快。
  7. 健壮、防患于未然:伪编译时,做了早期潜在问题的检查,并且在运行时又做了一些响应的检查
  8. 具有多线程处理能力:多线程处理性能超群,在Java语言中进行多线程处理很简单。
  9. 具有较高的安全性
  10. 是一种动态语言:体现在两方面:(1)可以简单、直观地查询运行时的信息(2)可以将新代码加入到一个正在运行的程序中去。
  11. 中性结构:Java编译器生成的是一种中性的对象文件格式。,伪编译后生成的字节码与计算机体系统无关。

代码处理过程


JVM基本原理

  • .java源文件——编译器伪编译成.class文件——JVM虚拟机上运行


  • 因此实际运行程序的不是计算机,而是JVM,这种方式显然不如直接在操作系统上运行要来得快。
  • JVM相当于“翻译”,不同的机器有不同的JVM,可以“翻译”成不同的语言
  • 联想11个特性中的 可移植性、结构中性、具有较高安全性、具有较好性能的4个特性
JRE与JDK
  • JRE,Java Runtime Environment,包括Java虚拟机、Java核心类库和支持文件,不包括开发工具(编译器、调试器和其他工具)。
    -JDK,JRE+编译器、调试器和其他工具


Hello World程序

  • 文件后缀必须是*.java(源文件)

  • Java

  • JRE和JDK版本需要一致,否则会出现运行错误

Hello World程序

  • Java区分大小写,是小写main而不是Main
    类的定义
  • 类是Java中的基本组成元素
  • 所有的Java程序一定要被类所管理
  • 类的定义有两种:
    -public class:类名必须与文件名保持一致,否则程序将无法编译
  • class:类名可以与文件名称不一致但是生成的是class定义的名称
  • 在一个.java程序中可以同时存在多个class的定义,编译之后会分为不同的.class文件
    -类的命名规范:每一个单词首字母大写。

主方法:

  • 程序的起点,所有的程序代码都有此顺序执行,在Java中主方法有固定格式:
    public static void main(String args[]){}
  • 主方法所在的类为主类

Path

  • Windows系统不区分大小写,设置Path和PATH没有区别,但是Linux系统是区分大小写的
  • Path路径是操作系统查找操作指令的路径依赖
  • 用户变量和环境变量*的区别:用户变量只针对当前用户,环境变量针对整个系统。系统变量排在环境变量之前,Path路径的先执行。

CLASSPATH

  • 想要解决在不同路径下访问指定目录类的问题,可以通过配置CLASSPATH来解决。
  • JVM运行时需要通过CLASSPATH加载所需要的类,默认情况下CLASSPATH指向当前目录。


  • 是用来定义类的路径的。作用:使用“java Java类名”时候,搜索Java类的路径。
  • CLASSPATH中的". "是指当前路径
  • 只有早期版本的JDK,才需要设置CLASSPATH路径(1.4以前),之后的就不需要了,但是自行设置也可以。一旦设置了CLASSPATH,就会按该环境变量指定的路径来搜索Java类
  • 可以用 -classpath来指定临时路径

垃圾回收机制

  • Java:自动回收,垃圾回收(GC)。JRE提供一个后台线程来进行检测和控制。
  • JVM的超级线程会自动释放该内存去。
  • 垃圾回收能自动释放内存空间,减轻编程的负担。这使得Java虚拟机具有两个显著的优点:
  • 垃圾回收机制可以很好地提高编程效率。
  • 垃圾回收机制保护程序的完整性,垃圾回收是Java语言安全性策略的一个重要部分。
  • 垃圾回收要做的两件事:1.发现无用的对象;2.回收被无用对象占用的内存空间,使该空间可被程序再次使用。
  • 但是不可避免的造成了一定的系统负担


本章小结

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,598评论 18 139
  • 精心收集整理的教程笔记 第01天 Java基础入门 第1章计算机基础 1.1计算机 计算机(computer)俗称...
    Java帮帮阅读 5,945评论 1 109
  • 好了,现在可以从新开始了。 有些事,我可以做到,但我错失了时机。现在我懂了,我一定会努力的。
    达凼阅读 115评论 0 0
  • 长久地停滞在闹市的喧嚣中,呼吸着沥青路面腾起的尘埃,咀嚼着略带汽油风味的地方特色,我还就这样活过了人生的前二十年...
    宛阳蝶祎阅读 407评论 0 1
  • 王导的片子不敢评,也没法评,他擅用镜头,镜头加独白,要的是意境,而不是故事。今儿想说一说一代宗师,也许是因为突然有...
    Jolie_K阅读 562评论 0 0