自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(125)
  • 资源 (26)
  • 问答 (1)
  • 收藏
  • 关注

原创 Redis系列之六:Redis自动化部署脚本(离线部署集群)

在实际生产使用Redis时,更多的还是使用Redis集群,因为这既可以保证性能,又可以保障稳定性。这里介绍一下Redis集群部署,下面是笔者之前写的自动部署脚本,供各位参考。当时(包括下面的脚本)使用的Redis版本是3.2.1,目前最新的版本已经是6.0了,相较于老版本增加了很多令人期待的特性,比如权限控制、客户端缓存等。下面进入正题。部署脚本部署脚本包含两个部分,第一个脚本是集群安装前的一些准备工作,第二个脚本是执行集群部署工作。**脚本1: prepare-script.sh**#!/bin

2020-05-23 10:54:17 1043

原创 Redis系列之一:Redis简介

写在前面的话:笔者在最近工作中开始接触Redis,并将Redis应用于项目中。在慢慢深入学习和使用的过程中,总结和整理了一些关于Redis的资料,希望能和大家一起分享、一起交流、共同进步。《Redis系列》将从Redis的简单介绍到Redis中的基础知识(如数据类型、持久化、常用命令等),从Redis的安装到通过Java访问Redis,从Redis与Spring集成到Redis的优化。R...

2018-05-01 10:14:16 392

原创 深入理解递归算法

递归算法是一种经典的算法,在很多时候可以使代码变得非常简洁,但它也有一个很大的缺点,就是效率比较低。不管怎么说,这一算法在实际编码中还是有非常大的作用,以前一直没有很理解这个算法的执行过程和原理,这两天花了很多时间去研究这个,终于算是明白了,所以在这里写出来,供大家参考,也欢迎大家说出自己的理解和对本文进行批评指正,不甚感激。下面是对递归算法执行过程的理解:(结合汉诺塔问题)【源码】public ...

2015-09-22 10:16:52 4450

原创 mybatis-plus执行select语句报错302

1. 问题开发中有一段很简单的代码,功能就是根据type和key从参数表中查询一个参数值。大致环境是:数据库是DB2,springboot项目,集成mybatis-plus来实现数据库访问。但是运行是却报错:DB2 SQL Error: SQLCODE=-302, SQLSTATE=22001, SQLERRMC=null具体报错如图:之前也见过DB2报错302,但是都是插入或者更新的时候。原因基本都是某个字段的长度超过了数据库表中字段的定义长度,但是select语句报错302,还是第一次遇到

2022-03-24 21:41:43 2860 2

原创 shell中将sftp的ls结果输出到文件

问题最近在改造shell脚本,要ftp协议升级成sftp,有以下一段功能,改造时遇到问题。下面这段代码要实现的大致功能就是:将ftp中文件夹A下的满足AA*1(以AA开头,以1结尾)条件的文件列表到处到文件Bftp -nopen IP地址 端口use 用户名 密码cd 文件夹Als AA*1 文件Bbye原本打算简单点,直接转换成:...

2022-03-24 21:29:11 2117

原创 api-ms-win-crt-stdio-l1-1-0.dll丢失问题解决

今天安装了IDEA,打开的时候报错了,具体错误信息如下图:在网上找了一圈,最终解决方式还是需要安装vc redist,具体步骤如下:1.把目录C:\Windows\SysWOW64下载文件api-ms-win-crt-stdio-l1-1-0.dll删除。不过最好是先剪切到其他目录暂存,以防需要还原;2.安装vc redist下载地址: https://pan.baidu.com/s/1_iJcD0HWWyBJl6YmxbhtMA提取码:bqlf下载后根据操作系统的位数安装对应的文件即可。

2020-08-16 09:32:21 12304 2

原创 阿里云ECS端口无法访问问题解决

最近在学习flink,于是通过xshell连上阿里云部署了一套flink集群,希望在本地打开flink web管理界面,地址为:ip:8081,但结果是本地无法打开该页面。1. 原因在本地通过命令行ping了阿里云ECS的IP,发现是不通的,但是xshell是可以正常连接的,于是想到了是否是有阿里云默认禁用了很多端口。经过阿里云(网络与安全 -> 安全组)安全组列表可以看到已经配置了哪些(出方向/入方向)端口。上面现象的原因就是安全组里已经配置了ssh端口22,但是没有配置应用访问的端口8081。

2020-07-18 16:54:22 3484

原创 对Java中将Object转成String的思考

1.问题在开发中,有很多时候需要将Object类型转成String。如调用一个方法,其返回的类型是Map<String, Object>类型,当对返回结果进行解析时,很可能需要将Object类型的value转成String类型,那么怎么转换是比较好的方式呢?2.实现方式及分析常用的方式应该有如下三种:public class ToStringTest { @Suppress...

2020-03-15 21:36:29 979

原创 Map与对象之间属性复制浅析

在使用Java开发中,很多时候会遇到需要将Map中的值复制到对象中。如果通过手动方式将map中的值取出然后在set到对象中,那对于属性比较多的情形来说,这明显不是一个好办法。当然有比较方便的拌办法,就是使用Apache Commons BeanUtils中的BeanUtils.copyProperties(Object, Object)方法。但是笔者最近在使用这个方法时,遇到属性无法复制到对象中的...

2019-09-30 21:40:37 1795

原创 浅析Java中的字符串分割方法split()

前几天看到同事代码里有类似如下这样一行代码:String[] testStrs3 = testStr3.split(",", -1);因为之前使用split()方法没有加过第二个参数,所以对此进行了学习,在此做个总结与分享。1.代码示例先来看一段测试代码:public class Test { public static void main(String[] args) { ...

2019-07-28 17:32:33 461

原创 Redis系列之五:Redis自动化部署脚本(伪集群)

一般Redis集群要求最少三个节点,每个节点还需要一个从节点,也就是说需要六个节点才能部署。一般开发测试的话很难有这么充足的资源,此时可以部署一个伪集群来模拟集群的功能。部署脚本#!/bin/bash#检查必要的运行环境#检查wgetcheck_results1=`rpm -qa | grep "wget"`if [[ $check_results1 =~ "wget" ]]the...

2019-06-22 20:08:36 692

原创 Spring Boot升级到2.1.5.RELEASE后pom.xml出现Unknown错误的解决办法

1. 现象通过https://start.spring.io/生成的spring boot项目导入eclipse后,pom.xml文件的第一行总是报错。这里使用的spring版本是2.1.5,经尝试,1.5.21版本等其他版本的spring没有这个问题。2. 解决办法这个问题的原因是2.1.5.RELEASE中maven插件升级到了3.1.2,有些IDE插件不兼容。解决这个问题只需要在p...

2019-05-30 21:13:28 4253

原创 Redis系列之四:Redis自动化部署脚本(主备)

Redis在生产环境中,很少使用单机模式,原因很明显:存在单点故障,无法保证高可用性。所以,在生产环境中可以选择主备模式或者集群模式,这里介绍一下主备模式的自动化部署脚本,后续文章会介绍集群模式的部署。部署脚本#!/bin/bash#-------------------------------------------------------------------------------...

2019-05-25 07:39:13 1687

原创 Redis系列之三:Redis自动化部署脚本(单机)

由于工作中需要经常部署Redis,于是写了个自动部署的脚本,仅供参考。部署脚本#!/bin/bash#-------------------------------------------------------------------------------------------##---------------------------------------配置信息--------...

2019-05-20 23:01:44 918

原创 招银网络科技2019年春招笔试面试总结

笔者是2月底参加招银寸照笔试的,笔试和第一轮面试都在当天进行,所以有可能笔试时被叫去面试。如果一轮面试通过了的话,一般在一周内收到二轮面试通知。下面是对笔试和两轮面试相关问题的回忆,不全面也可能不完全准确,仅供参考。笔试题总结1. 静态及非静态代码块形式是:A中分别包含静态代码块和非静态代码块;类B继承类A,类B中也分别包含静态代码块和非静态代码块。(每个代码块中都包含输出语句)然后在mai...

2019-04-30 23:02:42 11911 4

原创 清除原有的SVN信息

1. 遇到的问题将一个已经上传到svn的工程拷贝到其他目录或者机器,然后希望提交到其他svn路径时会发现,提交时总会默认提交到之前的svn路径,导致无法实现提交到新的svn路径。此时需要清除原有的svn信息。2. 清除svn信息的方法清除原有svn信息时,可根据当前工程是否还与svn存在关联,选择下面的清除方法。2.1 工程与svn存在关联右键点击该项目 -> team ->...

2019-03-21 13:48:46 5266

原创 Java NIO持续触发读事件的解决方法

1. 现象最近在一次项目编码中遇到这么一个情况: 程序本身是一个中间处理器的角色,功能可简述为接收硬件设备的报文,然后对某些报文处理(其他报文之间转发),然后发送服务端处理;服务端处理后回复,程序接收服务端回复,然后直接转发给硬件设备。在测试时发现,硬件设备第一次发送报文,能够正常处理,但是当硬件设备第二次发送报文时,程序中Java NIO会持续触发读事件,导致服务端持续回复报文,从而设备持续受...

2019-03-15 17:25:02 1953 1

原创 ActiveMQ双机热备时的连接跳动问题解决

1. 现象为了避免单点故障,系统整体采用主备方式来实现。ActiveMQ作为重要的消息总线,自然也需要采取双机热备的方式。但是在系统实际运行过程中,出现了一个奇怪的现象:模块A连接的MQ服务器在两台机器之间来回跳动,而模块B不会同步跳动。由于模块A、B之间通过MQ进行通信,当两个模块连接的MQ服务器不同时,将导致模块A、B之间无法正常通信。2. 问题原因经过对比两个模块连接MQ的配置和网上...

2019-03-07 20:01:53 1696 1

原创 NIO在Windows下占用大量CPU资源原因详解

1. 现象简述在项目性能测试过程中发现,同样的代码,连接同样数量(10万)的设备(设备和代码之间通过NIO有大量的数据交互),在Linux下CPU利用率只有20%~30%,而在windows下却一直高于80%。2. 原因初步排查通过jconsole分别监控运行在linux和windows上的程序,在【线程】选项卡中发现,windows下启动了大量未命名线程,堆栈信息都类似于下图:通过Ja...

2019-01-10 20:38:13 2943 5

原创 ActiveMQ之【Connection refused: no further information】异常解决

最近多次遇到程序中连接ActiveMQ时出现如下报错:一开始以为是MQ没有启动成功,但是启动的命令窗口并没有报错,网页的控制台也能正常访问。后来才发现,是MQ中/conf目录下的activemq.xml配置文件配置错误。在activemq.xml配置文件中,找到“transportConnectors”节点,如下图:将红色方框中的ip地址换成真实的ip地址,重启MQ即可。...

2018-11-14 18:39:56 12043

原创 【No buffer space available】异常解决

最近在工作中遇到这样一个场景:使用一个Java编写的模拟硬件设备的工具,这个工具会模拟很多设备(每个设备需要占用一个端口)去连接服务器。一般情况下,一台Windows虚拟机上会模拟5000至10000个设备,这样一般不会有问题。后来改成模拟40000个设备的时候,出现了“No buffer space available”的异常,具体如下:1. 问题原因乍一看以为是虚拟机内存不够或者是模拟工...

2018-10-27 10:13:07 44349 6

原创 使用Jconsole远程监控ActiveMQ

在工作需要使用jconsole来监控ActiveMQ的运行情况,于是找了些资料,不知道是资料过期了,还是发布这些资料的人没有验证过方法的可用性,我使用这些方法硬是没有连接上。最后在多次尝试之后终于连上了,记录一下,希望也能帮到你。1. 环境版本ActiveMQ: 5.11.1(其他版本有可能不适用) jconsole: JDK1.8自带(这个应该不太影响)2. 配置过程打...

2018-09-02 18:14:07 1884

原创 修改ActiveMQ的内存大小

  ActiveMQ运行于JVM之上,所以,修改ActiveMQ的内存大小也就是修改JVM的内存大小。修改的配置文件是wrapper.conf,对于windows版本的MQ该文件位于ActiveMQ根目录下的/bin/win64或者/bin/win32;对于linux版本的MQ,该文件位于ActiveMQ根目录下的/bin/linux-x86-64或者/bin/linux-x86-32。1. ...

2018-08-30 19:33:10 9078

原创 windwos下启动Redis或者Sentinel报错【listen:Unknown error】的原因及解决办法

笔者一般在linux下使用redis,因为redis团队并没有编写windows版本的redis,所以windows版本的redis维护和更新没有linux版本的及时。最近有同事在windows下使用redis时遇到了问题,具体如下。1. 报错信息报错信息具体如下图所示: 2. 解决办法通过查找资料,发现报错是由于机器不支持ipv6导致的。因为机器不支持IPv6,但redis...

2018-07-25 19:06:03 4885 2

原创 ArrayList的contains()方法的性能问题及优化方法

  今天在项目性能测试过程中发现,某处代码通过ArrayList的contains()方法来检查某个给定值是否存在于该ArrayList中的性能非常低(该ArrayList中有10万个元素)。然后开始着手对其进行优化,下面主要介绍ArrayList的contains()方法的实现原理,以及优化后用来代替ArrayList的HashSet的contains()方法的实现原理,最后通过实例进行验证优化...

2018-06-28 22:55:46 29243 5

原创 Redis系列之二:Redis的安装与配置

Redis在linux和windows下都能使用,但是Redis本身并没有windows版本,平时使用的windows版Redis都是Microsoft的团队在github上维护了的一个Redis分支,用于支持Redis在windows上的使用。所以,windows版Redis功能更新不及时,有很多功能不支持,故建议在windows上使用Redis。 下面主要讲解Linux中安装和配置Redis...

2018-05-13 17:39:48 410

原创 异常:Unable to create schema compiler解决方法

1. 现象最近在工作中遇到如下报错: 2.分析从报错中可以看到[java.lang.ClassNotFoundException: com/sun/tools/internal/xjc/api/XJC],说明没有找到的类时属于tools.jar包中的,所以接下来要做的就是找到没有加载tools.jar的原因。如果你也是用eclipse运行项目的话,不妨按以下路径查看项目是以j...

2018-05-11 18:32:22 16789 2

原创 Java中包装类作用及注意点

Java中对每种基本类型都有一个对应的包装类,这里主要讲解包装类的作用和包装类使用时的一些注意点。包装类的作用作用主要有以下两方面: - 编码过程中只接收对象的情况,比如List中只能存入对象,不能存入基本数据类型;比如一个方法的参数是Object时,不能传入基本数据类型,但可以传入对应的包装类; - 方便类型之间的转换,比如String和int之间的转换可以通过int的包装类In...

2018-03-16 19:30:50 13764 4

原创 科大讯飞2018年春招面试总结

今天面了科大讯飞(杭州)的春招,总体感觉不咋地,总结如下。技术面1.自我介绍 2.项目 这是一般面试都有的环节,要求讲简历中比较满意的一个项目,说明自己的工作以及其中的难点等。 3.Java类问题float类型如何初始化 float a = 0; 或者 float a = 0.0f;包装类的作用 个人认为可以从两方面回答,一是在编码过程中,List等集合类只接收类而不...

2018-03-16 16:10:29 6860

原创 ngrok使用教程

ngrok 是一个反向代理,通过在公共端点和本地运行的 Web 服务器之间建立一个安全的通道,实现内网主机的服务可以暴露给外网。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放,所以ngrok可以很方便地协助服务端程序测试。ngrok的使用并不复杂,主要步骤如下: 1. 进入ngrok官网(https://ngrok.com/),注册ngrok账号并下载ngrok; 2. 根据...

2018-03-14 17:31:38 66939 9

原创 2018年科大讯飞春招笔试编程题

科大讯飞2018春招的笔试编程题中,第一题是判断蚊子是否在蚊帐中,比较简单,这里不做说明,本文将简单讲解第二题和重点说明第三题的解法。第二题 1.题目 2.输入输出及样例 3.思路 这题思路很容易想到,最后拿到的工资可以用m * n - wrongNum * x -k * (rightNum - wrongNum)来计算,其中rightNum是指批改正确的份数,wrongNu...

2018-03-14 10:54:10 11867 4

原创 chrome无法加载更新后的js文件

今天写代码时,修改了js代码,在ie浏览器可以成功载入新的js,实现相应功能,但是在chrome中却无法实现同样的效果。后来经过查找,找到了解决方法,具体如下。(1)在chrome页面按F12,然后按F1,然后就出现了Setting页面,找到Network下的Disable cache,勾选上。 (2)打开chrome的设置,进入隐私设置页面,选中【缓存的图片和文件】,点击清除浏览数据即

2018-02-03 21:14:47 7779

原创 常用数据结构之【线性表】

在众多常用的数据结构中,线性表是最基本、最基础的数据结构,本文将从线性表的概念、分类、特点以及对比等方面展开。1. 概念 线性表(Linear List)是 n(n≥0) 个数据元素的有限序列。2. 分类 根据线性表的不同存储结构,可以将线性表分为顺序表和链表。下面分别对顺序表和链表进行讲解。3. 顺序表 顺序表是线性表的顺序存储结构形式,其特点有:逻辑上相邻的元素在

2018-02-01 17:24:44 397

原创 2018有赞校招笔试题

昨天晚上参加了有赞校招Java类笔试,题目总体难度适中,这里我给大家介绍一下这次笔试的三个编程题。第一题: 1.题目 2.思路 我对这个题目的基本思路是用空格分隔字符串得到字符串数组,该字符串数组元素可能是空,也可能是包含单词和空格的字符串。然后将数组转换成List,对List的每个元素处理成开头大写、之后小写的形式再输出。3.实现 以下代码是我的实现:package com.liu.d

2017-10-18 10:49:25 5116 3

原创 InteliJ idea与github

前段时间想把本地的一个Java项目放到github上去,可是不知道在InteliJ idea怎么操作。百度了很久,没有很满意的结果。受到博客最后参考博客的启发,我终于找到了怎么实现这个想法。下面从使用InteliJ idea**将github中代码下载到本地和将本地项目上传到github中**两个方面讲解。前提 1. 已经注册了一个github账号; 2. 已经安装git客户端; 3. 已经在

2017-09-04 16:55:13 545

原创 网易2018校招内推笔试题

前几天参加了网易的校招笔试,编程题总共有三道题,前两道难度较低,最后一道难度较高。在这里跟大家一起分享一下。第一题:题目 输入输出样例 思路 这道题解答的基本思路是现将输入元素进行排序,然后验证相邻两个元素的差是否都相等。如果都相等,则“Possible”,否则“Impossible”。代码实现import java.util.Arrays;import java.util.Scanner

2017-08-21 16:23:03 3359

原创 阿里巴巴2018校招笔试题

前几天做了阿里的2018的校招笔试题,我投的岗位是Java研发,在这里跟大家分享下笔试题及我的解法。1、 题目 由于当时时间比较紧,只有四十分钟,但是题目也只有一道,可能我比较渣,所以时间很赶,没来得及截图,下面是我对题目的大致记忆。大致意思是给定一组树节点,形式为(id, pId, cost),其中id是节点的序号,pId是父节点的序号,cost是花费,即完成这件事情所需的花费。给定的节点可以构

2017-07-10 07:54:17 15681

原创 探讨UnsupportedOperationException的原因及解决方案

最近工作中老给同事挖坑,真是愧疚。上周五写了个接口给同事用,结果同事用的时候告诉我报错,我一看,是UnsupportedOperationException,有点懵,没明白这是为啥。当时只是在网上找解决方法,没有细究错误出现的原因,今天有时间把这个整明白,记录于此。1、 示例代码及错误信息 下面是我工作时写的错误代码的简化版:import java.util.ArrayList;import j

2017-07-02 10:21:53 83508 19

原创 对StringBuilder抛出ArrayIndexOutOfBoundsException的探究

最近在项目开发时遇到一个问题,就是写好的代码是不是的报出ArrayIndexOutOfBoundsException的异常,这让我很困扰。下面是那段代码的简化版,只是为了说明这个问题。1、 代码及报错信息 代码如下:import java.util.ArrayList;import java.util.List;/** * 测试StringBuilder和StringBuf

2017-06-27 23:31:22 11704 2

原创 Java合并数组的两种实现方式

最近在写代码时遇到了需要合并两个数组的需求,突然发现以前没用过,于是研究了一下合并数组的方式,总结如下。1.System.arraycopy()方法(1) 解析 通过阅读JDK源码,我可以知道方法原型如下:public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, in...

2017-05-25 23:44:52 75085

Java 8实战

java 8 实战

2017-06-10

commons-lang3-3.5-bin

apache commons-lang3-3.5-bin,java

2017-05-25

Java 8函数式编程

Java 8函数式编程,书籍

2017-04-23

Jackson核心包

Java中支持java对象与json字符串进行转换的jar包

2017-04-15

NPPJSONViewer

nodepad++的插件,用于格式化json字符串。

2017-04-15

Eclipse RMI Plugin

在Eclipse中运行java RMI程序的插件

2016-05-28

joda-time-2.1.jar

joda-time-2.1.jar用于处理日期时间的jar包

2016-02-28

uncommons-maths-1.2.jar

uncommons-maths-1.2.jar

2016-01-05

poi-3.10_jar包

poi-3.10_jar包以及poi-3.10的源码,希望对你有用。

2015-10-25

jspSmartUpload源码

jspSmartUpload源码,希望对你理解jspSmartUpload组件有帮助

2015-10-24

CommonFileLoad源码

CommonFileLoad源码,希望对你理解commonfileload组件有帮助

2015-10-24

hibernate实现多对多关联关系源码

hibernate实现多对多关联关系源码

2015-10-09

hibernate主键实现一对一单向关联关系源码

hibernate主键实现一对一单向关联关系源码

2015-10-09

hibernate外键实现一对一双向关联关系源码

hibernate外键实现一对一双向关联关系源码

2015-10-09

hibernate外键实现一对一单向关联关系源码

hibernate外键实现一对一单向关联关系源码

2015-10-09

hibernate一对一主键关联代码实现

hibernate一对一主键关联代码实现

2015-10-08

多对一双向关联关系实现源码

这里包含了多对一双向关联关系实现源码,希望对你有用。

2015-10-08

一对多单向关联关系实现元源码

这是实现了一对多单向关联关系实现元源码,希望对你有用。

2015-10-08

hibernate多对一单向关联关系实现源码

这里包含了hibernate多对一单向关联关系实现源码,希望对你有用。

2015-10-08

struts2必备11个jar包

这是struts2开发中必备的11个jar包

2015-10-07

hibernate必备jar包

这是配置hibernate时必备的几个jar包

2015-10-07

jstl-impl-1.2.jar

我是配置jstl是必须的一个包,配置详情请参考博客:配置JSFT总结

2015-10-02

jstl-api-1.2.jar

我是配置jstl是必须的一个包,配置详情请参考博客:配置JSFT总结

2015-10-02

圣思园Java视频全套链接

本文档包含了圣思园张龙老师的java se整套视频的链接。

2015-07-29

通讯录管理系统

这是用java编写的程序,实现了联系人的添加、删除、查找、修改,以及联系人照片的显示,功能齐全。

2015-06-26

C++语言很经典的题目

包含了很多个经典的C语言试题,里面的题目可以检测你的c++的水平,如果都很轻松的做出来的话,那就很好了!

2012-06-29

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

TA关注的人

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