自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

原创 JVM优化之JIT、逃逸分析、非逃逸对象JIT的优化

2023-02-03 11:11:18 537

原创 建造者模式

2022-11-07 14:19:56 159

原创 Java Spi以及Dubbo Spi

2022-10-10 17:43:09 654 4

原创 redis scan 的基本用法

2022-09-26 10:26:51 3700

原创 Future和CompletableFuture

2022-08-27 11:23:10 681

原创 String、StringBuffer、StringBuilder

2022-06-21 21:35:03 47

原创 代理模式.

2022-06-18 21:30:39 98

原创 基础知识反射

2022-06-12 22:32:45 205

原创 计算机网络的性能指标

性能指标从不同方面度量计算机的性能,常见有有七种速率计算机会将发送的信息转成而进制来传输,一个二进制数就称为一个比特,二进制数据转成复杂的数字信号在线路上传输速率指的是每秒传输的比特数量,称为比特率或者数据率速率的单位为b/s,Kb/s,Mb/s,Gb/s,Tb/s注意Kb/s跟KB/s的区别,b=bit,B=byte,所以KB/s=8*Kb/seg:1.3MB/s=10.4Mb/s宽带...

2021-10-27 10:23:11 340

原创 计算机网络概念、组成、功能和分类

概念计算机网络是一个通过交换设备(路由)与通信链路(光纤)将分散且具有独立功能的主机连接起来,由功能完善的软件实现网络协议以实现资源共享以及信息传递的系统组成1)从组成部分看计算机网络由硬件、软件和协议三大部分组成,缺一不可-硬件:主机、交换设备(如路由器)、通信链路(如光纤)和通信处理机(如网卡)等组成-软件:可以实现资源共享和信息传递的各种软件(如邮件收发程序、聊天程序等)-协议:协议是计网里的核心,规定了网络传输过程数据时需要遵循的规范,就例如现实世界里的法律一样.

2021-10-25 15:36:19 4099

原创 List里的remove方法

假设现在一个list里的元素为:[1,2,3,3,4]1、通过普通for循环来删除元素for(int i=0;i<list.size();i++){ if(list.get(i)==3) list.remove(i);}System.out.println(list);打印:1,2,3,4原因:当删除第一个3时,3后面元素都会向左移动,而当前index等于2,后一个3会移除到index=2的位置,因此会被跳过;如果不存在相邻元素,那么就不会出现这种情况还有另一种解决方式

2021-10-11 09:40:15 1574

原创 Linux权限管理

修改文件和目录的所属组chgrp:是change group的缩写,chgrp [-R] 所属组 文件名(目录名),-R表示更改连同子目录中所有文件的所属组信息,该新的所属组必须存在chgrp group install.log如果报错"invaild group name",则表示group不存在修改文件和目录的所有者和所属组chown:是change owner的缩写,可以只修改所有者/所属组,也可以一起修改chown [-R] 所有者 文件/目录chown [-R] 所有者

2021-09-01 16:43:15 276

原创 stream里lambda的使用

匿名内部类适用于那些只需要使用一次的类,例如现在存在一个接口,该接口里的方法只会被使用一次,按传统的做法就是专门写一个实现类来重写接口里的方法,这时会显得过于复杂且会生成这个类的.class文件;通过匿名内部类就能简化编程且不会生成.class文件基础语法new 需要实现的接口() | 父类构造器(){ //需要实现的方法或重载父类的方法}public class HelloWorld{ static void info(Programmer programm

2021-08-27 18:23:49 141

原创 kafka2.0

kafka如何保证数据的有序性背景kafka只能保证在一个topic里的同一个分区顺序执行,在不同分区不保证顺序执行假设可以实现多个分区有序,那么如果在消费分区1时堵住,为了保证有序,那么后续的一系列分区将不能被消费,这种情况下,kafka将退化成单一队列,这个跟kafka的追求高吞吐的理念违背,并发性几乎为0,降低系统性能因此kafka只保证单个partition有序(通过加锁的方式)解决方式既然明白只能单个分区保持有序性,那么我们将数据发送到一个分区即可可以指定某个分区,或者书写某个key

2021-07-10 18:00:31 327 2

原创 sql的书写操作

2021-06-23 17:47:37 2700 1

原创 多线程并发3.0

应用背景需要推送30万条数据给用户,但是推送的接口只支持单条推送可以估计一下,30万条数据,一条数据按3s算,大概需要250个小时因此这里考虑使用多线程来进行并发操作,降低数据推送的时间,提高数据推送的实时性设计要点数据推送肯定是不能重复的,因此需要有一个机制来保证各个线程推送数据的隔离思路一:将所有数据放到一个集合里,然后对数据进行切割,每个线程推送不同段的数据代码示例public void test(Map<String,String> phoneMap){ //拆分成1

2021-06-05 14:23:29 252

原创 nginx版本更新

1、下载对应的新版本安装包并解压如果安装包不能直接拉进去需要跨服务器传递则输入以下命令scp -P 22088 文件.zip appuser@ip地址:绝对路径2、将老版本的nginx.conf文件复制到新的nginx里3、查看老版本nginx的编译信息nginx -V4、重新编译./configure --prefix=make/make install5、编译完nginx目录会生成一个objs6、去sbin里执行sudo ./sbin/nginx -t如果重启则sudo ./sb

2021-05-31 16:20:14 259 3

原创 多线程学习

调用run方法和start方法的区别-调用run方法,只有一个main线程,当做普通方法,此时只有main线程一条执行路径-调用start方法,开启多线程,多条执行路径,主线程和子线程并发执行进程和线程-进程,进程是程序的一次执行过程,进程是系统资源分配的最小单位-线程,线程是程序运行的最小单位,多个线程共享同一进程的数据空间,当然线程也有自己的数据空间PS-线程可以堪称是一条独立的执行路径-即使自己没有创建线程,程序运行时也是有多个线程的,例如主线程(main方法)、gc线程(垃圾回收)

2021-05-28 14:18:37 58

原创 linux常用命令

1、cd命令用于切换当前目录,它的参数是要切换到的目录的路径cd /root/Docements 切换到/root/Docements目录eg:/usr/bin$ cd /usr/local从bin切换到local目录cd ./path 切换到当前目录下的path目录中,"."表示当前目录eg: usr/lib$ cd ./file表示从/usr/lib切换到lib下的filecd ...

2021-05-24 18:09:30 62 1

原创 数据库设计的三大范式

2021-05-21 10:57:05 227

原创 oracle表分区详解

概念当表中数量不断增大时,查询速度很很慢,这时候应该考虑对表进行分区表分区之后逻辑上还是一张完整的表,只是将表中数据在物理上存放到多个位置上,这样在查询时不至于每次都扫描整张表优点...

2021-05-21 10:22:52 397

原创 mysql索引

2021-05-19 13:56:39 563 4

原创 过滤器和拦截器

过滤器过滤器只需要实现filter接口就可以使用或者通过@WebFilter注解就可以使用主要包含以下三个方法1)init(),容器启动时,过滤器会初始化且只初始化一次,这个方法必须成功,不然后续无法使用2)doFilter,调用容器中的每一次请求都会调用该方法3)destory(),当容器消息时,过滤器会调用这个方法,可以用来关闭资源,这个方法也只会被调用一次Componentpublic class MyFilter implements Filter { @Override

2021-05-11 10:42:49 94

原创 DNS域名解析过程

https://www.baidu.com不是域名www.baidu.com.才是真正的域名,注意最后一个点号“.”DNS域名服务器分为三种:根域名服务器(.)、顶级域名服务器(.com)、权威域名服务器(baidu.com)当用户在地址栏输入www.baidu.com时,发生以下过程1、浏览器先检查自身缓存里是否有这个域名对应的ip地址,如果有解析结束2、如果浏览器缓存没有,浏览器会解析操作系统中有没有域名对应的ip地址;hosts文件设置3、如果系统缓存没有,则会请求本地域名服务器(LDNS

2021-05-07 17:24:06 128

原创 自定义oracle数据源,连接池为空

问题:### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.tomcat.jdbc.pool.PoolExhaustedException: [http-nio-9090-exec-110] Timeout: Pool empty. Unable to fetch a connection in 3

2021-04-15 17:02:10 393

原创 zookeeper

zookeeper的定义zookeeper通过节点的形式存储并管理各个微服务关心的数据,观察者也在zookeeper上注册节点一旦被观察的节点发生变化,zookeeper就会通知观察者做出相应的反应zookeeper=文件存储系统+监听通知系统...

2021-04-10 11:02:49 184

原创 以war包形式发布项目

1、修改pom文件 <groupId>com.sitech</groupId> <artifactId>identify</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging><dependency> <groupId>org.springfr

2021-04-08 17:36:09 228

原创 消息队列.

消息队列的本质消息队列其实就是一发一存一消费,再直白点它就是一个转发器生产者将消息发到一个叫做队列的容器中,然后再从容器里取出消息,最后再转发给消费者队列:其实就是一个先进先出的数据结构,消息从队尾进,从队头出消息队列的两种模式1)点对点模式(一对一)可以有多个生产者往同一队列里发送消息,也可以有多个消费者接收队列发送的消息但是如果存在多个消费者,那么它们实际上是存在竞争关系的一个消息只能被一个消费者读取,读完这个消息就被删除这就是消息队列里的点对点模式2)发布-订阅模式如何让一个

2021-03-30 14:28:15 192

原创 redis知识点3.0

2021-03-18 17:48:44 478 2

原创 mysql

2021-03-15 10:47:55 751 1

原创 JMM..

2021-03-08 18:11:42 84

原创 synchronized代码实例

1、没有同步情况该程序不会有资源抢占情况,会打印出多种结果public class SynchronizedTest { public void method1(){ System.out.println("Method 1 start"); try { Thread.sleep(100); System.out.println("Method 1 execute"); Thread.sleep(3

2021-03-04 15:41:53 266

原创 以jar包形式发布项目

1、依赖 <groupId>com.dqsj</groupId> <artifactId>bdvo-pc-timer</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging>2、通过maven自带的package功能将项目打包成jar包3、创建bdvopc_timer.sh脚本输入以下内容

2021-02-20 17:15:54 258

原创 修改fdfs的存储位置遇到的bug

把fdfs的data移位到另一个目录,需要修改对应的三个配置storage.conf、tracker.conf、mod_fastdfs.conf因为漏改mod_fastdfs里的store_path0信息导致可以往fdfs存储照片却不能通过浏览器访问[2021-02-03 10:23:05] ERROR - file: fastdfs-nginx-module/src//common.c, line: 870, file: /nginx/fastdfs/data/00/00/rBLmEGAaCPmAIR

2021-02-03 15:28:26 346 2

原创 加上拦截器后swagger2无法访问

security代码//指定url不经过security 认证 @Override public void configure(WebSecurity web) throws Exception { web.ignoring() //前端过滤 .antMatchers("/swagger-ui.html/**") .antMatchers("/v2/**")

2021-01-28 16:04:15 335

原创 FastDFS的相关知识

概念FastDfs是一套高性能的文件服务器集群,可以提供文件上传、下载的服务,它主要包括Tracker Server和Storage ServerTracker Server调度服务器,Tracker Server主要是处理客户端的文件上传、下载请求,再根据客户端的请求通过负载均衡的方式去调度Storage Server里对应的上传、下载服务。客户端通过轮询的方式找到合适的调度服务器Storage Server存储服务器,Storage Server主要是存储文件,Tracker Server通过

2021-01-28 16:03:20 86 2

原创 Elasticsearch的一些重要概念

Elasticsearch是一个分布式全文检索引擎接近实时(NRT)ES是一个接近实时的搜索平台,因此搜索一个文档通常只有一个1s的延迟cluster一个ES集群由一个或多个节点组成,每个节点都会被安排加入到一个叫做“elasticsearch”的集群中node一个节点就是集群中的一个服务器,默认情况下index一个索引就是一个拥有相似特征的文档集合,类似于数据库type类型是索引内部的逻辑分区,一个索引内部可以定义一个或多个类型,类似于表document文档是可被索引的基础信息单元

2021-01-22 15:16:04 115 1

原创 zookeeper的应用场景介绍

1、配置管理实现原理——发布订阅模式1)客户端,即订阅者向zk里某一个节点注册watcher监听2)发布者修改zk上配置节点的相关信息(push模式)3)zk推送watcher事件给订阅者4)订阅者拉取更新监听节点的最新数据(pull模式)2、命名服务...

2021-01-21 11:42:46 96

原创 Eureka和Zookeeper

eureka做注册中心的流程1)注册客户端把自己的ip地址和端口注册到eureka,发生第一次心跳2)更新客户端每30秒发送一次心跳到eureka,告知eureka仍存活,如果eureka在90秒时间内没有接收到更新,那么会把客户端从服务列表上删除3)获取信息客户端每30秒从eureka获取一张服务列表,如果不同则更新4)取消当客户端关机则会发送一个取消的消息给eureka,eureka会把该客户端从服务列表上删除zookeeper的ZAB协议1、消息广播模式(数据同步)1)leade

2021-01-20 18:02:46 97

原创 Java对Excel的读写操作

通过Alibaba的EasyExcel可以实现Excel的操作 <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.1.1</version> </dependency>写操作/

2021-01-19 14:59:52 142

空空如也

空空如也

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

TA关注的人

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