Xss漏洞解决方案

摘要: 配置XssFilter过滤器 1.web.xml <!-- XssFilter 漏洞解决方案 --> <filter> <filter-name>XssFilter</filter-name> <filter-class>com.xxx.filter.XssFilter</filter-class> 阅读全文
posted @ 2020-04-17 15:49 平平无奇杨小兵 阅读(726) 评论(0) 推荐(0) 编辑

记一次生产线程数耗尽,导致内存溢出(outOfMemoryError)问题及解决

摘要: 问题: 数据源连接池线程数最大连接数最初设置300,但是一周有2-3次发生活跃连接数超过最大线程数,导致线程堵塞,服务查询等待超时,所以运维将最大线程数调至1500,这样导致JVM创建的线程数大大增多,原先配置的JVM内存不够使用,导致内存溢出,无法创建线程。 解决: 后将最大线程数调至1024,保 阅读全文
posted @ 2020-04-03 11:55 平平无奇杨小兵 阅读(4531) 评论(0) 推荐(0) 编辑

记一次生产dubbo线程池耗尽的问题

摘要: 问题: dubbo线程池耗尽,活跃线程数超过线程池最大线程数(dubbo默认线程池最大线程数为200) 登录服务提供者所在服务器 通过命令行连接dubbo: //telnet 服务提供者ip dubbo端口 telnet 20.1.16.26 20881 查看dubbo活跃线程: status -l 阅读全文
posted @ 2020-04-03 11:04 平平无奇杨小兵 阅读(6256) 评论(0) 推荐(0) 编辑

绝对路径、相对路径、JavaWeb项目中获取路径、classLoader.getResourceAsStream加载配置文件、URL/URI

摘要: 请求路径:http://localhost:8081/coll-web/a/test/path 一、网络路径 1、URI、URL URL:包括ip端口的请求全路径 URI:不包括ip和端口 @Controller @RequestMapping(value = "${adminPath}/test" 阅读全文
posted @ 2020-03-26 15:22 平平无奇杨小兵 阅读(808) 评论(0) 推荐(0) 编辑

oracle 列转行函数listagg、判断函数decode

摘要: 1、decode 使用decode判断字符串是否一样 DECODE(value,if1,then1,if2,then2,if3,then3,...,else) decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 某些场景可以代替case when 2、listagg 阅读全文
posted @ 2020-03-26 13:28 平平无奇杨小兵 阅读(668) 评论(0) 推荐(0) 编辑

并发编程实战(1)—进程、线程

摘要: 进程: 计算机通过加入操作系统来实现多个程序的同时执行:操作系统的出现使得计算机每次能运行多个程序,并且不同的程序都在单独的进程中运行,操作系统为各个独立的进程分配各种资源(如内存、文件句柄等) 线程: 促使进程出现的因素同样也促使着线程的出现: 线程允许在同一个进程中同时存在多个程序控制流,线程会 阅读全文
posted @ 2020-03-25 21:52 平平无奇杨小兵 阅读(129) 评论(0) 推荐(0) 编辑

case when嵌套

摘要: 如果该列字段有为空的值,那么根据另一个字段值去判断结果,可以使用嵌套case when select p.id, p.pay_no, p.pay_status, case when nvl(p.check_result,'-1')='-1' then case when p.pay_status = 阅读全文
posted @ 2020-03-23 11:26 平平无奇杨小兵 阅读(17599) 评论(0) 推荐(0) 编辑

equals方法

摘要: equals是Object类的方法,所有Java类都会继承equals方法,默认继承的equals方法比较的是两个引用是否指向堆内存中同一个对象地址 1、Integer类的equals方法 2、String类的equals方法 3、自定义对象的equals方法 要判断两个对象的内容是否相等,不要自己 阅读全文
posted @ 2020-03-23 09:16 平平无奇杨小兵 阅读(869) 评论(0) 推荐(0) 编辑

NIO(Buffer、Channel、Selector)

摘要: 一、NIO和IO的区别 二、缓冲区 三、通道 四、分散和聚集 五、字符集 六、阻塞与非阻塞 七、NIO的阻塞模式 服务端发送接收反馈 八、NIO的非阻塞模式 九、非阻塞式NIO的UDP模式 十、管道 阅读全文
posted @ 2020-03-22 22:35 平平无奇杨小兵 阅读(270) 评论(0) 推荐(0) 编辑

Linux五大网络IO模型

摘要: 对于一个应用程序即一个操作系统进程来说,它既有内核空间(与其他进程共享),也有用户空间(进程私有),它们都是处于虚拟地址空间中。用户进程是无法访问内核空间的,它只能访问用户空间,通过用户空间去内核空间复制数据,然后进行处理。 1、阻塞io(同步io): 发起请求就一直等待,直到数据返回。好比你去商场 阅读全文
posted @ 2020-03-22 17:27 平平无奇杨小兵 阅读(286) 评论(0) 推荐(1) 编辑

磁盘IO、网络IO、zero copy

摘要: IO访问方式 磁盘IO 具体步骤: 当应用程序调用read接口时,操作系统检查内核缓冲区中是否存在需要的数据,如果存在,就直接从内核缓存中直接返回,否则从磁盘中读取,然后缓存至操作系统的缓存中。 当应用程序调用write接口时,将数据直接从用户地址空间复制到内核地址空间的缓存中,这时对用户程序来说, 阅读全文
posted @ 2020-03-22 17:00 平平无奇杨小兵 阅读(983) 评论(1) 推荐(1) 编辑

mysql常用数据类型

摘要: 一、数值型 1、整型 注意: tinyint(1),和tinyint(3)没什么区别,占用字节都是一位,存储范围都是一样的,存123都能存的下,而如果tinyint(3) zerofill 的话,插入值 12,会存储012,zerofill自动左边补零,这才是限制显示长度。 2、小数 二、字符型 三 阅读全文
posted @ 2020-03-22 15:25 平平无奇杨小兵 阅读(179) 评论(0) 推荐(0) 编辑

sql多表关联更新—用b表字段来更新a表对应的字段

摘要: 在开发时,如果遇到表需要加字段,那么需要对存量数据刷新这个字段值 1、mysql --两张表关联 UPDATE JC_COLL_REPAY r INNER JOIN lc_lm_loan l ON r.loan_no = l.loan_no SET r.loan_typ = l.tep_cde, r 阅读全文
posted @ 2020-03-20 14:51 平平无奇杨小兵 阅读(1112) 评论(0) 推荐(0) 编辑

记一次MQ异常、且事务自动提交 导致的生产问题

摘要: 背景:老项目没有做事务处理 因为以前同事在做消息队列时 没有设置手动提交事务,异常处理不当,且数据库交易流水未加唯一索引,而MQ消费异常会自动重发,导致生产出现重复交易数据 正确的消费者端处理方式: public class ReciveRepayQueue extends NQueueCustom 阅读全文
posted @ 2020-03-20 10:37 平平无奇杨小兵 阅读(316) 评论(0) 推荐(0) 编辑

数据库设计规范

摘要: 1.建表规约 1. **【强制】** 表达是与否概念的字段,必须使用is_xxx的方式命名,数据类型是tinyint(1) ( 1表示是,0表示否)。 说明:任何字段如果为非负数,必须是无符号。 正例:表达逻辑删除的字段名is_deleted,1 表示删除,0 表示未删除。 2. **【强制】** 阅读全文
posted @ 2020-03-19 11:34 平平无奇杨小兵 阅读(268) 评论(0) 推荐(0) 编辑

按某一列分组并筛选时间最新的一条记录

摘要: 方法一: -- 方法1 select a.* from table a where not exists(select 1 from table b where b.id_no=a.id_no and b.crt_time>a.crt_time) 方法二:子查询 -- 方法2 select a.* 阅读全文
posted @ 2020-03-18 16:35 平平无奇杨小兵 阅读(219) 评论(0) 推荐(0) 编辑

记一次oracle表空间不足解决方案

摘要: 通过存储过程执行4000多万条大批量数据插入时,报表空间不足错误 方法一: 1.先查询目前的表空间状态 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_BY 阅读全文
posted @ 2020-03-16 14:33 平平无奇杨小兵 阅读(506) 评论(0) 推荐(0) 编辑

url请求中的中文字符编解码处理,encodeURI()、encodeURIComponent()区别

摘要: 有些场景我们会使用get请求带中文参数的情况,如EMP框架的导出功能,必须对中文字符进行编解码处理 http://localhost:8080/cmis-plcs/exportCallCollCheckList.do?cust_name=%25E7%258E%258B%25E5%2581%25A5& 阅读全文
posted @ 2020-03-16 10:00 平平无奇杨小兵 阅读(730) 评论(0) 推荐(0) 编辑

oracle批量插入数据优化 与 sqlldr

摘要: 千万级数据量直接插入速度很慢,可以通过sqlldr批量插入数据 注: 批量插入大量数据,先删除索引,速度会大大提高,之后重建索引即可 阅读全文
posted @ 2020-03-12 18:15 平平无奇杨小兵 阅读(424) 评论(0) 推荐(0) 编辑

记一次oracle事务被锁,进程杀不掉 User session ID does not exist

摘要: 首先 truncate table *; 报错: ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired 查看当前锁住的sid: select l.session_id,o.owner,o.objec 阅读全文
posted @ 2020-03-12 11:31 平平无奇杨小兵 阅读(1328) 评论(0) 推荐(0) 编辑