自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序猿

学海无涯

  • 博客(40)
  • 收藏
  • 关注

原创 安装Docker-使用阿里云镜像

# step 1: 安装必要的一些系统工具sudo yum install -y yum-utils device-mapper-persistent-data lvm2# Step 2: 添加软件源信息sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.r...

2020-05-08 16:51:17 1317

原创 Spring-Ioc容器加载

spring ioc源码分析ioc定义控制反转,将原先需要我们创建的对象交给统一的容器创建。核心容器- BeanFactory:String FACTORY_BEAN_PREFIX = "&";Object getBean(String name) throws BeansException;<T> T getBean(String name, @N...

2020-03-30 11:35:47 271

原创 SpringBoot项目-通用日志配置文件

需要配置spring.application.name将logback-spring.xml放置到resources文件夹下,内容如下<?xml version="1.0" encoding="utf-8"?><configuration> <!-- 引入默认得配置文件 --> <include resource="org/sprin...

2019-08-21 09:38:43 2774

原创 Maven-源码打包

引入源码插件即可<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>3.1.0</version> <executions> &...

2019-08-21 09:27:58 145

原创 Maven-versions-maven-plugin插件的使用

引入插件<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <version>2.7</version></plugin>基本使用变换新版本使用场景...

2019-08-21 09:17:40 1450

原创 受检异常与非受检异常

java中所有的异常都继承自ThrowableThrowable有两个直接子类,Error和ExceptionError用于指示合理的应用程序不应该试图捕获的严重问题Exception分为受检异常和非受检异常,非受检异常为RuntimeException,其余的都是受检异常,受检异常是必须让使用者捕获的,而非受检异常无需捕获由jvm自身处理。...

2019-08-20 19:25:41 183

原创 mysql使用mycat读写分离时,报 Connection is read-only. Queries leading to data modification ... ...

解决办法:jdbc的url连接后加参数useLocalSessionState=true

2019-07-16 10:51:13 687

原创 重试机制(基于spring-retry)的简单使用

github地址https://github.com/caixingjava/retry-learn,如果不依赖spring框架,可基于源码进行改造,源码地址:https://github.com/spring-projects/spring-retry

2019-07-02 12:28:35 890

原创 MYSQL对千万级数据的快速迁移(10个G左右)

MYSQL对千万级数据(10个G左右)的迁移,耗时控制在半小时内1.show variables like '%secure%';查看 secure-file-priv 当前的值是什么2.如果没有可以在my.ini(windows)my.cnf(linux)中添加secure_file_priv的值指定具体路径3.导出SELECT * INTO OUTFILE 'data.txt' FI...

2019-06-12 11:13:45 13298 1

原创 数据库发生死锁的解决思路

1.查询information_schemal库下的innodb_lock表,查询出lock的trx_id2.查询information_schemal库下的innodb_trx表,找出对应trx_id的mysql的thread_id3.根据thread_id查询information_schemal库下的processlist表,查询出对应的time(耗时时间),host(客户端ip及端...

2018-10-23 22:32:52 2392

原创 轻量级内存映射数据库LMDB(快如闪电)

LMDB为一个轻量级的,内存映射数据库,存储结构类似于redis,采用key-value方式存储,数据结构为字节数组LMDB能够提供:    1. 事务(完整的ACID语义)    2. 有序键(支持非常快速的基于指针的迭代)    3. 内存映射文件(支持最佳操作系统内存管理)    4. 零拷贝设计(没有序列化或内存拷贝开销)    5. 读写没有阻塞    6. 无配置(无序...

2018-08-21 10:50:04 4165

原创 根据现有项目,使用maven生成项目模板

1. 首先需要一个完整的,可以运行的项目2. 基于完整的可以运行的项目,在其根目录,运行命令:    mvn archetype:create-from-project3. 进入到项目目录的target/generated-sources/archetype目录下,运行命令:    mvn install4. 在需要创建项目的目录下,运行命令:   mvn archetype:generate -...

2018-07-15 16:18:38 1536

原创 java远程调试

补充:java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8990 -jar Test_jar.jar如果是jar包需要运行比如(springboot),服务端可以使用如上命令进行启动,客户端如下面客户端部分介绍的那样使用。前提条件:1. 本地war...

2018-04-26 11:44:34 234

原创 Spring高级话题——Conditional

@Conditional根据满足某一个特定条件创建一个特定Bean。比方说,当某一个jar包在一个类路径下的时候,自动配置一个或多个Bean,或者只有某个Bean被创建才会创建另外一个Bean。总的来说,就是根据特定条件控制Bean的创建行为,这样我们就可以利用这个特性进行一些自动的配置。实例代码:(该实例代码是以jar包在哪个环境下运行,调用哪个类)ConditionConfig.javapac...

2018-04-17 17:29:06 238

原创 spring高级话题——定时任务

自spring3.1开始,其计划任务实现非常简单,首先,通过配置类注解@EnableScheduling来开启对计划任务的支持,然后在执行计划任务的方法上注解@Scheduled,声明这是一个计划任务。@Scheduled注解支持很多属性的配置,例如(cron、fixDelasy、fixRate)等实例代码:TaskSchedulerConfig.javapackage com.minivison...

2018-04-17 16:59:44 161

原创 Spring常用配置——SpringEvent

Spring的事件(Application Event)为Bean之间的消息通信提供了支持。当一个Bean处理完一个任务之后,希望另一个Bean知道并能做相应的处理,这是我们就需要让另外一个Bean监听当前Bean所发送的事件Spring的事件需要遵循如下流程:(1)自定义事件,继承ApplicationEvent(2)定义事件监听器,实现ApplicationListener(3)使用容器发布事...

2018-04-17 15:58:27 540

原创 spring常用配置——profile(不同环境的设置)

Profile为在不同环境下使用不同的配置提供了支持(例如:开发环境和生产环境的配置肯定是不同的。)此时一般通过以下几种方式来配置环境信息(1)通过设定Environment的ActiveProfiles来设定当前Context需要使用的配置环境,在开发中使用@Profile注解类或者方法,达到不同情况实例化不同的bean(2)通过设定jvm的spring.profiles.active参数来配置...

2018-04-16 19:15:23 1931

原创 Spring常用配置——Bean的初始化和销毁

在实际开发的时候,经常会遇到在Bean使用之前或者之后做些必要的操作,Spring对Bean的生命周期的操作提供了支持,在使用Java配置和注解配置下提供如下两种方式:(1)Java配置方式:@Bean注解中的initMethod和destroyMethod(2)注解方式:利用JSR-250的@PostConstruct和@PreDestroy例如:@Bean(initMethod = "init...

2018-04-16 18:01:37 187

原创 Spring常用配置——SpringEL和资源调用

SpringEL表达式语言,支持在xml和注解中使用表达式,类似于JSP的EL表达式语言。Spring开发中经常涉及调用各种资源的情况,包含普通文件、网址、配置文件、系统环境变量等,我们可以使用Spring的表达式语言实现资源的注入。Spring主要在注解@Value的参数中使用表达式。例如:@Value("#{systemProperties['os.name']}")@Value("#{ T(...

2018-04-16 17:37:12 829

原创 Spring常用配置——Bean的scope

Scope描述的是Spring容器如何新建Bean的示例的,Spring的scope有以下几种,通过@Scope注解来实现。(1)Singleton:一个Spring容器中只有一个Bean的实例,此为Spring的默认配置,全容器共享一个实例(2)Prototype:每次调用新建一个bean实例(3)Request:web项目中,每一个http请求新建一个bean实例(4)Session:web项...

2018-04-16 12:36:46 577

原创 spring基础之AOP

AOP:面向切面编程,相对于OOP面向对象编程Spring中的AOP的存在目的是为了解耦。AOP可以让一组类共享相同的行为。在OOP中只能通过继承类和实现接口,来使代码的耦合度增强,且类继承只能为单继承,阻碍更多行为添加到一组类上,AOP弥补了OOP的不足。Spring支持AspectJ的注解式切面编程。(1)使用@AspectJ声明一个切面(2)使用@After、@Before、@Around定...

2018-04-16 11:22:44 127

原创 spring基础配置

备注:最近复习一下spring的相关知识,准备从零--&gt;springboot--&gt;springcloud的一系列的使用,有浅入深,为了以后复习方便查看。1.spring框架本身的四大原则:1)使用POJO进行轻量级和最小侵入式开发2)通过依赖注入和基于接口编程实现松耦合3)通过AOP和默认习惯进行声明式编程4)使用AOP和模板(template)减少模式化代码spring所有功能的设计...

2018-04-16 08:39:29 165

原创 SpringBoot之整合Mybatis

1.添加数据库及相关数据库表(此处数据库为mysql)DROP TABLE IF EXISTS `user`;CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT C...

2018-03-27 14:49:16 384

原创 SpringBoot之简介及"HelloWorld"

一、SpringBoot简介    SpringBoot简化了Spring应用开发,不需要配置就能运行Spring应用,SpringBoot管理Spring容器、第三方插件,并提供很多默认系统级的服务。大部分Spring应用,无论是简单的web系统,还是构建复杂系统,都只需要少量配置和代码就能完成。这有点像每个公司基于Spring框架做的内部开发框架,不同的是,SpringBoot更完善、更强大。...

2018-03-26 19:22:37 154

原创 MySQL架构之并发控制

一、为什么需要并发控制    为什么需要并发控制,举个很现实的例子,现数据库中有一张A表,路人甲在读取A表中的一条数据,路人乙恰巧在同一个时刻在对这条数据进行更改(最坏的场景就是删除了),那么这个时候,路人甲那边可能会报错退出,或者是读取不到真实的数据。那么解决这类问题最好的途径就是并发控制了,下面讲一下如何实现并发控制。二、并发控制的实现2.1读写锁    在处理并发控制时其实很简单,可以通过实...

2018-03-20 08:28:39 360

原创 C语言基础之转义字符

C语言常用的转义字符及含义如下表所示:转义字符转义字符含义ASII值(10进制)\a响铃(BEL)007\b退格(BS),将光标当前位置移动到前一列008\f换页(FF),将光标当前位置移动到下一页开头012\n换行(LF),将当前光标位置移动到下一行开头010\r回车(CR),将当前位置移动到本行开头013\t水平制表(HT),跳到下一个TAB位置009\v垂直列表(VT)011\\代表一个反斜...

2018-03-09 09:19:40 1592

原创 C语言基础之关键词的详细解释及案例

C语言中的关键字共有32个,下面将一一介绍:1.auto该关键字的作用就是修饰一个变量是自动的,每次执行到定义该变量时,都会产生一个新的变量,并且对这个变量重新初始化。如下是一个案例:#include&lt;stdio.h&gt;void addOne(){ auto int iInt = 1; iInt = iInt + 1; printf("%d\n", iInt);}int main(){ ...

2018-03-07 08:41:30 1344

原创 linux下安装mysql数据库

一、下载安装包下载地址:http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz二、解压安装包:tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz三、重命名解压后的文件夹mv mysql-5.6.33-linux-glibc2.5-...

2018-03-05 18:12:02 108

原创 互联网架构高并发

一、什么才是高并发    高并发是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计能够保证系统同时能处理很多请求。    高并发相关指标有:响应时间、吞吐量、查询率(QPS)、并发用户数等。    响应时间:系统对请求作出的响应时间,例如处理一个http请求需要200ms,这200ms就是系统的响应时间。    吞吐量:单位时间内处理的请求数量。    QPS:每秒处理的请求数,...

2018-03-01 20:16:31 317 2

原创 Java开发环境的性能优化(windows)

软件开发中java开发环境的性能优化1.windows个性化选择经典模式2.计算机--&gt;右键属性--&gt;高级选项卡--&gt;性能成组框--&gt;设置--&gt;视觉效果选项卡--&gt;调整为最佳性能+屏幕字体平滑--&gt;确定3.修改虚拟内存(16G内存无需设置)计算机--&gt;右键属性--&gt;高级选项卡--&gt;虚拟内存设置(50%-1-2)--&gt;设置--&gt;...

2018-02-26 17:54:40 936

原创 基于nginx搭建rtmp流媒体服务器

1.安装相关插件安装build-essentialyum groupinstall "Development Tools"yum install -y gcc g++ kernel-devel安装pcre下载地址:http://sourceforge.net/projects/pcre/files/pcre/8.32/pcre-8.32.tar.gz/download# tar -xzvf pcr...

2018-02-23 18:59:46 250

原创 计算机系统概论之系统总线

1.总线概念         计算机系统的五大部件之间的互连方式有两种,一种是各部件之间通过单独的连线,叫做分散链接;另一种是将各部件连到一组公共信息传输线上,叫做总线链接。        早期计算机是以分散链接方式,结构非常复杂。它是以运算器为中心的机构,其内部连线十分复杂,尤其是当I/O与存储器交换信息时,都需要经过运算器,致使运算器停止运算,严重影响了CPU的工作效率。        总线是...

2018-02-23 11:40:04 309

原创 计算机系统概论之计算机硬件的主要技术指标

 衡量一台计算机的性能是由多项技术指标综合确定的,既包含硬件的各类性能,又包括软件的各种功能,这边主要讨论下硬件的指标。 1.机器字长 机器字长是指CPU一次能处理数据的位数,通常与CPU的寄存器位数有关。字长越长,数的表示范围也就越大,精度也就越高。机器的字长,也会影响机器的运算速度。倘若CPU字长较短,又要运算位数较多的数据,那么需要经过两次或多次的运算才能完成,这样势必影响整机的运行速度。 ...

2018-02-09 15:58:12 2520

原创 计算机系统概论之计算机的工作过程

用计算机解决一个问题,通常包含两个过程,一个是上机前的各种准备,再一个是上机运行。 1.上机前的准备 在许多科学技术的实际问题中,往往会遇到许多复杂的数学方程组,而数字计算机通常只能做加、减、乘、除四则运算,这就要求,在上机前,先由人工完成一些必要的准备工作,这些工作,大致可分为三类:建立数学模型,确定计算方法,编制解题程序。 (1)建立数学模型 有许多科技问题很难直接用物理模型来模拟研究对象的变...

2018-02-09 09:21:54 3345

原创 计算机系统概论之计算机的基本组成

如图1.7所示,是第一阶段的计算机组成,是以运算器为中心,其中输入,输出设备与存储器之间的数据传送都需要通过运算器,图中实线为数据线,虚线为控制线和反馈线。如图1.8所示,这回计算机组成的第二阶段,以存储器为核心,图中实线为控制线,虚线为反馈线,双线为数据线,图中各组件的功能如下: 运算器用来完成算术运算和逻辑运算,并将运算的中间结果暂存在运算器内;存储器用来存放数据和程序;控制器用来控制、指挥程...

2018-02-08 20:57:38 267

原创 解析海康摄像机推送的PS流(节目流)

背景:由于近期项目需求,需要我们对海康推送的视频流进行解析。根据海康后台管理平台,可以得到海康推送的视频流信息为以RTP协议推送的PS流。废话不多说,直接上码流,一步步分析。80 60 00 00 00 00 00 00 55 66 77 8800 00 01 ba 45 74 2d b4 84 01 04 e6 6bfeff ff 00 5c b2 18 00 00 01 bb

2018-01-24 20:37:17 10051 4

原创 kafka集群安装

一、前提条件:安装好zookeeper集群环境(zookeeper的集群安装请参照我写的另一篇博客,地址:http://blog.csdn.net/caixing_java/article/details/78380988)二、下载kafka并解压:下载地址:http://mirrors.hust.edu.cn/apache/kafka/0.11.0.0/kafka_2.11-0.11

2017-11-13 21:33:08 419

原创 安装zookeeper集群

一、下载zookeeper https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz二、上传到各服务器节点三、解压zookeeper的压缩包 tar -zxvf zookeeper-3.4.10.tar(拟定zookeeper的解压目录为${z...

2017-10-29 00:27:40 170

原创 solr之本地编译并调试

一、下载solr源码包并解压(拟定${solr}为solr源码包的解压根路径)二、编译solr(本文以eclipse为IDE工具)1.安装ant(安装方法自行百度)2.安装ivy(安装方法自行百度)3.在${solr}中启动命令行(shift+右击,在此处打开命令行),输入ant eclipse三、编译完成后,启动ecplise,右击导入如下图所示:四、ctrl+shi

2017-10-21 16:03:27 824

原创 linux安装jdk1.8

下载jdk1.8(地址:http://www.oracle.com/technetwork/java/index.html  或者 http://pan.baidu.com/s/1c2iyOU0 )将jdk上传到linux上(此处上传至/home/java目录下)解压jdk(tar -zxvf jdk-8u144-linux-x64.tar.gz)重命名jdk的解压目录为jdk1.8(mv jdk

2017-10-08 21:08:18 223

空空如也

空空如也

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

TA关注的人

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