最近课上可摸鱼时间较多,因此并发开坑学习 本篇学习自Java多线程编程实战指南 目前进展:刚开坑,处于理解概念阶段 本篇学习自Java多线程编程实战指南 Q.进程和线程的区别 进程Process是程序运行的实例,在Java的范畴中,运行一个Java程序的实质是启动一个JVM进程,也就是一个运行的Java程序就是一个Java虚拟机进程(Java Web服务器是一个进程同时运行多个Java Web应用) 进程是程序向操作系统申请资源(内存空间.文件句柄等)的基本单位,而线程Thread是进程中可独立…
JSP: JAVA Server Page  使用JAVA语言编写的一种在服务器运行的动态页面 JSP = JAVA + HTML JSP 的执行过程 1: 翻译阶段  把JSP源文件翻译成 java文件 2   编译阶段  把JAVA文件编译为  class文件 3:  执行阶段   把class文件执行成 HTML文件 三个阶段的执行是由tomcat容器去选择执行:当浏览器访问一个JSP页面的时候,tomcat容器作出判断(容器中是否存jsp 对应的class 文件) 如果存在,直接执行cl…
快捷键 说明 Ctrl+L 清屏 tab tab按一次自动补全目录文件名称/tab按二次将目录下带有补全前面字段的所有文件目录展示出来,例子: cd /   tab键按两次将根目录下所有文件展示出来 Ctrl+c 强制终止命令 Ctrl+a 光标快速回到行首 Ctrl+e 光标快速去到行尾 Ctrl+u 从光标所在位置删除到行首 Ctrl+z 把命令放到后台执行(这个命令谨慎使用) Ctrl+r 历史命令搜索 d+d 清空当前行内容(vim编辑) d+G 清空所有内容(vim编辑)…
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4640 解题思路: 首先用一个简单的2^n*n的dp可以求出一个人访问一个给定状态的最小花费,因为这i个人是等价的,所以用dp[i][mask]表示i个人跑完mask这个状态的最小花费,所以首先枚举集合mask,对于dp[i][mask],枚举mask的子集v,dp[i][mask]可以由dp[1][v],dp[i-1][mask^v]转移过来,注意这里用来合并的集合是不能有重复的,这个类似背包……这…
最近工作要求解决下web的项目的漏洞问题,扫描漏洞是用的AppScan工具,其中此篇文章是关于会话标识未更新问题的.下面就把这块东西分享出来. 原创文章,转载请注明 -----------------------------------------正题------------------------- 测试类型:应用程序级别测试 威胁分类:会话定置 原因:Web 应用程序编程或配置不安全 安全性风险:可能会窃取或操纵客户会话和cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看…
AppScan会扫描“登录行为”前后的Cookie,其中会对其中的JSESSIONOID(或者别的cookie id依应用而定)进行记录.在登录行为发生后,如果cookie中这个值没有发生变化,则判定为“会话标识未更新”漏洞. 2. AppScan中,对“会话标识未更新”提供了修改建议: 一般修订建议 始终生成新的会话,供用户成功认证时登录.防止用户操纵会话标识.请勿接受用户浏览器登录时所提供的会话标识. 3. 依据修改建议修改如下: 登录时: <%session.invalidate();Co…
前几天更新完virtualbox,一直没用,今天想用,可是提示can't not access the kernel drivers,百度完之后按照别人博客所教方法弄好了,特地来转载他人文章,表达对博主的感激之情. http://daru220.blog.sohu.com/177697688.html 我是按照上面这个链接中的第二种方法弄好的,简单,方便.…
如果某脚本要运行30分钟,可以在Crontab里把脚本间隔设为至少一小时来避免冲突.而比较糟的情况是可能该脚本在执行周期内没有完成,接着第二个脚本又开始运行了.如何确保只有一个脚本实例运行呢?一个好用的方法是利用lockf(FreeBSD 8.1下为lockf,CentOS 5.5下为flock),在脚本执行前先检测能否获取某个文件锁,以防止脚本运行冲突. lockf的参数如下. -k:一直等待获取文件锁. -s:silent,不发出任何信息,即使拿不到文件锁. -t seconds:设定tim…
缓存服务,还未创建完缓存时, 需要更改图层名称.服务名称.数据源位置.mxd名称等.已经创建好的缓存还可以再用吗? 测试后可以, 注意:新服务相对旧服务,符号样式没有改变,切片方案没有变化. 测试步骤. 如下图,某地图文档,发布服务,创建了一部分缓存. 在新发的服务上右键    ->   查看缓存状态,缓存创建了   25.6%. 服务的缓存方案如图所示, 更改了地图文档中的  图层名称.数据源位置.另外发布了服务,相对之前服务使用了新的 服务名称,切片方案相同. 将第一个服务的已经创建的切片拷…
搭建开发环境 一.安装依赖 必须安装的依赖有:Node.Watchman 和 React Native 命令行工具以及 Xcode. 1.首先安装 Homebrew 2.安装 Node, Watchman brew install node 补充:Node.js是一个用Chrome's V8 JavaScript engine构建的 JavaScript 运行时框架.Node.js使用事件驱动.非阻塞式 I/O 模块使得它非常的轻量级和非常的高效.Node.js的生态系统 npm 是世界上最大的…