- 博客(53)
- 资源 (7)
- 收藏
- 关注
原创 Python——压缩图片代码
产品A修改了本来很小的图片保存后,发现图片贼大,50m。需要放到ppt中,那么就让gpt写个有用的。比市面上的图片压缩好使多了,也不限制图片大小图片数量。
2025-02-24 14:37:29
194
原创 linux部署ollama+deepseek+dify
详情查看官方文档,https://docs.dify.ai/zh-hans/getting-started/install-self-hosted/docker-compose。举例:本机安装了nginx,非docker部署的,dify 的docker compose拉取的nginx出现了端口冲突,需要修改difynginx的端口号。为何linux无法使用curl一键拉取ollama呢是不是,ollama又为何不可以直接pull模型呢是不是,所有dify拉不下来镜像也是应该的。
2025-02-10 11:44:28
583
原创 多线程——synchronized代码示例
将有Thread.sleep的方法设置为static方法,并且让两个线程用同一个对象调用两个方法。两个线程调用两个对象的同步方法,其中一个方法有Thread.sleep。都设置为static方法,两个线程去调用两个方法。新增Thread.sleep()给某个方法。两个线程调用同一个对象的两个同步方法。新增一个线程调用新增的一个普通的方法。
2024-12-02 11:33:21
562
原创 多线程——JUC的CountDownLatch、Semaphore、CyclicBarrier
【代码】多线程——JUC的CountDownLatch、Semaphore、CyclicBarrier。
2024-11-11 15:45:54
151
原创 多线程——JUC同步容器类
以前都是使用Collections.synchronizedXXX()来转换!当转换HashMap的时候还可以直接使用HashTable,数据结构一样,一个线程安全一个线程不安全,对空值的处理不同。为解决问题,并发编程实践中,JUC给我们提供了一系列同步容器类,用来解决非线程安全的集合类,我们只需要在多线程并发编程中,用这个类替换掉原来的HashMap,ArrayList,HashSet集合,就可以保证是线程安全的,效率还高。
2024-11-08 14:51:27
418
原创 多线程——死锁
线程之间交错执行以固定的顺序加锁执行某方法时就需要持有锁,且不释放缩减同步代码块范围,最好仅操作共享变量时才加锁永久等待使用tryLock()定时锁,超时则返回错误信息。
2024-09-11 17:06:02
656
原创 多线程——线程安全
前面我们用关键字synchronized构成同步代码块和同步方法,来实现多线程的同步,本质上我们可以理解为底层的程序给线程加了一把我们看不见的隐藏的锁,只有获取到这把锁的线程才能被执行,没拿到的线程你就给我等着,从而控制线程的执行顺序,达到同步效果。所以,任何线程进入同步代码块、同步方法之前,必须先获得对于同步监测器的锁定,那么谁会释放对同步监测器的锁定呢?在Java中,程序无法显式的释放对同步监测器的锁定,释放权在底层的JVM上,JVM会从释放机制中自动的释放。释放同步监测器锁定。
2024-09-05 18:20:41
1009
原创 多线程——线程控制
在多线程中线程的执行顺序是依靠哪个线程先获得到CUP的执行权谁就先执行,虽然说可以通过线程的优先权进行设置,但是他只是获取CUP执行权的概率高点,也不一定必须先执行。join参数表示main线程会等待t1线程10毫秒,10毫秒过后,join的功效结束,即串行执行恢复为并行执行。在后台运行的,为其他线程提供服务,(Daemon Thread)。java 中的线程优先级的范围是1~10,1的优先级最低,10的优先级最高。**特征:**守护线程服务对象线程都死亡后,守护线程也会自动死亡。
2024-09-04 17:23:53
474
原创 多线程——创建
*3. 其他阻塞:**调用线程的sleep方法,等sleep完毕,转入就绪;创建Callable接口的实现类,重写call方法,call方法有返回值,再创建Callable实现类的实例。调用start后,线程处于就绪状态,此时已经做好了执行的准备,可以运行了,但还没有运行,蓄势待发。继承Thread类,重写run方法,run方法的方法体代表线程需要完成的任务,称为线程执行体。线程获得调度时,线程处于运行状态,开始执行run方法中的线程执行体。实现Runnable接口,重写run方法,也是线程方法执行体。
2024-09-03 17:51:57
446
原创 Docker部署nacos...用户名密码错误
环境变量这里的mysql可以对应application中使用,${MYSQL_SERVICE_HOST},也可以不写MYSQL_SERVICE_前缀的这四个 ,还是把application文件中的mysql链接写对即可。一般数据库连接脸上,nacos就能启动成功了。剩下的用户名密码问题,我搜了下,还有说jdk降低下版本,还说不能使用openjdk,我ava17,以使用更新密码的api解决了。镜像选择v2.3.0版本,因为最新的没拉下来用的别的地方save load的镜像。
2024-07-29 15:04:59
646
原创 Docker部署内网穿透服务
市面上的可下载的内网穿透是不是都非常的不好用,本地开发测试用起来都不方便。免费版本的各有限制。从无条件免费到后面维护的越来越复杂。无脑人(我)只需要下面这个。能用,需要添加隧道的话,直接修改ngrok.yml添加就行了。只有一条固定和多条随机,隧道条数限制没看到哦,没认真看,我需要的是这个固定的域名。好处就是,可申请一条免费的域名,不好记但是免费!自己想一下,一个账号免费一个。比较简单哈,申请域名后使用后边的Static Domain。一个是随机域名不定期会更换,一个是隧道数量限制,还有流量限制。
2024-07-17 11:28:34
393
原创 Python之微信公众号发布草稿
本着学习python的态度,首次接触python是因为之前工作需要,客户要我们根据网站中可下载的十几份excel文档根据数据整理出新的文档,他们只是需要文档,相当于一个售后维护工作吧,,数据量比较大,java读取加载处理跑的巨慢需要几小时,python比java处理excel加生成需要几分钟,感觉python好上手比较简单,需要处理的bug也少。之前使用的云服务器,因为科学原因被封了,导致写的模块化脚本都失效了,缓存使用的redis,源码失去了,无备份,也不想重新连redis了。
2024-07-15 17:05:45
1227
3
原创 Redis7降级6备份不过期数据操作
就是进入redis7容器内部, 查找所有key,取ttl=-1的key进行操作,赋值给变量后,火速到redis6的容器内部,进行set操作。新建思路: 需要将redis7降级,新增redis6容器,端口号、挂载目录、容器名称区分开,其他不变,开启aof哦。首选bash,,python要装环境,,服务器也不是随便乱动的地方,唉,巧妇难为无米之炊。直接将上一步redis6的aof和rdb放到redis7下,,修改redis7的镜像号,compose即可。重建容器后,里边就只剩下ttl=-1的数据了。
2024-05-09 15:24:16
419
原创 VMware CentOS7 Docker入门
命名虚拟机(centos7.9,位置存放F:\Virtual Machines\CentOS 7.9)->systemctl start sshd.service #启动ssh服务。windowcmd:ping 本地IP:88(即你的centos)->xshell:centosip,端口22,root,密码->取消勾选本地DHCP服务将IP...->20GB,将虚拟磁盘存储为单个文件->访问IP:8080 出现404->安装软件:最小安装(无界面)->子网IP:本地IP.0->
2023-09-19 14:08:02
364
原创 JSP太大无法编译成java
经测试,确实是独立的页面所以要添加独立小页面编译时的一些前置对象属性啊参数啊!不然被引入的页面初始化不出来啊,,一些本来和原页面一起使用的信息都要在小页面同步一下,是独立的后果。所以被迫遇到这个问题,,就百度,1:修改tomcat的web.xml,无效。<%@include file="文件的URL">改成<jsp:include page="文件的URL"/>改好之后确实没这个错误了,原理就如同网上说的,是独立的编译啊。好久没用jsp了,有些陌生,再加上新接手,jsp页面行数太多。
2023-08-22 15:32:29
363
原创 GIT本地代码恢复
本地四个commit:A<B<C<D远程commit:A<B<C本地直接回退到B,忘记备份D;git reflog;查看提交记录会有D,记住版本号。git reset --hard xxx;好了应该忘不掉了~...
2021-05-31 10:53:52
276
原创 打包部署
毕业三年了,才接触到打包部署,还是在上海这种后端即运维的地方接触到的。。前端vue,后端 bootvue打包, npm run build ,生成dist,放到src main resources static下。把eclipse打包,点击pom文件直接maven install.。。这边用的crt,把打好的jar包传输过去即可。具体就是 打开crt的sftplcd 本地上传文件的路径cd 远程文件所在的位置put 文件名。tab健基本上出来就是对应了。杀进程,启动.
2020-09-18 10:20:30
180
转载 Spring Boot CommandLineRunner和ApplicationRunner
在spring boot应用中,我们可以在程序启动之前执行任何任务。为了达到这个目的,我们需要使用CommandLineRunner或ApplicationRunner接口创建bean,spring boot会自动监测到它们。这两个接口都有一个run()方法,在实现接口时需要覆盖该方法,并使用@Component注解使其成为bean。CommandLineRunner和ApplicationRunner的作用是相同的。不同之处在于CommandLineRunner接口的run()方法接收String数组作为
2020-07-22 11:01:23
249
原创 IDEA中amend
偶然看到idea 2020.2.1commit工具栏中有amend勾选,查找后得知,是对上一次提交做修改的一个命令,可修改提交内容和提交注释。
2020-07-07 09:59:13
7105
转载 java.lang.UnsupportedOperationException解决方法【转】
转自https://blog.youkuaiyun.com/Tracycater/article/details/77592472?locationNum=2&fps=1做开发一定要注重细节。在项目中对List进行操作时报错java.lang.UnsupportedOperationException,后来发现操作的List是由数组转换而成的,通过看源码发现问题,并写测试程序如下。代码块: public class ListTest { public static void..
2020-06-16 17:34:24
151
原创 GIT本地代码恢复
本地四个commit:A<B<C<D远程commit:A<B<C本地直接回退到B,忘记备份D;git reflog;查看提交记录会有D,记住版本号。git reset --hard xxx;好了应该忘不掉了~...
2020-04-13 18:43:14
827
转载 git总是提示输入用户名密码的解决记录
git总是提示输入用户名密码的解决记录git改过密码后,再用命令行pull代码(举个例子),就会每次让你输入用户名密码,很麻烦,比如:git pull origin dev:dev输入用户名密码,ok了git pull origin dev:dev输入用户名密码,ok了git pull origin dev:dev输入用户名密码,ok了…解决办法就是加上本地凭证git co...
2020-04-13 17:39:56
425
原创 elementui右键菜单实现
el-table添加@row-contextmenu="rightClick"// table的右键点击当前行事件 rightClick(row, column, event) { // 阻止浏览器右键默认 event.preventDefault(); // 当前行在编辑状态时 或者 有正在编辑的行 if (!(this.curren...
2020-04-07 14:00:37
2193
原创 VUE ElementUI 实现可编辑表格加校验
<!-- 道面巡检主页面 --><template> <div id="roadSchedule"> <!-- 查询条件 --> <div class="totalCondition"> <condition ref="condition" @setData="se...
2020-03-11 15:06:18
1369
3
原创 IDEA 合并无用的commit
首先找到你的分支的LOG 找到你想消除的一个commit(起名为aaa),找到之后,随便在aaa的下方找一个commit叫BBB,把bbb的版本号复制一下。
2020-03-11 15:01:50
444
原创 VUE入门~
命令~~:npm install 安装依赖包生成node_modules,npm run build打包scp-rdist 推送代码;网站相关:ElementUI官网、vue.js官网、工具:vsCode,各种插件自己可以线上搜索...
2020-03-11 14:23:20
95
原创 VUE 懒加载树实现增删改查
根据后台接口,一级树节点:一个查询接口,二级树节点:根据一级树节点的id调用接口查询;实际情况为只有两级节点;测试提出一级树节点的收放按钮如果没有子节点的话不要显示。。。这个让后台接口加个布尔类型的属性,,一级查询接口的时候直接接收就可以了。前端做太麻烦了感觉,还没改。<template><divid="ath_group"><div...
2020-03-11 14:21:27
896
JAVA生成时间段集合【生成日程】
2019-05-21
jsjquery调打印功能
2018-09-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人