- 博客(20)
- 收藏
- 关注
原创 ollama的安装及加速下载技巧
ollama的安装可以从官网下载,地址:和官网一样。下载好了,点击安装,安装好了,打开cmd 输入ollama会显示如下,代表安装成功。
2025-06-03 22:43:48
595
原创 微服务中引入公共拦截器
DispatcherServlet是springmvc的核心类,使用ConditionalOnClass,即判断当前有没有引入springmvc的依赖来判断是否引入MvcConfig 这个配置类,网关没有springmvc的依赖,这样这个配置类就不会生效。但是注意如果某个微服务启动报错,可能是你的某这个微服务没有引入springmvc的依赖,比如网关微服务,网关不需要springmvc的依赖,也不需要这个拦截器,这样所有引入common-service依赖的微服务都添加了这个拦截器。
2025-05-31 19:29:09
574
原创 idea同个工程启动多个服务
1、右击要复制的服务,选择copy Configuration。输入 -Dserver.port=8083。点击Modify options。记住不要输入错了,点击ok。选择添加虚拟机启动参数。
2025-05-22 15:47:14
686
原创 面试踩过的坑
ps:问的是:int a = 3;if(a==3){},比较的是值还是内存地址。这个忘了,想到另一个概念整数常量池,是自己想多了,和整数常量池的问题记混了,看到a==3,就想着3不会在内存中新建。傻了,这里再说下在方法中int a = 3。a和3(基本类型)都是保存在栈中的,引用类型对象才会在栈中存堆的内存地址。所以==比较基本类型时只能比较值,没有什么内存地址给你比较。下面代码//自动装箱:等价于 Integer.valueOf(3)
2025-04-26 00:10:05
2149
原创 JVM学习笔记
通过arthas工具的classloader -t 可以查看类加载器的父子关系个人感觉先说第二点比较好,且第二点说之前,说下java(在jdk8和8之前)中的默认类加载有三个,分别是启动类加载器,拓展类加载器,应用程序加载器。上一章节说了类加载器,它把字节码文件加载到了内存(运行时数据区)中,这一章节介绍下运行时数据区按线程共享不共享分了2块区域:共享的 有堆和方法区(jdk8后叫元空间)程序计数器、java虚拟机栈、本地方法栈为什么学习运行时数据区呢(应用场景)?
2025-04-23 16:16:58
852
原创 Synchronized底层原理和优化
synchronized是一个同步关键字,在某些多线程场景下,如果不进行同步会导致共享数据不安全,而synchronized关键字就可以用于代码同步 。 本文主要介绍Synchronized的原理和优化。要弄明白原理,得先明白2个东西,一个是java对象的内存布局(重点关注mark word),还有一个Monitor。 在HotSpot虚拟机中,对象在内存中存储的布局可以分为三块区域:对象头(Header)、实例数据(Instance Data)和对齐填充(Padd
2025-04-18 19:50:54
651
原创 MYSQL优化
拓展:Alibaba《Java开发手册》索引文件具有 B-Tree 的最左前缀匹配特性,如果左边的值未确定,那么无法使用此索引。一般指的是联合索引,比如create index indexname on t1 (a,b,c)查询的时候:select * from t1 where b='1' and c ='2';没有使用到A,导致失效。
2025-04-05 20:09:42
790
原创 git如何增量导出修改的文件
git diff-tree -r --no-commit-id --name-only bb20fb1c70c826761770389c64c1f4b90253b7d8| xargs tar -rf V3.tar
2025-03-28 14:02:16
307
原创 MyBatis中的#{}为什么可以防止sql注入,${}却不行
简而言之就是使用#{}底层使用的setString方法;setString中干了一件事,如果你输入了单引号',那么它会在它前面加上\转义符。这样不管你输入什么就是个纯字符了。这个知识点是一直知道的,但是原理一直不懂,今天用deepseek问了下,也没给出详细答案,只说了#{}是预编译。预编译就可以,最终不还是要用参数替换?原文比较详细,可以点进去看。
2025-03-14 22:56:28
228
转载 spring boot无数据库连接启动
用spring boot 搭建的项目,在配置文件不连接数据库启动项目会报错。原因在于spring boot默认会加载org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration类,DataSourceAutoConfiguration类使用了@Configuration注解向spring注入了dataS...
2020-04-23 00:20:03
1919
原创 linux一个文件插入到另一个文件指定行
需求:将我部生成的一个文件aa_yyyyMMdd.log(其中yyyyMMdd是前一天的日期)与另一个部门生成的文件bb.txt合并到一起,另一部门文件有头和尾加正文,要求我方文件插入到别的部门的文件中,其中头和尾内容不变,正文放到一起。百度得到如下解决方案:sed可以实现从一个文件读入写入另一个文件的指定位置,sed -i '2r a2.txt' a1.txt ,将a2.txt文件内容插...
2019-12-11 16:34:18
7104
4
转载 linux中更改tomcat产生日志的可读权限问题
修改部署在tomcat项目上生成日志的权限问题描述:当用非root权限部署tomcat并运行项目时,其他非root用户无法读取项目的日志文件,项目日志文件对其他非root用户无读权限。解决:修改umask值。新文件的文件默认权限是根据操作系统的umask值得设置来决定的,但如果通过umask命令修改或在用户的.bash_profile中设置umask值是不会生效的,因为在tomcat的启...
2019-10-25 15:23:45
1902
原创 oracle数据迁移
最近老大要我做几张流水表的数据迁移,要求每天定时清理A表180天前数据,把它先导入历史表B表中(B表结构和A表一致),然后删除a表180天前数据。思路:先写一个迁移的存储过程,在建立一个oracle的job(定时任务)来定时执行 :create or replace procedure PB_CLEAR_TEST_1( in_keepday number, --清理多少天前数...
2019-06-17 21:18:43
1049
转载 git 一个分支完全覆盖master
1.1 git push origin develop:master -f把本地的 develop 分支强制(-f)推送到远程 master但是上面操作,本地的 master 分支还是旧的,通常来说应该在本地做好修改再去 push 到远端,所以我推荐如下操作1.2 git checkout master切换到旧的分支1.3 git reset --hard develop ...
2019-04-03 17:34:58
2920
原创 AIX系统java环境配置
在当前用户的根目录下 vi .profile 编写一下内容export JAVA_HOME=/usr/java5 (/usr/java5换成你要配置的java安装路径)export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 参考 htt...
2018-10-11 18:50:08
3937
转载 ps -ef |grep 输出的具体含义
比如:[root@localhost ~]# ps -ef | grep ApacheJetspeedroot 18887 18828 0 08:09 pts/0 00:00:00 grep ApacheJetspeed字段含义如下:UID PID PPID C STIME TTY TIME CMDroot 18887 ...
2018-09-13 14:49:52
385
原创 java中关于进制的表示
今天看了这样一个题目:public class Demo1 { public static void main(String[] args) { Demo1 d = new Demo1(); d.a(); } public void a() { int i=012; System.out.println(i); }}问输出什么结果: 我想当然的认为是12,觉得0就是来扰乱人的,但就拿到ec...
2018-04-13 09:48:04
877
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人