没有记住的知识点

24 篇文章 0 订阅
0 篇文章 0 订阅

JAVA基础

执行顺序

构造代码块,优于构造函数,迟于静态代码块
父类静态代码块>子类静态代码块>父类构造代码块>父类构造函数>子类构造代码块>子类构造函数

内部类

外部类访问内部类 创建 new 内部类();
其他类访问内部类 创建 new 外部类 . new内部类();

Java内存模型

Person P = new Person();创建了2个对象
① Person p ;创建对象并分配了内存,但未赋予值;
②new Person();创建对象并分配了堆内存
③ P= new Person() 赋值
String s = new String(“111”); 存在3个对象
①字符串常量池中创建对象"111";
② new String()堆中创建 new String()对象 ;
③String s栈中创建对象并分配了内存,但未赋予值;
④ String s = new String(“111”)赋值

对象创建、内存分配

类的加载——双亲委派模型

当一个类加载器收到类加载任务时,会先交给自己的父加载器去完成,因此最终加载任务都会传递到最顶层的BootstrapClassLoader,只有当父加载器无法完成加载任务时,才会尝试自己来加载。
好处是保证使用不同类加载器最终得到的都是同一个对象,这样就可以保证Java 核心库的类型安全

泛型

为什么说是“伪泛型”?
List ss = new ArrayList<>();
java中的泛型,之所以在运行时还能获取到String这个指定的泛型类型,是因为通过反射获取并将该类型信息记录了下来在class文件中,当运行时会调用该字节码文件,故读取信息即可获得;
等号右侧的信息,不会被记录在class文件,故运行时实际参数的类型被擦除,是无法获取的。
声明泛型会产生的.class文件

故泛型类没有.class 或.getClass() 方法。因为方法是在运行时调用的,但运行时泛型信息是被擦除的。可以使用 new TypeReference<List>(){} 返回.class二进制字节码信息。局限:不能用于未指明的泛型

泛型嵌套的类型信息获取问题

反射

重载方法怎么办(properties文件怎么配置?键不能重复)方法含参怎么办?如何准确对应(方法名一旦变化对应参数类型甚至数量都会变化)

Web

Servlet

  1. Servlet生命周期
    默认第一次访问时执行init
    可配置loadonstartup使其在服务器启动时执行

  2. servletContext域对象
    获取方式:直接 ServletContext sc = getServletContext();(不需要对象调用)
    方法:

     set/get/remove Attribute(“属性名”) 存储和获取属性;
     getRealPath(“文件名”)获取项目真实路径 (直接返回绝对路径)
     			(相对路径是相对于web-Content)(src下的文件的相对路径是web-inf/classes)
     getInitParameter("username") 获取全局化参数(web.xml文件中的 context-param 
    
  <context-param>
    <param-name>password</param-name>
    <param-value>pwd</param-value>
  </context-param>

JSP

  1. JSP内置对象
    在这里插入图片描述
  2. 项目路径
    在jsp页面直接getServletContext().getRealPath(“相对路径地址”)
    在页面中动态获取项目路径的方法:${pageContext.request.contextPath }

Controller

  1. 下载时需要设置
    服务器向客户端输出内容时,为了避免客户端浏览器的不同解析行为(可能会直接解析并打开),需要设置:

     //响应输出的文件类型
     response.setContentType(this.getServletContext().getMimeType(filename));
     //响应的响应头,告知文件是个附件attachment,即需要下载而非打开
     //为避免中文文件名产生乱码,找不到文件,文件名应重新编码
     response.setHeader("content-disposition", "attachment;filename="+new String(filename.getBytes("utf-8"),"iso8859-1"));
    
     我个人电脑编码格式奇葩,具体什么格式之间互相转码视情况而定
    

前端

标签

  1. select标签属性:multiple=“multiple”:按住Ctrl可多选

JS

  1. js中 === 同时比较值和类型, == 只比较值(字符串之间的比较用==)

JQuery

  1. jQuery html()与text()方法区别
    html–向页面元素存值时会解析内容中包含的HTML标签
    text–向页面元素存值时不解析内容
    为何取值时都取不到带标签的整个结构?取值时没有区别?

Json

  1. json值获取
    Json对象.键
    Json对象[“键”]
  2. Json解析
    Jsoup.parse(File对象或URL)-- 获取document对象
    调用.select(选择器)方法 – 获取具体element对象
    调用.text()等方法 – 获取内容

数据库

CRUD

获取自增主键方式

    1. SSM注解开发:Mapper接口中的方法上添加注解:
		@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
    2. SSM+XML开发:mapper映射xml中添加语句
		<selectKey keyProperty="id" resultType="int" order="AFTER">
            SELECT last_insert_id()
        </selectKey>
    3. SpringBoot使用mapper- Spring-boot-start启动器:使用自动生成的insert方法时,在实体类的主键属性上使用注解@Id和 @GeneratedValue(generator="id"),并在调用mapper的insert(实体类 实例)方法时,自动将自增主键返回并赋给实例。故返回传入的实例参数即可。

算法

数组排序

  1. 快速排序
    选取基准数,从左往右找比基准数大的 & 从右往左找比基准数小的 ,在两边各自找到后交换;未找到直接遇到基准数则与基准数交换

在这里插入图片描述

项目配置

SpringBoot静态资源配置默认路径

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值