- 博客(47)
- 问答 (1)
- 收藏
- 关注
原创 一个敏感词检查功能是怎么来的
基于前缀树的敏感词过滤方法,分析敏感词过滤的需求和分析前缀树的由来和优点,分析前缀树的引入过程和为何前缀树能提高速度。重点做分析不是实现。
2022-11-20 12:53:47
2086
原创 controller、service、Dao是否是线程安全的?
先对线程安全的定义进行解释,之后再分析如何保证线程安全,最后对controller、service等类进行分析是否线程安全的。最后做总结
2022-11-20 12:52:29
1021
原创 实现IP地址归属地显示功能、号码归属地查询
IP和归属地对应关系、手机号码和归属地关系等相对静态的数据高效查询方法。设计一种数据结构,提供以极低的内存消耗和极快的查询速度。提供一份原始的数据可以直接使用。将数据拷贝和代码拷贝到自己的项目去即可使用。可用于IP归属地显示,手机号码归属地显示等需求的开发提供方法和数据的支撑。...
2022-07-05 00:15:50
1905
原创 @ConfigurationProperties使用不当引发的bug
介绍@ConfigurationProperties的使用方式,注意事项等
2022-06-26 09:15:00
1098
原创 Java后端接口返回视频流,使用video组件播放视频,实现分段下载
Java后端接口返回视频流,使用video组件播放视频,实现断点下载视频进行播放,让获取视频接口支持http断点传输协议。内含完整可用代码
2022-01-15 15:42:01
27421
20
原创 由InputStream.available()引发的偶现bug
分析错误使用available()方法的案例,available()不合规使用后果的原因,分析spring boot网络请求中流的原理,分析@RequestBody原理
2021-11-22 12:17:20
2653
原创 mysql字符串长度有影响吗varchar(255)和varchar(100)保存相同长度字符串有区别吗
知道之后不要默认每个字段都这样写了,varchar(255)和varchar(100)保存相同长度字符串磁盘使用空间一样,但是处理数据时使用的内存不一样,效率不一样的。
2021-11-02 16:57:48
3638
4
原创 mybatis分页插件。左连接,一对多查询时分页失效
前言pageHelper是一款优秀的Mybatis分页插件,在项目中可以非常便利的使用,使开发效率得到很大的提升,但不支持一对多结果映射的分页查询,所以在平时的使用时,对于一对多分页会出现分页错误,这篇文章主要对pageHelper分页错误进行重现以及提出解决方案。分析mybatis进行一对多查询时,映射文件(mapper.xml)中的sql语句中使用的左连接,pageHelper会自动对这条左连接sql语句进行select count(0)的处理,并把结果作为分页结构的记录总数,然后自动将limit
2021-03-08 12:30:36
2090
原创 mysql定义字段varchar(255)报错超长?
平时习惯性的设计变长字段varchar(255),确保正常情况下数据库用一个字节保存长度信息,节省内存。但是有一次建表语气。create table user( id int auto_increment comment '自增主键', username varchar(255) not null comment '登录用户名', deleted int null comment '删除标志,0正常1删除', con
2020-11-28 11:08:37
3591
原创 IntelliJ IDEA : .java文件 左下角显示“J”,并且不能执行代码
IntelliJ IDEA : .java文件 左下角显示“J”,并且不能执行代码问题的复现、解决办法和原因分析
2020-10-23 08:49:17
9906
3
原创 数据库保存经纬度时用什么数据类型
一个事实各大在线地图,使用的经纬度坐标都精确到小数点之后第六位计算赤道周长为40075020m,维度360度,所以1度表示4007502m除以360等于111319.5m。也就是说1个维度表示111319.5m。也就是说当小数点六位时可以精确到111319.5m*0.000001=0.1m。...
2019-12-26 20:34:49
10874
原创 小数二进制和十进制转换
十进制转换二进制规则:将该数字乘以2,取出整数部分作为二进制表示的第1位;然后再将之前所得的数小数部分乘以2,将得到的整数部分作为二进制表示的第2位;以此类推,直到小数部分为0。显然就会发现小数部分一直不等于0的情况,这时候就得到一个无限位数的二进制小数点,计算机就无法完整保存所以就出现了所谓的浮点误差。比如2.30换成二进制0.3 * 2 = 0.6 ——————- 00.6 * 2 =...
2019-12-26 11:54:05
2191
原创 手机通过低功耗蓝牙控制智能硬件——51单片机智能小车
手机客户端使用微信小程序进行蓝牙的连接和控制信号的发送,蓝牙使用的是CC2541模块,其实支持蓝牙4.0都可以,硬件方面用小小的51单片机接收手机客户端的控制信号
2019-12-17 11:20:17
1150
3
原创 Java泛型实现原理
前言首先在直到泛型马,就是一个类型变量,可以放入任何类型得东西,Java是强类型的不得乱加类型,使用前必须指定类型是什么否则就报错无法编译,而泛型就可以理解为一个类型参数,就一个参数用的时候指定这恶参数的是什么就可以,也就是用的时候再指定类型,这样子也不会报错。历史强类型有哪些弊端也就很明显,有的时候需要类型是运行的时候才知道的,比如写List接口啥的,肯定不能事先知道要放的是什么类型,又...
2019-09-16 15:01:59
695
原创 MySQL事务隔离级别和MVCC
MVCC 英文全称为Multi-Version Concurrency Control,翻译为中文即 多版本并发控制。事务隔离级别脏写:一个事务修改了另一个未提交事务修改过的数据,也就是区修改别人未提交的部分当回滚时就修改不复存在了。脏读:一个事务读到了另一个未提交事务修改过的数据,同样的回滚时就读取到了一个不存在的数据,不可重复读:就是说一个事务没有提交的时候读取了另一个数据,读取之后...
2019-09-14 21:41:33
231
原创 MySQL中redo日志和undo日志简述
redo日志磁盘的随机IO和顺序IO随机IO即IO操作的地址是随机的不连续的,顺序IO是操作的磁盘地址是连续的Buffer Pool缓冲池,也就是当读取一页数据进行一波操作后并不会立马就删除或者同步更新修改到磁盘中,而是保存在所谓的Buffer Pool中,下次用到时就不用重新读取了,因为读取磁盘的速度实在太慢太慢了。Buffer Pool的空间肯定是有限的,为了保存一直用到的数据,所以...
2019-09-14 13:15:22
637
原创 单例模式的实现
定义这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。实现public class Singleton{ //一个私有的静待变量保存类的实例,不可直接访问和修改 private static Singleto...
2019-09-11 16:16:50
165
原创 红黑树和多叉树介绍和理解
前言二叉搜索树的一个缺点是不平衡,当插入的数是随机数时效果很好,当插入的是有序的数时就和链表一样了,没有了插入和查询都块的特点了,这里介绍一种改进保证了二叉搜索树的平衡,当插入的是顺序也好随机也好都能保证二叉树平衡,即红-黑树,只是在原来二叉树的基础上加了一下特定的条件契约让树可以一直保证平衡。(平衡树两个叉节点数差不多,不平衡树一边有节点多一边有节点少),加入什么特性使得二叉搜索树能保持平...
2019-09-03 19:16:54
758
原创 小白tomcat9配置SSL
建议:先看tomcat的日志,还有tomcat的官网文档一般都会详细描述。这里官网文档链接申请证书后下载tomcat版的证书压缩包解压得到一个文件得到.pfx文件和里面是密码的txt文件。并上传到服务器某个目录,一般在tomcat安装目录的conf/cert/我用的是阿里云的免费证书……首先导入本地密钥库,生成.jks文件执行指令keytool -importkeystore -sr...
2019-08-21 22:38:27
884
原创 关于项目部署到tomcat出现404问题的一种情况记录
记录小白部署java web 到服务器的坑由于本人习惯性的命名习惯第二个单词都要*首字母大写命名然后项目的名字用两个单词第二个单词首字母大写了,然后用IDEA直接运行时项目名称帮你自动生成都是小写字母,不修改直接确定就忽略了,然后在浏览器端输入两个小写就可以,然后尝试打包成war包,然后放到appwebs目录下按常规教程来,结果出现可以访问tomcat欢迎页面但是死活访问不了自己的项目,...
2019-08-18 02:55:47
1313
原创 关于指令集位数,指令构架位数简述
简言之就是处理器架构的位数越高,速度越快,内存越多处理器架构的位数是指通用寄存器的宽度,其决定了寻址范围的大小、运算能力的强弱。譬如32位架构的处理器,其通用寄存器的宽度是32位,能够寻址的范围是2的32次方,即4GB的寻址空间,运算指令可以操作的操作数是32位,也就是说一个机器周期内可以处理32个01,。指令集就是可以通过它区控制CPU的东西,比如叫CPU做加法运算啥的发出一个指令(命令)就...
2019-07-03 12:51:44
1409
原创 几个常见排序算法介绍和java实现
算法描述名称平均时间复杂度最坏时间复杂度空间复杂度稳定性冒泡排序O(n^2)O(n^2)O(1)稳定选择排序O(n^2)O(n^2)O(1)不稳定插入排序O(n^2)O(n^2)O(1)稳定奇偶排序O(n^2)O(n^2)O(1)稳定希尔排序O(n^3/2)O(n^2)O(1)不稳定快速排序O(nl...
2019-06-27 16:22:07
307
原创 堆这种数据结构
简要介绍堆的结构和实现,堆实现的话会出现相同元素时先进后出的情况,但是优先队列讲的是优先的先出来,优先一样的谁先出来都没关系,因为优先级都一样不用队列了,讲的是一种优先的排在前面而不是一定要保证先进先出。优先队列就是优先级当作队列,优先级一样不用当队列。
2019-06-26 10:44:38
343
空空如也
大家是怎么划分do vo dto等等的平时开发都这么严格划分吗?
2022-05-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人