综述
今天是国庆上班的第一天,总是有种很强的对于工作的期待感,今天也学习到了很多的知识,以下是我的一些总结。
一.关于java开发人员要学习的技术
1.1 java技术基础
知识点1:什么是程序?
把单词按照语法组成句子,然后把句子通过一定的含义组成文章。在计算机中,我们将这种写成的文章称之为程序。
知识点2:java一共有那些版本
JAVA EE
JAVA SE(IDEA就是JAVA开发的)
JAVA ME(目前已经基本上废弃了)
知识点3:Java的重要特点
- java语言是面向对象的
- java语言是健壮的。java的强类型机制,异常处理,垃圾的自动收集保证了java程序的健壮性。
- java语言是跨平台的(依靠java虚拟机)
知识点4:JDK和JRE
JDK是java集成开发工具,JRE是java运行环境。
1.2 java的变量
综述
在开始学习变量之前,我们思考一下为什么需要使用变量。
首先我们从小开始学习加法减法的时候,后来我们再学更难的东西就是代数,其中的x和y是我们要求解的内容,这些内容就是变量。
变量是人的思维的提升,没有变量就没有真正的程序。
为什么要有数据类型?
使用数据类型可以合理的使用内存
比如我们去购物的时候,如果用小袋子就装小的商品,大的袋子装大的商品。这样可以合理使用袋子的空间。
你想想你每次使用一个只需要表示真和假的0和1都要用8个字节实在是太浪费了。
正文
变量是程序的基本组成单位
变量的数据类型
- 基本数据类型
基本数据类型包括数值型,字符型和布尔类型,数值类型包括整型和浮点型。
整型包括byte short int long
浮点型包括 float 和 double
对于整数类型来说
类型 | 占用存储空间 | 范围 |
---|---|---|
byte | 1字节 | -128~127 |
short | 2字节 | -32768~32767 |
int | 4字节 | -2147483648-2147483647 |
long | 8字节 | -263~263-1 |
对于浮点数类型来说,分为指数和尾数,单开一个符号位。
指数位的第一位是指数的符号位。
类型 | 占用的存储空间 | 存储(符号位 指数位 尾数位) |
---|---|---|
float | 4字节 | 1 8 23 |
double | 8字节 | 1 11 52 |
浮点数最大值计算的方法(double同理 1.798E308)
char 类型占用2个字节
boolean 类型一般占用1个字节。
类型 | 占用的存储空间 | 存储 |
---|---|---|
char | 2字节 | 2字节 |
boolean | 1字节 | 硬件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
四、什么是浏览器内核,有哪些浏览器内核种类?
浏览器的作用是什么?
- 浏览器的作用是进行交互,用户与服务器之间数据交互的一个通道。
- 渲染:使用JavaScript引擎将后端传输的数据进行实时渲染。
什么是浏览器内核?
浏览器内核是指支持浏览器运行的最核心的程序,分为两个部分,一个是渲染引擎,另一个是JS引擎。渲染引擎在不同的浏览器中也不是都相同的。
360自称自己是双核浏览器,就是指有两个内核
内核的分类 | 哪些浏览器使用 |
---|---|
Trident | IE浏览器、猎豹安全浏览器、360极速浏览器、百度浏览器 |
Gecko | firefox 最近几年没落了… |
webkit | safari 浏览器 |
Blink | Webkit的一个分支,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(确信)