自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 spring原生jdbcTemplate用起来有多爽

spring原生jdbcTemplate用起来有多爽分析使用方式第一步,直接就开始开发JdbcTemplateProxy第二步,配置Datasource和JdbcTemplateProxy用起来 现在相比大部分的java开发工作者连接数据库最多的就是使用hibernate和mybatis,直到前段时间我接触到了某些大佬的项目,发现jdbcTemplate真的很好用。 分析 从最开始,我就对hibernate和mybatis非常的不满,但是奈何水平有限,没办法自己开发一个框架,无奈用着mybatis。我个人认

2021-03-19 20:21:54 686

原创 https

https握手过程 浏览器向服务器发起https握手请求,发送数据包括了浏览器端支持的加密算法和压缩算法列表 服务端接收到请求之后,从浏览器支持的加密算法中选择一种加密算法和压缩算法,将选择的算法和CA证书(证书颁发机构,证书有效期,过期时间,公钥,数字签名)信息一起返回给浏览器端 注: 公钥:公钥是非对称加密使用的公钥,服务端持有私钥 数字签名,根据发送报文段生成的hash值,用来保证发送...

2019-09-03 00:16:49 437

原创 docker部署项目

docker部署项目 一个项目必然包含数据库、后台、前端。 我的项目是mysql+springboot+vue,这篇blog是整个项目docker部署的笔记。 docker docker是一套开源的应用容器引擎,我们可以使用docker创建虚拟环境,在虚拟环境中安装应用,运行应用程序,运行数据库等等可以在真机上进行的操作。它就相当于是一个运行在真机上的虚拟环境,但是可以通过真机提供外部对其的访问。...

2019-08-07 20:44:09 172

原创 索引失效情况

索引失效 注:索引列无法存储null值,与null值有关的操作都不会使用索引 语句中有or,且or的条件中有非索引字段,索引失效 例如: id为索引列,name字段未建索引,以下语句不使用索引 selsect * from A where id=1 or name="test" 符合索引中未用最左列主索引字段 例如,建索引时(id,name,number) 使用时,不使用id,则不会使用索...

2019-07-17 14:12:48 134

原创 Redis

Redis Redis概述 基于内存的nosql数据库,只支持linux系统,多用于做缓存、排行榜、计数器、分布式回话、分布式锁等等。 与memcache的区别 持久化:支持数据持久化(AOF追加和RDB快照),redis缓存有备份存在硬盘上;memcache数据都存在内存中,断电之后会挂掉 存储类型:redis支持string、list、set、map、sorted set多种数据存储类型;me...

2019-07-12 17:05:43 97

原创 zookeeper

Zookeeper Zookeeper概述 zookeeper是一个开源的分布式应用协调服务,是集群的管理者,监视集群中各个几点的状态,根据节点的状态变化做出相应。主要提供分布式解决方案,如统一命名、状态同步(分布式锁)、集群管理(分布式服务注册中心)、分布式应用配置等等 zookeeper角色 leader:负载投票、决议、更新系统状态 Follower:接受客户请求并向客户端返回结果,在选le...

2019-07-12 15:43:40 78

原创 Nginx

nginx nginx的作用 保护真实web服务器,不直接暴露接口给前端,保证了web服务器的资源安全 节约有限的IP地址资源 企业内所有的网站共享一个在internet中注册的IP地址,分配私有地址,节约公网IP 减少web服务器的压力,提高响应速度 在外部网络和web服务器之间增加了一个高速的web缓冲服务器,也就是nginx服务器。 后台服务分布式情况下,nginx服务器可以对请求进行负载...

2019-07-12 15:01:43 84

原创 学习问题记录

分布式ID生成 UUID UUID是16字节128位长的数字,通常以36字节的字符串表示,示例如下: 3F2504E0-4F89-11D3-9A0C-0305E82C3301 UUID的生成基于多项客观因素,如时间等,所以可以保证全局唯一性。 缺点:无法保证ID自增。而且因为随机生成,mysql的B+树索引,在入库的时候会有很多节点分裂的相关操作,降低性能。 数据库自增 基于数据库的Aut...

2019-07-08 20:59:30 112

原创 java面试问题总结

面经美团SpringJVM数据库redis消息队列java多线程 美团 Spring AOP原理 动态代理有哪些,之间有什么区别 JDK动态代理只能通过实现接口么,可以用继承么 JVM 什么情况会栈溢出 垃圾回收机制 4种引用,软引用有什么用,使用场景 OOM错误如何查错与解决 数据库 关系型数据库和非关系型数据库的区别 mysql的数据库引擎,InnoDB和Myisam的区别及应用场景...

2019-04-22 13:20:54 218

原创 CopyOnWriteArrayList

CopyOnWriteArrayListget()方法set()方法 小渣渣,如有什么问题欢迎指正。 JDK版本1.8 get()方法 CopyOnWriteArrayList中的get方法 private transient volatile Object[] array; public E get(int index) { return get(getArray(), index);...

2019-04-15 17:46:55 128

原创 指令重排序及可见性问题

指令重排序及可见性问题指令重排序概念重排序的情况可见性问题CPU层面的问题具体实现:内存屏障x86架构的内存屏障编译器层面的问题 小渣渣,如有问题,欢迎指正。 指令重排序 概念 指令重排序,顾名思义,就是对指令的执行顺序重新进行排序。 举个例子 test{ A(); B(); C(); …… } 加入一个这样的方法,执行过程为A(),B(),C(),而且这3个指令互不影响,相互隔离。 ...

2019-04-15 16:25:09 1252

原创 DNS协议

DNS协议DNS协议DNS的查询DNS域名层级 小渣渣,如有什么问题欢迎指正。 DNS协议 你连上网了,输入www.baidu.com,你跳到了百度页面,为啥呢,你输入的又不是MAC地址+IP地址+端口号,怎么告诉的百度服务器你想访问它,并且它还让让你访问了呢? 这就是DNS服务器的功劳,当你访问www.baidu.com时,会xiangDNS服务器发出请求,DNS服务器会查询百度的IP地址的相关...

2019-04-14 21:01:16 453

原创 寻址及DHCP协议

网络相关其它问题数据包发送寻址用互联网静态IP动态IP 小渣渣,如有什么问题欢迎指正。 数据包发送寻址 由网络4层模型知道,发送数据宝必须有两个地址: 目标MAC地址 目标IP地址 有着两个地址,数据包才能准确的到达目标地。 但是在另一篇blog4层网络模型中说到,只有在同一子网络中的时候,才能用ARP协议来获取目标主机的MAC地址,如果不在同一子网络,就无法知道目标主机的MAC地址。不在同一子...

2019-04-14 20:31:22 480

原创 四层网络模型及相关协议

4层网络及相关协议互联网分层数据链路层以太网协议网络层为什么会有网络层IP协议ARP协议传输层为什么会有传输层UDP协议TCP协议应用层 小渣渣,如有什么问题欢迎指正。 互联网分层 互联网分层有很多种,常见的有两种一种是ISO/OSI七层模型和TCP/IP四层模型,对于常用协议的介绍,我根据TCP/IP模型来介绍。 TCP/IP网络模型分为四层,分别为应用层、传输层、网络层、数据链路层。 数据链路...

2019-04-14 20:05:26 2080

原创 JVM内存布局

JVM内存布局内存布局 小渣渣,如有什么问题欢迎指正。 内存布局 程序计数器:当前线程所执行字节码的行号指示器,线程私有。 并发过程中,线程会被阻塞,当被阻塞后获取资源后,通过行号指示器知道运行到了哪一行。 方法区(永久代):JVM中类的元数据在Java堆中的存储区域,线程共享。 Java类对应的HotSpot虚拟机中的内部表示也存储在这里,类的层级信息,字段,名字,方法的编译信息及字节码,变...

2019-04-13 23:22:37 294

原创 高并发

多线程多线程实现方法1. 继承Thread类2. 实现Runnable接口3. 实现Callable接口4. 使用Executor框架创建线程线程运行方法中的start()和run()的区别 多线程实现方法 1. 继承Thread类 通过Thread源码可以看到Thread类实现了Runnable接口,代表一个线程的实例。实现Thread接口时,需要重写run()方法。 启动方法为start()方...

2019-04-13 23:20:37 133

原创 单例模式及线程安全

单例模式及高并发单例模式饿汉模式懒汉模式双重检查锁类内静态方法 单例模式 单例模式即整个进程中只存在一个实例对象,所有线程共用同一个实例对象 饿汉模式 所谓饿汉,即非常饥饿,一开始就需要食物,也就是说对象实例在编译过程中类加载时就创建实例。 public class Single { private static Single instance = new Single(); pr...

2019-04-13 18:56:44 81

原创 JVM垃圾回收

JVM虚拟机内存布局GC什么时候触发YGC什么情况触发FGC 小渣渣,如有什么问题欢迎指正。 内存布局 程序计数器:当前线程所执行字节码的行号指示器,线程私有。 并发过程中,线程会被阻塞,当被阻塞后获取资源后,通过行号指示器知道运行到了哪一行。 方法区(永久代):JVM中类的元数据在Java堆中的存储区域,线程共享。 Java类对应的HotSpot虚拟机中的内部表示也存储在这里,类的层级信息,...

2019-04-13 17:40:35 98

空空如也

空空如也

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

TA关注的人

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