自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Gogym的博客

热爱生活的程序猿,[email protected]

  • 博客(115)
  • 资源 (25)
  • 收藏
  • 关注

原创 宽带Github访问不了解决办法

github改hosts,文件位置:C:\Windows\System32\drivers\etc,(MAC修改在终端用命令:sudo vim /etc/hosts)选那个没有后缀的hosts文件追加下面两行:140.82.112.4 github.com199.232.69.194 github.global.ssl.fastly.net一般这样设置之后就可以访问了这个IP地址不同人不一样,附上查询方式,图中的IP复制过来就行:github.com从GitHub: Where

2022-04-24 10:21:15 2633 1

原创 logback 的详细配置与需要注意的细节

logback是在java中是用得非常多的日志框架。网上相关介绍也非常多。本篇意不在于logback如何配置,在于提醒在配置过程中容易出现的错误。如何配置也唠叨一下吧:1、导包,用1.2.3的版本<!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-core --><dependency> <groupId>ch.qos.logback</groupId>

2021-05-18 16:14:59 1771 3

转载 java NIO的空轮询bug 以及Netty的解决办法

这个bug是指java的NIO在linux下selector.select()时,本来如果轮询的结果为空并且不调用wakeup的方法的话,这个selector.select()应该是一直阻塞的,但是java却会打破阻塞,继续执行,导致程序无限空转,造成CPU使用率100%这个bug只出现在linux系统下,因为linux下NIO底层使用的是epoll来实现的,而java的epoll实现存在bug,导致selector出现了这种轮询为空却唤醒的情况。windows下NIO是使用的poll来实现select.

2021-01-28 11:38:06 1044

原创 java 通过main方法调试maven项目

有时候我们为了快速调试或者验证某些方法。可能需要直接使用Main方法去执行。当我们使用main方法去调试maven项目时,可能会遇到这么一个问题,就是pom.xml里面到依赖无法引进来。运行时出现依赖找不到的错误。这篇文章记录一下怎么解决这个问题,方面我们调试。直接看代码吧举个例子,用maven工程调试logback日志的打印。一、首先看看pom.xml,非常简单,就几个依赖。<?xml version="1.0" encoding="UTF-8"?><proj

2021-01-15 16:41:26 798 1

原创 java 概率工具类,比如随机立减优惠概率

开发中经常会计算概率。比如支付场景,支付100元立减0.1~1元,要在其中设置不同的概率,比如设置90%是立减0.1元,这个时候就需要用到概率工具类。废话少说,看代码,直接用:import java.util.*;import java.util.Map.Entry;/** * 随机数工具类 * * @author gogym * @version 2017年8月30日 * @see ProbUtil * @since */public final class Pr.

2020-08-13 11:47:41 1023

原创 解决websocket 报 Could not decode a text frame as UTF-8 的问题

当你使用websocket传输数据时,偶尔可能会出现下面的错误websocket Could not decode a text frame as UTF-8网上很多其他文章一上来就介绍什么是websocket,数据协议等等,对解决问题没有多大帮助。有一些文章说要改开头数字10000001等等,很多同学不知所云。下面说说个人的经验,不一定对,希望对大家有个帮助。首先如果你使用的是相对成熟的websocket框架的话,一般不会出现这个问题。而出现这个问题的原因,绝大部分是客户端和服务

2020-07-28 11:03:46 5892 6

原创 java 自定义高性能的ArrayList集合

java本身有很多集合可以用,比如 ArrayList,LinkedList、copyonwritearraylist等等。这些集合各有不同的使用场景,性能也有些差异。日常来说足够用了。本文是介绍通过数组实现ArrayList。相比jdk提供的ArrayList,性能会好一些,胜在简洁,使用方式与jdk提供的一致。直接下面看看代码吧以下代码,拿来即用/** * Licensed to the Apache Software Foundation (ASF) under one or m.

2020-07-28 10:29:48 312

原创 java ThreadPool线程池的使用,线程池工具类

实际上java已经提供线程池的实现ExecutorService。为了更方便的使用和管理。这里提供一个线程池工具类,方便大家的使用。直接看看代码:使用public static void main(String[] args) { //实例化一个固定数目的线程池。具体参考类的构造方法 ThreadPool threadPool=ne...

2020-03-30 09:24:20 977

原创 java AES对称加密,微信aes解密,对应js aes加解密

AES是对称加密算法,顾名思义就是加密和解密的密钥是同一个。更多的详情可以先百度了解一下,这里不多介绍了。直接看代码如何使用。为了更好的兼容不同的算法,先添加一个辅助包 <dependency> <groupId>org.bouncycastle</groupId> <artifactId...

2020-03-30 09:10:43 659

原创 objectbox 在android开发中的配置和使用

介绍:ObjectBox是一个超快的面向对象数据库,专为物联网和移动设备而构建。我们为小型设备提供边缘计算,允许在本地存储和处理数据,以实现高效,快速和安全的数据管理。ObjectBox是nosql数据库,如果接触过java开发,那么ObjectBox有点类似redis。本文主要介绍一下在安卓环境下怎么使用ObjectBox。一、配置:首先在android工程的 build.gra...

2020-02-26 15:26:25 1350

原创 getty 又双叒叕更新啦,一个长得有点像netty的网络框架

getty 又双叒叕更新啦!!!本次更新主要是添加了UDP的支持。。。getty是基于java nio(俗称nio1)封装了UDP,借助getty本身的架构设计,getty udp的性能表现也非常不错基于getty良好的设计模式,getty udp的使用方式与tcp差别不大。唯一的区别就是需要指定socketChannel为UDP。默认不指定是TCP需要指定UDP的消息编解...

2019-12-18 16:55:45 829

转载 Linux下如何不停止服务,清空nohup.out文件

1.nohup.out的由来及作用用途:LINUX命令用法,不挂断地运行命令。语法:nohup Command [ Arg ... ] [ & ]描述:nohup 命令运行由Command参数和任何相关的Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表...

2019-11-08 14:45:24 336

原创 java spring boot 完全纯代码配置mybatis,解放xml

Mybatis是一个使用广泛的ORM框架,相信大家都使用的很熟练的。但绝大部分朋友应该都使用XML进行配置。在springboot中,为了方便或者减少xml文件的数量,也可以选择完全通过代码来配置mybatis。下面就来说说如果通过java代码配置mybatis。配置起来也非常简单,只需一个类,而且不容易出错。首先把原来配置mybatis的xml文件删除,然后添加下面这个类:通过spr...

2019-10-29 08:50:21 1205

原创 mysql解决mysql-connector-java 6+ 插入数据库时差问题

使用mysql-connector-java 6.x版本后。new Date()插入数据库的时间与国内时间有14个小时的时差。原因是mysql-connector-java 6.x版本后默认使用UTC(协调世界时)。这个时间与国内东8区时间有14个小时的时差。解决方法如下:在数据库连接URL后添加&serverTimezone=PRC PRC是可以当做是中华人民...

2019-10-18 08:33:06 434

原创 getty 一个完全基于java 实现的aio框架

目录前言说说写这个框架的原因:说说getty的特点:说说getty的性能和稳定性:如何使用:插件的使用:未完待续。。。githup地址:https://github.com/gogym/getty码云地址:https://gitee.com/kokjuis/getty前言1、getty只是本人空闲时间随手写的一个网络通讯框架,虽然本人认为这份代码写的还凑...

2019-10-01 19:48:20 2742

原创 netty4 使用SSL 安全连接,简单明了

netty是一个非常优秀的nio框架,就不多介绍啦,这里主要介绍如何在netty中开启ssl。这里使用的版本是 netty4 ,netty4内部已经实现了标准的 jdk ssl 以及openssl。很方便的就能使用。ssl的一些介绍,为何要用ssl就不累述了,百度一大堆。咱们讲究实战,直接上代码吧:一、首先肯定要导入相关的jar:<dependency> &lt...

2019-08-13 17:10:42 6496 2

原创 ios开发cocoaAsyncSocket与protobuf的使用swift5版本,含粘包拆包

最近搞了一下即时通讯,为了配合服务器的使用(netty4+protobuf3),在ios客户端捣鼓了一下。在ios客户端使用protobuf的资料比较少,配合cocoaAsyncSocket使用的更少,swift版本的更加少。在swift版本中有处理protobuf粘包/拆包的资料基本没有。所以分享一下,希望对一些朋友有帮助1、首先导入必要的包。这里使用了Carthage作为管理,...

2019-08-09 12:38:00 1915

原创 netty4 ip过滤器的使用(可做ip黑名单处理)

netty4的ip过滤跟netty3的区别比较大。netty3的使用方法这里不介绍了,看看在netty4中怎么做ip的过滤。从netty的文档中我们可以看到这么几个类:https://netty.io/4.1/api/io/netty/handler/ipfilter/package-summary.htmlip过滤相关的类在 io.netty.handler.ipfilter这个...

2019-07-13 13:32:15 3694 1

原创 java使用中Protobuf3 Any类型转json (解决Cannot find type for url: type.googleapis.com)

Protobuf是谷歌出品的一个数据协议框架,跟json相比,有独特的优点,这里不多说。Protobuf3相比Protobuf2有很多改进。其中一个就any类型。有点类似java的泛型。也添加了Protobuf与json的互转,非常方便如何转换json:先添加jar支持,protobuf 转json的工具类在protobuf-java-util这个包中,通过maven引用进来 &...

2019-07-03 09:52:05 4985 2

原创 (centos7)阿里云 ECS中毒后CPU一直占用100%的解决过程

这两天发现部署在阿里云上的ECS服务器的CPU一直占用100%,一开始以为只是偶然的,没在意。后面发现CPU一直满载,这不应该呀。于是赶紧看看是怎么回事。使用 top 命令查看cpu使用情况:发现有一个 vTtHH1 的进程占用 200%的cpu,这是什么鬼,貌似哥不曾相识啊。于是乎,通过命令 :cd /proc/32676 -> ll 查看这到底是什么玩意,...

2019-05-15 15:58:58 6348 1

原创 自定义注解,mybatis通过拦截器执行insert、update sql自动添加当前时间。

开发过程中,会经常执行insert、update语句。大部分数据库表结构都有类似create_time这样的时间列,用于记录创建时间。很多朋友通常会为这个列设置一个默认值、或者通过代码setTime()去设置。这样做是没有问题的。这里主要提供注解的方式去达到这个目的。有利于提高开发效率。1、先添加两个自定义注解类:import java.lang.annotation.Eleme...

2019-04-11 08:58:14 9106

原创 mybatis 通过拦截器打印完整的sql语句以及执行结果

开发过程中,如果使用mybatis做为ORM框架,经常需要打印出完整的sql语句以及执行的结果做为参考。虽然mybatis结合日志框架可以做到,但打印出来的通常都是sql和参数分开的。有时我们需要调试这条sql的时候,就需要把参数填进去,这样未免有些浪费时间。此时我们可以通过实现mybatis拦截器来做到打印带参数的完整的sql,以及结果通过json输出到控制台。直接看代码和使用方...

2019-04-02 15:05:27 8386 6

原创 JAVA采用 Luhm 校验算法来生成条码(银行卡号),防止被篡改

开发过程中,经常会生成一段条码来做为一个标识,比如生成几个商品的条码。但如果只是简单的使用几个随机数来标记,没有任何的校验过程,有时可能不太安全。这里介绍一个简单使用的条码校验方法。这样如果条码被修改过,就无法通过校验,从而达到提高安全性的目的。这里主要使用Luhm 校验算法。Luhm 校验算法广泛用在银行卡号的生成,校验等场景上,这里不多说了。简单介绍校验的过程:1、从最后一位数字开...

2019-02-19 16:24:44 1408

原创 解决通过阿里云SLB多层代理后,spring boot工程获取不到客户端真实IP的问题

现在很多服务都部署到阿里云上,免不了使用SLB做负载均衡,然后又通过了nginx等代理。如果这个时候你想获取客户端访问的真实ip,你会发现一直拿到的是127.0.0.1  下面一起来解决这个问题。现在来解决一下:首先:配置一下SLB监听。确定获取真实IP已经开启,一般默认都是开启的,如图:二、配置nginx转发ip信息,基本都有这段配置:proxy_set_header Ho...

2018-12-18 17:37:21 3036 1

原创 spring boot 解决Tomcat 报 The valid characters are defined in RFC 7230 and RFC 3986 的问题

tomcat 8.0以后对请求URL做了严格的过滤就是严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保留字符(RFC3986中指定了以下字符为保留字符:! * ’ ( ) ; : @ & = + $ , / ? # [ ])。这可能会遇到一个问题,比如参数中传了一段j...

2018-12-18 17:09:35 15298 13

原创 log4j2 的配置与使用

简单说一下log4j2的改进,引用一下百度上的:1、丢数据这种情况少,可以用来做审计功能。而且自身内部报的exception会被发现,但是logback和log4j不会。2、log4j2使用了disruptor技术,在多线程环境下,据说性能高于logback等10倍以上。3、(garbage free)之前的版本会产生非常多的临时对象,会造成GC频繁,log4j2则在这方面上做了优化,减少...

2018-12-01 17:30:18 1421

原创 java 代码实现encodeURIComponent和decodeURIComponent,解决空格转义为加号的问题。

java自带有一个  java.net.URLDecoder和java.net.URLEncoder。通过这两个类,可以调用encode()或者decode()方法对字符串进行URL编码。那既然有了,为什么还要自己实现一套呢?主要原因是Jdk中并没有提供encodeURIComponent和decodeURIComponent的方法。这两个方法作用其实跟encode()和decode(...

2018-11-16 15:51:42 20297 1

原创 利用Thumbnails,java图片压缩,转换工具类

Thumbnails是谷歌的一个图片压缩处理开源库。利用这个库可以非常容易的做图片处理。这里整理了一些方法。直接看代码吧。先添加jar支持&lt;!-- https://mvnrepository.com/artifact/net.coobird/thumbnailator --&gt; &lt;dependency&gt; &lt;groupId&gt;net.coobird...

2018-11-10 10:23:50 2896

原创 socket.io 在java与微信小程序上的应用

最近有一个这样的功能场景。用户操作完成后。服务器主动通知另一个客户端显示结果。这里涉及一个服务器推的这么一个东西。需要实现这么一个功能,对比了几个实现方式。最终选择了socket.io。1、commet,最初想到这个功能要求不高,想简单的通过commet方式实现就算了。但考虑到commet已经是比较老旧的做法了,其中有很多弊端,所以放弃了。2、netty。netty是非常棒的java ...

2018-11-09 19:00:56 3334

原创 微信小程序 RSA 加密、解密,分段加解密

虽然说微信小程序本身有自己的安全机制,但我们有时候业务需要。需要自己做一层加密,AES比较简单,就不说了。这里说一下RSA非对称加密。一般网上搜的都不全,要么就没有分段加解密。这里做一下整理,方便大家使用。 主要添加两个方法:function RSAEncryptLong(d){ var k = this; var maxLength = (((k.n.bitLength...

2018-09-29 09:44:27 2881 5

转载 如何实现微信抢红包算法?

发出一个固定金额的红包,由若干个人来抢,需要满足哪些规则?1.所有人抢到金额之和等于红包金额,不能超过,也不能少于。2.每个人至少抢到一分钱。3.要保证所有人抢到金额的几率相等。小灰的思路是什么样呢?每次抢到的金额 = 随机区间( 0,剩余金额 )为什么这么说呢?让我们看一个栗子:假设有10个人,红包总额100元。第一个人的随机范...

2018-08-30 17:42:58 1208 1

原创 okhttp在java中的使用

OkHttp 库的设计和实现的首要目标是高效。这也是选择 OkHttp 的重要理由之一。OkHttp 提供了对最新的 HTTP 协议版本 HTTP/2 和 SPDY 的支持,这使得对同一个主机发出的所有请求都可以共享相同的套接字连接。如果 HTTP/2 和 SPDY 不可用,OkHttp 会使用连接池来复用连接以提高效率。OkHttp 提供了对 GZIP 的默认支持来降低传输内容的大小。OkHtt...

2018-08-02 15:50:06 5409 1

原创 解决spring cloud Feign远程调用服务,添加headers解决拦截器拦截问题

使用spring cloud 做saas服务器时,经常会通过Feign调用远程服务。有时候我们的远程服务可能做了某些权限验证。需要验证header或者token什么的。如果某没有token,可能会被阻止调用。那如何添加token呢。如果每个方法都手动设置headers,那未免太麻烦。可以通过一个切面,自动帮我们添加请求header。直接上代码:@Configurationpublic class...

2018-06-12 08:51:28 14805 2

转载 阿里巴巴Java开发手册及Java代码规约扫描eclipse和IDEA插件

《阿里巴巴Java开发手册》是阿里巴巴技术团队的集体智慧结晶和经验总结,经历了大规模的实战不断完善,主要由编码规约、异常日志、单元测试、安全规约、工程结构、MySQL数据库六部分组成。俗话说得好无规矩不成方圆,无规范不能协作,相信大家在编程时都不喜欢维护别人写的代码,代码过度个性化使得维护起来非常费力,该手册让Java开发者能够提升协作效率。该规范也并非必须的,可以给我们一个参考作用。《阿里巴巴J...

2018-06-11 08:41:51 724

原创 jsencrypt.min.js通过JSEncrypt分段加密解密

最近捣鼓了一下js RSA前端加解密。是通过用jsencrypt.min.js来实现的,这个js本身自带了RSA公钥加密和RSA私钥解密。对一些短字符串加解密足够。但如果加密的和解密的内容比较长的时候,就会有问题。所以要进行分段加解密,参考了网上的一些例子。多少有点问题。所以自己捣鼓了一下。直接看看代码吧需要注意一个问题:如果与JAVA后台数据交互。某些中文字符可能因为编码原因会乱码,可以加密...

2018-05-22 15:43:58 26919 10

原创 java mybatis 多数据源,动态数据源 使用

做项目,有时候需要一个工程里配置多个数据源。网上也有很多啦。我这里写一个比较全,实现相对优雅的方式吧。使用mybatis的时候,可以不用多个DAO。一个DAO全部搞定直接上代码:1、先添加需要的数据源配置# 数据源,默认配置Druidspring.datasource.type=com.alibaba.druid.pool.DruidDataSourcespring.datasource.dr...

2018-04-27 11:03:25 780 1

原创 解决 java.io.FileNotFoundException: file:/usr/project/xxx.jar!/BOOT-INF/classes!/conf/config.js

使用spingboot开发,在工程根目录中添加了一个配置文件,在IDE中通过this.getClass().getResource("")来获取文件的路径,没有任何的问题。在打成jar后运行,结果不能读取到文件。在jar里面对应的class路径下可以看到该文件,确定是有打包进去的。此时通过 this.getClass().getResource("");方法无法正确获取文件。用 InputStre...

2018-04-24 08:45:47 18543 4

转载 Java8 lambda表达式10个示例

例1、用lambda表达式实现Runnable我开始使用Java 8时,首先做的就是使用lambda表达式替换匿名类,而实现Runnable接口是匿名类的最好示例。看一下Java 8之前的runnable实现方法,需要4行代码,而使用lambda表达式只需要一行代码。我们在这里做了什么呢?那就是用() -&gt; {}代码块替代了整个匿名类。1234567// Java 8之前:new Threa...

2018-04-13 09:15:16 514

原创 zuulGateway 通过filter统一修改返回值

使用spring cloud有时候我们给客户端返回内容的时候,往往需要添加一些额外的东西。比如加密,多添加一个返回值等等。当然可以在方法里面处理,但如果方法很多,需要统一处理的,就很不方便了,这时候可以通过zuulGateway的filter来统一处理。直接看代码,很简单:import java.io.InputStream;import java.nio.charset.Charset;...

2018-04-08 11:55:46 7307

原创 zuulGateway网关添加路由异常熔断

zuulGateway是spring cloud中很不错的组件,使用频率很高。使用过程中偶尔可能遇到服务路由异常的情况,如果没有异常熔断,可能会造成应用无响应,严重甚至造成系统雪崩。所以一般需要加上熔断机制。直接看代码,很简单:/* * 文件名:ServerFallback.java 版权:Copyright by www.poly.com 描述: 修改人:gogym 修改时间:2018年1月3...

2018-04-08 11:43:20 1810

微信小程序能用RSA分段加解密工具类

微信小程序能用RSA分段加解密工具类。直接复制到你的工程下就能用

2018-09-29

JSEncrypt 前端js分段加密解密RSA

jsencrypt.min.js通过JSEncrypt分段加密解密,自己添加了分段加解密的方法

2018-05-22

fastdfs-client-java-1.27-SNAPSHOT.jar

fastdfs在java中集成需要用的jar包1.27-SNAPSHOT版本。

2017-08-03

VMware安装Mac OS 用的 vmware tools 安装文件下载

VMware安装Mac OS 用的 vmware tools 安装文件. 852最新版本,亲测可用。可以参考 http://blog.csdn.net/kokjuis/article/details/70228476

2017-04-18

protobuf-java-3.1.0.jar

protobuf-java-3.1.0.jar protobuf java下使用的jar包

2017-01-05

Protobuf 3.1 编译器(windows环境下)

Protobuf 3.1 编译器(windows环境下)

2017-01-05

Activiti工作流中文用户手册

Activiti工作流中文用户手册

2017-01-05

jsencrypt.min.js

js加密类,用于在js上进行加密操作,比如RSA加密

2016-12-28

OpenSSL-for-IOS

已经编译好的 IOS开发使用的openssl库。可以直接导入使用,使用方法可以看我的博客

2016-12-28

javabase64-1.3.1.jar

javabase64-1.3.1.jar base64编码需要用的jar

2016-12-26

bcprov-jdk15-143

java 使用RSA加密 需要的一个jar

2016-12-26

openssl密钥生成工具

openssl密钥生成工具,用于生成公钥私钥

2016-12-26

java整合spring和hadoop HDFS全部jar

java整合spring和hadoop HDFS全部jar

2016-12-12

hadoop-windows下配置文件

hadoop-windows下配置文件,用于在windows环境下安装hadoop使用,直接可以使用,省去自己编译的麻烦,支持当前最新的2.7.3版本。

2016-12-09

pinyin4j-2.5.0.jar

pinyin4j-2.5.0.jar

2016-11-03

全国城市sqlite数据库(精确到区县,带区号等)

全国城市sqlite数据库(精确到区县,带区号等)非常齐全

2015-12-25

商城android应用 交友android手机应用

商城android应用 交友android手机应用 有源代码

2014-04-24

jQuery EasyUI v1.3.5官方API中文版

jQuery EasyUI v1.3.5官方API中文版

2014-04-24

富文本编辑器kindeditor-4.0.5.zip

富文本编辑器kindeditor-4.0.5.zip 非常强大好用的编辑器,用于网页编辑非常方便,可编辑文字,图片,上传文件等等,内有使用说明

2013-01-25

apache-tomcat-6.0.18 tomcat服务器

apache-tomcat-6.0.18 tomcat服务器 绿色版,下载解压即可使用

2013-01-24

Windows_Media_Player控件研究和用法

Windows_Media_Player控件研究和用法

2013-01-24

javascript写的时间,直接引用即可

javascript写的时间,直接引用即可

2013-01-24

java实现文件上传和下载

java实现文件上传和下载,里面有代码示例,用到了struts框架

2013-01-24

C#视频播放器(附源码)

强大的视频播放器,C#语言编写,里面有详细的配置说明

2013-01-24

jquery-easyui-1.2.2

非常强大的UI界面,界面特效非常好,有多种漂亮的工具,可以直接调用,非常好用,有相关文档介绍。

2012-12-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除