- 博客(18)
- 收藏
- 关注
原创 MySQL 修改时返回受影响行数为 0
刚刚在测试接口时,修改一直提示提交失败,很奇怪,之前跟移动端联调接口时,也偶尔会出现这样的问题,sql 确定没问题,怎么就提交失败呢?因为是偶尔出现的情况而且不知道怎么复现,就安慰自己说是可能有什么机制当sql连接超过某个时间就不执行了也就没有多思考。现在再次遇到这个情况才认真的捋了捋,当接口中判断到修改的返回执行行数为0时就返回提交失败,代码如下: if (mobileU...
2018-06-01 11:20:05 5679
原创 深入理解Java虚拟机学习笔记---类加载的时机
前言 类在内存中生命周期包括:加载、验证、准备、解析、初始化、使用和卸载。其中验证、准备、解析三部分称为连接(此处不做过多说明,会单独在另外的文章中详细讲述)。 那么,类在何时会被加载呢? Java虚拟机规范并没有强制约束类加载的第一个阶段“加载”何时进行,但它对于“初始化”做了严格的规定,那么也就间接地规定了“加载”类的时机,因为“加载”必须在要在初始化之前开始。 本文中...
2018-04-17 17:02:55 218
原创 Serial/Serial Old 和 Parallel Scavenge/Parallel Old 对象内存分配对比
1.前言 本渣最近在学习《深入理解Java虚拟机 JVM高级特性与最佳实践》,看到关于对象内存分配的时候,书中有段测试对象分配的代码,自信满满地以为已经理解了其内存分配策略,结果自己在电脑上敲了一下,发现并不是那么回事,运行结果根本不一样,这是怎么回事呢?难道是作者大神搞错了?不,一定不是。分析本机GC日志发现,代码示例和本机默认使用的收集器不一样,代码示例中用的是 Serial/Seria...
2018-04-05 14:10:50 545
原创 排序算法 Java 实现
1. 冒泡排序进阶之路 /** * 最简单的交换排序:每个数与之后的所有数比较 * @param arr */ public void simpleSort(int[] arr){ for (int i = 0; i < arr.length; i++) { for (int j = i+1; j < arr.length; j++) { if(arr[...
2018-03-05 16:07:37 264
原创 UEditor(JSP版)使用总结
1.背景 公司一个后台模块要用到插入表格的功能,之前项目中使用的是 Umeditor,UEditor 的迷你版,然后悲催地发现 umeditor 中并没有插入表格的功能,好吧,只能换插件了。因为对百度富文本的风格较为熟悉,所以果断换完整版的 UEditor 了。于是开始了貌似短暂却充满艰辛的 ueditor 探(tong)索(ku)之路。2.引入 Editor 插件(1
2018-02-02 15:47:54 2107
原创 二叉树
二叉树:每个结点最多有两个子树的树结构。左右两个子树分别为“左子树”和“右子树”,无子树的结点称为“叶子”。完全二叉树:若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在左边。满二叉树:除了叶子结点外,其余结点均有左右孩子。特殊的完全二叉树。若满二叉树深度为k,则其节点数为2^k-1。深度:树的最大层次。
2016-11-14 18:05:25 344
原创 struts2 登录拦截,以及涉及到的session的方法
一、struts2 拦截登录 功能描述:登录进去的用户存在session中,若用户执行退出系统或者未登录系统,则无论访问哪个action或者页面,只能停在登录页面。 实现:1.LoginInterceptor.javapublic class LoginInterceptorimplements Interceptor { pr
2016-07-04 09:41:04 1804
原创 编程的智慧
改写循环的办法有多种:1.如果出现了continue,你往往只需要把continue的条件反向,就可以消除continue。2.如果出现了break,你往往可以把break的条件,合并到循环头部的终止条件里,从而去掉break。3.有时候你可以把break替换成return,从而去掉break。4.如果以上都失败了,你也许可以把循环里面复杂的部分提取出来,做成函数调用,之后cont
2016-07-04 09:35:38 429
原创 java基础
1.自动类型转换:目标类型大于源类型(double类型a = int类型b)2.当使用逻辑运算符时,我们会遇到一种很有趣的“短路”现象。譬如:( one > two )&& ( one two 运行结果为 false , 则系统就认为已经没有必要执行右侧的one 同理,在( one three ) 中,如果能确定左边表达式的运行结果为true , 则系统也同样会认为已经没有必要再进
2016-05-15 17:33:15 329
原创 Java 多线程之死锁
程序如下:public class DeadLockTest implements Runnable{ privateint flag = 1; privatestatic Object obj1 = newObject(); privatestatic Object obj2 = newObject(); @Override
2016-05-15 17:15:21 409
原创 Java 多线程扩展之JMM
JMM(Java MemoryModel) 内存模型:描述了程序中各个变量(实例域、静态域和数组元素)之间的关系,以及在实际计算机系统中将变量存储到内存和从内存中取出变量这样的底层细节。 Java内存模型,其基本原则: Happens-Before:这个关系表示“一段代码在其他代码开始执行前已经执行完毕”。 Synchronize
2016-05-15 17:13:18 432
原创 Java 多线程之基础
进程:程序执行的动态过程,持有资源和线程。线程:系统中最小的执行单元,一个进程可以有多个线程,这些线程共享进程中的资源。临界区:一个访问共用资源(例如:共用设备或是共用存储器)的程序片段,而这些共用资源又无法同时被多个线程访问的特性。java实现多线程有两个方法:继承Thread类或者实现Runnable接口,无论使用哪种方法都需要重写或实现其run()方法。Thre
2016-05-15 16:28:52 485
原创 Maven
maven 目录结构maven 常用命令maven 生命周期maven pom.xml详解maven 聚合与继承创建maven web工程
2016-03-27 11:15:09 1359
原创 web工程中普通 java 类使用 properties 配置文件中属性
web工程中普通 java 类使用 properties 配置文件中属性的方法:获取当前 java 类所在磁盘绝对路径,拼接配置文件所在磁盘路径。
2016-01-28 10:37:09 473
原创 Java读取excel文件写入txt
package com.zhaoxueer.program;import java.io.File;import java.io.FileNotFoundException;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList
2016-01-25 17:32:02 840
原创 Java读取文件内容的三种方式
package com.zhaoxueer.program;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOEx
2016-01-25 17:06:22 609
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人