优秀个人博客_一个关注JavaWeb开发和网站SEO优化技术的个人博客网站_积微成著

intellij idea(永久)破解激活教程

idea如何破解激活?如何永久激活?idea已经更新到2021.2.1版本了,这里不仅有最新的idea激活码,还有2021.2.x版本永久破解激活方法。

如何用JavaWeb搭建自己的个人博客网站?

如何搭建个人博客网站?作为一名程序员,如何学以致用,利用JavaWeb搭建自己的个人博客网站?这里有免费的个人网站搭建教程,Java实现个人博客网站,JavaWeb搭建简易个人博客,用JavaWeb项目搭建自己的网站,轻松使用javaweb开发个人博客系统。

每日一语

上士闻道,勤而行之;中士闻道,若存若亡;下士闻道,大笑之。不笑不足以为道。

最新发布

心得技巧

设置idea的默认open file or project路径

设置idea的默认open file or project路径

每次打开一个新的项目时,idea都会蹦到用户目录下,然后每次都需要手动切换,真的是神烦,不过还好,这个选项是可以配置的,在SystemSettings中可以设置默认的open路径。先来看看,这谁受得了~完了之后,我想要切换到我自己的工作目录,这才是我想要的~复制上面想要默认打开的地址,打开idea的配置选项,找到SystemSettings中的ProjectOpening,填入刚才复制的磁盘路径关闭项目,进入到idea选择界面,再次点击open按钮,此时就可以直接定位到我们设置的默认工作目录了,效果跟第二张图一样,就不再截图了!……

不忘初心  发布于 2019-04-16 浏览(3550) 评论(0) 赞 (14)

代码编程

MySQL保存emoji表情失败的原因和解决方案

MySQL保存emoji表情失败的原因和解决方案

在使用MySQL的时候,字符集选择上,我从来都是默认utf8,没有做过多的关注,在设计博客数据库的时候,没有考虑到emoji表情,近日在编写文章时,在参考资料中拷贝信息时,带过来的文字有emoji表情,导致保存的时候报错了:###Cause:java.sql.SQLException:Incorrectstringvalue:'\xF0\x9F\x90\xAD\xF0\x9F...'forcolumn'text'atrow1;uncategorizedSQLExceptionforSQL[];SQLstate[HY000];errorcode[13……

不忘初心  发布于 2019-04-15 浏览(771) 评论(0) 赞 (17)

代码编程

MySQL字符集utf8、utf8mb4、utf8mb4_general_ci、utf8mb4_unicode_ci的区别

MySQL字符集utf8、utf8mb4、utf8mb4_general_ci、utf8mb4_unicode_ci的区别

MySQL为我们提供了很多种字符集,来应对不同的问题场景,平时工作中没有过多关注,今天来做一下笔记。utf8:最大只支持3个字节的UTF-8字符,包含了大多数字符但并不是所有,而emoji和一些不常用的汉字,如“墅”,这些需要四个字节才能编码的就不支持。utf8mb4:在5.5.3版本之后增加了tf8mb4编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode,与之前的utf8字符集相比,可用性更高。但相对于utf8来说,字节变多,数据库体积也就会变得更大,官方强烈推荐使用varchar而不要使用char,这样可以让字段……

不忘初心  发布于 2019-04-15 浏览(2064) 评论(0) 赞 (13)

代码编程

Linux不使用tomcat搭建springboot服务图文教程

Linux不使用tomcat搭建springboot服务图文教程

将本地项目部署到linux服务器中,以前使用springmvc的时候,都需要现在linux服务器中部署一套tomcat,必须有这个容器承载,项目才可以跑得起来,到了springboot时代了,就不需要那么繁琐了,因为springboot内嵌了tomcat,可以直接使用jdk自带的命令运行jar包来发布,配合linux中的.service文件就可以轻松搞定。进入到/etc/systemd/system目录下,可以看到默认有一个aliyun.service文件,其他服务器可能没有,因为我这个服务器是买的阿里云所以才会有的打开aliyun.service……

不忘初心  发布于 2019-04-14 浏览(851) 评论(0) 赞 (13)

代码编程

MySQL数据库主键冲突的三种解决方案

MySQL数据库主键冲突的三种解决方案

业务中为了避免重复数据的产生,除了在代码层级做处理之外,还会在数据库表中增加唯一索引来做最后的校验,项目中唯一索引在冲突的时候是以代码抛异常的形式来阻止脏数据的产生,而异常这个东西,说好也好,说不好也不好,因为在异常产生的时候,需要去还原错误场景并提供详细的错误信息,所以异常抛的太多了,性能肯定好不到哪里去,而且在有些特定的场景下甚至是不需要唯一索引的,当有重复的数据进来时,直接视作更新操作,查阅资料后发现,在MySQL中主键冲突一共有三种常用的解决方案。首先,准备一张test表,插入几条测试数据:DROPTABLEIFEXISTS`test`;C……

不忘初心  发布于 2019-04-14 浏览(2889) 评论(0) 赞 (11)

代码编程

使用Java发送邮件时碰到了一个501错误

使用Java发送邮件时碰到了一个501错误

QQ邮箱、新浪邮箱、网易邮箱,使用Java进行邮件发送时,基本上都是一模一样的逻辑,就是mail.smtp.host的配置有区别,大家在使用的时候,可以将公共代码抽离出来,将那些配置用参数的方式传过去。在实现过程中,没有其他的什么大问题,倒是碰到了一个501错误:具体错误信息如下:DEBUG:JavaMailversion1.6.2DEBUG:successfullyloadedresource:/META-INF/javamail.default.address.mapDEBUG:getProvider()returningjavax.mail.……

不忘初心  发布于 2019-04-14 浏览(3820) 评论(0) 赞 (15)

代码编程

Java发送新浪邮件图文教程

Java发送新浪邮件图文教程

前面分别讲过了Java发送QQ邮件和Java发送163邮件,本文接着来看一下Java发送新浪邮件,一样需要在设置中开启IMAP/SMTP服务,不过新浪邮箱跟QQ邮箱和网易邮箱不一样,它这里不需要授权码,直接点击开启就完事,后面就直接使用账号密码来发送。新浪邮箱的配置简直不要太简单,不多说,直接上代码packagecom.wolffy.reader.util;importlombok.extern.slf4j.Slf4j;importorg.apache.commons.lang3.exception.ExceptionUtils;importjav……

不忘初心  发布于 2019-04-13 浏览(341) 评论(0) 赞 (13)

代码编程

Java发送网易邮件图文教程

Java发送网易邮件图文教程

前面说过了Java发送QQ邮件,本文来看一下Java实现网易邮件的发送,老规矩,还是需要去设置中开启IMAP/SMTP服务推荐使用客户端,没安装也无所谓,毕竟只是建议,直接点击确定默认一般都是关闭,直接点击开启为了安全,一样需要密保不过这个就有意思了,QQ邮箱是自动生成的一串字符,网易邮箱这个授权码竟然是自己填的只能是字母和数字规矩贼多,也不能和登录密码一样上面的步骤都成功了之后,就可以看到有启用记录了,这里我很是纳闷,为什么我都启用了,这选项竟然还是关闭。。。不过好像并不影响,我直接用代码测试了一波,可以发送成功packagecom.wolffy……

不忘初心  发布于 2019-04-12 浏览(390) 评论(0) 赞 (15)

代码编程

分享几个常用的Java工具类

分享几个常用的Java工具类

在编码过程中,会碰到很多相似的功能,基本上都是有固定的写法,就是传入的参数不一样,所以一般都会抽出一些公用代码来处理,今天来分享几个平时使用的工具类。MD5工具类:packagecom.wolffy.util;importjava.security.MessageDigest;importjava.security.NoSuchAlgorithmException;importlombok.extern.slf4j.Slf4j;importorg.apache.commons.lang3.StringUtils;importorg.apache.c……

不忘初心  发布于 2019-04-11 浏览(470) 评论(0) 赞 (11)

代码编程

Java发送QQ邮件图文教程

Java发送QQ邮件图文教程

Java发送邮件,可以使用com.sun.mail包下面的javax.mail实现,发送、抄送、暗送,这些功能都有相应的API,功能非常的强大,通过SMTP服务进行邮件发送,市面上的邮箱很多种类,如:QQ、新浪、网易等,本文中我们来看一下如何用Java代码发送QQ邮件。1、邮箱一般都有保护机制,默认SMTP是不开启的,所以需要先去邮箱设置中开启SMTP;2、不是随便都能发送邮件的,需要在邮箱中拿到授权码才可以进行发送;进入到发送者的QQ邮箱中,在设置中开启SMTP服务为了安全,还需要校验密保密保短信发送完毕之后,点击右下角的“我已发送”,就可以看到……

不忘初心  发布于 2019-04-11 浏览(452) 评论(0) 赞 (25)

代码编程

springboot使用jackson处理时间碰到的两个坑

springboot使用jackson处理时间碰到的两个坑

之前使用springmvc的时候,没有太注意json转换的细节,每次都是直接写了一个Databinder,也没出过什么大问题,换成springboot之后,自动化配置的东西太多,导致忽略了很多细节处理,最近就碰见了两个问题:jackson转换时间有时区差,会导致时间晚8小时在我本机上,我一直没有重现过,当时在服务器上出现过,导致入库的时间不准确,解决方案有很多,我选择了在配置文件中配置jackson的时区:spring.jackson.time-zone=GMT+8使用feign调用微服务的时候,提示日期format不对项目微服务之间调用的时候,使……

不忘初心  发布于 2019-04-10 浏览(1834) 评论(0) 赞 (12)

代码编程

设置cookie时特殊字符导致系统异常

设置cookie时特殊字符导致系统异常

用户在登录过网站之后,网站会将用户的信息存储到浏览器的cookie中,一般都是username之类的一些信息,用于访问的时候带给服务器来确定是哪一个用户,而且也可以用于页面上作展示。最近在写cookie的时候,由于信息不敏感,所以就没有做加密处理,没想到竟然导致系统报错了,错误信息如下:2019-04-0918:26:43.512ERROR11089---[nio-8080-exec-4]o.a.c.c.C.[.[.[/].[dispatcherServlet]:Servlet.service()forservlet[dispatcherServl……

不忘初心  发布于 2019-04-09 浏览(518) 评论(0) 赞 (13)

代码编程

DAO模块打包公用,避免项目中多处重复代码

DAO模块打包公用,避免项目中多处重复代码

Maven问世之后,创建工程的时候,都喜欢整成多包的项目,似乎多包已经成了大型项目标配,此时就会出现一个问题,实体Bean的代码可能要写多套,在一整个工程中就显得很冗余了,当数据库有改动时,需要修改多份重复的代码。可能大家不太明白,我来举个例子:拿我自己的博客项目来说,有一个用户访问的网站,有一个后台管理系统,此时对于博客中的文章来说,都是操作的article表的数据,对应javabean也就是Article.java,那么我就需要在项目中写两份一模一样的Article.java文件如上图,admin和jwcz两个工程中都需要相同的javabean……

不忘初心  发布于 2019-04-08 浏览(755) 评论(0) 赞 (22)

心得技巧

如何快速查看浏览器管理的网站登录账号密码

如何快速查看浏览器管理的网站登录账号密码

账号密码太多,所以每次使用时都会点击记住密码,但是偶尔想在别处用一下某个账号密码,想破头都想不起来,其实可以直接去浏览器中看,既然它帮我们记住了,那就去找它,让它告诉我们。找到浏览器设置选项中的“密码”进入密码菜单点击那个眼睛图标如上图所示,为了安全,会让你确认电脑的密码,防止是他人非法登录来窃取密码。在windows中输入指纹锁或者密码,而在mac中需要输入登录密码(windows中如果没设置指纹,应该也是一样需要输入登录密码)密码正确输入之后,就可以看到真实的密码了技巧就是这么简单,你们GET到了吗?……

不忘初心  发布于 2019-04-07 浏览(918) 评论(0) 赞 (16)

代码编程

git pull提示“The following untracked working tree files would be overwritten by merge”

git pull提示“The following untracked working tree files would be overwritten by merge”

同事在创建项目的时候,忘记加.gitignore文件了,导致其他同事更新之后,再次提交代码时,提交了很多idea的配置文件,然后其他人更新下来了之后,导致pull不了代码,每次pull的时候就报错“error: The following untracked working tree files would be overwritten by merge:Aborting”。多余的内容,截图如下:详细错误信息如下:felixdeMacBook-Pro:ifinance-koperasifelix$gitpullUpdating584911b..ad……

不忘初心  发布于 2019-04-06 浏览(7614) 评论(0) 赞 (15)

资源下载

IDEA和JRebel激活用到的工具免费下载

IDEA和JRebel激活用到的工具免费下载

在写idea激活和jrebel激活的教程时,由于lanyus大神都提供的有工具下载地址,所以就没有在文章中给出下载链接,单独写一篇文章来整理用到的一些工具的下载地址。IDEA激活注册机从大神给出的链接中,我将能下载的全部都整理过来了,版本并不连续,因为有的一些被举报或者被发现了,已经封了下载链接v1.3版本:网盘地址:http://pan.baidu.com/s/1Ph0Wb5r9j--bbWsImMSXkw 提取码:k4snv1.6版本:网盘地址:http://pan.baidu.com/s/1dDU_V3OEmZiIWoE5u0fzIQ 提取码……

不忘初心  发布于 2019-04-05 浏览(4664) 评论(0) 赞 (23)

心得技巧

IDEA安装了Translation谷歌翻译插件,但是提示网络异常

IDEA安装了Translation谷歌翻译插件,但是提示网络异常

公司项目中涉及到国外的业务,所以每次都需要翻译文案,而且平时看源代码,里面的文档也全都是英文的,频繁的打开浏览器来翻译,着实是非常的麻烦。还好,IDEA提供了谷歌翻译的插件(Translation),很好用,跟在浏览器上打开翻译网站翻译的效果一样:直接安装了一个,但是当我使用的时候却一直提示网络异常,错误信息如下:>Pluginv2.3.2>IntelliJIDEA2019.1>Build#IU-191.6183.87,builtonMarch27,2019>JRE:1.8.0_202-release-1483-b39x86……

不忘初心  发布于 2019-04-04 浏览(19168) 评论(0) 赞 (55)

心得技巧

IntelliJ IDEA热部署插件JRebel免费激活图文教程(持续更新)

IntelliJ IDEA热部署插件JRebel免费激活图文教程(持续更新)

之前教了大家如何免费激活IDEA,大家学会了吗?今天再来教大家如何免费激活JRebel插件,实现真正的热部署,无论是改了代码片段还是配置文件,都可以做到不用重新启动就生效,这种酸爽,谁用谁知道!这次同样需要借助lanyus大神的工具,如果大家有兴趣,可以直接去看lanyus大神的博客原文:http://blog.lanyus.com/archives/317.html,感谢大神的无私分享!在使用这个工具之前,笔者使用过两种方式,能够稍微实现一点儿热部署的功能,非springboot的项目中,可以在配置外部容器的时候,指定窗口失去焦点就更新资源文件,……

不忘初心  发布于 2019-04-03 浏览(22985) 评论(2) 赞 (63)

代码编程

Maven打包环境切换了,但是复制文件失败

Maven打包环境切换了,但是复制文件失败

在Maven工程中,如果涉及到多环境切换,可以指定profile变量来控制,平时也都是这么用的,但是最近朋友的电脑却出现了一个问题,设置了profile不起作用,有一个项目在打包的时候一直都是拷贝第一个配置文件中的内容,就算是指定了其他profile的激活状态也不行,更诡异的地方在于:同一台机器,同一套maven配置,其他项目打包都是正常的,就是这个项目不行。<profiles><profile><id>dev</id><properties><package.environment……

不忘初心  发布于 2019-04-02 浏览(597) 评论(0) 赞 (27)

代码编程

springboot整合jpa启动报错'hibernate.dialect' not set

springboot整合jpa启动报错'hibernate.dialect' not set

公司的项目之前一直没有预发环境,最近有多余的机器,运维的同事拿来做预发机器,在启动项目的时候,报错“AccesstoDialectResolutionInfocannotbenullwhen'hibernate.dialect'notset“,觉着很诡异,什么代码和配置都没有改动过,在测试环境和生产环境中都是OK的,就是预发环境不行,具体错误信息如下:Causedby:org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'sessionFa……

不忘初心  发布于 2019-04-01 浏览(1395) 评论(0) 赞 (12)

心得技巧

整理一些IntelliJ IDEA常用的基本设置

整理一些IntelliJ IDEA常用的基本设置

上次安装新版idea之前,已经事先将旧版idea的配置保存下来了,在卸载的时候,想着已经保存了配置到jar包了,应该不会出岔子,所以还是手一抖将删除以往配置的选项给勾上了,导致它把我导出来的那个settings.jar也给我删了,心里那个气呀。。。原先的idea用了两年了,有很多设置,现在一下子还想不全面了,只能先将我能想到的一些配置罗列出来,写一篇文章记录一下,这样就不怕以后再忘记了。工具栏和侧边栏的字体样式、大小启动idea的时候,是否打开上一次的文件;每次是否在新窗口打开项目;关闭窗口时,如果有正在运行的进程,给予提示;配置http代理,安装……

不忘初心  发布于 2019-03-31 浏览(1173) 评论(0) 赞 (23)

心得技巧

各大版本IntelliJ IDEA免费破解激活方法(持续更新)

各大版本IntelliJ IDEA免费破解激活方法(持续更新)

IntelliJ IDEA是一款非常棒的Java开发工具,功能非常的丰富全面,起初一直使用的是Eclipse,后来换工作的时候,由于公司强制使用Idea,所以不得已也去装了一个,由于是一个全新的工具,快捷键也都大不相同,可以说是非常痛苦,为了缓解,甚至还将所有的快捷键照着Eclipse配置了一套,可是后来发现这样会导致很多强大的功能用不了,痛定思痛,决定放弃Eclipse的快捷键,从新开始学习使用这个新的开发工具。东西好用是好用,但是一分钱一分货的道理摆在这里,它不像Eclipse一样免费,安装Idea之后需要购买注册码,这可苦了我这种穷……

不忘初心  发布于 2019-03-30 浏览(32609) 评论(2) 赞 (61)

代码编程

Java Socket编写基于UDP协议的简易聊天室

Java Socket编写基于UDP协议的简易聊天室

写完基于TCP协议的聊天室,再来尝试写一个UDP协议的聊天室,由于协议的不同,所以实现起来也是有很大的不同,先来简单的看一下这两个协议的区别:1、TCP是长连接,UDP是无连接;2、TCP能保证数据包的正确性,UDP会有丢包;3、TCP能保证数据包的顺序性,UDP保证不了;4、TCP对系统资源需求大,UDP不可靠,所以需求小;5、TCP由于做了一系列的保证,所以速度慢,UDP无需这些保证,所以速度快,实时性高;6、TCP会有粘包问题,UDP会有分包问题;关于分包:UDP受以太网限制,每一个包的最大体积是65507字节,约等于64K。为什么最大是65……

不忘初心  发布于 2019-03-29 浏览(776) 评论(1) 赞 (13)

代码编程

Java Socket实现心跳机制的代码案例详解

Java Socket实现心跳机制的代码案例详解

在上一篇文章中,教大家利用socket写了一个简单的聊天室,只有消息的发送和接收以及系统广播,并没有实现心跳,聊天室中的人下线了之后,其他人收不到通知,在文章末尾处,我给出了几个实现心跳的思路,今天也来动手亲自实现一个(上篇文章中的一和三两种思路)。实现的功能:1、客户端和服务器之间保持心跳;2、客户端下线之后,服务器能够感知;3、客户端下线之后,服务器发送系统广播,通知聊天室中的其他人;4、服务器宕机之后,客户端能够感知,并退出聊天室;5、客户端主动退出,服务器发送系统广播;实现的思路:1、服务器和客户端都增加一个线程,专门负责心跳的时间记录;2……

不忘初心  发布于 2019-03-28 浏览(1851) 评论(0) 赞 (14)

代码编程

Java Socket编写基于TCP协议的简易聊天室

Java Socket编写基于TCP协议的简易聊天室

Java提供了Socket套接字来实现网络编程,对TCP和UDP协议都有很好的的支持,在学习的时候,写的最多的可能就是聊天室了,很简单,但是能很好的将Socket和多线程结合起来。好久没写了,这几天在复习Socket知识点的时候,顺手也写了一个基于TCP协议的简易聊天室:服务端:负责消息转发和广播;客户端:发送消息,接收消息;服务器代码:packagecom.wolffy.socket;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStream;i……

不忘初心  发布于 2019-03-27 浏览(2008) 评论(0) 赞 (13)

代码编程

浅谈Java Swing空布局,大道至简

浅谈Java Swing空布局,大道至简

JavaSwing,一个很古老的东西了,它是java用来写桌面客户端程序的,但是在BS架构发展的风生水起的今天,CS架构却几乎止步不前,不说别的,就因为UI和体积这两个问题,就是横在它面前的两座大山,同样一个产品,用其他CS架构的语言来实现,比使用swing来实现要简单的多,这也似乎注定了它的前途一片黑暗(至少目前看起来如此,官方也没有任何改进优化的意思,似乎已经放弃了它)。但是这个东西也不是一文不值的,它虽然UI丑到爆炸,但是使用了超级多的java设计模式,也还是有值得学习的地方,今天我们来聊一下它的布局Layout。跟Android很像,它也提……

不忘初心  发布于 2019-03-26 浏览(697) 评论(0) 赞 (12)

代码编程

URLConnection利用VPN代理工具访问外网

URLConnection利用VPN代理工具访问外网

项目中使用的是Google的推送服务,今天线上出了问题,本地需要调试,但是做JUnit单元测试的时候,一直都是连接超时,而本机又是开了翻墙代理的,在浏览器中访问Google也都没问题。起初以为是IDEA需要翻墙才可以,百度查了一下,还真有人提到过这个问题,不过大都是说在线安装插件的时候需要翻墙,貌似和我这个关系不太大,虽然怀疑,但我还是给IDEA配置了HTTPProxy。上图中,红色框起来的两种方式,我都一一做了测试,但是没有一个成功的,依旧都还是SocketTimeoutException了。继续查阅资料,又看到有人提到说在启动项目的时候指定VM……

不忘初心  发布于 2019-03-25 浏览(1835) 评论(0) 赞 (21)

代码编程

常用的java绘图api(一)

常用的java绘图api(一)

Graphics,是java中画图的对象,从它衍生出来的还有Graphics2D对象,既可以简单的写写字,也可以画一些图形,如:矩形、圆形、三角形、多边形,还有一些复杂的API可以实现炫酷的效果,如:旋转、渐变。但是Swing这个东西现在用的并不多了,所以Java绘图也用的不多,最近无意中翻到了在之前公司做过的一个画图的项目,也有写过博客做分享(http://www.zuidaima.com/share/2457951855217664.htm),今天来整理一些常用的绘图API。setColor:设置画笔颜色getColor:获取画笔颜色/***G……

不忘初心  发布于 2019-03-24 浏览(1392) 评论(1) 赞 (13)

代码编程

JPA报错“No identifier specified for entity”的原因

JPA报错“No identifier specified for entity”的原因

之前在SSH框架中,用过Hibernate这个ORM框架,之后一直都是用的是Mybatis,最近公司里面使用springboot的框架中集成了JPA,虽然我觉着各种不好,但是讲真的还是挺好用,跟Hibernate相比还要简单,基本上都不用自己怎么写查询,今天在使用的时候手一抖,少复制了点儿代码,直接导致启动时报了一个错误“No identifier specified for entity”。2019-03-2213:49:05,418ERRORSpringApplication:Applicationstartupfailedorg.spring……

不忘初心  发布于 2019-03-23 浏览(593) 评论(0) 赞 (11)

代码编程

HashSet的实现原理,与HashMap有何区别和联系

HashSet的实现原理,与HashMap有何区别和联系

JDk为我们提供了一些常用的数据结构,List、Map、Set这三种是使用最广泛的,List存放连续的数据,并允许为null,Map以键值对的形式存放数据,允许key和value为null,Set则可以存储无重复的数据。1、在map中,如果使用了相同的key,后面的value就会将前面的value覆盖掉,这也相当于说是key是唯一的,那这个作用岂不是和Set一样了?2、这二者之间又有什么区别和联系呢?3、Java数据结构中,除了数组和链表,似乎也没有什么可以直接和Set进行挂钩呢?之前的文章中,我们分析了ArrayList的源代码,这次我们同样来分……

不忘初心  发布于 2019-03-22 浏览(1173) 评论(1) 赞 (13)

代码编程

一个简单但实用的生成apiKey随机密钥的算法

一个简单但实用的生成apiKey随机密钥的算法

在项目开发工作中,免不了需要和其他系统对接,为了安全性,提供方总会分配给我们一个apiKey和apiSecret用来鉴权,一般都是数字和大小写字母的混合,最近在设计项目中的支付网关时,也用到了这个东西,不过这次不再是别人给我了,而是我设计给需要对接网关的系统。顺手将我用到的代码分享给大家,非常简陋,但是基本的功能还是可以满足的。/***生成指定长度的随机密钥*@paramlength长度*@return密钥字符串*/publicstaticStringuniqueId(intlength){//字符源,可以根据需要删减Stringsource="a……

不忘初心  发布于 2019-03-21 浏览(2590) 评论(0) 赞 (12)

代码编程

Linux安装zip unzip解压工具

Linux安装zip unzip解压工具

Windows中有很多可视化的解压工具,但是在Linux中,大多数都是命令行操作,所以相对应的也就有解压缩的命令:zip、unzip,不过这个命令不是自带的,需要手动安装。正好今天碰到一个,就给大家演示一下效果,也教一下大家如何在linux中安装zip、unzip工具。服务器上有一个jar包,是之前打包传上去的,但是数据库却连的不对,本来应该连到线上环境,但是却连到了测试环境,但是配置文件是抽出来打包到公共的config.jar中,所以想看一下也看不到,除非将config.jar下载到本地解压再反编译,但是这样无疑浪费了太多时间,而且也很麻烦。所以……

不忘初心  发布于 2019-03-20 浏览(1503) 评论(0) 赞 (23)

代码编程

spring项目中利用redis + lua脚本简单实现分布式锁

spring项目中利用redis + lua脚本简单实现分布式锁

在以往的单机系统中,为了做到线程安全,我们可以使用jdk提供给我们的synchronized关键字,也可以使用juc包下面的Lock,但是在现在流程的SOA服务中,显然就没法用了,毕竟服务器再也不是同一台了,你管得了自己,管不了别人。有问题,那就会有解决方案,那就是分布式锁,通常利用Redis或者Zookeeper来实现,亦或者是利用三方框架来解决(redisson),今天来教大家用redis实现一个超级简单的分布式锁。实现思路:setnx+luasetNx:全名“setifnotexist”,如果key不存在就set,如果key已存在就不set;……

不忘初心  发布于 2019-03-18 浏览(510) 评论(0) 赞 (11)

代码编程

从源码层面分析Vector和ArrayList的区别

从源码层面分析Vector和ArrayList的区别

提到Vector和ArrayList的区别,张口就来的是什么?Vector是线程安全的,而ArrayList不是线程安全的。今天我们从源码层面来分析一下,这二者到底有何相似之处,又有何不同之处?/***Thearraybufferintowhichthecomponentsofthevectorare*stored.Thecapacityofthevectoristhelengthofthisarraybuffer,*andisatleastlargeenoughtocontainallthevector'selements.**<p>……

不忘初心  发布于 2019-03-17 浏览(334) 评论(0) 赞 (12)

代码编程

ArrayList初始大小、上限、扩容机制图文详解

ArrayList初始大小、上限、扩容机制图文详解

在使用arraylist的时候,从来没有手动给它指定过大小,每次使用都是直接newarraylist(),但是那么它的默认大小是多少呢?超出这个默认大小之后,它又是如何扩容的呢?扩容的前提条件是什么呢?上限又是多少呢?想弄清楚这个问题,最简单有效的方式就是看源码,今天就来给大家看一下它的扩容机制。本文中以jdk1.8.0_121为例,以截取代码片段的方式来逐一给大家分析:默认容量有一个DEFAULT_CAPACITY变量,大小为10/***Defaultinitialcapacity.*/privatestaticfinalintDEFAULT_C……

不忘初心  发布于 2019-03-17 浏览(1341) 评论(0) 赞 (23)

代码编程

Arrays.copyOf和System.arraycopy的关系和区别

Arrays.copyOf和System.arraycopy的关系和区别

实现一个复制数组的功能,java为我们提供了两种API,Arrays.copyOf和System.arraycopy,那么这二者有什么区别呢?又有着什么样的联系呢?老规矩,我们直接看源码:/***Copiesthespecifiedarray,truncatingorpaddingwithnulls(ifnecessary)*sothecopyhasthespecifiedlength.Forallindicesthatare*validinboththeoriginalarrayandthecopy,thetwoarrayswill*contai……

不忘初心  发布于 2019-03-17 浏览(1090) 评论(0) 赞 (11)

资源下载

sshpass-1.06二进制安装包免费下载

sshpass-1.06二进制安装包免费下载

sshpass 是一个简单、轻量级的命令行工具,通过它我们能够向命令提示符本身提供密码(非交互式密码验证),这样不管是在执行scp命令的时候,还是在做资源免密备份的时候,都可以避免手动输入密码,不过由于密码是明文的,所以大家尽量避免在生产环境中使用。上次在写sshpass安装教程的时候,去官网下载了最新版本,顺手上传到网盘分享给大家官网:https://sourceforge.net/projects/sshpass/files野路子:http://www.rpmfind.net/linux/rpm2html/search.php?query=ss……

不忘初心  发布于 2019-03-16 浏览(1005) 评论(0) 赞 (11)

代码编程

安装sshpass工具图文教程

安装sshpass工具图文教程

在几种快速上传文件到Linux服务器的方法一文中,提到了SCP方式上传,这种方式由于没有图形化界面,所以速度非常的快,但是有一个不爽的地方就是需要输入密码,简单的密码还好,如果是那种加密算法生成的很长一串的密码,那简直要人老命。查了一下资料,可以利用sshpass工具来避免每次输入密码,而是直接将密码带着一起去执行命令,这样就方便很多了。felixdeMacBook-Pro:5.1.34felix$sshpass-ptestscp/Users/felix/workspace2/test/target/test.jarroot@147.198.153……

不忘初心  发布于 2019-03-15 浏览(1006) 评论(0) 赞 (21)

代码编程

Srping事务的七种传播特性

Srping事务的七种传播特性

上一篇文章中见过了事务的特性以及隔离级别,今天来说一下事务的传播性,事务是一个好东西,但是并不是每一个方法都应该加上事务,在事务的隔离级别中提到过一点:越是严格,耗费的性能越大,那么如果每个方法都加了事务,而不论是否会涉及到数据的修改,那么这就属于事务的滥用了,没起到应有的作用不说,反而还会一点点的拖慢你的系统。为了应对这一问题,“事务的传播性”这一概念又横空出世了,打个最简单的比方:现在的项目中,大多都分层,controller层+service层+dao层,而业务一般都堆积在service层,要么是service调service,要么是serv……

不忘初心  发布于 2019-03-15 浏览(876) 评论(0) 赞 (11)

心得技巧

关于机器人协议robots.txt的一点儿看法

关于机器人协议robots.txt的一点儿看法

近期在使用Google的站长工具时,发现了一个让我很震惊而又觉着很好玩的事情,有人利用网站的搜索结果打广告。。。一瞬间就让我反应过来,我的机器人协议写的不够好,并没有将这类搜索结果展示的页面给屏蔽掉,而这个人刚好利用了这个漏洞,真的是让我蛮佩服的,这个广告打得我真的是服气。我之前试过写robots.txt之后,依旧还是有大大小小的爬虫来爬取我的网站,所以我一度认为这玩意儿没有什么鸟用,所以也就没在意了。哎,大家千万要引以为鉴,不要像我一样,网站中该屏蔽的接口就老老实实屏蔽了,千万别偷懒,否则一不小心就为他人做了嫁衣不说,还把自己网站给坑死了!!!……

不忘初心  发布于 2019-03-14 浏览(341) 评论(0) 赞 (12)

代码编程

事务的特性和隔离级别

事务的特性和隔离级别

“事务”,一个经常能听到的概念,它到底是个什么东西呢?数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成,事务的正确执行,使得数据从一种状态转换到另外一种状态。它具有四大特性:A(原子性):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节;张三给李四转账,必须是张三扣钱、李四加钱这两个环节一起完成,这两个动作必须是原子化的,要么都成功,要么都失败C(一致性):事务开始前和结束后,数据库的完整性约束没有被破坏;还是上面转账的例子,双方必须保持一致,不能说张三的钱被扣了,但是李四的钱没有加上,这样就会导致数据错乱……

不忘初心  发布于 2019-03-14 浏览(401) 评论(0) 赞 (12)

代码编程

ERR_ABORTED 503 (Service Temporarily Unavailable)

ERR_ABORTED 503 (Service Temporarily Unavailable)

最近在nginx中加了访问频率限制,结果却导致页面加载不完整了,打开console一看,有很多静态资源类型被拦截了,http状态码直接是503,js被拦截导致分页插件加载不上,css被拦截导致页面样式错乱细想之下,最近没对服务器做过什么改动,只对nginx加了一些限制访问频率的配置,莫非是这个影响到了?查阅资料后发现,还真的是这个影响到了。。。注意:此配置虽然好用,但是大家一定要慎用,因为发送js请求和css请求也算是一个request,所以配置的时候一定要找到适中的数量,我在第一次做配置的时候,就吃了一个亏,我直接写了一个20/s,但是打开一个页……

不忘初心  发布于 2019-03-13 浏览(1924) 评论(0) 赞 (11)

代码编程

Nginx限制IP访问频率,防止暴力攻击

Nginx限制IP访问频率,防止暴力攻击

在我们访问一个网页的时候,总会有若干个http请求发出,比如:阅读量、点赞数,这些一般都是通过ajax动态变更的,如果接口没做校验处理,那么很容易就会被人利用来攻击网站。以往不太会用nginx的时候,用Java写过一个限制IP访问的处理器,可以根据IP来限制每个接口的访问频率,虽然写的很戳,但是也能勉强达到效果(但还是有bug):限制每一个IP对同一个接口的疯狂调用,这次我们来用nginx处理这个问题。主要用到了nginx的ngx_http_limit_conn_module和ngx_http_limit_req_module两个配置:ngx_ht……

不忘初心  发布于 2019-03-13 浏览(2381) 评论(0) 赞 (11)

代码编程

MySQL不同版本创建用户语句差异

MySQL不同版本创建用户语句差异

MySQL在不同版本中,创建用户的语法是有区别的,在低版本中,创建用户和授权可以一起执行,但是在高版本中则不行,创建用户和授权需要分开。没有在每个版本中都一一作比对,现在就拿5.7和8.0做一下比较,给大家看一下语法上的细微差异。mysql5.7中的语法:grantselect,insert,update,delete,create,drop,alter,executeonfeiqq.*to'feiqq'@'%'identifiedby'123456';grantselect,insert,update,delete,create,drop,alt……

不忘初心  发布于 2019-03-13 浏览(635) 评论(1) 赞 (11)

资源下载

SwingQQ之FEIQQ的MySQL版本下载

SwingQQ之FEIQQ的MySQL版本下载

几年前我有在iteye上面分享过自己用JavaSwing写过的一个仿QQ的聊天软件(http://www.iteye.com/topic/1137293),当时是抽下班的空闲时间练手写的,所以也不是很完善,只实现了基本的发送消息功能,而在数据库选型上,就直接图方便,用了和公司项目一样的Oracle,对我而言并没有任何影响。但是陆陆续续有很多人来向我请教问题,其中问的最让我头疼的一个问题就是:如何将数据库切换成MySQL?说实话,对于这种让我啼笑皆非的问题,我基本上是一概不帮忙处理,一个是忙,另外自己也实在是不想在这种简单的事情上浪费功夫。可是这几年……

不忘初心  发布于 2019-03-13 浏览(1006) 评论(1) 赞 (30)

资源下载

Mac系统Eclipse2018-12版本安装包下载

Mac系统Eclipse2018-12版本安装包下载

在之前的一篇文章(在Mac系统中安装Eclipse踩坑记录)中,提到过mac在线安装eclipse中的一个大坑,最后也还是通过下载离线安装包的方式才可以,顺手把我下载的安装包分享给大家。官网地址:https://www.eclipse.org/downloads/packages/网盘地址:https://pan.baidu.com/s/14iZypaS2CenUixdYDno1Cg提取码:srxh……

不忘初心  发布于 2019-03-12 浏览(981) 评论(0) 赞 (11)

心得技巧

在Mac系统中安装Eclipse踩坑记录

在Mac系统中安装Eclipse踩坑记录

用顺手了idea之后,一直没有用过eclipse了,今天突然心血来潮,想要安装一个耍耍,一个不注意,把自己给坑个半死。之前用的电脑,都是windows系统的,在Windows环境中,下载安装简直不要太简单,分分钟的事情,这次是公司的mac电脑,直接跑到官网去下载,结果一不小心下载了一个installer安装器,而不是eclipse的安装包。。。下载来的时候,我是有些疑惑的,觉着这个安装包的体积太小了,之前在windows环境中下载的安装包怎么的也有百十来M,还以为mac下面做了什么优化。带着疑问,我还是点开了dmg文件,当我看到界面时,我才意识到了……

不忘初心  发布于 2019-03-12 浏览(712) 评论(0) 赞 (12)

代码编程

发送http请求,报错:Cannot write output after reading input.

发送http请求,报错:Cannot write output after reading input.

最近对接一个第三方,有专门的系统来对接,我们直接对接内部的系统即可,但是调用接口时,发现一直报错:Cannot write output after reading input,大概意思是不能在读取了输入流之后去写输出流。起初还以为是对接第三方报错了,仔细检查一番,竟然是同事的代码写的有问题,开启了两次输出流。错误信息如下:2019-03-1211:51:03,717ERRORTongDunManager:[ApiInvoker]invokethrowexception,details:java.net.ProtocolException:Cann……

不忘初心  发布于 2019-03-12 浏览(875) 评论(0) 赞 (11)

资源下载

Mac系统rar解压软件下载

Mac系统rar解压软件下载

在windows环境中,解压一个rar压缩包简直不要太简单,不管是winrar还是其他什么工具,基本上都可以轻松搞定,但是在mac中就没有这么方便了。mac自带的解压工具,只能解压zip类型的压缩包,每次想要解压rar的压缩包,都需要在windows中转一道,心真累,痛定思痛,在网上找到了一款免费的rar解压工具:TheUnarchiver,类似于windows的WinRAR,非常的强大,基本上所有的压缩包类型它都支持。按捺不住内心的激动,一定要给大家演示一番:从官网下载的是一个zip压缩包,解压之后就是一个.app的文件,可以直接双击运行……

不忘初心  发布于 2019-03-12 浏览(421) 评论(0) 赞 (12)

心得技巧

几种快速上传文件到Linux服务器的方法

几种快速上传文件到Linux服务器的方法

软件工程发布,一般使用的都是Linux服务器,单机部署时,如果没有在服务器上面部署仓库和打包环境(如:git、maven),那么我们就需要手动打好jar包或者war包上传到服务器,今天就来说一下常用的几种上传方式。ftp方式:这种就不多说了,可视化工具,直接进入到目标文件夹,然后从本地将文件拖上去即可。rz命令:需要先install这个工具[root@iZbp16sksdu04rk7tj72xdZbin]#yuminstall-ylrzsz安装好了之后,就可以cd到目标文件夹,输入rz或者rz-y(覆盖),就会弹出如下选择框:……

不忘初心  发布于 2019-03-11 浏览(1940) 评论(0) 赞 (14)