自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java中的异常处理机制的简单原理和应用。

Exception表示程序还能够克服和恢复的问题,其中又分为系统异常和普通异常,系统异常是软件本身缺陷所导致的问题,也就是软件开发人员考虑不周所导致的问题,软件使用者无法克服和恢复这种问题,但在这种问题下还可以让软件系统继续运行或者让软件死掉,例如,数组脚本越界(ArrayIndexOutOfBoundsException),空指针异常(NullPointerException)、类转换异常(ClassCastException);

2023-06-07 01:13:19 114

原创 多线程有几种实现方法?同步有几种实现方法?

notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。wait():使一个线程处于等待状态,并且释放所持有的对象的lock。

2023-06-07 01:12:15 166

原创 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

4.如果其他方法是static,它用的同步锁是当前类的字节码,与非静态的方法不能同步,因为非静态的方法用的是this。3.如果其他个方法都加了synchronized关键字,并且内部没有调用wait,则不能。2.如果这个方法内部调用了wait,则可以进入其他synchronized方法。1.其他方法前是否加了synchronized关键字,如果没加,则能。

2023-06-07 01:11:39 163

原创 线程的基本概念、线程的基本状态以及状态之间的关系

一个程序中可以有多条执行线索同时执行,一个线程就是程序中的一条执行线索,每个线程上都关联有要执行的代码,即可以有多段程序代码同时运行,每个程序至少都有一个线程,即main方法执行的那个线程。如果只是一个cpu,它怎么能够同时执行多段程序呢?这是从宏观上来看的,cpu一会执行a线索,一会执行b线索,切换时间很快,给人的感觉是a,b在同时执行,好比大家在同一个办公室上网,只有一条链接到外部网线,其实,这条网线一会为a传数据,一会为b传数据,由于切换时间很短暂,所以,大家感觉都在同时上网。

2023-06-07 01:11:05 87

原创 四种会话跟踪技术

一个页面由一个编译好的 Java servlet 类(可以带有任何的 include 指令,但是没有 include 动作)表示。request是是代表与 Web 客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个 Web 组件(由于 forward 指令和 include 动作的关系)这实质上是跨越整个 Web 应用程序,包括多个页面、请求和会话的一个全局作用域。session是是代表与用于某个 Web 客户机的一个用户体验相关的对象和属性。

2023-06-07 01:08:37 37

原创 EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?

SessionBean:Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要建立一个Bean的实例时,EJB容器不一定要创建一个新的Bean的实例供客户机调用,而是随便找一个现有的实例提供给客户机。当客户机第一次调用一个Stateful Session Bean 时,容器必须立即在服务器中创建一个新的Bean实例,并关联到客户机上,以后此客户机调用Stateful Session Bean 的方法时容器会把调用分派到与此客户机相关联的Bean实例。

2023-06-07 01:07:43 156

原创 面向对象的特征

面向对象的封装就是把描述一个对象的属性和行为的代码封装在一个“模块”中,也就是一个类中,属性用变量定义,行为用方法进行定义,方法可以直接访问同一个对象中的属性。一个更便于理解的例子就是,司机将火车刹住了,刹车的动作是分配给司机,还是分配给火车,显然,应该分配给火车,因为司机自身是不可能有那么大的力气将一个火车给停下来的,只有火车自己才能完成这一动作,火车需要调用内部的离合器和刹车片等多个器件协作才能完成刹车这个动作,司机刹车的过程只是给火车发了一个消息,通知火车要执行刹车动作而已。

2023-05-19 08:37:11 453

原创 Overload和Override的区别。

这是不行的,我们可以用反证法来说明这个问题,因为我们有时候调用一个方法时也可以不定义返回结果变量,即不要关心其返回结果,例如,我们调用map.remove(key)方法时,虽然remove方法有返回值,但是我们通常都不会定义接收返回结果的变量,这时候假设该类中有两个名称和参数列表完全相同的方法,仅仅是返回类型不同,java就无法确定编程者倒底是想调用哪个方法了,因为它无法通过返回结果类型来判断。1、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;

2023-05-18 21:46:40 602

原创 “==“和equals方法究竟有什么区别?

如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存,对象本身占用一块内存(堆内存),变量也占用一块内存,例如Objet obj = new Object();记住,字符串的比较基本上都是使用equals方法。两条new语句创建了两个对象,然后用a,b这两个变量分别指向了其中一个对象,这是两个不同的对象,它们的首地址是不同的,即a和b中存储的数值是不相同的,所以,表达式a==b将返回false,而这两个对象中的内容是相同的,所以,表达式a.equals(b)将返回true。

2023-05-18 21:43:39 1129

原创 使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?

使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。

2023-05-18 21:42:41 63

原创 说说&和&&的区别

&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str!= null &&!&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

2023-05-18 21:41:38 50

原创 List、Map、Set三个接口,存取元素时,各有什么特点?

Set里面不允许有重复的元素,所谓重复,即不能有两个相等(注意,不是仅仅是相同)的对象 ,即假设Set集合中有了一个A对象,现在我要向Set集合再存入一个B对象,但B对象与A对象equals相等,则B对象存储不进去,所以,Set集合的add方法有一个boolean的返回值,当集合中没有某个元素,此时add方法可成功加入该元素时,则返回true,当集合含有与某个元素equals相等的元素时,此时add方法无法加入该元素,返回结果为false。如果你明白,但表述不清楚,在别人那里则等同于不明白。

2023-05-18 21:39:20 130

原创 String 和StringBuffer的区别

当你知道字符数据要改变的时候你就可以使用StringBuffer。另外,String实现了equals方法,new String(“abc”).equals(new String(“abc”)的结果为true,而StringBuffer没有实现equals方法,所以,new StringBuffer(“abc”).equals(new StringBuffer(“abc”)的结果为false。上面的代码效率很高,因为只创建了一个StringBuffer对象,而下面的代码效率很低,因为创建了101个对象。

2023-05-18 21:36:26 1427

原创 abstract class和interface有什么区别?

接口更多的是在系统架构设计方法发挥作用,主要用于定义模块之间的通信契约。比较两者语法细节区别的条理是:先从一个类中的构造方法、普通成员变量和方法(包括抽象方法),静态变量和方法,继承性等6个方面逐一去比较回答,接着从第三者继承的角度的回答,特别是最后用了一个典型的例子来展现自己深厚的技术功底。6. 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。

2023-05-18 21:30:52 1102

原创 SpringMVC的参数搜集有哪些方式?底层实现是什么?

当一个请求进入 Spring MVC 的处理流程时,Spring MVC 会根据方法参数的类型,选择一个合适的 HandlerMethodArgumentResolver 实现类来进行参数搜集。请求参数:通过 GET 或 POST 方法提交的表单数据,可以通过 @RequestParam 注解将参数绑定到方法的参数上。路径变量:将 URL 中的某些部分作为参数,可以通过 @PathVariable 注解将参数绑定到方法的参数上。

2023-05-18 21:26:43 158

原创 52. SSM和SpringBoot框架对比?

1、springboot一个应用是一个可执行jar(启动类main方法启动web应用),而不像传统的war,内嵌tomcat容器,可以jar形式启动一个服务,可以快速部署发布web服务,微服务最好不过了。Spring Boot集成了绝大部分目前流行的开发框架,就像Maven集成了所有的JAR包一样,Spring Boot集成了几乎所有的框架,使得开发者能快速搭建Spring项目。3、当然结构可能跟一般的ssm有一定区别,但其实主要是在资源文件。2、将原有的xml配置,简化为java配置。

2023-05-18 21:25:19 954

原创 常见的前端框架有哪些?

每个框架都有自己的优点和缺点,以及它特定的用处,我们可以根据我们的项目需求来进行选择。此外,许多选项都是模块化的,可以仅使用所需的组件,也可以混合来自不同前端框架的组件。所以在选择前端框架之前,请考虑您的技能水平以及正在处理的项目的基本要求来更好的选择框架的使用。Bootstrap是当今可用的前端框架中最受欢迎的,它具有直观,时尚的界面而且功能强大可以更快更轻松的实现web开发而且不需要捆绑附件就可以使用许多第三方插件,大多数浏览器都支持它,而且它提供了比其他前端框架更多的组合资源。

2023-05-18 21:23:06 1959

原创 【无标题】

简单来说:Bootstrap是一个做网页的框架(目前最流行的WEB前端框架之一),就是说你只需要写HTML标签调用它的类你就可以很快速的做一个高大上的网页,你不用担心兼容问题,提供了很多样式供你选择!简而言之:你只需要了解相关的class、标签名称等所代表的意思,然后在构建页面的时候,导入bootstrap的JS、css等,它就会去表现相应的效果出来。比如你需要做一个网站的文本显示,你自己写的话你需要写很多代码,但是如果你使用bootstrap框架来写的话,只需要写好HTML标签然后调用类名就可以了!

2023-04-21 11:01:25 57

原创 什么是LayUI?

layui是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用。其外在极简,却又不失饱满的内在,体积轻盈,组件丰盈,从核心代码到 API 的每一处细节都经过精心雕琢,非常适合界面的快速开发。layui 首个版本发布于2016年秋,它区别于那些基于 MVVM 底层的 UI 框架,却并非逆道而行,而是信奉返璞归真之道。准确地说,它更多是为服务端程序员量身定做,开发者无需涉足各种前端工具的复杂配置,只需面对浏览器本身,使得开发十分便捷。

2023-04-21 10:48:08 79

原创 什么是Lucene?

( 4 )设计了独立于语言和文件格式的文本分析接口,索引器通过接受 Token 流完成索引文件的创立,用户扩展新的语言和文件格式,只需要实现文本分析的接口。( 2 )在传统全文检索引擎的倒排索引的基础上,实现了分块索引,能够针对新的文件建立小文件索引,提升索引速度。. Lucene 定义了一套以 8 位字节为基础的索引文件格式,使得兼容系统或者不同平台的应用能够共享建立的索引文件。( 3 )优秀的面向对象的系统架构,使得对于 Lucene 扩展的学习难度降低,方便扩充新功能。

2023-04-14 09:59:07 62

原创 创建对象的过程

创建子类对象必须先创建父类对象,在一个对象被创建过程中,实例变量(对象私有变量)通常被赋值了三次。4、调用本类中的构造方法,实例变量可以在这里第三次赋值。2、递归的构造父类对象,所有实例变量被赋予默认值。3、本类属性初始化,所有实例变量被赋予初始值。1、为父类和子类分配内存空间。

2023-04-13 17:10:54 40

原创 JavaScript和jQuery的关系?

jquery基于JavaScript语言,封装JavaScript的原生方法,提供了简便的函数接口,简化了JS的操作。JavaScript 是一种脚本语言,主要用在浏览器中,实现对网页的文档对象的操作和一些用户交互动作的处理。jQuery 则是 JavaScript 的一个代码库(或习惯性叫类库),它将一些在 JavaScript 开发中经常用到的功能集合起来,以方便开发者直接使用,而不需要再用原生 JavaScript 语句写大量代码,同时可在不同浏览器间实现一致的效果。

2023-04-13 17:05:42 100

原创 什么是Redis?

通常局限点来说,Redis也以消息队列的形式存在,作为内嵌的List存在,满足实时的高并发需求。而通常在一个电商类型的数据处理过程之中,有关商品,热销,推荐排序的队列,通常存放在Redis之中,期间也包扩Storm对于Redis列表的读取和更新。Redis用来做什么?

2023-04-13 16:57:36 47

原创 Oracle与MySQL的区别

MySQL是一个关系型数据库管理系统由瑞典MySQL AB公司开发,属于Oracle旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS关系数据库管理系统) 应用软件之一。MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版。

2023-04-13 16:47:15 732

原创 什么是Linux?

Linux是一套免费使用和自由传播的类Unix操作系统,是一个多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。说的简单点,它就是一个操作系统。

2023-04-13 16:34:51 528

原创 JavaScript和jQuery的关系?

开发中经常用到的功能集合起来,以方便开发者直接使用,而不需要再用原生。语句写大量代码,同时可在不同浏览器间实现一致的效果。的一个代码库(或习惯性叫类库),它将一些在。

2023-04-12 22:05:41 41

原创 什么是数组?数组常用API方法

索引从0开始,并且存放相同结构元素的集合叫数组,数组(Array)是有序的元素序列,数据的组合,也是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来确定数组中唯一的元素。每个数据都使用逗号分隔,数据可以是任何类型,数据顺序排列,可以重复。数组符号:[ ]数组常用API方法1.push()方法语法:array.push(a,b,c);参数必须作用:向数组的最后添加一个或者多个元素返回值:返回数组的新长度。

2023-04-12 22:02:18 567

原创 什么是Map?Map常用API方法?

移除元素(得到返回值value);4.get(key)–访问(得到返回值value);类似于一个地图,精度对应维度,key对应value。3.put(key,修改内容为);

2023-04-12 22:01:38 36

原创 常用的循环

2.while循环. 使用方法:先判断,在执行;当条件表达式成立时,则执行循环体,然后在进行判断,如果条件不成立时,有可能不执行。. 一般用于循环次数不确定的循环.3.do..while循环. 使用方法:先执行,后判断;一般用于循环次数不确定的循环,与while循环不同的是先执行后判断,至少会执行一次。1.for循环(已知循环多少次). 使用方法:先判断,在执行;如果循环次数确定,那么一般用for循环.常用的循环有几种方法?

2023-04-12 21:49:06 40

原创 方法覆盖与重载

解决了同一个类中,相同的功能方法名不同的问题,既然是相同的功能,那么方法的名字就 应该相同。解决子类继承父类之后,可能父类的某一个方法不满足子类的具体特征,此时需要重新在子类中定义该方法,并重写方法体。在继承和实现的前提下,具有相同的方法名,反参类型,更宽,更高的修饰符,同类中,方法名相同,方法参数列表不同(参数类型、参数个数、参数顺序)覆盖方法必须和父类中被覆盖方法具有相同的方法名称、输入参数和返回值类型。(1)在同一个类中,方法名相同,参数列表不同,参数个数不同,参数类型不同。

2023-04-12 21:44:07 571

原创 HTML标签

HTML标签

2023-04-12 16:29:49 517

原创 List 和 Set的区别?

List接口. 常见实现类如下:. ArrayList(数组实现) :允许对元素进行快速随机访问,从ArrayList的中间位置插入或者删除元素时,需要对数组进行复制、移动、代价比较高。1、List和Set之间很重要的一个区别是是否允许重复元素的存在,在List中允许插入重复的元素,而在Set中不允许重复元素存在。2、与元素先后存放顺序有关,List是有序集合,会保留元素插入时的顺序,Set是无序集合。3、List可以通过下标来访问,而Set不能。List 和 Set的区别?

2023-04-10 12:01:15 38

原创 对类和对象的理解

对象是人们要进行研究的任何事物,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象具有状态,一个对象用数据值来描述它的状态。对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。对象是类的一个实例(),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。

2023-04-06 14:56:39 384

原创 Shiro

领域,Shiro 从 Realm 获取安全数据(如用户、角色、权限),就是说 SecurityManager 要验证用户身份,那么它需要从 Realm 获取相应的用户进行比较以确定用户身份是否合法;目前,使用 Apache Shiro 的人越来越多,因为它相当简单,对比 Spring Security,可能没有 Spring Security 做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的 Shiro 就足够了。用户表,用户角色表,角色表,角色资源表,资源表关系。

2023-03-15 22:10:37 255

原创 Shiro的主要功能?

它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC(控制反转),DI( 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。Shiro 主要分为两个部分就是认证和授权,在个人感觉来看就是查询数据库做相应的判断而已,Shiro只是一个框架而已,其中的内容需要自己的去构建,前后是自己的,中间是Shiro帮我们去搭建和配置好的。它所有的架构也是基于认证和授权这两个核心功能去实现的。

2023-03-15 18:57:19 266

原创 Authentication认证和Authorization授权的作用?

Authorization(授权) 发生在 Authentication(认证)之后。授权,光看意思大家应该就明白,它主要掌管我们访问系统的权限。比如有些特定资源只能由具有特定权限的人才能访问,比如 admin,有些对系统的敏感资源操作,比如删除、添加、更新,通常特定人才具有。Authentication(认证) 是验证当前身份的凭据(例如用户名/用户ID和密码),通过这个凭据,系统得以知道你就是你,也就是说系统存在你这个用户。在系统中,这两个一般是被结合在一起使用的,目的就是为了保护系统的安全性。

2023-03-15 18:56:53 93

原创 常见的异常

数组下标越界异常:ArrayIndexOutOfBoundsException。不支持的操作异常:UnsupportedOperationException。下标越界异常:IndexOutOfBoundsExecption。网络请求异常:HttpHostConnectException。数组负下标异常:NegativeArrayException。方法未找到异常:NoSuchMethodException。数据格式异常:NumberFormatException。

2023-03-14 19:41:35 153

原创 MyBatis-Plus框架

内置代码生成器:采用代码或者Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码,支持模板引擎,更有超多自定义配置等您来使用。强大的CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求。分页插件支持多种数据库:支持MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多种数据库。

2023-03-14 19:39:16 161

原创 蓝桥杯题-按摩师

给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。预约序列 nums= {1,5,6,9,19}比对 1+6+19 和 5+9 的最大值。//大于2个预约,取中间,放两边。//初始化记录总时长分钟数。//预约1,2号,固定数值。

2023-03-14 19:34:33 42

原创 MySQL和Oracle的区别

Oracle通过在undo表空间中构造多版本数据块来实现读一致性,每个session 查询时,如果对应的数据块发生变化,Oracle会在undo表空间中为这个session构造它查询时的旧的数据块。Oracle逻辑备份时不锁定数据,且备份的数据是一致的。Oracle保证提交的事务均可以恢复,因为Oracle把提交的sql操作线写入了在线联机日志文件中,保存到磁盘上,如果出现数据库或者主机异常重启,重启Oracle可以靠联机在线日志恢复客户提交的数据。Mysql是开源的,Oracle是收费的,且价格昂贵。

2023-03-09 15:13:42 279

第六章 公众号的图文创作.xmind

第六章 公众号的图文创作.xmind

2022-12-08

空空如也

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

TA关注的人

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