自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 索引使用规范

使索引失效CALL proc_drop_index(“数据库名”,“表名”)建立单值索引CREATE INDEX idx_age_name_depId ON emp(age,NAME,depId)删除索引DROP INDEX idx_age_name_depId ON emp(age,NAME,depId)关联查询create index idx_age_deptid_name on emp (age,deptid,name)以下是否能使用到索引,能否去掉using filesort1、e

2020-07-16 10:37:38 211

原创 linux系统下安装mysql rpm 包 (32位)

这里写自定义目录标题由于电脑是32位系统的centos6.5,搜罗了网上一圈都没有很好的解决详细的流程,所以这里给罗列一下:首先要到官网下载好四个rpm包,如下:①下载linux版本的mysqlmysql下载官网:https://dev.mysql.com/downloads/点 MySQL Community Server==》再点击选32位的点击右上角Looking for the latest GA version?选版本,我的是5.7.30...

2020-05-13 13:22:52 376

转载 解决8080端口被占用

1.window下关闭8080端口win+R:输入cmd,回车在黑窗口中输入指令:netstat -ano | findstr 8080 指令的意思是找出占用8080端口的进程pid此时发现8080端口号的pid是7244(pid是会变化的)再次输入指令:taskkill -pid 7244 -f,回车2.Linux下关闭8080端口:找到端口对应的进程的pid, 比...

2019-11-18 10:24:37 169

原创 关于tk mybatis的异常You have an error in your SQL syntax; check the manual that corresponds to

tkmybatis:如果更改了字段,实体类属性也要跟着改成驼峰式写法,否则就会报错,如下图:之前我是: 插入的时候报错如下:You have an error in your SQL syntax; check the manual that corresponds to后来发现 order是关键字查询数据库会出错于是改成 以为不用改实体类属性依然可以映射,结果还是报错,我以为是myba...

2019-11-15 16:57:09 892

原创 Feign PathVariable annotation was empty on param 0.异常解决

使用Feign的时候,如果参数中带有@PathVariable形式的参数,则要用value属性去指定。标明对应的参数,否则会抛出IllegalStateException异常,异常信息:Feign PathVariable annotation was empty on param 0.建议:RESTful风格 @Pathvariable(value=“xx”)...

2019-10-22 15:18:58 349

原创 解决maven 导依赖 和下载jar包时,因为(网速慢、断网)导致jar包下载不下来问题

很简单,只需要在maven仓库中以管理员身份cmd输入一行命令就好了,具体操作如下:1.切换到maven的本地仓库,我的在E:\repo2.在当前目录打开cmd命令行3.执行命令:for /r %i in (*.lastUpdated) do del %i因网络问题产生的maven jar包,会出现很多.lastUpdated文件,把这些文件删除就可以了再在idea右上方点击刷新就可以...

2019-10-22 15:02:36 1749

原创 Long类型字段精度丢失异常

精度丢失异常这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入...

2019-09-28 15:26:16 966 1

原创 GC调优分析

垃圾回收过程:首先new一个对象申请一块内存ed区区域,然后会多次ygc,如:第一次ygc,清除掉百分之90的垃圾还存活的不是垃圾的对象copy到s1区,第二次ygc,ed区和s1区百分之九十的垃圾被清除剩下的存活对象copy到s2区,第三次ed区和s2区存活对象copy到s1区,这样循环往复的ygc,等到年龄足够或者s区内存装不下,垃圾进入老年代,老年代的垃圾到一定容量触发fgc。fgc光加内存没用,还是会产生stw现象,内存分配:4核8g 16g。fgc一般用标记压缩算法。

2020-08-22 11:59:13 166 1

原创 解决支付幂等,订单重复提交

建立数据库的唯一约束是目前比较常用解决办法。在实际的支付业务中,通常把订单号orderId和请求系统编码system_no(或是请求商户号merchantNo)做为数据库的联合唯一约束。保证同样的订单在数据库只有唯一的一条记录。当有重复数据请求时,应用程序在捕获此SQL异常后,进行回滚去重表(流水表)(在分库分表情况下无效)适用于有唯一标识的插入场景,新建一张去重表,添加唯一索引,当执行插入操作时,将唯一标识保存到去重表唯一索引字段,当重复请求时,因为有唯一约束,导致数据库抛异常回滚。以下是测试dem

2020-08-21 17:19:22 1393

原创 day06 io

普通io和buffu io谁快buffu快,为什么 因为少io用户态和内核态切换的次数不一样,普通io(每次io线程调用多)每次都申请操作系统,buffo:因为 jvm开了一个8kb的数组,超过写到 8kb才申请操作系统调用应用层cpu和物理内存之间有一个页缓存,为了iopcstat :pageCache(页缓存状态)4k牵扯到io的话:页缓存更快,但存在断电数据丢失,和数据一致性问题vim /etc/sysconfig.conf 前台和后台预估值 到90 把内存脏页写到磁盘(redis

2020-07-30 11:45:01 153

原创 day05内存与Io,磁盘io

每个程序是一个逻辑的,线性的内存地址,通过mmu映射到cpu物理地址物理内存(keno内核)虚拟文件系统VFS 树,树上可以映射到不同的物理位置linus看到的区都是虚拟文件系统,虚拟文件系统=mysql的jdbc接口,通过接口访问不同文件系统硬连接:两个文件共同指向一个inode号,删掉一个也没事软连接:没有共同inode号,单纯a指向b一切皆文件:都是虚拟文件系统管道: head -8 test.txt | tail -1 :读八行里面最后一行docker容器时虚拟的,里面跑的是进程

2020-07-30 11:40:42 232

原创 day03 内存管理

(百度,腾讯,华为有可能考,阿里不太考c,c++,所以考操作系统比较多)所有涉及到缓存的都用LRU(把最不常用的那块挂起到swap分区,先执行最新那一块) ,LFU 算法内存映射自己理解:多个进程间存在恶意互访问题,为了防止进程间互访;所以出现虚拟内存,通过虚拟内存映射到os物理内存,物理内存给每个进程分配一块内存空间,当物理内存满了,利用LRU算法将最不常用的一块分配到swap分区(swap在硬盘),先执行新的一块.映射:通过一系列复杂操作最终找到物理地址,偏移量 + 段的基地址 = 线性地址 ,

2020-07-30 11:35:27 158 1

原创 day3进程,线程,协程

总结:进程是os分配资源的基本单位,线程是执行调度的基本单位自己总结:进程是操作系统内部分配了一块内存空间,进程运行在里面,进程包含线程,线程是执行cpu与操作系统之间资源调度的基本单位,点qq.exe 开辟一个进程,一个进程包含多个线程,然后线程本身是没有内存空间的linux中分配一个线程就是进程迁程(协程fiber):线程中的线程,用户态中的线程,不访问os操作系统,线程内部分线程,更轻量级,切换更快(冷知识,每创建一个线程有一个线程栈)纤程:用户态的线程,线程中的线程,切换和调度不需要经过

2020-07-30 11:28:25 122

原创 二,硬件和操作系统底层知识

总结:{内存可见:lock总线锁+缓存锁+mesi协议指令重排:lock总线锁+jvm内存屏障}乱序执行:国外博客: https://preshing.com/20120515/memory-reordering-caught-in-the-act/jvm/jmm/Disorder.java禁止乱序CPU层面:Intel -> 原语(mfence lfence sfence) 或者锁总线JVM层级:8个hanppens-before原则 4个内存屏障 (LL LS SL SS)as-i

2020-07-17 15:57:03 318

原创 一,java的底层知识

数据结构与算法,毕生的事业gpu:ai人工智能汇编语言执行过程:汇编语言的本质:机器语言的助记符 其实它就是机器语言计算机通电 -> CPU读取内存中程序(电信号输入)->时钟发生器不断震荡通断电 ->推动CPU内部一步一步执行(执行多少步取决于指令需要的时钟周期)->计算完成->写回(电信号)->写给显卡输出(sout,或者图形)c–机器语言java----jvm指令----机器语言cpu也连接io总线,不止跟内存交互汇编本质:助记符PC -&g

2020-07-16 19:51:05 436

原创 synchronized 是可重入锁吗?为什么?

package com.eds.newRetail.common.test;/***synchronized 是可重入锁吗?为什么?*是 不加锁也可以调用如果不是重入锁的话,那这后面这两次请求锁将会被一直阻塞,从而导致死锁。*/public class CheckLock {public synchronized void one(){System.out.println(“锁一进入”);two();}public synchronized void two(){System.o

2020-07-04 15:10:15 490

原创 面试题:模拟银行账户 对业务写方法加锁

package com.eds.newRetail.common;/**面试题:模拟银行账户对业务写方法加锁对业务读方法不加锁这样行不行?不行,会造成脏读*/public class T {private int money = 0;public synchronized void setMoney(int money) {try {Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace()

2020-07-04 14:32:24 340

原创 最完整的base64+GBK解码

public String getBody(String rm) {// 定义返回结果字符串String res = “”;try {//URLDecoderrm = URLDecoder.decode(rm, “GBK”);// 解密并获取接口返回数据 Base64 base64 = new Base64(); byte[] textByte = b...

2019-12-25 14:07:08 3175

原创 java获取项目运行根目录

// 获取项目运行根目录public String getPath() {return this.getClass().getClassLoader().getResource("").getPath();}

2019-12-17 18:39:21 958

转载 mybatis百万数据写入数据库分页优化分批处理java代码实现

场景描述:现在公司是sqlserver到mysql,要用代码实现初始化的数据搬迁工作,暴露出来初始化接口问题描述:数据库使用的是mybatis框架,对于有的表,例如97个字段,一百多万条数据,直接就内存溢出了。耗时日志(同时优化了sql语句筛选了数据,如果是百万的表筛选了一半):本次操作共耗时:约11秒,约0分钟,共50000条数据本次操作共耗时:约10秒,约0分钟,共50000条数据...

2019-11-26 10:51:09 755

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除