目录
1.javaw
使用win10,jdk8 javaw打开jar包可能修改的注册表项为HKEY_CLASSES_ROOT\Applications\javaw.exe\shell\open\command,
某一次win7,jdk8修改上述注册表项没有效果,修改HKEY_CLASSES_ROOT\jar_auto_file\shell\open\command后能实现。
2.emmet插件
sublime的emmet插件的使用参考网址:sublime Text3中Emmet插件的安装和使用_H小志-CSDN博客
上面emmet插件安装过程中:
1.ctrl+shift+p打开包控制窗口,输入install package,选择安装install package control;
2.ctrl+shift+p输入install package,选择install package,sublime会自动加载可用的插件;
3.在打开的可选插件窗口中,输入emmet,选中emmet进行安装(也可以安装emmet css snippets)。
ps. 使用sublime的emmet插件,需要安装pyv8,网上教程有些繁杂,参见https://github.com/emmetio/pyv8-binaries,简洁清晰明朗,这个方法不止可以在sublime下安装pyv8,将链接中提到的PyV8文件夹复制到D:\Program Files\Python\Python36\Lib\site-packages,就可以给本机安装PyV8模块了。
3.工具选型参考模板
上图为一些工具的对比,不止对于画图软件,对于工具选型,上图中显示的一些观察角度也具有参考意义,图片来源:思维导图软件 XMind 和 MindManager 哪个更好? - 知乎
4.HTML中事件传递
Html控制dom事件的传递:event.preventDefault()与event.stopPropagation()的使用,参考: 阻止事件冒泡,阻止默认事件,event.stopPropagation()和event.preventDefault(),return false的区别_积少成多-CSDN博客_阻止默认事件
5.前端编写利器
browser-sync工具的常用命令(这是python包):
browser-sync start --server --files "**"
6.线上前端编写
线上实时编写前端工具:https://codepen.io/
7.常用工具网站
不止json内容,还有正则,加/解密,文档等
JSON在线 | JSON解析格式化—SO JSON在线工具
8.json转换
JSON 与 对象 、集合 之间的转换 - Free-Dom - 博客园
jackson完成json和对象/map/list互转_飞翔的鸡肉-CSDN博客
9.servlet的jar包引入
jsp页面报错,因为没有引入对应jsp的api,引入方式:
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
<scope>provided</scope>
</dependency>
10.JSP标准标签引入
jsp的标准标签,头标签为:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
引入依赖的jar包:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
11.javascript操作文件
javaScript读取与写入客户端文件:http://www.jb51.net/article/49867.htm
12.sessionid
当浏览器请求一个servlet,servlet内如果不去操作request与response,会使得session不创建。只是简单的相应,而该请求没有sessionid。
13.tomcat和servlet版本
tomcat使用的servlet版本对应关系:
14.springmvc获取根路径
springmvc获取系统运行的路径:
在web.xml文件中配置webAppRootKey参数并添加相应的监听器:
<listener>
<listener-class>org.springframework.web.util.WebAppRootListener</listener-class>
</listener>
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>web.root.my</param-value>
</context-param>
在需要的地方通过
System.out.println(System.getProperty("web.root.my"));
来获取,通常结果为项目路径如D:\server\Tomcat-8.0.15\webapps\tt。
15.html获取位置
获取打开窗口的相对屏幕的绝对位置:
浏览器展示内容的像素比:
window.devicePixelRatio
屏幕的像素大小:
window.screen.width
window.screen.height
若浏览器的像素比不是1,则通过$(xxx).width()获取到的大小和实际像素的大小关系为:
var realWidth = $(xx).width()*window.devicePixelRatio
16.easyui问题
i. 使用easyui-combobox指定值的属性是valueField;
使用easyui-combogrid指定值属性是idField;
在使用easyui-combogrid时,将属性指定为valueField,导致无法选择值,调了数小时 。
总结:idField或valueField不指定,或指定错误,会使得无法选择值。
ii. 在使用datagrid时,在第一页勾选了值,跳转到第二页,在回到第一页勾选的值不存在了,若要easyui记录勾选的值,需要提供idField属性,如:idField:'id'.
17.静态方法
静态方法导入:
package com.hurricane.learn.feign;
import static java.lang.Math.abs;
public class App {
public static void main(String[] args) {
System.out.println(abs(-12));
}
}
18.泛型
泛型的使用:
public <T> T target(Class<T> apiType, String url) {
return target(new HardCodedTarget<T>(apiType, url));
}
19.获取jar包中文件
获取jar包下的文件链接格式:
jar:file:/D:/Tomcat-8.0.15-app/webapps/app/WEB-INF/lib/app.jar!/META-INF/resources/app/a.txt
20.spring扫描jar包中文件
spring中扫描路径配置classpath*:可以指定扫描jar包中的文件,classpath:不扫描jar包中的文件,此外,配置jar包中指定文件的扫描路径时classpath*:+解压jar包获取到的路径如:
classpath*:META-INF/resources/**/aa.txt
21.干练的判断
经典的渐进判断(代码更简短干练):
static Class<?> comparableClassFor(Object x) {
if (x instanceof Comparable) {
Class<?> c; Type[] ts, as; Type t; ParameterizedType p;
if ((c = x.getClass()) == String.class) // bypass checks
return c;
if ((ts = c.getGenericInterfaces()) != null) {
for (int i = 0; i < ts.length; ++i) {
if (((t = ts[i]) instanceof ParameterizedType) &&
((p = (ParameterizedType)t).getRawType() ==
Comparable.class) &&
(as = p.getActualTypeArguments()) != null &&
as.length == 1 && as[0] == c) // type arg is c
return c;
}
}
}
return null;
}
22.transient关键字使用
transient使用与对象系列化:
Java transient关键字使用小记 - Alexia(minmin) - 博客园
23.工具网站
HTTP状态码详解:HTTP状态码 | 菜鸟教程,W3CSchool手册
各种使用工具:码工具 - 代码在线工具箱 (文件对比等)
站长工具:站长工具 - 站长之家 (正则表达式等)
各种状态码的意义:HTTP请求错误400、401、402、403、404、405、406、407、412、414、500、501、502解析_ningxinyu520的专栏-CSDN博客
24.mysql的伪哈希码
select crc32('aaaa') from dual; -- 将字符串转换为整形(伪哈希码)
25.xml操作
java通过xpath操作xml:java中使用xPath读取xml中的数据_puyangmengxue的专栏-CSDN博客_java xml xpath
26.mybatis传值
${sql}可以直接读取属性作为查询语句;
#{sql}只能作为一个参数传入。
27.关于socket
使用writer向输出流输出数据时,一行的结尾必须为回车("\n"),否则即使手动调用了flush方法,也无法写入。
为了方便起见,可以使用printwriter,它有一个println方法,且可以在实例化时指定自动冲刷(flush),这样每执行一次println方法,就向输出流中输出了一次数据,不需要再手动添加"\n"字符与手动调用flush方法。
28.IT相关网址
29.日志类实例化
看spring源码时,其中的日志实例定义通常为:
private static final Log logger = LogFactory.getLog(PathMatchingResourcePatternResolver.class);
当然,spring是使用的commons-logging日志接口。
30.UML学习
UML类图语言参考:类图的语法和功能
安装:在Sublime Text 3安装PlantUML插件_总长-CSDN博客
使用:使用 Sublime + PlantUML 高效地画图 - 简书
PlantUML_FamilyYuan的博客-CSDN博客_plantuml
31.各类型数据库连接
PostgreSQL:
(org.postgresql.Driver)
jdbc:postgresql://localhost:5432/test
Oracle:
(oracle.jdbc.driver.OracleDriver)
jdbc:oracle:thin:@localhost:1521:xodb
MS:
SQLServer (2005)
(com.microsoft.sqlserver.jdbc.SQLServerDriver)
jdbc:sqlserver://localhost:1433;databaseName=testdb
MySQL:
(com.mysql.jdbc.Driver)
jdbc:mysql://localhost:3306/ireport
32.数据源比较
数据库连接池性能比对(hikari druid c3p0 dbcp jdbc)_qq_31125793的博客-CSDN博客
33.javaweb汇总博客
34.jsp自定义标签
TagSupport与BodyTagSupport的区别_NRGAGA的专栏-CSDN博客
35.HTML编码演进
网页使用的编码集问题:ASCII--->ISO-8859-1----->Unicode(UTF-8(网页编码与传输等),UTF-16(用于操作系统与环境))。
ASCII为美国信息交换标准代码,由美国国家标准学会制定;
ISO-8859-1为国际标准化组织(ISO)制定;
Unicode:由于上面列出的字符集都有容量限制,而且不兼容多语言环境,Unicode 标准由Unicode联盟开发了出来 。