自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 防止按钮重复提交问题(个人碰到问题)

jsp:<buttion type="submit" id="btn" onclick=click()></button>jsfunction click(){var nowTime = new Date().getTime(); var clickTime = $("#sec_next").attr("ctime...

2019-05-17 11:15:41 705

原创 servlet 服务端客户端 互相测通 http通信

一:servlet:服务端package com.action;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.uti...

2018-08-30 15:35:15 154

原创 论面试的基本功java项目面试

一.首先出来面试管会让你自我介绍和介绍自己的项目. 你好,我叫xx,从毕业出来一致在xx上班,从事java开发相关工作这段时间我接触的框架ssh,ssm,开发工具eslipse,myeslipse接触的数据库Mysql,Oracle.非关系型数据库Redis.下面介绍项目:我最近做的项目是一个网上商城的项目,采用的ssm框架,管理工具用的maven,采用的是分布式部署dubbo+zo...

2018-03-09 13:58:51 990

原创 maxfilesize property is manatory ;springboot 项目集成cloud 的eureka 后出现日志错误

上照片:这是因为这个字段没有加载进去 由于logback的属性在application.yml 配置的 没有加载上logback 的相关配置创建在一个新的bootstap.yml内 启动时就会加载上了,测试可行;

2022-02-07 16:16:27 1722 1

原创 粘包和黏包

比如客户单每次发i am wentai ,然后连续的发,但是服务端是不知道到底哪个是一个请求的数据如何处理粘包黏包(4中方式都可以)1.固定长度,例如120字节代表一个整体的包信息,不足的就补位,解码器在处理这类定长消息的时候比较简单,每次读到指定长度的字节后再进行解码。2.通过回车换行符区分消息,例如http,这类区分消息的方式多用于文本协议3.通过特定的分隔符区分整包的消息4.通过在协议头/消息头中设置长度属性来标识整包消息...

2022-01-14 17:50:21 305 1

原创 面试题:Redis支持的 Java客户端,官方推荐?

Redis 支持的客户端有 Redission,Jedis,Lettuce 官方推荐RedissionRedis和Redission的关系Redission 是高级的分布式协调Redis客户端,可以帮助用户在分布式环境实现一些java对象(Boolean , filter<过滤器> BitSet<位向量 > Set SetMiltimap<> ScoreSortedSet SortedSet Map ConcurrentMap List ListMultima

2022-01-14 11:01:19 252

原创 springmvc的流程?

1.用户发送请求至前端控制器DispatcherServlet;2.DispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handler;3.处理器映射器根据请求url找到具体的处理器Handler,生成处理器对象及处理器拦截器(如果有则生成),一并返回给DispatcherServlet;4.DispatcherServlet 调用 HandlerAdapter处理器适配器,请求执行Handler; 5.HandlerAdapter 经过适配调用 具体处

2022-01-12 10:06:47 86

原创 springmvc中如何使用拦截器?

springmvc中使用拦截器只需要实现HandlerInterceptor 接口,然后实现他提供的是三个方法,分别在执行handler之前,handler执行后返回ModelAndView之前,handler完成之后。然后在xml中进行拦截器的配置。 那么在handler拦截之前,可以在preHandle方法中实现逻辑,如果被拦截直接返回false,否则返回true,返回true才能走到后面的业务逻辑,然后再执行handler的方法,在视图渲染返回之前,如果想对ModelAndView做...

2022-01-12 10:06:04 357

原创 CMS和G1讲讲流程

CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器。采用的是"标记-清除算法",整个过程分为4步;(1)初始标记,标记GC Roots能直接关联到的对象 Stop The World-- ->速度很快(2)并发标记,就是从GC Roots开始找到它能引用的所有其它对象的过程(3)重新标记,Stop The World 为了修正并发标记期间因用户程序继续运作而导致标记产生变动的那一部分对象的标记记录。这个阶段的停顿时间一般会比初始标记阶段稍长一些.

2022-01-07 15:31:20 546

原创 一个对象是多少字节?在堆区都存了什么东西?对象头里面都有啥?

对象在内存中的存储的布局可以分为三块区域:对象头(Header),实例数据(Instance Data)和对齐填充(Padding);对象头由 Markword + 类指针kclass(该指针指向该类型在方法区的元类型) 组成;普通对象头在32位系统上占用8bytes,64位系统上占用16bytes。64位机器上,数组对象的对象头占用24个字节,启用压缩之后占用16个字节。MarkWord用于存储对象自身的运行时数据,如哈希码(HashCode)、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向

2022-01-07 15:30:39 547

原创 四种引用讲讲,分别使用在哪些地方?

java根据其生命周期的长短又将引用类型分为强引用、软引用、弱引用、虚引用;强引用:new一个对象就是强引用,例如 Object obj = new Object();当JVM的内存空间不足时,宁愿抛出OutOfMemoryError使得程序异常终止也不愿意回收具有强引用的存活着的对象;软引用的生命周期比强引用短一些。软引用是通过SoftReference类实现的。当JVM认为内存空间不足时,就会去试图回收软引用指向的对象;软引用通常用在对内存敏感的程序中,比如高速缓存就有用到软引用,内存够用的时候

2022-01-07 15:29:51 217

原创 访问者模式是什么东西,解决什么问题?

访问者模式是一种分离对象数据结构与行为的方法,通过这种分离,可以为一个已存在的类增加新的操作而无须为它们进行修改,在spring中就有对这个设计模式的实现案例,在java中我们会通过注解@Value通过占位符对类中的属性赋值,而且是解析的Properties 文件中的值映射到类的成员变量上,只需要修改Properties文件。在spring中每个对象都会被解析成BeanDefinition ,然后访问者模式中,会用Spring 的 BeanDefinitionVisitor 用来访问 BeanDefinit

2022-01-07 15:28:33 737

原创 MyBatis插件原理。使用mybtais插件如何数据脱敏?

在mybtis中对外提供了4大对象供开发者拦截,分别是Excutor:查看mybatis的sql执行过程,ParameterHandler修改他的参数,ResultSetHandler拦截返回值,StatementHandler进行分页,开发者自己定义一个类,实现Interceptor接口,实现intercept方法,在类上通过@Intercepts注解和@Signature选择拦截哪个类中的哪个方法,比如:@Intercepts(@Signature(type = ResultSetHandler.cla

2022-01-07 15:26:42 296

原创 对spring ioc的理解和使用?

没有spring的时候,我们需要得到一个对象,都是自己主动去new一个对象,然后通过set方法给对象注入属性,但是这种动作其实是一个重复的动作,所以spring提供ioc的容器解决方案,在容器启动的时候就把许多需要实例化和属性注入的bean都提前做好并放入到一个map中存储起来。这就是控制反转,原来的控制全在用户,现在的控制权完全交给了容器,在bean实例化后,通过反射对属性进行依赖注入有两种使用方式,一种是xml的方式,一种是注解的方式。xml的加载方式,首先在spring的xml中通过bean标签.

2022-01-07 15:26:01 160

原创 Bean是如何创建的?

在spring中,万物都是bean对象,每一个对象都可以封装成BeanDefinition,然后去生成bean对象。所以首先第一步,spring要找到哪些bean需要实例化,第一种是xml的方式,如果需要实例化bean就在xml中配置bean标签,找到所有需要创建的bean,第二种注解方式,扫描所有添加了spring注解的bean,把所有的bean封装成一个BeanDefinition放入一个list.第二步,循环list,通过BeanDefinition中的类全名称,通过反射进行实例化,属性注入,如果

2022-01-07 15:24:59 759

原创 Bean的生命周期?

bean的生命周期就是一个创建bean的过程,主要分为4个步骤,实例化,属性注入,初始化,销毁spring的bean的生命周期主要是创建bean的过程,一个bean的生命周期主要是4个步骤,实例化,属性注入,初始化,销毁,但是对于一些复杂的bean的创建,spring会在bean的生命周期中开放很多的接口,可以让你加载bean的时候对bean做一些改变,因此spring的bean的生命周期总共有以下几步:首先在spring中有一些特殊的bean会介入到其他bean的声明周期当中去,所以一个普通的bea

2022-01-07 15:24:13 177

原创 Netty 应用场景了解么?

作为 RPC 框架的网络通信工具实现一个自己的 HTTP 服务器实现一个即时通讯系统实现消息推送系统

2022-01-07 15:22:42 528

原创 对spring事务的理解

spring的事务开启方式有两种,一个是声明式事务,一个是编程式事务,声明式事务是通过添加Transaction注解的方式开启事务,一般加在类或者方法上,事务控制粒度比较大,但使用上比较方便,编程式事务通过TransactionTemplate,控制事务的粒度小,但是代码侵入性比较强。使用spring aop实现。spring事务提供了7中传播机制:1. REQUIRED(必须的):是默认的传播机制,如果B方法中调用A,如果B中有事务,则A无论是否开启事务都会用B的事务,任何地方出现异常A和B都回滚2

2022-01-07 15:19:15 229

原创 异常类型(instanceof 比较)

Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。1.dubbo 是什么? 分布式,高性能,透明化的PRC服务框架,提供服务自动注册、...

2021-06-17 15:53:26 2324

原创 面试中遇到的那些事

1.多线程:获取返回结果的方式实现callable接口,重写父类的方法

2021-04-28 06:50:36 58

原创 java代码导出excel支持数据有效性验证,即excel单元格可以下拉选择

数据有效性验证:package zzceshi;import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java...

2019-01-29 16:18:15 1584

空空如也

空空如也

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

TA关注的人

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