【Java】----宏观感性认识

2023-11-10 03:40
文章标签 java 宏观 感性认识

本文主要是介绍【Java】----宏观感性认识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    这篇博客算是自己开始Java 学习之旅的一个开始。很早之前就听人说过Java的各种牛掰,脑子里也流闪过对


Java的向往。如今总算是有机会和它近距离交流了。最开始的学习总是苦恼的,犹如盲人摸象,见山不是山,但是我


知道怀着一颗敬畏的心去学习是肯定不行的。于是稍微花点时间对马上要学习的J2SE进行了简单的梳理。内容大多是


查阅资料所得,点到为止,追求宏观的感性认识。



Java之感性认识



破除畏惧:宏观揭秘



    首先Java 无论被吹捧的多厉害它始终是一门编程语言,所谓触类旁通,是语言它就得包含最基本的变量、语


法、机制规则。那么凡是有点计算机基础的同学问题都不大,无非就是那么一套,会用刀切白菜,切柚子就不行了?


无非就是多注意一下Java的特殊地方。



深入了解:核心机制


    Java 被大家推崇是因为它有两个核心机制—虚拟机和垃圾收集。


    虚拟机:



    Java的虚拟机机制屏蔽了底层运行平台的差别,可以实现“一次编译,随处运行”。这就要提到Java 不同于其


它语言的地方。Java是一种解释执行的语言,既Java编译后还需要进一步翻译才能被CPU执行。而VB、C、C++则是编


译执行类的语言,CPU可以直接执行无需中间翻译。这样的好处就是可以跨平台,Java程序可以通过不同类型的虚拟


机,在UNIX、window或其他平台随意切换执行。如图:


                                                    

 

 

    垃圾收集:


    在程序员使用编程语言进行创建时需要进行资源分配,但是任务完成后资源如何回收很是个问题,在C、C++中,


垃圾内存都是由程序员负责回收的。Java就很好的解决了这个问题,它提供一种人为无法干预的系统线程跟踪存储空


间的分配情况,及时的检查、释放空闲内存。打个比喻:人人都有垃圾,人们把垃圾放到垃圾桶,这时垃圾车来了。



    C/C++ :人把垃圾桶的垃圾放到车中。



    Java  :垃圾车把垃圾桶的垃圾放到车中。


 

    到了这里相信大家对Java这门语言的宏观和微观都有认识了吧。

 


Java之基本规则



    Java源文件一“Java“为扩展名,源文件组成为类class;



    一个源文件只能有一个public类,且与类名相同;



    Java执行入口是main()方法;



    Java区分大小写;



    Java语句结束以分号代表;



    Java注释:// 和 /**/。



Java之运行环境‘JDK’



    JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。它包含虚拟机和开发环境(Java类、库、


包)。

 


   按装JDK



    1.下载j2sdk 1.6.0_21或更高版本:



    http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html



    2.安装:



    建议安装路径不要有空格。



    3.设置环境变量:



    使用鼠标右击“计算机”->属性->左侧高级系统设置->高级->环境变量:



    系统变量->新建变量名:JAVA 变量值:JDK安装目录



    系统变量->变量名:CLASSPATH变量值:.;%JAVA%\lib



    系统变量->变量名:Path 在变量值的最前面加上:%JAVA%\bin;



   (CLASSPATH中有一英文句号“.”后跟一个分号,表示当前路径的意思;使用命令行的方法设置环境变量,只会



对当前窗口生效;改Path变量时,不是删除原有的值而是添加新的路径。)

 


    环境变量和系统变量区别:


 

    环境变量分为系统环境变量和用户环境变量:



    环境变量是指系统环境变量,对所有用户起作用



    用户环境变量只对当前用户起作用。

 


    CLASSPATH PATH区别



    PATH是JDK的路径,简单地说PATH是你要使用编译器的命令时,去寻找的路径,例如javac/java等。



    ClassPath是编译时需要使用到的文件路径。例如编译classA,可能还要用到class1、class2等。



Java之J2SE



    J2SE是Java中非常基础的部分,它的全称是java2 Standard edition。此外还有J2EE 和J2ME ,他们的范围是:


J2SE包含于J2EE中,J2ME包含了J2SE的核心类,但新添加了一些专有类。换而言之,J2SE是Java体系的根节点。J2SE


要学习的内容很多:



    Java语言基础;


    面向对象编程;


    异常处理机制;


    数组;


    常用类;


    容器类;


    流技术;


    多线程机制;


    网络编程;


    GUI编程;

 


总结:



     今天用了点时间对Java语言进行了系统的认识,自己觉得还是有必要,可以让自己在学习过程中更加清晰点。


Java和其它语言一样,就是它的脾气多了点,但是它的优点很大,比如跨平台性,虽然CPU执行前需要再翻译下,这


牺牲了速度,但是提高了复用性。个人觉得优大于缺,毕竟在优秀程序员的眼中硬件问题就不是问题。对于Java一定


能学好它。

这篇关于【Java】----宏观感性认识的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/380204

相关文章

springboot集成easypoi导出word换行处理过程

《springboot集成easypoi导出word换行处理过程》SpringBoot集成Easypoi导出Word时,换行符n失效显示为空格,解决方法包括生成段落或替换模板中n为回车,同时需确... 目录项目场景问题描述解决方案第一种:生成段落的方式第二种:替换模板的情况,换行符替换成回车总结项目场景s

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏