自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

豆腐蛋

学习

  • 博客(10)
  • 收藏
  • 关注

原创 tomcat源码流程

Tomcat9.0.x启动流程1.idea部署tomcat源码1.clone项目2.修改配置修改build.properties.default⽂件中的base.path为当前项目目录base.path=${basedir}/tomcat-build-libs3.编译1.安装ant地址:https://ant.apache.org/下载:apache-ant-1.10.10-bin.zip,配置环境变量后项目下执行命令:ant ide-intellij生成tomcat-build-

2021-07-19 18:43:17 378

原创 ReentrantLock的玩法

首先看下ReentrantLock的构造方法 /** * 无参构造方法默认为非公平锁 */ public ReentrantLock() { sync = new NonfairSync(); } /** * 有参构造方法,true为公平锁,false为非公平锁 */ public ReentrantLock(boolean fair) { sync = fair ? new FairSyn

2020-12-14 16:04:47 133

原创 postgresql-11.5离线安装

公司服务器经常不能关联外网,示例离线安装postgresql-11.5https://www.postgresql.org/ftp/source/v11.5/解压到服务器安装到当然也可以指定文件夹:./configure--prefix=指定目录路径xxx如果出现yum -y install gccyum -y install -y readline-develyum-y install zlib-devel成功后安装make &a...

2020-12-13 17:43:02 533

原创 批量重偏向与批量释放

查看http://hg.openjdk.java.net/jdk8u/jdk8u60/hotspot/file/37240c1019fd/src/share/vm/oops/markOop.hppbiased object注释看得出偏向锁存储的为线程信息。配置参数查看jvm初始批量重偏向与批量撤销的阈值:误区:有时候你发现没有超过阈值发生重偏向:引入: <!-- https://mvnrepository.com/artifact/org.openjdk.jol/jol

2020-12-07 15:24:22 458 5

原创 JOL探索synchronized锁-子路老师

synchronized锁:①锁实例 ②锁对象package com.hx.zbhuang;public class SyncExplore { public void test(){ // 锁住类实例 synchronized (this){ System.out.println("this start"); try { Thread.sleep(2000);

2020-12-06 02:54:06 1484 4

原创 粘包与拆包

粘包: 客户端发送多个数据包被整合一个数据块在一起发送给服务端拆包: 客户端多次发送数据包被整合对个数据块发给服务端,每个数据块可能含有多个包的数据问题示例:客户端实例:package com.hx.zbhuang.netty.stickingAndUnpacking;import io.netty.bootstrap.Bootstrap;import io.netty.channel.ChannelFuture;import io.netty.channel.ChannelIni

2020-12-03 00:47:53 149

原创 探索synchronized偏向锁与重量锁区别-子路老师

安装CentOS-7-x86_64-DVD-1708.iso(见VirtualBox安装)下载操作内核glibc库下载jdk上传到linux配置环境变量exportJAVA_HOME=/usr/local/software/jdk1.8.0_251exportCLASSPATH=${JAVA_HOME}/libexportPATH=$PATH:${JAVA_HOME}/bin如果出现vi /etc/profile值输入export PATH=/usr/...

2020-12-02 23:54:34 1525 15

原创 Oracle VM VirtualBox安装虚拟机

下载iso镜像文件Oracle VM VirtualBox安装虚拟机新建linux系统:分配内存创建虚拟硬盘(别放c盘)创建VHD虚拟硬盘分配空间创建虚拟硬盘设置添加镜像选择注册的镜像设置光驱启动安装选择对应语言选择最小安装(无GUI界面)开启网络开始安装设置密码安装完毕硬盘启动大体流程和windows安装差不多...

2020-12-02 00:21:13 863

原创 RPC调用的简单实现

RPC调用流程流程描述:1.服务调用者发送请求(interface#method#args)2.客户端进行StringEncode编码3.数据写到服务提供者4.服务提供者接受请求5.将接收的包进行StringDecode解码6.服务提供方调用对应api7.服务提供方响应方法调用结果8.服务提供方将结果集进行StringEncode编码9.服务提供方发送结果集包到服务调用者10.服务调用者接受数据包11.服务调用者将数据包进行StringDecode解码

2020-12-01 23:53:34 587 4

原创 java线程对应操作系统线程初步探索

linux操作系统的线程控制:yum -y install man-pagesman pthread_createint pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg);参数 pthread_t *thread 传出参数,调用之后会传出被创建线程的id 定义 pthr

2020-12-01 00:57:38 189

空空如也

空空如也

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

TA关注的人

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