- 博客(111)
- 收藏
- 关注
转载 spring boot的@RequestParam和@RequestBody的区别
一、问题描述 由于项目是前后端分离,因此后台使用的是spring boot,做成微服务,只暴露接口。接口设计风格为restful的风格,在get请求下,后台接收参数的注解为RequestBody时会报错;在post请求下,后台接收参数的注解为RequestParam时也会报错。二、问题原因 由于spring的RequestParam注解接收的参数是来自于requestH...
2019-01-02 14:55:54
397
转载 Kafka学习笔记
Kafka是一个开源的,分布式的,高吞吐量的消息系统。随着Kafka的版本迭代,日趋成熟。大家对它的使用也逐步从日志系统衍生到其他关键业务领域。特别是其超高吞吐量的特性,在互联网领域,使用越来越广泛,生态系统也越来的完善。同时,其设计思路也是其他消息中间件重要的设计参考。Kafka原先的开发初衷是构建一个处理海量日志的框架,基于高吞吐量为第一原则,所以它对消息的可靠性以及消息的持久化机制考虑的...
2018-12-21 17:45:02
240
转载 Kafka的Leader的选举机制
卡夫卡的领袖是什么 首先卡夫卡会将接收到的消息分区(分区),每个主题(主题)的消息有不同的分区。这样一方面消息的存储就不会受到单一服务器存储空间大小的限制,另一方面消息的处理也可以在多个服务器上并行。 其次为了保证高可用,每个分区都会有一定数量的副本(复制品)。这样如果有部分服务器不可用,副本所在的服务器就会接替上来,保证应用的持续性。 但是,为了保证较高的处理效率,消息的读写都是在固定...
2018-12-20 16:05:53
2279
1
转载 分布式消息中间件——kafka
在我们大量使用分布式数据库、分布式计算集群的时候,是否会遇到这样的一些问题: l 我想分析一下用户行为(pageviews),以便我能设计出更好的广告位l 我想对用户的搜索关键词进行统计,分析出当前的流行趋势。这个很有意思,在经济学上有个长裙理论,就是说,如果长裙的销量高了,说明经济不景气了,因为姑娘们没钱买各种丝袜了。l 有些数据,我觉得存数据库浪费,直接存硬盘又怕到时候操...
2018-12-19 15:15:05
176
转载 Kafka监控工具KafkaOffsetMonitor配置及使用
一、KafkaOffsetMonitor简述KafkaOffsetMonitor是Kafka的一款客户端消费监控工具,用来实时监控Kafka服务的Consumer以及它们所在的Partition中的Offset,我们可以浏览当前的消费者组,并且每个Topic的所有Partition的消费情况都可以一目了然。二、KafkaOffsetMonitor下载KafkaOffsetMonito...
2018-12-19 14:20:48
210
转载 kafka 创建消费者报错 consumer zookeeper is not a recognized option
[root@test-90 kafka_2.9.1-0.8.2.1]# bin/kafka-console-producer.sh --zookeeper 192.168.89.90:2181 --topic testException in thread "main" joptsimple.UnrecognizedOptionException: 'zookeeper' is not a re...
2018-12-19 11:27:43
1163
转载 IDEA让manven项目自动依赖jar包
当我们用manven构建项目的时候,我们在pom.xml中删除一个依赖或者添加一个依赖,发现依赖还是没有改变,我们可以进行设置,在File->Settings->Build、Execution、Deployment中的maven->Importing中设置Automatically download中选中sources! 如果发现没有自动依赖,那还必须打开Ma...
2018-12-15 09:28:01
478
原创 zookeeper启动报mkdir: 无法创建目录"": 没有那个文件或目录
Using config: /usr/local/java/zookeeper-3.4.6/bin/../conf/zoo.cfggrep: /usr/local/java/zookeeper-3.4.6/bin/../conf/zoo.cfg: 没有那个文件或目录mkdir: 无法创建目录"": 没有那个文件或目录Starting zookeeper ... STARTED 解决方...
2018-12-14 20:42:27
10748
2
转载 linux下升级jdk版本
背景:Centos将JDK从1.7升级到1.8sudo yum install java-1.8.0 sudo yum remove java-1.7.0-openjdk
2018-12-14 19:58:16
910
转载 redis持久化的几种方式
redis持久化的几种方式1、前言Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到...
2018-11-15 19:48:08
178
转载 面试题
问题1:Solr---数据导入1.solr安装,配置IK分词器,配置域(复制域,动态域)2.使用SpringDateSolr (1).导入坐标 (2).创建配置文件,配置solr服务器地址,及solr模板(用于对索引库的CRUD操作) (3).创建pojo类,如果属性与配置文件中定义的域名称不一致,加入@Fiele...
2018-11-15 18:09:44
112
转载 Error与Exception的区别
首先,Error类和Exception类都是继承Throwable类Error(错误)是系统中的错误,程序员是不能改变的和处理的,是在程序编译时出现的错误,只能通过修改程序才能修正。一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢等。对于这类错误的导致的应用程序中断,仅靠程序本身无法恢复和和预防,遇到这样的错误,建议让程序终止。Exception(异常)表示程...
2018-11-13 13:31:12
161
转载 hibernate中get()和load()的区别
在Hibernate中如果要从数据库中得到一个对象 两种方法- 通过session.get()方法- 通过session.load()方法区别load加载方式当使用load方法来得到一个对象时,此时hibernate会使用延迟加载的机制来加载这个对象当使用session.load() 方法加载一个对象的时候,并不会发出SQL语句,这个对象其实就是一个代理对象,而这个代理对象只是保...
2018-11-13 10:34:09
177
原创 Hibernate的主键生成策略
主键生成策略 主键不应该由用户自己输入,而是由程序生成。(1)increment:自动增长,使用的是Hibernate中提供的自动增长机制,适应于short,int,Long。Hibernate底层使用查询一下表中主键的最大值。select max(cust id ) from customer,然后将id+1作为当前的主键。 问题:...
2018-11-13 10:30:28
162
转载 简介JVM中栈和堆?
一、Java的堆内存和栈内存Java把内存划分成两种:一种是堆内存,一种是栈内存。 堆:主要用于存储实例化的对象,数组。由JVM动态分配内存空间。一个JVM只有一个堆内存,线程是可以共享数据的。 栈:主要用于存储局部变量和对象的引用变量,每个线程都会有一个独立的栈空间,所以线程之间是不共享数据的。--------------------- 空间分配:栈:由操作系统知道哦哦那个分配...
2018-11-13 09:17:56
189
转载 final,finalize,finally的区别
final:声明属性不可变,方法不可覆盖,类不可继承finally:异常处理语句的一部分,表示总被执行。finalize:垃圾收集器讲对象从内存中清除出去之前,做必要的清理工作...
2018-11-13 08:29:28
148
转载 Java中的String,StringBuilder,StringBuffer三者的区别
首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String String最慢的原因: String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。2. 再来说线程安全 在线...
2018-11-13 08:24:51
126
转载 GC 是什么?为什么要有GC
GC是垃圾收集的意思,内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。Java程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:System.gc() 或Runtime.get...
2018-11-13 08:20:57
294
转载 浅谈web应用的负载均衡、集群、高可用(HA)解决方案
1、熟悉几个组件1.1、apache —— 它是Apache软件基金会的一个开放源代码的跨平台的网页服务器,属于老牌的web服务器了,支持基于Ip或者域名的虚拟主机,支持代理服务器,支持安全Socket层(SSL)等等,目前互联网主要使用它做静态资源服务器,也可以做代理服务器转发请求(如:图片链等),结合tomcat等servlet容器处理jsp。1.2、ngnix —— 俄罗...
2018-11-05 20:35:00
113
转载 oracle的索引总结
简介1.说明 1)索引是数据库对象之一,用于加快数据的检索,类似于书籍的索引。在数据库中索引可以减少数据库程序查询结果时需要读取的数据量,类似于在书籍中我们利用索引可以不用翻阅整本书即可找到想要的信息。 2)索引是建立在表上的可选对象;索引的关键在于通过一组排序后的索引键来取代默认的全表扫描检索方式,从而提高检索效率 3)索引在逻辑上和物理上都与相关的表和数据无关,当创...
2018-11-02 20:34:43
94
转载 oracle触发器
1、触发器的作用:触发器是一中程序模块,是数据库的一种自动处理机制。触发器主要作用是保证数据库的安全性,例如:触发器通常通过对操作的记录来对数据库进行操作的审计,或实现复杂的约束条件,2、什么时候用触发器:根据触发器的触发条件可以分为3种触发器:分别为dml触发器、instead of触发器、ddl触发器。触发器的调用方式不同于存储过程和函数,它是通过“事件”来激活的。所谓事件,就是数据库...
2018-11-02 20:33:19
92
转载 JAVA中的CAS
JAVA中的CAS2018年01月28日 13:20:36 sylarji 阅读数:12418 本篇的思路是先阐明无锁执行者CAS的核心算法原理然后分析Java执行CAS的实践者Unsafe类,该类中的方法都是native修饰的,因此我们会以说明方法作用为主介绍Unsafe类,最后再介绍并发包中的Atomic系统使用CAS原理实现的并发类。 无锁的概念 ...
2018-11-01 21:49:03
120
转载 Ediplus连接Linux
EditPlus是一款功能非常强大的文本编辑软件,最近写代码的过程中,经常会打开编辑服务器上的日志文件、配置文件等,EditPlus支持远程编辑文件,这就极大的方便了日常工作。具体配置方法如下:首先打开FTP设置,路径为:文件——FTP——FTP设置然后设置服务器地址和密码,子目录为期望远程打开的目录,目标文件的所在选择“高级选项”,勾选“使用sftp”,确定连...
2018-11-01 15:36:47
193
转载 Spring AOP面向方面编程原理:
Spring AOP面向方面编程原理:AOP概念 介绍完IoC之后,我们来介绍另外一个重要的概念:AOP(Aspect Oriented Programming),也就是面向方面编程的技术。AOP基于IoC基础,是对OOP的有益补充。AOP将应用系统分为两部分,核心业务逻辑(Core business concerns)及横向的通用逻辑,也就是所谓的方面Crosscuttin...
2018-10-31 20:57:32
499
转载 Linux面试题汇总
1. cron 后台常驻程序 (daemon) 用于: A. 负责文件在网络中的共享 B. 管理打印子系统C. 跟踪管理系统信息和错误 D. 管理系统日常任务的调度2. 在大多数Linux发行版本中,以下哪个属于块设备 (block devices) ? A. 串行口B. 硬盘 C. 虚拟终端D. 打印机3. 下面哪个Linux命令可以一次显示一页内容? A. pause B. cat C...
2018-10-31 20:55:13
189
转载 java内部类
java内部类1.静态块和实例块(1.)static 所修饰的方法或者数据成员不依赖于对象static{this.naem = “youbo”this.age = 20}和实例块初始化{this.naem = “youbo”this.sex = 20}class Person1 { private int age; private Stri...
2018-10-30 18:19:46
75
转载 sql的操作
库规范:不区分大小写(命令建议使用大写)退出:quit;exit;\q;以分号结尾可以折行输入,增加空格和缩进来增加可读性注释: 单行–多行/…/设置结束符: delimiter 符号DDL:定义性语句DML:操作性语句DCL:权限语句主键:非空且唯一 not null unique数据类型3种1.数字类型:TINYINT(1字节) 小整数SMALLINT(2...
2018-10-30 17:54:08
73
转载 ActiveMQ(三)——spring管理ActiveMQ,实现发送和接收效果
一、前言在前一篇博客中,小编向大家简单的介绍了一下ActiveMQ的消息处理方式,包括了点对点,发布订阅两种模式。写向大家展示了一下如何使用,但是在真正开发的时候我们是不会写那么一大片代码,从建立连接工厂,再由连接工厂创建连接对象,连接对象打开连接,连接对象然后创建session,session创建目的地,用于连接数据。这个过程是比较复杂的,在开发的时候一般我们会使用Spring ,把这些操...
2018-10-29 20:30:17
123
转载 【MySql】Sql优化(三)——性能优化
一、前言当数据库数据达到一定数量的时候,结合数据库连接池Druid的可视化监控界面,对系统中运行的sql语句进行检测,对使用频繁、执行时间长的sql语句进行优化。二、优化方案原则[原则一:选择需要优化的SQL]1,选择需要优化的SQL:不是所有的SQL都需要优化,在优化的过程中,首选更需要优化的SQL; 2,SQL运行较慢有两个影响原因,IO和CPU,明确性能瓶颈所在; 3,明确优...
2018-10-29 20:28:34
167
转载 java异常
java异常的分类Throwable1.IO异常2.运行时异常3.Errowjava异常的捕捉 File file = new File("E:\\test\\test.exe");1这里new的只是一个pathname跟系统中是否存在该文件无关。路径也可以写成e:\test\test.exe。 try{ System.out.println("试图打开te...
2018-10-28 21:49:13
73
转载 String.valueOf()使用方法
* String.valueOf()使用方法*String 类别中已经提供了将基本数据型态转换成 String 的 static 方法 ,也就是 String.valueOf() 这个参数多载的方法有以下几种(1)String.valueOf(boolean b) : 将 boolean 变量 b 转换成字符串(2)String.valueOf(char c) : 将 char 变量 c ...
2018-10-28 21:48:23
103
转载 学习笔记:二分查找
二分查找的学习笔记之前在bilibili看到一个有趣的视频,关于二分查找的。戳我看这个有趣的视频笔记参考:极客时间|数据结构与算法之美1. 二分思想就如上面视频中的栗子,猜数字游戏,如果从头开始一个一个的猜是非常低效的。在实际的开发场景中,假设有1w条订单数据,已经按照订单的金额从小到大排序,每个定干的金额不同,最小单位是元。如果从第一个订单开始,遍历这1w条订单,直到找到目标...
2018-10-27 22:07:23
81
转载 数据库的原理
一、事务概念事务指的是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚。 ACID1. 原子性(Atomicity)事务被视为不可分割的最小单元,事务的所有操作要么全部提交成功,要么全部失败回滚。回滚可以用回滚日志来实现,回滚日志记录着事务所执行的修改操作,在回滚时反向执行这些修改操作即可。 2. ...
2018-10-27 22:06:19
284
转载 springboot开发的优点
启动依赖和自动配置。 1、 启动依赖:传统的spring开发,需要自己手动的导入maven坐标,这样一是配置麻烦,二是版本若控制的不好,容易出现jar包冲突。而我们都知道,基础的springBoot开发,只需在pom中引入 <!-- 继承父包 --> <parent> <groupId>org.spring...
2018-10-26 21:54:55
430
转载 jdk7和jdk8的一些新特性及区别
在jdk7的新特性方面主要有下面几方面的增强: 1.jdk7语法上 1.1二进制变量的表示,支持将整数类型用二进制来表示,用0b开头。 // 所有整数 int, short,long,byte都可以用二进制表示 // An 8-bit 'byte' value: byte aByte = (byte) 0b00100001; ...
2018-10-26 20:37:30
2128
原创 Message=模板变量缺少对应参数值
使用阿里云短信服务时,报错缺少对应的参数值 出现该错误的原因是模板需要的变量是code,而代码中提供的是number, 导致了与模板变量的不一致而报错.解决方案是提供与模板一致的变量即可, 即把参数改为code ...
2018-10-26 20:34:58
6408
转载 JQuery的语法
jQuery 语法通过 jQuery,您可以选取(查询,query) HTML 元素,并对它们执行"操作"(actions)。jQuery 语法jQuery 语法是通过选取 HTML 元素,并对选取的元素执行某些操作。基础语法: $(selector).action()美元符号定义 jQuery选择符(selector)“查询"和"查找” HTML 元素jQuery 的 act...
2018-10-25 20:39:39
93
转载 Mysql的基础命令
一,数据库:查询数据库:show database;查询所在库:select database;指定查询库:show database 数据库名称;创建数据库:create database 数据库名称;删除数据库:drop database 数据库名称; (永久性删除)选择数据库:use/USE 数据库名;(不区分大小写)二,数据表:查询所有表:show tabl...
2018-10-25 20:38:46
148
转载 关于freemarker静态化生成html页面 乱码的问题
FreeMarker在生成静态页面的时候如果编码不一致则会产生乱码,特别是在处理中文的时候,如果不指定相同的编码,那么一定会产生中文乱码,所以在开发当中应该尽量保证编码一致,以下几个方面可以避免乱码:1. ftl文件编码设置Window->Preferences->Workspace->Text file encoding 1配置 Text file encoding...
2018-10-24 21:08:59
520
1
转载 深入了解mybatis参数
深入了解MyBatis参数相信很多人可能都遇到过下面这些异常:"Parameter 'xxx' not found. Available parameters are [...]""Could not get property 'xxx' from xxxClass. Cause:"The expression 'xxx' evaluated to a null value."...
2018-10-24 21:08:10
131
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人