当前位置: 首页 > news >正文

总结——0923

session 和 cookie

  1. cookie保存在浏览器端,session保存在服务端。
  2. cookie如果在浏览器端对cookie进行设置对应的时间,如果没有对cookie设置时间,则默认关闭浏览器,则cookie就会删除
  3. cookie只能存储字符串,而session存储结构类似于hashtable的结构,可以存放任何类型。
  4. cookie最多可以存放4k大小的内容,session则没有限制。
  5. session的安全性要高于cooKie

分布式架构能够使用 session

但是随着分布式架构的流行,单个服务器已经不能满足系统的需要了,通常都会把系统部署在多台服务器上,通过负载均衡把请求分发到其中的一台服务器上,这样很可能同一个用户的请求被分发到不同的服务器上,因为session是保存在服务器上的,那么很有可能第一次请求访问的A服务器,创建了session,但是第二次访问到了B服务器,这时就会出现取不到session的情况

MySQL和Oracle的区别

  1. Oracle是大型数据库,体系比较庞杂。Mysql是中小型数据库,而且是开源的
  2. Oracle占有内存空间大,Mysql占有空间比较小
  3. Oracle支持大并发访问量,是OLTP最好的工具,Mysql并发小,面对大访问量可以做分表分库优化
  4. Oracle没有自动增长类型,Mysql一般使用自动增长类型
  5. Oracle处理翻页的SQL语句就比较繁琐了。每个结果集只有一个ROWNUM字段标明它的位置,并且只能用ROWNUM<100,不能用ROWNUM>80,MYSQL处理翻页的SQL语句比较简单,用LIMIT开始位置,记录个数
  6. MYSQL里用 字段名 like ‘%字符串%’
    RACLE用 字段名like '%字符串%'但不能使用索引,速度不快。(这种方法不能使用索引)
  7. 事物提交方式不同,oracle默认不自动提交,需要用户手动提交。Mysql默认是自动提交。不支持事物。
    Mysql默认自动提交,也就是你提交一个query,他就直接执行,我们可以通过:
    set autocommit=0 禁止自动提交
    set autocommit=1 开启自动提交

SpringBoot常用注解

在这里插入图片描述

  1. @ResponseBody可以作用在方法上或类上,表示该方法的返回结果直接写入 HTTP response body 中,而不会被解析为跳转路径,即不会经过视图解析器,返回什么数据即在页面输入什么数据

  2. @RestController
    该注解是@Controller和@ResponseBody的结合体,一般用于类,作用等于在类上面添加了@ResponseBody和@Controller
    在这里插入图片描述

HashMap

初始容量:默认值为16(懒加载机制,只有当第一次put的时候才创建)
当hashmap中元素个数超过160.75=12的时候,就把数组的大小扩展为216=32,即扩大一倍,然后重新计算每个元素在数组中的位置

线程池

(1)降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。
(2)提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。
(3)提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。

参数
  1. corePoolSize(必需):核心线程数。
  2. maximumPoolSize(必需):线程池所能容纳的最大线程数。
  3. keepAliveTime(必需):线程闲置超时时长.
  4. unit(必需):指定 keepAliveTime 参数的时间单位。
  5. workQueue(必需):任务队列。
  6. threadFactory(可选):线程工厂。
  7. handler(可选):拒绝策略。

线程共享的JVM内存区域有哪些

堆,几乎所有对象实例被分配到这里,也是垃圾收集器管理的主要区域
方法区,由于存储虚拟机加载的类的信息、常量、静态变量、JIT编译后的代码等

Servlet

servlet是一个Java编写的程序,此程序是基于http协议的,在服务器端(如Tomcat)运行的,是按照servlet规范编写的一个Java类。
客户端发送请求至服务器端,服务器端将请求发送至servlet,servlet生成响应内容并将其传给服务器
即,我们在浏览器点击链接和按钮产生的消息不是发送给servlet的,而是发送给web容器(如Tomcat、jetty)的,web容器接受消息后不知道怎么处理,转交给我们编写的servlet处理,那么web容器怎么和servlet交流呢,于是就有了servlet接口(因为接口是定义一种规范的良好表达形式)。我们只需要编写Java类符合servlet规范,那么就能被web容器识别,并被容器管理。

servlet和jsp的区别

1、jsp经编译后就是servlet。
2、jsp更擅长页面表现,servlet更擅长逻辑编辑
3、jsp位于MVC设计模式的视图层,而servlet位于控制层

Servlet的生命周期

Servlet的生命周期为启动服务器之后的第一次调用到服务器关闭
在Servlet中可以重写init()方法和destroy()方法,其中init()方法为第一次调用Servlet,被加载进内存时执行。destroy()方法为关闭服务器时,Servlet被销毁时执行.

左连接,右连接,内连接,全连接

左连接 (left join):返回包括左表的所有记录和右表中连接字段相等的记录
右连接(right join):返回包括右表的所有记录和左表中连接字段相等的记录
等值连接或者叫内连接(inner join):只返回两表相连相等的行
全外连接(full join):返回左右表中所有的记录和左右表中连接字段相等的记录。

相关文章:

  • 北鲲云“药物发现”轻装上阵,从“上云”到“用好云”
  • 微服务项目:尚融宝(55)(核心业务流程:放款(2))
  • 第七:Fiddler抓包教程(7)-Fiddler状态面板-QuickExec命令行
  • C++标准语言day02
  • 1456. 定长子串中元音的最大数目-前缀和算法应用
  • Spartan Labs研报:基础SBT以及隐私性SBT的实现
  • 【英语:基础进阶_语法进阶提升】F7.非谓语动词
  • jenkins教程
  • 《Java并发编程的艺术》——Java并发的前置知识(笔记)
  • 解决vs2022运行控制台项目提示:不知道如何运行名为xxxx和命令为Project的配置文件
  • 【SpringBoot2】02-SpringBoot中如何修改依赖的版本
  • Java Byte byteValue()方法的功能说明
  • 解决本地项目连接虚拟机redis进程失败【Failed connecting to host 6379】
  • EWM /SCWM/CL_DLV_MANAGEMENT_PRD 类的QUERY方法查找 outbound delivery status
  • 动作捕捉系统在仿生足式/多足机器人中的应用
  • JavaScript 如何正确处理 Unicode 编码问题!
  • @jsonView过滤属性
  • 【RocksDB】TransactionDB源码分析
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • centos安装java运行环境jdk+tomcat
  • KMP算法及优化
  • LeetCode算法系列_0891_子序列宽度之和
  • Lucene解析 - 基本概念
  • MQ框架的比较
  • 程序员最讨厌的9句话,你可有补充?
  • 从零开始在ubuntu上搭建node开发环境
  • 从输入URL到页面加载发生了什么
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 今年的LC3大会没了?
  • 来,膜拜下android roadmap,强大的执行力
  • 力扣(LeetCode)21
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • #NOIP 2014#Day.2 T3 解方程
  • #Spring-boot高级
  • #ubuntu# #git# repository git config --global --add safe.directory
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (C)一些题4
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (二)windows配置JDK环境
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (接口封装)
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (四)JPA - JQPL 实现增删改查
  • (算法)求1到1亿间的质数或素数
  • (算法设计与分析)第一章算法概述-习题
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (一)为什么要选择C++
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .net解析传过来的xml_DOM4J解析XML文件