- 博客(51)
- 资源 (2)
- 收藏
- 关注
原创 使用MAT定位线上OOM问题
1.造成OOM的原因一次性申请的太多 找到未释放的对象进行释放(找到未释放的) 本身资源不够(jmap -heap查看堆信息)2.如何定位oom系统已经OOM挂了提前设置-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=系统运行中还未OOM导出dump文件:jmap -dump:format=b,file=xushu.hprof 14660结合jvisualvm进行调试查看最多跟业务有关对象 -> 找到GcRoot ->.
2024-06-19 22:22:54
801
原创 浅析MySQL-基础02
的,也就是说,当需要读取一条记录的时候,并不是将这一行记录从磁盘读出来,而是以页为单位,将其整体读入内存。Compact 行格式针对行溢出的处理是这样的:当发生行溢出时,在记录的真实数据处只会保存该列的一部分数据,而把剩余的数据放在「溢出页」中,然后真实数据处用 20 字节存储指向溢出页的地址,从而可以找到剩余数据所在的页。当发生行溢出时,在记录的真实数据处只会保存该列的一部分数据,而把剩余的数据放在「溢出页」中,然后真实数据处用 20 字节存储指向溢出页的地址,从而可以找到剩余数据所在的页。
2024-06-18 17:03:24
846
原创 浅析MySQL-基础篇01
如果刚缓存了一个查询结果很大的数据,还没被使用的时候,刚好这个表触发了更新操作,那么查询缓存就会被清空,相当于干了个寂寞。可以看到,使用了索引下推后,虽然 score 列无法使用到联合索引,但是因为它包含在联合索引(age,score)里,所以直接在存储引擎过滤出满足 score = 80 的记录后,才去执行回表操作获取整个记录。索引下推是MySQL5.6推出的查询优化策略,索引下推能够减少二级索引在查询时的回表操作,提高查询的效率,因为它将Server层部分负责的事情,交给存储引擎层去处理了。
2024-06-16 16:51:47
946
原创 ElasticSearch基本技术点
目录倒排索引单词词典倒排列表倒排索引倒排索引包含两个部分:单词词典、倒排列表。单词词典(Term Dictionary)记录所有文档的单词,记录单词到倒排列表的关联关系单词词典一般比较大,可以通过B+树或哈希拉链法实现,以满足高性能的插入与查询倒排列表(Posting List)记录了单词对应的文档结合,有倒排索引项组成倒排索引项(Posting)文档ID 词频(TF)- 该单词在文档中出现的次数,用于相关性评分 位置(Position)- 单词.
2022-03-21 20:04:19
2390
原创 Docker lnmp环境
和朋友一起搞的docker-lnmp环境, 下面是地址: https://github.com/anpengpeng/docker-lnmp
2019-12-02 17:44:14
196
原创 synchronize 小记
package com.lockjx;public class L { //private boolean flag = false;}package com.lockjx;import org.openjdk.jol.info.ClassLayout;import java.util.concurrent.locks.ReentrantLock;/**...
2019-12-02 17:42:00
146
原创 关于网络IO的易懂的好文章
https://app_promotion.local/t/fuQNn2https://m.lhxq.top/t/fuQNn2https://juejin.im/post/5d19820c6fb9a07ea42094e2https://juejin.im/post/5b94e93b5188255c672e901ehttps://mp.weixin.qq...
2019-07-09 16:23:59
174
原创 Nginx优化实战--参数优化
1.优化Nginx服务的worker进程个数在nginx.conf配置中有worker_processes.优化策略,worker_processes参数大小的设置可以等于CPU核数。高并发场合也可以考虑提高至CPU核数*2#该参数调整的是nginx服务的worker进程数,Nginx有Master进程和worker进程之分,Master为管理进程,真正接待"顾客"的是worker进程worker_
2017-06-06 00:19:14
981
原创 Nginx优化实战--基本安全优化
1.调整参数隐藏Nginx软件版本号信息软件的漏洞都和版本有关。因此我们应尽量隐藏或消除Web服务对访问用户显示各类敏感信息(如Web软件名称及版本号等信息),这样恶意的用户就不会跟局软件版本漏洞来攻击,从而加强Web服务的安全性。☁ ~ curl -I www.gzsteam.cnHTTP/1.1 301 Moved PermanentlyServer: nginx/1.10.3 #<
2017-05-30 23:06:44
2897
原创 Git记录
好久没写博客了,自己变得懒了>_<,以前虽然用过Git但是理解没那么深刻,所以自己抽了两天时间仔细学习并实践了下。结果发现还是实践给自己的回报很多,在这里记录下…推荐下面两篇文章:廖雪峰的官方网站:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000阿里云搭建自己的git服务器:http
2016-12-31 23:51:47
631
原创 CentOS7下PHP7.2,MySQL5.7,Nginx1.10以及对应的redis,swoole扩展的安装与配置
花了一点时间搞定,自己虚拟机的环境,做点记录LNMP环境的安装中文:http://www.lnmp.cn/installing-php7-mysql57-nginx18-under-centos7.html英文:https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-p...
2016-11-21 17:50:46
1668
原创 Imagick和GD图片处理旋转等问题
最近有幸接触Discuz二次开发,所有也在看它的相关源码。这几天遇到图片上传倒转的问题,花了不少时间解决。吐槽一下,这个问题对刚接触Discuz的新手来说有点恶心。也有部分原因,自己对图片处理这块业务几乎没什么接触。在这里记录一下自己这几天收获问题: IOS照片颠倒,自己在本地电脑翻转,上传图片并没有什么效果1. 源码追踪填坑历程: 项目中Discuz我们用的是自己的一套模板,所以前台跟真正的di
2016-11-18 11:32:59
3289
原创 Laravel和Discuz学习
最近刚入职,对新公司的环境和要做的东西都没接触过,公司用的laravel、lumen相关技术,要做的东西跟discuz二次开发有关,所以这几天都在看discuz的东西,也没怎么写博客。在这还是记录一下相关的东西Laravel/Lumen相关资料http://laravelacademy.org/tags/laravelhttp://www.golaravel.com/http://blog.
2016-10-31 17:57:08
1274
原创 wampServer 启动不了的解决方法
以前在使用wampserver的时候,经常启动不了,每次都是百度,谷歌,刚好今天又遇到了,又花了不少时间,所以在这里总结下,防止下次自己或者别人遇到!问题1.因为80端口被占用?这个很容易搞定,自己在cmd下查端口是否被占用。如果被占用,直接杀掉。或者不用进cmd查看是否被占用,在wampserver图标下,点击apache>service>install service,可以查看看到是否占用。占
2016-10-24 10:14:53
35000
8
转载 Laravel的核心概念
laravel的核心概念,看到了一边深度好文。这边只发下链接,看完总结下!Laravel核心概念:https://laravel-china.org/topics/3057
2016-10-21 16:11:14
452
原创 PHP中的ArrayAccess用法
最近看laravel源码,发现里面用了很多框架类实现了ArrayAccess接口,以前对这块不是很熟悉,查了一下这个语法的用法,发现这个其实就是实现让对象以数组形式来使用。
2016-10-21 14:21:04
3044
原创 wamp3下安装Composer
公司项目开发需要用laravel框架,学习这个框架之前,这边肯定得搭建一个composer环境,那么问题来了!被下面的一个问题恶心半天,各种谷歌,百度还是没搞定,晚上回来继续查,搞好找到了另外的方式,其实在公司应该也可以找到的,其实这个问题以前在xampp下也遇到,但是解决方式不一样,所以记录一下。问题:Warning: readfile(): SSL operation failed with
2016-10-18 21:22:12
1368
原创 DonkeyPHP框架-基础知识准备
每一个框架都会有类自动加载,而每一个文件都得自己去require,在php中有相应的方法spl_auto_register 与__autoload。两者的区别如下//__autoload用法function __autoload($classname){ $filename = "./class/".$classname.".class.php"; if (is_file($fi
2016-09-26 15:00:26
319
原创 冒泡排序
冒泡排序是非常容易理解和实现,,以从小到大排序举例: 设数组长度为N。 1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换。 2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。 3.N=N-1,如果N不为0就重复前面二步,否则排序完成。//冒泡排序1 void BubbleSort1(in
2016-09-21 11:12:09
305
1
原创 gzip压缩提升网站速度
应用场景我们观察news.163.com的头信息 请求: Accept-Encoding:gzip,deflate,sdch 响应: Content-Encoding:gzip Content-Length:36093 再把页面另存下来,观察,约10W字节,实际传输的36093字节 原因——-就在于gzip压缩上*推算一下节省的带宽:* 假设 news.163.com PV 2亿
2016-09-15 22:48:12
360
原创 快速排序(重点)
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想—-分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影
2016-09-08 22:43:59
251
原创 归并排序(代码实现比较难)
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用首先考虑下如何将将二个有序数列合并
2016-09-07 22:41:28
692
原创 直接选择排序
直接选择排序和直接插入排序类似,都将数据分为有序区和无序区,所不同的是直接插入排序是将无序区的第一个元素直接插入到有序区以形成一个更大的有序区,而直接选择排序是从无序区选一个最小的元素直接放到有序区的最后设数组为a[0…n-1]
2016-09-06 22:34:10
273
原创 希尔排序(比较难)
希尔排序的实质就是分组插入排序,该方法又称缩小增量排序。该方法的思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的,因此希尔排序在时间效率上比前两种方法有较大提高
2016-09-05 23:36:02
561
原创 直接插入排序
直接插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止
2016-09-04 23:58:28
197
原创 Nginx upstream的5种权重分配方式分享
1.轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。2.weight指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 upstream backend { server 192.168.0.14 weight=10; server 192.168.0.15 weight=10; } 3.ip_hash每个
2016-08-24 14:47:58
5350
原创 Memcached知识
1.Memcached的概念Memcached是一个免费开源的,高性能的,具有分布式对象的缓存系统,它可以用来保存一些经常存取的对象或数据,保存的数据像一张巨大的HASH表,该表以Key-value对的方式存在内存中2.Memecached注意的事项key的限制: key 不能有空格和控制字符,memcached的key的最大长度是250个字符,注意250是memcached服务器端内部的限制(
2016-08-22 17:04:13
321
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人