自定义博客皮肤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)
  • 收藏
  • 关注

原创 logback配置中logger层级简述

logback中的additivity层级管理说明

2022-01-12 19:27:41 2012

原创 编码/乱码背后理论、常见场景应用(容器、tomcat、iso-8859-1、unicode、utf-8等)

又涉及到web工程编码问题,在此将关联点梳理一遍。0、乱码的避免,本质还是靠encode/decode。1、首先从浏览器角度说明编码信息正确性:(1)F12的network流拦截器中看到的General部分的信息(特别是Request Url)是准确的,是真正的请求,具备“所见即所得”的编码信息;(2)浏览器的url输入框中的信息,的确会被浏览器encode一次,但是只有判断存在“需要encode”的情况下(比如汉字),而且,当请求获得响应,url输入框中信息会根据“若存在dec...

2021-05-24 18:28:49 521

原创 从ENUM类构建说明看Java类的编译加载顺序

业务遇到需求,细化三点:信息固定,用枚举记录;不同个体存在先后,枚举类提供公共的“根据特定顺序的个体的list”的方法;部分信息不明,部署时需根据配置文件变更。借此需求,研究了ENUM的编译加载规则。涉及的模块按顺序排列如下:(1)、普通代码块;(2)、构造器;(3)、静态变量/方法;(4)、静态代码块;(5)、普通方法显然不同于普通类的“先静态代码块、后构造”的流程,原因应该在于“枚举本身就是一种静态常量”,这种“静态”优先于静态方法块的“静态”。同时,实际处理类变量会更复杂些。...

2021-03-29 18:11:07 537

原创 logback中pattern规则说明

原文信息来源于官网:https://logback.qos.ch/manual/layouts.html1、logger{num}(或c{num}、lo{num})。对相应类的全路径进行缩减,num为缩减后的最大长度(但只作为指导值,实际路径存在“最小字符串”),原则是:(1)、最小值为全路径以“.”为分隔符划分后的字符串的首字母,以小写形式与“.”重新拼接,但是最后一个字符串不缩写,如abc.def.ghi.jkl的最小字符串为“a.d.g.jkl”,最小值为9;(2)、在最小字符串的基础...

2021-03-19 16:52:23 3671

原创 filter、interceptor、listener的区别

本文基于Spring-Web工程进行说明。【filter】、【interceptor】,这俩最难区分。1、直观区别是,filter在web.xml这个最根本“配置文件”中定义,而interceptor在servlet.xml(spring对servlet的配置文件)。2、根据【1】可知,filter是归属容器级别的,interceptor归属spring范畴。3、filter对请求进入容器之前就进行处理,是容器对请求进行深入包装之前就进行处理的阶段,可以处理request、respon...

2021-03-17 20:18:36 499

原创 spring mvc 当前响应已经调用了方法getOutputStream()的整理

并没有真正遇到,只是在正常springmvc工程启动后、页面跳转时,因为idea问题发生了提示“当前响应已经调用了方法getOutputStream()“的问题。网上搜索,发现有人“下载”功能中return结果有特定类型时,也会出现该问题(按道理下载的return应该不返回任何东西,直接void)。回顾springmvc的本质,其实servlet与容器,更本质则是tomcat,最本质则是基于http的数据流解析。因此springmvc中的return,在返回一个特定类型时(值或路由),sp...

2021-03-11 11:55:20 4574

原创 tomcat中ajp及8009端口用处

tomcat常用于提供servlet/jsp容器服务,简单方便、使用高效。但是tomcat处理静态文件资源的性能不足(应该是serviece部分),同时,如果用户直接与tomcat进行http的连接获取静态资源(连接器connector部分),相对而言就更慢了(http协议基于文本,相对“基于二进制的协议”而言性能较低,后者例如ajp13协议)。因此,如果以“使用tomcat提供servlet/jsp容器服务”为前提,又希望使其中的静态文件资源的请求性能好一点时,就要用到“tomcat中的ajp”...

2021-03-01 16:49:48 7672 2

原创 mybatis批量新建数据同时获取对应自增主键id值

往常mybatis仅支持单个数据新建的同时获取对应主键,即使用【useGeneratedKeys="true" keyProperty="id"】,但批量新建时直接使用该方法会报错。经查验,需要满足以下三点:1.mybatis版本升级至3.3.1及以上;2.对应java类但方法中,对应参数不得使用@Param;3.对应xml中使用【useGeneratedKeys="true" keyProperty="id"】。验证sql使用【*** values <foreach *** />】.

2021-02-18 11:06:54 260

原创 git部分关键点说明

【git reset,git revert,git checkout】git reset与revert一般用来撤销commit或push,非特殊情况不得已时建议不用。git reset,针对“工作区、暂存区、索引区”(倒序覆盖代码),默认表示git reset --mixed(都可以后边再加个“空格commitId”来指定,特别的如果是HEAD就等于没写,注意跟HEAD^不同),做两件事一是索引区退回(到指定id)二是进而让暂存区退回;如果不是mixed而是soft,只做一件事就是索引区退回;如果不是m

2021-02-12 21:40:06 139

原创 前端js使用location.href下属性产生bug问题记录

近期参与老项目发现一个jsp的bug,涉及页面jsp(jsp在更外层页面的iframe中),具有四个tab页面,虽然默认跳转页面是第一个tab,但是也存在其他页面跳转时进入其他tab的情况,因此对各tab页面设定相应id对应,跳转时通过参数flag传入jsp,告知显示的tab。发现的bug是,某一个tab页面存在“修改后返回该tab页”的需求,因此同事使用了location.href来设定要“返回”的页面并通过flag设定了该tab(假设是tab1),问题就在这。结果导致:当页面返回后,手动点击其他ta

2021-02-05 14:03:35 526

原创 根据特定分隔符截取mysql中某字段

搜索网络信息,全部都是基于substring_index和mysql_topic,不赘述。在此,实质上substring_index才是重点,mysql_topic没有太大意义,后者的意义纯粹在于

2021-01-06 10:54:26 618

原创 FastDFS问题排查

记一次FastDFS问题的排查。FastDFS基本架构特点鲜明,分为tracker、storage两个模块,前者一个,后者多个,用以保证“分布式、冗余式”,因此后者一般多个服务器且一个服务器放一个,一台服务器允许同时具有tracker和storage(一般也的确如此,毕竟tracker不怎么占空间)。tracker只作为汇总者、统计者、通知者角色,面向上层业务通知;storage除了业务上的“存储”,也有通知功能,但是仅面向tracker,用以让tracker知道自己的信息、实现间接对外开放和.

2020-10-14 15:36:27 366

原创 Java中“超时”的含义

含义不是:超时后再如何怎样而是:超时后就【不】如何怎样如,超时获取锁,(线程)超时处理,等等。只有在国人自己创建的业务中,超时才具有“超时后再如何怎样”的意义,如果超时检测。原因是Java原文档的翻译,被简化了...

2020-07-07 19:22:30 203

原创 RPC接口--关键点备注

RPC,远程调用的模型,而非实现,甚至可以通过Java自有的远程调用实现方式的RMI来实现。RPC的基础功能,用http也能实现,但后者实现与OSI模型的最顶层应用层,RPC更低,效率更高;另外,相对于restFul,后者更清晰可理解,面向资源,而RPC面向过程,比如,PRC接口是/queryOrder?id=123,而restFul则是/order?id=123 (http、get)。实现RPC不难,但是一个稳定可靠的分布式RPC要牵扯很多东西,这个才麻烦。暂记这几个核心点,...

2020-05-13 16:05:19 134

原创 ThreadLocal什么用,怎么用

threadLocal作为jdk早早提供的线程数据管理方案,直接帮助Java管理线程信息。之所以说是“方案”,因为其他语音在语法上可以提供线程数据处理权限,但Java必须通过threadlocal来间接处理。原理不做解释,只说研究后的结论或注意点:1、类似于管理类,管理thread中的threatlocalmap,后者私有,只能通过threadlocal处理(仅四个方法)。2、由...

2020-04-30 12:53:01 298

原创 Mybatis、Mysql实现查询数据添加自增序列字段,及实现方法

查询时的自增字段,不是创建时的自增id。某些前后端分离情况下需要后台提供序列号,根据页数计算,比如第2页、每页10行数据,那就是“11、12、13、***”。此时别依靠Java,麻烦,代码不美观不统一。因此使用mysql查询时直接协助添加该字段,假设sortId字段。基本思路当然是局部变量、自增,即@“sortId”、“:=”。亦即,先SET,“;”后再SELECT。但是,...

2020-04-10 10:15:01 2466

原创 mybatis中@Param底层实现了什么功能

mybatis中,对于mapper接口,如果参数名与xml中一致,引用其值时,用就用了,不必搞多余的标记,比如“id=#{id}”。注意,如果值有可能为空,最好标记下jdbcType,帮助mybatis了解用什么方式获取该值,否则报错(类似get方法的返回类型?)。但是,如果存在“if test”,且test中用到该字段(假设就是id字段),那么上述功能报错,类似于“该字段未设置get方法...

2020-04-08 15:56:24 254

原创 intellij idea : Method breakpoints may dramatically slow down debugging

在特殊节点打了断点(如接口处,或方法入口处),ctrl+shift+F8,查看打的断点,特殊节点的断点不是红圆,而是红方,去掉即可。一定要在方法体内打断点!!!...

2020-03-05 16:07:43 159

原创 接手一个WEB工程后该准备什么如何了解

最近第N次接手新项目,WEB工程。工程较老,大概看了下结构,也不规范,很难一眼看下去。但是需求紧急,而且事不少,硬着头皮接受它、了解它。说说准备工作,为后续再接手类似工作做个记录。一、git代码、svn配置,优先搞定环境,本地跑起来。二、大概看下工程架构,即文件夹划分,方便后续找代码用,同时了解工程配置基本信息比如框架、框架文件等。三、最重要的一点,拿到一个研发环境的平...

2020-03-05 15:06:03 223

原创 单元测试中mockito使用(注释的差异与说明)

对于,各单元测试方法建议继承唯一的原始测试类,以及@before、@test、@after等单测基本概念,不赘述。记录下关于单元测试会遇到的底层实体的模拟bean、真实bean的使用问题,即mockito的使用。包含@autowired、@mock、@spy、@injectmocks等注释的使用。0、当然,上述mockito的注释肯定得先初始化,可以在继承类里@RunWith(Mockit...

2019-07-09 15:14:33 496

转载 20条Linux命令

1. curlcurl 用于传输一个 URL。可以使用这条命令用于测试应用程序的端点或与上游服务端点的连接。curl 还可用于检查你的应用程序是否能连接到其他服务,例如数据库,或检查您的服务是否处于健康的状态。举个例子,假如你的应用程序抛出一个 HTTP 500 错误,表示无法访问 MongoDB 数据库:-I 选项用于显示头信息,-s 选项表示使用静默模式,不显示错误和进

2017-08-03 18:24:05 209

转载 struts2部分配置说明(2)

序号方法说明1指定web应用默认编码集,相当调用HttpServletRequest的setCharacterEncoding方法2指定需要struts2处理请求后缀,该属性默认值是action,即所有请求*.action由struts2处理。如用户需要指

2017-08-03 13:33:13 179

原创 struts2部分配置说明

1、true代表开发模式,false代表生产模式:前者更改配置可动态生效,不必重启tomcat,方便研发测试;后者性能更快。【注】另有struts.i18n.reload、struts.configuration.xml.reload,分别指定【每次请求到达,重新加载资源文件】与【每次配置文件更改后,自动重新加载】2、将struts2主题做变更,simple意味页面cs

2017-08-03 10:02:05 199

空空如也

空空如也

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

TA关注的人

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