自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

。。。。

。。。。

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

原创 类的热编译+热加载的功能

类加载机制实践 系统调用一个class,比如xx.class去查看xx类的信息的时候: 1,loadClass,先在loadedClass里找,找不到,就交给父类去load试试,如果父类还是找不到(返回null),就去调用findClass试试 2,findClass去找未加载进内存的.class方法,如果找到了,就做defineClass的步骤,把它加载进内存 3,defineClass...

2018-04-23 02:30:29 1514

原创 多线程相关

读java并发编程的艺术,记录 各种关键字以及概念 CAS算法 campare and swap,比较并交换算法。比较旧值有没有更改,没有,才放入新值。 面临的问题/隐患 ABA问题,比较的旧值是A,写入值是B,当前值虽然是A,但是实际上是A->B->A,第三个A了,而不是第一个A。针对这种情况,在变量前追加版本号来解决。 针对多个变量的情况,就不能用CAS,要用锁...

2018-04-22 23:57:17 157

原创 编译器优化,运行时优化

读深入理解JAVA虚拟机 第十,十一章,记一下内容 编译器优化,运行时优化 虚拟机设计团队把对性能的优化集中到了后端的即时编译器中,这个可以让那些不是由javac产生的class文件有(比如其他语言编译的class文件)也享受到编译器优化带来的好处。 但是javac做了许多针对java语言编码过程的优化措施,来改善程序员的编码风格和提高编码效率,相当多的新生的java语法特性,都是靠编译器通...

2018-04-16 02:05:48 1253

原创 HashMap小记

HashMap小记 基于jdk1.8版本的 初始化 默认初始化参数是16,负载因子是0.75的情况下,初始化的容量就是 16*0.75= 12 也就是说在放入第13个数据的时候,就会进行扩容到16*2等于32 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16 transie...

2018-04-15 21:50:31 148

原创 虚拟机字节码执行引擎

读深入理解JAVA虚拟机 第八章,记一下内容 虚拟机字节码执行引擎 概述 执行引擎在执行java代码的时候会有解释执行(通过解释器执行)和编译执行(通过即使编译器产生本地代码执行)两种选择,也可能两者兼备。 运行时栈帧结构 每一个栈帧都包括了局部变量表,操作数栈,动态连接,方法返回地址和一些额外的附加信息。 1,每个栈帧需要分配的内存大小,都是在编译代码的时候就已经确定并且写入...

2018-04-15 04:28:33 129 1

原创 虚拟机类加载机制

读深入理解JAVA虚拟机 第七章,记一下内容 虚拟机类加载机制 概述 虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的java类型。这就是虚拟机的类加载机制 在java语言里,类型的加载,连接和初始化过程都是在程序运行期间完成的。这种策略会令类加载时稍微增加一些性能开销,都是会为java应用程序提供高度的灵活性。java里天...

2018-04-14 15:03:12 112

原创 垃圾收集器与内存分配策略

读深入理解JAVA虚拟机 第二三章,记一下内容 垃圾收集器与内存分配策略 判断对象是否没有被引用的方法: 1,引用计数算法,每当有地方引用,就+1,引用失效,就-1;,计数器为0就表示不能再被使用; 问题:不能解决对象之间的循环引用 2,可达性分析算法 Reachability Analysis,主流语言都使用它,做法:通过一系列称为“GC Roots”的对象作为起始点,从这些节点开始向下...

2018-04-12 00:25:23 107

原创 Java虚拟机所管理的内存的结构

读深入理解JAVA虚拟机 第二章,记一下内容 Java虚拟机所管理的内存将会包括以下几个运行时数据区域: 方法区 Method Area; 虚拟机栈 VM Stack ; 本地方法栈 Native Method Stack 堆 Heap ; 程序计数器Program Counter Register 1,程序计数器Pr...

2018-04-11 02:01:35 143

原创 javaweb常见编码类型以及使用场景

参考深入分析javaweb技术内幕第三章 常见编码类型 1,ASCII码: 单字节编码,共128字符,用1个字节的低七位表示,0-31是控制字符如换行,回车,删除等,32-126是打印字符,可以通过键盘输入并且能够显示出来 2,ISO-8859-1 在ASCII码基础上扩展的编码,包括ISO-8859-1到ISO-8859-15,其中ISO-8859-1涵盖了大多数西欧字符,所以应用...

2018-04-09 14:06:59 616

原创 web请求过程,DNS, CDN

看深入分析javaweb技术内幕,做个摘抄总结 B/S(Browser/Server)网络架构,基于统一的应用层协议HTTP来交互数据,HTTP采用无状态的短连接的通信方式,通常情况下,一次请求就完成了一次数据交互,也对应一个业务逻辑。然后连接就断开了。这种情况下,相比长链接,服务器能够同时服务更多的用户。 B/S架构大多要求满足海量用户的访问请求,同时保持用户请求的快速响应。 请求流程...

2018-04-08 19:41:09 976

原创 fastJson看书记录

看了阿里的逆流而上,里面提到的fastJson的坑,记录一下 what happen: "hidden":{ "xx":true; "xxx":true } "hidden":true class a{ private Hidden hidden; private boolean status; public boolean isHidden{ ...

2018-04-08 10:54:36 201

原创 Zookeeper 初始化以及get,set,监听

1,安装zookeeper 2,在目录和环境变量上做对应配置,太多了,懒得写 3,D:\zookeeper\zookeeper-3.4.10-1\conf里的zoo.cfg(一开始是sample)改成对应的参数 dataDir=D://zookeeper//zookeeper-3.4.10-3//bin//data clientPort=2181 默认是2181,也可以写成其他的,一台电...

2018-04-07 02:20:05 3378

原创 zookeeper相关create以及ACL权限

客户端 初始化zookeeper 创建zookeeper节点 api: create(final String path, byte data[], List<ACL> acl, CreateMode createMode); 使用方式 String returnPath = zooKeeper.create(path, "data".get...

2018-04-06 03:16:13 2455

原创 对paxos算法的理解

相关名词解释 CAP定理: C:Consistency,一致性,指数据在多个副本之间,能够保持一致性(强一致性,一旦更新,用户不会再读到旧的数据),(最终一致性,更新以后,一段时间内,用户还是会读到旧的数据,但是最终一定会更新到新数据) A:Available,可用性,系统提供的服务必须一直处于可用状态,在有限的时间内给用户返回结果 P:Partition Tolerance,分区容错...

2018-04-03 01:38:14 199

空空如也

空空如也

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

TA关注的人

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