首页 > 编程语言 >Java那些事儿 —— 写一篇妈妈也能看懂的Java学习笔记

Java那些事儿 —— 写一篇妈妈也能看懂的Java学习笔记

时间:2024-06-08 12:58:56浏览次数:27  
标签:Java 计算机 理解 程序 笔记 开发 能看懂 数据

Java那些事儿 —— 写一篇妈妈也能看懂的Java学习笔记

小白也能看懂的Java学习笔记(因为我也是小白,所以写一点小白自己能看懂的东西)

这本笔记包括但是不限于Java知识,(做开发没多久感觉自己忘记的差不多了,最近又看了几本书,心血来潮写一个笔记)

写这个的目的意在自我复习,尽量让自己的学习过程变得有趣,还有就是希望借助大家的经验,纠正自己之前相关知识理解的偏差。

如果你和我一样是开发没多久或者是对Java感兴趣可以和我一起学习,我们共同进步!!!

PS:我会尽量用有趣的语言,夹带自己的一些理解,来记录学习相关的知识。 如果我的理解有问题,敬请大家斧正!!

让我们开始吧:第一章

一、浅显的认知与介绍:

(一)、what is Java? why is Java? (兴趣部分) :

还是老一套学习任何东西前都会问一嘴,玩意儿是啥?

也许,你问不同的人这样一个问题,或者打开不同出版社的相关JAVA的书籍去解答这个问题,大概率都会有这样一句话,或者都有这样一种表达:Java是由詹姆斯.高斯林(James Gosling )与伙伴共创的一种高级计算机语言,自1995年诞生至今经过了好几十个版本经久不衰。

在这里插入图片描述

​ (在此向Java之父致敬)

这句话确实没毛病,但是问题就是这句话好像太高级了,不太好理解。

如果我们想理解这话不妨先理解这样一个问题:

什么是计算机语言?

所谓:人有人语,牛有牛语,鸟有鸟语,语言就是意味着一种交流方式,或者说一种交流工具。说白了你想与牛交流就要用牛语,与鸟交流就要用鸟语,与鸟人交流就要用日语 。

那么计算机语言,故名思意就是与计算机交流的一种方式或者更贴切的说是一种工具(因为说人话,计算机可能听不懂)

那么为啥需要这种语言呢?

为了让他给我们干活呗。就像牛不是生下来就会耕地,计算机也不是造出来就会干活,他需要人"教",这就必然需要语言作为工具,达到”教“会它替我们干活的目的,随着时代的发展"教"计算机干活就慢慢形成了一种职业–程序猿,程序员们夜以继日榨干自己敲代码与计算机进行着交流,教会了计算机做很多事情,也达成了很多惊人的成就。

那么为啥说它高级呢?

实际上,就像人类语言一样,计算机语言也在不断演变,并逐渐走向成熟,它大概经历了这样几个过程

1、机器能明白,极少数人能明白,修改极其困难 (机器语言)

2、机器能明白,少部分人能明白,修改相对一般(汇编语言)

3、机器能明白,大部分人能明白,修改相对容易(高级语言)

Java就处在第三阶段,所以它高级,

为啥是Java?

因为我在复习 你感兴趣 咱共同进步 现在还有市场 over! (知道现在特别NB的Chart-GPT吗 没错 它是python写的)

(二)、什么是程序,程序是干嘛的,程序员是干嘛的? (小白理解)

上文说到,"教"计算机干活成为了一种职业–程序员 那他们天天开发,开发的是啥?实际上就是程序

开发就是写程序(小白的理解)

程序是什么

程序是指一组指示计算机或其他具有信息处理能力装置执行动作或做出判断的指令,通常用某种计算机编程语言编写,运行于某种目标计算机体系结构上。

说人话就是:程序就是具有严谨逻辑的,能在一定装置上执行的一系列代码的组合 (包含相关的辅助文件)

那么程序是干啥的呢

在我看来,程序的作用实际上是对各种数据,进行各种处理。

各种数据包括但不限于:数字、文字、图片、视频、音频

各种处理包括但不限于:展示、存储、传输、修改、删减

程序员是干嘛的

我们每天打开各种App、各种网页,看到的各种画面、听到的各种声音…,都是对数据进行处理的结果,它们的背后都有着强大的程序海量的数据做着支撑,而伟大的程序员始终在开发与维护它们,保证数据安全可靠无误的情况下,让程序能够稳定、持续、自动的对数据进行各种处理。我们就是要做这样一个事情,开发或者维护一个程序,实现各种功能,成为他们的一猿,前提是我们需要学习很多东西。

(三)、什么数据?(纯属废话)

相信大家在大学计算机理论基础课上,都了解过有关数据的概念,书上大概是这样写的:“数据是事实或观察的结果,是对客观事物的逻辑归纳,使用于表示客观实物的未经加工过的原始素材。”(略)

说实话,大家大可不必费劲理解这样一个抽象的概念。

首先,不是说我们没有表达数据就不存在,很多情况下只是我们没有将它们表达成数据。

其实数据与我们息息相关,就好比时间它就是一种数据,气温变化,人体激素水平,出门怎么走到能走到公交站,钱包余额都可以用数据清楚的表达出来。

(四)、一切的一切还要从数据说起(姑妄言之,姑妄听之):

上文我们大概聊了一下数据、程序、以及数据与程序的关系。

可见数据是整个体系的基础,可以说互联网职业,甚至于说信息时代。都是在对数据做文章,围绕这样一个关系,我们或许对互联网的各个行业有个大概的认识。

那么互联网中那么多职业,他们都在干什么呢?
为了方便大家理解,我们不妨假设你现在是老板,或者说是甲方爸爸,你现在已经租/买好了开发所需要的一切(电脑,服务器 …等等) 想要建立一个可以盈利的网站需要哪些类型的程序猿呢?

1、首先这个网站开始搭建之前,最重要的是获取数据,因为只有依靠这些数据你才赚取利益,它很可能来自其他网站、来自你的竞争对手或者合作方,爬虫工程师负责数据的采集与整理。他们类似于挖矿,帮你从各个地方收集整理你想要的数据。

2、经过他们的不断采集,现在你已经有了数据,那么就需要有个数据库来存储你的数据,但是只有数据库不行,不安全,这时你需要一个人来管理你的数据库,数据库管理员(DBA)对你的数据库进行管理保证的你的数据安全 (一般小公司都没有)。

3、现在你的数据安全的存储到了数据库里,并且爬虫工程师源源不断的给你提供数据,你已经有了可靠的数据做支撑现在要逐步实现盈利的目标,现在可以进行开发了,后端工程师开发程序,对这些数据进行计算。将这些存储在数据库中的数据,按照一定的规则取出传递添加与修改。

4、可是,后端提取出来的数据往往用户看的很不舒服,毕竟用户来你这个网站不能给他显示干巴巴的满屏数字吧,于是前端工程师诞生了,他们设计并调整数据展现形式,体现出网站的高端大气。

5、现在你的程序已经基本开发完成了,那么这些程序是否符合你的要求呢,你需要对它们进行测试,软件测试对开发的程序进行各种场景的测试,保证程序在已知的或可预测各种场景下能够稳定高效的循行,说白了就是别出bug.

6、好了,现在你拥有了美丽的页面、稳定高效的程序、可靠的数据资源。盈利只有还剩一步–上线,可是程序上线就结束了么,世界上总会有些未知的因素打扰它们运行。运维工程师,进行项目的上线部署 保证在各种突发情况下做出应急处理回复程序生产

以上是自身对各种职业的浅显理解:实际上在真实的开发场景中这些步骤往往都是同时进行的,此外这上面的每一个职业都需要大量的知识储备与行业经验才能做的好,当然光靠这些人也还是远远不够的。

标签:Java,计算机,理解,程序,笔记,开发,能看懂,数据
From: https://blog.csdn.net/weixin_51209652/article/details/139545108

相关文章

  • 【YOLOv8改进】CPCA(Channel prior convolutional attention)中的通道注意力,增强特征
    YOLO目标检测创新改进与实战案例专栏专栏目录:YOLO有效改进系列及项目实战目录包含卷积,主干注意力,检测头等创新机制以及各种目标检测分割项目实战案例专栏链接:YOLO基础解析+创新改进+实战案例摘要医学图像通常展示出低对比度和显著的器官形状变化等特征。现有注意......
  • JavaScript中的数据类型
    概要ECMAScript的类型一共分为两大类,值类型以及引用类型。值类型又称基础类型,具体如下:undefined未定义null空boolean布尔number数值string字符串symbol标记引用类型又称复杂类型Object(对象),具体如下:Object对象Function函数Array数组RegExp正则Date日期基......
  • FFmpeg开发笔记(二十七)解决APP无法访问ZLMediaKit的直播链接问题
    ​上一篇文章介绍了如何通过ZLMediaKit实现视频推拉流,并使用VLC播放器验证视频直播地址。即使不用VLC播放器,直接在Qt工程的C++代码中调用FFmpeg的API,也能访问ZLMediaKit的直播地址,并正常渲染视频画面。关于如何在Qt工程中引入FFmpeg,可参考《FFmpeg开发实战:从零基础到短视频上线》......
  • 【Java笔记】第10章:接口
    前言1.接口的概念与定义2.接口的声明与语法3.接口的实现4.接口的继承5.接口的默认方法6.接口的静态方法7.接口的私有方法8.接口的作用9.接口与抽象类的区别10.接口在Java集合中的应用结语上期回顾:【Java笔记】第9章:三个修饰符个人主页:C_GUIQU归属专......
  • 机器学习笔记(3): 神经网络初步
    神经网络应该由若干神经元组成。前面的每一个神经元都会给到一个参数,将传递的所有参数看作一个向量\(\vecx\),那么此神经元的净输入为:\[z=x\omega+b\]其中\(\omega\)称为权重向量。这里认为\(x\)是行向量,而\(\omega\)是列向量。神经元还有一个激活函数\(f(\c......
  • Java SpringBoot 如何使用 IdentityServer4 作为验证服务器学习笔记
    作者:https://www.cnblogs.com/BeautifulBoy1301/p/11193488.html https://github.com/Danni-Ke/SpringBootDemo  JavaSpringBoot如何使用IdentityServer4作为验证服务器学习笔记 这边记录下如何使用IdentityServer4作为JavaSpringBoot的认证服务器和令牌颁......
  • HTML,CSS,JavaScript实例——3D骰子,跨纬度蠕虫,动态登录表单。
    文章目录一、3D筛子1.HTML2.CSS二、跨纬度蠕虫1.HTML2.CSS3.JS三、动态登录表单1.HTML2.CSS一、3D筛子1.HTML<!--ringdivstartshere--><divclass="ring"><istyle="--clr:#00ff0a;"></i><istyle="--clr:#ff0057;">&l......
  • Web大学生网页作业成品——仿腾讯游戏官网网站设计与实现(HTML+CSS+JavaScript)
    ......
  • 【SpringBoot笔记46】SpringBoot多数据源配置(方式三:基于AOP动态切换需要使用哪个数据
    这篇文章,主要介绍SpringBoot多数据源配置(方式三:基于AOP动态切换需要使用哪个数据源)。目录一、SpringBoot多数据源配置1.1、多数据源介绍1.2、搭建基础工程1.3、创建两个数据库1.4、配置多数据源信息1.5、创建动态数据源对象1.6、创建DsContextHolder缓存类1.7、注入......
  • (Java微服务项目实战)预付卡支付系统技术架构-发卡平台交易管理模块系统设计
    加入知识星球从0到1完成3个大型项目(从需求->系统设计->开发->再到生产环境部署)1项目介绍通过预付卡系统项目实战,**开发和产品设计人员能够对整体支付业务做到深入理解,**掌握各技术栈具体的业务应用场景,大型企业级项目业务分析、系统设计、代码实现的核心流程。并掌握......