CBeann的博客

明天的你会感激今天努力的自己。。。
私信 关注
CBeann
码龄4年

明天的你会感激今天努力的自己。

  • 274,467
    被访问量
  • 149
    原创文章
  • 23,199
    作者排名
  • 132
    粉丝数量
  • 毕业院校 北京林业大学、青岛理工大学
  • 于 2016-12-26 加入CSDN
获得成就
  • 获得150次点赞
  • 内容获得101次评论
  • 获得228次收藏
荣誉勋章
兴趣领域
  • #后端
    #Java
TA的专栏
  • 【life】
    7篇
  • 【并发编程】
    8篇
  • 【Netty】
    10篇
  • 【docker】
    2篇
  • 【Scala&Spark】
    4篇
  • 【hadoop】
    12篇
  • 【Linux】
    4篇
  • 【SpringCloud Alibaba】
    4篇
  • 【SpringCloud】
    7篇
  • 【SpringBoot】
    25篇
  • 【python】
    1篇
  • 【Maven】
    1篇
  • 【FreeMarker】
    1篇
  • 【Shiro】
    2篇
  • 【Spring-SpringMVC-MyBatis整合】
    3篇
  • 【webservice】
    3篇
  • 【MyBatis】
    8篇
  • 【Spring】
    13篇
  • 【MySQL】
    13篇
  • 【Java】
    24篇
  • 【Exception】
    3篇
  • 【redis】
    4篇
  • 【Hibernate】
    2篇
  • 【servlet】
    1篇
  • 【NET】
    3篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

dubbo的连接机制是长连接还是短连接【转载】

https://www.cnblogs.com/intotw/p/13815394.html
转载
0阅读
0评论
0点赞
发布博客于 昨天

Transactional注解不生效案例

不生效场景一:try-catch捕获了@Transactional public void transactionalNotEffect01() { try { Person p1 = new Person(); p1.setName(LocalDateTime.now().toString()); personDao.insertSelective(p1); int i = 1 / 0; } catch (Exception e) {
原创
12阅读
1评论
0点赞
发布博客于 2 天前

多线程在Spring中的使用

案例1:自定义多播器和多线程有什么关系?自定义多播器自定义多播器如下所示,其实和我们自定义其他的不太一样,因为其他的自定义不会有value值,为什么此处必须要有value = "applicationEventMulticaster"???@Component(value = "applicationEventMulticaster")public class Myulticaster extends SimpleApplicationEventMulticaster{ public
原创
11阅读
0评论
0点赞
发布博客于 14 天前

手撸RPC小案例

想法的来源 学了netty框架以及看了一下一小部分的netty框架的源码,听说dubbo是基于netty框架的一个优秀的落地实现,所以看了一小部分dubbo的源码,感觉学习netty总要有一个方式证明自己曾经学过,所以写下这一篇小笔记,写给自己看。源码下载https://github.com/cbeann/NettyRpcDemooo前提Zookeeper知识点zookeeper有四种节点 PERSISTENT 持久化节点 PERSISTENT_SEQUENT...
原创
98阅读
1评论
0点赞
发布博客于 18 天前

synchronized锁升级原理

Java对象的内存结构对象内存结构在64位操作系统下,MarkWord(下图_mark)占64位KlassWord(下图_klass)占32位_lengh(只有数据对象才有,不考虑)实例数据(下图instance data)看参数的类型,int就占32位(4byte)补齐(padding)是JVM规定java对象内存必须是8byte的倍数,如果实例数据占2byte,那么(64bit的Markword+32bit的Klassword+实例数据32bit)=128bit=16byte
原创
50阅读
2评论
0点赞
发布博客于 2 月前

MySQL数字和字符串的比较

问题的引出https://mp.weixin.qq.com/s/15YEwqxuQcCH16Sq7BF5Vg实验创建表mysql版本 5.6.48CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=1111111116 DEFAULT CHA
原创
77阅读
0评论
0点赞
发布博客于 2 月前

MVCC多版本并发控制[转载]

https://www.jianshu.com/p/8845ddca3b23
转载
43阅读
0评论
0点赞
发布博客于 2 月前

手写红黑树笔记

写这篇文章的目的1)心血来潮,你信吗2)红黑树确实很重要,并且在这个也是经常问的题。代码下载https://github.com/cbeann/Demooo/tree/master/java-demoo/src/main/java/myredblacktree红黑树难点红黑树性质每一个节点要么是黑色,要么是红色的。 根节点是黑色。 叶子节点(Null)是黑色。 每一个红色节点的两个子节点一定都是黑色。不能有两个红色节点相连。 任意一个节点到每一个叶子节点的路径都包含相同的
原创
47阅读
0评论
0点赞
发布博客于 2 月前

SpringBoot读写分离

前提2台mysql可以开两个docker,也可以在一个MySQL服务器中用2个数据库 docker run -d -p 3307:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 docker.io/mysql docker run -d -p 3308:3306 --name mysql02 -e MYSQL_ROOT_PASSWORD=123456 docker.io/mysqlSpringBoot代码代码下载:https..
原创
67阅读
0评论
0点赞
发布博客于 2 月前

2020年总结---不要因为走的太远,而忘记当初,为什么出发!

2020年是不平凡的一年,所有人都
原创
93阅读
1评论
0点赞
发布博客于 2 月前

线程中断方法interrupt、isInterrupted、interrupted方法

方法 解释 Thread.currentThread().interrupt(); 给线程标记为中断状态 Thread.currentThread().isInterrupted(); 返回线程中断标志位是否为中断,中断返回true,反之false Thread.interrupted(); 返回线程中断标志位是否为中断,中断返回true,反之false;并且清除之前的中断状态,即把当前线程改为非中断状态 Thread.currentThread().interrup
原创
34阅读
0评论
0点赞
发布博客于 2 月前

生活需要争取-致自己

生活需要争取,有的时候机会只有一次,丢人不可怕,可怕的是可惜和遗憾。
原创
28阅读
0评论
0点赞
发布博客于 3 月前

Java中数字的进制前缀

二进制的前缀为 0b八进制的前缀为 0十进制的前缀为 十六进制的前缀为 0xclass Solution { public static void main(String[] args) { Solution solution = new Solution(); solution.print(0b11); // 二进制 3 solution.print(011); // 八进制 9 solution.print(11);...
原创
123阅读
0评论
0点赞
发布博客于 3 月前

生活分享---分享一下网易云音乐歌单

原创
46阅读
1评论
0点赞
发布博客于 3 月前

Spark查询Hbase小案例

写作目的1)正好有些Spark连接HBase的需求,当个笔记本,到时候自己在写的时候,可以看2)根据rowkey查询其实我还是查询了好久才找到,所以整理了一下3)好久没发博客了,水一篇版本Scala2.11.1Spark 2.11HBase2.0.5代码其中hbase-site.xml为hbase安装目录下/hbase/conf里的hbase-site.xmlpom依赖 <properties> <mysql....
原创
31阅读
0评论
0点赞
发布博客于 3 月前

linux使用tinyproxy代理上网

需求现在有服务器134,135,137,138 四台服务器,134能上外网,其他的不能上外网,需要解决其他不能上外网的问题前提2个linux服务器,其中1台能上网实现参考安装tinyproxyhttps://blog.csdn.net/weixin_41607151/article/details/80671649配置 https://www.cnblogs.com/chenglee/p/10154103.html...
原创
429阅读
0评论
0点赞
发布博客于 4 月前

SpringBoot整合多数据源

需求 最近有一个需求,需要把安某服务器中MySQL中的数据导入到另一个MySQL中,当时感觉导出到xxx.sql,然后导入进新的数据库,发现MySQL导出到xxx.sql已经实现不了了,每次导出都会卡住,时间继续,但是导出条数一直不变,后来就想了个比较 笨的方法,就是查数据库1,然后插入数据库2,所以需要SpringBoot整合多数据源,从而记录搭建环境的过程。源码下载SpringBoot+MyBatis+MySQLhttps://github.com/cbeann/Demooo/t..
原创
71阅读
2评论
0点赞
发布博客于 4 月前

MySQL窗口函数【转载】

注意MySQL窗口函数是8.0及以后才有的新特性。安装mysql8.0(docker安装方式)安装docker安装docker#下载指定版本dockerwget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo#安装dockeryum -y install docker-ce-18.06.1.ce-3.el7#开启docke.
转载
40阅读
0评论
0点赞
发布博客于 4 月前

kubeadm搭建k8s集群

前提(1)三台能联网的虚拟机角色 IP 配置 master221 192.168.129.221 CPU2核心,内存2G slave223 192.168.129.223 CPU2核心,内存2G slave224 192.168.129.224 CPU2核心,内存2G (2)操作系统 CentOS7 64位集群中所有服务器之间可以网络互通,访问外网禁止swap分区安装步骤环境配置关闭防火墙(master221,s..
原创
65阅读
0评论
0点赞
发布博客于 4 月前

SpringBoot启动流程【转载】

https://www.bilibili.com/video/BV1S4411R73m?p=1
转载
31阅读
0评论
0点赞
发布博客于 4 月前

jar包反编译,查看源代码【转载】

亲测有效https://blog.csdn.net/neverstopforcode/article/details/80913324
转载
77阅读
0评论
0点赞
发布博客于 4 月前

关于IDEA找不到或无法加载主类【转载】

https://blog.csdn.net/qq_37889152/article/details/82286113
转载
36阅读
0评论
0点赞
发布博客于 4 月前

Java中运行shell脚本

需求 忽然想写个东西,然后发现自己的linux中端口开放问题以及端口占用问题很麻烦,因为我经常用8080端口,如果有一个图形化界面看某个端口被占用以及被什么占用就好了。落地实现直接执行shell命令(参数为命令)ShellUtils.exceShell("ls -l /");package com.example.portinterpretationplugin.utils;import com.example.portinterpretationplugin.constan..
原创
116阅读
1评论
0点赞
发布博客于 4 月前

从jar包内复制文件到系统目录内

需求 最近想实现一个java执行shell脚本的小demo,其实执行的一条命令是比较容易的,一百度一大堆;执行脚本也特别简单,参数为路径即可,但是有没有想过下面的这种情况? 你想执行一个名字叫 helloword.sh脚本,你的脚本放在 /opt下,你在自己的SpringBoot代码运行shell的命令的参数为/opt/ helloword.sh ,你的代码在自己的服务上跑的美滋滋,但是你的代码跑到别人服务器上,那你怎么能保证别人的/opt下有你的helloword.sh ??...
原创
228阅读
0评论
0点赞
发布博客于 4 月前

SpringMVC何时加载的controller里的mapping方法

疑问其实我一直有一个疑问,因为我在跟自己写的controller的生命周期源码的时候,没有发现解析mapping的代码,然后我就在想,什么时候解析并加载的mapping呢???结果是一个新的类 RequestMappingHandlerMapping ,惊呆了,我的小伙伴demo下载https://github.com/cbeann/Demooo/tree/master/springmvc-demo-app源码跟进我就从RequestMappingHandlerMapping的...
原创
1873阅读
0评论
0点赞
发布博客于 5 月前

SpringCloud向注册中心注册IP为内网IP

项目SpringBoot 1.5.9SpringCloud Dalston.SR1问题有一个微服务为station,在consumer微服务中使用rebbion远程调用station微服务,请求结果为超时connect timed out ,(1)一开始我以为端口没开,我看了看,发现端口开了,可以访问(2)我以为代码有问题,我把所有的微服务,包括eureka等,都在本地起了起来,然后发现没有问题(3)然后重新在服务器集群上重新部署了一套,发现还是超时connect timed..
原创
255阅读
0评论
0点赞
发布博客于 5 月前

mybaits传入的时间参数与数据库实际插入的时间晚8个小时

问题现象如下图所示,我传入的参数为2020年9月25号13点25分结果我的数据库实际插入的数据为2020年9月25号5点25分足足少了8个小时解决办法jdbc:mysql://127.0.0.1:3306/fdcp-dev?characterEncoding=utf-8改为jdbc:mysql://127.0.0.1:3306/fdcp-dev?characterEncoding=utf-8&serverTimezone=Asia/Shanghai参考h.
原创
63阅读
0评论
0点赞
发布博客于 5 月前

用Redis来实现接口幂等性校验

项目简介springboot redis @ApiIdempotentAnn注解 + 拦截器对请求进行拦截 压测工具: jmeter实现思路 为需要保证幂等性的每一次请求创建一个唯一标识token, 先获取token, 并将此token存入redis, 请求接口时, 将此token放到header或者作为请求参数请求接口, 后端接口判断redis中是否存在此token:如果存在, 正常处理业务逻辑, 并从redis中删除此token, 那么, 如果是重复请求, 由于token已被...
原创
288阅读
6评论
0点赞
发布博客于 5 月前

强、软、弱、虚引用

强引用99%中都是强引用Object obj=new Object();软引用弱引用虚引用
原创
67阅读
0评论
0点赞
发布博客于 5 月前

Linux 磁盘已满怎么办【转载】

解决办法进入根目录,执行以下命令du --max-depth=1 -h就能查看某个目录占多大,然后找到大并且没用的目录,然后进行依次循环参考https://my.oschina.net/wsxiao/blog/1617035
转载
39阅读
0评论
0点赞
发布博客于 5 月前

在IDEA中使用Docker部署SpringBoot项目

Docker安装及使用https://blog.csdn.net/qq_37171353/article/details/94216641
原创
318阅读
0评论
0点赞
发布博客于 6 月前

全局时间格式化

需求经常会需要后端给前端传时间,有各种类型的时候,date、java8中LocalDateTime等等,虽然挺简单一个小需求,但是也挺繁琐的,毕竟大家容易犯懒。实践代码(SpringBoot)添加jackson依赖 <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --> <dependency> <
原创
39阅读
0评论
0点赞
发布博客于 6 月前

《高性能MySQL》第四、五、六章笔记

第四章 Schema与数据类型优化4.1 选择优化的数据类型更好的通常更好 一般情况下,应该尽量使用可以正确存储数据的最小数据类型。更小的数据类型通常更快,因为他们占用更好的磁盘、内存、CPU缓存,并且处理时需要的CPU周期也更少。但是要确保没有低估需要 存储的值的范围。简单就好 简单数据类型的操作通常需要更少的CPU周期。例如,整型比字符操作代价更低,因为字符集和校对规则(排序规则)使字符比较比整型比较更复杂。尽量避免NULL 如果查询中包含可为NULL的列,对MySQ...
原创
45阅读
0评论
0点赞
发布博客于 6 月前

《MySQL技术内幕:InnoDB存储引擎》笔记

第一章 MySQL体系结构和存储引擎1.3MySQL存储引擎1.3.1InnoDB存储引擎 InnoDB存储引擎支持事物,其特特是行锁设计、支持外键。InnoDB存储引擎通过使用多版本并发控制(MVCC)来获得并发性。同时,使用一种被称为next-key locking 的策略来避免幻读(phantom)现象的产生。1.3.2MyISAM存储引擎 MyISAM存储引擎不支持事物、表锁设计、支持全文索引。 MyISAM存储引擎表由MYD和MYI组成,MYD用来存放数据文...
原创
111阅读
0评论
0点赞
发布博客于 6 月前

MySQL主从复制配置

前提条件Centos7系统:192.168.6.220(master),192.168.6.221(slave)mysql:mysql-5.6.49-linux-glibc2.12-x86_64.tar.gz搭建环境之前一定要快照、一定要快照、一定要快照修改master结点修改my.cnf文件### 开启bin log日志以及一些参数log-bin=/var/log/mysql/mysql-binserver-id=1innodb_flush_log_at_tr...
原创
94阅读
0评论
0点赞
发布博客于 6 月前

Spring的循环依赖和三级缓存

前提(1)作者技术比较差,文章写的比较随意,也可能有错误,欢迎您指出。(2)如果您不了解Spring Bean的声明周期,那么您可以看一下文章(https://blog.csdn.net/qq_37171353/article/details/103165108)或者百度其它文章,然后在回来看该文章,否则个人感觉应该看不懂解决循环依赖假设有一种下面的情况,A中有B,B中有A@Datapublic class A { private B b; public A() {Sy.
原创
220阅读
2评论
1点赞
发布博客于 6 月前

tomcat系统架构笔记

笔记EndPoint:接收socket请求并且封装成socketWrapper,并且把socketWrapper传递给Http11ProcessorProcessor:以Http11Processor为例,把socketWrapper转化为org.apache.coyote.Request和Respone,传递给CoyoteAdapterAdaptor:以CoyoteAdapter为例,把传入的org.apache.coyote包下的Request和Respone转化为我们熟悉的Reques
原创
46阅读
0评论
0点赞
发布博客于 7 月前

SQL_CALC_FOUND_ROWS的使用

需求 经常会有这么一种情况,让你根据条件分页查询学生的信息,最后还要总条数, 基本操作是两条SQL: (1)select * from student where age = 18 limit 10,10 ; (2)select count(*)from student where age = 18现在通过一条SQL足矣低配版本select * from student WHERE id < 1000 LIMIT 10,10 ;selec...
原创
134阅读
2评论
0点赞
发布博客于 7 月前

MySQL一行变多行,多行变一行

数据表一行变多行select a.classid, substring_index(substring_index(a.classname, ',', b.help_topic_id + 1), ',', -1) as spitIdfrom classroom a join mysql.help_topic b on b.help_topic_id < (length(a.classname) - length(replace(a.classname, ',', ''))
原创
469阅读
0评论
0点赞
发布博客于 7 月前

MySQL根据输入的查询条件排序

问题 现在一个需求是查询某一列,用逗号分开,返回的结果要根据输入的顺序返回结果 比如:姓名的输入框输入的是(zhangsan,lisi),那么返回的结果也要是按照(zhangsan,lisi)这样的顺序展示测试有如下表classroom,内容如下如果根据字段名称去查,那么它会根据字典顺序排序,如下所示select * from classroom where classname in ("class2","class3") order by classname...
原创
361阅读
0评论
0点赞
发布博客于 7 月前

SpringBoot启动成功后调用接口、方法

问题 线上问题遇到一个接口第一次访问特别慢的问题,后来说是某加了某注解,所以第一次请求比较慢,初步解决办法就是启动后先请求一次就好了。代码接口 @RequestMapping("/hello") public String hello() { return LocalDateTime.now().toString(); }核心接口CommandLineRunnerpackage com.example.autorequest;import lombok...
原创
1080阅读
0评论
0点赞
发布博客于 7 月前

good luck

study hard,good luck
原创
65阅读
0评论
0点赞
发布博客于 7 月前

SpringBoot指定端口的几种方式

想法的来源(1)其实我Linux用的贼烂,一开始的时候我搭建一个服务的时候我不清楚端口是否开放,比如我把阿里云的防火墙关闭了,但是我没有配置安全组,我任然不能通过某某端口访问(2)比如你学习nginx的时候,你需要做映射,如果你需要好几个服务,那我原来的操作是在IDEA写完SpringBoot打包然后放到Linux上,然后在修改端口,在打包在放在Linux上,贼麻烦SpringBoot指定端口的3种方式(亲测有效) @Value("${server.port}") private
原创
699阅读
0评论
0点赞
发布博客于 8 月前

Gitlab配置webhook监听其他分支merge到主分支

想法的来源 某大佬让我实现gitlab的webhook,监听到其它分支合并到mater分支后给DY发邮件。我做过用 push 到 github触发jenkins实现自动部署,但是那个时候就是自己玩,不用考虑分支和其它。其实一旦扯到分支上,其实我个人感觉就难了。但是,还是要干的。思路(1)自信满满一开始我想简单啊,在项目里的URL添加自己阿里云的一个sout接口,选择Merge requet events,点击Add webhook。如下图所示,这不就OK了吗?因为我自己没事整...
原创
1098阅读
0评论
0点赞
发布博客于 8 月前

MySQL隔离级别与MySQL的锁

MySQL隔离级别Read Uncommitted(读取未提交内容)Read Committed(读取提交内容)Repeatable Read(可重读)Serializable(可串行化)MySQL的锁
原创
80阅读
0评论
0点赞
发布博客于 9 月前

LocalDateTime、Date时间工具类

LocalDateTime工具类方式1这种官方的工具类挺不错,就是要看文档找,推荐这种工具包 <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.2.3</version> </dependen
原创
207阅读
0评论
0点赞
发布博客于 9 月前

Jenkins的简单使用【图文并茂】

需求在window上写完代码后pull到github上可以自动打包并且运行jar前提Linux(能连外网)+JDK8 + Git+Github会使用Linux安装Maven1)其中配置远程镜像仓库的setting.xml在apache-maven-3.6.3/conf 目录下2)主意自己的目录问题安装Maven:https://www.jianshu.com/p/51e4e84e02cd配置Maven中央镜像:https://blog.csdn.net/qq_3717135.
原创
198阅读
0评论
0点赞
发布博客于 9 月前

自定义redis-spring-boot-starter

项目结构
原创
441阅读
0评论
1点赞
发布博客于 9 月前

以JDBC为例谈双亲委派模型的破坏【转载】

讲的贼明白https://www.jianshu.com/p/09f73af48a98
转载
135阅读
0评论
0点赞
发布博客于 9 月前

权限系统设计【转载】

https://www.jianshu.com/p/ddfa692d78e6
转载
62阅读
0评论
0点赞
发布博客于 10 月前

ReentrantReadWriteLock源码分析

构造方法分析//无参构造方法调用有参构造方法,并且传入一个参数为falsepublic ReentrantReadWriteLock() { this(false);//----->跟进去 }//fair为false,表示创建一个非公平的AQSpublic ReentrantReadWriteLock(boolean fair) { sync = fair ? new FairSync() : new NonfairSync();
原创
70阅读
0评论
0点赞
发布博客于 10 月前

Jmeter的简单使用

Jmeter简介Apache JMeter是Apache组织开发的基于Java的压力测试工具。Jmeter安装(window)前提:Java环境要有在https://jmeter.apache.org/download_jmeter.cgi 下载解压后如图所示进入解压的bin目录下,启动Jmeter启动成功后如下图所示Jmeter进行压力...
原创
56阅读
0评论
0点赞
发布博客于 10 月前

java获取本机的外网IP地址(亲测有效)

获取本机的外网地址如果下面正确,请留下您宝贵的赞package untils;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.*;import java.util.Enumeration;import ja...
原创
1972阅读
2评论
3点赞
发布博客于 11 月前

Sentinel的使用笔记

Sentinel简介Sentinel是分布式系统的流量防卫兵https://github.com/alibaba/Sentinel/wiki/%E4%BB%8B%E7%BB%8DSentinel安装window安装Sentinel注意:8080和8719端口要开放下载地址https://github.com/alibaba/Sentinel/releases...
原创
1643阅读
10评论
0点赞
发布博客于 11 月前

Nacos服务注册和配置中心

Nacos简介Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos=Eureka+config+busNaco是服务注册中心和服务配置中心Nacos安装前提JDK1.8+(包括1.8)下面的项目是 SpringBoot2.2.2 + springcloud-alibaba 2.1.0window安装Nacos在https:/...
原创
988阅读
0评论
0点赞
发布博客于 11 月前

Spring Cloud Sleuth的简单使用

功能:查看服务之间的调用关系1)启动Zipkin Server下载Zipkin Serverhttps://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/java -jar zipkin-server-2.11.6-exec.jar链接:https://pan.baidu.com/s/11vyNQ9k...
原创
153阅读
0评论
1点赞
发布博客于 11 月前

Gateway的简单使用

构建项目provider-8001provider-8002gateway-9527eureka-7001依赖,注意不要加web依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId&g...
原创
247阅读
0评论
0点赞
发布博客于 11 月前

OpenFeign使用

前提服务注册中心+服务提供者会搭建SpringBoot(2.x)+web服务消费者:OpenFeign使用在SpringBoot(2.x)+web的基础之上添加pom依赖 <!-- open feign --> <dependency> <groupId>org.springframe...
原创
74阅读
0评论
0点赞
发布博客于 11 月前

Consul服务注册中心

cloud注册中心SpringCloud的服务注册中心有Eureka、Zookeeper、Consul和NacosEureka(AP)在SpringBoot1.x中比较合适,但是现在是SpringBoot2.x,而且Eureka已经停止更新了,就是不建议在使用了Zookeeper(CP)是dubbo的注册中心,曾经的Eureka都凉了,万一我用别的注册中心又凉了怎么办,不如用zooke...
原创
152阅读
0评论
0点赞
发布博客于 11 月前

《java并发编程实战》总结

第一章 简介线程的优势:①发挥多处理器的强大优势 ②建模的简单性③异步事件的简化处理④相应更灵敏的用户界面线程带来的风险:①安全性问②活跃性问题③性能问题第2章 线程安全性2.1什么是线程安全性 当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就...
原创
154阅读
0评论
0点赞
发布博客于 1 年前

springboot的定时任务的方法周期比方法的运行时间长

1
原创
565阅读
0评论
2点赞
发布博客于 1 年前

没有接口实现类代理

问题的提出正常的jdk动态代理和cglib代理都是通过传入实体类实现的,dubbo的消息提供者是没有接口的实现类的,那怎么实现的?实现接口package com.proxynoimpl;/** * @author CBeann * @create 2020-03-09 17:37 */public interface IEmailService { Stri...
原创
238阅读
0评论
0点赞
发布博客于 1 年前

计算机网络笔记

常见的状态码https://blog.csdn.net/weixin_34137799/article/details/88705818tcp 3次握手4次挥手https://blog.csdn.net/qq_38950316/article/details/81087809https://mp.weixin.qq.com/s/QnH37o9AMIeTa_gy...
转载
202阅读
0评论
0点赞
发布博客于 1 年前

SpringMVC源码阅读系列汇总【转载】

http://www.imooc.com/article/281642?block_id=tuijian_wzhttps://www.cnblogs.com/fangjian0423/p/springMVC-directory-summary.html
转载
166阅读
0评论
0点赞
发布博客于 1 年前

ReentrantLock源码分析笔记-单线程公平锁为例

前提1)大致了解AQS原理(☆☆☆)2)熟悉双向链表的基本操作3)本文以公平锁上锁释放锁为例跟ReentrantLock代码(☆☆☆)4)本文以单线程抢占锁释放锁为例(☆☆☆)5)建议了解公平锁和非公平锁的区别6)较好的理解能力(作者表达能力差)AQSAQS的核心思想(参考版)如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程,并将共享资源设置...
原创
102阅读
0评论
0点赞
发布博客于 1 年前

基于redis的分布式锁

为什么要使用分布式锁?因为服务器使用了集群方案。词穷。。。怎么使用分布式锁?需求实现一个查询数据库,在大于0的情况下减库存这样小小的功能。测试:模拟100并发并看结果基础代码没有任何锁 @RequestMapping("/reduce_stock") public String reduceStock() { //查数据库(redi...
原创
83阅读
0评论
0点赞
发布博客于 1 年前

零拷贝

注意事项(1)零拷贝的含义是数据不从内核空间拷贝到用户空间,也不从用户空间拷贝到内核空间(2)零拷贝完全依赖操作系统,操作系统提供了就是提供了,没有提供就没有提供,java本身做不了任何事情传统的IO拷贝需求java读取磁盘上的文件,并且输出出去。这个过程包含两个步骤,一个是读,一个是写图片解读三列分别为用户空间、内核空间、硬件(1)read() syscall...
原创
176阅读
0评论
0点赞
发布博客于 1 年前

Spring Boot 参数校验

校验实践前提SpringBoot+web添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId>...
原创
85阅读
0评论
1点赞
发布博客于 1 年前

redis中处理带有空格的key

问题提出:在redis中存的key有空格,存后空格会被取消掉,如图所示 String str = "2020-1-1 08";stringRedisTemplate.opsForValue().set(str,str);//key:2020-1-1 08 value:2020-1-108 空格已经被消除解决办法:两边加一个引号的转义 String str1 ...
原创
2469阅读
0评论
0点赞
发布博客于 1 年前

json日期格式化与json日期转化为对象

项目基础SpringBoot+web+fastjson问题1提出:返回JSON对象的日期需要格式化测试代码对象@Data@Accessors(chain = true)public class Student { private Integer id; private String name; private Date date;}接口...
原创
881阅读
0评论
0点赞
发布博客于 1 年前

json字符串和对象直接的转化

pom<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> <...
原创
81阅读
0评论
0点赞
发布博客于 1 年前

线程和线程池

线程线程的几种状态public enum State { //创建后尚未启动的线程处于这种状态。 NEW, //Runable包括了操作系统现线程状态中的Runing和Ready,也就是处于次状态的线程有可能正在执行,也有可能正在等待着CPU为它分配执行时间。 RUNNABLE, //线程被阻塞了,“...
原创
56阅读
0评论
0点赞
发布博客于 1 年前

2019年总结

2019上半年 大学的考研生活让我感到自己的潜力还是可以挖掘的,没有宿舍,我们就租了一间,最后偷偷的又溜回宿舍住,真是好运气。租的房间离学校比较远,所以就买了辆自行车,然后就每天骑车来回,学校的路还有坡,大学过了几年不运动的生活,你就能猜到多累了,就是累到早上骑车到食堂吃不下饭的那种,但是也坚持下来了,现在想想其实也是真不可思议。有的时候下雨,我就和翔哥一起骑车在雨里狂奔,当时的感...
原创
884阅读
0评论
0点赞
发布博客于 2 年前
2018年12月21日,考研
发布Blink于 2 年前

手写@Async注解

项目目录结构项目下载https://github.com/cbeann/Demoo/tree/master/async-demo实践pom <!-- https://mvnrepository.com/artifact/cglib/cglib --> <!--cglib依赖--> <dependency>...
原创
95阅读
0评论
0点赞
发布博客于 2 年前

手写IOC容器

实践项目目录结构项目下载https://github.com/cbeann/Demoo/tree/master/ioc-demopom<!--解析XML的依赖--> <!-- https://mvnrepository.com/artifact/org.jdom/jdom --> <dependency>...
原创
50阅读
0评论
0点赞
发布博客于 2 年前

Exception:Connection to node 0 could not be established. Broker may not be available.

问题:Java调用kafkaAPI写入数据失败,不报错[main] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka version : 0.11.0.2[main] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka commitId : 73be1e1168f9...
原创
263阅读
0评论
0点赞
发布博客于 2 年前
HBase笔记
发布Blink于 2 年前

Bean的生命周期

Bean的生命周期(1)调用InstantiationAwareBeanPostProcessor的Before/AfterInstantiation尝试返回一个代理对象 如果返回null,继续下面的步骤,否则直接返回。(2)createBeanInstance(beanName, mbd, args)创建bean(3)population:Bean的属性赋值 ...
原创
114阅读
0评论
0点赞
发布博客于 2 年前

mapreduce论文.zip

google的mapreduce论文
zip
发布资源于 2 年前

Netty(八)之Netty服务端启动流程

服务端启动模板public class MyChatServer { public static void main(String[] args) { //步骤1 EventLoopGroup bossGroup = new NioEventLoopGroup(1); EventLoopGroup workerGroup = new ...
原创
86阅读
0评论
0点赞
发布博客于 2 年前

Netty(六)之protostuff

protostuff和protobuf的区别protostuff是一个基于protobuf实现的序列化方法 在几乎不损耗性能的情况下做到了不用我们写.proto文件来实现序列化 使用它也非常简单,所以直接上代码。操作流程前提在Netty(一)之helloworld https://blog.csdn.net/qq_37171353/article/details/1001...
原创
312阅读
0评论
0点赞
发布博客于 2 年前

Netty(七)之聊天室小小小案例

需求1)上线或者下线给其它人员通知2)A发送消息其它人员都可见设计思路客户端与服务端建立连接后会触发 serverHandler中的 channelActive 方法,把channel保存到ChannelGroup中,当客户端给服务端发送消息时,把channelGroup中的每一个channel都把消息发送一遍,就实现群发功能代码实现(亲测可用)pom<...
原创
124阅读
2评论
1点赞
发布博客于 2 年前

IDEA中boot热部署失效【转载】

https://blog.csdn.net/qq_28591897/article/details/90297407
原创
38阅读
0评论
0点赞
发布博客于 2 年前

Netty(五)之心跳机制与重连

文章目标1)实现客户端和服务端的心跳2)心跳多少次没有应答断开处理3)客户端宕机通知服务端4)服务端宕机客户端重连运行代码下载(亲测有效)链接:https://pan.baidu.com/s/1YaCQisOfovSCm5xV1XWtlA提取码:ecc2复制这段内容后打开百度网盘手机App,操作更方便哦前提在Netty(一)之hellowor...
原创
103阅读
0评论
0点赞
发布博客于 2 年前

Netty(三)之数据之粘包拆包

前提Netty(一)之helloworld https://blog.csdn.net/qq_37171353/article/details/100180406数据的粘包在上面的的例子基础之上的TimeClient上修改我们的本意是发送三条您好 //发送数据 f.channel().writeAndFlush(Unpooled.copiedBuf...
原创
47阅读
0评论
0点赞
发布博客于 2 年前

Netty(四)之数据通信的三种方式

三种数据通信方式我们需要了解在真正项目中如何去考虑Netty的使用,我们需要考虑的问题是两台机器(甚至多台)使用Netty怎么进行通信,大体上分为三类。第一种:长连接使用长连接通道不断开的形式进行通信,也就是服务器和客户端的通道一直处于开启状态,如果服务器的性能足够好,并且我们的客户端数量也比较少的情况下,我还是推荐这种方式。第二种:短连接一次性批量提交数据采用短连接方式。也就是我...
原创
817阅读
0评论
0点赞
发布博客于 2 年前

Netty(二)之整合Marshalling传输实体类

pom <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>5.0.0.Alpha1</version>...
原创
204阅读
0评论
0点赞
发布博客于 2 年前

Netty(一)之helloworld

HelloWorld客户端通向服务器端发送消息,服务器端读取数据(你好)并且返回(new Date()),客户端读取数据pom <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId&g...
原创
138阅读
0评论
0点赞
发布博客于 2 年前

开学季

开学感悟 近一年的考研准备,终于实现了自己的目标。曾经有人说你的分报这个学校亏了,其实这个问题很好回答,因为我不知道我能考多少,所以没必要马后炮。其实我当初也有一丝丝亏了的感觉,但是后来还是想通了,只不过是自己得寸进尺而已。考研是是一个为自己奋斗的过程,每一个在考研中坚持下来的人都是成功者,这段经历是刻骨铭心的,是值得怀念的。 开学的第一个星期都是开会,曾经有班主任带你选课,有导...
原创
88阅读
1评论
0点赞
发布博客于 2 年前

SpringSecurity笔记之helloworld

构建项目前提会SpringBoot和tymeleaf目的了解SpringSecurity的helloworld感悟(1)核心就是继承WebSecurityConfigurerAdapter实现类里的configure(HttpSecurity http) 方法(2)handler和Filter是加功能的关键项目下载https://github.com/cbean...
原创
99阅读
0评论
1点赞
发布博客于 2 年前

Scala写Spark笔记

学习感悟(1)配置环境最费劲(2)动手写,动手写,动手写WordCountpackage wordcountimport org.apache.spark.{SparkConf, SparkContext}/** * @author CBeann * @create 2019-08-10 18:02 */object WordCount { def m...
原创
82阅读
0评论
1点赞
发布博客于 2 年前

JVM笔记

JVM模型Class Loader类加载器负责加载class文件,class文件在文件开头有特定的文件标识,并且ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定。Method Area方法区(永久区)方法区是被所用的线程共享,所有字段和方法字节码,以及一些特殊方法如构造函数,接口代码也是再此定义。简单说,所有定...
原创
311阅读
1评论
1点赞
发布博客于 1 年前

Spark Shell笔记

学习感悟(1)学习一定要敲,感觉很简单,但是也要敲一敲,不要眼高手低(2)一定要懂函数式编程,一定,一定(3)shell中的方法在scala写的项目中也会有对应的方法(4)sc和spark是程序的入口,直接用SparkShell启动SparkShell ./bin/spark-shellWordCount案例sc.textFile("hd...
原创
2121阅读
0评论
1点赞
发布博客于 2 年前

ON DUPLICATE KEY UPDATE

问题引出案例:某个餐桌(id)花了多少钱(num)如果4号餐桌点了一份西红柿4元,我们可以插入;如果3号餐桌点了一份西红柿4元,我们可以修改你选择insert或者update的原因是你知道他原来有没有数据如果你不知道呢???一般我们的逻辑为先查询,如果没有,插入;反之修改if not exists (select ) insert else ...
原创
175阅读
1评论
0点赞
发布博客于 2 年前

Gateway笔记

构建项目provider-8001provider-8002gateway-9527eureka-7001依赖,注意不要加web依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId&g...
原创
88阅读
0评论
0点赞
发布博客于 2 年前

SpringCloud笔记

eureka服务注册中心 <!--eureka-server服务端 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka...
原创
116阅读
0评论
1点赞
发布博客于 2 年前

Kafka笔记

Kafka单机版安装注意1)先做一下快照2)注意开发文章中涉及的端口3)注意路径问题,我将软件安装在 /opt/module下,你也可以安装在 /usr/local/下4)centoskafka_2.11-0.11.0.2.tgz zookeeper-3.4.5.tar.gz5)iZm5ea99qngm2v98asii1aZ 是我的主机名6)多开几个控制窗口...
原创
115阅读
0评论
0点赞
发布博客于 2 年前

Spark(单机版)安装

环境hadoop-2.7.2https://pan.baidu.com/s/10WSRBljmM9vGhS7PHz9NSgspark-2.1.1-bin-hadoop2.7链接:https://pan.baidu.com/s/13gHKbWYPRVoq7OjVaURPRQ提取码:p3z3复制这段内容后打开百度网盘手机App,操作更方便哦hadoop安装(单机版)ht...
原创
216阅读
0评论
0点赞
发布博客于 2 年前

Elasticsearch笔记

Elasticsearch与数据库比较 关系型数据库(比如Mysql) 非关系型数据库(Elasticsearch) 数据库Database 索引Index 表Table 类型Type 数据行Row 文档Document ...
原创
80阅读
0评论
0点赞
发布博客于 2 年前