`
jamie.wang
  • 浏览: 339249 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论
文章列表
1. 文件属性 如果目录没有执行权限,则是不能浏览的,因为不能执行ls,dir命令。 例如: drwxr--r--    2 root     root         4096 Feb 10 00:44 .ssh 非root用户不能浏览该目录,即使有读(r)权限,因为没有执行权限。 2. ...
1. 移位计算 k是n所占的位数 例如:java中的int 是 4个字节即32位,long是8个字节即64位 if (m < k) m = k; else m = m % k; n >> m = Math.floor(n / 2^m); // floor(x)是对x向下取整的意思,即比x小的最接近的整数, // 正数就是去掉x的小数位,负数就是比x小的负数。 n << m = n * (2^m);   2. 二进制移位计算 1111 1 ...
1. 生成keystore   %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA -keystore \path\to\my\keystore 2. 配置server.xml 打开注释掉的HTTPS: <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" ...
浏览器 引擎 Firefox Gecko NetScape Gecko Opera Presto Chrome Webkit Safari Webkit Mobile Device Webkit IE Trident  
最近看Web安全,看到最近这篇文章:Hash Collision DoS 问题 。 原理很简单,利用现有语言服务器的hash code实现缺陷,构造大量hash code相等的字符串,做成post的参数,让服务器忙于创建和查询hash map,从而是服务器拒绝服务。详细描述可以看上面那篇文章。 我试着写了个攻击的例子代码: import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.OutputStreamWriter; impor ...
为什么要有2.0版本? 前面的文章说了OAuth1.0,怎么又突然冒出一个2.0呢?我查阅了一些文档,主要是这些原因: 1. 签名算法太复杂 还记得1.0里面需要对一堆必须的参数排序,编码,然后用secret去签名吧 2. 获取token的方式单一 就一种方式 3. 性能和可伸缩性比较差 由于验证和受保护资源都在一台服务器上。(这个。。。感觉有点牵强,应该也可以分离的) 2.0的改进 针对以上问题,2.0做了以下改进: 1. 角色分离 将认证服务器和资源服务器分开,功能更加清晰,性能和可伸缩性也更好。 2. 去除签名 对,任何签名都不需要了。但必须使用HTTPS安全通道 ...
HTML中JavaScript的标记这样写:<script type="text/javascript" src="foo.js" />虽然XML合法,但浏览器并不支持,必须以</script>结束。 HTTP GET请求如果请求URL中有参数含有中文,例如:http://foo.com/bar.jsp?q=中文,HttpServletRequest.getParameter()得到的值可能会出现乱码,解决方法是在Tomcat的配置文件server.xml中配置URIEncoding为正确的编码,例如: <Connect ...
1.   概述 OAuth 是一个开放授权协议,允许第三方应用访问服务提供方中注册的终端用户的某些资源,且不会把帐号和密码提供给第三方。 OAuth 允许通过服务提供商授予的一个临时令牌而不是用户名密码来获取用户的资源,这些资源可以是受限的,令牌的时间段也可以是受限的。 1.1     OAuth 的参与者 1.       终端用户 存放在服务提供方的受保护的资源的拥有者 2.       第三方应用 通常是网站,如提供照片打印服务的网站 3.       服务提供者 拥有用户存储的受保护的资源,如照片,视频,联系人列表等 ...

从C++到Java

    博客分类:
  • Java
1. 一切皆为对象 Java应用程序即是对象的集合,它旨在完全用对象去建模,按照事物存在的形态去思考问题的本身,程序逻辑都是对象之间相互发送消息完成的。甚至Java的main函数都是作为类的静态方法而存在,因此相对于C++,Java是纯的面向对象的语言。   Java对象除原始类型(primitive)会用栈空间外,其他类型都是通过new分配在堆上,然后通过对象的引用来操作对象,赋值对象传递对象都是传递引用。   2. 内存管理 让C++程序员最困扰的事之一便是内存管理,内存何时创建何时释放。Java的初衷便是让程序员从计算机语言,系统中解放出来,程序员更多考虑的是系统的构架,业务逻 ...
熟悉C++的人对于两个字符串比较的代码一定很了解: (string1==string2) 但在java中,这个代码即使在两个字符串完全相同的情况下也会返回false Java中必须使用string1.equals(string2)来进行判断 补充 如果: string s1=new String("Hello"); string s2=new String("Hello"); 则(s1==s2)=false 如果: string s1="Hello"; string s2="Hello"; 则(s1==s2)=t ...
7. 迭代器 7.2 迭代器分类 7.2.1 输入迭代器(Input Iterator) 输入迭代器只能逐位向前读取元素,且只能读取一遍,例如:istream,,ifstream。 7.2.2 输出迭代器(Output Iterator) 它与输入迭代器正好相反,它只能逐位向前写元素,也只能写一遍,例如:ostream,ofstream,inserter。
6. STL 容器 6.1 容器共同的限制和操作 复制和swap 如果要将一个容器的元素拷贝到另一个容器,并且先前的容器将不再使用,则可以用swap实现高效的拷贝,因为swap只交换容器内部数据而不影响实际存储数据。 从标准输入读入元素 Container<T> c((istream_iterator<T>(cin), istream_iterator<T>())); 6.2 vector
5. 标准模板库 5.1 STL组件 容器,泛型容器,管理对象的集合 迭代器,遍历容器对象的辅助对象,由各个容器提供。 算法,与具体容器分离,运用迭代器操作容器内对象。 STL主张将容器与算法分离,使得算法可以抽象与容器之上,同时操作不同类型的容器,但需要容器提供迭代器。 STL容器只提供效率高的方法,因此不同容器提供的方法可能不一样。 STL是最好的泛型编程的参考资料。
第二章 C++和标准库简介 2.2 C++语言新特性 2.1.1 模板 几乎所有STL库都是模板。 编译器不会为每种类型都生成代码,而只是为所要用的类型生成,因此你必须让你的模板函数在被调用的时候其实现是可见的,编译器才能编译该函数为特定的类型。因此,要使得模板可移植,你需要将函数的实现包含在头文件中,并且是内联(inline)函数。 无类型模板参数 即模板参数为值,而不是类型,编译时会被替换为常量。 例如:
Java how to program(Third Edition II) ——手记 第十一章 图形和Java2D 1.由于窗口最左上角的坐标(0,0)实际上是标题栏的后面。所以,使用坐标绘制图形时应该调整它到窗口边框的里面。Container类(java中所有窗口类的超类) ...
Global site tag (gtag.js) - Google Analytics