Java学习内容总结

综述

今天是国庆上班的第一天,总是有种很强的对于工作的期待感,今天也学习到了很多的知识,以下是我的一些总结。

一.关于java开发人员要学习的技术

1.1 java技术基础

知识点1:什么是程序?

把单词按照语法组成句子,然后把句子通过一定的含义组成文章。在计算机中,我们将这种写成的文章称之为程序。

知识点2:java一共有那些版本

JAVA EE
JAVA SE(IDEA就是JAVA开发的)
JAVA ME(目前已经基本上废弃了)

知识点3:Java的重要特点

  1. java语言是面向对象的
  2. java语言是健壮的。java的强类型机制,异常处理,垃圾的自动收集保证了java程序的健壮性。
  3. java语言是跨平台的(依靠java虚拟机)

知识点4:JDK和JRE

JDK是java集成开发工具,JRE是java运行环境。

1.2 java的变量

综述

在开始学习变量之前,我们思考一下为什么需要使用变量。
首先我们从小开始学习加法减法的时候,后来我们再学更难的东西就是代数,其中的x和y是我们要求解的内容,这些内容就是变量。
变量是人的思维的提升,没有变量就没有真正的程序。

为什么要有数据类型?

使用数据类型可以合理的使用内存
比如我们去购物的时候,如果用小袋子就装小的商品,大的袋子装大的商品。这样可以合理使用袋子的空间。
你想想你每次使用一个只需要表示真和假的0和1都要用8个字节实在是太浪费了。

正文

变量是程序的基本组成单位
变量的数据类型

  • 基本数据类型
    基本数据类型包括数值型,字符型和布尔类型,数值类型包括整型和浮点型。
    整型包括byte short int long
    浮点型包括 float 和 double

对于整数类型来说

类型占用存储空间范围
byte1字节-128~127
short2字节-32768~32767
int4字节-2147483648-2147483647
long8字节-263~263-1

对于浮点数类型来说,分为指数和尾数,单开一个符号位。
指数位的第一位是指数的符号位。

类型占用的存储空间存储(符号位 指数位 尾数位)
float4字节1 8 23
double8字节1 11 52

浮点数最大值计算的方法(double同理 1.798E308)
在这里插入图片描述
char 类型占用2个字节
boolean 类型一般占用1个字节。

类型占用的存储空间存储
char2字节2字节
boolean1字节硬件1位

为什么char 占用两个字节?

Java编译器默认使用Unicode编码,因此2字节可以表示所有字符。

  • 引用数值类型
    引用数据类型包括类、接口和数组类型。

数据类型的使用

使用数据类型的坑

package chapter01;

public class Main {
	public static void main(String[] args) {
		byte b = 127;
		// byte b = 128 就会报错
		short s = 32767;
		// short s = 32768就会保存
		int i = 10;
		//int 也有取值范围 如果是2进制就是0b开头
		// 如果是8进制就是0开头
		// 如果是十六进制就是0x开头
		long L = 90L;
		// long 可以使用L,也可以不用
		float f = 3.14f;
		//float 后面必须加f
		double d = 3.14;
		// double d = 3;也是对的
		boolean boo = true;
		char ch = 57;
		char ch1 = ' ';
		//char ch = '';是不对的
		
	}
}

1.3 运算符

运算符是一种特殊符号,用以表示数据的运算、赋值和比较

运算符定义
算术运算符加减乘除或者自增运算等
赋值运算符给变量进行赋值的运算符
关系运算符大于等于小于等比较运算
逻辑运算符与或非等运算
位运算符左移、右移等运算
三元运算符a>b? c:d

1.4 程序控制结构

2 servlet技术

3 Jsp技术

4 Spring技术

5 Spring MVC

6 Spring boot

7 mySQL

8 Redis

9 mybatis

10 RocketMQ

11 Dubbo

12 RuoYi框架

二、关于前端工程师需要学习的技术

1.Html+css技术

2.java Script 技术

3.Vue 技术

三、关于硬件工程师需要学习的技术

1.C语言

2. C++

STM32

四、什么是浏览器内核,有哪些浏览器内核种类?

浏览器的作用是什么?

  1. 浏览器的作用是进行交互,用户与服务器之间数据交互的一个通道。
  2. 渲染:使用JavaScript引擎将后端传输的数据进行实时渲染。

什么是浏览器内核?

浏览器内核是指支持浏览器运行的最核心的程序,分为两个部分,一个是渲染引擎,另一个是JS引擎。渲染引擎在不同的浏览器中也不是都相同的。

360自称自己是双核浏览器,就是指有两个内核

内核的分类哪些浏览器使用
TridentIE浏览器、猎豹安全浏览器、360极速浏览器、百度浏览器
Geckofirefox 最近几年没落了…
webkitsafari 浏览器
BlinkWebkit的一个分支,Chrom浏览器必备
类似于汽车的发动机,浏览器的内核就是汽车发动机,也是浏览器最重要的内容,目前国产的内核还是不存在,但是很多的内核是开源的。

五、什么是BS 架构, 什么是CS架构

CS架构是client - server架构。
从一个财务软件的故事开始:
曾经在40年前,当时的工作还是包分配的,那时候我的成绩很好。大部分身边的同学就进入了机关单位,最差的进入了国企。当时我的成绩是班里成绩最好的,自信的我拿着报到证去了报到处,但是由于去的比较晚被分到了一个国企,国企当时只有8个人左右,学习会计出身的我发现大学生并不吃香,因为自己算盘打得比较差,当时的珠算能力要求的非常高。但是随着时间的推移,随着会计的发展,传统的会计很难处理工资财务报表的问题,导致每个月发工资的时候财务都要加班来完成工资计算。于是我开发了第一代的财务软件。

那么此时我开发的软件就是一个单机软件,也就是只有在我一台电脑上能看到的软件。

后来公司采购了一批电脑和财务软件,其他的领导也有了电脑,于是我改进了我的财务软件,除了在自己电脑上可以看到工资的报表情况,其他领导也可以在局域网内看到财务情况。(使用交换机)

那么此时我开发的软件就是一个客户端/服务端的软件,我的电脑是服务端负责提供数据,领导的电脑可以查看数据作为客户端

此时出现了新的问题,一个问题是数据没有办法很及时的刷新,第二个问题是领导出差的话没有办法查看财务数据。此时就出现了第三代软件 浏览器服务端软件 这样每次都会去服务器找最新的数据

5.1 什么是前端,什么是后端

前端也就是客户端开发,简单来说,你可以在应用程序或者网站屏幕可以看到的内容都是前端
后端就是服务器端的开发,在系统后面发生的事情,存储网站、应用数据的服务器交互的都是后端

5.2 什么是静态网页,什么是动态网页?

静态网页是运行在客户端的程序,包括网页,插件,组件等等
动态网页是运行在服务器上的程序,包括动态网页技术,例如PHP ASP JSP等等
其实所有需要从服务器端获取数据的程序都是动态网页部分,否则就是静态网页部分。

六、总结与联想

作为一名程序员,一定要保持仔细和小心。无论是否是程序员,如果对于完成一项工作不仔细,就会导致公司出现很大的失误,最后导致很严重的公司事故。也会导致自己的人生变得完全不一样。
公司里面一定要学会找到公司目前出现的问题,可以解决公司的问题就可以提高自己。

七、作业:BS架构和CS架构的优点和缺点

客户端 / 服务端的软件需要进行安装,桌面级的软件相应速度快,而且可以在本地缓存很多的内容,例如网易云音乐,QQ,微信等等软件,使用的时候感觉非常的迅速,而且有很强的自己的个性化定制。无论是布局还是功能都是可以自己DIY的。
缺点就是第一个频繁地更新,维护成本高很多,一般的CS架构软件都是安装在局域网中。
浏览器 / 服务端的软件,只需要一个浏览器就能运行程序,例如百度,企业的权限管理软件都是一个网站,网站的功能变化不需要用户进行升级,用户的交互也更加容易,BS架构的服务器也可以构建集群。对于开发人员的要求也低很多。
缺点是容易被攻击,因为是开放的广域网中的软件。

八、联想

今天学习了两种软件开发架构,其实在很久之前就一直在提到这个概念。我的简单思考就是

企业级管理使用BS架构就完全够用,只有需要大量客户端计算的(游戏,聊天)这些面向十分大众的软件还需要使用CS架构。

那么到底那一块使用的人多呢?有些人觉得肯定是CS架构用的多,恰恰相反,大部分软件都是用来存储计算数据的,个人使用的只有很少一部分。所以未来的趋势也一定是BS架构。
这也是近些年来java开发如此火热的原因。

九、联系最近的发展方向

其实使用BS架构成为主流之后,限制了很多的软件开发的个性化定制,也就是JAVA真正解决的问题是企业级计算问题,包括财务报表或者人员管理,部门管理。这些不需要展示过于个性化的界面。这个领域已经变成了一种流水线化生产,包括小程序等等,所以只要需求足够清晰,普通的程序员可以在很快的速度制作一个接口。
明天开始总结一下集合和MAP(确信)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值