logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

数据库中#{}和${}的区别,order by和limit后面${}替换的解决方案

两者区别:#{}是预编译处理,${}是字符串替换(1)mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值,sql在解析的时候会加上" ",当成字符串来解析。例如:#{123456, jdbcType=INTEGER}预编译成:select * from tableName where id = ? ;再变成:select * fr

#数据库#sql#database +2
java内存模型(线程内存和主内存)详细介绍

Java内存模型(JMM)抽象了线程和主内存之间的关系,比如:线程之间的共享变量必须存储在主内存中。Java内存模型下,线程可以把变量保存到本地内存中,而不是直接在主内存中进行读写。这就可能造成一个线程在主内存中修改了一个变量的值,而另外一个线程还继续使用它在本地内存中的变量值的拷贝,造成数据的不一致。这和CPU缓存(上篇文章缓存一致性)模型非常相似。

文章图片
#java#jvm#开发语言 +2
MySQL修改数据表,数据表新增列、修改列及表数据的基础操作

修改数据表的方式:1.修改表名称ALTER TABLE表名称 RENAMETO新表名称;2.修改表的字符集ALTER TABLE表名称 CHARACTER SET字符集名称;3.数据表添加列ALTER TABLE表名称 ADD列名称数据类型;4.修改数据表某一列的数据类型ALTER TABLE表名称 MODIFY列名称 新的数据类型;5.修改数据表列名和数据类型ALTER TABLE表名称 CHA

#java#spring#数据结构 +2
java 实现事件监听EventListener的方式详解及分析

我们开发中经常遇到监听事件,首先我们先来了解下事件相关知识:使用场景(场景一):银行操作转账成功后需要给客户发送短信和邮件,使用事件就可以实现解耦并异步。我们监听事件之前要有事件源source,创建事件源(Event),发布事件(publishEvent),然后才能到监听事件。事件驱动机制是观察者模式(称发布订阅)具体实现,事件对象(Event)相当于被观察对象(Subject), 事件监听(Ev

#服务器#运维#java +1
乐观锁(CAS)和悲观锁(synchronized)的详细介绍

在代码中多个线程需要同时操作共享变量,这时需要给变量上把锁,保证变量值是线程安全的。锁的种类非常多,比如:互斥锁、自旋锁、重入锁、读写锁、行锁、表锁等这些概念,总结下来就两种类型,乐观锁和悲观锁。CAS 即 Compare and Swap,它体现的一种乐观锁的思想,比如:多个线程要对一个共享的整型变量执行 +1 操作:// 需要不断尝试int 旧值 = 共享变量;// 比如拿到了当前值 0int

#java#开发语言#jvm +1
docker常用命令及及详解

docker是什么:是一个容器化技术。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。作用:能够快速创建环境统一的容器,保证每一个容器的配置都是一样的;极大的提升部署的效率,减少部署出现的各种环境问题.docker常见的两个名词:镜像(Image):Docker 镜像(Image),就相当于是 一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包 含了完整的

#docker#容器#运维 +2
jvm讲解-jvm内存结构详解

以上这个图可以看出内存结构的构成:方法区堆虚拟机栈程序计数器本地方法栈下面开始详细介绍这些内容;1. 方法区(线程共享)1.1 定义:  被所有线程共享的一块内存区域。  用于存储已被虚拟机加载的类信息,常量,静态变量等。  这个区域的内存回收目标主要针对常量池的回收和对类型的卸载。  当方法区无法满足内存分配需求时,则抛出OutOfMemoryError异常。  JDK1.7中,已经把放在永久代

#java#后端#spring +2
MYSQL报错-CannotCreateTransactionException: Could not open JDBC Connection for transaction 问题分析及解决方案

org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLTransientConnectionException: HikariPool-3 - Connectio

#mysql#数据库#java +1
MappedByteBuffer介绍及详细解读(java操作大文件多种方法)

MappedByteBuffer是ByteBuffer的子类。以前我们操作大文件都是用BufferedInputStream、BufferedOutputStream等带缓冲的IO流处理。现在我们讲一下java nio中一种基于MappedByteBuffer操作大文件的方式,读写性能极高。在讲之前我们先了解一点关于内存的知识:物理内存: 就是内存条的内存空间。虛拟内存: 是计算机系统内存管理的一

#java#开发语言#后端 +2
spring时间格式化注解@JsonFormat与@DateTimeFormat注解的使用方法

首先先说下为什么要使用这两个注解:1.从数据库获取时间传到前端展示的时候,我们可能会看到Thu Aug 05 10:25:06 CST 2020这样的时间格式,无法得到一个满意的时间格式,我们可以看到在数据库中显示的是正确的时间格式,获取出来却变成了很丑的时间戳,@JsonFormat注解就可以解决这个问题。2.我们使用WEB服务传递时间给后台,比如前端添加时间数据等,前端传递给后台的时间格式不一

#spring#spring boot#java +2
    共 12 条
  • 1
  • 2
  • 请选择