自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 日常记录-SpringAOP、静态代理、动态代理

让目标对象和代理类实现同一个接口,目的是让客户端访问的时候代理对象和目标对象表现行为是一致的,控制对具体目标对象的访问。1、代理对象和目标对象实现相同的接口,有一个目标对象就要有一个代理对象,会产生很多代理类,类太多。定义:为目标对象提供一种代理以控制对这个对象的访问,在不改变目标对象的行为的前提下,对目标对象的行为增强。2、代理对象的生成,是利用JDK API, 动态的在内存中构建代理对象。优点:可以做到不修改目标对象的前提下,对目标对象的功能进行扩展。缺点:目标对象一定要实现接口否则不能动态代理。

2025-03-01 09:14:02 365

原创 日常记录-注解

2、注释:用于阅读,对编译、运行没有影响。通过自定义注解,可以给类、字段、方法上添加描述信息。1、注解:告诉编译器如何运行程序。1、告诉编译程序如何运行。元注解(表示注解的注解)

2025-02-26 17:02:54 489

原创 日常记录-泛型

3、K V (key value) 分别代表java键值中的Key Value。以后才有的, 可以在编译时期进行类型检查,且可以避免频繁类型转化。2、E (Element)在集合中使用,因为集合中存放的是元素。泛型只在编译时期有效,编译后的字节码文件中不存在有泛型信息。1、T (Type) 具体的Java类。表示不确定的 Java 类型。三、泛型方法/泛型类/泛型接口。4、N (Number)数值类型。

2025-02-25 21:30:35 214

原创 日常记录-反射

反射(Reflection)指在编译的时候不需要确定数据的类型,而是延迟到运行时获取类的信息(如类名、方法名、字段名)、调用类的方法、访问或修改类的字段,而无需在编译时确定这些信息,反射使Java这种静态编译型的语言具有了动态性。通过这些类,可以动态地加载类、创建类实例、调用类的方法、访问和修改类的字段等操作。1、通过反射机制,可以实现动态加载类、调用方法、访问字段等操作,从而使程序具有更强的扩展性和灵活性。2、通过反射可以编写一些通用的工具类,比如序列化/反序列化工具、注解处理器、配置文件解析器等。

2025-02-21 18:22:42 234

原创 日常记录-JSON、Ajax

2、运行原理:页面发起请求,会将请求发送给浏览器内核中的Ajax引擎,Ajax引擎会提交请求到服务器端,在这段时间里,客户端可以任意进行任意操作,直到服务器端将数据返回给Ajax引擎后,会触发设置的事件,从而执行自定义的js逻辑代码完成某种页面功能。JSON是JavaScript Object Notation缩写,是一种轻量级的数据交换格式,是一种与语言无关的数据交换的格式。1、对象格式:{"key1":obj1, "key2":obj2, "key3":obj3...}2、移动端与服务端的数据交换。

2025-02-12 16:12:04 407

原创 日常记录-Cookie、Session、域对象

设置Cookie信息在浏览器的磁盘文件中存储的时间是10分钟,过期浏览器自动删除该Cookie信息,如果先要删除客户端已经存储的Cookie信息,就是将持久化时间设置为0。②、request.getSession(true) :创建或得到session对象,原来有Session就直接返回,没有Session自动创建新的session对象。3、当把当前某个浏览器的窗口全关闭,再打开,发起相同的请求时,是不同的session;2、当使用不同的浏览器时,发送请求,即使发送相同的请求,是不同的session;

2025-02-12 15:18:10 1626

原创 日常记录-MVC模式、三层架构、分页

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范,通过使用将业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。1、表现层负责将View传递过来的数据,封装之后交给Service处理,Service处理完了之后,再拿到结果交给界面。2、设计sql语句来查询当前页的数据以及总的数量来计算页数。

2025-02-11 22:46:47 544

原创 日常记录-转发、重定向、Get、Post

Get和Post都是通过req.getParameter("")这种形式来获取参数。1、采用URL请求路径传输参数,参数拼接在URL后面,因此传输过程中隐私性较差。转发简单来说就是查询完数据后将其转发到一个jsp页面进行展示。重定向主要是通过先进行添加、删除、修改之后重定向到查找所有。1、采用实体内容传递参数,因此传输过程中不可见、隐私性好。2、由于使用实体内容来传输数据所以数据大小没有限制。2、容纳的数据有限只能传递少量参数。:form表单请求默认是get。

2025-02-10 22:50:56 257

原创 日常记录-JDBC

1、PreparedStatement可以使用预编译的sql,只需要发送一次sql语句,后面只要发送参数即可,公用一个sql语句,而Statement只能使用静态的sql,字符串拼接。总而言之在JDBC里面Java这个公司只是提供了一套接口Connection、Statement、ResultSet,每个数据库厂商实现了这套接口。3、PreparedStatement可以有效的防止sql注入,而Statement不能防止sql注入。1、加载驱动Class.forName("")4、创建Statement。

2025-02-01 21:06:12 313

原创 日常记录-IO流

IO流的介绍:流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。1、字符流以字符为单位进行读取和写入操作,适合处理文本数据,会自动处理字符编码转换,避免了字节流在处理文本时可能出现的乱码问题。:一般情况下先打开的后关闭,后打开的先关闭,另外根据依赖关系谁依赖于谁,先关闭依赖的再关闭被依赖的。3、字节流可以用于读写任何类型的文件,但对于文本文件的处理可能需要做字符编码转换。

2025-02-01 20:42:10 481

原创 日常记录-Java遇到的异常总结

运行期异常:程序存在bug,如数组越界,0被除,空指针等异常需要更改程序来避免,Java编译器强制要求处理这类异常。如果抛出运行时异常,是要根据抛出的异常的信息去分析程序的错误,但是在写代码时候绝大部分情况下不去try-catch运行时异常。异常就是程序运行时候出现不正常情况,异常的由来是Java是纯面向对象语言,异常就是Java用面向对象的思想将不正常的情况进行了封装。编译时异常:不是程序本身的逻辑错误,Java编译器强制要求必须处理这类异常,如果不去处理这个异常,程序就会报错。

2025-01-21 09:30:00 834

原创 日常记录-数据库知识

内联接有两种写法,一种是inner join,另一种是join,这两种写法都是一样的,可以理解为join是inner join的缩写。从左表中取出每一条记录,去右表中与所有的记录进行匹配:匹配必须是某个条件在左表中与右表中相同最终才会保留结果,否则不保留。程序结束后数据丢失、频繁的IO操作,效率不高、数据的管理非常不方便,需要把所有的数据整体都读取出来才能操作。关系数据库:把信息分解成多个表,一个数据一个表,各表通过某些共同的值互相连接。2、几张表的关系如果搞不清楚,画一下ER图,弄清楚表和表之间的关系。

2025-01-21 09:00:00 460

原创 日常记录-Java基础知识-集合框架

ArrayList内部是使用可増长数组实现的,所以是用get和set方法是花费时间为常数级,但是如果插入元素和删除元素,除非插入和删除的位置都在表末尾,否则代码开销会很大,因为里面需要数组的移动而LinkedList是使用双链表实现的,所以get会非常消耗资源,除非位置离头部很近。1、Collection中的集合,元素是孤立存在的,向集合中存储元素采用一个个元素的方式存储。2、Map中的集合,元素是成对存在的。①、获取Map集合中所有的键,由于键是唯一的,所以返回一个Set集合存储所有的键。

2025-01-20 11:49:43 1284

原创 日常记录-Java基础知识-String、包装数据类型

abc”字符串为常量字符串,也是一个对象。如果常量池中没有“abc”字符串对象,它就会new一个字符串对象,如果存在该字符串对象,就会把字符串的地址赋给栈中存放的变量。1、String长度是不可改变的,StringBuffer、StringBuilder长度是可变的。变量名放在栈里面,指向的对象放在堆里面,变量通过存储的地址值找到堆里面的对象。“equals”:比较的是字符串的内容是不是相等。“==”:比较的是指向对象的地址值。包装数据类型是对基本数据类型的封装。

2025-01-20 11:06:47 460

原创 日常记录-Java基础知识-关于继承、重载、重写、多态、抽象类、接口、final、static

静态的属性和方法是属于类的,在类加载到内存中就可以访问,不需要new对象就可以使用,但是可以被所有对象所共享而非静态的属性和方法如实例属性和方法必须通过new对象访问。重写是由于子类对父类中定义的方法不满意,子类需要重新定义父类中的方法。同一个类中方法名一样参数列表不一样而重写是父类中定义的方法子类不满意,子类重新定义这个方法。2、如果父类是private的方法,子类是默认方法,那么子类是不知道这个方法的,不是覆盖。继承:继承是一种严格的父子关系,父类里面的属性和方法一定是所有子类所共有的。

2025-01-16 22:05:52 528

原创 日常记录-Java基础知识-面向对象:类、封装、构造方法

面向对象的封装是一种编程概念和原则,它通过将数据和操作封装在一个对象中,以实现信息隐藏和安全性。封装使得对象的内部细节对外部不可见,只暴露必要的接口供其他对象进行交互。易混淆知识点:Java是编译型、强类型语言而Javascript是解释型、弱类型语言。1、构造方法是在new对象的时候运行,而一般的方法是在对象调用的时候才执行。2、一个对象的建立,构造方法只执行一次,而一般方法可以被改对象调用多次。面向对象的特征有:抽象、封装、继承、多态。3、在new对象的时候会调用构造方法。系统默认提供无参数构造。

2025-01-16 21:04:33 339

原创 日常记录-Java基础知识-数组

参数说明:source:源数组 0:数组起始位置 dest:目标数组 source.length:复制的元素的个数。数组是存放同一类型的集合,在内存里面开辟的是一整块的区域;3、使用 Arrays.copyOfRange 方法。2、使用 Arrays.copyOf 方法。数组定义的方式有静态初始化和动态化。数组最大的缺点就是长度固定;4、使用 clone 方法。容易遇到数组下标越界异常。

2025-01-16 20:47:48 184

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除