- 博客(49)
- 资源 (1)
- 收藏
- 关注
原创 Mysql 取最早时间出现的数据
Mysql取最早时间出现的数据。场景:有若干客户购买记录,统计出现的新客户(即客户第一次出现的时间)。思路是根据名称分组,然后取分组中最早时间出现的数据。
2022-12-08 11:20:11
5893
2
原创 2019 IDEA使用Leetcode插件无法登录
修改C:\Users\username\AppData\Roaming\JetBrains\IntelliJIdea2019.3\options下的leetcode-config.xml文件的方式也不行。据查是由于leetcode中国域名由leetcode-cn.com改为leetcode.cn,而插件未更新。登录网页版之后还是不行,尝试了网上说的复制cookie使用cookie的方式不行。我使用的是2019的idea,下载leetcode插件后登录提示。无法判断登陆状态,请尝试登陆网页版后,再次重试。
2022-11-03 18:03:34
349
原创 TreeMap倒序排列
TreeMap默认正序排列,有时候我们会需要倒序,比如按日期或主键id。public static void main(String[] args) { // 正序 TreeMap<Long, Long> idMap = new TreeMap<>(); // 倒序 TreeMap<Long, Long> idMapDesc = new TreeMap<>(Comparator.reverseOrder()); ArrayList<
2022-05-20 13:48:26
3607
原创 replace限制文本框只能输入数字,数字和字母等的正则表达式
以前上学的时候网上找的web页面输入限制的大杂烩,没有整理,留个纪念,能用的凑合看文本框只能输入数字代码(小数点也不能输入)<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"> 只能输入数字,能输小数点.<input onkeyup="if(isNaN(value))execCommand('und.
2021-11-09 17:54:19
2486
原创 《Java实战开发》出现For input String: ““ 异常
出现这种异常,一般来说就是在代码参数类型转换相关得地方出错,直接去代码里找参数类型转换得地方,看是否有参数为空或空字符穿没有校验。比如: Ingeger.valueOf(param);
2021-11-09 17:27:59
736
原创 重温JAVA设计原则
开闭原则(Open Close Principle)对拓展开放,对修改关闭里氏替换原则(Liskov Substitution Principle)面向对象设计的基本原则之一,任意子类都可以替换其父类,而不影响功能,是对开闭原则的补充细化接口隔离原则(Interface Segregation Principle)每个接口都要单独责任隔离的接口,不要功能庞大的单一接口,每个接口尽可能负责小的职责,当然不是越小越好,要在合理范围内迪米特法则(Demeter Principle)又称
2021-10-27 18:06:48
113
原创 《Java实战开发》基于itextpdf 5 ,在pdf插入文字超链接
最近在做基于三方存证机构的pdf电子合同签署,需要生成的PDF时对某些文本添加超链接,废话不多说,上代码/** * 新增表格文字带链接 * * @param table * @param tableSize */ public static void addTextContentWithHyperlink(PdfPTable table) { Paragraph country = new Paragraph(); Anchor dest = new Anchor(".
2021-10-21 17:29:23
644
原创 《Java实战开发》基于JWT实现简单信息分享
公司有个合作伙伴替用户下单的需求,下单完毕需要将单据信息分享给客户看,让客户付款。由于只是一些简单的单据信息,并且没有权限校验,综合考虑安全与性能,决定使用JWT的方式实现。JWT简介JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案。具体概念自行搜索官网介绍如下:https://jwt.io/introduction主要代码实现public enum SingletonRsaJsonWebKeyEnum { //创建一个枚举对象,该对象天生为单例 I.
2021-10-18 20:05:13
448
原创 单例模式枚举实现方式
单例模式(Singleton Pattern)是 Java 中常见设计模式之一。有很多实现方式,各有优劣,这里只写推荐的线程安全的写法。其中使用枚举实现,是Effective Java 作者 Josh Bloch 提倡的方式,它不仅能避免多线程同步问题,而且还自动支持序列化机制,防止反序列化重新创建新的对象,绝对防止多次实例化。并且代码简洁有美感单例模式要点1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。枚举实现/** * @au.
2021-10-18 19:03:12
236
原创 《Java实战开发》基于itextpdf 5 ,在pdf文档指定位置插入文本
最近在做基于三方存证机构的pdf电子合同签署,基于遇到需要在指定位置动态添加文本的需求,废话不多说,上代码 /** * 指定位置插入文本 * * @param text * 添加文本 * @param page * 页码 * @param llx * 文本矩形坐标 * @param lly * 文本矩形坐标 * @param urx * 文本矩.
2021-09-23 15:15:30
2672
2
原创 《Java实战开发》Linux排查问题常用命令
Java开发工作中会遇到各种bug,以下是自己常用的一些命令,用的时候会忘记,在此记录,方便查询。同时也做一下分享。查看文件内容通常用来查看日志,分析问题/bugcat 由第一行开始显示文件内容tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!nl 显示的时候,顺道输出行号!more 一页一页的显示文件内容less 与 more 类似,但是比 more 更好的是,他可以往前翻页!head 只看头几行tail 只看尾巴几行grep 管道符cat由.
2021-09-17 18:37:54
223
原创 《Java实战开发》SpringBoot + Druid数据源 Mysql数据库 通用Mapper 等
springboot项目使用自己配置Druid数据源,mysql数据库,通用mapper插件,pagehelper分页,DruidConfiguration.classimport java.sql.SQLException;import javax.sql.DataSource;import org.apache.ibatis.logging.slf4j.Slf4jImpl;import org.apache.ibatis.session.SqlSessionFactory;import
2020-12-31 11:28:32
134
原创 快速掌握正则表达式
正则表达式在开发中使用的很普遍,但是对很多开发者来说每到使用时都是查资料才能写出来,其实经过很简单的学习就能够掌握基本的使用,整理了一份学习教程,以下:。。。。。。。。待更新。。。。。。。。。。。。...
2020-04-02 00:46:48
128
原创 markdown编辑文档使用教程
*文章资料内容来自网上整理简介Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建。Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档。Markdown 编写的文档后缀为 .md, .markdown。推荐使用 Ty...
2020-03-31 18:38:27
839
原创 并发编程学习
一、并发理论基础并发编程bug源头可见性原子性和有序性 并发编程产生的背后是cpu、内存、io设备效率的不均衡,cpu>内存>>>io设备 为了合理利用 CPU 的高性能,平衡这三者的速度差异,计算机体系结构、操作系统、编译程序都做出了贡献,主要体现为:CPU 增加了缓存,以均衡与内存的速度差异;操作系统增加了进程、线程,以分时复用 CPU,进而均衡 CPU ...
2020-03-31 00:56:44
133
原创 《Java实战开发》IntelliJ IDEA 导入多个maven项目
IntelliJ IDEA使用的时候多个项目很麻烦,跟eclipse不一样,不能一个窗口打开多个项目,想要打开多个项目,可以这样做。File -> New -> Module from Existing Sources…选择你要导入的项目点击Ok点击Next选择导入的项目然后Next,FInish。完成...
2019-09-11 14:06:54
238
原创 零散的Java面试知识点
JAVA特性封装:将对象的属性私有化,对外提供get,set方法,隐藏具体的实现继承:子类继承父类的属性和方法,并根据需要扩展新的属性和方法,提高了代码的复用性多态:一种事物的不同表现形态。例如:重写和重载ThrowableThrowable继承自Object类,子类主要是Error和Excepti...
2019-09-06 14:52:44
412
原创 《Java实战开发》JAVA实现AES256加密 JCE无限制强度加密策略文件
因为公司业务需要,要使用AES256加解密,但是java默认支持128位加密规范,如果想支持256位加密规范,就需要使用无限制JCE策略文件。过程中遇到以下问题,以及解决如下:报错:java.security.NoSuchProviderException: No such provider: BC解决:Java默认支持的填充方式是PKCS5Padding,所以需要引用第三方jar...
2019-08-28 19:17:56
1030
原创 《Java实战开发》Mybatis if判断Integer类型的值不等于''引发的问题
https://blog.csdn.net/qq_30038111/article/details/82665763
2019-07-09 16:54:11
798
原创 《Java实战开发》if..else if 的陷阱
在开发中发现有个if else 判断,流程有问题,并没有走else if 条件,仔细观察发现原因是逻辑判断边界不清晰,开发中要注意,比如如下情况: public static void main(String[] args) { List<String> list = new ArrayList<String> (); list....
2019-07-09 16:51:40
268
原创 《Java实战开发》springboot 上传图片报错:java.io.IOException:
org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request;nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.1337767218595042057....
2019-06-24 21:21:20
911
原创 Java JDK 安装及配置环境变量详细教程
1 下载jdkhttps://www.oracle.com/technetwork/index.html选择相应的系统支持的jdk包2 安装下一步下一步自己安装3 配置环境变量1 右键我的电脑-->属性-->高级系统设置-->环境变量 2 配置JAVA_HOME3 设置Path4 设置CLASSPATH5...
2019-04-28 14:28:02
214
1
转载 JWT 简单了解
JSON Web Token(JWT)是目前最流行的跨域身份验证解决方案。虫虫今天给大家介绍JWT的原理和用法。1.跨域身份验证Internet服务无法与用户身份验证分开。一般过程如下。1.用户向服务器发送用户名和密码。2.验证服务器后,相关数据(如用户角色,登录时间等)将保存在当前会话中。3.服务器向用户返回session_id,sessio...
2019-02-19 10:58:21
223
原创 《Java实战开发》利用spring-security解决CSRF问题,通过重写CsrfFilter 过滤掉指定方法
最近项目渗透测试检测出一些安全问题其中一项为csrf攻击隐患,然后开始修复csrf简介CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则...
2018-12-27 14:04:54
8343
原创 《Java实战开发》Windows系统Nginx 代理https请求和OpenSSL生成证书及异常处理
1.Nginx下载与安装Nginx下载:http://nginx.org/en/download.html打开目录应该是这样的进入到nginx目录下,双击nginx.exe文件即可启动服务器。在浏览器地址栏输入http://localhost,如果可以成功访问到Nginx的欢迎界面,则说明安装成功。2.OpenSSL下载与安装OpenSSl下载:http://s...
2018-12-27 10:47:53
1188
原创 《Java实战开发》Ajax请求返回有数据,但是报error
遇到问题,Ajax请求返回有数据,但是报error,这个时候是应为数据类型不对解决方法:改了或者直接去了dataTypefunction getCookie(cookie_name) { var cookie = ""; $.ajax({ url : getRootPath() + "/user/getTicket", type : "...
2018-12-20 19:04:43
904
原创 《Java实战开发》使用spring向静态方法中注入的成员变量和对象类
工具类的静态方法中要使用别的对象类和使用@value注入成员变量,由于静态方法是属于类的,普通方法才属于对象,spring注入是在容器中实例化变量的,静态是先于对象加载的,所以直接在静态方法中调用注入的静态变量会报空指针异常。所以需要做一些处理用到的注解@Component、@Autowired、@PostConstruct、@Value例如:@Component publi...
2018-12-20 14:19:08
2564
转载 《Java实战开发》拦截器(Interceptor)和过滤器(Filter)的执行顺序和区别
一、引言本来想记录一下关于用户登陆和登陆之后的权限管理、菜单管理的问题,想到解决这个问题用到Interceptor,但想到了Interceptor,就想到了Filter,于是就想说一下它们的执行顺序和区别。关于Interceptor解决权限和菜单管理的问题,在放在下一篇写吧,就酱紫。二、区别1、过滤器(Filter)首先说一下Filter的使用地方,我们在配置web.xml时,总会配置下...
2018-12-19 15:22:59
148
原创 《Java实战开发》XSS 攻击问题简介及解决,附xssProtect-0.1.jar、antlr-3.0.1.jar、antlr-runtime-3.0.1.jar 包下载
最近测试发现开发的管理系统存在XSS攻击问题,查找了下资料简介以下内容来自维基百科:https://zh.wikipedia.org/wiki/%E8%B7%A8%E7%B6%B2%E7%AB%99%E6%8C%87%E4%BB%A4%E7%A2%BC跨站脚本(英语:Cross-site scripting,通常简称为:XSS)是一种网站应用程序的安全漏洞攻击,是代码注入的...
2018-11-19 19:06:51
3069
原创 《Java实战开发》bootstrap-table 文档
网上垃圾信息太多,每次需要找的时候总是找半天,记录一下bootstrap-table文档地址,方便查找。http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/
2018-11-07 16:43:02
308
转载 《Java实战开发》webui-popover 一个轻量级的jquery弹出层插件
转自:https://www.jianshu.com/p/cace7b4cf87f
2018-11-07 15:05:01
483
转载 Redis分布式锁的正确实现方式
前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。可靠性首先,为了确保分布式锁可用,我们至少要确保锁的...
2018-11-01 10:49:11
155
原创 《Java实战开发》mysql 默认分页查询,主键索引,和联合唯一索引的坑
最近遇到一个比较坑的问题,列表分页查询的时候,查询全部没问题,根据条件查询就会出现乱序,多页之间有重复数据的问题。因为用的通用mapper组件,于是打出来sql看了下,发现分页查询sql没有order by,结果查询出来的顺序是乱的,因为查询条件之一是联合唯一索引的第一个字段,因为索引左前缀规则 ,有时候按照主键id排序,有时候按照联合唯一索引之一排序,不同的页面有重复的数据。表结...
2018-10-30 18:11:35
946
原创 《Java实战开发》页面访问服务器返回json格式数据太大,导致数据不全被截断,无法展示
问题:页面展示调用查询方法查询全部数据的时候一直显示loading。。。,打开调试器显示Failed to load resource: net::ERR_SPDY_PROTOCOL_ERROR,而少部分查询则正常显示。因为数据中有图片转成的二进制数组,数据比较长,由此怀疑是返回数据大小的问题,经过排查发现查询全部时返回的json数据不全,被截断了,因此页面无法解析。(这个问题真的很坑,排查...
2018-10-15 10:57:16
13378
2
转载 软件开发模式对比(瀑布、迭代、螺旋、敏捷)
1、瀑布模型是由W.W.Royce在1970年最初提出的软件开发模型, 瀑布式开发是一种老旧的计算机软件开发方法。瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求分析、设计、编码、集成、测试、维护的步骤顺序进行。步骤成果作为衡量进度的方法,例如需求规格,设计文档,测试计划和代码审阅等等。瀑布式的主要的问题是它的严格分级导致的自由度降低,项目早期即作出承诺导致对后期需求的变化难...
2018-10-08 17:16:13
576
转载 replace限制文本框只能输入数字,数字和字母等的正则表达式
1.文本框只能输入数字代码(小数点也不能输入) <input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"> 2.只能输入数字,能输小数点. <input onkeyup="if(isNaN(value))exe...
2018-08-22 17:36:53
1103
原创 《Java实战开发》一个好用的后端web页面框架adminlte
简单大气,各种功能页面基本满足后端开发需要,改改就能用,后端程序员福音:地址如下:http://adminlte.la998.com/index2.html
2018-08-22 16:50:28
4999
原创 《Java实战开发》springboot servlet-api冲突 启动失败
最近的一个新项目用的springboot,踩了很多坑,记录下;异常信息是网上搜的,自己的没记,信息如下:2017-12-01 12:11:52.416 ERROR 11988 --- [cat-startStop-1] org.apache.catalina.core.ContainerBase : A child container failed during startjav...
2018-08-22 16:42:32
5355
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人