order by date
2016-04-14
-
将Print Spooler系统服务设置为手动启动, 会影响 LPD Service服务。停止。所以一并设置。
reason:Print Spooler系统服务是打印机相关的服务, 描述为:将文件加载到内存后供稍后打印 LPD Service 描述为:使用TCP/IP和行式打印机远程工具协议。。。。。打印机相关。
- 删除window服务 sc delete Apache2.4
- 修改tomcat,在目录下显示文件夹内容,有什么文件
<servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>true</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>
将listening的false是型改为true,即可
2016-04-28
break和continue
break的作用是跳出当前循环块(for、while、do while)或程序块(switch)。在循环块中的作用是跳出当前正在循环的循环体。在程序块中的作用是中断和下一个case条件的比较。
continue用于结束循环体中其后语句的执行,并跳回循环程序块的开头执行下一次循环,而不是立刻循环体。
2016-04-30
Timer 类和TimeTask类
notify(), wait();
2016-05-21
如果某个Servlet的映射路径是’/’则该Servlet是缺省Servlet,他处理所有其他Servlet都不处理的请求。 (所有的请求都是访问Servlet的,访问网页资源的时候正是通过缺省Servlet来实现的)
2016-05-26
短信接口 sgip
java读取配置文件
Properties p = new Properties();
try {
InputStream propfile=Config.class.getClassLoader().getResourceAsStream(configFile);
p.load(propfile);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
2016-05-28
db4o的apide 汉化 查看计算机端口使用情况 netstat -a -n 查看端口被什么应用所使用 netstat -a -n -b 合并写 -anb
<marquee>123</marquee>跑马灯效果 html一共52个标签
<b>加粗文本
<i>倾斜文本
<hr/>横线
xhtml 文档类型声明
<sub>下标字 <sup>上标字
修改快捷键修改快捷键修改快捷键
2016-06-05
添加本地安全策略,阻止别人ping自己 win+R secpol.msc-参考文章地址 主要是修改本地网络层的icmp协议
2016-06-06
- 修改console.查看所有console 可以如下设置 preference->run/debug->console 设置limit console output 为false,方便调试时,查看全部console。
- cris添加视频质量监控功能.
2016-06-07
- Druid连接池简单入门配置–alibaba做数据库监控的datasource
- 正则表达式贪婪与非贪婪模式–正则的贪婪和非贪婪模式
- 贪婪加一个
?
- Java RMI 框架(远程方法调用)
字符读取
while (br.ready()) {
myreadline = br.readLine();
rtString=rtString+myreadline;
}
2016-06-08
xml xpath
解析XML的时候,如果将Namespace打开,则在解析生成document的时候,会查询里面是否有Schema,查询xmln。
如果没有还好,如果有的话,但是链接失效了,那么,就会返回很糟糕的数据。
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
// do not setNamespace Aware = true unless the Schema is exist!
//factory.setNamespaceAware(true); 有则true,反则false;
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(is);
xpth异常
-
The markup in the document following the root element must be well-formed. XML是树状结构,一定要有个最外层的标签套住
-
Invalid byte 1 of 1-byte UTF-8 sequence
异常分析和解决“org.dom4j.DocumentException: Invalid byte 1 of 1-byte UTF-8 sequence.”
异常分析和解决: 分析: 该异常由下面的reader.read(file)
;语句抛出:SAXReader reader = new SAXReader();
Document doc = reader.read(file);
产生这个异常的原因是: 所读的xml文件实际是GBK或者其他编码的,而xml内容中却用<?xml version="1.0" encoding="utf-8"?>
指定编码为utf-8,所以就报异常了! 解决方法: 在解析XML前,将XML编码为UTF-8。 如:req.setCharacterEncoding("UTF-8");
如:new ByteArrayInputStream(submitDataParam.getBytes("UTF-8"))
-
Invalid byte 2 of 2-byte UTF-8 sequence
异常分析和解决 原因: saxReader.read()读取的流中包含中文报错: 解决:SAXReader saxReader = new SAXReader(); byte[] bytes = requestMsg.getBytes(); InputStream in = new ByteArrayInputStream(bytes); InputStreamReader strInStream = new InputStreamReader(in, "GBK"); //即在读流时指定编码 Document document = saxReader.read(strInStream);
map遍历
Map<String, String> map = new HashMap<String, String>();
map.put("1", "value1");
map.put("2", "value2");
map.put("3", "value3");
//第一种:普遍使用,二次取值
System.out.println("通过Map.keySet遍历key和value:");
for(String key:map.keySet()){
System.out.println(key+"-----"+map.get(key));
}
//第二种
System.out.println("通过Map.entrySet使用iterator遍历key和value:");
Iterator<Map.Entry<String,String>> it=map.entrySet().iterator();
while(it.hasNext()){
Entry<String,String>entry=it.next();
System.out.println(entry.getKey()+"------"+entry.getValue());
}
//3.第三种:推荐,尤其是容量大时
System.out.println("通过Map.entrySet遍历key和value");
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}
//4.
System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
for (String v : map.values()) {
System.out.println("value= " + v);
}
String的内存问题
String str=new String(MSG_L_SPLIT);
String strr=str;//此时strr只是str的引用
以后使用引用,
char MSG_C_SPLIT[] = { 0x09 };
String n = String.valueOf(MSG_C_SPLIT);
System.out.println("-"+n+"-");
public static String valueOf(char data[]) {
return new String(data);
}
取消avalon在页面加载之前显示花括号问题
.ms-controller,.ms-important,[ms-controller],[ms-important]{
visibility: hidden;
}
//直接使用append(char数组,不需要new Stirng())
char MSG_C_SPLIT=0x09;
System.out.println("12"+MSG_C_SPLIT+"22");
char MSG_L_SPLIT[] = { 0x0d, 0x0a };
StringBuffer sb=new StringBuffer("888");
sb.append(MSG_L_SPLIT);
2016-06-10
- innerHTML:元素标签内部的文本,包含HTML标签
- innerText:……………….不
- outerHTML:包含元素自身的标签
- outerText
- nodeName
- parentNode
- childNodes
- nextSibling:下一个同胞节点
- previousSibling:上一个同胞节点
- style:
事件
- onload:页面或图片加载完毕后
- onclick:
- ondblclick:双击
- onkeydown:键盘某按键按下
- onkeypress:键盘某按键按下并松开
- onkeyup: 键盘某按键松开
- onmousedown: 鼠标按钮按下
- onmousemove: 鼠标移动
- onmouseout: 鼠标从某元素移开
- onmuseover:鼠标移到某元素
- onmouseup:鼠标松开
2016-06-14
window.location.href
和document.location.href
可以被赋值,然后跳转到其它页面,document.URL
只能读不能写
2016-06-17
js获取当前网站信息
url:location.protocol+"//"+location.host+"/interview/date/select.do"
aop配置.切面
2016-06-24
word-wrap:break-word;
table中文字自动换行
style="text-align:center;vertical-align:middle"
2016-06-27
阻抗不匹配 对象转关系的浪费
2016-06-29
alt+shift+j
eclipse自动生成注释
SELECT
*
FROM
hfvast_alarm
WHERE STR_TO_DATE(alarmTime, '%Y%m%d%H%i%s') > STR_TO_DATE('201606290000', '%Y%m%d%H%i%s')
AND STR_TO_DATE(alarmTime, '%Y%m%d%H%i%s') < STR_TO_DATE('201606282359', '%Y%m%d%H%i%s')
AND messageType IN ('yes1', 'yes2')
2016-07-04
如果eclipse项目名出现红色大感叹号–jar包路径错误或missing
cookie的最大限制为4096字节
2016-07-05
$.post('yourAction',{'orgid':id},function(data){
if(typeof JSON == 'undefined'){
$('head').append($("<script type='text/javascript' src='page/duty/Scripts/json2.js'>"));
}
})
2016-07-10
- style=”position: absolute;” 设置此属性值为 absolute 会将对象拖离出正常的文档流绝对定位而不考虑它周围内容的布局。
- SOA架构
git tag
显示所有标签git checkout tagname
检出对应标签下的内容
2016-07-13
ZXUSS_VS8000CID=省中心USS 西单4K直播转码 频道断流告警 频道入向码流中断 停止转码
2016-07-14
html 页面相关 tab 缩进,, Shift+tab 删除缩进
1. 禁止浏览器或代理服务器 cache 页面,页面后退功能将失效 by zzq
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
2. 添加Image对象和HTMLImageElement
var img1 = new Image(); // HTML5 Constructor
img1.src = 'loading.gif';
img1.alt = 'alt';
document.body.appendChild(img1);
var img2 = document.createElement('img'); // use DOM HTMLImageElement
img2.src = '234.png';
img2.alt = 'alt text';
// document.body.appendChild(img2);
// using first image in the document
alert(document.images[0].src);
3. 屏蔽F5刷新 其他键类似获取keycode值即可
with (event){
if (keyCode==116){ //116为f5键
event.keyCode = 0; //取消按键
event.cancelBubble = true; //取消事件处理
return false;
}
}
-Xms512m -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m
eclipse 查看变量或方法被调用的快捷键如下:
- 双击选中变量或者方法
- 键盘上Ctrl+shift+G组合键,如下图显示结果:
- Ctrl+Shift+T:查找类
- Ctrl+Shift+G;类在哪里被调用
- 选中类的名称,然后按F4:查看类的继承关系
- Ctrl+Shift+- 折叠代码
2016-07-15
js中定义全局变量
- function最外层使用 var x=4; x即为全局–显式定义
- function内部定义 不带var定义 y=5 当该function运行后, y就会变为全局
- window.test=6; eg:window.jQuery = window.$ = jQuery;
- 全局变量的优点:
- 可以减少变量的个数,减少由于实际参数和形式参数的数据传递带来的时间消耗。
- 全局变量的缺点:
- 全局变量保存在静态存贮区,程序开始运行时为其分配内存,程序结束释放该内存。与局部变量的动态分配、动态释放相比,生存期比较长,因此过多的全局变量会占用较多的内存单元。
- 全局变量破坏了函数的封装性能。函数象一个黑匣子,一般是通过函数参数和返回值进行输入输出,函数内部实现相对独立。但函数中如果使用了全局变量,那么函数体内的语句就可以绕过函数参数和返回值进行存取,这种情况破坏了函数的独立性,使函数对全局变量产生依赖。同时,也降低了该函数的可移植性。
- 全局变量使函数的代码可读性降低。由于多个函数都可能使用全局变量,函数执行时全局变量的值可能随时发生变化,对于程序的查错和调试都非常不利。 因此,如果不是万不得已,最好不要使用全局变量。
- git pull origin master 拉取远程更新
2016-07-18
js 闭包理解,类似于java中类的写法 提供了对外的getter setter 方法
java js 中的 按值传递 按引用传递 按共享传递
var obj = {x : 1};
function foo(o) {
o.x = 3;
}
foo(obj);
console.log(obj.x); // 3, 被修改了!
var obj = {x : 1};
function foo(o) {
o = 100;
}
foo(obj);
console.log(obj.x); // 仍然是1, obj并未被修改为100.
基本类型是按值传递,而对于对象来说传入的是对象指向的地址,也可以认为其是特殊的按值传递。如果在函数内对对象的属性进行操作,实际就是对其指向对象的属性进行操作。但是,如果对其整体进行操作(比如:o = 100或者o = []),其实际是新定于了对象,实参的引用地址为新的对象的引用地址,与原来的引用没有任何关系,所以不会对原来的对象造成改变。
2016-07-19
java 创建对象的五种方式
- new关键字
- Class.forName(…).newInstance()
- Constructor.newInstance()
- clone();需要实体类实现cloneable接口,并重载其方法
- 反序列化.
新知识 clone的浅克隆和深克隆
- 浅 上面第四种.生成的新对象的属性如果是对象还是会引用同一个对象
- 深
- 对象及其属性对象都实现如上第四步
- 反序列化,记得实现Serializable接口声明
onload 和 DOMContentLoaded事件 一个是页面元素全部加载完成,一个是dom加载完成,其他图片什么不需要记载完成
angular js
- 浏览器载入HTML,然后把它解析成DOM。
- 浏览器载入angular.js脚本。
- AngularJS等到DOMContentLoaded事件触发。
- AngularJS寻找ng-app指令,这个指令指示了应用的边界。
- 使用ng-app中指定的模块来配置注入器($injector)。
- 注入器($injector)是用来创建“编译服务($compile service)”和“根作用域($rootScope)”的。
- 编译服务($compile service)是用来编译DOM并把它链接到根作用域($rootScope)的。
- ng-init指令将“World”赋给作用域里的name这个变量。
- 通过的替换,整个表达式变成了“Hello World”。
涉及到原生js的闭包和原型链 在angular中为作用域
运行$digest循环 通过$parse这个内部服务来进行表达式的运算 调用$parse实现手动解析表达式 $watch监听
2016-07-20
- 必填项
验证某个表单输入是否已填写,只要在输入字段元素上添加HTML5标记required即可:
<input type="text"
required/>
avalon配置
禁用自带加载器
avalon.config({
loader:false
})
.ms-controller{
visibility:hidden
}
修改花括号
avalon.config({
interpolate:["[[","]]"];
})
作用域绑定
ms-controller 会向上一级查找
ms-important 不会.....
ms-skip 不应用任何vm属性
显示隐藏与双向绑定
双向同步/双工绑定
ms-duplex(双工)
ms-visible(显示隐藏)
ms-click
ms-class
ms-attr
ms-href
ms-src
ms-duplex-string="sex"
2016-07-24
Faststone Capture注册码 用户名:c1ikm 注册码:AXMQX-RMMMJ-DBHHF-WIHTV 或 AXOQS-RRMGS-ODAQO-APHUU
2016-07-27
parameter是指函数定义中参数,–形参 argument指的是函数调用时的实际参数。–实参
<form action="comm_addProduct.do?method=saveProduct" method="post" enctype="multipart/form-data">
<input name="imgFile" id="imgFile" type="file" />
</form>
这里只需注意关键的地方,就是在FORM表单里必须有enctype=”multipart/form-data”属性。
当前台的表单提交到后台后,我们重点来注意后台是如何处理上传过来的文件的。关键代码如下:
/**
* 上传图片文件,并保存到指定的路径当中
*/
public void addImage(HttpServletRequest request,String path1,String path2) {
//转型为MultipartHttpRequest(重点的所在)
MultipartHttpServletRequest multipartRequest= (MultipartHttpServletRequest) request;
//获得第1张图片(根据前台的name名称得到上传的文件)
MultipartFile imgFile1 = multipartRequest.getFile ("imgFile");
//定义一个数组,用于保存可上传的文件类型
List fileTypes = new ArrayList();
fileTypes.add("jpg");
fileTypes.add("jpeg");
fileTypes.add("bmp");
fileTypes.add("gif");
//保存第一张图片
if(!(imgFile1.getOriginalFilename() ==null || "".equals(imgFile1.getOriginalFilename()))) {
/* 下面调用的方法,主要是用来检测上传的文件是否属于允 许上传的类型范围内,及根据传入的路径名
* 自动创建文件夹和文件名,返回的File文件我们可以 用来做其它的使用,如得到保存后的文件名路径等
* 这里我就先不做多的介绍。
*/
File file1 = this.getFile(imgFile1, fileTypes, path1,path2);
}
}
其实上面的代码还是比较简单的,重点再于将我们常见的request对象转换为MultipartHttpRequest对象,有了这个对象,我们就可以得到用户上传的文件了,在上面我们还做了一些事,那就是判断用户上传的文件类型是否属于我们所定义的那个一、判断用户上传的文件是否属于我们定义的类型范围之内,第二、将文件保存到指定的路径,这个路径是我们自己创建的。
/**
* 通过传入页面读取到的文件,处理后保存到本地磁盘,并返回一个已经创建好的File
* @param imgFile 从页面中读取到的文件
* @param typeName 商品的分类名称
* @param brandName 商品的品牌名称
* @param fileTypes 允许的文件扩展名集合
* @return
*/
private File getFile(MultipartFile imgFile,String typeName,String brandName,List fileTypes) {
String fileName = imgFile.getOriginalFilename();
//获取上传文件类型的扩展名,先得到.的位置,再截取从.的下一个位 置到文件的最后,最后得到扩展名
String ext = fileName.substring(fileName.lastIndexOf(".") +1,fileName.length());
//对扩展名进行小写转换
ext = ext.toLowerCase();
File file = null;
//如果 扩展名属于允许上传的类型,则创建文件
if(fileTypes.contains(ext)) {
file = this.creatFolder(typeName, brandName, fileName);
try {
imgFile.transferTo(file); //保存上传的文 件
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
return file;
}
2016-07-28
$ netstat -aon|findstr "5037"
TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 9840
查找端口号是5037被谁占用,结果显示被pid围9840的程序占用.
2016-07-31
- JMX Java Management Extensions,即Java管理扩展
- JMS 消息发送与接收
- RMI java 远程调用
- 为tomcat开启jmx
- Sigar jar包
- Ctrl+Shift+V 打开vscode md的窗口