Java生态

Java是高级开发语言,相似C++,语法和C++ 有不少相似之处,可是作了些优化,主要是在编码写程序上的优化,避免内存泄露,避免指针复杂错用等,Java中不能够直接操做指针,被隐藏。前端

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虚拟机)web

Java 中的成员 : jvm虚拟机,jre,jdkredis

  jvm虚拟机spring

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

    上文中有提到虚拟机,将class文件翻译成系统能识别的机器码,所以jvm是Java程序的必要环节,也说明不一样的系统,jvm虚拟机版本是不一样的。apache

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

    网络解释: JVM(JavaVirtualMachine,Java虚拟机)是JRE的一部分。它是一个虚构出来的计算机,是经过在实际的计算机上仿真模拟各类计算机功能来实现的。JVM有本身完善的硬件架构,如处理器、堆栈、寄存器等,还具备相应的指令系统。Java语言最重要的特色就是跨平台运行。使用JVM就是为了支持与操做系统无关,实现跨平台。tomcat

  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。

相关文章
相关标签/搜索