为什么80%的码农都做不了架构师?>>>   

Java语言是SUN(Stanford University Network,斯坦福大学网络公司)公司1995年推出的一门高级编程语言,起初主要应用在小型消费电子产品上,后来随着互联网的兴起,Java语言迅速崛起(Java applet 可以在浏览器中运行),成为大型互联网项目的首选语言。

2009年04月20日,美国甲骨文公司74亿美元收购Sun,取得java的版权。

Java 是面向对象的语言,没有面向对象编程经验的读者需要花费不少时间来了解面向对象的概念、语法和编程思想,有不能理解的地方请大家一定要坚持,多花时间编写代码自然会豁然开朗,从面向过程到面相对象需要一个适应期。

Java 不只是一种编程语言,它是一个完整的平台,拥有庞大的库,将诸如图形绘制、Socket连接、数据库存取等复杂操作进行了最大程度的简化。

Java 是跨平台的,一次编译,到处运行,在 Windows 上编写的代码可以不加修改的移植到 Linux 上,反之也可以。

在世界编程语言排行榜中,Java几乎占据着第二名的位置,仅次于C语言。

Java是典型的面向对象的语言,晚于C++发布,部分语法和思想也参考了C++,请见下表:

尽管人们发现C++的语法太复杂,有很多冗余,但是 Java 在设计的时候还是尽可能的接近C++,降低人们的学习成本。Java 语法是 C++ 语法的一个“纯净”版,没有头文件、指针运算(也没有指针语法)、结构、联合、运算符重载、虚基类等。有C++基础的读者,可以轻易地切换到Java。

Java 的应用非常广泛:

  • Web开发:Java非常适合开发大型的企业网站,例如人人网、去哪儿网的后台都是Java。
  • Android开发:Android手机上APP几乎都是用Java开发的,例如QQ、微信、UC浏览器。
  • 客户端开发:Java也可以用来开发电脑上的软件,例如Elicpse、Netbeans。
  • 嵌入式应用:嵌入式应用就是在小型电子产品中运行的软件,例如老式手机上的软件、MP3上的软件。

但是,可以负责任的告诉你,Java 目前的主要应用方向是Web开发和Android开发,大部分IT公司招聘的Java程序员也是从事这两方面的工作。

Java 的GUI库称不上出色,很多用户不习惯它的界面;Java编写的客户端资源消耗也比较多;更重要的是,Java程序必须借助虚拟机才能运行,操作系统默认没有安装虚拟机(下节将会详细介绍)。直接投放市场的面向普通用户的客户端程序,用Java开发的很少。

在嵌入式方面,Java 很难操作底层硬件,灵活性较小,而且需要虚拟机支持,占用资源较多,对于配置很低的单片机系统来说有些吃力。所以,在力求高效、小型化、执行关键任务的应用中,最好采用汇编和C语言,例如火箭控制、传感器通信或报告宇宙飞行器的方位等。

Java 虽然是一门功能完善的语言,但是它有自己擅长的方面,也有不擅长的方面,大家在具体项目中要学会取舍。

2011年发布版本JDK 7

2014年发布版本JDK 8,主要增加Lambda表达式部分

转载于:https://my.oschina.net/jewill/blog/407166

Java学习笔记(1)——概述相关推荐

  1. Java学习笔记-Day42 HTML概述

    Java学习笔记-Day42 HTML概述 一.前端简介 二.HTML 语言 1.简介 2.HTML的编写规范 3.HTML标签的声明 4.HTML的调试 5.标记语言的特点 6.头标签head 7. ...

  2. java学习笔记12--异常处理

    java学习笔记系列: java学习笔记11--集合总结 java学习笔记10--泛型总结 java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 j ...

  3. java学习笔记11--集合总结

    java学习笔记系列: java学习笔记10--泛型总结 java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Ob ...

  4. java学习笔记(二十八)——开发一个小项目(VMeeting3.0)

    上篇文章按照较规范的产品需求文档梳理了项目的逻辑,感觉开发起来明晰了很多:挂上一篇文章java学习笔记(二十七)--开发一个小项目(VMeeting2.0)_Biangbangbing的博客-CSDN ...

  5. 2021-05-31以及2021-06-01(从136开始) JAVA学习笔记

    JAVA学习笔记 1学习易错点: 2 具体内容 112 构造方法 113 构造方法的注意事项 114 标准类的制作!!! 115 api string 118 string构造方法![在这里插入图片描 ...

  6. Java学习笔记 2021-7-1 2021-7-8

    Java学习笔记 Stream流 1 Stream流的体验 stream流的生成操作 stream中间流操作 filter limit和skip concat和distinct sorted map和 ...

  7. 郑志远的java学习笔记

    郑志远的java学习笔记 郑志远    CCB 1         Java起源 略 2         Java语言概述 1.面向对象编程的3个原则:封装(encapsulation).继承(inh ...

  8. 2022年Java学习笔记目录

    一.2022年Java任务驱动课程 任务驱动,统摄知识点:2022年Java程序设计讲课笔记 二.2022年Java学习笔记 (一)踏上Java开发之旅 Java学习笔记1.1.1 搭建Java开发环 ...

  9. java学习笔记:全部,txt版本

    java学习笔记:全部,txt版本 笔者注: 1.不知道怎么上传附件,所以就把txt文本内容全部贴在这里吧. 2.已经把txt版本的笔记上传到CSDN了,我没有设置索要积分才能下载,但是不知道为什么C ...

  10. java学习笔记---5

    IO流 I〇流概述: lO:输入/输出(Input/Output) 流:是一种抽象概念,是对数据传输的总称.也就是说数据在设备间的传输称为流,流的本质是数据传输IO流就是用来处理设备间数据传输问题的: ...

最新文章

  1. VMWare虚拟机与主机共享文件夹(如何安装VMWare tools)windows与windows共享
  2. 提高开源项目逼格-为你的github项目添加Travis CI
  3. 【技巧】数组元素相加等于某个目标值,js实现
  4. 《使用云计算和大数据进行性能测试》
  5. 关于Android真机调測Profiler
  6. 通过PageSpeed优化网站性能
  7. illustrator下载_平面设计:16个Illustrator快捷方式可加快工作流程
  8. 你真的知道什么是多线程吗?为什么要学习多线程?
  9. 转载 Div+css浏览器兼容实例分析(一)
  10. mysql group commit_MySQL5.7 核心技术揭秘:MySQL Group Commit-阿里云开发者社区
  11. 程序员30岁后怎么办
  12. 疑难杂症 | Win10解压文件后乱码
  13. 实现三级导航demo
  14. 全国最大SLAM开发者学习交流社区 欢迎加入
  15. 原生android ui设计,在拟物和扁平之间寻找平衡 原生安卓UI设计进化史
  16. linux firefox源码修改主页
  17. C语言typedef和define、字节对齐的问题
  18. 虚拟机01--Mac安装Centos虚拟机
  19. (E4)ENVI-met运行结果处理
  20. 【中科大软院】还香不香?20软院考研四千字复盘

热门文章

  1. 怎么装python的keras库_matlab调用keras深度学习模型(环境搭建)
  2. java类的对象无参与有参_java无参与有参以及setter和getter方法(了解)
  3. matlab GUI 界面暂时关闭和打开关闭请求操作
  4. 【 Sublime Text 】如何使用Sublime Text快速生成代码模板
  5. IC/FPGA笔试/面试题分析(九)关于FIFO最小深度计算的问题
  6. 【 FPGA 】状态机,FPGA的灵魂
  7. 连续时间傅里叶变换的性质(简介及推导)
  8. 分享一个MD5加密的工具类
  9. Mac OS 系统重装U盘制作(DiskMaker X)
  10. 理顺 JavaScript (17) - 函数