- 博客(1008)
- 收藏
- 关注
原创 Redis:IO多路复用深度解析
多路复用快的原因在于,操作系统提供了这样的系统调用,使得原来的 while 循环里多次系统调用,变成了一次系统调用 + 内核层遍历这些文件描述符。所谓 I/O 多路复用机制,就是说通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或写就绪),能够通知程序进行相应的读写操作。这种机制的使用需要 select 、 poll 、 epoll 来配合。多个连接共用一个阻塞对象,应用程序只需要在一个阻塞对象上等待,无需阻塞等待所有连接。
2023-07-06 12:09:39 3355 2
原创 k8s:The connection to the server localhost:8080 was refused - did you specify the right host or
当k8s遇到了这个错误,大概率就是可能是环境变量或用户权限的差异。
2024-03-06 11:15:55 504
原创 IDEA强大的接口调试插件,强烈推荐!!!!
之前都是用postman和swagger,今日在github上发现了Cool Request,开源免费,最方便的莫过于在IDEA中就可以调试!在idea上面输入cool-request,并下载插件。可以看见自己写的接口。
2024-02-20 17:42:39 1717 1
原创 Vue跑马灯简单案列
content是显示的内容,shouldMove是否滚动(如果大于了文本框才滚动,否则禁止不懂),showResult是否显示滚动条。套在自己的vue模板里面即可。
2024-02-20 16:56:33 376
原创 npm install 遇到问题:ERR! request to https://registry.npmjs.org/express failed, reason: getaddrinfo
原因:公司使用了代理服务器,node.js没有走环境代理。
2024-02-20 16:26:11 276
原创 request to httpsregistry.npm.taobao.orgnrm failed, reason certificate has expired
推荐使用 nrm 来更好的管理你的镜像源。使用哪个镜像源就输名称就可以了。然后我们可以查看镜像源。
2024-02-20 16:23:29 433
原创 vue.config.js中proxy配置
方法1:监测多个接口,可以在proxy中写多个配置:(适用于target不同的代理,相同也可以用这个方法,就是会麻烦一点,对于相同的target方法2会比较方便)如果发送的请求都以 /abc 开头,那么我们就可以在proxy中进行服务器代理配置。方法2:使用axios进行前设置(适用于target相同的代理)进行了上方的配置后,在本地发送的请求会变为。如果不懂 我在下面举个列子把。这里以axios发请求为例。
2024-02-20 16:15:19 1053
原创 Maven依赖下载报错 unable to find valid certification path to requested target
阿里云改了仓库地址,由原来的http改成了https。
2024-02-20 16:00:59 783
原创 Consider defining a bean of type ‘org.springframework.transaction.PlatformTransactionManager‘ in you
【代码】Consider defining a bean of type 'org.springframework.transaction.PlatformTransactionManager' in you。
2024-02-20 15:44:57 450
原创 CompletableFuture异步编排+实战
Future是Java 5添加的类,用来描述一个异步计算的结果。你可以使用isDone方法检查计算是否完成,或者使用get阻塞住调用线程,直到计算完成返回结果,你也可以使用cancel方法停止任务的执行。在Java 8中, 新增加了一个包含50个方法左右的类: CompletableFuture,提供了非常强大的Future的扩展功能,可以帮助我们简化异步编程的复杂性,提供了函数式编程的能力,可以通过回调的方式处理计算结果,并且提供了转换和组合CompletableFuture的方法。
2024-02-02 15:59:04 1621
原创 JVM_性能优化案例:调整堆大小提高服务的吞吐量
生产环境下,Tomcat并不建议直接在catalina.sh里配置变量,而是写在与catalina同级目录(bin目录)下的setenv.sh里。其中存在大量的Full GC日志,查看一下我们Jmeter汇总报告。
2024-02-02 15:58:20 492
原创 aliyun-java-vod-upload引入失败解决
阿里并未将当前jar包开源,要自行去官网下载,并安装进maven库中。3.然后重新添加上冲突的依赖,并Reload Project。在maven的conf下setting.xml。依赖可能爆红,但是在pom文件里面没有错误。放到maven的lib,然后cmd。1.把pom.xml对应的依赖删了。然后解压,找到这个jar包。重新导入依赖就成功了。
2024-01-26 11:28:41 514
原创 OutputStream转InputStream必会的三种方式
这种方式最为简单,但是要求执行byteArrayOutputStream.toByteArray();这个方法之前,需要的数据已经完全写入,即无法做到边写边读,另外其需要足够的内存来一次性的容纳这些数据。这种方法支持流式的方式,一端写一端读,向PipedOutputStream写入的数据可以从PipedInputStream读出,比方法一好一点。使用Circular Buffers。使用byteArray缓存转换。
2024-01-24 11:57:45 3105
原创 SSL certificate problem: self signed certificate in certificate chain
公司bitbucket只支持https地址,需要client配置忽略https证书检验。提示信息为SSL认证失败,可以关闭SSL的认证。
2024-01-24 10:03:19 1995
原创 Java实现两个Ip相互跳转
需求:在请求HttpClient时,如果访问的http://127.0.0.1:5004/proxy/1为空或者为html(看自己的需求而定),那么就跳转到http://192.128.121.140:5004/proxy/1。
2024-01-24 09:58:32 580
原创 Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource could
然后去github看官网怎么写的,发下< artifactId >是由springboot变成了现在的springboot3。springboot3配置多数据源dynamic-datasource。
2024-01-24 09:36:36 410
原创 Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required
提高Mybatis-Plus的版本,注意要使用3.5.2之后的版本。SpringBoot3.x版本与Mybatis-Plus不兼容。
2024-01-24 09:29:45 657
原创 aspose-cells-20.7.jar 去除水印及次数限制
复制一个 aspose-cells-20.7.jar 改名为 aspose-cells-20.7-crack.zip 然后解压。防止文件指纹校验,我们需要删除掉源代码解压包中的 META_INF 文件夹。把刚才生成的 License.class 文件 替换到解压的源代码中。启动类中创建一个静态方法 crackAspose。在 main 方法中执行 crackAspose。pom 文件中引用 javassist。压缩源代码(注意要是 zip 格式)
2024-01-22 09:36:21 2088
原创 SpringBoot日志配置
Spring使用commons-logging作为内部日志,但底层日志实现是开放的。可对接其他日志框架。a. spring5及以后 commons-logging被spring直接自己写了。支持 jul,log4j2,logback。SpringBoot 提供了默认的控制台输出配置,也可以配置输出为文件。logback是默认使用的。虽然日志框架很多,但是我们不用担心,使用 SpringBoot 的默认配置就能工作的很好。SpringBoot怎么把日志默认配置好的。
2024-01-19 16:29:35 943
原创 postgre数据库清除表数据,保留表结构,并且自增列重新从1自增
与 mysql 稍有不同,postgresql 的自增字段 是通过 序列 sequence来实现的。即可,如果有自增的 id 字段,也会还原回 1。mysql中如果需要清空表,只需要。所以在清空表的时候,还需要还原序列。
2024-01-11 16:27:21 567
原创 MySQL中datetime和timestamp的区别
关于datetime和timestamp的选择使用.在满足使用条件的情况下,占据存储空间越少越好,此时选择timestamp比datetime更好.timestamp类型的存储,是以UTC时区来保存的,在显示时会自动将日期数据转换,如果时间的场景对应多个时区,此时选择timestamp比datetime更好.关于日期的使用范围, timestamp类型最大只支持到2038-01-19年,所以如果使用的日期时间较大, 则选择datetime比timestamp更好.
2024-01-11 16:22:54 595 1
原创 使用脚本把springboot程序部署到k8s上
从github上拉下来,打成jar包。将docker镜像推送到k8s。一般我们部署写4个文件就行了。springboot打包。
2024-01-11 16:06:46 900
原创 解决Docker容器时区及时间不同步的问题
发现存入数据库中的数据create_time或者update_time字段总是错误,其他数据都是正常的,只有关于时间的字段是错误的。
2024-01-11 13:17:34 509
原创 在本地测试nginx中localhost不行,需要写成127.0.0.1
在Windows 10系统的命令提示符cmd中,执行命令ping localhost,并没有出现我与其的ip地址“127.0.0.1”,而是“[::1]”。在cmd中ping localhost解析出来的是ipv6的::1的原因是windows有个优先解析列表,当ipv6的优先级高于ipv4时,就会出现这种情况。
2024-01-11 13:11:08 644
原创 在本地服务器发送邮件不可以,生产环境下跑可以
公司一般会给一个smtp-xxxx.com然后你会使用堡垒机映射ip会发现在本地邮件根本不会发出去,只能拿到虚拟机上跑。
2024-01-11 11:24:18 375
原创 SpringBoot使用拦截器Interceptor拦截指定url,进行对应操作
现在有个需求,我只想要带有 /api/{path}的才能访问,并且path传的参必须在数据库中里面存在。原因是因为拦截器的加载在springcontext之前,所以自动注入的mapper是null。在添加拦截器之前用@bean注解将拦截器注入工厂,接着添加拦截器。必须要传/api/get才能访问,传其他的不行。urlMapper为空。
2024-01-09 17:31:05 1370
原创 Docker命令实战
Docker entrypoint 是一个特殊的命令,在容器启动时会自动执行。思考: 每个应用每次打包,都需要本地编译、再上传服务器、再进行docker构建,如果有1000个应用要打包镜像怎么办?部署一个Redis+应用,尝试应用操作Redis产生数据这里有个小坑。(-v挂载目录一定要提前创好,不然redis.conf会是一个文件)所有机器都安装Docker,任何应用都是镜像,所有机器都可以运行。.jar复制到docker容器中并命名app.jar。启动nginx应用容器,并映射88端口,测试的访问。
2023-12-13 17:26:18 1153
原创 Docker基本概念
装好Docker,然后去 软件市场 寻找镜像,下载并运行,查看容器状态日志等排错。这里额外添加了docker的生产环境核心配置cgroup。其他系统参照如下文档。
2023-12-13 10:47:27 511
原创 spark性能调优 | 默认并行度
去向yarn申请的executor vcore资源个数为4个(num-executors*executor-cores),如果不修改spark sql分区个数,那么就会像上图所展示存在cpu空转的情况。这个时候需要合理控制shuffle分区个数。如果想要让任务运行的最快当然是一个task对应一个vcore,但是数仓一般不会这样设置,为了合理利用资源,一般会将分区(也就是task)设置成vcore的2倍到3倍。可以看出,时间快了不少!看官网,默认并行度200。
2023-11-16 15:12:35 1129
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人