
Java专栏
一茗道人nview
小时候,枕头上全是口水;长大后枕头上全是泪水
小时候,微笑是一种心情;长大后微笑是一种表情
小时候,哭着哭着就笑了;长大后笑着笑着就哭了
我们终于到了小时候最羡慕的年纪,却成为了小时候最讨厌的人.
展开
-
ArrayList底层原理分析
1、底层用数组实现;2、空参构造方法,默认创建长度为0的数组;添加第一个元素时,创建一个新的长度为10的数组;3、一个个添加数据,当数组存满时,会自动扩容1.5倍;所有元素拷贝至新数组中;4、如果一次添加多个元素,1.5倍还放不下,则新创建的数组长度以实际添加长度为准;原创 2023-05-26 12:22:51 · 178 阅读 · 0 评论 -
System.arraycopy()是深拷贝还是浅拷贝?
ArrayList扩容机制,使用Arrays.copyOf(),而底层正是用的System.arraycopy();System.arraycopy()到底是深拷贝还是浅拷贝?原创 2023-05-26 11:42:36 · 809 阅读 · 0 评论 -
POI导入大批量Excel数据,解决OOM问题(可支持几十万以上)
使用xlsx-streamer读取 .xlsx格式文件,可将部分数据按次缓存到内存中,已经读取的数据进行GC处理,解决OOM问题。只支持 Excel2007版本,不支持Excel2003版本。原创 2022-10-09 22:10:25 · 2847 阅读 · 0 评论 -
ssm项目突然报错conflicts with existing, non-compatible bean definition of same name and class
一、问题背景 如题,原本项目可以正常启动无问题,经将原来的类移动新包里面后,再次启动就报错。二、问题分析 由于项目里的类移动新包后,maven没有重新编译成功,致使spring扫描注解类时显示重复冲突。三、解决办法 将编译文件classes上级目录target直接删除,重新build即可。...原创 2021-09-02 08:53:05 · 1005 阅读 · 0 评论 -
使用jdbcTemplate却使用具名参数报错
一、问题背景: 今天用jdbcTemplate写SQL,想试下能不能使用具名参数(即:冒号加参数名),结果报错:Invalid argument value: java.lang.ArrayIndexOutOfBoundsException。二、原因分析: jdbcTemplate没有对具名参数的处理,是无法使用具名参数的。三、解决办法: ①使用NamedParameterJdbcTemplate:NamedParameterJdbcTempla...原创 2021-08-19 19:19:50 · 651 阅读 · 0 评论 -
mybatis动态SQL使用注解@SelectProvider,获取bean时报错Invalid bound statement (not found)
一、问题: 明明@SelectProvider注解的没有问题,类方法名都能找到,偏偏出现这个问题: Invalid bound statement (not found)二、原因分析: 经过排查,@SelectProvider注解的方法中,存在多个参数的方法;经过各种查询,原来mybatis3.4版本以下,@SelectProvider注解的方法只能传入单个参数;三、解决方法: 将@SelectProvider注解的...原创 2021-05-24 22:11:55 · 839 阅读 · 0 评论 -
Java使用UCanAccess连接mdb数据库
话不多说,直接上代码:Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");String url = UcanaccessDriver.URL_PREFIX + "F:\\db1.mdb;newDatabaseVersion=V2003";Connection connection = DriverManager.getConne...原创 2019-05-23 17:03:31 · 1879 阅读 · 0 评论 -
Java使用jackcess操作mdb文件
由于jdk版本限制,1.7以上不能用odbc直接连接access;而Access_JDBC30.jar是收费的,免费包功能受限制,每次使用只能查询50次,每次返回数据不超过1000条;所以 可以采用jackcess操作生成mdb文件。 部分代码: 建表: 可以使用 TableBuilder tableBuil...原创 2019-05-23 17:04:53 · 2322 阅读 · 0 评论