- 博客(119)
- 资源 (11)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 建立自己的体系架构(笔记-面试知识梳理)
需要建立自己的体系架构!计划从5个方面梳理下自己的技术架构1、网络https://www.cnblogs.com/xdyixia/p/9275246.html2、前端3、后台4、数据库5、运维...
2019-07-24 12:30:42
253
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 linux 系统遇到的问题(持续更新)
1、spring boot 打成jar后 启动内存占了太大解决方法,jar包启动的时候设置内存大小:java -Xms10m -Xmx200m -jar xxx.jar
2019-06-25 16:14:13
1613
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 mysql 常用查询语句(持续更新)
1、查询一张表的详细信息(包括字段注释,字段名称,类型等).select * from information_schema.columns where table_schema ='my_db'and table_name = 'auth_user';2、Mysql是否开启binlog:show variables like 'log_bin';3、查看日志:show va...
2019-06-25 15:33:10
1262
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 给自己定个小目标 --java
一、数据结构与算法基础说一下几种常见的排序算法和分别的复杂度。用Java写一个冒泡排序算法描述一下链式存储结构。如何遍历一棵二叉树?倒排一个LinkedList。用Java写一个递归遍历目录下面的所有文件。二、Java基础接口与抽象类的区别?Java中的异常有哪几类?分别怎么使用?常用的集合类有哪些?比如List如何排序?ArrayList和LinkedList内部的实...
2019-06-24 11:39:01
1895
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 linux 查用语句 (逐步添加)
1、linux 传文件到另一个Linux系统:scp sso.war root@ip:/data/test/2、linux服务器下手动删除memcache中的key对应的value假设服务器ip是 10.0.0.1 端口是 1234首先连上服务器telnet 10.0.0.1 1234查看某个key对应的值, 假设key的名称为 typeget ty...
2019-06-22 12:09:45
2094
转载 PostgreSQL 索引 详细
INDEX索引是增强数据库性能的常用方法。索引使得数据库在查找和检索数据库的特定行的时候比没有索引快的多。但索引也增加了整个数据库系统的开销,所以应该合理使用。介绍假设我们有一个类似这样的表:CREATE TABLE test1 ( id integer, content varchar);应用程序发出许多类似以下的这种查询:SELECT content FROM test1 WHERE id = constant;没有提前的准备,系统将不得不逐行扫描整
2020-10-30 15:41:18
3321
转载 Postgresql explain 的詳細介紹
PostgreSQL为每个收到的查询设计一个查询规划。选择正确的匹配查询结构和数据属性的规划对执行效率是至关重要要的,所以系统包含一个复杂的规划器来试图选择好的规划。你可以使用EXPLAIN命令查看查询规划器创建的任何查询。阅读查询规划是一门艺术,需要掌握一定的经验,本节试图涵盖一些基础知识。以下的例子来自PostgreSQL 9.5开发版。EXPLAIN基础查询规划是以规划为节点的树形结构。树的最底节点是扫描节点:他返回表中的原数据行。不同的表有不同的扫描节点类型:顺序扫描,索引扫描和位图索
2020-10-30 10:29:40
573
转载 MySQL与PostgreSQL对比 牛
网上已经有很多拿PostgreSQL与MySQL比较的文章了,这篇文章只是对一些重要的信息进行下梳理。在开始分析前,先来看下这两张图:MySQLMySQL声称自己是最流行的开源数据库。LAMP中的M指的就是MySQL。构建在LAMP上的应用都会使用MySQL,如WordPress、Drupal等大多数php开源程序。MySQL最初是由MySQL AB开发的,然后在2008年以10亿美金的价格卖给了Sun公司,Sun公司又在2010年被Oracle收购。Oracle支持MySQL的多个版本:S..
2020-10-22 14:34:04
541
转载 postgresql 性能优化
一个优化的SQL:SELECT order_date, order_source, SUM(commodity_num) num, SUM(actual_charge) charge FROM ( SELECT to_char(oc.create_date, 'yyyyMMdd') AS order_date, (CASE WHEN oo.event_type = 'ONLINE_CO...
2020-10-22 14:15:42
3755
1
原创 PostgreSQL show all 参数总结
max_connections = 300 # (change requires restart)unix_socket_directories = '.' # comma-separated list of directoriesshared_buffers = 194GB # 尽量用数据库管理内存,减少双重缓存,提高使用效率huge_pages = on # on, off, or try ,使用大页work_mem = 256MB # min ...
2020-10-22 14:01:16
1265
转载 VSCode详细使用教程
https://blog.csdn.net/weixin_45601379/article/details/100550421
2020-06-02 08:39:07
462
转载 Linux堆内存溢出排查定位到具体的线程
1、问题背景昨天下午突然收到运维邮件报警,显示数据平台服务器cpu利用率达到了98.94%,而且最近一段时间一直持续在70%以上,看起来像是硬件资源到瓶颈需要扩容了,但仔细思考就会发现咱们的业务系统并不是一个高并发或者CPU密集型的应用,这个利用率有点太夸张,硬件瓶颈应该不会这么快就到了,一定是哪里的业务代码逻辑有问题。2、排查思路2.1定位高负载进程pid首先登录到服务器使用top命令确认服务器的具体情况,根据具体情况再进行分析判断。通过观察load average,以及负载评..
2020-05-29 14:47:26
1206
转载 记一次linux通过jstack定位CPU使用过高问题或排查线上死锁问题
一、java定位进程在服务器中终端输入命令:top可以看到进程ID,为5421的cpu这列100多了。记下这个数字:5421二、定位问题进程对应的线程然后在服务器中终端输入命令:top -Hp 5421作用是查看里程内部线程资源占用情况。5421为第二步获取到的进程id可以看到第一行cpu占用特别高,就是它了。记住,此时第一列PID是线程ID:5463注意这个ID是十进制,但是java线程堆栈是采用是16进制。那么我们转换一下。printf "%x\...
2020-05-19 10:31:04
430
原创 long 的线程安全
1.使用基础变量int(线程不安全)2.使用AtomicLong和LongAdder的代码(线程安全)AtomicLong: 使用死循环不断地compareAndSwap到特定的值,从而达到更新数据的目的 缺点:唯一会制约AtomicLong高效的原因是高并发,高并发意味着CAS的失败几率更高,重试次数更多,越多线程重试,CAS失败几率又越高,变成恶性循环,AtomicLong效率降低 LongAdder: 高并发时:将对单一变量的CAS操作分散为对数组cells中多个元素的CAS操
2020-05-08 21:17:28
1294
原创 poi 3.13 word 表格合并 改变列宽 样式改变
今天遇到非常奇怪的问题用poi操作word中的表格后遇到的一些问题,记录下来,希望有兄弟遇到遇到一起研讨研讨。本人初步判断是版本兼容性问题,待验证。正常来说操作表格后的样式应该是如下图的:但是实际上,我用本地word(2010版)打开后显示的是这样的样式发生了改变,更奇怪的是,我用本地word对其改变列宽的操作合并单元格立马消失记录下来,那位兄弟遇到和我一样的问题,一起...
2020-04-27 10:50:31
1207
1
转载 MySQL优化器cost计算
记录MySQL 5.5上,优化器进行cost计算的方法。第一篇: 单表的cost计算数据结构:1. table_share: 包含了表的元数据,其中索引部分:key_info:一个key的结构体,代表一个索引,包含了:key_length:key的长度 key_parts:key一共有多少个column key_part:key中具体的column rec_per_key...
2020-04-26 17:34:10
916
原创 processlist中状态详解
更多详情可参考官方手册:8.14.2 General Thread States今天我们要说的是,在processlist中,看到哪些运行状态时要引起关注,主要有下面几个:状态 建议 copy to tmp table 执行ALTER TABLE修改表结构时建议:放在凌晨执行或者采用类似pt-osc工具 Copying to tmp table 拷贝数据到内...
2020-04-26 17:22:35
1216
原创 mysql 深入sql分析 ( trace 和 show profile)
show profile 分析慢查询NO.1 使用 profile 分析慢查询大致步骤:确定这个 MySQL 版本是否支持 profile;确定 profile 是否关闭;如果关闭开启 profile;在服务器端发送要执行的 SQL;查看执行完 SQL 的 query id;通过 query id 查看 SQL 的每个状态及耗时时间;停止profile;获取profile 使用 h...
2020-04-26 17:02:50
517
转载 Spring Boot/Spring Cloud 集成Page Office支持word、excel、ppt在线浏览编辑
https://blog.csdn.net/las723/article/details/86503557
2020-02-10 11:47:39
625
原创 Java知识图谱收集整理
收集一些知识图谱,希望有帮助1、Java学习路径1Java研发工程师.png我想很多人看到这个路径可能会问我在哪里可以学习,所以就先附上这条路径的学习地址吧,这也是这张图片的来源,愿意学习的可以去看看:Java研发工程师学习路径:https://www.shiyanlou.com/jobs/java2、Java学习路径2Java学习路线.jpg这...
2019-12-21 16:48:03
265
原创 Java 工程师成神之路
在微信上看到这篇文章,感觉很好,推荐给大家基础篇1.1 JVMJVM内存结构堆、栈、方法区、直接内存、堆和栈区别。Java内存模型内存可见性、重排序、顺序一致性、volatile、锁、final。垃圾回收内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定 。JVM参数及调优Java对象模型oop-klass、对象头。Hot...
2019-12-21 16:46:32
292
转载 SpringBoot 初步原理解析
一、前言 上篇文章,我们聊到了SpringBoot得以实现的幕后推手,这次我们来用SpringBoot开始HelloWorld之旅。SpringBoot是Spring框架对“约定大于配置(Convention over Configuration)”理念的最佳实践。SpringBoot应用本质上就是一个基于Spring框架的应用。我们大多数程序猿已经对Spring特别熟悉了,那随着我们的深...
2019-12-21 16:19:58
140
转载 Java中方法执行顺序
Java中方法执行顺序:首先是静态块先执行,静态方法,最后是构造函数。构造方法只有在new对象的时候才会执行,静态语句块和静态方法在类加载到内存的时候就已经执行了。另外,静态语句块只能给静态变量赋值,里面不能出现方法,同样,静态方法里面也不能出现静态语句块。先是静态语句块执行,然后静态方法加载到内存,静态语句块你不管它它会自动会执行,而静态方法它一直存在于内存中,只有你用类名点方法名的时候...
2019-12-19 16:33:59
2062
原创 深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)
看到一篇好文章 收材学习!原文链接:https://www.cnblogs.com/figure9/p/java-8-lambdas-insideout-language-features.html
2019-10-26 19:38:44
136
原创 mysql 查询慢日志记录的sql 语句
SELECT * , CONVERT(sql_text USING utf8) AS sqldeatil FROM mysql.slow_log where start_time > '2019-09-17 09' and query_time >'00:01:00.000000' ORDER BY query_time DESC ;CONVERT() ...
2019-09-20 09:57:36
186
转载 windows环境搭建Vue开发环境
一、安装node.js(https://nodejs.org/en/)下载完毕后,可以安装node,建议不要安装在系统盘(如C:)。二、设置nodejs prefix(全局)和cache(缓存)路径1、在nodejs安装路径下,新建node_global和node_cache两个文件...
2019-09-16 10:39:30
103
转载 Node.js安装及环境配置之Windows篇
一、安装环境1、本机系统:Windows 10 Pro(64位)2、Node.js:v6.9.2LTS(64位)二、安装Node.js步骤1、下载对应你系统的Node.js版本:https://nodejs.org/en/download/2、选安装目录进行安装3、环境配置4、测试三、前期准备1、Node.js简介简单的说 Node.js 就是运行在服务端的 Java...
2019-09-16 10:33:39
450
原创 MySQL查询锁表语句详情
1、查询是否锁表show OPEN TABLES where In_use > 0;查询到相对应的进程 === 然后 killid2、查询进程show processlist补充:查看正在锁的事务SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;查看等待锁的事务SELECT * FRO...
2019-09-03 15:08:14
10985
原创 vue-cli入门(二)——项目结构
前言在上一篇项目搭建文章中,我们已经下载安装了node环境以及vue-cli,并且已经成功构建了一个vue-cli项目,那么接下来,我们来梳理一下vue-cli项目的结构。总体框架一个vue-cli的项目结构如下,其中src文件夹是需要掌握的,所以本文也重点讲解其中的文件,至于其他相关文件,了解一下即可。vue-cli项目总体结构文件结构细分1.build——[w...
2019-08-23 17:27:38
139
原创 创建初始化vue
1 安装NodeJS:2 打开命令行界面,全局安装vue-clinpm install --global vue-cli3 创建工程通过命令行vue init webpack project-name,直接创建(基于已经全局安装Vue-cli)...
2019-08-22 17:09:47
92
转载 InnoDB的行记录格式, Compact, Redundant, Compressed, Dynamic
目录Compact行记录格式 Redundant行记录格式 Compressed与Dynamic行记录格式InnoDB存储引擎和大多数数据库一样(如Oracle和Microsoft SQL Server数据库),记录是以行的形式存储的。这意味着页中保存着表中一行行的数据。到MySQL 5.1时,InnoDB存储引擎提供了Compact和Redundant两种格式来存放行记录数据,R...
2019-08-14 10:18:28
461
原创 mysql 间隙锁
这几天线上遇到一个问题,就是查询的sql语句莫名的成了死锁语句。后来查了一些资料,分析了语句,知道了是“间隙锁”搞的鬼!这里分分享给大家环境:mysql5.6 innodb存储引擎,默认隔离级别repeatable-read,可重复读。innodb_locks_unsafe_for_binlog, 参数默认值是OFF,也就是启用间隙锁, 他是一个bool值, 当值为true时表示d...
2019-08-01 16:44:00
2284
转载 Mybatis+mysql批量插入性能分析测试
前言今天在网上看到一篇文章(后文中的文章指的就是它)https://www.cnblogs.com/linkstar/p/10230000.html发现了一种有关于mybatis批量插入的新方法,而且看了文章发现我原来的方法好像有点问题,但是由于文章中使用的环境是sqlserver而我经常使用的是mysql所以还是需要亲自来试试。环境说明项目使用springboo...
2019-08-01 14:25:24
251
原创 Explain
项目开发中,我们通常会用 Explain 命令去 解析我们的sql语句是否合理。概要描述:下面对这些字段出现的可能进行解释:一、idSELECT识别符。这是SELECT的查询序列号QL执行的顺序的标识,SQL从大到小的执行1. id相同时,执行顺序由上至下2. 如果是子查询,id的序号会递增,id值越大优先级越高,越先被执行3. id如果相同,可以认为是...
2019-08-01 13:41:15
110
原创 面试可能会问到的问题 (JAVA高级)
先把问题记下,后面再写答案1、jvm2、多线程3、tomcat 配置4、缓存5、并发6、Explain7、数据库
2019-07-30 16:57:45
153
转载 Tomcat启用GZIP压缩,提升web性能
一、前言 最近做了个项目,遇到这么一个问题:服务器返回给客户端的json数据量太大(大概65M),在客户端加载了1分多钟才渲染完毕(当然这加载时间也和本地的下行带宽有关),费时耗流量,用户体验极其不好。后来网上搜优化的方法,就是Http压缩。 HTTP压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求服务器对应资源后,从服务器端将资源文件压缩,再输出到客户端,由客户端的浏览器负责...
2019-07-30 16:16:03
469
原创 缓存三大问题(穿透、雪崩、击穿)及解决方案
1. 缓存来由随着互联网系统发展的逐步完善,提高系统的qps,目前的绝大部分系统都增加了缓存机制从而避免请求过多的直接与数据库操作从而造成系统瓶颈,极大的提升了用户体验和系统稳定性。2. 缓存问题虽然使用缓存给系统带来了一定的质的提升,但同时也带来了一些需要注意的问题。2.1 缓存穿透缓存穿透是指查询一个一定不存在的数据,因为缓存中也无该数据的信息,则会直接去数据库层进行查询,...
2019-07-30 15:24:57
348
转载 java并发之Semaphore
一、定义 一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个acquire(),然后再获取该许可。每个release()添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore只对可用许可的号码进行计数,并采取相应的行动。 Semaphore通常用于限制可以访问某些资源(物理或逻辑的)的线程数目。二...
2019-07-30 11:05:24
118
转载 并发容器之CopyOnWriteArraySet
CopyOnWriteArraySet是基于CopyOnWriteArrayList实现的,其唯一的不同是在add时调用的是CopyOnWriteArrayList的addIfAbsent方法。具体可以看CopyOnWriteArraySet的构造方法和add方法adIfAbsent方法同样采用锁保护,并创建一个新的大小+1的Object数组。遍历当前Object数组,如...
2019-07-30 11:03:01
135
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人