2k 2 分钟

如果使用 “+” 号拼接字符串,且 “+” 号两边都是常量,则 jvm 编译时做计算;如果存在变量,则在运行时做计算; 使用 final 修饰的变量,可在 jvm 编译时做处理; 使用 String.intern () 只要访问的常量相同,他们必然是同一个; /** * <p> * <code>Test</code> * </p> * Description: 《java 特种兵》书中代码 * * @author Mcchu * @date 2017/12/5 15:57 */public class...
1.5k 1 分钟

代码: /** * 使用 while 查找值所在位置 * @param arr 目标数组,必须是排序后的 * @param value 查找目标值 * @return 位置 */ private static Integer binarySearch1( Integer[] arr, Integer value ){ int low = 0; int high = arr.length-1; while ( low<high ){ int middle = (low+high)/2; if ( value == arr[middle]...
1.2k 1 分钟

使用 chrome 的 F12 developer console 调试,使用 window.prompt () 方法未弹窗 原因:控制台的 Dock side 视图设置成了 Undock into separate window,改成内嵌的视图即可,官方解释如下 If a document in a background tab calls window.prompt() then the call to prompt() will return immediately, and no dialog will be shown to the user for that call to...
13k 12 分钟

在《深入理解 java 虚拟机》学习的第四章,Java 虚拟机自身为我们提供了多种虚拟机性能监控与故障处理工具,这里做一下记录,方便以后查阅。 参考官方文档:JDK Tools and Utilities # 如何查看一个 java 虚拟机进程,可以使用 ps 查,如下 [root@yjyapp ~]# ps -elf|grep java0 S root 5816 1 0 80 0 - 2071759 futex_ Nov09 ? 04:29:00 /home/jdk1.7/jdk1.7.0_80/bin/java...
1.4k 1 分钟

###Setting### log4j.rootLogger = debug,stdout,D,E,I ###Output to console### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = [%-5p]...
18k 17 分钟

# 使用背景 公司项目中需要导出 Excel,使用了 freemarker 模板。 # 操作步骤 首先自己新建一个 Excel 表格,在里面写好自己的格式(最好同时写好一行假数据), 然后另存为 xml 格式的文件 使用 nopad++ 或其他编辑器打开 xml 文件(最好代码格式化一下),可以看到样式和数据都已经生成好了,我们可以直接将这个 xml 文件作为我们的 free marker 模板(拿来即用) <?xml version="1.0"...
149 1 分钟

public static void main(String[] args) { BigDecimal b = new BigDecimal("20").divide(new BigDecimal("3"), 2, BigDecimal.ROUND_UP); System.out.println( b ); }
787 1 分钟

经常使用类似 left join 做查询,偶尔遇到两张表的字段名相同(即 column 名字一致),此时可以在 mybatis 中这样配置 例子: <select id="demo" resultMap="DemoResultMap"> SELECT DISTINCT t1.username, t1.password, t2.username "t2_username", t2.age FROM table1 t1 LEFT JOIN table2 t2 ON t1.id = t2.id WHERE t1.age...
898 1 分钟

如果你在一个函数中重复写这个 id 的选择器,你就可能遇到这种警告,而这种警告通常实在 Intellj 系列的编辑器中显示,警告截图如下: 上面代码中两处使用了同一个 id 选择器,JQuery 建议你使用一个变量去存储这个选择器,而不是每次用的时候便拿来调用一下,它不会帮你做缓存,而是重新去取。可以参考 StackOverflow...