- 博客(36)
- 收藏
- 关注
原创 日常学习--20240819
接口,重写方法onApplicationEvent,如果只需要执行一次需要确保只在根ApplicationContext加载时执行if (event.getApplicationContext().getParent() == null) {}spring框架中实现。
2024-08-19 15:10:45
271
原创 日常学习--20240805
1、在hashmap中树化的时候为什么采用红黑树,为什么没有选择AVL树或者b树?AVL树对平衡性要求严格,同一层树之间高度差不能超过1,这导致每次添加或者删除数据后AVL树需要多次反转才能再次平衡;而红黑树因为其平衡性要求不那么严格,即同层的树高度差可以超过1,在使用不同颜色着色后,在增删数据后最多进行三次反转就能再次平衡;这意味着在增删比较频繁的场景红黑树的性能要更好 而b树在数据较少的情况下,几乎退化成链表,性能较差2、Object类的方法梳理本地方法hashcode:获取当前对象的哈希值
2024-08-06 09:35:16
176
原创 日常学习--调用第三方接口和提供第三方接口时的注意事项--20240728
1、调用第三方接口的注意事项 接口测试与验证: 对第三方接口进行充分的测试,包括功能测试、性能测试和安全测试,确保接口的稳定性和安全性。 验证接口的可用性,包括接口地址、请求方式、请求参数、响应格式等是否正确。 参数校验与日志记录: 在调用接口前,对请求参数进行严格的校验,确保数据的正确性和完整性。 记录接口调用的入参和出参日志,以便在出现问题时进行排查。 异常处理与重试机制 实现异常捕获机制,对接口调用过程中可能出现的异常进行捕获和处理。 对于可能
2024-07-28 23:21:02
723
原创 日常学习--20240723
1、select forupdate语句出现锁住整张表的情况索引使用不当导致进行全表扫描; 事务过大包含了多条select forupdate语句或者持续时间过长,影响到表内的其他数据; 该操作和其他(ddl)操作并发进行导致锁住整张表
2024-07-28 17:46:23
128
原创 日常学习--20240717
1、spring事务失效的几种情况?自己new的对象(非spring定义的bean),或者同一个类的方法调用(this.调用,未使用动态代理),这两种方式都会绕过spring的aop 对应的数据库不支持事务 事务标记@Transational加在了非public方法上,spring aop的特性 抛出的是非runtimeException异常,spring aop的特性 事务标记的方法内部捕获了异常,未重新抛出 开启的子线程中2、向redis中快速写入百万数据?使用管道技术(批量发送re
2024-07-17 23:16:05
260
原创 日常学习--Linux命令梳理--20240715
tar -cvzf test.tar.gz xm/a.txt tar -xvzf test.tar.gz 通过gzip进行压缩和解压缩。vim/vi filename.txt 创建一个文件并编辑(insert进入编辑模式,esc退出编辑,:wq保存并退出)" >> filename.txt 创建一个文件并追加内容(文件存在,则追加到文件)find home/ -iname ’*.txt‘ -print 查询当前目录及其子目录中文件后缀为.txt的文件。
2024-07-15 22:50:58
835
原创 日常学习-20240711
此外,各个高并发场景的业务特点完全不同:有读多写少的信息流场景、有读多写多的交易场景,那是否有通用的技术方案解决不同场景的高并发问题呢?业务都是从0到1做起来的,并发量和QPS只是参考指标,最重要的是:在业务量逐渐变成原来的10倍、100倍的过程中,你是否用到了高并发的处理方法去演进你的系统,从架构设计、编码实现、甚至产品方案等维度去预防和解决高并发引起的问题?监控报警:全方位的监控体系,包括最基础的CPU、内存、磁盘、网络的监控,以及Web服务器、JVM、数据库、各类中间件的监控和业务指标的监控。
2024-07-11 23:44:43
797
原创 日常学习-20240710
批量插入数据,redis实现session共享,redis分布式锁,MQ处理消息,kafka速度,elasticsearch
2024-07-10 23:28:45
1225
原创 日常学习--20240708
我们可以加入冗余列(MySQL5.7之后加入了虚拟列,使用虚拟列更合适,思路相同),比如 mobile_reverse,内部存储为 mobile 的倒叙文本,如 mobile为17312345678,那么 mobile_reverse 存储 87654321371,为 mobile_reverse 列建立索引,查询中使用语句 mobile_reverse like reverse(’%5678’) 即可。可以采用关联更新的方式,将一张表的部分数据,更新到另一张表内。
2024-07-09 09:54:08
309
原创 日常学习-20240629
执行引擎主要作用是用来执行类中的命令;运行时数据区用来存储字节码对象,变量和运行时的中间计算结果。常说的jvm内存模型指的是运行时数据区,分为公有的堆和方法区,线程私有的程序计数器、虚拟机栈、本地方法栈。IO多路复用指的是一个用户线程可以接收多个套接字接口发送的IO操作请求,通过轮询的方式查看哪个IO操作所需要的数据已经准备好(类似Linux操作系统的select/poll(轮询方式,可接收的fd数量有限)和epoll(基于事件驱动模型,有fd准备就绪,就回调函数rollback)),该过程也是非阻塞的。
2024-07-03 10:05:58
286
原创 日常知识积累-20240628
日常学习,serializable、内存泄漏、线程通信、sychronized、lock、hashmap、concurrentHashMap
2024-06-29 00:19:37
775
原创 使用dockerfile打包项目遇到的问题
在dockerdesktop 的设置中找到Docker Engine 选项将国内的仓库源加上,如阿里的。1、默认的docker hub仓库访问不了,导致拉取Java:8失败,无法打包成功。
2024-06-20 19:59:36
411
原创 通过easycode插件生成代码后运行遇到的问题
1、controller层的分页查询方法中参数pageRequest接收不到前台,传递的int page和int size参数,并提示没有相应的构造。2、controller层的分页查询方法,在dao层访问数据库时,提示未找到对应的#{id},而id实际上为user对象的属性,由于有入参有两个对象。问题的原因:由于有入参有两个对象,需要指定两个对象的名称,且在xml文件中需要通过#{user.id}的方式获取属性。原因:PageRequest 所在包升级废弃了该类的构造。
2024-06-19 01:52:52
340
原创 使用mybatis-plus的功能,通过继承BaseMapper实现不写sql访问数据库失效
解决方案:将配置的SqlSessionFactory实现类org.mybatis.spring.SqlSessionFactoryBean替换成mybatis-plus或者mybatis-plus-extension相应的实现类,如下:将。场景:通过调用controller层方法从数据库中做基础的查询操作,提示基础查询方法没有绑定xml中的sql,通过在对应的mapper.xml文件中添加相应的sql的确能够访问成功。
2024-06-19 01:36:33
319
转载 idea 实用快捷键
15.常用快捷键Ø Top #10切来切去:Ctrl+TabØ Top #9选你所想【选中上下文相关联代码】:Ctrl+WØ Top #8代码生成:Template/Postfix +TabØ Top #7发号施令:Ctrl+Shift+AØ Top #6无处藏身:Shift+ShiftØ Top #5自动完成:Ctrl+Shift+EnterØ Top #4创造万物:Alt+Inse...
2019-08-21 16:28:45
497
转载 IDEA DEUG深入学习
转载自:http://www.linuxidc.com/Linux/2017-09/146772.htmDebug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码。 所以学习下如何在Intellij IDEA中使用好Debug,主要包括如...
2019-08-21 13:32:27
96
1
转载 css选择器
1.#id id选择器2..class class选择器3.div 元素选择器4. div ul 后代选择器5. div > ul 直接后代选择器6. [name=name] 属性选择器7. div.class 并列选择器(定位同一个标签)8.div,ul,li 分组选择器默认样式<标签选择器<类选择器<id选择器&l...
2018-10-22 09:30:45
170
原创 代理服务器的正向代理和反向代理理解
所谓正向代理,是从客户/客户端角度出发,即为了从原始服务器中取得内容,由客户端想代理服务器发出请求,并指定目标访问服务器,而后,代理(服务器)向目标服务器转角需求,并将获得的内容返回给客户端。正向代理闭环完成。但是需要注意的是,在正向代理过程中隐藏了真是请求的客户端,即服务端不知道正式请求客户是谁。讲到这里,大家是不是想到了什么呢?没错,大多数科学上网行为都是这么发生的。反向...
2018-08-18 12:08:56
49
1
原创 linux的本地上传的两种方式
1.使用secureCRT工具a.首先点击工具栏 文件下拉中的连接SFTP标签页b.通过 lcd 找到本地要上传文件所在目录c.通过lpwd 切换到本地目录如下图d.通过cd 和pwd命令指定文件上传到linux的什么位置e.使用put命令上传文件后,可以在linux中查看到上传的文件2.使用szrz命令上传a.首先输入rz确认是否命令是否可用 (1)....
2018-08-12 09:55:07
3571
转载 git下载代码的两种方式
1.第一种使用tortoiseGit插件:a.首先在setting中的Git中添加user&emailb.通过git clone填写url和branch,选择下载工程的不同分支上的代码2.通过 git bash here命令的方式a.设置user&emailb.git clone 项目地址c.添加sshkey;不用每次都输入名称和密码:ssh...
2018-08-08 01:32:59
66893
1
原创 安装jdk后修改,环境变量失效的解决办法
转至https://blog.youkuaiyun.com/u010457406/article/details/54291131现象:当使用安装版本JDK后,想要更改系统环境变量时,直接更改JAVA_HOME无效原因:当使用安装版本的JDK程序时(一般是1.7版本以上),在安装结束后安装程序会自动将java.exe、javaw.exe、javaws.exe三个可执行文件复制到C:\Windows\Syste...
2018-07-15 10:22:40
40
原创 java开发工具安装的一些注意事项
1.jdk安装:注意path和classpath含义的区别.path:是告诉系统使用的工具的可执行程序安装在什么位置.(有时可能需要同时指定运行环境的可执行路径)classpath:是告诉系统Java运行所需要类的位置,例如:(有的系统需要设置).;D:\jdk1.5.0\lib\tools.jar;D:\jdk1.5.0\jre\lib\rt.jar;2.maven版本的选择需要考虑是否适合当前...
2018-07-14 20:03:19
31
转载 如何使用SVN对代码进行版本控制??
1.如何从svn中心将需要的代码下载到本地电脑上?右击鼠标选择SVNcheckout,会弹出如下窗口:url of repository--指的是项目在中心库中的路径checkout directory : 是项目要存放在本地的路径2.修改后的代码提交选中修改后的项目或者文件:(1)直接选svn commit直接提交到版本库中;(2)或者先点击add将修改的文件提交到变更列表中,再commit;冲...
2018-07-12 22:40:06
10108
转载 Maven使用详解
本文转至https://blog.youkuaiyun.com/u010425776/article/details/52027706什么是Maven?如今我们构建一个项目需要用到很多第三方的类库,如写一个使用Spring的Web项目就需要引入大量的jar包。一个项目Jar包的数量之多往往让我们瞠目结舌,并且Jar包之间的关系错综复杂,一个Jar包往往又会引用其他Jar包,缺少任何一个Jar包都会导致项目编译...
2018-07-12 14:35:42
185
原创 新建maven工程遇到报Could not calculate build plan: Plugin org.apache.maven.plugins:maven的问题
处理步骤:1.找到你的本地仓库中org.apache.maven.plugins目录将其清空. 2.确保你的maven工具中settings.xml中配置了mirror镜像可以连接远程仓库. 3.再右击报错的maven工程找到maven下的update maven project(有时可能需要选中force update of snapsho...
2018-07-12 14:35:31
1689
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人