`
文章列表
What's IP? What's TCP?  
本文目标:学习一种比较安全的服务器间互相验证身份的方式。    问题:开发微信公众平台接口,开发者的服务器为了确保请求是否来自微信服务器,应该如何去做?   1)  在微信管理页面上填写URL和TOKEN,开发者服务器上也记录同样的TOKEN。   2)  微信服务器发送HTTP请求,附带上参数(注意TOKEN是不会被传输的)   参数 描述 signature 微信加密签名 timestamp 时间戳 nonce 随机数 echostr 随机字符串  其中signature值通过如下摘要运算得出: 1. 将token、timesta ...
在上一篇博文中,O(n)复杂度,求数组中第2大的数 ,ansjsun同学留下一个非常有价值的回复: ansjsun 写道 大概看了下代码...这么排啊...其实答案应该是堆排...第二大是 O(2*logn) = O(n)   感谢ansjsun提供的思路,下面是我实现的代码    import java.util.Arrays; public class MaxHeap { private int[] array; private int size; public MaxHeap(int[] array){ this.array = Arrays.c ...
<DIV id="divDiableScreen" style="display:block;Z-INDEX: 100; POSITION: absolute; FILTER: alpha(opacity=15); BACKGROUND-COLOR: #000; WIDTH: 100%; HEIGHT: 100%; TOP: 0px; LEFT: 0px; opacity: 0.15" > <IFRAME style="Z-INDEX: -1; POSITION: absolute; FILTER: progid: ...
(int)(char)(byte)-1;//结果是65535 (int)(short)(byte)-1;//结果是-1 (int)( ((char)(byte)-1) | 0xffff0000);//-1   byte[8bits],short[16bits],int[32bits],long是signed[64bits],而char[16bits]是unsigned。 窄类型转换为宽类型的规则是: 1 如果窄类型是signed,则符号位扩展到高位 2 如果窄类型是unsigned,则0扩展到高位。 综合成一句: 窄类型转换为宽类型,符号位会扩展到高位。 宽类型转换为窄类 ...
为什么我反对纯算法面试 提及一条算法题目,查找一个数组中第二大的数。   第二大数,直接想到的是,先遍历一次数组,把最大的取出来。然后再遍历一次,把最大的取出来。总耗费时间复杂度O(n + n -1) 还有没有其他O(n)的算法呢?   先挖坑,在填坑,都到凌晨2点了,明天想下   早上起来,想了下,跟上次连续子数组的思维差不多,用两个数字保存最大的两个数值,大的放前面,第二大的放后面,然后在遍历过程中穷举各种情况即可。 public class kmax{ public static void main(String[] args){ int[] a = new ...

单例不简单

    博客分类:
  • Java
常见的lazy loading单例写法有2种写法,DCL和内部类SingletonHolder。但是在以下情况下会失效: 1. 单VM,序列化与反序列化 2. 单VM,多CLASSLOADER 3. 多VM   好了,先开个坑,吃早餐去。解决方案,随后附上
一个有N个整数元素的一维数组( A[0], A[1], ... , A[n-2], A[n-1]),子数组之和的最大值是什么?(要求子数组的元素是连续的)   给人典型的动态规划的感觉。先求到前面i个元素的最大子数组之和max,然后在此基础上考虑i+1的情况,直 ...

HTTP STATUS CODE

    博客分类:
  • Http
1 缓存相关 304, Cache-Control, Pragma, Expires,  If-Modified-Since, ETag, If-None-Match, 2 重定向 301 Move Permanently 搜索引擎记住的是response中的URL 302 Move Temporarily  搜索引擎记住的是request中的URL 303,307 是对302的扩充,对GET/POST进行了区分处理   3 常见 404 NOT FOUND。你懂的。现在网站流行返回一些公益广告。 500 服务器程序抛出异常啦,赶紧加班搞定。  http://www.cn ...

页面优化

Q:  一万个节点,行为类似,滚动时会有事件发生,渲染也很慢,非常卡,如何优化。 A: 吐槽: 优化个毛,谁写的HTML,马上炒掉(by 司徒正美)。 这脑残的页面么,我感觉拉动都卡(by 榕城-渔业泡妞)   实际上:这个页面是 ...

SQL优化

1 函数索引用作对含有NULL的字段进行索引。create index IND on tbl(nvl(col,'0')) 2 把表根据查询拆开 3 in exists互换看效果,现在普遍exits占据主流的情况下,需要具体分析。 4 子查询改成单一查询的多表连接可能对索引生效(all rows) 5 exists在rules情况下必然会全表扫描主表,但是all rows下未必。 6 in() 最多1K个值。改成(columnName in() or  columnName in())或者(not in() and columnName not in()) 7 分库 分区 分表 大 ...
1 C运行库对字符串的处理: str*系列:    C运行库早期使用strlen strcpy等str*系列函数对char类型的字符串进行处理。wcs*系列:   C编译器内置了wchar_t这个16位宽字节类型后,使用新的wcslen wcscpy等wcs*系列的函数对wchar_t类型的字符串进行处理。_tcs*系列:  C运行库定义了宏_tcslen _tcscpy等_tcs*系列的宏定义,_tcs*系列函数在编译时根据是否预定义了宏_UNICODE而确定是采用wcs*系列函数,否则采用str*系列函数。_tcs*_s系列:  C运行库的最新安全字符串函数,为了防止缓冲区溢出而定义的 ...
有时候我们构造一个对象的时候,直接所需的参数未必都已经准备好,需要分步骤收集,或者需要在现有的参数上再做判断和进一步处理,又或者需要用户临时去决定。简而言之,我们只有间接数据,没有直接数据,因此不能 ...
<<分布式JAVA应用:基础与实践>> 试读:http://book.51cto.com/art/201011/235526.htm  http://9.douban.com/subject/9361717/ http://book.douban.com/subject/4848587/ 林昊,淘宝架构师,OSGI带头人 {互联网,OSGi,Java, High Scalability, High Performance,HA}   ...
读者可以在eclipse中导入附件的项目,执行main.java体验"步骤执行容器"的效果(温馨提示,stepframework依赖了dom4j,在附件中的dependence目录含有该lib)。   问题背景与实现简述   通常情况下,一项任务可以分为多个步骤 ...
Global site tag (gtag.js) - Google Analytics