自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 序列化与反序列化的原理与作用

反序列化(1)Java序列化是指把Java对象转换为字节序列的过程,而Java反序列化是指把字节序列恢复为Java对象的过程;(2)序列化:对象序列化的最主要的用处就是在传递和保存对象的时候,保证对象的完整性和可传递性。序列化是把对象转换成有序字节流,以便在网络上传输或者保存在本地文件中。序列化后的字节流保存了Java对象的状态以及相关的描述信息。序列化机制的核心作用就是对象状态的保存与重建。

2023-10-26 21:20:07 172

原创 Map list set 三者联系与区别

ConcurrentHashMap对整个桶数组进行了分割分段(Segment),然后在每一个分段上都用lock锁进行保护,相对于HashTable的synchronized锁的粒度更精细了一些,并发性能更好,而HashMap没有锁机制,不是线程安全的。根据键得到值,对 map 集合遍历时先得到键的 set 集合,对 set 集合进行遍历,得到相应的值。HashMap 底层是哈希表,允许null 键和null值,线程不安全的,效率高(通过 hashCode()和 equals()保证元素唯一);

2023-10-26 21:16:43 77

原创 使用AspectJ框架实现AOP

2.没有返回值* 3.方法名自定义* 4.方法中有一个Exception* @AfterThrowing:异常通知* 属性: value:* throwing:表示目标方法抛出的异常对象 ,名称和方法参数名一致* */System.out.println("异常通知:方法发送异常时,执行:"+ex.getMessage());//发送邮件,短信,通知开发人员}*/

2023-10-23 22:51:44 73

原创 Java线程终止的方式

假如此时已经调用了 shutdown 方法,但是有一个线程依然在执行任务,那么此时调用isShutdown 方法返回的是 true ,而调用 isTerminated 方法返回的便是 false ,因为线程池中还有任务正在在被执行,线程池并没有真正“终结”。调用 shutdown() 方法之后线程池不会立刻就被关闭,因为这时线程池中可能还有很多任务正在被执行,或是任务队列中有大量正在等待被执行的任务,调用 shutdown() 方法后线程池会在执行完正在执行的任务和队列中等待的任务后才彻底关闭。

2023-10-23 22:42:12 112

原创 Session与Cookie区别联系及生命周期

关联的session id,session id的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个session id将被在本次响应。(2)session的生命周期是间隔的,从创建时,开始计时如在20分钟,没有访问session,那么session生命周期被销毁。正统的cookie分发是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应头中加上一行特殊的指示以提示。当你在浏览网站的时候,WEB 服务器会先送一部分资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,

2023-10-21 21:53:30 36 1

原创 线程使用的四种方式

30 //5.将FutureTask的对象作为参数传递到Thread类的构造器中,创建Thread对象,并调用start()30 //5.将FutureTask的对象作为参数传递到Thread类的构造器中,创建Thread对象,并调用start()28 //4.将此Callable接口实现类的对象作为传递到FutureTask构造器中,创建FutureTask的对象。8 System.out.println("线程需要执行的代码" + "->"

2023-10-21 21:49:22 100 1

原创 文件传输流

当我们需要传递文件流时,可以将文件数据读取到一个字节数组中,然后将字节数组通过网络或者其他方式传递给目标模块或者组件,最后再将字节数组写入目标文件中。在示例代码中,我们首先创建了一个输入流inputStream,用于读取源文件source.txt的数据。接下来,我们将输入流中的数据读取到字节数组中。然后,我们将字节数组buffer中的数据写入输出流中,写入目标文件。// 将字节数组中的数据写入输出流中,写入目标文件。将字节数组中的数据写入输出流中,写入目标文件。将输入流中的数据读取到一个字节数组中。

2023-10-21 21:45:05 158 1

原创 AOP通知

3. 返回通知(After Returning Advice):在目标方法执行后返回结果时执行的通知类型。4. 异常通知(After Throwing Advice):在目标方法执行发生异常时执行的通知类型。2. 后置通知(After Advice):在目标方法执行后执行的通知类型。作用 设置当前通知方法与切入点之间绑定关系,当前通知方法在原始切入点方法正常执行完毕后执行。作用 设置当前通知方法与切入点之间绑定关系,当前通知方法在原始切入点方法运行抛出异常后执行。位置 通知方法定义上方。

2023-10-21 21:40:44 30 1

原创 Spring框架

容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring Boot项目中,无论是执行默认即存在的类的main()方法,还是执行带@SpringBootTest注解的类中的测试方法,都会加载整个项目的配置,所以,组件扫描是已启动的。

2023-10-17 20:20:26 283

原创 IOC与AOP

依赖注入(Dependecy Injection)和控制反转(Inversion of Control)是同一个概念,具体的讲:当某个角色 需要另外一个角色协助的时候,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在spring中 创建被调用者的工作不再由调用者来完成,因此称为控制反转。创建被调用者的工作由spring来完成,然后注入调用者 因此也称为依赖注入。spring以动态灵活的方式来管理对象 , 注入的两种方式,设置注入和构造注入。设置注入的优点:直观,自然。

2023-10-17 20:15:26 20

原创 使用pagehelper实现分页功能

PageHelper框架可以实现我们提供页码和每页条数,自动实现分页效果,收集分页信息,其分页原理就是在程序运行时,拦截sql语句,在语句尾部添加limit关键字,并按照分页信息向limit后追加分页数据。分页查询,是指当所查询数据量较多且需要显示时,采用按页显示的方法,分多次显示数据信息,而不是一次性全部显示。// 但是分页查询方法返回的并不是list类型的对象,我们也需要获得分页的信息。// list中的数据就是按照分页条件查询出来的某一页的数据。// 使用指定的代码设置要查询的页码和每页的条数。

2023-10-15 14:17:12 945 1

原创 动态SQL

if表达式一般使用在SQL的where条件后面,判断参数是否传递使用if test属性,该属性必填,为true或false,test使用的OGNL表达式处理,返回true则进入到if标签中的SQL,返回false则不会进入标签。where表达式一般和if表达式一块使用,如果条件一个都不满足,则不拼接where条件,如果有一个或者多个if表达式,where会直接拼接在SQL上,并且紧随where的表达式的and或者or会被忽略掉。不传递参数:select * from Student where 1=1。

2023-10-15 14:10:11 365 1

原创 通过ecplise导入mysql的jar包时,右键找不到build path问题

当我们执行java连接数据库程序的时候,我们需要再我们的项目里导入mysql的jar包,这时,我们需要右键->build path进行导入,但是右键的时候并没有出现build path。照到项目里的src,右击选择Build path 再选择Configure Build Path。然后再项目中找到你需要导入的jar包 Apply后就添加成功了。点击 Libraries后 点击Add JARs。

2023-10-15 14:04:42 1234 1

原创 什么是MyBatis

MyBatis 是一款优秀的持久层框架它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

2023-10-12 19:26:53 34

原创 mysql查询使用

(1)命令:select * from <表名>;(2)命令:select <要查询的字段> from <表名>;

2023-09-26 16:53:47 413

原创 Elment-UI组件

Element UI是一个基于Vue.js的前端组件库,它提供了丰富的UI组件和工具,用于构建现代化的Web应用程序。大量可定制的UI组件:Element UI提供了众多常用的UI组件,如按钮、表格、表单、弹窗等,每个组件都具有丰富的选项和样式定制能力。Form组件用于收集和验证用户输入的数据。强大的主题定制能力:开发者可以通过自定义主题样式,将Element UI的外观与应用程序的风格保持一致。完善的文档和社区支持:Element UI拥有详尽的文档和示例,以及活跃的开源社区,可以提供帮助和支持。

2023-08-30 16:47:50 262 1

原创 Vue框架

一.MVVMMVVM 是 Model-View-ViewModel 的简写。MVVM 就是将其中的 View(可理解为操作界面) 的 状态和行为抽象化,让我们将视图 UI 和业务逻辑分开 它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑2.vue框架的介绍什么是Vue:Vue 是一套用于构建用户界面的渐进式框架. 与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。

2023-08-25 00:21:41 53 1

原创 Java Web ----EL

例子:<c:set var="name" value="孙悟空" scope="request"></c:set>例子:<c:out value="" default="" escapeXml=""></c:out><c:param name="name" value="孙悟空"></c:param><c:param name="name" value="唐僧"></c:param>例子:<c:remove var="name" scope="session"/>

2023-08-16 15:05:49 41 1

原创 关于解决Eclipse启动tomcat报错:/bin/bootstrap.jar which is referenced by the classpath, does not exist.

百度后发现可能是我将tomcat与项目文件放在了一起,我将tomcat更改位置甚至删除后发现没有解决。双击server下的tomcat,点击open launch configuration。点击classpath后在重新更改tomcat path 的位置后重启sts即可。我又重新更改了jar包的位置并且注意与项目文件分开。启动tomcat,点击start时发生了。重新配置tomcat文件位置。

2023-08-10 20:02:59 350 1

空空如也

空空如也

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

TA关注的人

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