- 博客(105)
- 收藏
- 关注
转载 白帽子讲web安全——白帽子兵法(设计安全方案中的技巧)
1.Secure By Default原则白名单:筛选出被允许的,屏蔽其他。黑名单:屏蔽可能造成的威胁。2.XSS和SSHXSS攻击:跨站脚本(cross site script)攻击是指恶意的攻击者在web中注入恶意的HTML代码.SSH:安全外壳协议(secure shell)SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和...
2015-11-01 17:11:00
239
转载 白帽子讲web安全——一个安全解决方案的诞生细节
1.白帽子:做安全的人。主要做的事,防御,是制定一套解决攻击的方案。而不是只是解决某个漏洞。2.黑帽子:现在说的黑客。让web变的不安全的人。利用漏洞获取特权。主要做的事,攻击,组合各种方法利用漏洞。3.白帽子和黑帽子之间的关系:白帽子似乎很被动。但是如果白帽子不做安全机制,就会更加被动。4.安全解决方案的设计:安全问题没有银弹,不能刻舟求剑。考虑安全问题的时候要有侧重点,不...
2015-10-30 18:46:00
241
转载 一个Android开发妹子的找工作心酸史
阿里:实习二面被KO1,人生接到的第一个电话面试来自大家都说好的阿里,心情激动,说话颤抖,本以为没有戏,然而第二天接到了二面的电话有点小激动。然后就是被ko了,死的原因很简单,那时候单纯的自己什么都不知道,一点知识储备都么有。别人问我异常,还有怎么调试代码,出错怎么解决。我就一句上网搜~是不是觉得我有点傻逼。是的就是傻逼。。。。。总结:要学习如何处理错误和异常,看Java基础。...
2015-10-14 15:21:00
427
转载 从浏览器访问一个地址的过程
1.若DNS缓存中没有相关数据,则IE浏览器先向DNS服务器发出DNS请求: 这一过程的目的是获取www.sina.com这个域名所对应的IP地址; IE浏览器向本机DNS模块发出DNS请求,DNS模块生成相关的DNS报文; DNS模块将生成的DNS报文传递给传输层的UDP协议单元; UDP协议单元将该数据封装成UDP数据报,传递给网络层的IP协议单元; I...
2015-10-06 15:09:00
172
转载 http的报文结构和状态码的含义
HTTP响应报文解剖响应报文结构HTTP的响应报文也由三部分组成(响应行+响应头+响应体):以下是一个实际的HTTP响应报文:①报文协议及版本;②状态码及状态描述;③响应报文头,也是由多个属性组成;④响应报文体,即我们真正要的“干货”。响应状态码和请求报文相比,响应报文多了一个“响应状态码”,它以“清晰明确”的语言告诉客户端本次请求的处理结果。HTTP的响应状态码...
2015-10-06 14:36:00
171
转载 TCP滑动窗口与回退N针协议
[转]TCP 滑动窗口协议/1比特滑动窗口协议/后退n协议/选择重传协议2014-1-5阅读884评论0本文转自http://www.cnblogs.com/ulihj/archive/2011/01/06/1927613.html滑动窗口协议 一图胜千言,看下面的图,简单解释下: 发送和接受方都会维护一个数据帧的序列,这个序列被称作窗口。发送...
2015-10-06 14:21:00
219
转载 TCP的三次握手和四次挥手
TCP是TCP/IP的传输层控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:首先需要了解几个名词:tcp标志位,有6种分别为:SYN(synchronous建立联机) 、ACK(acknowledgement 确认) 、PSH(push传送) 、FIN(finish结束)、 RST(reset重置) 、URG(urgent紧急);URG 紧急指针,告诉接收TCP模块紧要指针域...
2015-10-06 14:05:00
152
转载 TCP拥塞控制机制
研究TCP的拥塞机制,不仅仅是想了解TCP如何的精巧,更多的是领悟其设计思想,即在一般情况下,我们该怎样处理问题。一.拥塞的发生与其不可避免 拥塞发生的主要原因:在于网络能够提供的资源不足以满足用户的需求,这些资源包括缓存空间、链路带宽容量和中间节点的处理能力。由于互联网的设计机制导致其缺乏“接纳控制”能力,因此在网络资源不足时不能限制用户数量,而只能靠降低服务质量来...
2015-10-05 19:13:00
237
转载 TCP/IP分析
TCP/IP四层模型TCP/IP参考模型 ISO制定的OSI参考模型的过于庞大、复杂招致了许多批评。与此对照,由技术人员自己开发的TCP/IP协议栈获得了更为广泛的应用。如图2-1所示,是TCP/IP参考模型和OSI参考模型的对比示意图。 图2-1 TCP/IP参考模型 2.1 TCP/IP参考模型的层次结构 TCP/IP协议栈是美国国防部高级...
2015-10-05 18:11:00
186
转载 死锁的四个必要条件和处理
1.产生死锁的原因主要是:(1) 因为系统资源不足。(2) 进程运行推进的顺序不合适。(3) 资源分配不当等。如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。2.产生死锁的四个必要条件:(1)互斥条件:一个资源每次只能被一个进程使用。(2)请求与保持条件:一个进程因请求资源而...
2015-10-05 12:55:00
111
转载 进程和线程的区别
1.线程:是指进程内的一个执行单元,也是进程内的可调度实体.2.与进程的区别:(1)地址空间:进程有自己独立的地址空间(内存单元);进程中的线程共享进程中的地址空间,提高运行效率。一个进程中至少有一个线程。(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源。线程划分的尺度小,并发性高。(3)线程是处理器调度的基本单位,但进程不是. 每个独立的...
2015-10-05 11:53:00
80
转载 Thread和Runable实现多线程
分析两种实现多线程的方式:Thread类和Runnable接口写一个程序,模拟4个售票窗口共同卖100张火车票的程序。1:使用继承Thread类方式实现()。 2:使用实现Runnable接口方式实现()。第一种方式(没有共享数据,售票窗口各自买100张票,那4个售票窗口就有400张票)package com.ljq.test;/** * 使用Thread类...
2015-10-04 20:52:00
205
转载 Java多态性理解
什么是多态 面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类...
2015-10-04 20:08:00
257
转载 static类和no static类的区别
1.static类,只能有静态成员,不能被实例。静态的东西在内存中只有一份,调用速度会快,但是相对费内存。2.在另外一个类内部定义的类,此类的实例化不希望依赖外部类的实例化,此时可以定义为静态类(即,内部静态类)。例如单例模式的按需创建。转载于:https://www.cnblogs.com/hupp/p/4852708.html...
2015-10-02 20:56:00
412
转载 抽象类和接口的区别
1.抽象类:抽象类不能创建实例对象。含有抽象方法的类必须为抽象类。抽象类中的抽象方法必须在子类中实现,所以不能有抽象构造方法或抽象静态方法。如果子类没有实现抽象类中的抽象方法,那么子类也必须定义为抽象类。但是抽象类中可以有普通的方法。2.接口(interface)可以说成是抽象类的一种特例,接口中的所有方法都必须是抽象的。接口中的方法定义默认为public abstract类型,接口中的...
2015-10-02 20:41:00
96
转载 Java面向对象设计主要有三大特征:封装性、继承性和多态性
Java面向对象设计主要有三大特征:封装性、继承性和多态性一 封装性 1.1 概念:它是将类的一些敏感信息隐藏在类的类部,不让外界直接访问到,但是可以通过getter/setter方法间接访问。1.2 目的:我们可以并且有可能在方法中,添加自己的限制,保证数据的有效性;从某种程度上说,封装也提高了代码的健壮性、安全性。1.3 实现步骤:所有的成员变量全部私...
2015-10-02 17:58:00
355
转载 异常处理过程和异常处理的执行顺序(针对try{}catch{}finally{}而言)
1.异常的处理方式有两种分别为:try{}catch{}finally{}和throws下面简单说一下这两者的区别和联系。2.出现异常之后如果没有进行捕获处理系统就会直接将这个异常栈的跟踪信息直接打印出来之后就结束这个程序的执行。下面我们看一下异常处理:public class Test{ public static void main(String[] ar...
2015-10-02 16:51:00
242
转载 HashMap,LinkedHashMap,TreeMap之间的区别
java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap.Map主要用于存储键(key)值(value)对,根据键得到值,因此键不允许键重复,但允许值重复。HashMap是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有...
2015-09-30 20:39:00
89
转载 java的HashMap与ConcurrentHashMap
(1)放入HashMap的元素是key-value对。(2)底层说白了就是以前数据结构课程讲过的散列结构。(3)要将元素放入到hashmap中,那么key的类型必须要实现实现hashcode方法,默认这个方法是根据对象的地址来计算的,具体我也记不太清楚了,接着还必须覆盖对象的equal方法。 用一张图来表示一下散列结构吧: 在这里hashCode函数就是用于确定当...
2015-09-30 19:47:00
59
转载 java基本类型和封装类型区别及应用
1.基本类型只能按值传递,而每个基本类型对应的封装类是按引用传递的。2.从性能上说java中的基本类型是在堆栈上创建的,而所有的对象类型都是在堆上创建的,(对象的引用在堆栈上创建)。比如Integer i=new Integer(10); 其中new Integer()是在堆上创建的,而他的引用Integer i是在堆栈上。 封装类的出现,是为了更方便的使用一些基本类型不具备的方法,...
2015-09-30 16:56:00
120
转载 Switch能否使用String做参数
在Java语言中Swith可以使用参数类型有:Only convertible int values, strings or enum variables are permitted可以自动转换为整型的(byte,short,int),String类型,枚举类型。Java中不能做为Switch参数的有boolean,float,double,long(不能直接转换为int啊)。...
2015-09-29 16:06:00
131
转载 Java中的四种引用
我们知道java语言提供了4种引用类型:强引用、软引用(SoftReference)、弱引用(WeakReference)和幽灵引用(PhantomReference),与引用密切相关的,还有一个引用队列ReferenceQueue。引用和引用队列的关系,对于垃圾回收来说非常重要,学习垃圾回收机制,必须要先了解引用和引用队列的使用法。1、强引用不会被GC,当空间不足时...
2015-09-29 16:00:00
106
转载 字符串匹配算法
//思路一:时间复杂度为O(mn),返回第一个找到的匹配的下标。如果找不到匹配的结果,那么返回public class MatchString { public int matchString(char[] old,char[] now,int pos){ //返回第pos个元素开始的子串的第一个匹配的字符串。 if(old==null||...
2015-09-23 13:08:00
81
转载 求两个数的最大公约数和最小公倍数
import java.util.Scanner;//求两个数的最大公约数,最小共倍数。public class CommonMaxDivisor { public static void main(String[] args){ Scanner scanner=new Scanner(System.in); in...
2015-09-19 22:08:00
125
转载 判断一个数是否为素数
import java.util.Scanner;//判断一个数是不是素数public class isPrim { public static void main(String[] args){ Scanner scanner=new Scanner(System.in); int N=scanner.nextIn...
2015-09-19 19:19:00
143
转载 Android中Activity的LauchMode(加载模式)
1.standard模式:一个task有多个Activity,一个Activity可以被实例化多次,可以放在不同的task中。2.singleTop模式:该Activity在栈顶,同时收到启动该Activity的intent消息,该Activity不用再创建实例。直接调用栈顶实例。比如:ActivityA启动ActivityB,在A中有一个定时器隔十秒再启动ActivityB。3...
2015-09-17 21:32:00
137
转载 Android Binder机制浅析
1.什么是Binder?直观来说,Binder是Android中的一个类,它继承了IBinder接口从IPC(Inter-Process Communication,进程间通信)角度来说,Binder是Android中的一种跨进程通信方式,Binder还可以理解为一种虚拟的物理设备,它的设备驱动是/dev/binder,该通信方式在linux中没有从Android Fra...
2015-09-12 18:54:00
79
转载 Android进程间的通信
1.概述:由于android系统中应用程序之间不能共享内存。因此,在不同应用程序之间交互数据(跨进程通讯)就稍微麻烦一些。在android SDK中提供了4种用于跨进程通讯的方式。这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Service。其中Activity可以跨进程调用其他应用程序的Activity...
2015-09-11 18:12:00
59
转载 Android中的service
1.service简介:service可以在和多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记录你地理信息位置的改变等等,总之服务嘛,总是藏在后头的。Service是在一段不定的时间运行在后台,不和用户交互应用组件。每个Service必须在manifest中 通过<service>来...
2015-09-11 16:43:00
71
转载 使用Volley框架中的ImageLoader来异步的加载图片
Volley框架在请求网络图片方面也做了很多工作,提供了好几种方法.本文介绍使用ImageLoader来进行网络图片的加载.ImageLoader的内部使用ImageRequest来实现,它的构造器可以传入一个ImageCache缓存形参,实现了图片缓存的功能,同时还可以过滤重复链接,避免重复发送请求。下面是ImageLoader加载图片的实现方法:用一个类来编写图片加载和缓存的相关...
2015-09-10 14:56:00
78
转载 Android用Gson解析JSON字符串
在volley框架中有一个protected Response<Result<T>> parseNetworkResponse(NetworkResponse response){}函数。从服务器上或者在缓存中获取的JSON字符串在这个函数进行解析。String jsonString = new String(response.data, HttpHea...
2015-09-09 20:19:00
212
转载 使用PullToRefresh实现下拉刷新和上拉加载
PullToRefresh是一套实现非常好的下拉刷新库,它支持:1.ListView2.ExpandableListView3.GridView4.WebView等多种常用的需要刷新的View类型,而且使用起来也十分方便。(下载地址:https://github.com/chrisbanes/Android-PullToRefresh)下载完成,将它导入...
2015-09-09 17:47:00
116
转载 Android应用框架-Volley网络通信框架
1.Volley简介:Volley是Google 推出的 Android 异步网络请求框架和图片加载框架。在 Google I/O 2013 大会上发布。2.Volley特点扩展性强。Android目前提供两种http通信方式:在 Android2.3 及以上基于 HttpURLConnection,2.3 以下基于 HttpClient 实现。提供简...
2015-09-09 16:03:00
208
转载 Android基本架构
android基本架构Android其本质:标准的Linux系统上+Java虚拟机Dalvik上+搭建了一个JAVA的application framework上+开发所有的应用程序 Android主要应用:在ARM平台,但不仅限于ARM,通过编译控制,在X86、MAC等体系结构的机器上同样可以运行。android分为四个层:从高层到低层分别是应用程序层、应用程序框架...
2015-09-09 12:28:00
93
转载 HWOJ-字符串的逆序
将一个字符串str的内容颠倒过来,并输出。str的长度不超过100个字符。如:输入“Iamastudent”,输出“tnedutsamaI”。 输入参数:inputString:输入的字符串返回值:输出转换好的逆序字符串需要注意的是,该题和单词翻转之间的区别!单词翻转输入“I am a student.”,则输出“student.a am I”。...
2015-09-07 17:33:00
186
转载 剑指offer-第七章面试案例2(树中两个节点的公共祖先节点)
import java.util.LinkedList;import java.util.Queue;import java.util.Stack;//树中两个节点的最低公共祖先//第一种情况:只是一颗二叉树,而且还是排序二叉树。思路:从根节点开始找起,如果这两个数一个大于//根节点,一个小于根节点,那么最低公共子节点就是根节点。//第二种情况:只...
2015-09-03 11:25:00
135
转载 剑指offer-第七章面试案例1(字符串转换为整型)
//将字符串转换为整型//思路:特殊的输入测试://1,考虑字符串是否为空。2.字符串问空的时候的返回0,和真实的返回0直键的区别。3,字符串中出现0~9的字符处理//4.字符串中出现*,¥等一下奇怪的符号时候的情况。//功能测试://正数,负数和零//边界测试:最大的正数,最小的负数。public class StrToInt { publ...
2015-09-01 11:46:00
105
转载 剑指offer-第六章面试中的各项能力(不用加减乘除做加法)
//不用加减乘除四则运算,来做加法//题目:两个数做加法。//思路:用二进制的位运算的思路。第一步:首先两数相加考虑进位。可以用异或。//第二步:两个数相加只考虑进位,并将最后的结果左移.第三步:将第一二步的结果相加。public class AddN { public int add(int a,int b){ //递归实现 ...
2015-08-31 20:24:00
85
转载 剑指offer-第六章面试中的各项能力(圆圈中剩下的最后数字)
import java.util.ArrayList;import java.util.Iterator;import java.util.LinkedList;import java.util.List;//圆圈中最后剩下的数字//题目:0,1,2,……n-1,将这n个数排列成一个圆圈,从0开始,删除第m个数,最后一个剩下的数字是多少。//思路1:我们首...
2015-08-31 17:21:00
114
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人