标签: Java

JAVA类实现导出数据库多表INSERT语句
By: Date: 2022年5月10日 Categories: 程序 标签:

最近要把生产数据库的部分基础配置数据同步到新的测试环境用于测试使用,但由于生产环境网络和测试环境不通,DBA又不给支持,那么只能自己动手丰衣足食了。原本MySQL安装目录下可以使用mysqldump命令来对mysql数据库进行转储或者备份,它通过连接MySQL数据库,将需要转储的数据查询出来,再将查询结果转换成对应的Insert语句。通过这种方式,可以对单个库,多个库,或者多张表进行转储。但是有一个前提是我们需要知道数据库的安装目录或者能够使用这个命令来操作。但是现在我们没有,于是唯一的办法就是自己来加工了。... 阅读详情

Read More →
记一次线上应用宕掉的问题分析
By: Date: 2022年1月27日 Categories: 程序 标签:

前几天生产服务器上部署的应用出现了故障,搞的兄弟们惊出一身冷汗。几十个节点的应用正一个接一个的挂调,持续下去会直接导致提供给外部的高并发服务不可用,影响一系列上下游业务正常进行。在观察后台的监控后发现,CPU正常,但内存在一个很短的时间内出现飙高的情况。观察了几台挂掉的机器,都是相同的问题。为了在出现问题后为不影响线上业务,让同事第一时间对出现问题的应用进行了重启。重启之后,服务又稳定正常运行,事后我们对线上的问题进行了具体的分析。... 阅读详情

Read More →
Controller写一个就够了,其他的都简单了
By: Date: 2021年12月8日 Categories: 程序 标签:

基础的代码写的越多,就越不想再重复的去写。总有一天当你对所有Controller都厌烦的时候,就该静下来想想能否将代码更加的抽象,精炼,或者做成一个通用的功能,让我们不用增加一张数据表就需要去写一套接口。在这里,分享一个通用的Controller基类来集成这些通用的操作抛砖引玉,在这样的一个BaseController基类中,我们需要考虑的是在原来独立的Controller上所做的工作如何通用的在基类上实现。... 阅读详情

Read More →
关于线程池,你该知道的都在这儿!
By: Date: 2021年2月24日 Categories: 程序 标签:, ,

线程池的优点自不必说,重用已有的线程,可以有效减少线程创建及销毁对性能造成的损失。并且通过有效控制线程数量,可以避免资源拥堵,或提高系统资源的使用率。但如何用好线程池才是重点,本篇就通过一个简单的例子,重温线程池相关的知识点。... 阅读详情

Read More →
Java连接查询Paradox数据库*.DB文件
By: Date: 2017年7月7日 Categories: 程序 标签:

Paradox数据库是一个关系型数据库,现在看来它已经非常的古老了,而且在这之前没有听说过,但依然还有一些现行的系统中使用它,而且早期Delphi的程序用它比较多,好了这个关系先不深究了。现在客户给的数据库文件需要导入到我们的系统中,我们采用的策略是上传数据库文件,通过程序来连接读取该文件。数据库文件扩展名为.DB,乍一看让我想到了sqlite,但是通过花费一些时间查找以及验证,才终于确定,原来它是Paradox数据库文件。其实确定.DB文件是Paradox数据库的过程以及寻找驱动才是最花时间的。如果你缺的也是这些,直接到文末提供的链接下载吧。... 阅读详情

Read More →
运行时扫描自定义注解生成Web系统中的功能权限
By: Date: 2017年4月25日 Categories: 程序 标签:,

我们常常在系统中需要用到权限,然而每次新定义一项权限时,就需要在我们的系统权限列表中录入一次。如一个用户管理的模块可能需要在系统的权限列表中相应的增加查询用户,新增用户,修改用户以及删除用户的权限。这样繁琐的体力劳动看起来既不便捷,也不优雅。是否可以省略掉中间的录入环节呢?我们想要既方便的将我们定义的权限加入到系统的权限列表中,不需要录入,又能够方便的来进行功能权限的检查,好了,那么下面这种方式可能适合你。... 阅读详情

Read More →
可扩展的登录系统设计实现
By: Date: 2017年4月11日 Categories: 程序 标签:

看了一个可扩展用户登录的设计,确实想的比我要全面。看似登录一个小的功能,要考虑的东西还是很多的,安全性上,可扩展性,代码的风格上,作者就是从这些角度来考虑,具体可以看看下面参考资料中的设计,考虑了本地账户登录,OAuth2协议登录等。我看过之后按照设计实现了下,当然大体上只实现了本地用户的登录,第三方登录的就没做了。总的来说,设计思想还是很受启发的。当然你可以先看参考资料中的思想,回过头来再看实现就更简单了。... 阅读详情

Read More →