Linux根据端口号查看进程信息
前言
有时候服务器上部署了N多的服务,只知道端口号,你想知道这个服务是谁,路径在哪,这时候就需要一些命令来查询了
方法
1、命令lsof, 用法
1 | [root@localhost]# lsof -i:80 |
1 | [root@localhost sbin]# lsof -i:80 |
有时候服务器上部署了N多的服务,只知道端口号,你想知道这个服务是谁,路径在哪,这时候就需要一些命令来查询了
1、命令lsof, 用法
1 | [root@localhost]# lsof -i:80 |
1 | [root@localhost sbin]# lsof -i:80 |
最近迷恋上了kotlin语言,语法糖真的很甜,建议大家都试试
因为项目整体使用kotlin开发,Room数据库也是Google自家的,kotlin支持比价好,所以项目都改用了Room数据库,最近项目上需要用到模糊查询,一位和mysql是一样的% :name %,但是发现这样不对
经过查询后,Room中模糊查询需要这样 || 代替 + 号连接符,有点抽象,来个示例
1 |
|
最近在维护一个老项目时,build项目报错error: resource android:attr/dialogCornerRadius not found,因为项目是之前很早的项目,但是需要引用一个三方包,引用这个包需要将项目迁移到AndroidX,引入之后就报错了,下面说下解决办法
具体的报错信息如下
1 | /build/intermediates/res/merged/release/values-v28/values-v28.xml:11: error: resource android:attr/dialogCornerRadius not found |
将项目迁移到AndroidX,在gradle.properties里面配置如下
1 | android.useAndroidX=true |
经过查看是因为compileSdkVersion版本太低,需要升级,我升级到29,一般这个改了之后,后面的targetSdk同样需要保持一样的版本号,包括依赖都需要升级到相同的版本,避免出现其他奇怪的问题
1 | android { |
最近某项目上检测出了一堆第三方jar包的漏洞,需要升级,此处记录下升级方法
一般都是升级最新版本即可,不过要仔细测试,因为一些跨大版本的升级很有可能不兼容以前的包,方法调用、传参会又变化,所以此处一定要注意,不过大部分一般都直接升级版本号即可
此处以升级tomcat版本号为例说一下
方法1(不推荐)
我们可以在引用web启动器spring-boot-starter-web的地方,排除这个spring-boot-stater-tomcat子启动器。然后在依赖中从新加入自己想要的内嵌版本,这样就可以实现更换SpringBoot内嵌Tomcat版本的目的了。注意这并不是一种推荐的解决方案,这其实是一种不明就里的解决方案。真正的省时省力的还是方法二
方法2(推荐)
项目上最近要升级fastjson2,记录下使用过程
在fastjson v2中,groupId和1.x不一样,是com.alibaba.fastjson2:
Maven:
1 | <dependency> |
Gradle:
1 | dependencies { |
最近项目上升级了fastjson2,据说2比1又快了,重点是之前的fastjson漏洞太多,所以干脆直接升2了,下面记录下springboot集成消息抓换器的用法
在Fastjson2中,同样可以使用FastJsonHttpMessageConverter 和 FastJsonJsonView 为 Spring MVC 构建的 Web 应用提供更好的性能体验。
使用 FastJsonHttpMessageConverter 来替换 Spring MVC 默认的 HttpMessageConverter 以提高 @RestController @ResponseBody @RequestBody 注解的 JSON序列化和反序列化速度。
Package: com.alibaba.fastjson2.support.spring.http.converter.FastJsonHttpMessageConverter
最近在项目上用到了kotlin的差集,然后来了解以下kotlin 集合的交集、并集、差集,都是kotlin原生支持的几种操作
2个集中中共同的部分,kotlin提供了 中缀表达式和普通的函数方法调用
1 | val o1 = setOf(1, 2, 4) |
运行结果
1 | true |
其中o1 intersect o2是中缀表达式,这是kotlin中比较强大的一部分,看起来更直观