自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

chudaxiakkk的专栏

不鸣则已,一鸣惊人

  • 博客(61)
  • 资源 (1)
  • 收藏
  • 关注

原创 配置中心nacos_no1_demo实战

nacos单机部署单机server端部署我本地下载的是2.0.4版本<revision>2.0.4</revision>与springcloud结合nacosSpring Cloud Alibaba VersionSpring Cloud VersionSpring Boot Version2.0.42.2.7.RELEASE*Spring Cloud Hoxton.SR122.3.12.RELEASE版本匹配后,着手开发demo。&

2022-02-28 23:27:12 367

原创 spring-cloud-alibaba学堂准备

学习范围查看wiki 版本说明要学的有5个组件。SentinelNacosRocketMQDubboSeata学习目标关注组件对外提供的特性。1、微服务中的定位2、架构实现分析3、性能参数与同类产品的实现区别,优缺点4、功能特性原理分析5、开发关注的对外暴露的接口,配置属性6、本地完成demo测试方法论1.本次目的是全面掌握spring-cloud-alibaba功能特性。当团队有技术选型的时候,能够准确地判断是否合适2.基于第一点,暂时不做源码级别的原理分析3.参考

2022-02-22 21:28:46 214

原创 spring-boot Fat JAR启动原理

1.FAT JAR目录结构解压后结果drwxr-xr-x 5 hjq staff 160 Dec 3 09:57 .drwxr-xr-x 10 hjq staff 320 Dec 4 11:42 ..drwxr-xr-x 5 hjq staff 160 Dec 2 23:41 BOOT-INFdrwxr-xr-x 5 hjq staff 160 Dec 2 23:41 META-INFdrwxr-xr-x 3 hjq staff 96 Feb 1

2021-12-04 16:46:18 657

原创 java char双字节如何存储Unicode字符

计算机世界,都是二进制组成。最早期,美国出了ascii码标准,只需要1个字节,最多表示128个字符,支持了英语的字符集。全世界这么多国家,这么多种语言,肯定不够。欧洲出了iso编码标准,咱们中国出了gbk,支持中文。编码混乱,自然就要做统一编码标准。所以诞生了Unicode编码,它目标是给全世界所有符号都编码,都有一个唯一的编码。也名万国码,单一码。它总共有三个字节,第一个字节表示平面,设计了17个平面。后两个字节,是实际数据。两个字节,最多表示65536个字符。17个平面,就是最多能表达1百多万个字符。

2021-11-03 10:39:24 464

原创 Innodb的文件

1.参数文件,指向哪里找到数据库文件,初始化参数等2.日志文件。错误日志文件,二进制日志文件,慢查询日志文件,查询日志文件等3.socket文件 UNIX域套接字进行连接时需要的文件4.pid文件 MYSQL实例的进程ID文件5.MYSQL表结构文件 存放mysql表结构定义文件6.存储引擎文件:会有自己的文件保存各种数据,存储了数据和索引参数文件先去读一个配置参数文件。用来寻找数据库各种文件所在位置。mysql --help | grep my.cnf数据库参数包含两类。动态参数,运行

2021-10-22 09:16:41 114

原创 mysql存储引擎区别

FeatureMyISAMBDBMemoryInnoDBArchiveNDB单表存储限制NONOYES64TBNONOtransactios(提交,回滚)NOYESNOYESNONOlock granularity粒度tablepagetablerowrowrowmvcc/snapshot readyesyesyesGeospatial supportYesB-tree indexesY...

2021-10-18 16:34:44 64

原创 mysql慢查询定位 执行计划分析 sql执行顺序

1.慢查询定位:mysql已经内置了慢查询记录功能。默认关闭,需要打开的话,通过系统参数配置。1.修改配置文件my.ini,[mysqld]log_output='FILE,TABLE'slow_query_log='ON'long_query_time=0.0012.命令设置,但是mysql重启后会丢失该配置SET GLOBAL slow_query_log = 'ON';SET GLOBAL log_output = 'FILE,TABLE';SET GLOBAL long_qu

2021-09-03 17:55:16 174

原创 java线程的6种状态.源码有铁证

最近面试多次被问到线程状态了。以前有些印象,但是一直没有深究。回答的不如人意。所以来一次源码探究。最讨厌就是网络的文章,一个个说的有头有脸,线程状态也是命名各种差异。线程的状态,明显是一个枚举类型,所以jdk源码上就有了。java.lang.Thread.State,是Thread类定义的内部类/**A thread state. A thread can be in one of the following states:NEW A thread that has not yet starte

2021-08-20 17:33:22 176

原创 jdk1.8特性介绍和代码例子

java是歪果仁发明的,现在sun公司已经被oracle收购。原来已经好久了。以前总以为java历史久远,其实还没有我年纪大。我想多尝试尝试英语环境。还是多用google和facebook吧ok。java 8 new Feature in oracle,大家一起看看老外的原文。https://www.oracle.com/java/technologies/javase/8-whats-new.html世界好复杂呀,我发现自己也就是单细胞生物,想的太多,做的太少,还是好好专注自己的一亩三分地。做能

2021-08-12 13:56:28 175

原创 Nacos 集群部署模式理解(记录)

nacos部署有三种模式。最近在研究nacos,看到客户端链接服务端。官网的快速开始,只谈到单机模式的情况下,很好理解。客户端上添加配置ip和端口但是生产环境如何部署?client如何服务发现?nacos集群如何负载均衡?带着问题,我查找了资料。第一种,直连模式:生产环境部署模式:nacos集群部署N台客户端链接方式:集群ip和端口,都写在配置文件上。随机选择一台nacos节点通信,实现负载均衡;优点:清晰明白了,没有引入额外的组件。适合中小项目,快速部署和运维缺点:当nacos部署变

2021-05-28 14:49:38 1119

原创 nacos2.0.1 配置中心 使用grpc源码分析

经过大佬指点,选择直接看nacos2.x版本源码,探讨最新的实现方式。1.nacos2.x的架构实现对比1.X的架构,主要是提供了grpc的长连接实现。grpc官网传送门grpc是一个语言无关,平台无关的rpc实现框架,谷歌开源,支持多种编程语言。使用HTTP2.0的特性,支持长连接,服务端推送,header压缩,多路复用。HTTP2.0特性介绍从架构图可以看到,2.x框架,主要是添加了grpc通信实现,是兼容1.x版本。使用grpc,主要是为了解析1.x框架下,http连接带来的.

2021-05-25 18:58:52 5848 2

原创 归并排序和堆排序 java实现

归并排序官方介绍归并排序(Merge Sort)是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。用自己的话形容:给一个无序集合数组,使用分治思想,二分法进行拆分,将大问题拆分成小问题,从上往下把问题集合缩小到一,再从下往上,陆续把两个集合归并。从而得到一个有序集合。它的时间复杂性是O(n

2021-04-21 12:20:42 178

原创 nacos-client 监听配置源码分析

配置监听,是要重点分析,代码稍微复杂一些。 /** * Add a listener to the configuration, after the server modified the configuration, the client will use the * incoming listener callback. Recommended asynchronous processing, the application can implement the g

2021-04-12 18:40:35 689 2

原创 nacos-client 推送和移除配置源码

String url = Constants.CONFIG_CONTROLLER_PATH; Map<String, String> params = new HashMap<String, String>(6); params.put("dataId", dataId); params.put("group", group); params.put("content", content); param.

2021-04-12 15:16:34 576

原创 nacos-client 获取配置源码分析

上一篇关于nacos-client启动的分析这一篇文章,是介绍获取配置的实现方式。查看接口com.alibaba.nacos.api.config.ConfigService /** * Get config. * * @param dataId dataId * @param group group * @param timeoutMs read timeout * @return config value

2021-04-12 14:20:47 1477

原创 nacos-client 配置管理ConfigService启动源码分析

当前使用的nacos-client版本是1.4.1看我的上一篇文章,获取nacos java sdk 使用demo我们知道,nacos两大功能是配置管理和服务发现。这篇文章,是介绍配置管理ConfigService启动分析的。生成配置服务类ConfigService//指定nacos服务地址String serverAddr = NacosServerProperties.serverAddr;String dataId = "provider-server";String gr.

2021-04-09 00:07:30 661

原创 nacos java sdk 使用demo

上一篇,介绍了nacos服务端,客户端和springCloud的版本选择。我研究nacos,计划是先把客户端琢磨透,再去看服务端源码。目录1.看官网说明2.跟随官网写demo配置管理demo服务发现demo我的源码下载1.看官网说明java sdk我选择的版本是最新的稳定版本1.4.1<!-- https://mvnrepository.com/artifact/com.alibaba.nacos/nacos-client -->...

2021-03-28 22:07:35 850

原创 nacos服务端、客户端和springCloud版本说明

最近看消息,nacos已经推出2.0,性能比1.x版本要强十倍。暂时还是选择1.x版本作为我研究的对象,后续再看2.0的新特性。现在nacos1.x的最新Release版本是1.4.1.对于读者的项目,springCloud的版本都不一致。那么我们如何寻找对应的nacos版本呢。还是那句话,不懂得就看官网,再串联起来。nacos服务端版本第一步,先看springCloud版本springCloud官网 https://spring.io/projects/spring-cl...

2021-03-28 10:10:59 14490 2

原创 Hashtable扩容,源码阅读

这篇文章,是笔者学习hash源码的笔记,写作的过程,利于知识梳理,找到盲区。将会分三篇文章。这是第一篇,讲解hashtable扩容。虽然hashtable已经被ConcurrentHashMap取代了,但是源码简单,利于我们理解hash的实现方式。先看hashtable的结构图...

2021-02-24 17:49:06 899

原创 记录postgresql 模糊查询、索引字段使用函数走索引

近段时间,生产环境,数据库质量小组给出了一份sql名单,要优化。主要问题是有两种:大表全表扫描、禁止在索引列上使用函数。大表全表扫描,分三种情况。1、分页查询 limit pageSize offSet pageStart;2、where条件字段没有加索引3、where条件字段是模糊查询第一种情况,暂时还找不到好的办法.不是我们组的sql,所以先忽略;第二种情况,对应字段加索引就行。pg库索引的默认数据结构是b-tree;第三种情况,印象中,模糊查询是不能走索引的。查资料后,发现pg库是可以

2020-11-18 09:05:33 2626

原创 网页布局,左右分栏实现——原来是响应式的锅

开发博客系统,现在要开发 “用户个人空间页”。这次参考csdn的布局它是分左右两栏。它是通过display:left 、 display:right来做左右的。在我个人实践时,当缩小浏览器窗口,**右侧的文章栏 会自动换行。**导致页面很难看我是用bootstrap4 UI框架的。csdn很多页面也是用bootstrap4。通过F12,可以看到class 确实是使用了container但是,这里确实没有用到bootstrap4,而是自定义 响应式属性。导致和我自己引入bootstrap4的

2020-05-21 07:53:49 3078

原创 Spring Security获取登录信息

SecurityContextHolder.getContext().getAuthentication();authentication.getPrincipal()SecurityContextHolder是用于保存SecurityContext。securityContext是一个threadLocal变量authentication包含认证信息Principal是一个Object类型,代用账号密码认证方式时,运行时绑定的是org.springframework.security.core

2020-05-19 14:40:25 537

原创 搭建hive-1.2.2和hadoop2.7.7单机模式

hive依赖hadoop环境。第一步,搭建hadoop环境下载:hadoop-2.7.7下载解压,拷贝到安装目录:注意自己的目录tar -zxvf hadoop-2.7.7.tar.gzmv hadoop-2.7.7 hadoopcp -R hadoop /user/local/soft配置hadoop环境变量JAVA_HOME=/usr/jdkJRE_HOME=/usr/jd...

2020-05-02 09:51:25 424

原创 oauth2 +jwt,password密码授权模式 spring boot 2.x

11111

2020-03-25 07:22:04 1849

原创 计算机科学导论第三版 1-5章随笔

下笔前,我在思考,到底随笔要写什么。计算机科学和人文文章,有诸多区别。我们日常接触的新闻媒体,文章,往往有固定的主题,很多文字,是不言自明的。也就是说废话很多。然后,技术书籍,它也有主题,主题确是非常的抽象,它的组成,是一个又一个知识点组成。这些知识点,属于“复合对象”,理解它们比较困难。知识体系,相当于搭建积木,上层(较高抽象)需要下层(较低抽象)支撑。日常生活接触到的知识,层次相对较少;技...

2019-09-10 19:31:07 595

原创 JAVA 注解 介绍

一、来源是什么从JDK1.5之后,开始支持注解。注解的出现,提供配置的功能。往往使用XML来做配置的功能。但是XML意味着要读取文件,编写比较麻烦。而很多场景下,class需要的是简单的配置,而且方便地使用。注解在编译中,嵌入到字节码上。使用java的反射机制,获取到注解。这个机制,从语言层面进行配置支持,极大方便了程序开发,并且被spring、dubbo、mybatis、netty等各...

2019-03-15 16:13:27 259

原创 希尔排序和快速排序,java实现

希尔排序(shell sort)又称为缩小增量排序(diminishing increment sort)。该算法是泛华的插入排序,这是重点。插入排序在输入序列几乎有序的情况下非常高效,希尔排序分多路并使用不同的间距来比较相邻元素,逐步减少间距,最终以1为间距执行一次插入排序。每减少一次间距,序列就会越加相对有序。最后使用插入排序,使得整体有序。 public static...

2019-02-11 21:35:53 235

原创 解决Dubbo不能优雅停机,升级版本

项目dubbo版本是2.5.3。每次发布新版本,使用kill -9 PID 来停机,导致业务中断,需要后期人工修复。这个是背景,激发了我去探讨dubbo优雅停机,提升项目的可维护性,健壮性。 首先,dubbo是支持优雅停机的。但是2.5.3版本有bug,所以该版本并不支持。接下来分析一、JVM支持优雅停机addShutdownHookdubbo实现优雅停机,是依赖JVM的支持的...

2018-12-03 09:45:27 3628

原创 Spring 事务隔离级别 事务传播特性 @Transactional使用

spring的事务处理能力,本质上是数据库提供的。 一个数据库具备事务,那么它必然支持4个特性,事务的4大特性原子性一致性隔离性持久性这4个特性,保证了数据库处理单事务是有保障的,正确的。更多应用处理场景下,是多事务并行出现的。同时,两个或两个以上的事务,操作同一张表,就会引起冲突。为了解决事务间交互产生的问题,数据库设置了4个隔离级别数据库的4大隔离级别...

2018-08-02 08:49:14 7971 3

原创 Nexus Repository OSS 3.x 搭建Maven私服

私服介绍私服是指私有服务器,是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构建。有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载。Nexus介绍Nexus是一个强大的Maven仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问。如果使用了公共的Maven仓库服务...

2018-06-27 14:05:02 1871

转载 学习内核

作者:麻薬販売穗乃果链接:https://www.zhihu.com/question/20541014/answer/93834041来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。“以后想从事Linux 后台开发”根据这个描述,题主应该是打算入linux系统开发这个坑说到linux或者unix开发,没有用过这类系统以及没接触过底层系统开发的

2018-02-02 09:18:59 334

转载 怎样理解阻塞非阻塞与同步异步的区别

作者:银月游侠链接:https://www.zhihu.com/question/19732473/answer/88599695来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。这几个概念,上面不少答案已经写得很清楚了。这里我结合自己的理解,简单地聊一下为什么这几个概念容易混淆。如果有错误之处,恳请批评指正。我认为同步、异步、阻塞、非阻

2017-12-28 10:54:08 189

原创 三种比较排序算法,java实现

冒泡排序:最简单的排序算法。基本思想是迭代地对输入序列中的第一个元素到最后一个元素进行两两比较,当需要师交换两个元素(位置)。该过程持续迭代值到在一堂排序过程中不需要交换操纵为止。 import java.util.Arrays;public class BubbleSort { public static int[] bubbleSort(int[] ts) { i...

2017-11-02 07:34:28 326

原创 多线程交替打印数字

最近面试,有一道题目:有3个线程,每个线程打印5个数字,线程0打印1 2 3 4 5 ,线程1打印 6 7 8 9 10,线程2打印 11 12 13 14 15 回到线程0 打印,3个线程循环,停止条件是:当值为75。当时我是写了3个线程,通过使用线程的成员变量lock的wait和notify方法,达到线程中流程的停止和继续;当一个线程停止任务(打印完毕),就通知下一个线程;通知信息形成

2017-11-01 12:01:08 855

原创 max os x下查找java_home

whereis java 能看到 /usr/bin/javals -l /usr/bin/java 发现只不过是一个link lrwxr-xr-x 1 root wheel 74 12 3 15:37 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java还

2016-04-22 16:01:17 435

原创 mac intellj IDE下tomcat catalina.sh error=13, Permission denied和error =1 Operation not permitted

刚买上macbook pro, 用作开发环境。搭建spring+springmvc+mybatis环境。使用tomcat做容器。Tomcat下载官网有,就不记录了。启动时候出现 run catalina.sh error=13, Permission denied, 一看,是没有执行权限,默认权限是644chmod a+x catalina.sh我就想设置新创文件有执行权限,查资料发现, l

2016-04-22 15:37:13 4834

转载 史上最全github使用方法:github入门到精通

原文 http://www.eoeandroid.com/thread-274556-1-1.html 【初识Github】 首先让我们大家一起喊一句“Hello Github”。YEAH!就是这样。Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubiniu

2016-03-03 17:52:57 742

原创 linux命令学习

1.修改环境变量PATH http://blog.sina.com.cn/s/blog_688077cf01013qrk.html

2016-02-12 20:44:38 212

原创 centos上nginx安装

centos上不能直接使用yum install nginx 安装我采用了rpm安装包。 nginx下载网址:http://nginx.org/packages/centos/6/x86_64/RPMS/nginx-1.8.1-1.el6.ngx.x86_64.rpm 选择适合的版本安装指导 CentOS 6.4 快速安装Nginx http://blog.sina.com.cn/s/blog_5

2016-02-04 23:01:30 355

原创 使用mysql5.7.10

最近来到一家创业公司。要做一个爬虫项目。 用的是Python编程。决定使用mysql。由于刚开始用python,就从最新版本Python3.5.1上开发。 查看连接mysql的Python的moudule,有好几种。 常用的是mysql -Python(mysqldb),发现不支持Python3, 剩下常用的是pymysql,mysql-connector-python。 mysql-co

2016-01-07 11:53:37 386

数字电路与系统设计课后答案

数字电路与系统设计课后答案数字电路与系统设计课后答案

2011-05-10

空空如也

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

TA关注的人

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