- 博客(74)
- 资源 (15)
- 收藏
- 关注
原创 理解-java内部类
札记 在清理2017年度清单,inbox zero 博客清单时,发现自己遗留了“java 内部类”这篇文档,自己认真回忆后发现确实记忆不太清楚,因此该文档尽快补写。正文 在java(java class)中类内部声明的类,都叫嵌套类(nested class),区别在于如果没有static 修饰,称为内部类(inner class)。嵌套类指所有的声明在别的类或接口中的类,无论有没有s...
2018-02-13 10:18:30
920
原创 RC4 算法
对称密钥也分为多种算法,其中最著名的当属DES,AES算法,不过它们是通过将明文进行分组后进行的加密,而RC4是针对字节流进行加解密,因此RC4更适合于网络通信数据的加密解密,RC4能有效应用的原因还包括运算速度极快的特点,因此曾经RC4应用于TLS。
2016-08-14 11:16:55
8646
1
原创 SSL/TLS 运行原理
SSL/TLS是网络安全通信的基础,在协议创立以来经受住了几十年的安全考验,虽然偶有出现风险(Heartbleedy),但是协议本身的安全是毋庸置疑的。对于安全协议,自己也理解了很多,所以想整理一份各个安全协议的博客系列,供自己查阅与大家交流。本期就主要讲解SSL/TLS协议。 无论是SSL(安全套接层Secure Sockets Layer)还是其后续发展版本TLS(传输层安全协议Transpo
2016-07-31 23:07:47
1242
转载 <br>与<p>标签区别
br与p标签区别,br和p标签认识之div+css开发时候常用换行标签接下来,我们介绍下html中常遇见和常用到的br />和标签之间的区别及用法,以及使用css对他们控制设置属性样式——扩展知识css换行,css不换行。br与p区别目录综合介绍br p相关html知识P和br标签区别Br与p总结一、综合介绍br p - TOP首
2014-06-01 19:01:59
9409
转载 动态规划
转自:题目描述:N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1, 2, …, K,他们的身高分别为T1, T2, …, TK,则他们的身高满足T1 Ti+1 > … > TK (1 你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学
2014-05-08 10:04:17
2355
原创 Android Studio在创建项目是一直处于building “project name”gradle project info的解决办法
最近需要做一些Android的开发工作,搭建了一天的Eclipse+SDK+ADT最后都是各种乱七八糟的原因出现问题,而且还有那个那个SDK Manager下载不是一般的慢(再次吐槽之……),最后果断决定换个途径,就想到了Android Studio,迅速下载之。 下载完毕后,安装完毕, 快速创建新项目,最后一步finish后,界面就一直停留在图1所示
2014-03-23 10:29:08
83892
1
原创 C除法运算时发生的截断
C的除法往往也会隐藏着诸多陷阱,例如我们常常碰到的整数除,但是今天谈到的是关于取余运算。 假定我们让a除以b,商为q,余数为r: q = a / b ; r = a % b ; 在这里我们不妨假定b大于0。 我们希望a、b、q、r之间维持怎么样的关系? 1. 最重要的一点,q*b+r =
2013-12-24 09:24:59
2617
原创 C中有符号数与无符号数转化之间的危险
无符号数与有符号数之间存在着很多细节问题,稍有不慎就可能导致程序出现不可预料的错误。如果说是在长度相同的数值类型之间相互转化或者向长度比较短的数据转化是没有问题的,结果都是已定义的:多余的位将被简单的丢弃。但是,一旦需要向长度更长的数据类型转化这个问题就会变得十分蹊跷。例如编译器在转化char类型到int类型时,需要作出选择:应该讲字符作为有符号数还是应该无符号数处理?如果是前一种情形,编译器在将
2013-12-23 18:56:49
10425
1
原创 VC编译器与GCC编译器的区别
今天无意写了一段代码,发现了VC编译器与GUN的gcc编译器还是存在区别的。毕竟GCC支持的是标准C。#include struct Node{ int value; Node *next;};int main(){ Node a; a.value = 1; return 0;}上述代码在GCC下是编译失败的,提示的错误:uknown typename 'N
2013-11-07 21:52:42
15159
原创 使用Filezilla向VMWare中的虚拟机中上传文件提示“无法启动传输”的解决办法
最近一直使用Filezilla完成主机与虚拟机之间的数据传输,偶尔上传会出现“无法启动传输”的错误,但是下载一直比较正常。但是所有的配置都显示正常,在g上也无法找到具体什么原因,今天突然发现问题。文件下载正常,但是上传的文件处于打开状态,此时就就会提示“无法启动传输”错误,将文件关闭即可成功上传。
2013-10-18 10:18:51
14075
原创 最小操作数(改版)
题目详情:给了A、B两个单词和一个单词集合Dict,每个的长度都相同。我们希望通过若干次操作把单词A变成单词B,每次操作可以改变单词中的一个字母,同时,新产生的单词必须是在给定的单词集合Dict中。求所有行得通步数最少的修改方法。 举个例子如下:Given: A = "hit" B = "cog" Dict = ["h
2013-08-14 12:19:01
1236
转载 求数组中最长递增子序列
1. 简述 写一个时间复杂度尽可能低的程序,求一个一维数组中最长递增子序列的长度。 例如在序列1,-1,2,-3,4,-5,6,-7中,其最长的递增子序列的长度为4(如1,2,4,6)。2. 思路 这个题目与前面求一维数组中子数组之和最大值有点像,不过区别还是很明显,比如:子数组是数组中一串连续相邻的数字,而子序列不一定是相邻的,因
2013-05-09 16:23:45
973
原创 链表相邻元素翻转
这个题目自己至少看了好几遍, 早上起来自己手写了一下,又在电脑上实现了一下,发现最后还是出现了问题。问题包括:对当前结点的pNext没有设置,导致最后俩节点出现了循环环;while条件设置出错,只判断了cur,没有判断cur->pNext;对一个结点的情形没有考虑到。// reverNode.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h
2013-04-15 09:46:20
993
原创 单链表的逆置
单链表的逆置,心中永远的记忆。单链表的逆置可以有多种实现方法,本文算是对逆置问题的一个总结:首先是使用三指针方法实现。三指针就是使用三个指针分别记录操作每个结点的前驱结点,本身结点,后驱结点。通过while循环不断的调整顺序,然后逐点后移进行操作。这中国三指针的方式应该是最简单的方式,也应该优先考虑的。LNode* ReverseList(LNode* head){ if (
2013-03-31 13:21:07
5008
原创 链表的操作
链表的操作一直是困扰着本人,于是还是自己总结一番,针对性的加强训练。下面是自己的一点点总结:链表其实就是多个数据块通过指针连接起来,所谓的链表的操作,最核心也是最困难的就是调整指针的指向,每个结点只能也只有它能知道下一个结点的存储位置。改变链表的顺序就是不断的调整每个数据块的指针指向。因此,除非需要创建新的结点,会使用直接创建Node结点,否则一般都是创建Node类型的指针,通过指针不断的
2013-03-30 13:39:10
1311
1
原创 单链表复制
自己对于链表始终是有种敬畏之情,也说不出为啥会敬畏链表,只是从开始接触C语言就觉得链表深不可测。可能除了面试题之外自己还没有切实应用过链表吧。昨晚自己看到一复杂链表的复制,何海涛老师讲解的方法让人不禁赞叹“精妙绝伦”,在看链表的操作过程中自己对链表的操作有了几分收获。于是上班期间自己偷偷写了一个单链表的复制。#include "iostream"using namespace std;
2013-03-18 19:49:37
18636
1
原创 求数组的最大子序列和
输入一个整型数组,数组里有正数也有负数。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值。要求时间复杂度为O(n)。 例如:输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2, 因此输出为该子数组的和18。
2013-03-17 21:13:02
1946
原创 删除字符串开始及末尾的空白符,并且把数组中间的多个空格(如果有)
题目:删除字符串开始及末尾的空白符,并且把数组中间的多个空格(如果有)代码:void DelSpace(char *s){ if(s == NULL) return; int flag = 0 ; if(*s == ' ') flag = 1; char *p = s; int j = 0; while(*p != '\0') { if(*p != ' ')
2013-02-19 16:34:14
3570
原创 ASCII码表(留作自查)
八进制十六进制十进制字符八进制十六进制十进制字符00000nul1004064@01011soh1014165A02022stx10242
2013-01-29 14:40:22
892
原创 利用堆栈求解算术表达式
1 本文目标分析用堆栈解析算术表达式的基本方法。给出的示例代码能解析任何包括+,-,*,/,()和0到9数字组成的算术表达式。2 中缀表达式和后缀表达式中缀表达式就是通常所说的算术表达式,比如(1+2)*3-4。后缀表达式是指通过解析后,运算符在运算数之后的表达式,比如上式解析成后缀表达式就是12+3*4-。这种表达式可以直接利用栈来求解。3 运算符的优先级
2012-12-25 14:24:25
12745
转载 解决tomcat6.0.33 配置SSL时报“No Certificate file specified or invalid file format”异常
在配置tomcat的SSL双向握手中,由于6.0.33版本中默认启用了APR(APR是通过JNI访问的可移植库,可以提高Tomcat的性能和伸缩性),所以采用传统的配置方式(如下)会报异常; 传统的SSL配置:Xml代码 Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" m
2012-12-19 15:00:41
1610
原创 1007
背景 Background平面上有N个圆柱形的大钉子,半径都为R,所有钉子组成一个凸多边形。现在你要用一条绳子把这些钉子围起来,绳子直径忽略不计。描述 Description求出绳子的长度输入格式 Input Format第1行两个数:整数N(1接下来N行按逆时针顺序给出N个钉子中心的坐标坐标的绝对值不超过100。输出格式 Output Format一个数,
2012-12-03 15:28:05
974
原创 Exercise7-6 文件操作
/** * Description:Exercise 7-6 - write a program to compare two files, printing the first line where they differ * Author: Gecko * Date: 2012-11-30 16:11 * Note: The two files have the same number
2012-11-30 16:33:22
726
原创 stdout,stdin浅析
《The C programming Language》中这样解释stdin,stdout "The file pointers stdin and stdout are objects of type FILE *. They are constants, however, not variables, so it is not possible to assign to them."stdou
2012-11-30 15:12:28
3973
原创 关于main(int argc, char* argv[])的理解
以前对main函数中的参数设置有一些理解,以为很简单,不就是argc是参数数量,argv是字符串数组,但是昨天写多进程的问题确实碰到了麻烦,今天仔细想了想其中的问题还确实不少。其中涉及到的问题也是方方面面的。下面就将做一个仔细的解析。 问题描述:主进程启动多个子进程程序是需要向子进程程序传输参数,而我们知道如果向程序中传递参数也就是向main函数中传递参数,需要用到argv数组来存
2012-11-29 15:59:49
22451
原创 Windows下多进程的实现案例
最近碰到一个多进程的问题牵涉到了Windows下多进程的操作。经过研究也算是找到了一种解决方案。下面具体介绍一下这个题目中自己的收获。 背景介绍:程序涉及到Win32与Linux两个平台,要求同时启动多个进程,进程下面启动 多个线程。由于Windows的设计原理与Linux有很大区别(具体可参考Windows移植到Linux),因此Linux平台下创建多个进程比较容易实现。Wind
2012-11-28 15:59:34
17487
2
转载 malloc与alloc的区别
malloc()与 alloc()C语言跟内存分配方式(1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。(2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存
2012-11-23 14:42:21
2120
原创 用指针操作实现二分法程序
二分法一直在查找已排序数据中占有很重要的位置,我们经常使用的二分法是在数组中使用。如下/* binsearch: find x in v[0] <= v[1] <= ... <= v[n−1] */int binsearch(int x, int v[], int n){ int low, high, mid; low = 0; high = n − 1; while
2012-11-23 10:07:53
3270
原创 1011
背景 Background 顺治帝福临,是清朝入关后的第一位皇帝。他是皇太极的第九子,生于崇德三年(1638)崇德八年八月二ten+six日在沈阳即位,改元顺治,在位18年。卒于顺治十八年(1661),终24岁。 顺治即位后,由叔父多尔衮辅政。顺治七年,多尔衮出塞射猎,死于塞外。14岁的福临提前亲政。顺治帝天资聪颖,读书勤奋,他吸收先进的汉文化,审时度势,对成法祖制有所更张,
2012-11-22 16:10:09
716
原创 单词-Words
[问题描述]Io和Ao在玩一个单词游戏。他们轮流说出一个仅包含元音字母的单词,并且后一个单词的第一个字母必须与前一个单词的最后一个字母一致。游戏可以从任何一个单词开始。任何单词禁止说两遍,游戏中只能使用给定词典中含有的单词。游戏的复杂度定义为游戏中所使用的单词的长度总和。编写程序求出使用一本给定的词典来玩这个游戏所能达到的游戏最大可能复杂度。数据规模限制:单词总数不超过16,单
2012-11-22 10:54:50
1482
原创 各种数据类型的取值范围(自查)
在写程序的过程中我们有时候会处理一些极大地数据,这时候就会出现一些困惑各种数据类型的大小,声明的时候让自己很谨慎, 于是碰到较大的数值就直接long类型的的变量就声明了,在C函数库Limits中包含着对于所用编译器中各个数据类型的取值范围。下面是程序代码。/*本程序中得到启示:在输出不同类型的数据时,输出格式也要相应改变 * long类型的要添加‘l’,unsigned要添加'u'否则会发
2012-11-21 16:13:32
4570
原创 程序中关于堆栈大小的划定
昨天在做小猪登山的题目碰到了数组容量太大的问题,今天做一个总结。 首先,参考了Slyar的文章《C语言 全局变量和局部变量的大小限制》直接贴上。#include int main(){int a[1000000];//局部变量return 0;}编译运行后发现溢出错误。#include int a[1000000];//全局变量int main(){
2012-11-21 11:25:46
27742
原创 1006
背景 Background 在很久很久以前,有一个动物村庄,那里是猪的乐园(^_^),村民们勤劳、勇敢、善良、团结…… 不过有一天,最小的小小猪生病了,而这种病是极其罕见的,因此大家都没有储存这种药物。所以晴天小猪自告奋勇,要去采取这种药草。于是,晴天小猪的传奇故事便由此展开…… 描述 Description 这一天,他来到了一座深山的山脚下,因为只有这座深山
2012-11-21 11:02:03
1807
1
原创 1002
描述 Description 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,……,L(其中L是桥的长度)。坐标为0的点表示桥的起点,坐标为L的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向跳跃。一次跳跃的距离是S到
2012-11-20 11:00:57
4573
转载 关于scanf的一点汇总
很多人对scanf的不太了解,导致程序出错,我想把scanf的具体用法贴出来,希望大家可以共同进步,有什么不对的地方可以提出来。int scanf(char *format,...);这应该是scanf的标准形式。先说说关于他的返回值的问题。库函数几乎都是有返回值的,有些人可能很奇怪,怎么很少人用过scanf的返回值呢?scanf会返回成功接收到的变量数量的值。比如scanf("%
2012-11-18 18:03:51
4937
原创 1001
描述 Description 某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获取的条件各自不同: 1) 院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得; 2) 五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生
2012-11-18 15:42:12
1505
原创 1385
背景 Background 怪盗基德 VS OIBH 第三话 描述 Description 怪盗基德第三次来到熟悉的OIBH总部。屡屡失败的OIBH这次看守的是The Eye of Moon。还是那个房间,还是那扇门,不同的是OIBH对密码锁进行了改进。这
2012-11-18 12:30:24
1242
原创 使用“洋葱法”求解复杂指针
看到《The C Programming Language》Page112页,讲到复杂指针,由于本人对此处一直比较敬畏,虽然在大二的时候读过一遍《C 与指针》,但由于久疏运用,忘得也差不多了。今天准备好好研究一下。 文章参考的supermegaboy的文章复杂指针解析,并没有抄袭的意思,只是想自己留作参考查看之用,如不小心观测此文,不妨去原文瞻仰一番大牛之作。 首先
2012-11-15 14:56:41
1348
原创 计算日期,天数,星期几的小例子
最近在看《The C Programing Language》,进一步加深了自己对于指针赋值的理解,现在看来关于日期,天数这类的题目很是简单,但是遥想当年大一的时候自己去参加计算机学院的编程大赛,五个问题只是求解出来一个,而没解答出的问题中就包含关于日期天数的一个问题,今天为了弥补一下以前的遗憾,就把这个程序再写一写吧。(话说程序还就需要多写多练,本来以为自己看书的时候想枚举,多维数组,局部变量初
2012-11-15 10:22:49
1324
gradle-1.9-all.zip
2014-03-23
CryptAPI函数调用实例(修改后)
2012-07-26
CrypAPI 常用函数源码实例
2012-07-26
McAfee杀毒软件使用使用说明
2010-04-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人