Java简单介绍及Java生态

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

  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。

欢迎工作一到八年的Java工程师朋友们加入Java高级交流群:828697593

本群提供免费的学习指导 架构资料 以及免费的解答

不懂得问题都可以在本群提出来 之后还会有直播平台和讲师直接交流噢

哦对了,喜欢就别忘了关注一下哦~

原文地址:http://blog.51cto.com/14080124/2326732

时间: 2024-11-13 10:15:08

Java简单介绍及Java生态的相关文章

算法笔记_071:SPFA算法简单介绍(Java)

目录 1 问题描述 2 解决方案 2.1 具体编码   1 问题描述 何为spfa(Shortest Path Faster Algorithm)算法? spfa算法功能:给定一个加权连通图,选取一个顶点,称为起点,求取起点到其它所有顶点之间的最短距离,其显著特点是可以求含负权图的单源最短路径,且效率较高.(PS:引用自百度百科:spfa是求单源最短路径的一种算法,它还有一个重要的功能是判负环(在差分约束系统中会得以体现),在Bellman-ford算法的基础上加上一个队列优化,减少了冗余的松弛

Brief introduction to Java String Split 【简单介绍下Java String Split】

Split is a common function in Java. It split a full string to an array based on delimeter. For example, split "a:b:c" with ":" results in [a, b, c] In some scenario, it's better to keep the delimeter instead of discard it while splitti

算法笔记_070:BellmanFord算法简单介绍(Java)

目录 1 问题描述 2 解决方案 2.1 具体编码   1 问题描述 何为BellmanFord算法? Floyd算法功能:给定一个加权连通图,选取一个顶点,称为起点,求取起点到其它所有顶点之间的最短距离,其显著特点是可以求取含负权图的单源最短路径. Floyd算法思想: 第一,初始化所有点.每一个点保存一个值,表示从原点到达这个点的距离,将原点的值设为0,其它的点的值设为无穷大(表示不可达). 第二,进行循环,循环下标为从1到n-1(n等于图中点的个数).在循环内部,遍历所有的边,进行松弛计算

Java日志介绍(1)-java.util.logging.Logger

java.util.logging.Logger是JDK自带的日志工具,其简单实现了日志的功能,不是很完善,所以在实际应用中使用的比较少.本文直接用代码演示其使用方法,文中所使用到的软件版本:Java 1.8.0_191. package com.inspur.demo.log; import java.util.logging.FileHandler; import java.util.logging.Formatter; import java.util.logging.Level; imp

第一阶段:Java基础 1.JAVA开发介绍---6. Java基本数据类型

Java 的两大数据类型: 内置数据类型(基本数据类型) 引用数据类型 本数据类型: Java语言提供了八种基本类型.六种数字类型,一种字符类型,还有一种布尔型. byte,short,int,long,double,float,char,boolean 引用类型: 引用类型的变量非常类似于C语言的指针.引用类型指向一个对象,指向对象的变量是引用变量比如: 类.接口类型.数组类型.枚举类型.注解类型,字符串型 原文地址:https://www.cnblogs.com/ztwj/p/1203528

【Java并发基础】Java内存模型解决有序性和可见性

前言 解决并发编程中的可见性和有序性问题最直接的方法就是禁用CPU缓存和编译器的优化.但是,禁用这两者又会影响程序性能.于是我们要做的是按需禁用CPU缓存和编译器的优化. 如何按需禁用CPU缓存和编译器的优化就需要提到Java内存模型.Java内存模型是一个复杂的规范.其中最为重要的便是Happens-Before规则.下面我们先介绍如何利用Happens-Before规则解决可见性和有序性问题,然后我们再扩展简单介绍下Java内存模型以及我们前篇文章提到的重排序概念. volatile 在前一

java 的简单介绍

一.Java 特点     1.简单: 和C++相比较     2.面向对象     3.跨平台    由于它是先编译后解释 + JVM(屏蔽底层操作系统的差异) 二.程序的运行一般有两种:     1.编译  源文件 ------> 编译器  机器码文件       快  无法跨平台     2.解释  源文件 ------> 解释器  逐行翻译并运行   慢  可以跨平台 三.Java运行机制: 先编译,后解释     .java 源文件  -------> 编译器 .class 字

java反射机制简单介绍

1.字节码.所谓的字节码就是当java虚拟机载入某个类的对象时,首先须要将硬盘中该类的源码编译成class文件的二进制代码(字节码),然后将class文件的字节码载入到内存中,之后再创建该类的对象 2.java反射的基础是Class类(注意不是小写的class),Class类实例代表着内存中的一份字节码.常见的获取Class类对象的方法例如以下(第一种为对象的方法,另外一种为类的方法): Dog dog = new Dog(); Class dogClass = dog.getClass();

关于bean.java的简单介绍!

关于bean.java功能介绍 ·JavaBean是使用Java语言开发的一个可重用的组件,在JSP的开发中可以使用JavaBean减少重复代码,使整个JSP代码的开发更简洁. 个人理解:bean.java就是包含了一些私有变量和公有方法的类. 下面通过电子商务网站管理系统中  商品订单 简单介绍bean. 1 package com.oracle.jsp.bean; 2 /** 3 * 商品订单Bean 4 * @author svson 5 * 6 */ 7 public class Ord