- 博客(16)
- 收藏
- 关注
原创 服务迁移启动记录
(Remote Sync,远程同步)是 Linux 系统下的数据镜像备份工具,可以远程同步, 可以在不同主机之间进行同步,可实现全量备份与增量备份,保持链接和权限,且采用优化的同步算法, 传输前执行压缩,因此非常适合用于架构集中式备份或异地备份等应用。由于服务器A内存不足了,需要将部分服务迁移至服务器B。需要在服务器B的防火墙开放相关的端口访问权限。支持本地复制,或者与其他。
2025-06-26 11:51:01
233
原创 MYSQL进阶
关系型数据库管理系统,将数据保存在不同的表中,而不是将所有数据放在一个大仓库中,这样就增加了速度并提高了灵活性。MySQL的架构可以再多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上,插件式的存储引擎将查询处理和其他的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和实际选择合适的存储引擎(常用引擎是MyISAM和InnoDB)。索引是帮助MySQL高效获取数据的数据结构。索引是数据结构) - 排好序的快速查找数据结构 - 索引会影响到where和order by后面的排序。
2025-03-19 22:32:08
926
原创 MYSQL基础
开源,免费,成本低性能高,移植性好体积小,便于安装功能类似java中的方法好处:提高重用性和隐藏实现细节调用:select 函数名(实惨列表);select 查询列表 - 7from 表1 别名 - 1连接类型 join 表 2 别名 - 2on 连接条件 - 3where 筛选条件 - 4group by 分组条件 - 5having 筛选条件 - 6order by 排序列表 - 8limit 其实条目索引, 条目数;- 9分类tinyintsmallint。
2025-03-19 22:31:14
866
原创 java加密方式
在应用程序中存储密码明文是极其危险的事情。MD5提供了最基本的安全Hash生成,使用时应为其添加salt来进一步加强它的安全性。MD5生成128位的Hash。为了使它更安全,应该使用SHA算法生成160-bit或512-bit的长Hash,其中512-bit是最强的。虽然使用SHAHash密码也能被当今快速的硬件破解,如要避免这一点,需要的算法能让暴力攻击尽可能的变慢且使影响减至最低。这时候可以使用PBKDF2BCryptScrypt算法。
2025-02-28 12:56:02
658
原创 ArrayList
ArrayList是Java集合框架中List接口与的一个实现类。中支持的对象,遍历是使用get比迭代器更快。由于ArrayList继承自,而且它的迭代器都是基于ArrayList的方法和数组直接操作,所有遍历时get的效率要>=迭代器。另外由于ArrayList不是同步的,所以在并发访问是,如果在迭代的同时有其他线程修改了ArrayList,fail-fast的迭代器Iterator会报错。因此,在并发环境下需要外部给ArrayList加个同步锁,或者直接在初始化时用。
2025-02-28 12:52:39
261
原创 HashMap
如果这和个位置上有多个元素,还需要用key的equals方法在对应位置的链表中找到需要的元素,通常equals方法一般都会根据实际的业务内容来定义。这里适用位运算,所以上面的capacity要是2的次方,因为2的次方减1得到一个全1的二进制数,做and操作就会保证索引的均匀性,否则加入某一位是0,那么这一位就永远不会在索引中出现。如果key为null,会存放在索引为0的entry,但是这个entry不一定只有key为null的value,所以需要遍历所有的entry,返回key为null的value。
2025-02-28 12:51:51
790
原创 Iterator
Iterator对集合类中的任何一个实现类,都可以返回这样一个Iterator对象,可以适用于一个类。因为集合类(List和Set等)可以装入的对象的类型是不确定的,从集合中却出时都是Object类型,用时都需要进行强制转化,这样会很麻烦,用上反省,就是提前告诉集合确定要装入集合的类型,这样就可以直接使用而不用显示类型装换,非常方便。采用LinkedList则是顺序访问比较快,iterator中的next()方法,采用的即是顺序访问的方法,因此在LinkedList里,使用iterator较快。
2025-02-28 12:51:07
719
原创 Java文件未关闭问题排查过程
打开PDF文件获取CA证书信息用于页面展示功能。由于在for循环里new了。调用各个接口检查打开的PDF文件数是否有增加。命令查看文件句柄信息,然后排查文件打开数量。对象,而只在最后的finally里关闭。找到导致文件数增加的接口,检查代码。被关闭外,其他都还占用PDF文件。导致循环中除了最后一个。代码中新增了一段通过。
2023-10-25 10:57:07
496
1
原创 ORACLE-Mybatis查询问题
Mybatis执行SQL语句后,将数据存到对应的类中,会将CLOB类型存为String。当CLOB字段长度为8000时,查询出来的数据会添加\u0000,导致数据只查询了一半(另一半都是\u0000)
2022-06-23 16:11:36
671
原创 java.net.SocketException:Connection reset
压测异常:java.net.SocketException:Connection reset最近在对一个接口做压测,测试并发1000笔时出现异常:java.net.SocketException:Connection reset\njava.net.SocketInputStream.read(SocketInputStream.java:210)\njava.net.SocketInputStream.read(SocketInputStream.java:141)\njava.io.Buffered
2022-05-10 11:20:03
7526
原创 java.io.File.exists在文件存在时返回false的BUG
java.io.File.exists在文件存在时返回false的BUG在工作上有遇到一个情况,在多服务器情况下将文件挂载于其他服务器,A服务器将文件保存到文件服务器了,B服务器需要去下载文件但是调用file.exists()方法却显示不存在,导致失败。原因在Oracle Java Bug Databse上发现了有人在2004年的1.4.2版本的Java就发现了相同的问题,他看了源码后发现是因为File.exists其实是用了Linux的stat(2)命令,如果这个命令失败了,File.exists就
2021-12-15 10:36:36
6231
2
原创 PDFBox占用过多内存的BUG
使用PDFBox将超过80页的PDF文件转图片时,会占用很多的内存,期间还执行多次垃圾回收但是没啥子用。原因后来在PDF官网发现已经给出了解决办法:I’m getting an OutOfMemoryError. What can I do?The memory footprint depends on the PDF itself and on the resolution you use for rendering. Some possible options:increase the
2021-12-13 15:59:33
6142
3
原创 Kettle内存溢出解决笔记
Kettle内存溢出解决笔记项目需要把数据从Oracle迁移至MySQL,其中一张表的某个字段特别大,会出现内存溢出的错误,做了以下调整:修改Spoon.bat的内存配置用文件打开Spoon.bat,修改配置if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m" "-XX:MaxPermSize=256m"根据电脑和项目要求修改Xms和Xmx的值修改默认缓存条数(默
2021-09-24 11:00:37
2004
原创 内存溢出&内存泄漏
内存溢出&内存泄漏内存泄漏(memory leak)一个不再被程序使用的对象或变量还在内存中战友存储空间。一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。内存溢出(out of memory)程序申请内存时,没有足够的内存供申请者使用。二者的关系内存泄漏的堆积最终会导致内存溢出内存溢出就是想要的内存空间超过了系统实际分配的空间,此时系统相当于没法满足需求,就会报内存溢出的错误内存泄漏是指向系统申请分配内存进行使用(new),可是试用完了以后却不归还(delete
2021-03-11 11:01:52
167
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅