自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

随梦而飞的专栏

记录、回忆、沉淀

  • 博客(72)
  • 资源 (8)
  • 收藏
  • 关注

原创 《深度思维》-摘录

深度思维:拥有较长的思维逻辑链,能够认知较长的因果链条;能够突破自我中心的局限,灵活切换看待问题的视角;能够处理较大的信息量,在杂乱的信息流中保持思维能力;能够在宏观视角上分析问题,认知事物所处的生态的特性、事物的长期趋势等。可视化思维根据目前的心理学研究,一般人的工作记忆上限是三四个信息单位,即你顶多暂时存储三四个信息单位,再多就记不住了。电脑内存不够了,我们可以把电脑拆开,然后加个内存条;大脑的内存不够用,我们没法把大脑打开,但我们可以加一个外部缓存——可视化思维方法。什么是可视化思维?

2021-07-14 22:47:46 332

原创 不得不学的设计模式之五-装饰器模式

装饰器模式定义理解装饰器模式-Decorator Pattern也叫包装器模式(Wrapper Pattern),主要作用是在不改变原有对象的基础上增加原对象的功能。 装饰器模式的核心是功能扩展。类图通用实现方法public abstract class Component { abstract void doMethod();}public class ConComponent extends Component{ @Override void

2021-06-27 22:22:45 95

原创 不得不学的设计模式之四-门面模式

定义理解门面模式又叫外观模式,提供了一个统一的接口,用来访问子系统中的一群接口。日常开发中我们无形的都在使用门面模式,面临调用其他系统、第三方组件的方法时经常会封装到一个类中,提供精简的接口给系统使用。类图门面模式简单实现public class Facade { private SubSysA sysA = new SubSysA(); private SubSysB sysB = new SubSysB(); private SubSysC sysC = new

2021-06-27 18:03:28 93

原创 mavensetting

<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apach

2021-06-23 21:51:34 82

原创 ClickHouse相关

推荐一套视频https://www.ixigua.com/6853991019050959371推荐一本书:ClickHouse原理解析和应用实践

2021-06-23 21:50:36 59

原创 不得不学的设计模式之三

代理模式定义代理模式指为其他对象提供一种代理,以控制对这个对象的访问,属于结构型设计模式​ 在某些情况下,一个对象不适合或不能直接引用另一个对象,而代理对象可以在客户端与目标对象之间起到中介的作用,使用代理模式可以保护目标对象或者增强目标对象。常用在事务代理、日志监听、缓存、远程调用等场景。代理模式和适配器模式之间的主要区别在于代理模式提供了完全相同的接口,装饰器模式增强了接口,适配器模式更改了接口。类图 -静态代理JDK-动态代理JDK动态代理核心是Java.lang.reflect.

2021-06-16 23:03:51 84

原创 人生护城河-摘录

人生四面护城河1. 财富建立至少三种收入模式,工资、副业和投资2. 时间的合理利用,给自己留足够的时间去做重要但不紧急的事3. 智力的不断发展,每天坚持带着目的性阅读、读经典书、与优先的人交谈4. 健康方面应该知道,焦虑迷茫是人生常态,意识到就要及时解决。本书主要从以终为始、思行合一、高度透明、多点支撑来阐述如何经营人生;​ **以终为始,**是指做任何决定都可以站在未来看今天,把未来看清楚,今天就不会纠结。思行合一,是指我们要发现支配自己行为的理念,并将其明确化,每日生活就是去践行这些理

2021-06-14 15:14:20 169

原创 不得不学的设计模式之二

建造者模式定义理解建造者模式是一种创建型模式,就是将一个复杂对象的构建过程与它的表示分离,构建代表对象创建,表示代表对象行为、方法。​ 建造者模式和工厂模式非常相似,都具备创建与表示分离的特点。建造者模式唯一区别于工厂模式的是针对复杂对象的创建,如果创建简单对象,使用工厂模式进行创建;如果创建复杂对象,可以考虑使用建造者模式。类图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xw5Nfi2O-1623509375119)(https://i.loli.net/

2021-06-12 22:50:45 43

原创 不得不学的设计模式之一

工厂模式简单工厂模式工厂方法模式抽象工厂模式简单工厂模式public class SimpleFactory { public enum CarType{ TUYOUTA,AUDI,BENZ } public static Car createInstance(CarType carType){ if(carType.equals(CarType.TUYOUTA)){ return new TuYo

2021-06-12 20:40:51 58

原创 为什么要学设计模式

写出优雅的代码便于系统维护及重构经典框架都在用设计模式,熟悉后便于源码阅读,提炼作者核心意图。设计模式其实是一门艺术,设计模式是在我们遇到问题没有头绪时提供的一种解决问题的方案,设计模式是经验之谈,千万不要死记硬背,生搬硬套。设计模式有哪些不得不学的设计模式工厂模式建造者模式代理模式门面模式装饰器模式适配器模式模板方法模式策略模式责任链模式观察者模式状态模式...

2021-06-12 20:40:30 37

原创 拆解问题的技术-摘录

拆解问题本质的六个基本步骤认识问题,觉察自己的困境,快速整理思绪想象要完成目标的理想状态找出目标与现实落差的原因找出可能方案(评估效益与风险)提出改善方案执行与检讨我们总会凭直觉认为是对方天资聪颖,但其实那是对方过去每一步行动积累的结果。学霸之所以可以轻松跨界,是因为他们秉持先体验再询问的实验精神,并且擅长通过第一性原理找到该学科的本质,然后再经过主题式阅读、刻意练习,使自己快速熟悉,让掌握、运用新知识变得跟呼吸一样自然。这就是学霸们为什么能快速跨领域的原因,他们都是精通拆解本质的好

2021-05-30 17:45:30 734 2

原创 zookeeper学习记录-zookeeper介绍

由以上介绍,分布式系统主要面临一致性和可用性的权衡,所以出现了一系列分布式一致性解决方案,zookeeper是一个典型的分布式数据一致性的解决方案。分布式应用程序可以基于它实现如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能。zookeeperZooKeeper致力于提供一个高性能、高可用,且具有严格的顺序访问控制能力的分布式协调服务。ZooKeeper的基本概念集群角色在分布式系统中构成一个集群的每台机器都有自己的角色,最典型的集.

2021-02-01 23:50:18 71

原创 zookeeper学习记录二-一致性协议

根据CAP定理,在对一个分布式系统进行设计时,P(分区容错性)是最基本的要求,所以需要在可用性和数据一致性之间进行反复的权衡,于是产生了一系列的一致性协议。当一个事务操作需要跨多个分布式节点的时候,为了保持事务处理的ACID特性,就需要引入"协调者"组件来统一调度所有分布式节点的执行逻辑,这些被调度的分布式节点则被称为“参与者”.协调者负责调度参与者的行为,并最终决定这些参与者是否要把事务真正进行提交。2PC2PC(Two-Phase Commit),二阶段提交协议,将事务的提交过程分成了两个阶段.

2021-01-31 22:58:21 65

原创 zookeeper学习记录一分布式系统面临的问题

分布式环境面临的问题通信异常分布式系统需要在各节点之间进行网络通信,因此每次网络通信都会伴随着网络不可用的风险;即使各节点之间的网络通信正常,其延时也远大于单机系统。网络分区当网络由于发生异常情况,导致分布式系统中部分节点之间的网络延迟延时不断增大,最终导致组成分布式系统的所有节点中,只要部分节点之间能够进行正常通信,而另一些节点则不能–这种现象称为网络分区,俗称"脑裂"。当网络分区时分布式系统会出现局部小集群,在极端情况下,这些局部小集群会独立完成原本需要整个分布式系统才能完成的功能,包括对数据

2021-01-30 22:42:57 166 3

原创 Objects-java7新增

Java 7中新增了 Objects工具类,该类提供了对象操作常用的方法,这些方法大多是能防NPE异常的。public static boolean equals(Object a, Object b) { return (a == b) || (a != null && a.equals(b));//会调用具体类重写的equals方法,如果没用重写则调用Object的equals方法比较地址; } public static String toStr.

2021-01-18 23:56:38 71

原创 UNIX编程艺术-艾瑞克.S.理曼德

总结本书主要介绍了Unix系统领域中的设计和开发哲学、思想文化体系、原则与经验,由公认的Unix编程大师、开源运动领袖人物之一Eric S.Raymond倾力多年写作而成摘录:用错误的方式解决正确的问题总比用正确的方法解决错误的问题好。Unix的这种自由放纵主义风格会让它失去很多非技术型用户。但从长远考虑,最终你会发觉这个“错误”换来至关重要的优势:策略相对短寿,而机制才会长存。只提供机制不提供方针的哲学能使Unix长久保鲜既然能够改编、重用、再造,节省自己 90%的工作量,为什么还要从零

2021-01-02 22:55:03 303 1

原创 clickhouse系列之二-SQL语法

1. 注释ch支持SQL风格和c语言风格的注释:- sql 风格的注释以--开头,直到行末;- c语言风格的注释以/*开头 ,*/ 结束;2. 关键字以下情况关键字是大小写不敏感的:标准SQL,例如SELECT ,select 都是允许的;在某些流行的RDBMS中被实现的关键字,例如,DateTime 和 datetime是一样的;以下sql可查询哪些类型关键字不区分大小写; SELECT * FROM system.data_type_families其他的关键字是区分大

2020-12-16 00:00:00 1041

原创 clickhouse系列之一-安装和使用

clickhouse支持多种安装方式,具体参考:参考链接另:日常学习可选择docker 安装,有官方的镜像;以下具体说明安装步骤:下载镜像docker pull yandex/clickhouse-server 默认安装最新版:可指定具体tag: docker pull yandex/clickhouse-server:20.8.9.6docker ps -a启动容器docker start 352e53ce4fc2docker exec -it 352e

2020-12-15 01:00:11 306 1

原创 oh-my-zsh配置

oh-my-zsh配置一键安装 $ sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"注意:如果有连接异常,可以配置hosts 解决:访问 https://www.ipaddress.com/ 输入 raw.githubusercontent.com 得到ip;sudo /private/etc/hosts 添加例如: 199.232.68

2020-10-18 23:40:37 1076

转载 TPC-DS用于Clickhouse和Doris性能测试

大致介绍TPC-DS采用星型、雪花型等多维数据模式。它包含7张事实表,17张纬度表平均每张表含有18列。其工作负载包含99个SQL查询,覆盖SQL99和2003的核心部分以及OLAP。这个测试集包含对大数据集的统计、报表生成、联机查询、数据挖掘等复杂应用,测试用的数据和值是有倾斜的,与真实数据一致。可以说TPC-DS是与真实场景非常接近的一个测试集,也是难度较大的一个测试集。Clickhouse是俄罗斯Yandex公司开源的一个非常快的数据管理系统,性能非常强悍。Apache Doris是百度开源的另一

2020-10-14 00:02:25 1043

原创 Lock-锁的分类

1.公平锁/非公平锁公平锁指多个线程按照申请的顺序获得锁。非公平锁指线程获取锁的顺序可能跟申请的顺序不一致。有可能出现优先级反转或饥饿现象。对于java而言ReentrantLock根据构造函数可以指定成公平锁和非公平锁,默认是非公平锁。synchronized是一种非公平锁,由于它并不像reentrantLock是通过AQS实现的。2.可重入锁可重入锁又称递归锁,即线程在外层方法获取的锁再进入内层方法会自动获取锁。对于Java而言,ReentrantLock和synchronized都是可重入锁

2020-08-24 10:29:18 1187

原创 java 解析大数据量excel

引包 org.apache.poi poi 3.8 org.apache.poi poi-ooxml 3.8 使用方式:XLSXSaxReader.readerExcelByInputStream(multipartFile.getInputStream(), “Sheet1”, 42);import org.apache.log4j.Lo..

2020-08-24 08:46:39 847

原创 主要的适配器类.md

Protocol$Adaptivepackage com.alibaba.dubbo.rpc;import com.alibaba.dubbo.common.extension.ExtensionLoader;public class Protocol$Adaptive implements com.alibaba.dubbo.rpc.Protocol {public void destr...

2020-04-11 23:06:43 96

原创 dubbo源码-服务发布流程解析

服务发布流程解析源码基于dubbo2.6.8,github分支叫2.6.x服务暴露原理核心方法及分析流程:首先基于dubbo暴露服务的方式:此方式主要使用了spring自定义标签技术(具体实现步骤可自行脑补),所以需要有个类去解析此标签 <!-- 声明需要暴露的服务接口 --> <dubbo:service interface="org.ap...

2020-04-09 00:07:20 326

原创 双重检查锁与延迟初始化

双重检查锁与延迟初始化​ 双重检查锁的错误根源?​ 背景:在Java多线程程序中,有时我们需要采用延迟初始化来降低初始化类和创建对象的开销,双重检查锁是常见的延迟初始化技术,但是一个错误的用法。原因?非线程安全的延迟初始化示例:public class UnsafeLazyInitialization { private static ConfigContext instan...

2020-04-03 23:13:17 102

原创 flink实战-基本概念

基本概念flink程序执行时包含两个主要的进程,master和worker。主要分为:Job Client 、JobManager、TaskManager.job managermaster进程是job manager,协调和管理着程序的执行,主要职责:调度任务、管理checkpoints、故障恢复等job manager包含如下组件:Actor systemSche...

2020-03-29 20:51:26 194

原创 静态资源的处理和默认首页的定义

静态资源的处理和默认首页的定义静态资源springboot默认从classpath下的/static (or /public or /resources or /META-INF/resources)目录或者ServletContext的根目录提供静态内容。我们可以通过添加自己的 WebMvcConfigurer(实现 WebMvcConfigurer 接口)并且重写 addResourc...

2020-03-24 22:55:46 909

原创 springboot2-自定义一个starter

创建一个auto-configuration理解 auto-configuration​ auto-configuration实际也是通过标准的**@Configuration** 类实现的,同时通过 @Conditional 注解来控制何时启用,通常会使用 @ConditionalOnClass和 @ConditionalOnMissingBean注解,这样能确保发现关键的类存在时并且你没...

2020-03-24 21:32:06 136

原创 springboot2-spingmvc相关支持

@ControllerAdvice我们知道@ExceptionHandler注解可以注解到某个@Controller类的方法上,作为当前类的统一异常处理方法;如果我们想把这个异常处理方法作用于全局,那么就需要用到@ControllerAdvice注解,具体使用步骤如下:@ControllerAdvice+@ExceptionHandler 实现全局异常配置第一步自定义一个异常处理类,并标注...

2020-03-21 21:30:28 139

转载 elasticsearch 开发者调查报告

elasticsearch 开发者调查报告原文地址:http://elasticsearch.cn/article/13580

2020-03-19 22:28:55 117

原创 Sprngboot2实战之@PropertySource扩展

@PropertySource扩展@PropertySource(value={"classpath:person.properties"}) //从指定属性文件中读取属性如上,@PropertySource只能读取.properties文件到application中,但目前spring boot是默认支持application.yml作为默认配置文件的,如何才能读取自定义的.yml文件呢,...

2020-03-18 20:29:19 214

原创 springboot2搭建工程时遇到的棘手问题

典型问题引入的jar并未按照pom中的定义来现象导致的问题导致内置tomcat启动时一直报如下异常:org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.context.Application...

2020-03-17 22:55:43 188

原创 springboot2实战四-配置文件详解- @ConfigurationProperties

配置文件相关1、@ConfigurationProperties(prefix = “hpf”)1.定义yml/properties文件hpf: name: zhangsan age: 12​ 2.定义映射类@Component@ConfigurationProperties(prefix = "hpf")public class User { private S...

2020-03-17 20:04:37 994

原创 springboot2实战三-配置类

spring boot偏向使用java-based的配置方式,虽然也可以使用 xml 作为配置,但spring boot建议使用基于单个@configuration注解的配置类,通常将main方法所在的类作为主配置类(类似之前的 application.xml)@Import @Import: 导入其他的配置类,所以不必将所有的配置类写在一个单一的class里;@ImportResourc...

2020-03-17 20:00:57 112

原创 springboot2实战二-springboot关键配置

依赖管理注意上篇文章我们搭建的springboot项目pom.xm文件有如下配置:继承了 spring-boot-starter-parent<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter...

2020-03-15 20:59:48 125

原创 关于软件架构

架构的定义架构(Architecture)一词源于建筑领域,其本身就是建筑的意思,也有体系结构的意思。维基百科英文版里对Architecture的解释是:规划、设计和建造建筑物的过程及产物。鉴于软件工程与建筑工程一样是一项系统的工程性工作,在引入计算机领域后,软件架构就成为描述软件规划设计技术的专有名词。特别地,软件架构师一词在英文里和建筑师也是同一个词(Architect)。1972年图灵奖...

2020-03-14 22:47:20 221

原创 关于IT职业生涯

IT行业是个知识更新非常快的行业,当然其他行业也在发展进步,但是相对而言还没有这么强的节奏。同时,IT行业的机会很多,每次失败最好都能从自己身上总结出原因,这样才能继续向前,从而提升自己。选择很重要,但先要想清楚自己想要什么,选择之后,被放弃的选择就不再重要了,重要的是怎么把选择的事情做好。 关于技术转管理,什么时候可以转为技术管理?如果在军队里面,一个士兵说我杀敌本领...

2020-03-14 22:42:14 253

原创 springboot2实战一搭建

springboot简介​ springboot使我们搭建基于spring的项目更加容易,大部分的springboot的项目需要很少的配置即可搭建一个可执行的应用。springboot能够创建一个可执行的jar(使用java -jar即可执行)或者打成一个war包;同时提供了许多组件,例如:内嵌web服务器,安全组件,监控组件等。通过实战总结springboot有如下优点:内嵌web服务器...

2020-03-14 22:17:47 178

原创 设计模式-创建型模式

2019-08-31 22:40:59 72

原创 写在设计模式之前二-7原则

2019-08-27 23:13:24 71

jdk1.8.0_201.zip

jdk资源文件,官网下载较慢发布这里便于大家随用随下

2019-08-04

java常用资源下载地址

java的常用资源下载地址,数据库,服务器等

2014-02-18

web.xml中&lt;/context-param&gt;等配置的作用

了解web.xml的配置信息和加载顺序,有助于理解框架的流程,

2014-01-14

jquery判断复选框是否被全部选中,达到全选的目的

主要实现判断所有的复选框选中时,做某些操作,例如使全选按钮选中,当有一项不选中时,则使全选按钮不勾选

2014-01-07

springmvc注解

使用springmvc的注解搭建的一个简单框架,方便大家学习,共通进步

2014-01-06

java中遍历某个目录下的所有文件及文件夹中的文件

本代码简单实现,遍历某个目录下的所有文件,并列出文件路径

2013-12-15

2011年软考试题

2011年软件水平考试上下午试题,含参考答案,供需要的同学使用

2013-11-23

j华为面试题

java 面试题,经典的java常见问题,在多家面试中出现

2013-10-24

空空如也

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

TA关注的人

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