自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (4)
  • 问答 (3)
  • 收藏
  • 关注

转载 (一)消息队列中间件 ~ 消息队列优缺点以及如何选型

为什么使用消息队列 消息队列有什么优缺点 消息队列选型 如何保证消息队列高可用 如何保证消息不被重复消费 如何保证消费的可靠性传输 如何保证消息的顺序性

2021-03-03 10:55:49 571

原创 用数组加链表实现一个Simple版的HashMap(暂未实现自动扩容)

目录HashMap介绍开始实现HashMap介绍HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步,并且是无序的,不会记录插入的顺序。HashMap采取数组加链表的存储方式来实现,数组里的每个元素都是单向链表(Entry(key, value, next)),通俗一点讲,HashMap就是Entry数组,..

2020-12-15 19:08:37 347

转载 Spring Boot 无侵入式 实现API接口统一JSON格式返回

无侵入式 统一返回JSON格式其实本没有没打算写这篇博客的,但还是要写一下写这篇博客的起因是因为,现在呆着的这家公司居然没有统一的API返回格式????,询问主管他居然告诉我用HTTP状态码就够用了(fxxk),天哪HTTP状态码真的够用吗?在仔细的阅读了项目源码后发现,在API请求的是居然没有业务异常(黑人问好)。好吧 居然入坑了只能遵照项目风格了,懒得吐槽了。因为项目已经开发了半年多了, 要是全部接口都做修改工作量还是挺大的, 只能用这种无侵入式的方案来解决.定义JSON格式定义返回JS

2020-11-20 10:04:00 462

原创 解决SpringBoot + Vue前后端分离跨域问题

报错:No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:80' is therefore not allowed access网上很多都说设置config/index.js 的“proxyTable”属性,我设置了并没有用,axios地址直接写代理地址会自动拼接vue服务的域名前缀,然后报404。。。proxyTable: { .

2020-07-01 17:44:22 1401

转载 谈谈百度搜索为什么那么快?

目录某种处理首先我们知道,百度肯定是有爬虫,到处爬取网页,进行某种处理。然后通过你输入的关键词进行某种计算再返回给你的某种处理当百度爬取了海量网页后,每一个网页我们称为”文档“,不可能就杂乱无章的放着,它使用了文档集合,就是类似的文档放在一个集合中那什么样的文档算类似呢?相信你猜到了,文档中有相同关键字的就可以放在一个集合中来举例说明假设全世界只有下面5个文档(网页),文档内容也很简单,就一句话(注意是内容,不是标题)百度爬取后,将他们进行编号,然后对文档进行扫描分词,

2020-05-18 17:09:52 1378

转载 如何应对在线故障

线上运行的Java应用突然没有响应、响应缓慢,进程突然消失,遇到这些情况应该如何应对呢?在线故障?意料之外的错误、无响应或者响应缓慢服务中,影响用户体验不能停机或者大面积停机需要尽快恢复传送门:如何应对在线故障...

2020-05-11 17:49:16 218

原创 Java调用WebService接口的四种方式

调用WebServicewsimport生成代码Axis动态调用HTTP Connection调用wsimport生成代码配置java环境变量后在命令窗口中输入-keep:是否生成java源文件-d:指定.class文件的输出目录-s:指定.java文件的输出目录-p:定义生成类的包名,不定义的话有默认包名-verbose:在控制台显示输出信息-b:指定jaxws/jaxb绑定文件或额外的schemas-extension:使用扩展来支持SOAP1.2wsimport -encoding

2020-05-09 16:50:49 9595 3

原创 教你如何快速排查死锁,如何避免死锁!

文章目录前言实例通过jdk工具jps、jstack排查死锁问题步骤一:使用jsp查找程序进行通过jdk提供的工具jconsole排查死锁问题通过jdk提供的工具VisualVM排查死锁问题如何避免死锁?1. 正确的顺序获得锁2. 超时放弃总结前言相信程序员都会碰上这样的问题,Java死锁如何排查?又如何解决呢?那么,何为死锁呢?死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此...

2020-03-24 10:23:41 2880 1

原创 Java实现字符串倒序输出以及判断一个字符串中某个字符的出现次数

判断一个字符串中某个字符的出现次数字符串倒序输出忽然想到笔试时经常出现的两个问题,碰到了只能写个大概的思路代码出来,自己都不能确定是不是可以运行,不是很复杂的内容,就随便写写了。判断一个字符串中某个字符的出现次数听到这个大家第一反应该是先把字符串转换为字符数组,然后使用foreach循环,在循环体内进行字符比对,代码如下:public static void main(String[] ...

2020-03-12 15:52:27 1129

转载 Java线程安全 加锁机制之synchronized、lock(互斥锁、读写锁)

synchronized:互斥锁;ReentrantLock:可重入锁;ReadWriteLock :读写锁;读写锁特点:a)多个读者可以同时进行读b)写者必须互斥(只允许一个写者写,也不能读者写者同时进行)c)写者优先于读者(一旦有写者,则后续读者必须等待,唤醒时优先考虑写者)

2019-08-16 14:58:24 564

转载 找工作指南:优秀的程序员简历是怎么写的!

(一)找工作指南1.控制面试节奏面试官在考察什么?专业知识,始终都是专业知识。有一种常见的想法,“我有一个朋友/同学,技术还没我好呢,去了ABC公司,年薪有n k”。先不谈该同学到底有什么方面更优秀,身为一个学过统计学的程序员,绝不能认同拿个例代替整体的思路。在面试之前,我们可以先找个招聘网站,按自己的地域、年限、技术做一个分类,然后看一眼中位数所处的大致薪酬区域,这个区域...

2019-03-29 14:10:47 458

原创 二零一九年第一篇博客,Good luck in the year of the pig!

猪年大吉!猪年大吉!猪年大吉!

2019-01-02 12:02:01 271

原创 (五) 基于Zookeeper的SolrCloud5.5集群搭建

SolrCloud是solr的提供的服务器集群搜索的方案,支持下面的功能:整个集群的中心配置 自动负载平衡和故障切换的查询 ZooKeeper集成,用于集群协调和配置Solr使用ZooKeeper来管理,建议最好有一个是已经搭建好的 solr服务,成功运行的单机版,后面集群配置就很简单了。 SolrCloud搭建推荐教程:https://www.cnblogs.com/r...

2018-12-26 15:12:50 471

原创 Solr搜索错误: org.apache.solr.common.SolrException: undefined field text

org.apache.solr.common.SolrException: undefined field text at org.apache.solr.schema.IndexSchema.getDynamicFieldType(IndexSchema.java:1241) at org.apache.solr.schema.IndexSchema$SolrQueryAnal...

2018-12-21 15:34:18 1294

翻译 (四)Solr的检索运算符、TokenizerFactory(分词器)、TokenFilterFactory(分词过滤器)详解

Solr有哪些检索运算符?1. “:” 指定字段查指定值,如返回所有值*:*2. “?” 表示单个任意字符的通配3. “*” 表示多个任意字符的通配(不能在检索的项开始使用*或者?符号)4. “~” 表示模糊检索,如检索拼写类似于”roam”的项这样写:roam~将找到形如foam和roams的单词;roam~0.8,检索返回相似度在0.8以上的记录。5. 邻近检索,如检索相隔...

2018-12-19 13:28:09 1944

原创 PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException

自己搭建的邮件服务器 + 自签的SSL证书,通过代码调用时是不受jdk是信任的。CA比较新或自行颁发的证书,需要将证书加入到jdk的信任证书库中,把该证书导入java中的cacerts证书库里Jdk的安装目录 C:\Program Files\Java\jdk1.8.0\jre\lib\security执行系统命令:1、进入安装目录cd C:\Program Files\J...

2018-12-05 15:48:06 21740 6

原创 给HMailServer添加DKIM签名

在hmailserver的反垃圾邮件功能中有提到给垃圾评分标准,其中比较主要的四个,SPF、HELO、DNS MX、DKIM签名,看默认的分值,无疑DKIM签名是最高的,如果校验DKIM失败,直接会当作垃圾邮件的。无疑,如果对方的邮件服务器启用了这几个校验,如果你发出去的邮件未通过,就会被当作垃圾邮件了,我试了一下,都没有设置,发往gmail的邮件直接发送失败,发往腾讯企业邮箱的邮件还收到...

2018-11-30 14:03:41 1832

原创 (三)solr.5.5 配置 IKAnalyzer 中文分词器、合并域进行多维度搜索

安装ik 分词器准备 ik 分词器使用的 jar 包(下载地址)复制 ik-analyzer-solr5-5.x.jar 到 apache-tomcat-8.5.34/webapp/solr/WEB-INF/lib 打开 \apache-solr\solr_home\solr_core\conf\managed-schema文件,在最下方追加<!-- ik 中文分词器...

2018-11-08 18:02:34 534 2

翻译 简述JAVA GC回收机制,深入理解GC原理

什么是“GC”垃圾回收机制。为什么要用“GC”众所周知,JAVA 这语言,与C语言不同,Java内存(堆内存)的分配与回收由JVM垃圾收集器自动完成,比如 C语言自己定义的变量,不用时需要 自己回收这个变量 。JAVA 这就是自动完成了,自动检测,无用的垃圾,回收,从而释放内存。一个人工,一个自动化。先看一下JVM内存结构 栈:存放局部变量堆:存放所有new...

2018-11-02 15:43:21 7919 6

原创 (二)solr定时任务配置,定时更新数据库增量到solr索引库

继续上篇手动将数据库中的数据导入到了solr中之后,(→传送←)数据库数据有更改我们不可能及时去同步,所以需要定时检测数据库,将更改、新增的数据同步到solr中。数据库请查看上一篇的表结构当数据每次改动或者增加时都会根据当前时间戳更新,在进行同步的时候只需要查找找到 updata_time > last_index_time 的数据进行同步即可,不用同步所有数据 ...

2018-10-26 16:51:55 1119 1

原创 (一)Tomcat服务器整合solr-5.5.4,同步mysql数据库

Solr是基于Apache Lucene ™构建的流行,快速,开源的企业搜索平台,具有高可靠性,可扩展性和容错性,可提供分布式索引,复制和负载均衡查询,自动故障转移和恢复,集中配置等。Solr为世界上许多最大的互联网站点提供搜索和导航功能准备下载Solr5.5.4并解压http://archive.apache.org/dist/lucene/solr/需要下载tomcat...

2018-10-26 15:19:53 378

原创 电子邮件发送和接收过程 一一 SMTP、POP3、IMAP

电子邮件发送协议主要是SMTP,收件协议主要是POP3和IMAP;SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。...

2018-10-08 16:54:07 40064 2

翻译 Java 比较两个字符串的相似度算法(Levenshtein Distance)

 算法简介:Levenshtein Distance,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。编辑距离的算法是首先由俄国科学家Levenshtein提出的,故又叫Levenshtein Distance。/** * 比较两个字符串的相识度 *...

2018-08-28 11:13:21 18085 1

转载 线程的40个道题

周末在微信公共号看到一篇关于《线程的40个道题》的文章,由于今年工作之前参加过几次面试,所以觉得这篇文章总结的很好只要读者朋友们耐心看完,并且在阅读过程中遇到自己疑惑的地方时自己能动手查一查做一做,我相信以后遇到很多关于线程上的问题都会迎刃而解。打算用两个部分来写,第一便于读者阅读,第二谁也不能一口吃个胖子,相信我有的知识是需要时间的积累才能获得的,没有时间的积累谁也不能成为专家,只有时间...

2018-08-21 14:44:09 305

转载 Tomcat:PermGen space永久存续区的内存溢出解决方法

 随着服务器上的tomcat部署的项目越来越多,最近在部署一个新的项目的时候出现内存溢出的错误 [plain] view plain copyException in thread "main" java.lang.OutOfMemoryError: PermGen space           at java.lang.StackTraceElement.equals(Sta...

2018-06-12 16:14:43 2216

原创 mysql-按天/月统计数据,没有的填充为0

1、创建基础表(按天统计)CREATE TABLE num (i INT);INSERT INTO num (i) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);-- 测试表DROP TABLE IF EXISTS `user`;CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_I

2018-04-18 18:45:31 16546 1

转载 JavaScript中使用window.open被拦截解决办法

最近做项目,有个需求是,点击跳转跳转,跳转需要访问后台是否可以跳转跳转功能呢通过ajax异步请求完成,最开始的想法是在异步获得返回成功后,直接用window.open(URL)打开目的窗口,遇到了新标签页被浏览器拦截的情况;[javascript] view plain copy$.ajax({

2018-03-16 09:52:08 982 1

原创 Java实现限定方法执行时间 Future类执行超时处理

最近有个需求, 当调用外部接口长时间没有返回的话, 就执行下一步。public static void main(String[] args) throws InterruptedException,ExecutionException { final ExecutorService exec = Executors.newFixedThreadPool(1);

2018-02-26 11:55:15 7123

原创 Java List对象集快速去重,并将相同对象的属性相加

前言:如果数据量小的话两个for循环足以解决,博主因为项目中涉及到一个将近70w的List集合去重,刚开始用了两个for循环需要20秒的时间,后来发现这个方法可以只用不超过一秒的时间就能完成去重并且将相同对象的属性相加,下面贴出代码: 先根据要比较的属性排序,将他们放在一起,例如{a,b,c,a,d,b,c} ==> {a,a,b,b,c,c,d}这样能节省遍历的时间public st

2018-01-18 09:02:09 11179

原创 Error:Cannot build artifact 'ssm:war exploded' because it is included into a circular dependency

Idea的maven项目在bulid是报错Error:Cannot build artifact 'ssm:war exploded' because it is included into a circular dependency (artifact 'ssm:war exploded', artifact 'apinb-master:war exploded')打开 File->Pr

2018-01-16 13:03:37 7166 3

原创 invalid comparison: java.util.ArrayList and java.lang.String

今天碰到个问题,解决了很久才搞定,来记录下,希望可以帮助到大家这是一个根据list集合的查找数据的 sql,在接收list的时候加了判断 list != ‘ ’ “”,引起了集合与Stirng类型的比较,故报 SELECT count(keyword_name) counter,keyword_name keywordName from keyword

2018-01-12 18:11:37 581

原创 Msql插入数据the total number of locks exceeds the lock table size错误

报这个错表明mysql的默认配置无法满足你的需求了,然后需要我们手动去配置InnoDB表执行大批量数据的更新,插入,删除操作时会出现这个问题,需要调整InnoDB全局的innodb_buffer_pool_size的值来解决这个问题,并且重启mysql服务。快捷键 windows+Rcmd登录Mysqlmysql -uroot -proot执

2018-01-09 17:03:17 4847 2

转载 win 2012 安装mysql 5.7.20 及报错 This application requires Visual Studio 2013 Redistributable. Please ins

安装过程其实挺简单,基本上下一步下一步,百度一大把本文重点讲解安装过程中报错 This application requires Visual Studio 2013 Redistributable. Please install the Redistributable then run this installer again. 的解决办法,错误信息大致如下:1: Act

2018-01-04 16:09:37 1329

原创 Mysql通过load data infile,20秒导入100W数据

本篇博客主要讲将Excel表格百万数据转成csv文件导入到Mysql中,mysql Load Data InFile大量数据插入,load data infile语句以很高的速度从一个文本文件中读取行到一个表中

2017-12-20 16:01:31 3676

原创 Mybatis配置PageHelper分页插件、Generator代码生成器

以前使用ibatis/mybatis,都是比人配置好的我们只需要用就好了,最近一个人在做一个小项目,需要用到就去网上看了一下教程,发现还挺简单的,PageHelper感觉还不错是通过mybatis的pulgin来实现Interceptor接口下面开始吧Mybatis-pagehelper数据库物理分页 1.Maven项目引入依赖Jar包,<!-- Mybatis数...

2017-12-15 17:42:44 898

转载 java-后台生成图表、并将图表保存为PNG图片

创建图表步骤: * 1:创建数据集合 * 2:创建Chart: * 3:设置抗锯齿,防止字体显示不清楚 * 4:对柱子进行渲染, * 5:对其他部分进行渲染 * 6:使用chartPanel接收 1:引包 jcommon-1.0.20.jar jfreechart-1.0.16-experimental.jar jfreechart-1.0.16.ja

2017-10-27 09:19:06 2709 7

原创 Apache POI实现数据的Excel导入

得到上传的MultipartFile 文件转换成FileInputStream ,将输入流传入importExcelX解析返回List,然后遍历插入数据库。 ExportDataController.java  @RequestMapping(value = "ImportExcelProduct.do",method = RequestMethod.POST) publ...

2017-09-21 10:46:39 534

原创 SpringBoot重写addResourceHandlers解决resources下面静态资源无法访问

重写addResourceHandlers()后,\upload\ 下的静态资源可以访问了package com.sd.xm003.config;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annot

2017-09-14 16:14:42 46031 11

原创 Apache POI实现数据的Excel导出

POI实现导出数据到excel--------------------------以前也没做过数据导出,公司项目需要就去学习了一下,可能做的不好,然后公司大神直接扔给我一个封装好的帮助类,很方便,不过还是建议大家学习了解一下原理,市面上有很多流行的导出Excle方法,我这个是 Apache poi先把jar包下载下来,https://mvnrepository.com/search?q

2017-09-12 13:26:45 722

转载 Java 代码性能优化

代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优化的

2017-07-10 17:29:56 266

nacos-service.v.1.3.0.rar

Nacos 支持基于 DNS 和基于 RPC 的服务发现(可以作为springcloud的注册中心)、动态配置服务(可以做配置中心)、动态 DNS 服务。

2020-06-29

afterlogic webmail

官网下载的总是缺少文件夹,找了很久终于找到一个完整的,分享给大家,解压拷贝就能用了,实践能使用,实践能使用,实践能使用!

2018-11-30

dubbo-demo-master

搭建一个最简单的dubbo+Zookeeper+Spring+Mybatis框架,实现了基本的增删改查!其中有服务端、消费端以及服务端的jar包,服务端 消费端都是maven工程结构,只要自己本地安装一个Zookeeper就可以使用!

2018-08-22

react-demo入门教程

这是本人从一名小白到一名小牛的学习笔记,虽然只是些简单的demo都是很基础的知识,但一定会让你从中学到很多东西,向大牛奔跑吧!!

2017-02-14

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

TA关注的人

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