自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Golang适合高并发场景的原因分析

典型的两个现实案例:我们先看两个用Go做消息推送的案例实际处理能力。360消息推送的数据:16台机器,标配:24个硬件线程,64GB内存LinuxKernel 2.6.32 x86_64单机80万并发连接,load 0.2~0.4,CPU 总使用率 7%~10%,内存占用20GB (res)目前接入的产品约1280万在线用户2分钟一次GC,停顿2秒 (1.0.3 ...

2019-09-11 13:06:37 293

原创 mysql-慢查询优化

这篇文章主要是就在公司实习的时候,对SQL优化工作作出的一些整理。在公司实习的时候,导师分配了SQL慢查询优化的任务,任务是这样的:每周从平台中导出生产数据库的慢查询文件进行分析。进行SQL优化的手段也主要是修改SQL写法,或者新增索引。现在从记录项目中的一点点做起。(1)数据库中设置SQL慢查询一、第一步.开启mysql慢查询方式...

2019-09-11 12:42:02 352

原创 并发测试

得到接口的curl命令方法:1,登录状态下在浏览器打开要测试的接口:http://cq01-testing-fbqa02.cq01.baidu.com:8756/app/balance/openAccount?from=4.0.0&itemId=942000012,F12进入开发者模式,点击NetWork.3,在箭头处点击右键,copy->copy...

2019-08-22 20:51:11 1095

原创 php爬虫页面信息获取利器

使用PHP curl库爬取信息,做页面信息分析可能大家第一时间想到可能会是会正则,作为新手不能很熟练的写出相关的正则。而php解析html类库simple_html_dom就很容易上手了。它使用了类似jQuery的元素选择器,通过元素的id,class,tag等等来查找定位;同时还提供添加、删除、修改文档树的功能。github地址:https://github.com/samacs/sim...

2019-07-24 18:21:36 342

原创 网络爬虫-php

php爬虫入门本篇文章介绍PHP抓取网页内容技术,利用PHPcURL扩展获取网页内容,还可以抓取网页头部,设置cookie,处理302跳转。一、cURL安装采用源码安装PHP时,需要在configure时添加配置项,cdphp./configure--with-curl安装完毕,可以利用php-m命令查看,是否已经支持cURL扩展。php-m|grepc...

2019-07-24 17:51:23 365

原创 shell分隔符获取数据

文件app.toml内容[main] port = "8056" dbConfFile = "./conf/db.toml" MaxCpus = 2 [log] path = "log/backups.log" level = 8 backUpCount = 245 ...

2019-06-19 21:49:56 1322

原创 java中 IndexOf()、lastIndexOf()、substring()的用法

public int indexof(String str)返回字符串中出现str的第一个位置public int indexof(String str,int fromIndex)返回字符串中从fromIndex开始出现str的第一个位置public String substring(int beginIndex)返回从beginIndex开始的字符串public String la...

2019-04-17 17:16:01 189

原创 shell --定时脚本

很多时候我们有希望服务器定时去运行一个脚本来触发一个操作,比如说定时去备份服务器数据、数据库数据等 不适合人工经常做的一些操作这里简单说下shellShell俗称壳,类似于DOS下的command和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,...

2019-04-09 20:57:30 375

原创 shell--redis,mysql数据删除

#!/bin/basharr_uids=(3941050469 3941036508 3941040724 3941036509 3941040725 3941046627 3941040727 634781553051 3941040728 3941046628 3941036511 3941050467 297365208 3941036512 3941046629 3941050470 3...

2019-04-03 14:11:23 272

原创 linux查看硬件配置命令

系统  # uname -a # 查看内核/操作系统/CPU信息  # head -n 1 /etc/issue # 查看操作系统版本  # cat /proc/cpuinfo # 查看CPU信息  # hostname # 查看计算机名  # lspci -tv # 列出所有PCI设备  # lsusb -tv # 列出所有USB设备  # lsmod # 列出加载的内核模块 ...

2019-01-18 15:48:59 538

原创 app电量测试

iOS电量相关问题一直是测试人员头疼的事情,电量测试怎么开展、问题怎么复现和跟进定位、用户反馈电量相关的问题我们如果获取更多的信息等等,一直都没有一个好的解决方案,以至于我们面对电量相关的问题时,总是束手无策。整个项目组经常收到这样的一种反馈:你看,你们开发的APP,我还没怎么用呢,耗电量就排第一了。对于这样的反馈,我们能做些什么呢?之前我们是迷茫的,但经过一段时间的尝试和努力之后,事情有了一些改...

2018-08-03 12:46:48 2481

原创 深入理解java的finalize、GC、close()的优劣

目录 基本预备相关知识 对象的销毁过程 对象重生的例子 对象的finalize的执行顺序 何时及如何使用finalize 参考 基本预备相关知识 1 java的GC只负责内存相关的清理,所有其它资源的清理必须由程序员手工完成。要不然会引起资源泄露,有可能导致程序崩溃。 2 调用GC并不保证GC实际执行。 3 finalize抛出的未捕获异常只会导致该对象的finalize执行退出。 4 用户可以自...

2018-07-09 21:34:38 649

原创 Java垃圾回收gc

预备知识:了解GC的发展史、jvm运行时数据区的划分、jvm内存分配策略、jvm垃圾收集算法等知识。先说下jvm运行时数据的划分,粗暴的分可以分为堆区(Heap)和栈区(Stack),但jvm的分法实际上比这复杂得多,大概分为下面几块: 1、程序计数器(Program Conuter Register) 程序计数器是一块较小的内存空间,它是当前线程执行字节码的行号指示器...

2018-07-09 20:53:37 249

原创 Java整型与字符串相互转换(转)

1如何将字串 String 转换成整数 int?  A. 有两个方法:  1). int i = Integer.parseInt([String]); 或  i = Integer.parseInt([String],[int radix]);  2). int i = Integer.valueOf(my_str).intValue();  注: 字串转成 Double, Float, Lon...

2018-07-08 21:15:35 38164

原创 Spring框架自学之路——简易入门

介绍  Spring框架是个轻量级的Java EE框架。所谓轻量级,是指不依赖于容器就能运行的。Struts、Hibernate也是轻量级的。  轻量级框架是相对于重量级框架而言的,重量级框架必须依赖特定的容器,例如EJB框架就必须运行在Glassfish、JBoss等支持EJB的容器中,而不能运行在Tomcat中。——《Java Web整合开发 王者归来》  Spring以IoC、AOP为主...

2018-06-29 03:08:58 250

原创 JAVA 极速WEB+ORM框架 JFinal

JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python等动态语言的开发效率!为您节约更多时间,去陪恋人、家人和朋友 ;)JFinal有如下主要特点MVC架构,设计精巧,使用简单遵循COC原则,零配置,无xml独创Db + Record模...

2018-06-29 03:04:18 289

原创 B树,B-树和B+树的区别

B树       即二叉搜索树:       1.所有非叶子结点至多拥有两个儿子(Left和Right);       2.所有结点存储一个关键字;       3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;       如:              B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关键字小,就进入...

2018-06-29 02:50:05 24893 13

原创 数据库索引的实现原理

说白了,索引问题就是一个查找问题。。。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数...

2018-06-29 02:46:25 173

原创 索引原理

介绍:索引是对数据库表中一个或多个列(例如,employee 表的姓名 (name) 列)的值进行排序的结构。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。例如这样一个查询:select * from table1 where id=10000。如果没有索引,必须遍历整个表,直到ID等于10000的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的...

2018-06-29 02:44:11 190

原创 redis原理

一、问题:         数据库表数据量极大(千万条),要求让服务器更加快速地响应用户的需求。 二、解决方案:     1.通过高速服务器Cache缓存数据库数据     2.内存数据库   (这里仅从数据缓存方面考虑,当然,后期可以采用Hadoop+HBase+Hive等分布式存储分析平台)三、主流解Cache和数据库对比:      上述技术基本上代表了当今在数据存储方面所有的实现方案,其中...

2018-06-28 02:36:01 3365 1

原创 计算机网络-TCP三次握手和四次握手

建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。那如何断开连接呢?简单的过程如下:【注意】中断连接端可以是Client端,也可以是Server端。...

2018-06-28 02:07:14 716

原创 Git 常用命令

git init     在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹. git clone     获取一个url对应的远程Git repo, 创建一个local copy.     一般的格式是git clone [url].     clone下来的repo会以url最后一个斜线后面的名称命名,创建一个文件夹,如...

2018-06-28 02:01:13 132

转载 数据结构-连续子数组的最大和(Java)

题目:输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如:输入的数组为{1,-2, 3, 10, -4, 7, 2, -5},和最大的子数组为{3, 10, -4, 7, 2},因此输出为该子数组的和18。最直观的思路:一个长度为n的数组,总共有n(n + 1) / 2 个子数组;计算出所有子数组的和,即可得到...

2018-06-22 14:22:27 232

原创 快速排序思想+算法实现(JAVA)

什么是快速排序?快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。算法原理单单看以上解释还是有些模糊,可以通过实例来理解它,下面通过一组数据来进行排序过程的解析:原数组:{3,7...

2018-06-21 21:05:59 715

转载 SQL使用(一)-----联合查询

1.联合查询分类内连接(inner Join 或 Join)外连接(outer Join) 左外连接(left outer Join 或 left Join)右外连接(right outer Join 或 right Join)全外连接(full outer Join 或 full Join)交叉连接 (cross Join)结果集链接 (union 和 union all)2.联合查询介绍相关数...

2018-06-20 14:46:42 183

原创 安全测试(sql注入、xss、csrf)

浅谈Php安全和防Sql注入,防止Xss攻击,防盗链,防CSRF前言:首先,笔者不是web安全的专家,所以这不是web安全方面专家级文章,而是学习笔记、细心总结文章,里面有些是我们phper不易发现或者说不重视的东西。所以笔者写下来方便以后查阅。在大公司肯定有专门的web安全测试员,安全方面不是phper考虑的范围。但是作为一个phper对于安全知识是:“知道有这么一回事,编程时自然有所注意”。目...

2018-06-19 03:14:42 2287 1

原创 Shell 常用命令总结

1、 ls: 类似于dos下的dir命令ls最常用的参数有三个: -a -l -F。ls –aLinux上的文件以.开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示一般文件名外,连隐藏文件也会显示出来。ls –l该参数显示更详细的文件信息。ls –F使用这个参数表示在文件的后面多添加表示文件类型的符号,例如*表示可执行,/表示目录,@表示连结文件,这都是因为使用了-...

2018-06-15 20:22:30 334

转载 Jfinal前后台传值

了解任何一个框架之前先得了解它怎么从html页传值到后边,html页如何从后边得到值。现在咱们就简单的了解一下JFinal框架的传值。基础知识:在尝试着做了这么几个页面之后,发现如下:1、controller中返回的JSon数据主要有两种方法:一个是我第一次接触即将要在下文中说的setAttr方法。另一个就是和先在controller把list转换成Json然后

2017-12-15 16:36:06 8005

原创 WEB应用安全之常见安全漏洞

信息安全三要素:保密性、完整性、可用性(1)保密性(Confidentiality)即保证信息为授权者享用而不泄漏给未经授权者。(2)完整性(Integrity)即保证信息从真实的发信者传送到真实的收信者手中,传送过程中没有被非法用户添加、删除、替换等。(3)可用性(Availability)即保证信息和信息系统随时为授权者提供服务,保证合法用户对信息和资源的使用不会被不合理的拒绝。(4)

2017-10-10 11:19:25 1663

原创 Android基础--adb使用

ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。在使用adb命令之前先安装adb工具,下载adb路径:https://developer.android.com/studio/releases/platform-tools.html常用命令卸载安装包:adb uni

2017-08-25 15:21:16 581

原创 Jsoup -- 网络爬虫解析器

需要下载jsoup-1.8.1.jar包jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。网页获取和解析速度飞快,推荐使用。主要功能如下:1. 从一个URL,文件或字符串中解析HTML;2. 使用DOM或CSS选择器来查找、取出数据;3

2017-07-17 21:16:59 325

原创 Jsoup基本使用

soup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。jsoup的主要功能如下:1. 从一个URL,文件或字符串中解析HTML;2. 使用DOM或CSS选择器来查找、取出数据;3. 可操作HTML元素、属性、文本;jsoup是基于MI

2017-07-15 20:06:46 502

转载 使用Jsoup 抓取页面的数据

需要使用的是jsoup-1.7.3.jar包   如果需要看文档我下载请借一步到官网:http://jsoup.org/  这里贴一下我用到的 Java工程的测试代码 package com.javen.Jsoup;import java.io.IOException;import org.jsoup.Jsoup;import org.jsoup.nodes.Docume

2017-07-15 19:44:51 221

转载 Wireshark安装使用及报文分析(图文详解)

wireshark抓包工具使用与分析

2017-07-13 20:20:20 1136

转载 fiddler使用总结

在实习的时候有用到fiddler这个工具。平时关于fiddler的使用,多用于把文件映射到本地进行修改或开发,抓包这两个功能,今天去学习了一下,发现fiddler的功能远比知道的强大,既然是工具,就得充分地把工具利用起来,提高工作效率。整理了一些总结的笔记监控http和https的流量,截获从浏览器或者客户端向服务器发送的http请求伪造请求发送给服务器测试网站的性能

2017-06-09 12:55:16 1877

原创 java堆内存和栈内存的区别

一段时间之前,我写了两篇文章文章分别是Java的垃圾回收和Java的值传递,从那之后我收到了很多要求解释Java堆内存和栈内存的邮件,并且要求解释他们的异同点。在Java中你会看到很多堆和栈内存的引用,JavaEE书和文章很难在程序的角度完全解释什么是堆什么是栈。Java堆内存堆内存在Java运行时被使用来为对象和JRE类分配内存。不论什么时候我们创建了对象,它将一直会在堆内存上创建。

2017-06-05 14:48:57 16025 2

原创 HTTP 400/401/403/404/500网页错误代码代表含义

HTTP 400 - 请求无效HTTP 401.1 - 未授权:登录失败HTTP 401.2 - 未授权:服务器配置问题导致登录失败HTTP 401.3 - ACL 禁止访问资源HTTP 401.4 - 未授权:授权被筛选器拒绝HTTP 401.5 - 未授权:ISAPI 或 CGI 授权失败HTTP 403 - 禁止访问HTTP 403 - 对 Internet

2017-05-18 17:27:56 2470

原创 git命令使用总结

1.创建项目,创建分支Git config -global user.name "Your name"git config -global user.email "[email protected]"建立一个存放工程的文件夹git init命令用于初始化当前所在目录的这个项目会创建一个隐藏文件  .git创建 main.c 文件

2017-05-17 20:56:28 245

原创 java中的类修饰符、成员变量修饰符、方法修饰符。

类修饰符:public(访问控制符),将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类。abstract,将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现。final,将一个类生命为最终(即非继承类),表示他不能被其他类继承。friendly,默认的修饰符,只有在相同包中的对象才能使用这样的类。  成员变量修饰符:public(公共访问控

2017-05-17 20:23:57 293

原创 数据库并发访问、事务与锁的关系

一、事务I : 事务的定义:首先,让我们了解下什么是事务?事务是作为单个逻辑单元工作执行的一系列操作。可以是一条 sql 语句,也可以是多条 sql 语句 ( 这是它的描述性定义 ) 。II 事务的特性:1 )原子性 (Atomic) :指整个数据库事务是不可分割的工作单位。2 )一致性 (Consistency) :指数据库事务不能破坏关系数据的完整性以及业务逻辑的一致性。

2017-05-16 20:46:06 277

空空如也

空空如也

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

TA关注的人

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