自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

iamzken

独立思考,怀疑一切!

  • 博客(689)
  • 资源 (13)
  • 收藏
  • 关注

原创 mac下rocketmq各种集群模式搭建实战

目录0:搭建nameserver集群1、单master模式2、双master模式(2m-noslave)3、双master同步模式(2m-2s-sync)4、双master异步模式5、优化和监控首先去rocketmq官网下载安装包,地址为:http://mirrors.hust.edu.cn/apache/rocketmq/4.3.2/rocketmq-all-4.3.2-bin-release...

2018-12-28 17:47:53 2416 3

原创 windows单机搭建RabbitMQ集群

1、先安装Erlang,http://www.erlang.org/downloads,安装完成后,设置环境变量:   变量名:ERLANG_HOME   变量值:D:\erl9.1 2、安装RabbitMQ,http://www.rabbitmq.com/install-windows.html,安装过程中会自动启动RabbitMQ服务   安装之前,先设置环境变量:   变量名:R...

2018-02-24 09:53:28 1003

原创 mongodb高可用配置之分片集群

一、规划好端口ip 架构图如下,任意抽取每个副本集中的一个分片(非仲裁节点)可以组成一份完整的数据。 1. 第一个副本集rs1share1 127.0.0.1:30011:c:/data/share_rs1/share1/data/ share2 127.0.0.1:40011:c:/data/share_rs1/share2/data/ share3

2018-01-11 16:28:19 1003

原创 mongodb副本集(Replica Set)搭建

mongodb副本集是有故障恢复功能的主从集群,由一个primary节点和一个或多个secondary节点组成。 同步过程: Primary节点写入数据,Secondary通过读取Primary的oplog得到复制信息,开始复制数据并且将复制信息写入到自己的oplog。如果某个操作失败,则备份节点停止从当前数据源复制数据。如果某个备份节点由于某些原因挂掉了,当重新启动后,就会自动从oplog的最

2018-01-11 10:33:10 1408

原创 通过递归实现嵌套未知次数的循环

如下示例:public class Test4 { public static void main(String[] args) { int m = 10; int n = 9; int p = 4; int q = 7; for(int i=0;i<m;i++){ int a = i;

2017-09-06 13:38:57 2763 1

原创 leetcode算法实例---组合和枚举问题

给定一列数(未排序)和一列目标值, 找出唯一的一个组合和等于目标值的组合, 数组中的数不能重复使用.算法思路: 使用递归.对数组排序, 从小到大; 令i = 起始下标(初始为0), 对于每一个数, 如果它等于目标值, 则在缓存结果中加入此数并将缓存结果加入输出队列, 随后在缓存结果中删除此数; 如果它小于目标值, 则在缓存结果中加入此数并递归调用此算法, 目标值更新为差值, 起始下标为i;

2017-08-23 09:56:37 1025

原创 基于springcloud的微服务实战

1引言 1.1目的 本博文是基于springboot+springcloud实现的微服务架构改造,提供对研发人员的技术架构支持。版本0.0.1主要实现了四个模块的功能:服务生产者,服务消费者,服务注册中心,客户端负载均衡。后续还会根据项目进展进行持续优化和扩展。 1.2背景 对现有项目进行服务化改造实践,提高团队技术储备。 1.3定义 服务生产者:独立的应用,负责提供微服务 服

2017-08-17 14:21:40 2455 1

原创 nginx+tomcat使用apache的FtpClient上传图片时由于多线程问题导致的文件大小为0的问题

最近遇到这样一个问题:通过nginx反向代理上传图片时,发现上传之后的文件大小为0,并且nginx出现504错误,也就是说上传图片失败,但有时又不为0,,也就是说可以正常上传图片,直接通过ssh客户端工具上传图片也是没问题的。nginx出现504网关超时错误是因为上游upstream服务器tomcat请求时响应时间过长,nginx迟迟无法收到tomcat的返回,于是出现超时错误,为什么会出现这

2016-10-25 10:26:05 32747 1

原创 通过aop拦截mybatis接口dao

最近开发的客服系统遇到了这样一个问题:微信渠道发送消息时如果nickname带有emoji表情,后台则会报消息无法插入数据库的错误,导致微信端一直无法进入人工,错误如下:经查证,是由于后台在使用mybatis插入数据库时没有对emoji做转换处理,导致无法插入数据库,故而报错由于mybatis使用的接口的形式跟mysql映射的,刚开始还以为aop无法拦截接口,结果验证,ao

2016-10-12 17:05:06 28266 14

原创 linux下ffmpeg转换amr为mp3大小为0的解决方案

直接上代码:public class AudioUtils {/*** 将一个amr文件转换成mp3文件* * @param amrFile* @param mp3File* @throws IOException*/public static void amr2mp3(String amrFile, String mp3File) throws IOExcep

2016-09-23 17:08:25 138767 1

原创 微信发送amr文件导致web端无法显示解决方案

html5中有audio这样一个标签,这个标签支持3种格式,分别是wav、mp3、ogg格式,都是音频格式,而且在不同的浏览器中还有不同的兼容性。下面是主流的几个浏览器对它的支持性:那么,问题来了,我们现在是微信上发送的语音文件(格式为amr)需要在浏览器上进行展示,结果由于audio标签并不支持amr格式的语音文件,就导致无法再浏览器上正常显示。解决方案:

2016-09-22 16:20:22 151100 6

原创 一条命令解决500 Error: Cannot find module 'XXX'

装express之后访问http://localhost:3000。会出现500 Error: Cannot find module 'xxx'错误解决方案:确定package.json里有添加相应的依赖配置使用npm install -d 可以自动配置package.json,并安装所有需要依赖的包

2016-09-19 17:03:35 18846 1

原创 sentinel搭建redis集群经验总结

一、protected-mode默认情况下,redis node和sentinel的protected-mode都是yes,在搭建集群时,若想从远程连接redis集群,需要将redis node和sentinel的protected-mode修改为no,若只修改redis node,从远程连接sentinel后,依然是无法正常使用的,且sentinel的配置文件中没有protected-mod

2016-09-13 16:07:18 103943 2

原创 MySQL大招---循环执行kill语句杀掉连接

今天在mysql中创建索引时,一直卡住不动,刚开始以为可能是数据量太大导致的,可是一直等了很久还是一样没有反应,看来操作的表被锁住了,执行show processlist 果然发现有大量的lock,使用kill id单独杀死连接是可以的,但是非常笨,不够强大,这里提供一个大招:1、查找所有connection 的id 生成 kill id; 格式的文本2、SELECT concat

2016-09-02 17:46:14 71013 1

原创 两个应用相互调用导致的session丢失问题

问题是这样的,有两个应用,这两个应用有相互调用关系,而且是双向调用,A会调用B,B也会调用A,且通过nginx对后台的两个tomcat进行负载均衡,结果在访问时就会不时的出现session丢失,F12查看route不停的改变,提示重新登录的错误!如果后台是单机的tomcat,则不会有上述问题。经过不停的思考和尝试,一共思考出了两个解决方案,并且成功测试通过!解决方案如下:1、修改ngi

2016-08-08 11:42:54 10535

原创 Exception in thread "main" java.io.IOException: Server returned HTTP response code: 400 for URL解决方案

最近一次项目上线时遇到一个挠头的bug,开发环境和测试环境都是正常的,一旦到了生产环境就报“网络超时”,经过仔细分析,最终定位到了相关的代码段,于是在本地进行调试。流程大致是这样的,页面发送一个ajax请求,后台接收到这个ajax请求之后会请求一个指定的url,问题就出在了请求这个url上。本地调试的情况是这样的,如果把这个url替换成本地的,则正常,如果替换成了远程指定的url,则tomca

2016-07-18 09:08:15 19574 4

原创 nginx使用proxy_pass反向代理时cookie丢失问题解决方案

今天在测试环境进行测试时发现有个会话页面无论如何都进不去了,经过调试发现,JSESSIONID的path和我访问应用的path不相同!即我访问的应用是/xxx/,而JSESSIONID的path是/yyy/,这就是问题的根源!于是我就修改应用的sessionCookiePath,说白了就是在项目根路径下的META-INF下新建一个context.xml文件,具体内容为: 在测试环境

2016-07-08 03:17:02 53527 2

原创 jdk1.6.0_29的bug导致c3p0获取sqlserver连接时被hang住甚至deadlock问题的分析

最近在工作中遇到这样一个问题:一个java应用,作用是从sqlserver数据源同步数据到mysql中,在本地跑很正常,tomcat可以正常启动,可以正常同步数据,一旦放到测试环境上就有问题:tomcat在启动时一直卡住不动,而且也不报错,这是很典型的deadlock问题。我随后修改了一下c3p0连接池的相关参数,果然再启动时就报出一堆错误,下面是部分报错片段:com.mchange.v2.asy

2016-06-30 09:58:39 2344

原创 C3P0连接池启动时 APPARENT DEADLOCK!!! 错误

在Windows平台下运行正常的应用部署到Linux服务器上之后,一直报错:com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@bbd1b —APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!查了好多论坛,发现

2016-06-24 14:37:02 6831

原创 Not an ISO8859-1 character 解决方案

package com.iamzken.test; import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class Test extends HttpServlet {     public void doGet(HttpServl

2016-06-02 21:04:17 6376

原创 除了升级tomcat版本外,还能怎么解决?

信息: Starting ProtocolHandler ["ajp-bio-8013"]五月 26, 2016 6:07:49 下午 org.apache.catalina.startup.Catalina start信息: Server startup in 20001 ms2016-05-26 18:07:49 [org.springframework.web.socket.so

2016-05-26 18:26:35 2242

原创 记一次中文乱码解决过程

先说一下现象:浏览器显示中文是乱码!为什么会显示乱码呢?首先:乱码页面对应的是一个html文件,并且html文件也是用的utf-8格式的编码,并且文件内容显示正常,无中文乱码问题;其次:通过如下操作修改浏览器编码,无论如何始终都是乱码排除了B(browser)端问题,那就应该是S(server)端的问题了,接下来就通过SSH Secure Shell Cli

2016-04-28 14:10:03 1918

原创 彻底停止运行线程池ThreadPoolExecutor

最近系统开发时遇到这样一个需求:该功能执行时间很久,如果运行过程出现错误,也无法将其停止,必须眼睁睁的看着它浪费很久时间,除非停止服务器。于是,我就想着如何给该功能加上一个“停止”的功能呢?经过不断的思考和测试,发现思路如此简单,直接上代码!package com.iamzken.test;import java.util.ArrayList;import java.util

2016-03-09 10:18:28 6206

原创 java动态控制线程的启动和停止

最近项目有这样的需求:原来系统有个计算的功能,但该功能执行时间会很长(大概需要几个小时才能完成),如果执行过程中出现了错误的话,也只能默默的等待错误执行完成才行,无法做到动态的对该功能进行停止。我了解到项目需求后,写了如下的小例子:package com.iamzken.test;import java.io.IOException;import javax.ser

2016-02-23 18:08:11 6368

原创 java.io.IOException: No such file or directory解决方案之权限问题

先贴出异常信息:java.io.IOException: No such file or directory at java.io.UnixFileSystem.createFileExclusively(Native Method) at java.io.File.createNewFile(File.java:883) at com.bill

2016-01-29 11:15:30 27655

原创 linux与windows之间传输文件工具rz上传大文件失败问题解决方案

rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具。windows端需要支持ZModem的telnet/ssh客户端(比如SecureCRT),运行命令rz即是接收文件,SecureCRT就会弹出文件选择对话框,选好文件之后关闭对话框,文件就会上传到当前目录。注意:单独用rz会有两个问题:上传中断、上传文件变化(md5不同),解决办法是上传时用rz -

2016-01-27 16:20:01 15343

原创 spring巧用继承解决bean的id相同的问题

先感叹一下:最近的项目真的很奇葩!!!需求是这样的:我们的项目中引用了两个jar包,这两个jar包是其他项目组提供的,不能修改!奇葩的是:这两个jar中都需要引用方提供一个相同id的bean,而bean的定义却是不同的,也就是虽然id相同,但他们对应的却是两个不同的java类,导致出现的问题是:该id对应的java类满足了第一个jar包的要求,则不能满足第二个jar包的要求,满足了第二个j

2016-01-25 18:02:14 142760

原创 tomcat处理请求导致页面出现ERR_CONNECTION_RESET错误解决方案

现象:浏览器发送请求到servlet,servlet处理时间太久,所以导致chrome浏览器出现ERR_CONNECTION_RESET错误解决方案: 在相应servlet执行最后添加一句代码:Thread.currentThread().join();表示必须在当前线程执行完之后才返回页面到浏览器。

2016-01-19 18:18:38 11084

原创 apache+tomcat集群出现的两次请求问题解决方案

之所以出现两次请求,并不是浏览器问题,而是集群配置有问题,猜想集群中肯定配置了类似worker.tomcat1.socket_timeout=10这样的参数,该参数表示apache跟tomcat之间的连接时间如果超过10秒未返回,则apache会重新再向tomcat发送新的请求。解决方案:a、将该参数设置为:worker.tomcat1.socket_timeout=0或者直接

2016-01-19 16:52:26 3647 2

原创 cas单点登录出现的重定向循环问题解决方案

先描述下出现的问题,截图如下:出现该问题的原因可以通过F12查看Network找到,即http和https两个协议开头的url在不停的跳转,最后就出现了上图所示的重定向循环错误,导致页面崩溃。解决方案很简单:分为两个步骤:1、制作证书并通过配置让tomcat支持https协议;2、cas客户端使用的几个url中把相应的http改为https,以及http的8

2016-01-06 16:17:12 15741 3

原创 drools规则引擎因为内存泄露导致的内存溢出

进入这个问题之前,先了解一下drools:在很多行业应用中比如银行、保险领域,业务规则往往非常复杂,并且规则处于不断更新变化中,而现有很多系统做法基本上都是将业务规则绑定在程序代码中。主要存在的问题有以下几个方面:1) 当业务规则变更时,对应的代码也得跟着更改,每次即使是小的变更都需要经历开发、测试验证上线等过程,变更成本比较大。2) 长时间系统变得越来越难以维护。

2015-10-13 10:36:42 6062 7

原创 欢迎给我发邮件

[img=http://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=Pw4GCQoKCA4GCgt-Tk4RXFBS]http://rescdn.qqmail.com/zh_CN/htmledition/images/function/qm_open/ico_mailme_02.png[/img]

2015-07-13 20:37:57 1757

原创 永远怀念左耳朵耗子陈皓——IT界的失去

他在自己的技术博客上分享了大量的技术文章和心得体会,为广大技术爱好者提供了宝贵的学习资源。他的离世不仅是他的家人和亲朋好友的巨大悲痛,也是整个IT界的损失。他的技术热情和开源精神将激励着更多年轻人踏上创新之路,不断推动技术的发展和社会的进步。本文将回顾他的职业生涯和他对IT界的重要影响,以及他离世后的深远意义。陈皓先生的开源贡献也是不可磨灭的。他坚持的分享和合作的精神,将继续激励着更多人积极参与到开源社区中,共同推动技术的创新和进步。人们纷纷提到他对技术的热爱和对开源的坚守,以及他温和而慈善的个人品质。

2023-05-16 08:41:47 553

原创 gRPC 与 REST

我们谈到了 REST 的出现。现在让我们深入探讨其核心技,REST 代表 Representational State Transfer。Rest是一种标准化的软件架构风格,是业界经常使用的API。gRPC 使用 protobuf 进行通信。它将proto文件序列化为二进制格式发送给服务器,在服务器端反序列化为原始格式。这就是它与 protobuf 一起工作的方式。gRPC 有不同的通信形式,可以将它们视为 gRPC 的功能。

2023-02-18 11:05:56 454

原创 Java 15中的隐藏类是咋回事?

hidden … 不能被其他类的字节码直接使用的类,可能不容易理解。一个隐藏类被加载到 JVM 中,当一个类是源代码或字节码格式时,它不能被“隐藏”。该术语只能指加载的类,将它们称为秘密加载的类可能更合适。当一个类以特定方式加载时,它会隐藏起来,以便它在其他代码部分面前保持秘密。保持隐藏并不意味着其他代码不能使用这个类。只要他们“知道”这个秘密,他们就可以。最大的区别是这个类不是“广而告之”的,因为你无法使用名称找到它。当你以创建隐藏类的隐藏方式加载类时,你就拥有对此类的引用。

2023-02-16 10:09:50 562

原创 如何检查 Docker 镜像是否存在漏洞

Linux 内核对名称空间的支持主要隔离了应用程序对操作环境的看法,包括进程树、网络、用户 ID 和已安装的文件系统,而内核的 cgroups 为内存和 CPU 提供资源限制。在本文中,我们将创建一个包含 Spring Boot 应用程序的易受攻击的 Docker 映像,安装并使用 Grype 以扫描Docker镜像并修复漏洞。创建一个.grype.yaml文件,您可以在其中排除高严重性的漏洞,并使用标志执行扫描,--config后跟.grype.yaml包含排除项的文件。这是最简单的修复方法,风险很低。

2023-02-15 11:23:09 300

原创 Web 应用程序的十大安全漏洞

2021 年 OWASP Top 10 列表列出了 10 个最危险的 Web 应用程序安全漏洞。如果我们将当前列表与 2017 年列表进行比较,我们可以看到列表中仍然存在一些安全漏洞,但位置不同,并且列表中还包含一些新的安全漏洞。下表比较了 2017 年和 2021 年的列表。(2021 年列表中引入的安全漏洞以粗体标出,其余的只是重新排列)

2023-02-14 11:39:43 834

原创 Python 异常处理指北

内置异常很好,但我们的软件项目可能需要自定义异常。Python 允许我们创建用户定义的异常以满足我们的需要。Python 文档指出:所有异常都必须是派生自的类的实例。自定义异常是通过继承 Python的Exception类派生的。passtry:passpasspasstry:else:finally:print()在上面的示例中,我们创建了自己的类,其异常名称为,它继承自Exception超类。我们在其中放置了一些可能会在try块中引发异常的代码,except块是我们的异常处理程序。

2023-02-13 13:44:21 173

原创 对ChatGPT的几点质疑

当然,值得指出的是,目前像ChatGPT这样的工具都是通过API提供的,不能离线运行。OpenAI 很容易为希望抓住ChatGPT剽窃行为的教师提供单独的 API. 他们需要做的就是记录所有 ChatGPT 的响应(我相信他们已经这样做了),然后根据日志对学生提交的内容运行标准化的抄袭检测例程。当然,有些人比其他人处理得更好。最大的问题,也是我认为这种策略不受其他 CS 讲师欢迎的原因,是这类项目的评分非常耗费资源,因为它们必须手动评估,这与通常的千篇一律的项目不同在通常自动评分的 CS 课程中分配。

2023-02-12 11:55:00 5847

原创 chatgpt的原理、竞争和未来

随着其不断发展的能力和日益增长的声誉,很明显,这种有效的语言版本将在基于语言的完全技术的命运中发挥重要作用。在一个例子中,尽管 InstructGPT 接受提示“告诉我克里斯托弗·哥伦布2015 年什么时候来到美国”的前提是真实的,但 ChatGPT 承认问题的反事实性质并将其答案作为假设考虑如果哥伦布在 2015 年来到美国,可能会发生什么,使用有关克里斯托弗哥伦布航行的信息和关于现代世界的事实——包括现代对哥伦布行为的看法。它被认为可以提供准确的信息并引用特定的信息来源——这是ChatGPT所缺乏的。

2023-02-11 12:09:24 4532

linux下ffmpeg转换amr为mp3大小为0的解决方案

linux下ffmpeg转换amr为mp3大小为0的解决方案

2016-09-26

动态控制线程执行和停止问题

访问路径为:http://localhost:8080/web001/test.do?flag=xxyyzz&switch=off 其中switch开关参数取值有两种:on和off,on表示执行线程对应的任务,off表示中断线程正在执行的任务。

2016-02-23

struts2漏洞利用工具

struts2漏洞利用工具 绝对不会令你失望,超级牛逼! 直接针对struts2漏洞! ps:大家可不要拿来做坏事!

2014-10-15

CSS实现动态二级菜单实例

CSS实现动态二级菜单实例

2014-06-20

反编译工具jd-gui

反编译 工具 jd-gui

2014-03-26

黑客工具super-scan

黑客工具super-scan

2014-03-26

TDD测试驱动开发

TDD测试驱动开发,你值得拥有! TDD测试驱动开发,你不会后悔!

2014-03-13

spingMVC经典教程

spingMVC经典教程,绝不会让你后悔!

2014-03-13

Oracle数据库开发规范.pdf

Oracle数据库开发规范.pdf 大家可以参考一下,很权威的开发规范!

2013-11-25

省市二级联动

省市二级联动

2013-11-07

myfaces-all.jar.zip

myfaces-all.jar.zip

2013-11-07

jbpm开发指南.pdf

jbpm开发指南.pdf

2013-11-07

空空如也

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

TA关注的人

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