Java工程师学习

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/StudyForDream2015/article/details/69053867

HTTP1.0 非持久链接:短链接

HTTP1.1 默认长链接

HTTPS=SSL+HTTP

请求

请求行:get/post+协议+地址

请求头:IP+user_agent

请求正文

响应

Javascript运行在客户端的脚本语言

Cookie由服务器发送给客户端的一段字节,浏览器会保存Cookie,与其进行验证

浏览器关闭cookie最多保存一周

URL重定向

Servlet:单实例多线程,首次请求时才会被启动

Servletcontext:全局共享

Filter:登录模块  所有请求都限定为UTF-8,容器装载时启动

Listener:有多少session就有多少人访问,可以使用Listener进行监听session判断session存在数

地址重写:当cookie被禁止了,可以使用地址重写(在url后加上sessionid)和隐藏域(隐藏在表单中)

Session:浏览器关闭了,seesion不一定关闭,与tomcat的设置有关

ServerSocket绑定本地端口

Socket通过Ip网络传输

 

多线程

1个进程=多个线程

并行:多个cpu并行执行

并发:一个cpu将事情分几步执行

Join用来指定当前主线程等待其他线程执行的时间,再执行主线程

 

                        数据库建立问题

1.数据库表中主键最好设置为无意义的字段

2.外键最好不要设置,避免删除表的复杂性

3.建立索引(数据库中数据量很大时)

4.表是一对一,还是一对多关系,当一对多时必须建立关系表(数据库ER图)

5.数据量大,内容复杂需要表的拆分(表垂直拆分;水平拆分:拆分后的各表结构一样,比如评论表、数据量特别大)

Hash算法、主从模型、主主模型

 

                        JavaWeb问题

1.物理删、逻辑删

2.分页:单页多少条,总数多少条(页数即可知),当前多少页

3.订单号唯一:唯一码(UUID或数据库自增ID;

4.减库存必须唯一:一般认为下单的时候减库存;当人数很多时如何进行减库存:数据库加锁(效率较低)或者使用redies数据库作为缓存,进行队列的先进先出进行减库存操作,防止大量的使用数据库导致数据库奔溃的问题。

5.Update是全局可见的,锁库保证select语句查询的是Update更新后的数据

6.大小写不敏感:查询数据库的时候直接使用小写字段进行sql语句查询

7.登录模块——如何判断用户是否登录—— 集群模式下:将登录信息放在redies分布式服务器中,提供一个唯一的key放在session中;单机模式下:使用session进行验证。

8.SSO:单点登录

 

展开阅读全文

没有更多推荐了,返回首页