05 2016 档案
摘要:客户端给服务端发送数据,服务端收到数据后,给客户端反馈数据 客户端: 获取Socket对象,new出来,构造参数:String的ip地址,int的端口号 调用Socket对象的getOutputStream()方法,获取到OutputStream对象 调用OutputStream对象的write()
阅读全文
摘要:按照java面向对象的原则,每个基本类型都有对应的包装类 byte Byte short Short int Integer long Long boolean Boolean float Float double Double char Character 最常用的作用是,基本类型与String字
阅读全文
摘要:Session是一个域 作用范围:当前会话范围 生命周期:当程序第一次调用request.getSession()创建出客户端的session对象,30分钟没有操作认为超时,这个可以在web.xml中进行配置 调用session.nvalidate()方法销毁session 服务器非正常关闭时销毁s
阅读全文
摘要:java中是严格区分大小写的。 PHP中函数,类名称不区分大小写,变量和常量区分大小写
阅读全文
摘要:java为我们提供了一个集合的工具类,方便我们对集合进行操作,里面的方法都是静态方法。 Collections.sort()方法,参数:List<T>集合对象,这个对象带着泛型,是为了保证集合中的元素具备可比较性,因此这个返回值的泛型就会特殊点, <T extends Comparable <? s
阅读全文
摘要:当我们创建一个集合以后,可以直接使用system.out.println()来打印这个集合,但是,我们需要可以对每个元素进行操作,所以,这里需要使用迭代器来遍历集合 迭代器其实就是集合取出元素的方式 调用List对象的iterator()方法,得到Iterator对象,这个类是个接口类型,因此可以知
阅读全文
摘要:获取ServerSocket对象,new出来构造参数:int类型端口号 调用ServerSocket对象的accept()方法,得到Socket对象 获取PrintWriter对象,new出来,构造参数:OutputSream对象,true自动刷新 调用PrintWriter对象的println()
阅读全文
摘要:获取URL对象,new出来,构造参数:String的路径 调用URL对象的openConnection()方法,获取URLConnection对象 调用URLConnection对象的getInputStream()方法,获取输入流InputStream对象 读取输出流 PHP版: 调用函数fope
阅读全文
摘要:获取URL对象,new出来,构造参数:String的路径 调用URL对象的getProtocal()方法,获取协议 调用URL对象的getHost()方法,获取主机 调用URL对象的getPath()方法,获取路径 调用URL对象的getFile()方法,获取文件部分 调用URL对象的getQuer
阅读全文
摘要:获取File对象,new出来,构造参数:String目录名 调用File对象的list()方法,获取String[]数组文件名称 循环数组,列出所有文件包含隐藏文件 递归列出所有的数据 定义一个静态方法showDir(),传递进参数:FIle对象 调用File对象的listFiles()方法,得到F
阅读全文
摘要:异常:程序在运行时出现的不正常现象 Throwable |——Error |——Exception 严重级别:Error类和Exception类 异常的处理:try{}catch{}finally{} PHP中的异常捕获,必须手动抛异常,并且finally是在PHP5.5以上才有
阅读全文
摘要:上一篇:http://www.cnblogs.com/taoshihan/p/5346731.html HTTP请求 请求行 GET /taoshihan/p/5346731.html HTTP/1.1 请求方式——请求资源名称 ——所遵循的协议 (POST,GET,DELETE,PUT,HEAD,
阅读全文
摘要:四人帮设计了23中设计模式 单例设计模式:解决一个类在内存中只存在一个对象 构造函数私有化 在类中创建一个本类对象 提供一个方法可以获取该对象 PHP版:
阅读全文
摘要:位运算是直接对二进制进行计算 左移 << 右移 >> 先把整数换成四个8bit 0000-0000 0000-0000 0000-0000 0000-0000 这个二进制左右移动,移除来的那头用0补齐 规律: 6<<3意思就是 6乘以2的3次方 6>>3意思就是6除以2的3次方 & 与运算 | 或运
阅读全文
摘要:打印 ‘a’+1,输出98,解释:’a’是char类型占2个8bit,1是int类型占4个,’a’字符会被自动强制转换为int类型对应ascii码表97 打印’1’+1,输出 50,解释:’1’是char类型,会被自动类型提升为int类型,对应ascii表49 定义byte b=3 b=b+2 此时
阅读全文
摘要:变量:就是将不确定的数据进行存储。也就是需要在内存中开辟一个空间 这个空间需要一个名称,这个名称就是变量名 基本数据类型:byte,short,int,long,double,float,char,boolean 引用数据类型:类(Class),接口(interface),集合 传值就是把这个变量复
阅读全文
摘要:PHP开发组鸟哥惠新宸开发的php扩展框架 安装 windows下载扩展:https://pecl.php.net/package/yaf/2.2.9/windows 根据自己的电脑系统和php的版本号选择,NTS是线程不安全,TS是线程安全 根据phpinfo(),选择是否是线程安全 把php_y
阅读全文
摘要:链表:是一个有序的列表,但是它在内存中是分散存储的,使用链表可以解决类似约瑟夫问题,排序问题,搜索问题,广义表 单向链表,双向链表,环形链表 PHP的底层是C,当一个程序运行时,内存分成五个区(堆区,栈区,全局区,常量区,代码区) 规定:基本数据类型,一般放在栈区 复合数据类型,比如对象,放在堆区
阅读全文
摘要:前面我们把需要拦截的手机号都存储和展示出来了,接下来是使用广播接收者拦截短信了,这个广播接收者需要和一个服务绑定,服务开启的时候,接收者存在,服务停掉时,接收者关闭 在service包下定义一个类CallSmsSafeService继承系统的Service 重写onCreate()方法 获取Broa
阅读全文
摘要:前提数组必须是有序的 定义最小,最大,中间的角标索引 上面的索引需要变化,使用循环,条件:当中间值不等于目标值时 当中间值大于目标值时,最大角标移动到中间角标-1位置 当中间值小于目标值时,最小角标移动到中间角标+1位置 中间角标继续二分 此时的代码有问题,当找不到目标时,会陷入死循环,加一个判断
阅读全文
摘要:两层嵌套循环,外层控制循环次数,内层循环进行比较 此时的代码有问题,内层循环多比较了已经排好序的部分,都在最后面,需要去掉 此时的代码有问题,内层循环最后一个元素,无法和它后面的比较,应该去掉 判断完后,两个变量交换位置,利用第三方变量 java版: PHP版: 选择排序和冒泡排序性能都很低,提高性
阅读全文
摘要:两层嵌套循环,外层循环控制次数,内层循环进行比较 此时的代码有问题,内层的循环多比较了已经排好序的部分,都在最前面,需要去掉 此时的代码有问题,外层的循环最后一个的元素没有必要去比较,需要去掉 判断完后,两个变量交换位置,利用第三方变量 java版: PHP版:
阅读全文
摘要:数组的常见操作(获取最值) 1.获取最值需要进行比较,每一次比较都会有一个较大的值,因为该值不确定,通过一个变量进行存储 2.让数组中的每一个元素都和这个变量中的值进行比较,如果大于了变量中的值,就用该变量记录较大值 3.当所有的元素都比较完成,那么该变量中存储的就是数组中的最大值 初始化变量为第一
阅读全文
摘要:原文地址:http://www.cnblogs.com/dojo-lzz/p/4340897.html 解决回调函数嵌套太深,并行逻辑必须串行执行,一个Promise代表一个异步操作的最终结果,跟Promise交互的主要方式是通过他的then()方法来注册回调函数,去接收Promise的最终结果值
阅读全文
摘要:字符串是一个特殊的对象 字符串一旦初始化就不可以被改变 获取字符串的长度 调用String对象的length()方法,返回int长度 获取某个索引位置的字符 调用String对象的charAt()方法,得到char字符,参数:int类型的索引 根据字符获取在字符串中的索引位置 调用String对象的
阅读全文
摘要:修改界面,在顶部横条上增加一个添加按钮,点击打开一个自定义对话框,输入电话号码和拦截模式保存到数据库 自定义对话框看这篇http://www.cnblogs.com/taoshihan/p/5370378.html 添加记录 调用Builder对象的show()方法,获取AlertDialog对象
阅读全文
摘要:IO流用来处理设备之间的数据传输 java对数据的操作是通过流的方式 java用于操作流的对象都在IO包中 流按操作数据分为两种:字节流与字符流 流按流向分为:输入流,输出流 字符流 抽象基类:Reader Writer 文件操作,写 获取FileWriter对象,new出来,构造参数:String
阅读全文
摘要:使用函数array_keys(),得到数组中所有的键,参数:数组 使用函数array_values(),得到数组中所有的值,参数:数组 使用函数array_map(),使每个元素都调用一下自定义函数,参数:String类型函数名称,数组 使用函数array_merge(),把两个数组合并成一个,参数
阅读全文
摘要:date():格式化一个本地时间或者日期,当前时间 2016年5月13日 15:19:49 使用函数date(),输出当前是月份中的第几天,参数:String类型 d 例如:echo date("d"); 输出 13 使用函数date(),输出当前是星期中的第几天,参数:String类型 D或者 N
阅读全文
摘要:获取Image对象,new出来 定义Image对象的src属性,参数:图片路径 定义Image对象的onload方法,调用context对象的drawImage()方法,参数:Image对象,x坐标,y坐标 重载方法,调用context对象的drawImage()方法,参数:Image对象,x坐标,
阅读全文
摘要:TreeSet:可以对Set集合中的元素排序,默认按照ascii表排序,二叉树结构 左边叉是小的,右边叉是大的 存储自定义对象 定义一个类Student实现Comparable类,使自定义类具备比较性 定义属性年龄age 定义属性姓名name 实现compareTo()方法,传递进来另一个Stude
阅读全文
摘要:上一篇记录了使用ListView展示出来了100条数据,当慢慢拖动的时候,不会有问题,但是当拖动很快的时候,应用会报anr错误 查看错误日志,看到报OutOfMemoryError,内存不足 ListView在显示条目的时候,每显示出来一条都会调用一下getView()方法 这个方法里面将xml文件
阅读全文
摘要:进程:当我们运行程序时,Linux会为程序创建一个特殊的环境,包含程序运行的所有资源,这个环境就称为进程 前台进程:一般我们使用一些命令,都属于前台进程,直接输出结果到显示器 后台进程:在命令的末尾加上&可以创建最简单的后台进程 常驻进程:系统级进程,以root权限运行在后台,可以处理其他进程请求
阅读全文
摘要:Set:元素是无序,不可重复的 HaseSet:底层数据结构是哈希表 定义一个类Demo 获取Demo对象,system.out.println(demo),打印demo对象,Demo@xxxxxx Demo对象在内存中是按照哈希值存储在哈希表中,取出也是按照哈希值,所以是无序的 结果: Demo@
阅读全文
摘要:使用canvas来进行绘画,它像很多其他dom对象一样,有很多属性和方法,操作这些方法,实现绘画 获取canvas对象,调用document.getElementById()方法 调用canvas对象的getContext()方法,获取context对象,参数:String的”2d” 绘制线段 调用
阅读全文
摘要:先把要拦截的电话号码保存到数据库中,拦截模式用个字段区分,1 电话拦截,2 短信拦截,3全部拦截 新建Activity类CallSmsSafeActivity.java 新建布局文件activity_call_sms_safe.xml 列表展示所有的黑名单手机号码 在布局文件中添加<ListView
阅读全文
摘要:Linux中有三种用户 Root用户:超级管理员 系统用户:Linux运行某些程序所必需的用户,不建议修改 普通用户:一般修改这个 使用命令groupadd,添加用户组,参数:组名称 在文件/etc/group 里,添加了一条记录 使用命令groupdel,删除组,参数:组名称 使用命令groupm
阅读全文
摘要:linux有三种文件类型,普通文件,目录,设备文件 查看文件 使用命令ls获取ll,查看文件列表,参数:-l(列表形式),-a(展示隐藏文件) 使用元字符* ? ,查看匹配的文件列表,例如:ll a*(展示以a开头的文件) 使用cat命令,查看文件内容,参数:-b显示行号,文件名 使用wc命令,统计
阅读全文
摘要:登录linux系统,就是输入用户名,密码,回车就可以了 修改密码 使用命令passwd,输入新密码和确认密码,密码的规则要求较严,多试几次 使用命令whoami,查看当前用户信息 使用命令users或者who或者w,查看当前在线用户 使用命令logout,退出登录 关闭系统 使用命令halt,直接关
阅读全文
摘要:新建一个资源类Resource 定义成员变量String name 定义成员变量int age 新建一个输入类Input,实现Runnable接口 定义一个构造方法Input(),传入参数:Resource对象 实现run()方法 定义while(true)往Resuorce对象的属性赋值 新建一个
阅读全文
摘要:数据库备份,使用save命令,将会在redis的安装目录中生成dump.rdb 例如:在我的目录下 redis/src/dump.rdb 使用命令config get dir,获取当前redis的安装目录 例如: 127.0.0.1:6379> config get dir 1) "dir" 2)
阅读全文
摘要:ArrayList特点:底层使用数组数据结构,查询速度快(使用脚标查),插入删除慢(索引要改变) LinkedList特点:底层使用链表数据结构,查询慢(需要一个一个去问),插入删除快 Vector特点:底层是数组数据结构,线程同步,被ArrayList替代了 ArrayList LinkedLis
阅读全文
摘要:继续在之前监听来电的服务AddressService里,添加成员方法MyToast() 获取TextView对象,new出来,构造参数:上下文对象 调用TextView对象的setText()方法,设置文本 调用TextView对象的setTextSize()方法,设置大小,参数:int 调用Tex
阅读全文
摘要:使用广播接收者接收打电话的意图,显示号码归属地 新建一个类OutCallReceiver继承系统的BroadcastReceiver 重写onReceive()方法 调用getResultData()方法,获取到String电话号码,查询数据库获取到归属地 清单文件中定义<receiver>节点,和
阅读全文
摘要:继续N天前的项目 开启服务监听手机来电,查询数据库,显示归属地 详细内容可以参考这篇博文:http://www.cnblogs.com/taoshihan/p/5331232.html AddressService.java 设置中心,配置是否开启来电归属地显示 直接使用我们之前定义好的组合控件 获
阅读全文
摘要:客户端A与服务端建立通信,服务端获取到客户端A的Socket对象,通过这个通路进行通信 客户端: 获取Socket对象,new出来,创建客户端的Socket服务,构造参数:Sting主机,int 端口 调用Socket对象的getOutputStream()方法,获取输出流OutputStream对
阅读全文
摘要:UDP发送端 获取DatagramSocket对象,new出来 获取DatagramPacket对象,new出来,构造参数:byte[]数组,int长度,InetAddress对象,int端口 调用DatagramSocket对象的send()方法,发送出去,参数:DatagramPacket对象
阅读全文
摘要:UDP特点: 面向无连接,把数据打包发过去,收不收得到我不管 数据大小有限制,一次不能超过64k,可以分成多个包 这是个不可靠的协议 速度很快 视频直播,凌波客户端,feiQ都是UDP协议 TCP特点: 面向连接,对方必须在 三次握手完成连接,我:在吗;你:我在;我:我知道了 大数据量传输 速度稍慢
阅读全文
摘要:网络通信的步骤, 1.找到对方的ip 2.数据发送到对方指定的应用程序上,为了标识这些应用程序,用数字进行标识,这个数字就是端口 3.定义通信规则,这个规则就称为协议 国际组织定义了通用协议 TCP/IP 网络模型 OSI参考模型 网络分成7层,应用层 ==> 表示层 ==> 会话层 ==> 传输层
阅读全文
摘要:实现界面 涉及到四张表,type(商品类型表),type_spec(商品类型规格关联表),attribute(商品属性表),attribute_value(商品属性值表) 新建基控制器BaseController.class.php,向上抽取出来的公用方法 BaseController.class.
阅读全文
摘要:Collection接口的常用方法 add(),添加一个元素 addAll(),添加一组元素 clear(),清空 remove(),移除一个 removeAll(),移除一组 size(),元素个数 isEmpty(),判断是否为空 iterator(),迭代 集合中存储的对象,都是引用地址 打印
阅读全文
摘要:为什么出现集合类 为了方便对多个对象的操作,对对象进行存储,集合就是存储对象最常用的一种方式 数组和集合的不同 数组是固定长度的,集合是可变长度的 数组可以存储基本数据类型,集合只能存储对象 数组只能存储同一种对象,集合可以存储多种对象 常见体系 容器有很多种,有特性和共性,我们对共性进行不断的向上
阅读全文
摘要:重写View的onTouchEvent()方法,传递进来MotionEvent对象 调用MotionEvent对象的getAction()方法,获取当前动作 switch判断一下当前动作 事件为MotionEvent.ACTION_DOWN是手指第一次触摸屏幕 事件为MotionEvent.ACTI
阅读全文
摘要:准备两张图片,按钮背景,上面的小开关 创建一个类MyToggleBtn,继承View 实现三个构造方法,传递上下文, 实现构造方法,传递Context对象,在java代码中实例化时主要使用这个 实现构造方法,传递Context对象,AttributeSet对象,在布局文件中主要使用 View对象显示
阅读全文
摘要:实现无限循环 在getCount()方法中,返回一个很大的值,Integer.MAX_VALUE 在instantiateItem()方法中,获取当前View的索引时,进行取于操作,传递进来的int position是个非常大的数,对他进行求余数 在destroyItem()方法中,同样 在onPa
阅读全文
摘要:谷歌提供的v4包,ViewPager 在布局文件中,先添加<android.support.v4.view.ViewPager/>控件,这个只是轮播的区域 在布局文件中,布置标题描述部分 线性布局,竖向排列,背景色黑色半透明,这个布局和上面的ViewPager底部对齐layout_alignBott
阅读全文
摘要:获取房子,菜单图标ImageView对象,获取三个圆环RelativeLayout对象 给菜单图标(icon_menu)设置点击事件 定义一个成员变量isLevel3Show来存储第三级菜单是否显示 判断上面的变量,来显示隐藏第三级菜单,定义一个类实现动画效果 切换变量,isLevel3Show=!
阅读全文
摘要:优酷环形菜单 布局文件,使用<RelativeLayout/>控件作为第一级菜单,相对布局,位于父控件的底部,水平居中,因为图片不是特别的标准,因此宽度和高度都钉死,宽度是高度的两倍 二次菜单和三级菜单都一样的布局 小房子的图标<imageView/>控件,在父控件中居中 第二级搜索图标,位于父控件
阅读全文