自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

佳颖的专栏

帮助他人,实现自我价值

  • 博客(489)
  • 资源 (3)
  • 收藏
  • 关注

原创 C++内存泄露测试

最近在分析bug的时候发现有个内存泄露的问题,正好借此机会分享下内存泄露的知识。相信学习过C或C++的同学都对指针变量不陌生,书上往往会强调指针变量使用需要非常小心,很容易发生内存泄露。说简单点就是分配了动态内存后不释放,程序继续运行,直到某一时刻,操作系统分配给该进程的内存耗尽,程序挂掉。学习工科重要的是实践,那么我们写一段代码来进行测试。 如下面这段代码,我们声明一个C++类,里面定义三个私有数组,数组元素1万个,分别是double,float和int型,在64位的...

2021-08-19 20:17:33 224

原创 程序员经典书籍推荐

一、语言编程类1、the c programming language第二版,(C语言的作者写的书)2、c++ primer3、深入理解计算机系统(基础)4、unix环境高级编程(系统级软件学习参考)5、linux编程接口(linux系统级软件学习参考)二、软件架构相关1、程序员必读之软件架构2、软件系统架构:使用视点和视角与利益相关者合作三、思考类1、批判性学习2、学会提问...

2021-07-27 20:29:31 222

原创 【激励自己】牛人职场分享汇总

1、在华为工作是怎样一番体验?https://www.zhihu.com/question/21630492/answer/3682140772万赞回答,华为19年员工,如今的部门主管,最令我印象深刻的一段话:2、字节张一鸣--不对工作设定边界3、雷军--《西点BBS:程序人生路》,《顺势而为雷军传》4、为什么你有10年经验,却成不了专家?----不要用战术上的勤奋掩盖你战术上的懒惰,跨出舒适圈,才能成长提升...

2021-07-24 15:31:11 221

原创 带着疑问学习C++ Primer第三版PDF

http://blog.csdn.net/laoze4987/article/details/66126479http://blog.csdn.net/duzai7927/article/details/66126493http://blog.csdn.net/laoze4987/article/details/66126512http://blog.csdn.net/duzai792

2021-07-17 16:15:22 247

原创 通信IT行业,工作四年,我获得了什么

年近30,回望这些走过的不少弯路,总结下,希望能帮到同学们。 读书晚,再加上读研究生混日子,没做出什么有成绩的工作,自己也没有明确的目标,到30岁才工作四年,还是半屌丝状态。看了下同事,到30岁基本都有7到9年的工作经验,让我还是非常有压力的,轻易不敢透露自己的年龄,大多数人还以为我才27岁左右。 刚毕业那会,大家找工作都是冲着互联网的开发岗位,工资高...

2019-08-23 20:54:10 909 1

原创 蚂蚁金服高级测试开发工程师面经【2018与2021两次面试】

通过前同事内推简历,等了半个月左右,期间一直在刷leetcode,把一些常见的题刷了一遍。第一面2018.8.17,很突然,在公司加班,8点半左右,接到从杭州打过来的电话,隐约感觉是阿里的,一听果然是,说是否方便现在面试,随即开始。还好有所准备。。。一、自我介绍 先讲目前在做的工作,由于项目很大,个人做的工作比较乱,那就从每天的任务,在项目中的角色出发,尽量说细点...

2018-08-26 16:16:28 4438

原创 java中调用adb shell 命令启动android应用程序

实现方法:一、把下面的adb shell命令做成bat文件,然后在java程序中调用即可,  例子中为启动美团appadb shell am start -n com.sankuai.meituan/com.sankuai.meituan.activity.Welcomeexit二、代码示例(下面代码在手机上测试通过)/**   启动应用程序*/

2017-04-04 21:22:54 7864 1

转载 python 读取中文文件名/中文路径

python直接读取中文路径的文件时失败,可做如下处理: inpath = 'D:/work/yuanxx/在线导航/驾车导航/walk_log/20130619_172355.txt' uipath = unicode(ipath , "utf8")然后用"uipath"经过编码后的路径去open()即可: fin = open(uipath)

2015-08-26 22:32:07 11000

原创 python2.7下的windows安装virtualenv和flask

我这台电脑从装Linux时就各种不顺利,搞了非常久,从来都没有顺利过,非常打击了我学习的动力!首先是安装python,这个就不说了其次是安装easy_install,这个真是出了问题,正常的步骤都是 直接安装ez_setup.py,但这是64位的,对于32位的则有一个exe文件,直接下载安装即可然后是安装虚拟环境 virtualenv最后是安装fla

2015-08-01 16:34:56 1229

原创 学习python基础语法中遇到的一些问题

1、输出中文的加上以下这些编码:#! /usr/bin/python# -*- coding: utf8 -*- 2、格式化输出多个变量时,注意在所有这些变量外面加个总的括号print("Mixing %d %s for the %s omelet " %                  ( self.from_fridge[ingredient], ingred

2015-07-23 21:52:13 517

原创 tomcat中解析url中的参数或者post中的请求内容

package javax.servlet.http;import javax.servlet.ServletInputStream;import java.util.Hashtable;import java.util.ResourceBundle;import java.util.StringTokenizer;import java.io.IOException;/** *

2015-01-15 11:32:45 4075 2

原创 MINA源码分析---学习mina中整数和网络字节的转换处理

主要学习网络字节和计算机上表示的整数之间相互转换以及和小端字节序的转换package org.apache.mina.proxy.utils;import java.io.UnsupportedEncodingException;/** * ByteUtilities.java - Byte manipulation functions. * @since MINA 2.0.0

2014-12-15 20:28:28 1353

原创 MINA源码分析---可移植的操作系统分界符(换行符)

package org.apache.mina.filter.codec.textline;import java.io.ByteArrayOutputStream;import java.io.PrintWriter;/** * A delimiter分界符 which is appended to the end of a text line, such as * CR/LF.

2014-12-10 15:58:25 1232

原创 MINA源码分析---协议编码解码器工厂ProtocolCodecFactory接口

1、具体的解码器,编码器需要自己根据协议实现2、实现协议编码解码器工厂ProtocolCodecFactory接口,在里面主要的工作就是创建解码器,编码器实例,并且返回实例下面贴出三个接口的源码,读者只需要实现这三个接口即可package org.apache.mina.filter.codec;import org.apache.mina.core.session.IoSess

2014-12-07 16:52:50 4177

原创 MINA源码分析---协议编码解码过滤器ProtocolCodecFilter

协议数据 1、对输出的数据进行编码,把消息对象转换成二进制字节流 2、对收到的数据进行解码   过滤器ProtocolCodecFilter,对应的两个最重要的方法分别是1、先对数据进行编码,再发送 filterWrite(NextFilter nextFilter, IoSession session,            WriteRequest writeRequest

2014-12-07 16:40:31 6965

原创 MINA源码分析---协议编码输出接口ProtocolEncoderOutput及其实现

下面是协议编码输出接口ProtocolEncoderOutput,所有编码后的数据需要通过接口ProtocolEncoderOutput来写到会话中package org.apache.mina.filter.codec;import org.apache.mina.core.buffer.IoBuffer;import org.apache.mina.core.file.FileR

2014-12-07 16:06:39 2315

原创 MINA源码分析---协议解码输出接口ProtocolDecoderOutput及其实现

接口 ProtocolDecoderOutput/* */package org.apache.mina.filter.codec;import org.apache.mina.core.filterchain.IoFilter.NextFilter;import org.apache.mina.core.session.IoSession;/** * Callback for

2014-12-07 15:54:30 3070 2

原创 MINA源码分析---CumulativeProtocolDecoder协议解码器

一般用户写解码器直接继承 CumulativeProtocolDecoder 类就行啦,实现里面的doDecode方法更详细的解释在源码中在/* */package org.apache.mina.filter.codec;import org.apache.mina.core.buffer.IoBuffer;import org.apache.mina.core.s

2014-12-06 20:41:14 7072 3

原创 MINA源码分析---协议编码器 ProtocolEncoder

里面主要涉及  ProtocolEncoder接口,ProtocolEncoderOutput接口,AbstractProtocolEncoderOutput抽象类下面的源码应该是比较容易理解的package org.apache.mina.filter.codec;import org.apache.mina.core.buffer.IoBuffer;import org.apac

2014-12-06 12:54:01 2157

原创 MINA源码分析---ExecutorFilter线程池过滤器

源码中都加注释啦/* */package org.apache.mina.filter.executor;import java.util.EnumSet;import java.util.concurrent.Executor;import java.util.concurrent.ExecutorService;import java.util.concurrent.Exec

2014-12-05 20:12:39 2951

原创 mina源码分析---IoEvent和IoFilterEvent类及其联系和区别

IoEvent是MINA提供的IO事件或IO请求的类package org.apache.mina.core.session;import org.apache.mina.core.write.WriteRequest;/** * An I/O event or an I/O request that MINA provides. * Most users won't need

2014-12-05 20:06:04 1642

原创 MINA源码分析---处理时间分析过滤器

源码上非常清楚,不懂英语的好好学习package org.apache.mina.filter.statistic;import java.util.HashSet;import java.util.Set;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicLong;

2014-12-04 11:06:34 726

原创 MINA源码分析---心跳包过滤器KeepAliveFilter

1、源码中都加了注释了,用户所要做的就是定义自己的心跳包信息,以及判断拉收的信息是否是心跳包,封装心跳包信息2、实现KeepAliveMessageFactory接口,必要时可以继承KeepAliveFilter类,扩展功能都是可以的,也可以定义自己的心跳过滤器3、接口KeepAliveRequestTimeoutHandler中定义了几个处理获取心跳响应超时的处理,当然也可自己写处理函数

2014-12-04 10:44:37 5150

原创 MINA源码分析---对客户端设置连接间隔时间的过滤器

如果这个IP此次发起连接距离上次发起连接的时间少于规定的时间,则关闭会话,否则建立会话,可以避免同一个远程主机在短时间内发起多个连接下面是源代码,比较简单明了,不作解释了厅/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreem

2014-12-03 22:31:12 1481

原创 MINA源码分析----日志过滤器 LoggingFilter

该类继承自IoFilterAdapter,主要完成两件事1、记录事件2、再把会话事件传递到下一个过滤器中处理,最后交给IoHandler处理/* */package org.apache.mina.filter.logging;import org.apache.mina.core.filterchain.IoFilter;import org.apache.mina.c

2014-12-03 17:24:20 2402

原创 MINA源码分析----怎么设置IP限制的(防火墙)

主要涉及到以下两个类  一个是IP子网类  (IPV4)package org.apache.mina.filter.firewall;import java.net.Inet4Address;import java.net.InetAddress;/** * A IP subnet using the CIDR notation符号. 无类域内路由选择(Cla

2014-12-03 17:19:20 1511

原创 MINA源码学习---mina怎么把字符转换为16进制的

源代码如下,介个就不解释啦package org.apache.mina.core.buffer;/** * Provides utility methods to dump an {@link IoBuffer} into a hex formatted string. * * @author Apache MINA Project */class IoBufferHe

2014-12-03 17:14:21 2262

原创 epoll

epoll是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Ready队列的描述符集合就行了。epoll除了提供select/poll那种IO事件的电平

2014-12-01 21:04:13 545

原创 MINA框架 中JAVA NIO处理主要逻辑的processor线程

/** * The main loop. This is the place in charge to poll负责轮询 the Selector, and to * process the active sessions. It's done in * - handle the newly created sessions * - */

2014-12-01 20:09:32 1428

转载 mina作为客户端断线重连

http://chwshuang.iteye.com/blog/2028951定义:这里讨论的Mina 断线重连是指使用mina作为客户端软件,连接其他提供Socket通讯服务的服务器端。Socket服务器可以是Mina提供的服务器,也可以是C++提供的服务器。       一、断线重连的方式;    1. 在创建Mina客户端时增加一个

2014-12-01 16:26:16 4002 1

转载 JAVA NIO写服务端判断客户端断开连接的方法

不过这个方法有个问题,就是   1、能侦测到客户端主动断开与服务端的连接,但是如果客户端掉线,服务端就接收不到了。。2、如果处于等待状态,就会出问题。比如说客户端的数据还没有准备好发送,这样你就已经关闭了链接。最近学习NIO,一直有个疑问,怎么知道客户端断开了连接.在上网找和试验之后发现下面的方法可以实现这个目的.我们一般会在服务端有个大的W

2014-12-01 15:59:15 12954 3

转载 java nio socketChannel read返回值代表的意思

当socketChannel为阻塞方式时(默认就是阻塞方式)read函数,不会返回0,阻塞方式的socketChannel,若没有数据可读,或者缓冲区满了,就会阻塞,直到满足读的条件,所以一般阻塞方式的read是比较简单的,不过阻塞方式的socketChannel的问题也是显而易见的。这里我结合基于NIO 写ftp服务器调试过程中碰到的问题,总结一下非阻塞场景下的read碰到的问题。注意:这里的场

2014-12-01 15:48:58 11045 4

转载 Java的NIO以及线程并发

http://developer.51cto.com/art/201112/306536.htm一、NIO的出现NIO是JDK1.4里面才出现的东东,他给大家带来的最大好处是异步socket。其它file,pipe暂时就不多谈了。在JDK1.4出现之前,如果你需要编写一个Java服务器,为了实现异步操作,你必须为每个连接请求生成一个Java线程,当连接请求很多时,线程的调度,上

2014-11-29 09:38:10 3331

转载 win下如何查看那个网络端口被那个应用程序使用

在windows查看自己的网络资源,被那个应用程序使用。查杀木马的第一步。工具/原料cmd命令行方法/步骤1在运行里面键入cmd打开命令行窗口。2在命令行窗口键入命令:netstat -ano第一和第二列是自己网络的端口和外网连接的端口,p

2014-11-25 12:33:18 1099

转载 Java的NIO之详解通道Channel和字节缓冲区ByteBuffer

http://kakajw.iteye.com/blog/1788867一. 什么是通道I/O通道(Channel):一种专门负责执行IO任务的处理机/处理器,具有执行I/O指令的能力,并通过执行通道程序来完成I/O操作,它的作用是建立独立的IO操作,将CPU从繁多的低速IO操作中解脱。 详细解释:1. 当CPU和I/O设备之间增加设备控制器

2014-11-23 11:33:32 2524

转载 详细分析java中断机制

1. 引言当我们点击某个杀毒软件的取消按钮来停止查杀病毒时,当我们在控制台敲入quit命令以结束某个后台服务时……都需要通过一个线程去取消另一个线程正在执行的任务。Java没有提供一种安全直接的方法来停止某个线程,但是Java提供了中断机制。如果对Java中断没有一个全面的了解,可能会误以为被中断的线程将立马退出运行,但事实并非如此。中断机制是如何工作的?捕获或检测到中断后,是抛出

2014-11-21 15:44:23 441

转载 一步步掌握线程机制

一步一步掌握线程机制(四)---同步方法和同步块

2014-11-18 14:40:01 342

转载 自旋锁

http://baike.baidu.com/view/1250961.htm?fr=aladdin自某日看了iceboy和MJ0011关于多处理器同步的一些讨论,才发现原来我对自旋锁的理解也有一定错误,还好现在明白了~~为了加深理解,就深入分析了一下自旋锁的实现,一篇小小的自旋锁分析文章,献给大家。写得比较碎,欢迎各位大牛小牛指出错误~一、自旋锁是什么?先进行下简单科普,

2014-11-18 12:36:53 508

转载 NIO中几个非常重要的技术点

http://blog.csdn.net/axman/article/details/7003557这些都是在实践中踩过雷的,今天某应用再次踩雷,把遇到的几个雷都收集一下,给后来者参考。1.即使是accept事件,没有真正的read和write,Channel也要关闭,否则unix domain socket会被泄漏(WINDOWS更可怕),因为NIO的每个

2014-11-18 10:45:17 481

转载 Apache 体系结构

Apache采用模块化的体系结构,它的大部分功能都被分割成相互独立的模块,这样的结构可以通过增加和删除模块就可以扩展和修改Apache提供的功能,另一方面,对于Apache 功能的理解也变得非常容易。1. Apache的目录结构 (httpd2.0为例)httpd源代码文件有2000个,包括180多个目录httpd2.0----server :此目录是整个Apach

2014-11-05 21:52:46 681

工厂设计模式资料

详细但要工厂设计模式,并与仓储模式对比,分析其适用场合,非常适合学习,对初学者帮助很大

2015-09-20

工厂设计模式总结

详细但要工厂设计模式,并与仓储模式对比,分析其适用场合,非常适合学习,对初学者帮助很大

2015-09-20

89c51电子表程序(C语言编写)

专门针对初学嵌入式单片机的学生,对C语言编写程序是有很大提高的,所用芯片是STC89C 52

2010-11-01

空空如也

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

TA关注的人

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