【JAVA】Java基础
孟令杰
互联网技术研究
展开
-
ibaits防止注入
对于ibaits参数引用可以使用#和$两种写法,其中#写法会采用预编译方式,将转义交给了数据库,不会出现注入问题;如果采用$写法,则相当于拼接字符串,会出现注入问题。例如,如果属性值为“' or '1'='1 ”,采用#写法没有问题,采用$写法就会有问题。对于like语句,难免要使用$写法, 1. 对于Oracle可以通过'%'||'#param#'||'%'避免; 2. 对于My原创 2014-02-21 10:54:54 · 413 阅读 · 0 评论 -
JAVA8 新特性
前言: Java 8 已经发布很久了,很多报道表明Java 8 是一次重大的版本升级。在Java Code Geeks上已经有很多介绍Java 8新特性的文章,例如Playing with Java 8 – Lambdas and Concurrency、Java 8 Date Time API Tutorial : LocalDateTime和Abstract Class Versus Inte原创 2018-01-08 12:25:57 · 370 阅读 · 0 评论 -
Java中的Collection和Map详解
线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。Collection ├-List │ ├-LinkedList │ ├-ArrayList │ └-Vector │ └-Stack └-Set原创 2016-08-25 08:42:19 · 6030 阅读 · 0 评论 -
区间值比较算法
/** * @author 孟令杰 * @time 2017年9月28 */package com.system.utils;import java.math.BigDecimal;public class CarConsumScoreUtils { private Integer purchaseScore;//购车费用评分 private Integer upkeepSco原创 2017-11-13 09:23:00 · 4100 阅读 · 0 评论 -
Eclipse远程调试Tomcat方法
Linux中配置tomcat在catalina.sh中添加如下CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5888"(不要换行,要在同一行)Eclipse debug 下点击Debug Configurac...原创 2017-10-25 13:47:42 · 378 阅读 · 0 评论 -
velocity学习笔记
转载自:http://wiki.hotoo.me/Velocity-Notes.htmlVelocity Notes变量名$name为空时打印变量本身。$!name为空时打印空字符串(不打印任何内容)。${name}类似 $name,为空时原样打印。但可以将变量和连续的字符串分隔,例如:${name}space。$!{name}类似 $!name,为空时打印空字符串,但转载 2017-09-30 10:07:11 · 479 阅读 · 0 评论 -
基于SonarQube实现代码扫描的团队定制
目前笔者所在的团队接入代码扫描的应用有七十多个,四百万行左右的代码。SonarQube自带的代码规则加上Findbugs的规则,一共有近五百条规则,因此在违规较多的时候,仅严重+阻断两个级别的违规总量可达到四千个。如果加上其他比较轻的等级的违规,千行代码违规可达到80到90之间。那么面对如此多的违规,要是每一个都要求研发去修改,那是不现实的。团队在最初实施代码扫描的时候,总是会收到研发团队反馈说“转载 2016-09-02 09:16:03 · 5505 阅读 · 1 评论 -
JAVA_HOME环境变量失效的解决办法
JAVA_HOME的环境变量值根本不是这个目录,到CMD命令窗口下,用echo %JAVA_HOME%,也显示正常,但是java -version时,显示java的home目录仍然是C:\Java\jre7,"百撕不得妻姐"之后,去问了度娘,原来JDK如果执行过安装程序后,会在HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environme原创 2017-07-03 19:49:57 · 978 阅读 · 1 评论 -
危险!在HashMap中将可变对象用作Key
本文中我们将会讨论在Java HashMap中将可变对象用作Key。所有的Java程序员可能都在自己的编程经历中多次用过HashMap。那什么是HashMap呢?HashMap是一种用哈希值来存储和查找键值对(key-value pair,也称作entry)的一种数据结构。为了正确使用HashMap,选择恰当的Key是非常重要的。Key在HashMap里是不可重复的。内容什么是转载 2016-08-24 17:56:36 · 1206 阅读 · 0 评论 -
Java 程序员必须收藏的资源大全
我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理。awesome-java 就是 akullpp 发起维护的 Java 资源列表,内容包括:构建工具、数据库、框架、模板、安全、代码分析、日志、第三方库、书籍、Java 站点等等。古董级工具这些工具伴随着Java一起出现,在各自辉煌之后还在一直使用。Apache转载 2016-09-02 09:12:57 · 2835 阅读 · 0 评论 -
java synchronized同步静态方法和同步非静态方法的异同(淘宝面试问过此问题)
synchronized关键字有两种用法,一种是只用于方法的定义中,另外一种是synchronized块,我们不仅可以使用synchronized来同步一个对象变量,你也可以通synchronizedl来同步类中的静态方法和非静态方法。synchronized块的语法如下:[java] view plaincopyprint?public void method原创 2014-02-21 15:29:28 · 1253 阅读 · 0 评论 -
JDK1.4和JDK1.5的区别
增强的for循环 一、为了迭代集合和数组,增强的for循环提供了一个简单、兼容的语法。有两点值得一提: Init表达式在循环中,初始化表达式只计算一次。这意味着您通常可以移除一个变量声明。在这个例子中,我们必须创建一个整型数组来 保原创 2010-02-03 13:53:00 · 1236 阅读 · 2 评论 -
JAVA回调函数 接口类型参数
package com.jd.ls.job.destroy;public interface ComputeCallBack {public void onComputeEnd();}package com.jd.ls.job.destroy;public class TestCallBack {public void compute(int n, ComputeCallBack ca...原创 2019-04-09 15:23:22 · 1002 阅读 · 0 评论