自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

水越帆的博客

初级码农请多指教

  • 博客(102)
  • 资源 (1)
  • 问答 (5)
  • 收藏
  • 关注

转载 google dapper论文中文版

概述当代的互联网的服务,通常都是用复杂的、大规模分布式集群来实现的。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。因此,就需要一些可以帮助理解系统行为、用于分析性能问题的工具。Dapper–Google生产环境下的分布式跟踪系统,应运而生。那么我们就来介绍一个大规模集群的跟踪系统,它...

2019-01-15 23:15:34 2618

原创 spring boot集成各种模板引擎实例(thymeleaf、freemarker、jsp)

集成thymeleafthymeleaf是springboot官方推荐使用的模板引擎,因此当然是最重要的啦,很简单一、添加依赖<!-- 前端模板 thymeleaf 依赖--> <dependency> <groupId>org.springframework.boot</groupId> ...

2019-01-07 23:12:16 562

原创 Java实现音乐视频结合(利用ffmpeg添加背景音乐)

ffmpeg下载地址:https://ffmpeg.zeranoe.com/builds/win64/static/ffmpeg-20181225-7efe84a-win64-static.zipFFmpeg的名称来自MPEG视频编码标准,前面的“FF”代表“Fast Forward”,FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。可以轻易地实现多种视频...

2018-12-25 20:54:42 3076 6

原创 微信小程序开发报错未指定环境解决

   刚接触微信开发,搭建项目就遇到坑,输入AppID搭建工程报错未指定环境,好像原来微信开发工具没有这个东西,所以百度一下竟然很少相关的解答,其实很简单,但还是记录一下。首先生成工程发现是这样的:这是因为要先进行云开发配置才能使用(其位置在调试器边上):直接点进去云开发控制台:这里环境名称和ID都是自己填写,随便填。填完之后再看工程就不会报错了,再新建一个...

2018-12-19 20:29:54 8533 4

原创 GC-垃圾回收机制

为什么要学习GC?JVM有自动回收机制,但当需 要排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我 们就需要对这些“自动化”的技术实施必要的监控和调节。为什么要GC?如果只消耗内存不进行垃圾回收,内存迟早会被消耗完,除非内存无限大,但这是不可能的。什么时候GC?涉及到两种算法,引用计数算法和可达性分析算法先说引用计数算法给对象中添加一个引用...

2018-12-17 23:51:22 515

原创 centOS7安装JDK1.8

最近总开服务器总要配置jdk,老是不太记得,写个文章记录一下一、检查当前linux系统上是否有jdk,linux命令:rpm -qa | grep java二、卸载掉系统自带的jdk(箭头标识),命令:rpm -e --nodeps 后面跟系统自带的jdk名比如:rpm -e --nodeps java-1.8.0-openjdk-accessibility-debug-1.8....

2018-12-16 17:04:32 179

原创 kafka问题总结

一、连接超时问题问题描述2018-12-11 17:14:04.956 ERROR 19888 --- [nio-8080-exec-4] o.s.k.support.LoggingProducerListener    : Exception thrown when sending a message with key='null' and payload='{"houseId":24,...

2018-12-13 11:21:27 13661 7

原创 kafka的安装和配置

下载kafka进入kafka官网:http://kafka.apache.org/ 。点击QUICKSTART进去之后点击Download 复制链接地址到CentOS,执行wget http://mirrors.shu.edu.cn/apache/kafka/2.1.0/kafka_2.11-2.1.0.tgz 再解压tar -xzvf kafka_2.11-2...

2018-12-11 00:14:27 316

原创 CentOS7安装Zookeeper单机版

首先创建 zookeeper 文件夹mkdir -p /usr/local/zookeeper下载zookeeper压缩包wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz 把zookeeper包解压到zookeeper目录下tar -zxvf zoo...

2018-12-10 21:51:32 328

原创 Spring注解大全

@Controller标识一个该类是Spring MVC controller处理器,用来创建处理http请求的对象. @Controllerpublic class TestController {        @RequestMapping("/test")        public String test(Map<String,Object> map)...

2018-12-06 23:12:23 167

原创 MySQL MVCC机制

首先简单说说事务事务必须保证ACID(原子性、一致性、隔离性和持久性),可以通过begin语句开始一个事务,然后要么使用commit提交事务将所修改的数据持久保存,要么使用rollback撤销所有修改。再简单地介绍一下四种隔离级别。READ UNCOMITTED (未提交读)      在READ UNCOMITTED 级别,事务中的修改,即使没有提交,对其他事务也都是可见的。事...

2018-12-03 00:51:15 226

原创 MySQL索引底层的数据结构

 首先,在讨论数据结构之前,先了解一下MySQL的存储引擎和数据存取原理。这里有一篇关于存储引擎的文章:https://blog.csdn.net/qq_41618510/article/details/84680226下图是分别用InnoDB和Myisam引擎存储数据的文件目录可以看出Myisam 的存储文件有三个,后缀名分别是 .frm、.MYD、MYI,其中 .frm 是...

2018-12-02 12:06:34 3339

原创 MySQL的存储引擎类型以及选择场景

 先粗略的看一张表,再一个一个分析。      一、 InnoDB 存储引擎        InnoDB是MySQL的默认事务型引擎,也是最重要、使用最广泛的存储引擎。它被设计用来处理大量的短期(short-lived) 事务,短期事务大部分情况是正常提交的,很少会被回滚。InnoDB的性能和自动崩溃恢复特性,使得它在非事务型存储的需求中也很流行。除非有非常特别的原因需要使用其他的...

2018-12-02 01:10:44 1186

原创 浅谈Java虚拟机工作原理

 网上看了很多写JVM工作原理的大神,也看了些视频,各有各的理解,我整合一下组织自己的语言发表一下理解。。首先来一段简单的代码示例:public class Test{ public static void main(String[] args){ String name = "Tom"; sayHello(name); ...

2018-12-01 12:02:59 578

原创 Intellij IDEA 2018快速查看Java类的.class文件

      学习JVM时,难免要对class文件进行研究.Oracle为我们提供了专门分析Class文件字节码的工具:javap,因此我们只需把该工具集成到我们的IDEA中就可以查看class文件,并将内容打印在IDE的console中查看。配置步骤如下:1、打开IDEA,找到setting——>Tools——>External Tools点击添加 各个参数的添加如...

2018-12-01 00:15:49 35713

翻译 JVM指令集

指令码 助记符    说明0x00 nop      什么都不做0x01 aconst_null 将null推送至栈顶0x02 iconst_m1   将int型-1推送至栈顶0x03 iconst_0   将int型0推送至栈顶0x04 iconst_1   将int型1推送至栈顶0x05 iconst_2   将int型2推送至栈顶0x06 iconst_3   将int型3推送...

2018-11-30 20:56:31 797

原创 用Spring Data Jpa的SpecificationExecutor接口做复杂查询

JpaSpecificationExecutor接口Dao接口继承(官网代码示例)public interface CustomerRepository extends CrudRepository<Customer, Long>, JpaSpecificationExecutor { …} JpaSpecificationExecutor提供很多条件查询方法...

2018-11-30 18:57:40 473

原创 PagingAndSortingRepository和 JpaSpecificationExecutor接口实现大数据量的数据分页查询

PagingAndSortingRepository1.PagingAndSortingRepository接口提供了一下接口:@NoRepositoryBeanpublic interface PagingAndSortingRepository<T, ID extends Serializable> extends CrudRepository<T, ID>...

2018-11-30 18:41:06 904

原创 如何去除set、get方法,@Data注解的使用

LombokLombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护,当属性多时会出现大量的getter/setter方法,这些显得很冗长也没有太多技术含量,一旦修改属性,就容易出现忘记修改对应方法的失误。Lombok能通过注解的...

2018-11-28 14:49:04 3473

转载 再给自己收藏一篇

一. 基础知识:1)集合类:List和Set比较,各自的子类比较(ArrayList,Vector,LinkedList;HashSet,TreeSet);2)HashMap的底层实现,之后会问ConcurrentHashMap的底层实现;3)如何实现HashMap顺序存储:可以参考LinkedHashMap的底层实现;4)HashTable和ConcurrentHashMap的区别;...

2018-11-24 19:23:54 130

原创 Java面试题收集

今天看到一篇写面试题的文章,很多不懂的,先记录下来,慢慢研究hashcode相等两个类一定相等吗?equals呢?相反呢?介绍一下集合框架?hashmap hastable 底层实现什么区别?hashtable和concurrenthashtable呢?hashmap和treemap什么区别?低层数据结构是什么?线程池用过吗都有什么参数?底层如何实现的?sychnized和Loc...

2018-11-21 23:40:44 190

原创 windows下安装ElasticSearch集群搭建详细步骤以及问题处理

ES安装前提:需要JDK1.8及以上环境一、下载安装ElasticSearchElasticSearch的windows版本下载地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.1.zip由于我用的是5.6.1版本,需要什么版本直接在链接中更改版本号即可。将下载的zip文件解压后,直接...

2018-11-21 15:58:35 1173

原创 解决springboot报错:Cannot resolve class or package 'mysql’

使用Spring Boot 整合MySQL的时候配置可能会出现这个故障spring.datasource.driver-class-name= com.mysql.jdbc.Driver这个问题是由于MySQL 这个jar 包依赖类型默认是runtime ,也就是说只有运行时生效,虽然这里报错,但是不影响你代码运行。 解决方法:选中项目—> 右键—–> Open ...

2018-11-20 18:01:31 3349

原创 用Java实现一个简单的图书管理系统

效果展示:client   入口包Client.javapackage com.lh.client;import com.lh.manager.UserManager;/** * 入口 * @author 水越帆 * @date 2018年11月20日 上午10:45:14 */public class Client { public static v...

2018-11-20 16:37:59 32577 20

原创 解决CentOS下安装jdk无法解压问题(报错gzip: stdin: not in gzip format tar: Child returned status 1...... )

  CentOS下自带openjdk,但是有些成(如ES)要在jdk1.8及以上环境才能安装,因此要卸载系统自带的openjdk再到官网下载Linux下的jdk,但是在下载后解压时,会发现报错: 原因分析:wget命令直接下载的JDK,这是问题的根源。去Oracle官网下载过jdk的人应该都知道,下载之前需要同意Oracle的安装协议,不然不能下载,但是用wget的方式,默认...

2018-11-17 11:00:35 1470

原创 要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10

public static void main(String[] args) { List<Character> list = new ArrayList<Character>(); Set<String> hashSet = new HashSet<String>(); for (c...

2018-11-12 20:05:13 498

转载 ArrayList自动扩容原理(底层实现)

探索ArrayList     ArrayList的列表对象实质上是存储在一个引用型数组里的,有人认为该数组有“自动增长机制”可以自动改变size大小。正式地说,该数组是无法改变 大小的,实际上它只是改变了该引用型数组的指向而已。下面,让我们来看看java是怎样实现ArrayList类的。一、ArrayList类的实质ArrayList底层采用Object类型的数组实现,当使用不带参数...

2018-11-10 00:38:29 4973 3

转载 MySQL数据库死锁原因及解决

      数据库和操作系统一样,是一个多用户使用的共享资源。当多个用户并发地存取数据 时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。加锁是实现数据库并 发控制的一个非常重要的技术。在实际应用中经常会遇到的与锁相关的异常情况,当两个事务需要一组有冲突的锁,而不能将事务继续下去的话,就会出现死锁,严 重影响应用的正常执行...

2018-11-06 11:04:57 194

原创 Java面试总结

   前几天就想写个总结,无奈各种原因没有写成,作为一个刚入行的菜鸟,一出来就到处碰壁,究其原因还是知识体系不够全面,整理一下近期自己在各个公司的面试题目,以供大家参考(知识点不分先后,全凭记忆)。JAVA基础部分:Java语言的特点面向过程和面向对象基本数据类型、引用数据类型,以及他们直接的转换,自转和强转switch语句支持的数据类型Java三大特性,多态的实现机制...

2018-11-06 00:30:20 251

原创 解决robomongo连接报错Cannot connect to the MongoDB at localhost:27017.Network is unreachable

出现此错误,一般是因为Mongodb的服务没有打开,自己在服务中打开或者重启mongoDB服务即可正常连接

2018-10-30 16:33:20 25355 1

原创 windows下 Mongodb 4.x 版本的安装

一、先登录Mongodb官网: https://www.mongodb.com/download-center/community下载 msi安装包。32、64位的都行。​二、安装MongoDB下载后的安装包:安装比较简单,类似于普通QQ软件,中间主要是选择“Custom”自定义 安装路径修改下:E:\Program Files\MongoDB, 然后不断“下一步”,安装至结束。 ...

2018-10-25 14:06:56 1386

原创 用mysql查询各班前3名成绩

CREATE TABLE sc ( id INT, name VARCHAR(20), class VARCHAR(20), score INT ); INSERT INTO sc VALUES (11, 'zx', '一年1班', 68); INSERT INTO sc VALUES (12,...

2018-10-24 21:59:13 3222 1

原创 索引算法——空间数据索引、全文索引

空间数据索引(R-Tree)MyISAM表支持空间索引,可以用作地理数据存储。和B-Tree索引不同,这类索引无须前缀查询。空间索引会从所有维度来索引数据。查询时,  可以有效地使用任意维度来组合查询。必须使用MySQL的GIS相关函数如MBRCONTAINS()等来维护数据。MySQL的GIS支持并不完善,所以大部分人都不会使用这个特性。开源关系数据库系统中对GIS的解决方案做得比较好的...

2018-10-24 01:38:20 1471

原创 MySQL索引算法——哈希算法

哈希索引哈希索引(hash index)基于哈希表实现,只有精确匹配索引所有列的查询才有效。对于每一行数据,存储引擎都会对所有的索引列计算一个哈希码(hash code),  哈希码是一个较小的值,并且不同键值的行计算出来的哈希码也不一样。哈希索引将所有的哈希码存储在索引中,同时在哈希表中保存指向每个数据行的指针。在MySQL中,只有Memory引擎显式支持哈希索引。这也是Memory引擎...

2018-10-24 01:20:46 10064 3

原创 代理模式

代理模式在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。介绍意图:为其他对象提供一种代理以控制对这个对象的访问。主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操...

2018-10-23 18:57:48 173

原创 单例模式详解

单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意:1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一...

2018-10-23 14:39:08 174

转载 Java常见面试题及解答

ThreadLocal(线程变量副本)Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量。采用空间换时间,它用于线程间的数据隔离,为每一个使用该变量的线程提供一个副本,每个线程都可以独立地改变自己的副本,而不会和其他线程的副本冲突。ThreadLocal类中维护一个Map,用于存储每一个线程的变量副本,Map中元素的键为线程对象,而值为对应线程的变量副本。...

2018-10-22 23:30:50 346

原创 电商项目常见面试题

什么是负载均衡高可用nginx作为负载均衡器,所有请求都到了nginx,可见nginx处于非常重点的位置,如果nginx服务器宕机后端web服务将无法提供服务,影响严重。为了屏蔽负载均衡服务器的宕机,需要建立一个备份机。主服务器和备份机上都运行高可用(High Availability)监控程序,通过传送诸如“I am alive”这样的信息来监控对方的运行状况。当备份机不能在一定的时间内收到...

2018-10-22 23:27:06 24257

转载 设计模式之六大原则

一.单一职责原则  单一职责原则是最简单的面向对象设计原则,它用于控制类的粒度大小。单一职责原则定义如下:单一职责原则(Single Responsibility Principle, SRP):一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。      单一职责原则告诉我们:一个类不能太“累”!在软件系统中,一个类(大到模块,小到方法...

2018-10-20 18:35:09 222

原创 关于Maven配置多仓库

maven配置多个仓库说明maven的中央仓库很强大,绝大多数的jar都收录了。但也有未被收录的。遇到未收录的jar时,就会编译报错。 除了maven官方提供的仓库之外,也有很多的仓库。尽可能的将可信的仓库(嗯,可信的仓库!)添加几个,弥补maven官方仓库的不足。多仓库配置方式一:全局多仓库设置全局多仓库设置,是通过修改maven的setting文件实现的。 设置思路:在se...

2018-10-20 18:19:42 1721

quartzproject.rar

Spring Boot+Quartz+Sql Server+vue实现定时任务小项目(带界面)

2019-05-09

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

TA关注的人

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