- 博客(8)
- 收藏
- 关注
原创 Mybatis框架分页踩坑,${}和 #{}区别
分页的代码写在java层,计算类的代码不能写在mapper文件中。#{} : 根据参数的类型进行处理,比如传入String类型,则会为参数加上双引号。#{} 传参在进行SQL预编译时,会把参数部分用一个占位符 ? 代替,这就是为什么计算类的代码不能写在mapper文件中的原因,这样可以防止 SQL注入。${} : 将参数取出不做任何处理,直接放入语句中,就是简单的字符串替换,并且该参数会参加S...
2020-04-16 14:06:08
640
原创 记一次线上内存溢出OOM排查
循环内new实例会增加内存开销。改为在循环外:总结一下可能引发内存溢出的几点原因: 1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据,需手动垃圾回收; 2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收; 3.代码中存在死循环或循环产生过多重复的对象实体; 4.使用的第三方软件中的BUG; 5.启动参数内存值设定的过小;...
2020-04-13 10:32:59
493
原创 c#使用redis
redis是什么,用自己的话说就是一个key-value的存储系统,可以存字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。特点:Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单...
2019-09-20 17:26:19
393
原创 数据库表垂直拆分和水平拆分
现在一般的数据量比较大的数据库表都会做水平拆分和垂直拆分;垂直拆分:一个数据库表中的列较多的表拆分成多个表。比如我们的订单表,订单表中会乘客信息,我们可以把乘客信息的列拉出来,拆分成另外一张表。水平拆分:将一张表的数据拆分成多个表来存储。当我们一张表中的数据量过大,查询起来会有些慢的时候,这时候我们需要考虑水平拆分,来分到多个相同列结构的表中去存储。比如我们的订单表,随着业务数据的增加...
2019-09-01 19:47:47
328
原创 Element组件from表单回车提交表单问题
这段时间做后台项目的时候(用的vue+element组件)发现一个问题,之前我在给表单加回车提交表单的时候用的是@keyup.enter.native事件绑定回车事件,是ok的,后面做到一个页面的时候,发现会提交两次表单,整个页面会刷新两次,没有达到预期的实现效果,后面断点调试的时候发现会一次进入mounted里面,一次会进入我回车事件指定的方法里面。后来发现原来是这样:W3C 标准中有如下规定...
2019-08-31 21:35:15
1895
原创 c#中对象作为方法参数传递引用传递,值传递
c#中对象作为方法参数传递引用传递,值传递这本是一个很简单的知识点,但是我们在实际开发过程中还是蛮容易踩到这个 坑,尤其是在维护他人代码。逻辑比较复杂的时候,容易出错,哈哈,警醒一下。如图所示,对象为引用传递,方法中会改变实际的对象的值。...
2019-08-30 21:51:19
6129
1
原创 C#常见加密方式
一、MD5MD5消息摘要算法:一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致.简单的说就是单向的加密,即是说无法根据密文推导出明文MD5主要用途:1、对一段信息生成信息摘要,该摘要对该信息具有唯一性,可以作为数字签名。2、用于验证文件的有效性(是否有丢失或损坏的数据),3、对用户密码的加密,4、在哈希函数中计...
2019-04-29 18:07:19
3522
原创 c#Socket简单使用
Socket是利用TCP/IP协议建立TCP连接。双向的通信连接实现数据的交换,连接的一端成为一个Socket.在此基础上,socket连接过程:服务器监听:服务器端socket并不定位具体的客户端socket,而是处于等待监听状态,实时监控网络状态。客户端请求:客户端clientSocket发送连接请求,目标是服务器的serverSocket。为此,clientSocket必须知道ser...
2019-04-15 18:16:25
358
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅