当前位置: 移动技术网 > IT编程>开发语言>Java > Java简单介绍及Java生态

Java简单介绍及Java生态

2018年12月06日  | 移动技术网IT编程  | 我要评论

  核心思想:面向对象编程,继承,高兼容(代码移植性强),避免重复造轮子,开源.

  java的起源和发展细节就不介绍了,java是高级开发语言,类似c++,语法和c++ 有很多类似之处,但是做了些优化,主要是在编码写程序上的优化,避免内存泄露,避免指针复杂错用等,java中不可以直接操作指针,被隐藏。

java程序从编写到运行

    a 编写出正确的java代码 .java文件 -->  b 通过工具编译成class文件 .class文件 --> c 运行在系统中的jvm虚拟机加载class文件 --> d jvm读取class文件中的main方法开始一个系统进程 --> e  完成 java程序开始运行 

    在d过程中有一个过程 --> jvm虚拟机加载class文件后,将.class翻译成机器码(类似系统底指令) 因系统而异,同一个class文件,在window环境 翻译出的机器码与linux环境翻译出的机器码是不同的: 代码移植性强的根本(jvm虚拟机)

java 中的成员 : jvm虚拟机,jre,jdk

  jvm虚拟机

    java代码的加载器、编译器、引擎    负载加载(读取).class文件

    上文中有提到虚拟机,将class文件翻译成系统能识别的机器码,因此jvm是java程序的必要环节,也说明不同的系统,jvm虚拟机版本是不同的。

    jvm虚拟机由c语言和汇编语言编写构成,  是java程序运行的根本,java程序运行首先需要运行jvm.

    网络解释: jvm(javavirtualmachine,java虚拟机)是jre的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。jvm有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。java语言最重要的特点就是跨平台运行。使用jvm就是为了支持与操作系统无关,实现跨平台。

  jre (java runtime environment) 

    java程序运行环境,其中包含了jvm虚拟机。java程序需要运行时需要的环境,既jre.   

  jdk (java development kit) 

    java 语言的软件开发工具包 (sdk) java软件开发环境,程序员编写java程序时需要的工具。 与jre的区别  包含jre,多了一些编译工具,比如将.java 文件编译成 .class文件

    

java开发中常用的技术思想、框架、工具  

  技术思想  

  面向对象

    java中任何事物都可以看做对象,任何事物从对象角度出发,解决问题从对象角度出发。

  继承

    java中对象可以被继承,将可以使用被继承对象所有公共属性,公共方法。继承者为子类,被继承者为父类,在java中一切对象的顶级超类是object

  多态

    多态是同一个行为具有多个不同表现形式或形态的能力。

    多态就是同一个接口,使用不同的实例而执行不同操作。 具体涉及到java中接口的知识。

  多线程 

    一个线程处理一个事物,多个线程在同事间内执行各自的事物,互不影响。

  高并发

    在有限的硬件资源情况下,短时间内大量线程启动运行并处理事物。

  长连接

    在与可通信端频繁通信交换数据时需要用到的技术,如数据库连接一般是长连接;特点:连接数较少,通讯频繁。 想对的短连接:连接数多,同一连接短时间内连续通讯较少。

  nio

    非阻塞io,解决网络数据传输阻塞问题,当两端通信有连接时,不一定马上接受数据,这样会引起线程等待发送数据造成的阻塞,nio提供缓冲区,有数据的时候通过通道将通信数据写入缓冲区,没有数据则先执行别的线程,避免阻塞。

  框架

  spring

    springframework,春天。核心是控制反转ioc(inversion of control  也称依赖注入)和面向切面编程aop(aspect oriented programming)java中非常流行的技术框架与框架设计思想。 秉承高内聚,低耦合的思想。没有侵略性,对所有别的技术框架能够很好的兼容。(避免重复造轮子的一种具体实现)

  springmvc

    spring mvc属于springframework的后续产品,已经融合在spring web flow里面。spring 框架提供了构建 web 应用程序的全功能 mvc 模块(摘自百度)。web框架,前端控制层访问框架。

  mybatis

    轻量级持久层框架,持久层开发较高效框架,在迭代开发、网络项目中使用较多。

    mybatis 本是apache的一个开源项目ibatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为mybatis 。2013年11月迁移到github。mybatis 是一款优秀的持久层框架,它支持定制化 sql、存储过程以及高级映射。mybatis 避免了几乎所有的 jdbc 代码和手动设置参数以及获取结果集。mybatis 可以使用简单的 xml 或注解来配置和映射原生信息,将接口和 java 的 pojos(plain ordinary java object,普通的 java对象)映射成数据库中的记录。(摘自百度)

  hibernate

    hibernate是一个开放源代码的对象关系映射框架,它对jdbc进行了非常轻量级的对象封装,它将pojo与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成sql语句,自动执行,使得java程序员可以随心所欲的使用对象编程思维来操纵数据库。(摘自百度)

  springboot

    springboot是以spring为基础的多技术集成的高效快速项目开发框架,核心还是spring,但是集成封装好了很多其他技术(如redis、mybatis等),免去了项目开发中一些重复繁琐的过程

  springcloud

    springcloud是分布式架构技术,springcloud建立在springboot的基础上,主要是在分布式环境下,将springboot项目集中管理的的分布式开发架构。

  netty

    nio技术具体实现框架。

  工具

  eclipse

    使用java、c 等语言来开发项目的工具。

  idea

    使用java、c 等语言来开发项目的工具,和eclipse一样是比较好用的项目开发工具,甚至比eclipse功能更多更强大,不过需要付费。

  maven

    项目开发jar资源依赖管理工具,项目打包工具,使项目开发更高效。

  tomcat

    web项目运行容器,现在springboot框架内用集成tomcat,使用springboot开发可以不需要额外配置tomcat。

 

本文不定期更新

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网