![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 73
xy100xy100xy100
这个作者很懒,什么都没留下…
展开
-
编码/乱码背后理论、常见场景应用(容器、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 · 555 阅读 · 0 评论 -
从ENUM类构建说明看Java类的编译加载顺序
业务遇到需求,细化三点:信息固定,用枚举记录;不同个体存在先后,枚举类提供公共的“根据特定顺序的个体的list”的方法;部分信息不明,部署时需根据配置文件变更。借此需求,研究了ENUM的编译加载规则。涉及的模块按顺序排列如下:(1)、普通代码块;(2)、构造器;(3)、静态变量/方法;(4)、静态代码块;(5)、普通方法显然不同于普通类的“先静态代码块、后构造”的流程,原因应该在于“枚举本身就是一种静态常量”,这种“静态”优先于静态方法块的“静态”。同时,实际处理类变量会更复杂些。...原创 2021-03-29 18:11:07 · 579 阅读 · 0 评论 -
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 · 504 阅读 · 0 评论 -
Java中“超时”的含义
含义不是:超时后再如何怎样而是:超时后就【不】如何怎样如,超时获取锁,(线程)超时处理,等等。只有在国人自己创建的业务中,超时才具有“超时后再如何怎样”的意义,如果超时检测。原因是Java原文档的翻译,被简化了...原创 2020-07-07 19:22:30 · 207 阅读 · 0 评论 -
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 · 141 阅读 · 0 评论 -
ThreadLocal什么用,怎么用
threadLocal作为jdk早早提供的线程数据管理方案,直接帮助Java管理线程信息。之所以说是“方案”,因为其他语音在语法上可以提供线程数据处理权限,但Java必须通过threadlocal来间接处理。原理不做解释,只说研究后的结论或注意点:1、类似于管理类,管理thread中的threatlocalmap,后者私有,只能通过threadlocal处理(仅四个方法)。2、由...原创 2020-04-30 12:53:01 · 302 阅读 · 0 评论