![](https://img-blog.csdnimg.cn/20210803131003399.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
java 学习分享
dupha
我是一块从平底锅里逃亡的生肉.
展开
-
周末总得学点什么吧
其简单的实现原理就是,引用数,如果0时,线程可以进入monitor,如果是1+,那么除了当前访问的线程外,其他无法访问(无权限)。监视器如果占用时,对象会被锁住,当多线程时,其他线程无法访问,需等释放。的,因为SingletonHolder类只会在第一次调用getInstance()方法时才会被加载和初始化。因为在同一时刻,内存读取可能都是null,没有加锁,所以导致多次创建。的,因为JVM保证了类的加载是线程安全的。看情况使用,因为类加载后,就会创建对象浪费内存。我们常用的懒汉式为什么是线程不安全的。原创 2024-04-28 07:48:33 · 942 阅读 · 0 评论 -
mybatis 的#{uiserId} 和#uiserId#和${userId}的用法解释和区别
{userId}:这种占位符使用预编译语句,将参数值替换为问号(?这种方式可以防止 SQL 注入攻击,并可以自动处理参数类型转换和特殊字符转义等问题。${userId}:这种占位符在 SQL 语句中直接替换参数值,类似于字符串的拼接。这种方式不会进行参数类型转换和特殊字符转义,所以要确保参数的安全性和正确性。#userId#:这种占位符是一种过时的写法,不再被推荐使用。因此,一般情况下,推荐使用 #{userId},除非有特殊的需求需要使用 ${userId}。原创 2023-12-10 14:25:25 · 299 阅读 · 0 评论 -
MyBatis动态自定义创建表
1.MyBatis通过接口调用自定义创建数据表实例代码:<update id="createCustomTable" parameterType="com.rabbitmq.mq.entity.CreateTableAndTabbleName"> CREATE TABLE IF NOT EXISTS ${tableName} ( `id` int NOT NULL AUTO_INCREMENT COMMENT '编号', &l.原创 2021-11-02 15:26:02 · 5373 阅读 · 3 评论 -
No SLF4J providers were found.解决方案
“No SLF4J providers were found.”解决方案slf4j需要两个jar包官网下载地址:https://mvnrepository.com/artifact/org.slf4j/slf4j-simple/2.0.0-alpha1https://mvnrepository.com/artifact/org.slf4j/slf4j-api/2.0.0-alpha1原创 2021-08-09 15:11:23 · 456 阅读 · 0 评论 -
JAVA 修饰符权限访问
JAVA 修饰符权限访问原创 2021-08-04 11:12:08 · 80 阅读 · 1 评论 -
|与||或&与&&的区别
1、& 和|是位运算符,逻辑语句执行结束才会停止。 例如 ’ | ’Boolean a = true;Boolean b = true;Boolean c = true;if( a|b|c ) //虽然a是true,但是也会执行到c,最终得出结果也是 “true”2、他们都是逻辑运算符,&& 和||是短路运算,&&如果有一个条件不满足,则后面不执行,||只要有一个条件满足,后面就不执行;...原创 2021-08-03 16:43:52 · 307 阅读 · 3 评论 -
Java static
java 静态变量一览1.执行顺序2.static 修饰3.存储位置static存储位置,在jvm中在内存中开辟固定内存区域存放原创 2021-08-01 17:49:11 · 87 阅读 · 0 评论