自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springBoot项目的异常设计(全局异常处理)

全局异常处理AjaxResult 返回结果编写一个类返回状态码code和异常描述message/** * @Auther: ARong * @Description: 处理结果 */@Datapublic class AjaxResult { public AjaxResult() { } public AjaxResult(int code, String message) { this.code = code; this.mess

2022-01-11 17:26:29 407

原创 线程和进程的区别是什么?

进程是资源分配的最小单位,线程是CPU调度的最小单位线程在进程下行进(单纯的车厢无法运行)一个进程可以包含多个线程(一辆火车可以有多个车厢)不同进程间数据很难共享(一辆火车上的乘客很难换到另外一辆火车,比如站点换乘)同一进程下不同线程间数据很易共享(A车厢换到B车厢很容易)进程要比线程消耗更多的计算机资源(采用多列火车相比多个车厢更耗资源)进程间不会相互影响,一个线程挂掉将导致整个进程挂掉(一列火车不会影响到另外一列火车,但是如果一列火车上中间的一节车厢着火了,将影响到所有车厢)进程可以拓展

2020-09-01 09:58:27 419

原创 String类常用的方法有哪些?

indexOf() 返回指定字符得索引charAt() 返回指定索引处得字符repalce() 字符串替换trim() 去除字符串两端的空白split() 分割字符串 返回分割后的字符串数组getBytes() 返回字符串的byte类型数组length() 返回字符串的长度toLowerCase() 字符串转小写toUpperCase() 字符串转大写substring() 截取字符串equals() 字符串比较...

2020-08-31 14:13:11 219

原创 java 中操作字符串都有哪些类?它们之间有什么区别?

String、StringBuffer、StringBuilderStringBuffer、StringBuilder都是字符串的缓冲区、可变的字符序列;具有相同的构造和方法区别String、StringBuffer、StringBuilder内存String 是不可变的对象,每次操作都会生成新的 String 对象,然后将指针指向新的 String 对象,StringBuffer、StringBuilder 可以在原有对象的基础上进行操作,所以在经常改变字符串内容的情况下最好不要使用 S

2020-08-31 14:07:57 138

原创 final 在 java 中有什么作用?

final作为Java中的关键字可以用于三个地方。用于修饰类、类属性和类方法。特征:凡是引用final关键字的地方皆不可修改!(1)修饰类:表示该类不能被继承;(2)修饰方法:表示方法不能被重写;(3)修饰变量:表示变量只能一次赋值以后值不能被修改(常量)。重点 当final修饰的是一个基本数据类型数据时, 这个数据的值在初始化后将不能被改变; 当final修饰的是一个引用类型数据时, 也就是修饰一个对象时, 引用在初始化后将永远指向一个内存地址, 不可修改. 但是该内存地址中保存

2020-08-31 11:45:23 151

原创 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?

两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?hashCode() 返回该对象的哈希码值;equals() 返回两个对象是否相等。在java中,equals和hashCode是有设计要求的,equals相等,则hashCode一定相等,反之则不然。通俗的讲 equals和hashCode 是类似 key : value结构 equals是key hashCode为 value在集合中,比如HashSet中,要求放入的对象不能重复,怎么判

2020-08-31 11:28:12 283

原创 java中==和equals的区别是什么?

什么是==?等于比较运算符。即使他们的数据类型不相同,只要他们的值相等,也都将返回true…(在这里我们可以理解成==比较的是两个变量的内存地址)什么是equals()?equals()方法是Object类的方法,在Object类中的equals()方法体内实际上返回的就是使用==进行比较的结果.但是我们知道所有的类都继承Object,而且Object中的equals()方法没有使用final关键字修饰,那么当我们使用equal()方法进行比较的时候,我们需要关注的就是这个类有没有重写Object中的

2020-08-31 10:53:50 303

原创 Spring注入的三种方式

Spring通过DI(依赖注入)实现IOC(控制反转),常用的注入方式主要有三种:构造方法注入,setter注入,基于注解的注入。构造方法注入先简单看一下测试项目的结构,用maven构建的,四个包:entity:存储实体,里面只有一个User类dao:数据访问,一个接口,两个实现类service:服务层,一个接口,一个实现类,实现类依赖于IUserDaotest:测试包在spring的配置文件中注册UserService,将UserDaoJdbc通过constructor-arg标签注入到U

2020-08-28 17:27:31 311

原创 面试模块(问题总会)

一、Java 基础(Java基础的答案)JDK 和 JRE 有什么区别?== 和 equals 的区别是什么?两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?final 在 java 中有什么作用?java 中的 Math.round(-1.5) 等于多少?String 属于基础的数据类型吗?java 中操作字符串都有哪些类?它们之间有什么区别?String str="i"与 String str=new String(“i”)一样吗?如何将字符串反转?

2020-08-28 15:45:39 360

原创 Spring有哪些模块什么含义

Spring框架主要有哪些模块主要七大模块介绍 Spring AOP 面相切面编程 Spring ORM Hibernate|mybatis|JDO Spring Core 提供bean工厂 IOC Spring Dao JDBC支持 Spring Context 提供了关于UI支持,邮件支持等 Spring Web 提供了web的一些工具类的支持 Spring MVC 提供了web mvc , webviews , jsp ,pdf ,e

2020-08-28 15:39:20 88

原创 AOP

通知:切面有必须要完成的工作,在AOP中,切面的工作被称为通知。通知定义了切面是什么以及何时使用,除了描述切面要完成的工作,通知还解决了何时执行这个工作的问题,它应该在某个方法之前?之后?之前和之后都调用?还是只在方法抛出异常时调用?连接点:连接点是应用程序执行过程中,能够插入切面的一个点。切点:是在连接点的基础上定义切点,比方说一个类由十几个方法,每个方法的调用前和调用后都可以插入通知,但是你只想选择几个方法插入通知,因此你定义一个切点来选择你想插入的通知的方法。切面:切面就是通知和切点的结合。织

2020-08-28 15:28:25 78

原创 JAVA中&&和&、||和|(短路与和逻辑与、短路或和逻辑或)的区别

JAVA中&&和&、||和|(短路与和逻辑与、短路或和逻辑或)的区别&&逻辑与  ||逻辑或  它们都是逻辑运算符& 按位与  | 按位或  它们都是位运算符if(a==1&&b==2) 这是说既要满足a=1也要满足b=2if(a==1||b==2) 这是说或者满足a=1或者要满足b=2而a&b或者a|b则是二进制的与或运算&同为1时为1,否则为0|同为0时为0,否则为1&&逻辑与 也叫做短路与 因为只要当前项为假,它就不往后判断了,直接认为表达式为假||逻辑或 也

2020-08-25 15:29:23 404

原创 过滤器

web容器启动的时候实例化,当web容器关闭的时候销毁。步骤重定向和转发的区别 jsp1-----》 jsp2重定向页面地址转发到新的地址jsp2转发请求地址仍然是请求的地址jsp1,但是内容展示的是转发后的新地址内容。...

2020-08-25 15:29:10 49

原创 监听器

监听器定义

2020-08-25 15:28:55 63

原创 消息中间件

1. 概述:消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。2. 模式一点对点说明:消息生产者生产消息发送到queue中,然后消息消费者从queue中取出并且消费消息。消息被消费以后,queue中不再存储,所以消息消费者不可能消费到已经被消费的消息。 Queue支持

2020-08-25 15:28:25 69

原创 IDEA疯狂快捷

非空判断if判断是否==空 String . nullif判断非 != 空 String . nn 或者String . notnullfor循环从第一个元素遍历 usertList . fori从最后一个元素遍历 usertList . forr增强for循环 usertList . for 或者 usertList . iternew对象 user . new创建局部变量 new User() . var异常 new User() . try快捷键返回

2020-08-25 15:27:34 118

原创 MyBatis

优点:使用数据库连接池管理链接,避免了频繁创建了、关闭链接,浪费资源影响性能的问题。用xml管理sql语句,让Java代码和sql语句分离,使得代码更易维护。解决了sql语句参数不定的问题。xml中可以通过where条件决定sql语句的条件参数。mybatis将Java对象映射到sql语句,通过statement的parameterType定义输入参数的类型。mybatis自动将结果集封装成Java对象, 通过statement的resultType定义输出的类型。避免了因sql变化,对结果集处理

2020-08-25 15:27:21 51

原创 枚举

2020-08-25 15:26:37 62

原创 Redis

Redis快的原因redis是基于内存的,内存的读写速度非常快;redis是单线程的,省去了很多上下文切换线程的时间;redis使用多路复用技术,可以处理并发的连接。非阻塞IO 内部实现采用epoll,采用了epoll+自己实现的简单的事件框架。epoll中的读、写、关闭、连接都转化成了事件,然后利用epoll的多路复用特性,绝不在io上浪费一点时间。为什么Redis是单线程因为Redis是基于内存的操作,在单线程的情况下,就不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁

2020-08-25 15:26:15 52

原创 Idea安装使用设置

1. 安装ideahttps://blog.csdn.net/weixin_41703383/article/details/799645002. 热加载idea插件 https://baijiahao.baidu.com/s?id=1594158640994574863&wfr=spider&for=pchttps://blog.csdn.net/nyotengu/article/details/806296313. idea的maven插件https://blog.cs

2020-08-25 15:26:03 86

原创 Nginx

反相代理反向代理是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端。此时代理服务器对外就表现为一个反向代理服务器。2. Nginx目录结构解压后的目录结构3. Nginx配置文件4. 修改配置文件:5. Nginx三个命令启动cmd命令行输入命令三个命令启动: start nginx.exe停止: nginx.exe –s stop重载: nginx.exe –s reload启动.

2020-08-25 15:25:50 61

原创 SpringBoot切面编程

1. 被拦截的方法 //栏目置顶@PostMapping("/portalDetail_isTop")@PortalUserLog(descrption = "活动",portalIdPraName = "portalId")public @ResponseBody ApiResult<?> cirIstopChange(Integer rowId){ try { portalService.protalIstopChange(rowId); return ApiResult.

2020-08-25 15:25:09 375

原创 Springmvc和Struts区别

springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过虑器。springmvc是基于方法开发(一个url对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。Struts采用值栈存储请求和响应的数据,通过OGNL存取数据, springmvc通过参数解析器是将request请求内容解析,并给方法形参赋值,将数据和视图封装成ModelAndView对象,最后又将Model.

2020-08-25 15:24:46 1080

原创 SpringClude与Dubbo

springClude教程Spring Cloud基于Spring Boot, 使得开发部署极其简单。配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性token、全局锁、选主、分布式会话和集群状态等,满足了构建微服务所需的所有解决方案。Dubbo 未来会在服务治理方面更为出色,而 Spring Cloud 在微服务治理上面无人能敌。由几部分组成如Spring Cloud ConfigSpring Cloud NetflixSpring Cloud Consul...

2020-08-25 15:24:26 115

原创 RPC(Remote Procedure Call远程过程调用)

RPC的框架例如Dubbo(基于Spring) Thrift gRPC HSF bRPC(百度RPC)1.网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket2.RPC的产生原因:也就是说同一个进程或者两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。3.七层网络结构 最重要的是应用层和传输层远程代理对象:服务调用者用的服务实际是远程服务的本地

2020-08-25 15:24:06 175

原创 SpringMVC

流程原理浏览器发起请求------->DispatcherServlet 是一个Servlet,所以可以配置多个DispatcherServlet(配置在web.xml文件中的,拦截匹配的请求,拦截哪种URL合适)每个 DispatcherServlet有一个自己的上下文对象(WebApplicationContext)用户发送请求至前端控制器DispatcherServlet(在web.xml)DispatcherServlet收到请求调用HandlerMapping处理器映射器。处理器映

2020-08-25 15:23:42 70

原创 协议TCP UDP

浅谈http协议工作流程一次HTTP操作称为一个事务首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。如果在以上

2020-08-25 15:23:25 63

原创 多线程

小结:一个程序就是一个进程,一个进程有多个线程线程的状态调用join()和sleep()方法,sleep()时间结束或被打断,join()中断,IO完成都会回到Runnable状态,等待JVM的调度。调用wait(),使该线程处于等待池(wait blocked pool),直到notify()/notifyAll()唤醒线程,线程被唤醒被放到锁定池(lock blocked pool ),释放同步锁使线程回到可运行状态(Runnable)调用Synchronized,对Running状态的线程

2020-08-25 15:22:57 68

原创 Spring

概念依赖注入:A依赖B B注入A 通过 seting(A) 的方式注入(可以是集合,其他的pojo但是不可以是简单类型)AOPIOC自动装配一个–不能封装简单是数据类型一般是pojo注入配置:事物:原子性:一致性:隔离性:持久性:编程式事物:声明式事物:spring请求的过程发出请求--------->DispatcherServlet 根据 HandlerMapping 来选择并且调用适当的控制器 --------->(@Controller 注释表明

2020-08-25 15:22:30 62

原创 List去重

集合去重的方式 for ( int i = 0 ; i < dutyList1.size() - 1 ; i ++ ) { for ( int j = dutyList1.size() - 1 ; j > i; j -- ) { if (dutyList1.get(j).getName().equals(dutyList1.get(i).getName())) {

2020-08-25 15:22:14 74

原创 Mybatis和Hibitis区别

Mybatis和hibernate不同它不完全是一个ORM框架,因为MyBatis需要程序员自己编写Sql语句,不过mybatis可以通过XML或注解方式灵活配置要运行的sql语句,并将java对象和sql语句映射生成最终执行的sql,最后将sql执行的结果再映射生成java对象。Mybatis学习门槛低,简单易学,程序员直接编写原生态sql,可严格控制sql执行性能,灵活度高,非常适合对关系数据模型要求不高的软件开发,例如互联网软件、企业运营类软件等,因为这类软件需求变化频繁,一但需求变化要求成果输.

2020-08-25 15:21:20 183

原创 Mybatis resultMap(使用子查询)

zusn. id, zc. user_id, zc.user_space_note_id, zc. is_delete, zusn.create_time, zusn.is_top

2020-08-25 15:20:47 2010

原创 MySQL操作数据库一些常见问题

mySQl查询某个String类型的字段判断这个字段(Null)和空同时筛选出来由于这个判断同一个Strring类型字段所以要用()包起来<select id="findNoteList" resultMap="NoteDetailInfoMap"> SELECT z.classification, z.comments, z.content, z.create_time ,

2020-08-25 15:02:59 98

空空如也

空空如也

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

TA关注的人

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