自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(124)
  • 资源 (17)
  • 收藏
  • 关注

原创 分布式锁的场景及解决方案

分布式锁的场景及解决方案

2022-10-28 10:48:16 2139 1

原创 IDEA Downloads Sources java.lang.RuntimeException: Cannot reconnect.

问题:IDEADownloads Sourcesjava.lang.RuntimeException: Cannot reconnect.解决方案:Build Tools --> Maven --> Local repository勾选Override即可

2021-05-18 16:01:57 1951 2

原创 Git log 中发现 “[email protected]“ 邮箱不符合要求,请务必使用公司邮箱。解决方案

配置了新的mac笔记本。完成了一系列开发环境配置,安装了git,IDE,配置了git ssh秘钥,clone下项目代码,顺利看到了所负责项目的代码。并且完成新的branch的创建和分支提交到远程仓库,和几次代码的commit到本地仓库等工作,一切很顺利。问题描述:当开发完成一个小的模块,进行了codeReview之后,准备将代码push到远程仓库。使用IDE中Git Repository Push进行代码push,IDE报错:Push rejected(如下图):因为没有具体rejec.

2021-03-30 10:58:41 6517 1

原创 生产机器CPU100%报警排查

背景生产机器有完备的监控报警系统,例如我们公司的报警系统,可以配置多维度的报警指标:收集线上服务机器的实时数据,一旦超过指标阈值即会出发报警。每个集团都有类似其他的运维报警平台,机制大同小异。可配置的指标有cpu,内存,磁盘,oom,coredump等等。问题接到监控中台高频次的cpu-alarm报警通知,且线上多台机器连续报警。线上服务出现问题,登陆线上机器进行排查。排查方案排查方案大体有以下几个步骤:1、执行top命令登陆发生cpu报警的机器,..

2020-12-09 12:05:25 1473

原创 零拷贝技术原理详解

首先声明一个概念,通常说的零拷贝技术准确来说应该表达为:用户态零拷贝技术。一、什么是零拷贝技术?1.首先明确计算机数据传输过程写一个小程序,完成一个从文件中读取数据,并传输到网络上的操作。首先我们在操作系统中找到这个文件,然后把数据先读到缓冲区,最后把缓冲区的数据发送到网络上。现在我们考虑一下,这个数据从电脑到网络整个传输的过程,如下图描述:DMA copy:DMA D...

2020-04-23 19:20:50 1678

原创 JVM类加载机制与双亲委派模型及其破坏的问题

1、JVM类加载机制2、双亲委派模型3、双亲委派模型破坏,JDBC,Tomcat,原因解释。以下是整理的笔记。(请略过64,65)

2020-03-26 11:37:13 343

原创 JVM虚拟机内存模型与垃圾回收与JVM调优实践

花了几天的时间整理学习的笔记,分享给大家。HotSpot 虚拟机内存模型10种垃圾回收算法的讲解JVM调优实践

2020-03-26 10:38:39 146

原创 Feign发送get请求使用对象传参问题,@SpringQueryMap解析传参对象父类属性解决方案

使用Feign来调用Get请求时,如果方法的参数是一个对象,则会被强行转变成Post请求,然后抛出服务被拒绝的错误。具体原因就不说了,其他博客解释的很清楚。也给出方案,使用apache httpclient替换jdk UrlConnection的解决方案尝试过后并没有成功。随后就发现了这个注解@SpringQueryMap这是spring cloud新增的一个注解, @Sprin...

2019-12-19 16:50:27 9980 5

原创 错误: 程序包xx不存在 解决多个module依赖,gradle build失败问题

SpringBoot项目,同一个project下有多个moudle,module之间有依赖关系,build时报错:错误: 程序包xx不存在项目结构project --common --apicommon和api在一个project下api项目依赖common项目。api项目中的bulid.gradle中添加依赖implementation pr...

2019-04-01 10:41:43 8906 2

原创 spring源码中的基本原理

spring源码中的基本原理其实就是通过反射解析类及其类的各种信息,包括构造器、方法及其参数,属性。然后将其封装成bean定义信息类、constructor信息类、method信息类、property信息类,最终放在一个map里,也就是所谓的container,池等等,其实就是个map。当你写好配置文件,启动项目后,框架会先按照你的配置文件找到那个要scan的包,然后解析包里面的所有类,找到所有含

2017-10-17 13:59:54 408

原创 git还原到之前版本

git还原到之前某个版本,本地和远程都还原命令行操作:第一步: git log 查看之前的commit的id,找到想要还原的版本第二步: git reset --hard 44bd896bb726be3d3815f1f25d738a9cd402a477 还原到之前的某个版本第三步: git push -f origin master 强制push到远程前两

2017-05-05 11:54:11 37507

原创 spring boot集成mongodb、solr、redis等数据源

最近项目使用到spring boot,需要集成mongodb、solr、redis等数据源,使用强大的spring data,还是很简单的,分享一下经验。spring boot推崇领配置,所以所有配置在application.properties中完成。mongodb、solr、redis等都是以集群的方式连接。application.properties中的配置信息#mong

2017-03-31 18:17:29 2641

转载 MongoDB数据库设计(三)

这篇文章是系列的最后一篇。在第一篇文章里,我介绍了三种针对“一对多 ”关系建模的基础方案。在第二篇文章中,我介绍了对基础方案的扩展:双向关联和反范式化。反范式可以让你避免一些应用层级别的join,但是这也会让更新变的更复杂,开销更大。不过冗余那些读取频率远远大于更新频率的字段还是值得的。如果你还没有读过前两篇文章,欢迎一览。让我们回顾下这些方案你可以采取内嵌,或者建立one端或者N

2017-02-28 11:32:43 669

转载 MongoDB数据库设计(二)

在上一篇文章中我介绍了三种基本的设计方案:内嵌,子引用,父引用,同时说明了在选择方案时需要考虑的两个关键因素。一对多中的多是否需要一个单独的实体。这个关系中集合的规模是一对很少,很多,还是非常多。在掌握了以上基础技术后,我将会介绍更为高级的主题:双向关联和反范式化。双向关联如果你想让你的设计更酷,你可以让引用的“one”端和“many”端同时保存对方的引用。以上一篇文章

2017-02-28 11:31:11 717

转载 MongoDB数据库设计(一)

“我有丰富的sql使用经验,但是我是个MongoDB的初学者。我应该如何在MongoDB中针对一对多关系进行建模?”这是我被问及最多的问题之一。我没法简单的给出答案,因为这有很多方案去实现。接下来我会教导你如何针对一对多进行建模。这个话题有很多内容需要讨论,我会用三个部分进行说明。在第一部分,我会讨论针对一对多关系建模的三种基础方案。在第二部分我将会覆盖更多高级内容,包括反范式化和双向引用

2017-02-28 11:26:59 4189

转载 UML中活动图和流程图的区别

活动图定义:  活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流。活动图在本质上是一种流程图。  它是UML中用于对系统动态活动建模的图形,反映系统中一个活动到另一个活动的流程,常常用于描述业务过程和并行处理过程。活动图中包括泳道、活动开始、活动结束、活动、对象、分支、消息等图形符号。   泳道将一个活动图中的活动

2017-02-23 11:22:24 22066 1

原创 solrCloud更新schema.xml不用重启加载

在对schema.xml进行修改后,要想使schema.xml生效,有2种方式:       1)重新启动SolrCould集群;       2)重新加载配置文件;       如果使用第1种方法,就会使整个集群处于一段时间内不可用;我比较建议使用第2种方法,下面介绍第2种方法的操作步骤。       重新加载配置文件:       1)更新集群的schema.xml文件

2017-02-22 13:38:51 3349

原创 mysql中exists和in的对比分析

exists对外表用loop逐条查询,每次查询都会查看exists的条件语句,当exists里的条件语句能够返回记录行时(无论记录行是的多少,只要能返回),条件就为真,返回当前loop到的这条记录,反之如果exists里的条件语句不能返回记录行,则当前loop到的这条记录被丢弃,exists的条件就像一个bool条件,当能返回结果集则为true,不能返回结果集则为false如下:selec

2016-10-09 13:14:57 441

原创 maven-war-plugin的乱码问题 (3 字节的 UTF-8 序列的字节 3 无效)报错

最近用到maven-war-plugin这个插件来进行打包,但是打完包启动tomcat会遇到这个报错:org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from file [D:\apache-tomcat-7.0.63_eclipse\webapps

2016-08-08 17:40:57 3234 3

转载 linux命令nohup详解

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

2016-08-01 17:14:00 1314

原创 Cron 表达式详解

@Scheduled(cron = "* * * * * *") cron表达式详解1.cron表达式格式:{秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)}2.cron表达式各占位符解释:{秒数} ==> 允许值范围: 0~59 ,不允许为空值,若值不合法,调度器将抛出SchedulerException异常"*" 代表每隔1秒钟触

2016-07-29 15:48:55 45058 3

原创 Maven根据不同环境打包不同配置文件

开发项目时会遇到这个问题:开发环境,测试环境,生产环境的配置文件不同,打包时经常要手动更改配置文件,更改的少还可以接受,但是如果需要更多个配置文件,手动的方法就显得非常笨重了。 下面介绍一种方法,利用Maven插件来打包不同环境的配置文件。我们用到的是maven-war-plugin这个插件。 首先贴出整个pom文件:<project xmlns="...

2016-07-27 14:42:41 17873 7

转载 slf4j-api、slf4j-log4j12、log4j的关系

几乎在每个jar包里都可以看到log4j的身影,在多个子工程构成项目中,slf4j相关的冲突时不时就跳出来让你不爽,那么slf4j-api、slf4j-log4j12还有log4j他们是什么关系?我把自己了解的和大家简单分享一下:    slf4j:Simple Logging Facade for Java,为java提供的简单日志Facade。Facade:门面,更底层一点说就是接口。他允

2016-07-19 18:10:01 1435

原创 mysql执行存储过程权限的问题

最近在做项目升级,之前所有项目链接数据库都是使用的root账户,为了安全考虑给项目单独开了个用户,添加了增删改查  以及execute权限,但是项目在调用存储过程是仍然报错,说没有权限,查询之后发现除了execute外,还需要得有mysql库上user表的权限另外  备注:【definer和invoker的解释】    创建存储过程的时候可以指定 S

2016-07-12 18:37:03 4995

原创 truncate与delete的区别

truncate table命令将快速删除数据表中的所有记录,但保留数据表结构。这种快速删除与delete from 数据表的删除全部数据表记录不一样,delete命令删除的数据将存储在系统回滚段中,需要的时候,数据可以回滚恢复,而truncate命令删除的数据是不可以恢复的可以做一个测试 建一个带有自增字段的表,加入100万数据 然后分别用TRUNCATE和DELETE删

2016-07-11 16:33:40 1131

转载 全栈工程师指南

Growth: 全栈增长工程师指南全栈工程师是未来技术的革新史软件开发的核心难题:沟通大公司的专家与小公司的全栈全栈工程师的未来:无栈基础知识篇工具只是辅助WebStorm 还是 Sublime?语言也是一种工具提高效率的工具快速启动软件IDEDEBUG 工具终端或命令提示符包管理环境搭建OS XWindowsGNU/Linux学

2016-05-23 18:30:02 15559 2

原创 Markdown语法规则

一、认识 MarkdownMarkdown 是一种用来写作的轻量级「标记语言」,它用简洁的语法代替排版,而不像一般我们用的字处理软件 Word 或 Pages 有大量的排版、字体设置。它使我们专心于码字,用「标记」语法,来代替常见的排版格式。例如此文从内容到格式,甚至插图,键盘就可以通通搞定了。目前来看,支持 Markdown 语法的编辑器有很多,包括很多网站(例如简书)也支持了 Mark

2016-05-13 16:35:22 1256

原创 Git常用命令

查看、添加、提交、删除、找回,重置修改文件git help # 显示command的helpgit show # 显示某次提交的内容 git show $idgit co -- # 抛弃工作区修改git co . # 抛弃工作区修改git add # 将工作文件修改提交到本地暂存区git add . # 将所有修改过的工作文件提交暂存区git rm # 从版本库

2016-05-13 16:25:01 1235

原创 mysql中tinyint(1)与tinyint(2)的区别

mysql中tinyint(1)与tinyint(2)的区别tinyint 型的字段如果设置为UNSIGNED类型,只能存储从0到255的整数,不能用来储存负数。tinyint 型的字段如果不设置UNSIGNED类型,存储-128到127的整数。 1个tinyint型数据只占用一个字节;一个INT型数据占用四个字节。这看起来似乎差别不大,但是在比较大的表中,字节数的增长是很

2016-05-05 13:08:27 43279

转载 Spring Boot入门教程

深入学习微框架:Spring BootSpring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。多年以来,Spr

2016-04-20 11:22:44 5780

原创 java7新特性监听文件夹改变

Java 7 uses the underlying file system functionalities to watch the file system for changes. Now, we can watch for events like creation, deletion, modification, and get involved with our own actions.

2016-02-29 17:02:58 1381

原创 Kafka教程之入门介绍

介绍Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。这个独特的设计是什么样的呢?首先让我们看几个基本的消息系统术语:Kafka将消息以topic为单位进行归纳。将向Kafka topic发布消息的程序成为producers.将预订topics并消费消息的程序成为consumer.Kafka以集群的方式运行,可以

2016-01-14 13:00:47 1353

原创 Flume入门教程

Flume简介Flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用。Flume 初始的发行版本目前被统称为 Flume OG(original generation),属于 cloudera。但随着 FLume 功能的扩展,Flume OG 代码工程臃肿、核心组件设计不合理、核心配置不标准等缺点暴露出来,尤其是在 Flume OG 的最后一个发行版本

2016-01-06 11:42:47 3462

原创 修改Spring默认的单例模式

背景在我们的项目中,通过Spring来管理业务逻辑Bean,但是Spring Bean的作用域默认是单例,而我们的业务逻辑Bean不是线程安全的,所以需要将Spring Bean改为多例模式。分析为单个Bean设置单例或者多例,可以通过设置singleton属性,见以下代码:bean id="page" class="com.daks.action.LoginAction" sin

2015-12-21 10:31:47 2448

原创 Spring整合ActiveMQ 实现消息服务

Spring整合JMS——基于ActiveMQ实现(一) 1.1     JMS简介       JMS的全称是Java Message Service,即Java消息服务。它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息。把它应用到实际的业务需求中的话我们可以在特定的时候利用生产者生成一消息,并进行发送,对应的消费者在接收到对应的消息后去完成对应的

2015-12-09 19:12:02 1598 2

原创 java.lang.OutOfMemoryError: PermGen space JVM内存参数配置

一、常见的Java内存溢出有以下三种:  1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出JVM在启动的时候会自动设置JVM Heap的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)不可超过物理内存。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap的大小

2015-12-04 12:00:20 2391

原创 MQ入门简介

MQ简介:MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要

2015-12-02 14:52:52 1334

转载 ZooKeeper入门简介

ZooKeeper 是什么?       ZooKeeper 顾名思义 动物园管理员,他是拿来管大象(Hadoop) 、 蜜蜂(Hive) 、 小猪(Pig)  的管理员, Apache Hbase和 Apache Solr 以及LinkedIn sensei  等项目中都采用到了 Zookeeper。ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,ZooKee

2015-11-26 19:21:42 1068

原创 protocol buffers简介

protocol buffers1.protocol buffers是什么?Protocol buffers是一个灵活、高效、可以序列化结构数据的自动化机制,这一点和XML很像,但是Protocol buffers体积更小,速度更快、使用更简单。一旦定义了你想要的数据结构,你就可以从不同的数据流、使用不同的语言来生成源代码并且很可以很容易地写和读你所定义的结构化数据。你甚至可以在不

2015-11-03 18:18:41 1196

转载 虚拟IP原理

高可用性HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。HA系统是目前企业防止核心计算机系统因故障停机的最有效手段。实现HA的方式,一般采用两台机器同时完成一项功能,比如数据库服务器,平常只有一台机器对外提供服务,另一台机器作为热备,当这台机器出现故障时,自动动态切换到另一台热备的机器。

2015-11-03 10:38:27 1120

城市码表下载 中国二级城市码表下载

中国二级城市码表下载,中国二级城市码表下载。整理完善的中国二级城市码表。精确到二级城市,到市这一行政级别,直辖市下所辖区级行政单位不在此码表中,如果需要可按照规则自行添加。

2019-12-19

chi_sim.traineddata最新版

chi_sim.traineddata tesseract-oc项目的tessdata中文数据集

2018-01-12

hadoop-2.6-winutils(hadoop.dll).zip

hadoop-2.6-winutils 在windows8 64位的native package

2016-02-03

redis desktop manager(redis桌面管理器)下载(0.8.3)

redis-desktop-manager-0.8.3.3850.rar windows平台安装文件 Redis Desktop Manager(redis桌面管理器)是一款非常实用的跨平台Redis桌面管理软件。也被称作Redis可视化工具,是一款开源软件,支持通过SSH Tunnel连接,支持windows等多平台,有需要的赶快下载吧!

2016-01-11

zookeeper-3.4.6安装包(windows、linux)

zookeeper-3.4.5安装包(windows、linux)都适用

2015-12-17

IKAnalyzer2012_u1.zip

IKAnalyzer2012_u1.zip 中分分词器

2015-05-22

curl.exe下载

curl.exe下载 curl详解可参考我的博客

2015-05-20

Lucene 3.5.0下载

Lucene 3.5.0压缩文件 lucene-3.5.0.zip 包含 lucene-core-3.5.0.jar

2015-05-15

commons-collections4-4.0.rar

commons-collections4-4.0.rar

2015-05-14

java笔试题集合及答案

java笔试题大集合及答案(另附各大公司笔试题)

2013-12-17

实验6 容器

用HashMap模拟一个网上购物车。要求:从键盘输入5本书的名称、单价、购买数量,将这些信息存入一个HashMap,然后将该HashMap作为参数调用方法getSum(HashMap books),该方法用于计算书的总价并返回。【说明:键盘输入可以使用Scanner类】 使用两个Stack类(JDK容器类库中的Stack类)实现一个队列类MyQueue,提供队列的入队列和出队列操作:enQueue和deQueue。 写一个彩票程序:30选7。随机(1~30之间)生成7个随机数,注意不能重复。然后从键盘输入7个数,对比7个数是否与随机数有相同的。最后显示“中了几个号”。同时,如果中了7个号,显示一等奖;如果中了6个号,显示二等奖;如果中了5个号,显示三等奖。要求:首先写出程序的实现思想,特别是程序所使用的数据结构,然后写出Java实现代码。【说明:键盘输入可以使用Scanner类】

2013-12-17

java实验1 代码

使用记事本和命令行程序编写Java应用程序,打印出所有的水仙花数。 程序设计(开发环境不限): 打印出100以内的素数 求1!+2!+……+20! 课后习题2.6 编写程序,命令行窗口输出希腊字母表。(希腊字母表开始为α,最后一个为ω)

2013-12-17

java画图板

java画图板完整代码 UML类图 画图板功能说明 参考Windows附件中的绘图工具,使用Java语言设计并实现一个简单的绘图板。(界面使用AWT或SWING) 实现各类基本图形的编辑 实现文件的保存和读取功能。

2013-12-17

学生选课协作图

学生选课协作图

2013-10-22

ATM状态机图

ATM状态机图 软件工程作业 第七章 第九章

2013-10-22

书店管理系统用况模型

书店管理系统用况模型 软件工程作业 第七章第七题

2013-10-22

JAVA API官方文档

JAVA API官方文档中文版 API官方出品 查询 搜索 简单易用

2013-10-08

空空如也

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

TA关注的人

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