screen的退出方式有两种,一种是保存临时会话退出,另一种是完全退出。 第一种:保持会话退出: 快捷键命令: 同时按Ctrl+A键 按D键 后面需要进入的时候直接输入:screen -r name 再次进入 或者是 [root@ ~]# screen -d name 第二种:完全退出 快捷键命令: ctrl+c (window) 直接关闭screen,程序结束运行 或者是 [root@ubuntu ~]# exit #在子会话中执行 [screen is terminating] #主会话中显示"屏幕正在终端" [root@ubuntu ~]# #此时已经回到主会话 第三种:在主会话中关闭子会话 [root@ubuntu ~]# screen -X -S name quit screen命令选项.......
由于项目中使用Spring Boot 2.0,以及需要将包含LocalDateTime的对象通过注解@Cacheable存入缓存。若不做配置,存入缓存会成功(redis数据类型为HEX,不便阅读),取出对象时则会报错反序列化失败。下面是具体解决办法: 需要增加一个修改RedisCacheManager序列化格式的RedisConfig类,包含LocalDateTime类型属性不需要添加任何注解。 import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format.DateTimeFormatter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configur....
首先还没有提上去生效的方式 使用.gitignore忽略文件 为了让git忽略指定的文件和文件夹,我们需要在项目的根目录当中创建**.gitignore文件,使用.gitignore文件的方式很简单,在.gitignore**文件当中,一行代表一条忽略规则,如果是一个带“.”这种有后缀的字符串那么git就会忽略这个文件。“*”表示的就是选中所有,如果没有“.”就表示一个文件夹。下面举个例子。 比如我的项目想忽略掉.idea 这个文件夹,直接输入: .idea/ 如果想忽略掉所有的后缀为json的文件,那么就输入: *.json 注意:.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。 已经提交过的可以这么处理 删除文件的追踪 .gitignore 文件的用途,只能作用于 Untracked Files ,也就是那些从来没有被 Git 记录过的文件(自添加以后,从未 add 及 commit 过的文件)。 对于已经提交过文件,想要让ignore生效, 也是有办法的: 使用git rm --cached从......
关闭DNS反向解析 在linux中,默认就是开启了SSH的反向DNS解析,这个会消耗大量时间,因此需要关闭。在配置文件中,虽然UseDNS yes是被注释的,但默认开关就是yes # vi /etc/ssh/sshd_config UseDNS no 关闭SERVER上的GSS认证 在authentication gssapi-with-mic有很大的可能出现问题,因此关闭GSS认证可以提高ssh连接速度。 # vi /etc/ssh/sshd_config GSSAPIAuthentication no 重启服务 service sshd restart 或者 /etc/init.d/sshd restart 测试了一下速度确实快了一些,系统是CentOS7.5
setx /M JAVA_HOME "C:\Program Files (x86)\Java\jdk1.8.0_144" setx /M CLASSPATH ".;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar" setx /M PATH "%PATH%;%%JAVA_HOME%%\bin"
View =》Appearance =》Detail in Tree View
解决方法:在实体类上添加如下注解 @JsonDeserialize(using = LocalDateTimeDeserializer.class) @JsonSerialize(using = LocalDateTimeSerializer.class) private LocalDateTime createTime; 注意: LocalDateTimeDeserializer.class和LocalDateTimeSerializer.class必须添加依赖后才会引用,否则无法使用。 Web项目中没有pom.xml文件,所以依赖是添加在build.gradle里的。
问题背景 最近针对一个老的单体spring boot项目进行多模块拆分,拆分为三个模块 xx-a, xx-b,xx-core,其中a,b两个模块都依赖core模块,拆分过程中很简单就是老的代码都先放到a模块,把service,entity,mapper都抽到core,然后整体作为a的依赖。项目起初看起来很正常,但是通过maven打包,则提示a模块中依赖的core 模块中的java 类找不到,但是IDEA没报错啊,也能点击链接过去,后来发现父级模块的maven build plugin为: <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> 问题就是出在这个plugin上,父级模块应该使用maven插件而不是这个 <plugins> <plugin> <!-- 指定JDK编译版本 --> <groupI.....
操作系统:centos release 6 安装包命令查找: yum whatprovides */lspci 查看主板型号: dmidecode |grep -A16 "System Information$" 内存槽及内存条: dmidecode |grep -A16 "Memory Device$" 硬盘: fdisk -l smartctl -a /dev/sda HP SmartArray (cciss) hardware RAID controllers: smartctl -d cciss,0 -a /dev/cciss/c0d0 网卡: mii-tool scsi/raid卡: lspci centos相关命令安装: yum -y install smartmontools yum install pciutils -y
写项目的时候发现 Date里边好多方法不在被推荐使用了,有个 LocalDateTime 用起来还蛮方便的,但是前后端传值的时候老出问题,如下: "createTime": { "nano": 0, "monthValue": 3, "hour": 17, "minute": 33, "second": 10, "dayOfMonth": 17, "dayOfWeek": "THURSDAY", "dayOfYear": 76, "year": 2022, "month": "MARCH", "chronology": { "id": "ISO", "calendarType": "iso8601" } }, "scoreTime": { "nano": 0, "monthValue": 3, "hour": 17, "minute": 57, "second": 52, "dayOfMonth": 17, "dayOfWeek": "THURSDAY", "dayOfYear": 76, "year": 2022, "month": "MARCH", "chronology": { ....
1、${} 选择表达式(星号表达式) 字符串处理 <span th:text="'00:00/'+${totalTime}"> 静态内容用单引号''包裹起来,和上下文变量之间用+连接。 字符串拼接优化 Thymeleaf做字符串拼接还做了优化工作,我们可以使用上面的代码你还可以这样|围住字符串,这样就不需要在文字后面附加'...'+'...' <span th:text="|00:00/${totalTime}|"> 数据转化 Thymeleaf默认集成了大量的工具类可以方便的进行数据转化,一我们使用最多的是dates @RequestMapping("/demo") public String index(Model model){ Date dateVar = new Date(); model.addAttribute("dateVar",dateVar); return "demo"; } 前台显示: //显示年月日 <p th:text="${#dates.format(dateVar, 'yyyy-MM-dd')}"></p&....
统计当前目录下文件的个数(不包括目录) ls -l | grep "^-" | wc -l 统计当前目录下文件的个数(包括子目录) ls -lR| grep "^-" | wc -l 查看某目录下文件夹(目录)的个数(包括子目录) ls -lR | grep "^d" | wc -l 查找文件夹下 jpg 格式的文件个数 此时只会统计 .jpg格式的文件,不会统计 .JPG格式的文件,* 表示匹配所有的文件名 find ./ -type f -name '*.jpg' | wc -l 解析 ls -l 长列表输出该目录下文件信息(注意这里的文件是指目录、链接、设备文件等),每一行对应一个文件或目录,ls -lR是列出所有文件,包括子目录。 grep "^-" 过滤ls的输出信息,只保留一般文件,只保留目录是grep "^d"。 wc -l 统计输出信息的行数,统计结果就是输出信息的行数,一行信息对应一个文件,所以就是文件的个数。 文件、文件夹大小统计 使用 du、df、free 进行统计,详细见下。 du 详解 Linux du 命令用于显示目录或文件的大小。 du 会显....
在一个组件上绑定多个路由的话点击跳转不管是mouted()和created()都不会执行,从而无法更新跳转后页面的信息。 解决方法:使用监听 watch:{ $route:{ handler:'resetData', } }, methods:{ resetData(){ console.log(this.$route.params) } } 这样可以监听到路由变换获取到url的参数,如果是像点击本页刷新的话可以使用在url上添加时间戳的等方式实现,过程较复杂没有实践
之前的Date类型好像在Java 中不推荐使用了J8之后出现了LocalDateTime 解决MVC接收参数有两种方法: 1、直接在Bean的字段上添加注解 @TableField(exist = false) @DateTimeFormat(iso =DateTimeFormat.ISO.DATE)//Date是只要日期 private LocalDate createTimeQuery; ISO内容如下: enum ISO { /** * The most common ISO Date Format {@code yyyy-MM-dd}, * e.g. "2000-10-31". / DATE, /* * The most common ISO Time Format {@code HH🇲🇲ss.SSSXXX}, * e.g. "01:30:00.000-05:00". / TIME, /* * The most common ISO DateTime Format {@code yyyy-MM-dd'T'HH🇲🇲ss.SSSXXX}, * e.g. "2000....
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <!--父项目的坐标。如果项目中没有规定某个元素的值,那么父项目中的对应值即为项目的默认值。 坐标包括group ID,artifact ID和 version。 --> <parent> <!--被继承的父项目的构件标识符 --> <artifactId /> <!--被继承的父项目的全球唯一标识符 --> <groupId /> <!--被继承的父项目的版本 --> <version /> <!--父项目的pom.xml文件的相对路径。相对路径允许你选择一个不同的路径....
代码中启动的那几种就不说了,这里说说编译完成后在执行的方式 通过 java -jar的方式启动 通过 mvn spring-boot:run 解压jar包在META-INF目录下有个 META-INF/MANIFEST.MF文件,MANIFEST.MF内容 找到Main-Class:选项 在解压的当前目录打开终端使用命令 java org.springframework.boot.loader.JarLauncher
在使用MybatisPlus插件时普通增删改茶泡的好好的,自己写了一个方法就不行了报错! Invalid bound statement (not found): org.minimalist.modules.user.mapper.SysUserMapper.findUserByUserName 其实这边是在tager中找不到那个xml文件造成的,解决这个问题可以通过配置maven来解决 <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> </resources> </build> 在build加上上边代码,clean后在重启看看有没有吧,不过我这边也......
在Maven多模块的时候,管理依赖关系是非常重要的,各种依赖包冲突,查询问题起来非常复杂,于是就用到了 <dependencyManagement>, 示例说明, 在父模块中: <dependencyManagement> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.44</version> </dependency> </dependencies> </dependencyManagement> 那么在子模块中只需要 <groupId>和 <artifactId>即可,如: <dependencies> <dependency> <groupId>mysql</groupId> ......
为了简化讨论和避免远古时期遗留的刻板印象,Windows笔记本这边我准备只讨论搭载UEFI和Windows 10的系统。 ACPI电源状态 采用x86(Intel)处理器的MacBook和采用x86处理器的Windows PC都属于x86兼容机,实现睡眠的方式是类似的,也就是那几个ACPI电源状态^[1]^ : S0:电脑正常运行的状态。 S0ix:也叫S0 低电量待机,有时简称为S0。微软叫做“现代待机”。这个状态下处理器处于低功耗运行,且可以保持网络连接^[2]^ 。 S1:处理器通电但是停止工作,所有处理器的内容保持。内存保持通电。 S2:处理器 停止工作,内容丢失。内存保持通电。 S3:处理器关闭,内容丢失,其它部分系统组件可能关闭。内存保持通电。 S4:也叫休眠。内存数据被保存到持久性存储器,系统关闭。 S5:关机。 以上电源状态耗电量递减。S4和S5一样,因为关机了所以理论上不耗电。S1、S2不常用,S3非常省电,S0ix比较耗电。通常来讲,最适合一台采用x86处理器的“笔记本电脑”的待机状态是S3。 既然硬件是类似的,那主要的区别就是软件实现方面了。 Mac (Intel....
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch .gitignore 文件的内容大概可以为: .class # Jav的class文件 .log # 项目下的日志文件 ~$ # Office等临时文件 .DS_Store # MacOS .DS_Store? # 同上 ._ .Spotlight-V100 .Trashes Icon? ehthumbs.db Thumbs.db # Windows下的图片预览文件