在Ubuntu22.04下配置Java环境
下载jdkhttps://www.oracle.com/java/technologies/downloads/#java17
linux systemctl
123456789101112131415161718192021222324252627282930313233343536373839404142//移除服务systemctl reset-failed mysqld//查看服务状态,可以发现不能使用,移除成功了systemctl status mysqld//查找所有或者某个服务systemctl list-units --type=service | grep network//列出所有可用单元systemctl list-unit-files//列出所有运行中单元systemctl list-units//列出所有失败单元systemctl --failed//使用systemctl命令杀死服务systemctl kill mysqld//列出所有系统挂载点systemctl list-unit-files --type=mount//挂载、卸载、重新挂载、重载系统挂载点并检查系统中挂载点状态systemctl start tmp.mountsystemctl stop tmp.mountsystemctl restart t ...
Java牛客刷题笔记
线程安全问题java中的线程安全是什么:
就是线程同步的意思,就是当一个程序对一个线程安全的方法或者语句进行访问的时候,其他的不能再对他进行操作了,必须等到这次访问结束以后才能对这个线程安全的方法进行访问
什么叫线程安全:
如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。
或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是说我们不用考虑同步的问题。
线程安全问题都是由全局变量及静态变量引起的。
若每个线程中对全局变量、静态变量只有读操作,而无写操作,一般来说,这个全局变量是线程安全的;若有多个线程同时执行写操作,一般都需要考虑线程同步,否则就可能影响线程安全。 看过vector源码的同学就会知道他的许多操作都是加了synchronized修饰的比如他的添加元素。(不知道synchronized是什么意思的自行百度!)
public synchronized vo ...
Spring AOP
AOP切入点表达式切入点表达式标准格式:动作关键字( 访问修饰符 返回值 包名类/接名方法名(参数)异常名)
1execution (public User com,itheima.service,UserService.findById (int)
动作关键字: 描述切入点的行为动作,例如execution表示执行到指定切入点
访问修饰符 : public,private等,可以省略
返回值
包名
类/接口名
方法名
参数
异常名: 方法定义中抛出指定异常,可以省略
AOP通知类型前置通知
名称 : @After
类型:方法注解.
位置: 通知方法定义上方
作用:设置当前通知方法与切入点之间的绑定关系,当前通知方法在原始切入点方后运行
范例 :1234@After("pt()")public void after() { System.out.println("after advice ...");}
相关属性 : value(默认 ) : 切入点方法名,格式为类名方法名0环绕通知
名称 :@Around (重点, ...
分页查询
前端传递参数
当前页码数
每页显示的条目数
数据库SQLLIMIT
参数1:开始的索引
参数2:查询的条目数
(当前页码-1)*每页显示的条目数=开始的索引每页显示的条目数=查询的条目数
Spring部分注解
bean作用范围@Scope单例或非单例singleton 单例prototype 非单例例如:
12@Scope("singleton")@Scope("prototype")
定义bean1234@Service@Component@Controller@Repository
控制bean生命周期1234// 构造方法后运行@PostConstruct// 销毁前运行@PreDestroy
引用类型bean自动装配——指定装配12@Autowired@Qualifier("名称")//无法单独使用
简单类型的注入1@Value("=${}")
加载properties文件使用@PropertySource注解加载properties文件
1234@Configuration@ComponentScan("com.itheima")@PropertySource("classpath:jdbc.properties")public class ...
PubSubClient的注意事项
连接阿里云物联网云平台MQTT连接错误修改 PubSubClient 的连接参数PubSubClient.h中MQTT_MAX_PACKET_SIZE 修改为 1024MQTT_KEEPALIVE 修改为 60
PubSubClient.h的一般路径在:此电脑\文档\Arduino\libraries\PubSubClient\src
Mybatis In 条件传参三种方式
第一种方法:in 条件为拼接好的字符串直接传入拼接好的where in 条件,如(’111’,’222’,’333’)则需要使用${idlist}传参,即绝对引用,而不能使用#, 如果使用#传参会被mybatis当成字符串再添加一层’’引号,导致错误。优点:简单方便,高效,缺点:不能防止SQL注入list转换为Sql条件字符串代码如下:
123456789StringBuilder sqlString = new StringBuilder();for (int i = 0; i < exhCollectForm.getSelectedCloId().size(); i++) { if (i > 0) { sqlString.append(","); } sqlString.append("'").append(exhCollectForm.getSelectedCloId().get(i)).append("'");}St ...
vue杂项
axios与Vue整合在实际项目开发中,几乎每个组件中都会用到 axios 发起数据请求。此时会遇到如下两个问题:每个组件中都需要导入axios每次发请求都需要填写完整的请求路径可以通过全局配置的方式解决上述问题:
配置请求根路径
1axios.defaults.baseURL = 'http://api.com '
//将axios作为全局的自定义属性,每个组件可以在内部直接访问(vue3)
1app.config.g1oba1Properties.$http = axios
将axios作为全局的自定义属性,每个组件可以在内部直接访问(vue2)
1vue.prototype.$http = axios
常用指令
指令
作用
v-bind
为HTML标签绑定属性值,如设置href,CSS样式等
v-model
在表单元素上创建双向数据绑定
v-on
为HTML标签绑定事件
v-if
条件性的渲染某元素,判定为true时渲染,否则不渲染
v-else
条件性的渲染某元素,判定为true时渲染,否则不渲染
v-else-if
条件性的 ...
表单
表单标签123<input>:表单项,通过type属性控制输入形式<select>:定义下拉列表,<option>定义列表项<textarea>:文本域