自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (4)
  • 问答 (2)
  • 收藏
  • 关注

原创 使用spring实现的一个电商系统

2020年04月17日13:16:04

2020-04-17 13:16:17 955

原创 分析Spring Security实现方式

Spring Security的两个核心功能是:验证和鉴权。1、用户登录检验用户名和密码即为验证。2、用户访问网址时,根据URI判断相应的角色才可以访问即为鉴权。验证过程:1、后端从前端的表单得到用户密码,包装成一个Authentication类的对象;2、将Authentication对象传给“验证管理器”ProviderManager进行验证;3、ProviderManag...

2020-04-07 15:12:00 662

原创 JAVA架构师技术知识图谱

1.1 架构师图谱1.2 Java架构师图谱

2020-03-23 12:03:28 1393

原创 tomcat和servlet/spring mvc的关系

客户端的请求到tomcat,根据url等信息,确定要将请求交给哪个servlet去处理,然后调用它的service方法,service方法返回一个response对象,tomcat再把这个response返回给客户端。Web 应用的初始化工作是在 org.apache.catalina.startup.ContextConfig 的 configureStart() 方法中实现的,应用的初始化...

2020-03-20 16:01:56 2834

原创 基于CNN神经网络的人脸识别

平台环境Python + TensorFlow准备自己的正面照片100张,使用dlib自带的frontal_face_detector作为我们的特征提取器,把100张照片中的人脸提取出来。input_dir = './origin' #100张原始照片output_dir = './out' #提取人脸的照片size = 64 # 提取照片大小#使用dlib自带的fron...

2020-03-20 12:36:05 2676

原创 在浏览器中输入一个域名之后都发生了什么

先说说TCP/IP五层模型物理层->链路层->网络层->传输层->应用层1、当在浏览器中输入一个域名之后,先通过DNS获得IP地址(DNS解析也属于一种网络连接,也需要完成一些列的网络交互)2、浏览器属于应用层,它构建HTTP应用层协议,比如我们写的接口用户登录发送username,password等都是按照HTTP协议进行封装(可参考HTTP协议),并且监听一...

2020-03-19 11:32:13 3026

转载 数据库锁

锁在数据库中其功能之一也是用来实现事务隔离性。而事务的隔离性其实是用来解决,脏读,不可重复读,幻读几类问题。1、脏读在事务A,B中,事务A在时间点2,4分别对user表中id=1的数据进行了查询了,但是事务B在时间点3进行了修改,导致了事务A在4中的查询出的结果其实是事务B修改后的。破坏了数据库中的隔离性。2、不可重复读在同一个事务中,多次读取同一数据返回的结果不同,和脏读不同...

2020-03-18 17:22:23 292

原创 算法排序

1、冒泡排序int a = [5,2,9,3,1,7,6,8];// 一共循环多少轮for(int i = 0; i < a.length - 1; i++){ // 每一轮中做替换 for (int j = 0; j < a.length - 1 - i; j++) { int next = j+1; if (a[j] &...

2020-03-18 16:00:27 114

原创 java代码是怎么运行在JVM中运行的

1、javac编译器把java源代码翻译成字节码文件,称为前端编译器2、JIT编译器将字节码转换成本地机器代码后运行,另一种是java解释器直接解释执行字节码。3、字节码被JVM加载到虚拟机内存结构中(也叫运行时数据区),包括堆、方法区、常量区。PC寄存器、虚拟机栈、本地方法栈。其中字节码被分配到方法区中。4、类加载到虚拟机内从中,经过加载、验证、准备、解析、初始化、使用、卸载七个阶段...

2020-03-18 15:46:57 1526

转载 Linux 下挂载新硬盘方法

Linux的硬盘识别:一般使用”fdisk -l”命令可以列出系统中当前连接的硬盘设备和分区信息.新硬盘没有分区信息,则只显示硬盘大小信息.1.关闭服务器加上新硬盘2.启动服务器,以root用户登录3.查看硬盘信息#fdisk -l[cpp] view plain copy

2017-08-11 18:01:14 300

原创 linux安装redis、php的redis扩展

1、下载rediswget  http://download.redis.io/redis-stable.tar.gz  2、编译安装tar xvzf redis-stable.tar.gz   cd redis-stable  makemake install  3、配置make命令执行完成后,会在src目录下生成5个可执行文件,分别是redis-

2017-07-07 13:49:55 398

转载 应对节日高峰-Web架构实践

今天要分享的主题是关于QQ会员活动运营平台的架构实践。首先做一个简单的自我介绍,我叫徐汉彬,现在在腾讯的SNG增值产品部工作,主要负责QQ会员生活特权以及今天分享的AMS系统的研发建设。今天我要分享的内容主要分为三部分:QQ增值业务在海量请求下的技术挑战以及背景;Web系统高并发场景的综合优化策略;平台高可用的建设实践。活动有很多特性,今天的主题主要关注

2017-07-06 11:37:54 673

转载 【转】Web系统大规模并发——电商秒杀与抢购

电商的秒杀和抢购,对我们来说,都不是一个陌生的东西。然而,从技术的角度来说,这对于Web系统是一个巨大的考验。当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要。这次我们会关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因? 一、大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,

2017-07-06 11:36:43 537

转载 Apache的静态编译与动态编译详解

静态:在使用./configure 编译的时候,如果不指定某个模块为动态,即没有使用:enable-mods-shared=module或者enable-module=shared 这个2个中的一个,那么所有的默认模块为静态。 那么何谓静态?  其实就是编译的时候所有的模块自己编译进 httpd 这个文件中(我们启动可以使用这个执行文件,如: ./httpd & ) ,启动的时候这些模块就已经

2017-03-08 11:21:04 520

转载 PHP的反射类ReflectionClass、ReflectionMethod使用实例

PHP5 具有完整的反射API,添加对类、接口、函数、方法和扩展进行反向工程的能力。反射是什么?它是指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类、方法、属性、参数等的详细信息,包括注释。这种动态获取的信息以及动态调用对象的方法的功能称为反射API。反射是操纵面向对象范型中元模型的API,其功能十分强大,可帮助我们构建复杂,可扩展的应用。其用途如:自动加载插件

2017-03-08 11:02:03 4231

原创 PHP安装扩展

1、找到原来的源码包解压一下如:php-5.2.13进入到到FTP的扩展目录/root/lnmp/php-5.3.0/ext/ftp2、调用phpize程序生成编译配置文件root@dns ftp]# /usr/local/php5/bin/phpize Configuring for: PHP Api Version: 20041225 Zend Module Api

2017-01-06 17:31:33 372

转载 Linux下apache+php搭建配置

 第1章  环境说明1.1 系统说明CentOS 6.4 1.2 软件说明httpd-2.4.10.tar.gzapr-util-1.5.3.tar.gzapr-1.5.1.tar.gzpcre-8.34.tar.gzphp-5.6.0.tar.bz2libmcrypt-2.5.3.tar.gzmysql-5.1.51.tar.gz 第2章 ...

2016-12-30 13:46:24 3277

转载 svn安装与搭建

以下是安装步骤: 1. 采用源文件编译安装。源文件共两个,为:     subversion-1.6.1.tar.gz  (subversion 源文件)      subversion-deps-1.6.1.tar.gz  (subversion依赖文件)      注意文件版本必须一致,否则很容易产生各种奇怪的问题.2. 上传以上两个文件到服务器上,解压。解

2016-12-22 11:54:36 586

转载 浅谈前端移动端页面开发(布局篇)

前言的一些碎碎念:最近一直在写移动端的页面,不过一直是用的别人造好的轮子,很多时候并没有想那是为什么,那是怎么样要那么写,就跟着别人的文档去了。本以为自己对移动端的那一丢丢理解,结果很多东西都特么有问题,所以,今天停下了手中的一些东西,来谈下移动端的布局方案吧内容有些长,这也是我第一次写博客,不足之处还请严厉指出一. viewport什么是viewport简

2016-12-09 14:17:28 16969 1

转载 C++创建对象的三种方式

#include using namespace std; class A { private: int n; public: A(int m):n(m) { } ~A(){} }; int main() { A a(1); //栈中分配 A b = A(1); //栈中分配

2016-10-21 10:22:44 841

转载 linux常用命令

系统信息arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpu

2016-06-21 21:30:43 310

转载 Nginx+FastCGI运行原理

Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用。FastCGI接口在Linux下是socket(这个socket可以是文件socket,也可以是ip socket)。为了调用CGI程序,还需要一个FastCGI的wrapper(wrapper可以理解为用于启动另一个程序的程序),这个wrapper绑定在某个固定socket上,如端口或者文

2016-04-11 21:22:22 2411

转载 系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式

PS:下面是性能测试的主要概念和计算公式,记录下:一.系统吞度量要素:  一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间        QPS(TPS):每秒钟reque

2016-04-11 20:47:27 1737

转载 PHP autoload机制详解

(1) autoload机制概述在使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进行复用,同时将来维护时也很便利。这 也是OO设计的基本思想之一。在PHP5之前,如果需要使用一个类,只需要直接使用include/require将其包含进来即可。下面是一个实际的例 子:/* Person.class.php */<?php

2015-08-26 09:53:16 581

转载 Mysql 存储引擎中InnoDB与Myisam的主要区别

1, 事务处理innodb 支持事务功能,myisam 不支持。Myisam 的执行速度更快,性能更好。2,select ,update ,insert ,delete 操作MyISAM:如果执行大量的SELECT,MyISAM是更好的选择InnoDB:如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB

2015-07-24 09:55:15 376

转载 用 PHP 编写支持高并发的网站

一般来说,解决WEB高并发的有效手段都是采用可线性扩展的多层分布式架构,我生产项目的架构是这样的,就在这里抛砖引玉一下。Webserver (Nginx) :这一层是可以轻松分布式部署的,结合智能DNS解析可以简易地防止单点故障、实现区域访问加速,结合LVS很容易实现负载均衡。这一层主要是负责处理静态请求和转发PHP请求至第二层的PHP处理节点,至于静态资源地址(misc.xxxx.c

2015-06-28 20:28:35 491

转载 PHP5.3, PHP5.4, PHP5.5新特性

PHP 5.3中的新特性一.PHP 5.3中的新特性1. 支持命名空间 (Namespace)2. 支持延迟静态绑定(Late Static Binding)3. 支持goto语句4. 支持闭包、Lambda/Anonymous函数5. 新增两个魔术方法__callStatic()和__invoke()6. 新增Nowdoc语法7. 在类外也可使用const来定

2015-06-23 14:35:46 406

转载 数据结构与算法-求子数组的最大和

题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。分析:本题最初为2005年浙江大学计算机系的考研题的最后一道程序设计题,在2

2015-06-10 12:16:46 447

转载 数据结构与算法-设计包含min函数的栈

题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。分析:无论使用链表还是数组实现的栈,push和pop操作的时间复杂度都是O(1)。所以,难点在于实现min使其时间复杂度也是O(1)。高级数据结 构的斐波那契堆就是通过一个指向最小元素的指针来实现min函数的,并保证了其时间复杂度为O(1)。因此,该堆栈需要新增一个

2015-06-10 12:02:13 503

原创 mfc笔记

##############基础类型################bit/位 1位的取值范围 0~1byte/字节 1字节的取值范围0~11111111(2进制)~255(10进制)~FF(16进制)word/单字(2字节) 1个单字范围 0~1111111111111111(2进制)~65535(10进制)~FFFF(16进制)dword/双字(4字节) 1个双字范围

2015-05-27 23:12:40 1410

原创 OD常用快捷键

Ctrl+G 输入十六位地址,定位到此地址Alt+b 查看所有断点技巧回到正在的指令光标:点击EIP常用跳转指令cmp ax,bx 让ax-bx (ax>bx,cf=0 | axJE 如果ax-bx = 0(zf=0)就跳转运行选定的程序进行调试 (F9)重新运行当前调试的程序 (Ctrl+F2)单步进入被调试程序的 Call 中 (F7) (Ctrl+F

2015-05-27 23:11:06 3333

转载 http协议

HTTP请求http请求由三部分组成,分别是:请求行、消息报头、请求正文l  请求行      请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本    格式如下:MethodRequest-URI HTTP-Version CRLF      其中 Method表示请求方法    Request-URI是一个统一资源标识符    HTTP-Vers

2015-05-27 23:08:59 470

原创 linux常用命令

starts 进入图形界面shutdown -h now 立即进行关机shutdown -r now 重启reboot 重启logout 注销用户clear  清屏tab键  命令自动完成ctrl + alt + F1、ctrl + alt + F2 虚拟控制台ctrl + alt + F7 图形界面网络配置ifconfig 查看IP

2015-05-27 23:06:11 399

原创 用MFC开发1连连看辅助器

首先介绍下要用到的几个API函数1、通过标题获取窗口句柄 HWND hGame=FindWindow(NULL,_T("QQ游戏 - 连连看角色版"));2、 获得游戏窗口的位置信息RECT gameRectGetWindowRect(hGame,&gameRect);3、改变鼠标位置坐标SetCursorPos(x,y);4、得到鼠标的位置坐标PO

2015-04-16 11:58:22 1473

原创 Spring MVC+Spring+hibernate框架配置整合

新建cp网站项目1、把包导入到cp\WebContent\WEB-INF\lib2、在eclipse中,把需要的jar包粘贴到WEB-INF/lib下,会自动导入Libraries/web app libraries3、修改web.xml,内容如下:<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"

2015-04-03 18:03:41 693

转载 php内核分析---内存管理(一)

内存是计算机非常关键的部件之一,是暂时存储程序以及数据的空间,CPU只有有限的寄存器可以用于 存储计算数据,而大部分的数据都是存储在内存中的,程序运行都是在内存中进行的。和CPU计算能力一样, 内存也是决定计算效率的一个关键部分。计算中的资源中主要包含:CPU计算能力,内存资源以及I/O。现代计算机为了充分利用资源, 而出现了多任务操作系统,通过进程调度来共享CPU计算资源,通过虚拟存储来

2015-03-23 13:33:42 614

转载 java设计模式(六)

策略模式(strategy)策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口,设计一个抽象类(可有可无,属于辅助类),提供辅助函数,关系图如下:图中ICalculator提供同意的方法,AbstractCalculator是辅助类,提供辅助方法,接下

2015-03-22 12:59:54 358

转载 java设计模式(五)

桥接模式(Bridge)桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化。桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化,像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换,基本不需要动太多的代码,甚至丝毫不用动,原因就是JDBC提供统一接口,每个数据库提供各自的实现,用一个叫做数据库驱动的程序来桥接就行了。

2015-03-18 12:50:49 359

转载 java设计模式(四)

装饰模式(Decorator)顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例Source类是被装饰类,Decorator类是一个装饰类,可以为Source类动态的添加一些功能,代码如下:public interface Sourceable { public void method

2015-03-17 15:43:48 400

转载 PHP内核分析(五)--(哈希表(HashTable))

PHP中使用最为频繁的数据类型非字符串和数组莫属,PHP比较容易上手也得益于非常灵活的数组类型。 在开始详细介绍这些数据类型之前有必要介绍一下哈希表(HashTable)。 哈希表是PHP实现中尤为关键的数据结构。哈希表在实践中使用的非常广泛,例如编译器通常会维护的一个符号表来保存标记,很多高级语言中也显式的支持哈希表。 哈希表通常提供查找(Search),插入(Insert),删除(De

2015-03-17 14:17:07 555

subversion-deps-1.6.1.tar.gz

2017-01-09

subversion-1.6.1.tar.gz

2017-01-09

HTML5毛玻璃

HTML5做的一个毛玻璃demo,由于用到了getImageData等函数,需要在服务器环境下使用

2015-04-20

MFC桌面下雪程序

使用MFC开发的一个非常简单的桌面下雪程序,分辨率现在适合1376*768

2015-02-28

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

TA关注的人

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