`
文章列表
public class Test { /** * 使用递归算法实现字符串trim功能(去掉字符串首尾的空格) * @param str * @return */ public static String trimStr(String str) { if(str==null || "".equals(str)) { return str; } if(str.charAt(0)==' ') { return trimStr(str.substring(1, str.length())); ...
ASCII:        由于计算机是美国人发明的,因此最早只把127个字符编码到计算机里,即大小写英文字母、数字、部分西欧字符和一些常用符号等。 ASCII码只需要1个字节(1byte=8bit)即可存放。   Unicode:        如果想要处理非ASCII码表里的字符,显然1个字节是不够用的,因此,中国将中文字符编入了GB2312,日本将日文编入了Shift-JIS、韩国将韩文编入了Euc-kr,其他国家也有自己的编码,这样做的结果就是如果将含有多种编码格式的字符存放到同一个文本里,就会出现令人头痛的乱码问题(乱码问题本质就是解码的字典不同导致的。)         ...
在eclipse中打开properties文件时,有时会出现中文乱码问题。 解决办法: 菜单——>Preferences——>General——>ContentTypes——>Text——>Java Properties File,设置Default encoding,把下面的ISO-8859-1改为UTF-8或者GBK(推荐UTF-8),然后update,如下图所示。     
  maven-compiler-plugin 编译Java源码,一般只需设置编译的jdk版本 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.0</version> <configuration> <source>1.8</source ...

status为canceled问题

    博客分类:
  • web
问题现象:   在google浏览器上偶尔会看到status为canceled的情况: 在提交ajax时,status为canceled,导致ajax请求被终止。   问题原因: 在URL变更后,会对当前正在执行的ajax进求进行中止操作。中止后该请求的状态码将为canceled 。   解决办法: 将ajax默认的异步改成同步:         
JVM内联函数的背景: 首先来看函数的调用过程:        调用某个函数实际上将程序执行顺序转移到该函数所存放在内存中某个地址,将函数的程序内容执行完后,再返回到转去执行该函数前的地方。        这种转移操作 ...
拦截器的概念:    java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止其执行,同时也提供了一种可以提取Action中可重用部分代码的方式。在AOP中,拦截器用于在某个方法或者字段被访问之前进行拦截,然后再之前或者之后加入某些操作。   自定义拦截器的步骤:    第一步:自定义一个实现了Interceptor接口的类,或者继承抽象类AbstractInterceptor。    第二步:在配置文件中注册定义的拦截器。    第三步:在需要使用Action中引用上述定义的拦截器,为了方 ...
<!-- 配置应用监听器 --> <listener> <listener-class>com.ycq.ListenerTest</listener-class> </listener>  Servlet的监听器Listener,它是实现了javax.servlet.ServletContextListener 接口的服务器端程序,它也是随web应用的启动而启动,只初始化一次,随web应用的停止而销毁。主要作用是:做一些初始化的内容添加工作、设置一些基本的内容、比如一些参数或者是一些 ...
Filter接口源代码: public abstract interface Filter{ public abstract void init(FilterConfig paramFilterConfig) throws ServletException; public abstract void doFilter(ServletRequest paramServletRequest, ServletResponse paramServletResponse, FilterChain paramFilterChain) throws IOExcept ...
参考:https://blog.csdn.net/gao36951/article/details/53641432    在mybatis的配置文件mybatis.xml里配置: <settings>         <!-- 打印查询语句 -->         <setting name="logImpl" value="STDOUT_LOGGING" />     </settings>
又叫生成器模式。   建造者模式应用场景: 当一个类的内部数据过于复杂的时候,要创建的话可能就需要了解这个类的内部结构,这个时候就会增加学习成本而且会很混乱,怎么在创建的时候让它按部就班的来,并且代码可读性很好别让我看花了眼啊,我要的东西也能都很好设置进来,这就是Builder模式的应用场景。   最典型的就是StringBuffer和StringBuilder这两个类的append用法。 StringBuffer sb = new StringBuffer(""); sb.append("a").append("b") ...
使用powerDesigner 15时,如果DBMS没有选择mysql,而是默认的sybase,则在设置自增主键时不会出现identity,可以按照下面的方法修改:               
参考:https://www.cnblogs.com/qingqing-919/p/8444828.html   先设置fiddler: Tools——>Options——>Connections: 输入端口(默认8888),并将允许远程机器连接勾选上(同时要保证电脑的防火墙关闭)。     再配置手机代理: 先连上和电脑同一个局域网的无线网络,然后在无线网络模块设置代理:   然后就可以使用fiddler代理了。
  动态 SQL 是 mybatis 的强大特性之一,也是它优于其他 ORM 框架的一个重要原因。mybatis 在对 sql 语句进行预编译之前,会对 sql 进行动态解析,解析为一个 BoundSql 对象,也是在此处对动态 SQL 进行处理的。在动态 SQL 解析阶段, #{ } 和 ${ } 会有不同的表现 select * from user where name = #{name}; #{} 在动态解析的时候, 会解析成一个参数标记符。就是解析之后的语句是: select * from user where name = ?;     那么我们使用 ...
PC端首页URL:http://2.suning.com/ 性能测试结果:https://gtmetrix.com/reports/2.suning.com/84Mekq0g     问题和优化方案: 问题1. 部分图片尺寸过大 优化方案:对这些图片采用webp方式访问,并优化图片懒加载   问题2. 部分请求没有加CDN 优化方案:对首页请求后端的接口加上CDN缓存   问题3. css文件引用的图片没有合并 优化方案:将css中引用的图片进行合并   问题4. 静态资源文件(js、css)没有压缩 优化方案:在上传静态资源文件到cms服务器时,勾选压缩模式。 ...
Global site tag (gtag.js) - Google Analytics