- 博客(46)
- 资源 (2)
- 收藏
- 关注
转载 并发insert导致重复数据问题
并发insert情况下会发生重复的数据插入问题1.背景用多线程接收推送的订单数据,把接收的订单数据存到一个表中,实现的需求是:如果接收的订单消息在数据库中已经存在,那么执行update操作;如果没有存在,那么执行insert操作代码逻辑: if(该订单在数据库表中存在){ update();}else{ insert();} 线程启动后,发现:数据库表中有两条oderid相同的记录通过查看日志发现:两个线程相差时间极短,各自收到了同一个订单的推送消息,在执行数据库
2022-02-17 13:21:35
2534
原创 Linux下配置Java环境变量
三种配置环境变量的方法1. 修改/etc/profile文件如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。vi 打开/etc/profile,在profile文件末尾加入:export JAVA_HOME=/usr/share/jdk1.6.0_14 (改为你的jdk安装目录 )export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.
2021-07-22 16:45:40
607
原创 IDEA2020.1 控制台中文乱码问题解决方法
在IDEA菜单栏->Help->Edit Custom VMOptions,加入-Dfile.encoding=UTF-8在idea里打开 Settings菜单并搜索console,在 Default Encodeing 中设置字符编码:
2021-07-14 18:17:02
988
1
原创 面试相关问题
1. 对数据结构的理解答:数据结构是计算机存储、组织数据的方式。数据结构有三大要素:(1)数据的逻辑结构,指数据元素之间的逻辑关系,从逻辑关系上描述数据。它分为线性结构和非线性结构。(2)数据的存储结构,指数据结构在计算机中的表示(或映像),也称物理结构。它包括数据元素的表示和关系的表示。主要有:顺序存储、链式存储、索引存储和散列存储。(3)数据的运算,指施加在数据上的运算包括运算的定义和实现。运算的定义是针对逻辑结构的,运算的实现是针对存储结构的。2. 链表和数组的区别答:数组是有下标索引
2021-03-11 01:43:15
349
转载 如何查看MySql的sql语句性能
Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看 SQL 语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。Explain语法:explain select … from … [where ...]例如:explain select * from news;输出:±—±------------±------±------±------------------±--------±--------±-
2021-03-11 00:52:52
575
转载 MySQL 事务机制,中高级开发面试必问
MySQL 事务,是我们去面试中高级开发经常会问到的问题,很多同学虽然经常使用 MySQL,SQL语句写得很6,但是很多时候,被问到这些问题的时候,总是不知从何说起,下面我们来系统的学习一下什么是 MySQL事务,让我们面对面试官的时候能够侃侃而谈,避免一问三不知的尴尬。事务:事务是数据处理的最小操作单元,是一组不可在分割的操作集合,这个操作单元里的一系列操作要么都成功,要么都失败。最为典型的例子就是转账了。情景再现:同学A给同学B转了1000块钱,那么此时A的账户上肯会-1000,而B的账户.
2021-03-10 19:29:27
216
转载 JAVA里sort()方法的使用与原理解析
Arrays.sort和Collections.sort实现原理解析1、使用排序sort()是Java中用来排序的一个方法,在我们专心学习各种经典排序算法的时候,其实在代码中一个sort()就可以解决,并且时间复杂度和空间复杂度相对都不会过高。其实sort()不光可以对数组进行排序,基本数据类型的数组都可以,并且可以实现对对象数组的排序.接下来介绍一下用法.1. 基本数据类型(1)数字类型:int[] a = {1, 3, 4, 67, 78, 9, 90, 6, 3, 2};Array
2021-03-09 17:24:07
7971
1
转载 关于MySQL什么时候使用索引 & 什么情况下应不建或少建索引
一,什么情况下使用索引1. 表的主关键字自动建立唯一索引2. 表的字段唯一约束ORACLE利用索引来保证数据的完整性3. 直接条件查询的字段在SQL中用于条件约束的字段如zl_yhjbqk(用户基本情况)中的qc_bh(区册编号)select * from zl_yhjbqk where qc_bh=’7001’4. 查询中与其它表关联的字段字段常常建立了外键关系如zl_ydcf(用电成份)中的jldb_bh(计量点表编号)select * from zl_ydcf a,zl_yhd
2021-03-09 15:45:47
3176
转载 深入底层剖析Mysql各种锁机制
乐观锁乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后加锁操作(跟上一次的版本号比较,如果一样则更新),如果失败则要重复读-比较-写的操作。java 中的乐观锁基本都是通过 CAS 操作实现的,CAS 是一种更新的原子操作,比较当前值跟传入值是否一样,一样则更新,否则失败。悲观锁悲观锁是就是悲观思想,即认为写多,遇到并发写的可能性高,每次去拿数据
2021-03-09 00:55:01
2446
原创 MyBatis中#{}和${}的作用与区别
在mybatis中#和$的主要区别是:#传入的参数在SQL中显示为字符串,#方式能够很大程度防止sql注入;$传入的参数在SqL中直接显示为传入的值,$方式无法防止Sql注入。1、传入的参数在SQL中显示不同#{} 将传入的参数(数据)都当成是一个字符串,在SQL中显示为字符串,会对自动传入的数据加一个双引号。「对自动传入的数据加一个双引号」例:使用以下SQL语句select id,name from student where id =#{id};//当我们传递的参数id为 "1" 时,上
2021-03-07 23:41:54
6281
3
转载 MySQL 分页查询
文章目录一、limit 分页公式、总页数公式1 limit 分页公式2 总页数公式二 、Mysql的三种分页方法1 limit m,n分页语句2 limit m语句三、 查询优化2 使用 id 限定优化(前提:id是连续递增,删除过记录不符合)3 使用临时表优化四、关于数据表的id说明一、limit 分页公式、总页数公式1 limit 分页公式(1)limit分页公式:curPage是当前第几页;pageSize是一页多少条记录limit (curPage-1)*pageSize,pageSize
2021-03-03 17:33:17
2564
1
转载 SaaS产品项目实施流程
一、商务洽谈阶段【销售负责】1.初步接触:甲乙双方初步认识,互相介绍下需求和产品;【对接人,销售部、业务部、采购部】(1).输入:某大型活动、某渠道资源;(2).输出:客户直接的了解认识;2沟通交流:对现有产品价值和功能,跟客户演示介绍,介绍我们有什么;【对接人,销售部、业务部、采购部】(1).输入:现有产品支撑功能;(2).输出:客户的信任和业务满足;3.深入交流:对客户的需求,进行初步响应讨论和确认,沟通可以做什么;【业务部门,深入需求沟通,形成纪要】(1).输入:客户的信任;(2).
2021-03-01 00:41:50
2743
原创 Mac安装steam提示Steam needs to be online to update. Please confirm your network connection and try again
下了个 腾讯网游加速器一键加速,就可以更新好正常打开了
2021-02-14 17:15:35
10228
原创 JAVA常用的5种线程池
1、newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。这种类型的线程池特点是:工作线程的创建数量几乎没有限制(其实也有限制的,数目为Interger. MAX_VALUE), 这样可灵活的往线程池中添加线程。如果长时间没有往线程池中提交任务,即如果工作线程空闲了指定的时间(默认为1分钟),则该工作线程将自动终止。终止后,如果你又提交了新的任务,则线程池重新创建一个工作线程。在使用CachedThreadPool时,一
2020-12-31 00:47:31
567
转载 基于SpringBoot和Redis实现Token权限认证 & 基于redis实现token验证用户是否登陆
1一、引言登陆权限控制是每个系统都应必备的功能,实现方法也有好多种。下面使用Token认证来实现系统的权限访问。功能描述: 用户登录成功后,后台返回一个token给调用者,同时自定义一个@AuthToken注解,被该注解标注的API请求都需要进行token效验,效验通过才可以正常访问,实现接口级的鉴权控制。同时token具有生命周期,在用户持续一段时间不进行操作的话,token则会过期,用户一直操作的话,则不会过期。二、环境SpringBoot、Redis(Docke中镜像)、MySQL(Doc
2020-12-17 17:27:12
2165
原创 1036 Boys vs Girls (25分)
PAT (Advanced Level) Practice题目链接. 编程题 1036 Boys vs Girls (25分)参考自《算法笔记》This time you are asked to tell the difference between the lowest grade of all the male students and the highest grade of...
2020-04-29 11:42:32
230
原创 1006 Sign In and Sign Out (25分)
PAT (Advanced Level) Practice题目链接. 编程题 1006 Sign In and Sign Out (25分)参考自《算法笔记》At the beginning of every day, the first person who signs in the computer room will unlock the door, and the last ...
2020-03-02 10:05:23
164
原创 1011 World Cup Betting (20分)
PAT (Advanced Level) Practice题目链接. 编程题 1011 World Cup Betting (20分)参考自《算法笔记》With the 2010 FIFA World Cup running, football fans the world over were becoming increasingly excited as the best pla...
2020-02-23 22:13:15
172
原创 1009 Product of Polynomials (25分)
PAT (Advanced Level) Practice题目链接. 编程题 1009 Product of Polynomials (25分)参考自《算法笔记》This time, you are supposed to find A×B where A and B are two polynomials.Input Specification:Each input file ...
2020-02-20 23:56:23
150
原创 1002 A+B for Polynomials (25分)
PAT (Advanced Level) Practice题目链接. 编程题 1002 A+B for Polynomials (25分)参考自《算法笔记》This time, you are supposed to find A+B where A and B are two polynomials.Input Specification:Each input file con...
2020-02-16 11:40:26
197
原创 1065 A+B and C (64bit) (20分)
PAT (Advanced Level) Practice题目链接. 编程题 1065 A+B and C (64bit) (20分)Given three integers A, B and C in [−2^63 ,2^63 ], you are supposed to tell whether A+B>C.Input Specification:The fi...
2020-02-03 00:08:27
264
原创 1046 Shortest Distance (20分)
PAT (Advanced Level) Practice题目链接. 编程题 1046 Shortest Distance (20分)The task is really simple: given N exits on a highway which forms a simple cycle, you are supposed to tell the shortest distanc...
2020-02-01 23:15:40
248
原创 1042 Shuffling Machine (20分)
PAT (Advanced Level) Practice题目链接. 编程题 1001 A+B Format (20 分)Shuffling is a procedure used to randomize a deck of playing cards. Because standard shuffling techniques are seen as weak, and in or...
2020-01-31 21:04:40
206
原创 (2-路)归并排序
2-路归并的原理:将序列两两分组,将序列归并为 n/2 (向上取整)个组,组内单独排序;然后将这些数组再两两归并,生成 n/4(向上取整)个组,组内再单独排序;以此类推,直到只剩下一个组为止。归并排序的事件复杂度为 O(nlogn).2-路归并的递归写法:#include <cstdio>const int maxn = 100;//将数组 A 的[L1, R1] 与 [...
2020-01-14 00:46:44
252
原创 C / C++ 中的一些(功能)函数
memset ——对数组中每一个元素赋相同的值。(给数组中每一个元素赋相同的值有两种方法:memset 函数 和 fill 函数)memset 函数的格式为:memset (数组名, 值, sizeof(数组名));memset 使用的是按字节赋值,即对每个字节赋同样的值。(如 int 型的4个字节就会被赋成相同的值。建议初学时使用 memset 赋 0 或 -1,0 的二进制补码为全0,...
2020-01-13 15:50:36
664
原创 冒泡排序
冒泡排序的本质在于交换,即每次通过交换的方式把当前剩余元素的最大值移动到一端,而当剩余元素减少为0时,排序结束。整个过程执行 n-1 趟,每一趟从左到右依次比较相邻的两个数,如果大的数在左边,则交换这两个数,当该趟结束时,该趟最大数被移动到当前剩余数的最右边。 具体实现如下:#include <cstdio>int main() { int a[10] = {3, 1, 4,...
2020-01-13 14:37:07
114
原创 two pointers 思想
two pointers 思想(广义):利用问题本身与序列的特性,使用两个下标 i、j 对序列进行扫描(同向扫描、反向扫描),以较低的复杂度(一般是 O(n) 的复杂度)解决问题。示例1:给定一个递增的正整数序列和一个正整数 M,求序列中的两个不同位置的数 a 和 数 b,使得它们的和恰好为 M,输出所有满足条件的方案。例如: 给定序列 {1, 2, 3, 4, 5, 6} 和正整数 M ...
2020-01-12 22:58:55
144
原创 Dev-C++ 之 [Error]: 'to_string' was not declared in this scope
Dev C++ 编译器:在菜单栏点开工具(Tools)-> 编译选项(Compile Options),加上下图所示的编译指令即可让编译器支持c++11的标准。2.
2019-12-25 21:25:26
1513
转载 Java实现列表(一行数据)上移,下移操作
最近遇到这么一个功能需求,要求对列表中的(一行)数据可以进行上移、下移。实现思路:1.在数据库中对要进行排序那张表新增一个node_num字段用于排序。2.每当新增一条记录时,node_num的值都会在上一条的记录上进行+1。即每次新增记录时,先查出已存在的node_num值最大的那条记录,然后新增记录的node_num值为该记录的node_num的值+1。3.列表向上移动的时候查询出当前...
2019-11-20 18:06:45
4655
6
原创 Content type 'multipart/form-data;boundary=--------------------------767271614753787988999996;charse
将接口中的 @RequestBody 去掉就好了
2019-08-22 18:02:27
8578
转载 java.lang.OutOfMemoryError: Java heap space 错误及处理办法(转)
以下是从网上找到的关于堆空间溢出错误的解决办法:java.lang.OutOfMemoryError: Java heap space使用Java程序从数据库中查询大量的数据时出现异常:java.lang.OutOfMemoryError: Java heap space在JVM中如果98%的时间是用于GC且可用的 Heap size 不足2%的时候将抛出此异常信息。JVM堆的设置是指j...
2019-06-20 15:30:57
8121
转载 Spring Boot导出war包部署到外部Tomcat
对于创建的jsp的web项目,有时想把项目打成war包部署到外部的Tomcat上,要达到这种目的,需要修改一些东西。一、修改Maven的打包方式Maven默认的packing为jar,所以要将其改为war:<packaging>war</packaging>二、修改内迁容器的依赖范围将spring-boot-starter-tomcat的要构建可执行并可部署到外...
2019-06-17 16:35:29
204
转载 Java(类作为成员变量类型)
执行结果:年龄为20的盖伦用AK-47攻击敌方。 Process finished with exit code 0本例使用组合关系(松耦合)。组合关系和继承关系相比,前者的主要优势是不会破坏封装,当类 Hero 与 类 Weapon 之间为组合关系时,类 Weapon 封装实现,仅向类 Hero 提供接口。而当类 Hero 与 类 Weapon 之间为继承关系时,类 Weapon ...
2019-06-06 11:26:22
4482
4
转载 Maven新建/导入项目出现 Could not calculate build plan:plugin 错误解决办法
删除本地.m2仓库中 org.apache.maven.plugins:maven-resources-plugin所在目录。然后右击项目 Maven->Update Project->勾选 Force Update of Snapshots/Releases原文: https://www.cnblogs.com/dreamtecher/p/5783576.html...
2019-04-09 11:01:20
294
转载 myeclipse 2016 闪退
今天打开myeclip,闪退。百度了下,有以下几种可能myeclip.ini 中jdk路径错误解决方法参考https://blog.csdn.net/zhidanfeng/article/details/26137531这篇文章然而我修改之后并没有解决参考https://blog.csdn.net/ABnanna/article/details/76271023?location...
2019-04-09 09:50:03
343
原创 An internal error occurred during: "Initializing Java Tooling".java.lang.NullPointerException『解决方案』
An internal error occurred during: “Initializing Java Tooling”.java.lang.NullPointerException报错解决方法:eclipse ->Window ->Perspective -> Reset Perspective… 重置eclipse 页面 。可以解决问题。关掉此页面。...
2019-03-28 09:57:19
462
转载 win10 ERROR 1045 (28000): Access denied for user 'root'@'localhost' || MySQL 闪退 『解决方案之很靠谱』
这个问题是在Windows下登录MySQL服务时遇到的,连接到MySQL服务时输入命令 “ mysql -u root -p ” ,遇到了这个问题,错误信息如下:“ ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES) ”( 或者 通过 MySQL 5.5 Command Lin...
2019-03-26 18:51:24
6251
1
原创 《SysML精粹》个人学习小记 Chapter 1,[P1~8]
SysML 个人学习小记 初步概念、思想OMG(Object Management Group, 对象管理组织) 中最重要的一个成员就是 系统建模语言(Systems Modeling Language, SysML).SysML 只是 基于模型的系统工程(Model Based Systems Engineering, MBSE)[这个更大话题]的一个方面。MBSE 是一种实践...
2019-03-01 11:31:56
3200
4
原创 全排列(Full Permutation) || 暴力法 || 回溯法
== == == == == == == == == == == == == == == == ==全排列(Full Permutation)1_1全排列(Full Permutation)1_2n 皇后问题 - 暴力法 2_1n 皇后问题 - 暴力法 2_2n 皇后问题 - 回溯法 3_1n 皇后问题 - 回溯法 3_2== == == == == == == == == =...
2019-02-24 20:55:44
539
原创 1001 A+B Format (20分)
PAT (Advanced Level) Practice题目链接. 编程题 1001 A+B Format (20 分)1001 A+B Format (20 分)Calculate a+b and output the sum in standard format – that is, the digits must be separated into groups of thr...
2019-02-02 23:45:14
138
mahout-core-0.9.jar+mahout-core-0.8.jar+mahout-core-0.1.jar
2019-03-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人