- 博客(21)
- 资源 (1)
- 收藏
- 关注
原创 volatile关键字及内存可见性,指令重排序
CPU会根据性能需要对指令进行乱序执行,但是在单线程内保证按照as-if-serial语义执行,其实就是保证乱序执行后的结果和单线程中程序定义的顺序执行结果一致。内存屏障主要是一种指令,根据类型的不同,实现不同的效果,用来防止该指令前后的指令进行重排序和刷新CPU缓存数据到主存。
2023-11-15 23:02:33 427 6
原创 Kafka消息堆积
消息堆积顾名思义就是Kafka中消息太多,在Kafka中准确来说是日志太多,但其实我认为日志堆积主要想说明的是日志没有被及时消费,而且Kafka中日志本来就一直被保存,除非被日志清理策略清理掉。
2023-10-22 12:24:22 964 2
原创 掌握 JVM 内存布局:易于记忆的快速学习指南
在本文中,我们将探索JVM (Java虚拟机)内存布局,为您提供一种简单而有效的方法来理解和记住它的组件和角色。理解JVM内存布局对于Java开发人员来说至关重要,因为它有助于优化性能并避免内存泄漏或瓶颈。
2023-03-26 17:28:11 357 1
原创 No Dialect mapping for JDBC type: 1111
在使用JPA利用原生SQL查询数据库时,报错:No Dialect mapping for JDBC type: 1111解决办法:由于联表查询时需要返回多个字段,所以JPA接收数据是自定义的一个POJO,而查询返回类型中有uuid类型字段,需要利用cast方法将uuid字段转换为varchar,例如:SELECT A .*, B.username AS userName FROM ( SELECT COUNT ( ID ) AS requestsSent, MAX ( create
2021-04-16 11:09:16 6892 3
原创 SpringBoot整合Websocket
SpringBoot整合Websocket整合步骤很简单,请看下文分解。????引入Maven依赖,如下:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> <version>2.3.3.RELEASE</version></dep
2021-03-30 23:49:13 268
原创 数据库事务隔离级别解析与验证
https://note.youdao.com/ynoteshare1/index.html?id=7665fb29bdbbf5150cba76182fc4545f&type=note
2020-08-09 16:53:01 484
原创 kafka简介与架构设计
目录一 为什么要用Kafka?1.1 写在前面--什么是中间件?1.2 Kafka的发展历史简介1.3 什么时候应该用Kafka?1.4 Kafka的优缺点1.4.1 优点1.4.2 缺点1.5 Kafka vs. 传统消息队列二 Kafka的架构设计2.1 核心架构设计2.2 topic分区、消费者组、生产者等详细设计一 为什么要用Kafka?1.1 写在前面–什么是中间件?中间件概念很广泛,这里只介绍一般性概念,即:中间件位于操作系统与应用软件之间,用于连接系统软件(例如:操作系统)和应用软件
2020-07-05 17:10:47 308
原创 Windows10单机部署Elasticsearch集群
按照如下步骤执行即可成功在本地部署集群:1. 官网下载es包(该步骤省略)下载后的包长这样:2. 正式集群前先看看有没有官方文档可以参考,于是在文档中发现如下资料:Set up a new Elasticsearch instance.Specify the name of the cluster with the cluster.name\color{#FF3030}cluste...
2020-03-02 22:36:49 659
转载 mybatis中在同一个事务,循环执行同一个sql语句,只有第一次会执行的问题
一、问题描述:使用spring @Transaction事务时,在for循环中需要多次执行同一查询语句,第一次查询出对象后,对对象进行修改后,结果再进行第二次查询的时候,查询返回的数据是自己第一次修改后的数据。因为业务需要每次查询都需要取更改数据库,以后的查询都会根据上一次循环修改后的值进行操作。二、解决方法:(1)在xml文件 select语句添加&nbs...
2019-04-03 16:23:13 3416
原创 Idea下svn的分支主干开发
主干分支开发方式是工作中非常常见的一种方式。以下理解是个人鄙见,主干是代码的当前版本,可以直接部署生产环境,分支是为了开发每个功能而不影响主干代码而产生的。当功能在分支开发完成后,再合并到主干中,多个分支可以并行开发而不影响主干代码。
2019-04-01 11:49:17 1244
原创 Jmeter压力测试
Jmeter压力测试步骤示例:测试考试报名接口1.打开Jmeter GUI客户端:本机在_Users_wenqiangli_Documents_soft_apache-jmeter-4.0_bin/jmeter目录下,打开后显示为:在Test Plan上右键新建一个线程组:建好的线程组如下:新建一个http请求:建好的请求如下:由于是多个用户登陆,所以参数可以通过csv文件...
2019-03-25 14:45:16 2398
原创 Transaction rolled back because it has been marked as rollback-only错误探究
背景:在一个dao插入数据到数据库时发生异常,捕获后打印日志,重新抛出一个SQL异常类到service层,service层捕获后处理,然后重新抛出一个带有自定义的message异常到controller层,然后将自定义的message抛到前台展示。但是前台展示的是Transaction rolled back because it has been marked as rollback-only信...
2018-12-03 09:25:48 7931 1
原创 Java中关于httpClient的用法总结
Java中关于httpClient的用法总结httpClient是apache开发的一个用于http传输的工具包,用起来非常方便,封装了底层协议,提供了一些简单可用的api以供调用。快速开始:创建一个http客户端:private static CloseableHttpClient client = HttpClients.createDefault();创建一个http...
2018-10-12 14:49:34 584
原创 java实现大文件分片上传
java实现大文件分片上传在项目中用到了大文件上传功能,最初从网上参考了一些代码来实现,但是最终的上传效果不是很好,速度比较慢。之前的上传思路是:前端利用webUploader分片大文件后端接收各个分片后的小文件接收完一个大文件的所有分片文件后,合并这些文件为大文件现在的思路是:前端利用webUploader分片大文件后端接收各个分片后的小文件将接收到的小...
2018-10-11 18:10:39 12045 8
原创 import Eclipse项目到IDEA项目
由于公司项目用到Myeclipse开发,而本人习惯了IDEA开发,所以将项目import进IDEA。方法:1.打开IDEA,通过SVN来import项目,输入SVN的URL后,checkout项目到本地工作空间。2.配置方面需要注意的是:tomcat,jdk等版本最好要匹配起来,查一查互相支持的最低版本,不然会有很多坑等着;...
2018-03-12 22:19:55 323
原创 java中的枚举类
枚举类中枚举值序号(类似于数组下标)默认从0开始。要获取它的下标可以调用ordinal()方法实现。 public enum Days{ Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday; } ...
2018-02-23 11:03:51 314
原创 java web 开发流程介绍
项目启动。包括:制定预期目标,计划周期。需求调研。包括:收集客户资料,获取客户需求,编写需求文档等等。系统设计/详细设计。包括:选择基础平台,技术选型,应用模块设计,中间件的使用与选择,前端设计等等。程序开发。包括:编写测试用例,按开发规范编写代码及代码文档,版本管理系统的使用等等。测试。包括:单元测试,功能测试,集成测试,性能测试,压力测试等等。维护。...
2018-02-23 10:21:09 837
原创 并发编程的理解
什么是并发?并发的目的和好处是?缺点是?与并行的区别? 并发:多个程序或者多个线程,在一段时间内都处于执行状态,但某一时刻只有一个线程或者程序被执行。通过CPU分配的时间片,实现线程之间的切换。 目的与好处:提高执行效率。 缺点:①增加了程序复杂度。②上下文切换的问题。③死锁问题。④资源限制的挑战。 区别:并行是在多核处理器上,不同程序同时执行,并行是并发的子集。...
2018-02-22 23:00:10 286
原创 MySQL点滴
windows中通过cmd命令行启动MySQL服务方式:net start mysqlwindows中通过cmd命令行进入MySQL命令行环境方式: ①将路径:MySQL安装目录下的bin文件夹路径添加到系统变量Path中,例如路径为:C:\Program Files\MySQL\MySQL Server 5.1\bin ②启动MySQL服务后,打开cmd命令窗口输入:mysql -u...
2018-02-22 22:32:35 217
原创 C++点滴
将“引用”作为函数返回值类型的格式、好处和需要遵守的规则函数格式:类型标识符(如int)&函数名(参数列表){函数体} 好处:返回的值不用创建副本。 注意事项: 1. 不能返回局部变量的引用。因为局部变量的引用在函数返回时会被销毁,使得引用指向不明,程序进入未知状态。 2. 不能返回函数内部new分配的内存的引用。被函数返回的引用只是一个临时变量,而没有被赋予一个实际变...
2015-11-19 20:22:07 304
OpenJDK11U-jdk_x64_windows_hotspot_11.0.10_9.msi
2021-04-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人