搜索到与相关的文章
Python

python设计tcp数据包协议类的例子

一.问题描述在tcp编程中,最需要解决的就是粘包分包问题。所以,我们需要在每个数据包前面加上数据包的长度用以分割粘连的包。二.包结构的设计包的组成:包长度+数据域包长度:用4个字节存储数据域长度,数据域长度即为其所占字节数数据域:由若干个变量组成,如果是定长变量则不用加变量长度定长变量:我们人为规定,传输中的int为4字节定长变量变长变量:那就是字符串啦文字难理解,那我就画个图吧:上图的第一行是数据包的一个总体结构第二行是数据域内部的一个结构(数据域的变量

系统 2019-09-27 17:46:34 2173

Python

一篇文章弄懂Python中的可迭代对象、迭代器和生成器

我们都知道,序列可以迭代。但是,你知道为什么吗?本文来探讨一下迭代背后的原理。序列可以迭代的原因:iter函数。解释器需要迭代对象x时,会自动调用iter(x)。内置的iter函数有以下作用:(1)检查对象是否实现了iter方法,如果实现了就调用它,获取一个迭代器。(2)如果没有实现iter方法,但是实现了getitem方法,而且其参数是从零开始的索引,Python会创建一个迭代器,尝试按顺序(从索引0开始)获取元素。(3)如果前面两步都失败,Python

系统 2019-09-27 17:46:04 2173

Python

跟老齐学Python之玩转字符串(3)

字符串就是一个话题中心。给字符串编号在很多很多情况下,我们都要对字符串中的每个字符进行操作(具体看后面的内容),要准确进行操作,必须做的一个工作就是把字符进行编号。比如一个班里面有50名学生,如果这些学生都有学号,老师操作他们将简化很多。比如不用专门找每个人名字,直接通过学号知道谁有没有交作业。在python中按照这样的顺序对字符串进行编号:从左边第一个开始是0号,向下依次按照整数增加,为1、2...,直到最后一个,在这个过程中,所有字符,包括空格,都进行

系统 2019-09-27 17:38:21 2173

Python

理解Python垃圾回收机制

一.垃圾回收机制Python中的垃圾回收是以引用计数为主,分代收集为辅。引用计数的缺陷是循环引用的问题。在Python中,如果一个对象的引用数为0,Python虚拟机就会回收这个对象的内存。#encoding=utf-8__author__='kevinlu1010@qq.com'classClassA():def__init__(self):print'objectborn,id:%s'%str(hex(id(self)))def__del__(self

系统 2019-09-27 17:38:18 2173

编程技术

点画法和像素处理

本文说明如何通过实现BufferedImageOp接口来编写自定义Java2D图像处理类。它使用一个2D细胞自动机(CA),即循环空间,来构造图像处理应用程序。CA会“操作”图像(例如,一个PEG文件),使图像不断地按有趣的方式转换。我希望本文能开阔您的视野,使您能编写一个全新的图像处理应用程序类。2D细胞自动机2D细胞自动机由分布在2D网格(通常称为布局)中的细胞组成。每个细胞都有一个状态,可以是0到n之间的任意整数。清单1显示了如何用Java代码声明一

系统 2019-08-29 23:53:29 2173

编程技术

Flash 8 形状补间动画详解及实例

形状补间动画是Flash中非常重要的表现手法之一,运用它,你可以变幻出各种奇妙的不可思议的变形效果。本节从形状补间动画基本概念入手,带你认识形状补间动画在时间帧上的表现,了解补间动画的创建方法,学会应用“形状提示”让图形的形变自然流畅,最后,提供了二个实例练手,帮助你更深地理解形状补间动画。1.形状补间动画的概念[1b](1)形状补间动画的概念[/1b]在Flash的时间帧面板上,在一个时间点(关键帧)绘制一个形状,然后在另一个时间点(关键帧)更改该形状或

系统 2019-08-29 23:34:43 2173

编程技术

AOP 的利器:ASM 3.0 介绍(1)

什么是ASM?ASM是一个Java字节码操控框架。它能被用来动态生成类或者增强既有类的功能。ASM可以直接产生二进制class文件,也可以在类被加载入Java虚拟机之前动态改变类行为。Javaclass被存储在严格格式定义的.class文件里,这些类文件拥有足够的元数据来解析类中的所有元素:类名称、方法、属性以及Java字节码(指令)。ASM从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类。与BCEL和SERL不同,ASM提供

系统 2019-08-29 23:29:58 2173

编程技术

ResultSetMetaData 和 DatabaseMetaData

ResultSetMetaData:用来分析"结果集"信息DatabaseMetaData:用来分析是"数据库"信息//做一个简单的查询执行器packagecom.enhance.jdbc;importjava.awt.BorderLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.io.FileInputStream;importja

系统 2019-08-29 22:08:40 2173

编程技术

LINQ基础概述

介绍LINQ基础之前,首说一下LINQ的历史和LINQ是什么,然后说一下学习LINQ要了解的东西和LINQ基础语法LINQ的历史从语言方面的进化–委托–匿名方法–Lambda表达式–Linq查询表达式上边这四个我会在下边一一解说从时间方面的演进–2004年–2005年9月,C#2.0的PDC上发布–2005年11月,C#2.0预览版–2006年1月,VB8.0预览版–2007年11月,.net3.5发布LINQ是什么LINQ是语言级集成查询(Languag

系统 2019-08-29 22:05:47 2173

编程技术

使用设计模式改善程序结构(一)

使用设计模式改善程序结构(一)设计模式是对特定问题经过无数次经验总结后提出的能够解决它的优雅的方案。但是,如果想要真正使设计模式发挥最大作用,仅仅知道设计模式是什么,以及它是如何实现的是很不够的,因为那样就不能使你对于设计模式有真正的理解,也就不能够在自己的设计中正确、恰当的使用设计模式。本文试图从另一个角度(设计模式的意图、动机)来看待设计模式,通过这种新的思路,设计模式会变得非常贴近你的设计过程,并且能够指导、简化你的设计,最终将会导出一个优秀的解决方

系统 2019-08-29 22:02:36 2173