自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 TCP/UDP

因特网为应用程序提供了两个运输层协议,即TCP和UDP。当我们为因特网创建一个新的应用程序时,我们首先应该考虑的是:选择TCP还是UDP。这两个协议都为调用它们的应用程序提供了不同的服务集合。 TCP:大的服务模型包括:面向连接的服务,可靠的数据传输服务以及拥塞控制机制。**面向连接的服务:**在应用层的数据报文开始流动之前,先进行三次握手建立连接,即TCP让客户和服务器相互交换运...

2019-04-08 13:31:46 459

原创 Mybatis和JDBC的区别

JDBC是Java提供的一个操作数据库的API; MyBatis是一个持久层ORM框架,底层是对JDBC的封装。MyBatis对JDBC操作数据库做了一系列的优化:(1) mybatis使用已有的连接池管理,避免浪费资源,提高程序可靠性。(2) mybatis提供插件自动生成DAO层代码,提高编码效率和准确性。(3) mybatis 提供了一级和二级缓存,提高了程序性能。(4) myba...

2019-03-02 09:54:41 13125

原创 http跟https的区别

HTTP:超文本传输协议,基于TCP/IP通信协议来传递数据网络协议,数据不安全,没有加密。默认端口号:80;HTTPS:超文本传输安全协议,是HTTP协议+SSL证书协议,证书需要到ca申请,传输过程中数据需要加密。默认端口号:443;(ps:HTTP协议的底层:基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输HTML页面的内...

2019-03-02 09:34:00 364

原创 监听器及其常见应用场景

所谓的web监听器是指对web环境中的session,request 和 servletContext等的监听,当被监听的对象的创建,销毁或者属性发生变化时,便调用相应的方法进行处理。常见使用场景:网站在线人数统计,监听用户的行为等;监听器的底层原理采用的是观察者模式。...

2019-03-02 09:28:02 3487

原创 过滤器及其常见应用场景

过滤器Filter是对访问资源拦截的一种技术。它是默认在请求前拦截,在访问请求资源前完成需要的操作后,放行即可访问资源,资源访问后,再回到过滤器进行后续的处理,最后请求结束。filter可以通过dispatcher来修饰拦截时机。request:请求前拦截,默认值;forward:请求转发前拦截;include:请求包含前拦截;error:显示错误页面前拦截;常用应用场景:统一编码,...

2019-03-02 09:17:48 2062

原创 servlet的生命周期&servlet是线程安全的么

servlet的生命周期是初始化,服务,销毁。初始化:当第一次请求servlet的时候进行初始化,只初始化一次;服务:方法被调用时进行服务,在项目启动期间可以进行多次服务;销毁:当服务器关闭时进行销毁,只销毁一次;servlet是线程不安全的。因为它默认是单例模式,如果提供成员变量,多个线程对成员变量进行操作,将发生并发问题,所以是线程不安全的。如果不提供成员变量,或者提供成员变量不使用...

2019-03-02 09:05:19 264

原创 Jsp和Servlet的区别

Servlet是服务器端程序,而jsp是服务器页面程序jsp本质上就是一个Servlet,在访问jsp时,在服务器端会先将jsp转化成Servlet,再将生产的servlet的结果响应给浏览器。jsp是html页面中内嵌的Java代码,侧重于页面显示;Servlet中书写Java代码,侧重逻辑控制。...

2019-03-02 08:55:23 1654

原创 SpringBoot和SpringCloud的区别

SpringBoot专注于快速方便的开发单个个体微服务。SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来,为各个服务之间提供,配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、精选决策、分布式会话等集成服务。SpringBoot可以离开SpringCloud独立开发项目,但是SpringCloud离不开Spring...

2019-02-26 08:50:53 1727

原创 drop、delete、truncate的区别

SQL中的drop、delete、truncate都表示删除,但是三者有一些差别delete和truncate只删除表的数据不删除表的结构速度,一般来说: drop> truncate >deletedelete语句是dml,数据删除可以回滚;truncate,drop是ddl,数据删除后不能回滚使用场景:不再需要一张表的时候,用drop想删除部分数据行时候,用dele...

2019-01-17 20:52:18 297

原创 数据库连接池的作用

概念:数据库连接池是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请,使用,释放。作用:1.资源重用,避免了数据库连接频繁建立、关闭的开销2.更快的系统响应速度,直接从连接池中获取连接,响应速度加快3.控制资源的使用。如果不使用连接池,每次访问数据库都需要创建一个连接,这样系统的稳定性受系统连接需求影响很大,很容易产生资源浪费和高负载异常。连接...

2019-01-17 20:50:43 8145

原创 cookie和session的区别

Cookie是web服务器发送给浏览器的一块信息,浏览器会在本地一个文件中给每个web服务器存储cookie。浏览器再给特定的web服务器发送请求时,同时会发送所有该服务器存储的cookie。Session是存储在web服务器的一块信息。session对象存储特定用户会话所需的属性及配置信息。当用户在应用程序Web页面之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个会话中一直存...

2019-01-17 20:48:58 174

原创 你如何理解AOP中的连接点(Joinpoint)、切点(Pointcut)、增强(Advice)、引介(Introduction)、织入(Weaving)、切面(Aspect)这些概念?

1.目标类(target):需要被增强的类。2.连接点(Joinpoint):可能被增强的点,目标类中的所有方法。3.切入点(Pointcut):将会被增强的连接点,目标类中被增强的方法。4.通知/增强(Advice):对切入点增强的内容。增强的内容通常以方法的形式体现的。增强执行的位置不同,称呼不同。(前置通知、后置通知、环绕通知、抛出异常通知、最终通知)通知方法所在的类,通常称为切面...

2019-01-17 20:43:41 1594

原创 Spring的ioc和aop

什么是控制反转(IoC)?IoC:Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。Ioc意味着将你设计好的对象交给容器控制,而不是new。IoC 控制反转,指将对象的创建权,反转到Spring容器什么是Spring IoC容器?IOC容器就是具有依赖注入功能的容器,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。应用程序无需...

2019-01-17 20:43:06 185

原创 Spring事务控制放在service层,在service方法中一个方法调用service中的另一个方法,默认开启几个事务?

Spring事务控制放在service层,在service方法中一个方法调用service中的另一个方法,默认开启几个事务?只开启了一个事务,Spring默认的传播行为是PROPAGATION_REQUIRED,即如果当前存在事务,即加入该事务;如果当前没有事务,则新建一个新的事务。因此只开启了一个事务。Spring事务的传播行为的7种类型TransactionDefinition.PROP...

2019-01-17 20:39:49 7208

原创 Spring的事务管理

介绍一下Spring的事务管理?事务就是对一组逻辑进行操作,要么全部成功,要么全部失败Spring通过平台事务管理器(PlatformTransactionManager)进行事务管理事务管理器通过事务定义(TransactionDefinition)进行具体的事务操作。事务定义通过4方面对事务进行详细描述1.readOnly:是否只读2.timeout:超时时间3.isolatio...

2019-01-17 20:38:45 169

原创 @Autowired和@Resource注解的区别

1.@Autowired:@Autowired : 默认是以byType按类型自动注入。@Autowired + @Qualifier(“名称”):将按照名称自动注入2.@Resource:@Resource() 如果没有指定name属性,当注解写在字段上时,默认取字段名进行按照名称注入,如果注解写在setter方法上默认取属性名进行注入。当找不到与名称匹配的bean时才按照类型进行...

2019-01-17 20:36:28 2825

原创 Spring框架

什么是Spring?Spring是一个分层的JavaSE/JavaEE full-stack(一站式)轻量级开源框架。(EJB重量级)Spring为不同的层都提供了企业级解决方案:web层:spring mvcservice层:spring(比如:事务管理、日志增强)dao层:JDBCTemplateSpring的核心思想是IoC(控制反转)和AOP(面向切面编程)为什么要用Spri...

2019-01-17 20:35:38 181

原创 SpringMVC

首先先讲一下MVCMVC设计模式: Model-View-Controller简写。MVC是软件工程中的一种软件架构模式,它是一种分离业务逻辑与显示界面的设计方法。它把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。 控制器Controller:对请求进行处理,负责选择视图; 视图View:用户与程序交互的界面; 模型Model:用于...

2019-01-17 20:31:44 169

原创 json和xml

1.是什么:json一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。可在不同平台之间进行数据交换。xml是扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言2. 区别:①可读性:xml有很多标记性字符,json只是一个有用的...

2019-01-05 18:16:56 185

原创 Java内存泄漏

java中会存在内存泄漏吗,请简单描述。会存在,内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。Java中有垃圾回收机制,它可以保证一对象不再被引用的时候,对象将自动被垃圾回收器从内存中清除掉。但是如果长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄漏,尽管短生命周期对象已...

2019-01-05 18:15:01 178 1

原创 值传递or引用传递?

当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?在Java中参数的类型有两种,分别是基础数据类型和引用数据类型。当传递参数类型是基础数据类型:在进行方法调用时,实际参数把它的值传递给形式参数,函数接收的其实是实际参数的copy,方法从操作其实都是对值的copy进行操作,并不影响原始值;当传递参数类型是引用数据类型:方法...

2019-01-05 18:13:47 133

原创 雪花算法(snowflake)

雪花算法 是由Twitter公司开源的snowflake(雪花)算法。简单原理:雪花算法会生成一个64位的二进制数据,为一个Long型。(转换成字符串后长度最多19) ,其基本结构:第一位:为未使用第二部分:41位为毫秒级时间(41位的长度可以使用69年)第三部分:5位datacenterId和5位workerId(10位的长度最多支持部署1024个节点)第四部分:最后12位是毫...

2019-01-04 20:46:26 8359 1

原创 JWT

JWTJWT,全称是Json Web Token, 是JSON风格轻量级的授权和身份认证规范,可实现无状态、分布式的Web应用授权;官网:https://jwt.ioGitHub上jwt的java客户端:https://github.com/jwtk/jjwt数据格式:JWT的token包含三部分数据:Header:头部,通常头部有两部分信息:声明类型,这里是JW...

2018-12-17 17:32:02 564

空空如也

空空如也

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

TA关注的人

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