- 博客(20)
- 收藏
- 关注
原创 ThreadLocal原理以及使用
对threadLocal的实现的阅读使用方式以及理解Set部分,包含创建 ThreadLocal<Integer> threadLocal = new ThreadLocal<>(); threadLocal.set(1);1,threadLocal这种存储方式,内部只能存放一个引用(引用可以指向容器,比如map,或者integer这种单个的)2,thre...
2019-01-23 01:58:17
254
原创 java面试题总结
面试题总结JAVA基础1,arraylist和linkedlist区别 一个底层实线是数组,一个是链表 数组是连续性的,所以读很快,但是如果写的话,就涉及到扩容,复制再写,就会比较慢链表是随机的,读比较慢,但是写因为不用扩容,所以很快2,String,Stringbuffer,StringBuilder 的区别 string是常量,定死的,不能更改的 stringbuffe...
2019-01-06 02:03:02
263
4
原创 一致性协议:2PC与3PC简介
一致性协议:2PC与3PC 复习zookeeper书内容2PC-绝大部分关系型数据库都采用二阶段提交协议来完成分布式事物的处理阶段一:提交事物请求 阶段二:执行事物提交存在的缺点:同步阻塞,单点问题(如果某个协调者出问题,会锁定事物资源),没有容错机制,协调者要是在二阶段执行一半挂了,会出现部分commit,部分没有,数据buyiz3PC-三段式提交,二阶段式改进版 把提交事...
2018-07-23 11:12:38
217
原创 代码混淆简介(安卓gradle情况下用法)
把以前做安卓的东西记录一下 目录 1 反编译 1.1 软件下载地址: 1.2 使用流程: 2 代码混淆 2.1 代码混淆概念 2.2 混淆方法 2.3 混淆模版 2.4 混淆前后对比 2.5 附加说明 1 反编译 学会反编译,查看源码,才知道代码混淆是否成功. 1.1 软件下载地址:http://www.newasp.net/soft/704...
2018-07-16 23:21:59
1020
1
原创 git
http://blog.csdn.net/a19881029/article/details/42245955git add流程:!!!!! 1,git fetch -p 2,git branch -av 3,git merge id号!! Git 使用 SHA-1 算法计算的哈希值0.1, git status 状态:modified的文件用来添加 0.2 git diff...
2018-06-27 01:00:39
181
原创 svn
把以前工作中用到的svn从有道云搬来这边存档svn checkout http://xx.xxx.xxx/xx/xxx 下载整个到本地 svn –username=yourname co svn_path local_path 带用户名密码的下载svn add 添加到svn版本库中svn upsvn commit 文件 文件 文件 -m’….’...
2018-06-27 00:58:37
368
原创 类的热编译+热加载的功能
类加载机制实践系统调用一个class,比如xx.class去查看xx类的信息的时候: 1,loadClass,先在loadedClass里找,找不到,就交给父类去load试试,如果父类还是找不到(返回null),就去调用findClass试试 2,findClass去找未加载进内存的.class方法,如果找到了,就做defineClass的步骤,把它加载进内存 3,defineClass...
2018-04-23 02:30:29
1505
原创 多线程相关
读java并发编程的艺术,记录各种关键字以及概念CAS算法campare and swap,比较并交换算法。比较旧值有没有更改,没有,才放入新值。面临的问题/隐患 ABA问题,比较的旧值是A,写入值是B,当前值虽然是A,但是实际上是A-&gt;B-&gt;A,第三个A了,而不是第一个A。针对这种情况,在变量前追加版本号来解决。针对多个变量的情况,就不能用CAS,要用锁...
2018-04-22 23:57:17
146
原创 编译器优化,运行时优化
读深入理解JAVA虚拟机 第十,十一章,记一下内容编译器优化,运行时优化虚拟机设计团队把对性能的优化集中到了后端的即时编译器中,这个可以让那些不是由javac产生的class文件有(比如其他语言编译的class文件)也享受到编译器优化带来的好处。但是javac做了许多针对java语言编码过程的优化措施,来改善程序员的编码风格和提高编码效率,相当多的新生的java语法特性,都是靠编译器通...
2018-04-16 02:05:48
1244
原创 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
141
原创 虚拟机字节码执行引擎
读深入理解JAVA虚拟机 第八章,记一下内容虚拟机字节码执行引擎概述执行引擎在执行java代码的时候会有解释执行(通过解释器执行)和编译执行(通过即使编译器产生本地代码执行)两种选择,也可能两者兼备。运行时栈帧结构每一个栈帧都包括了局部变量表,操作数栈,动态连接,方法返回地址和一些额外的附加信息。 1,每个栈帧需要分配的内存大小,都是在编译代码的时候就已经确定并且写入...
2018-04-15 04:28:33
119
1
原创 虚拟机类加载机制
读深入理解JAVA虚拟机 第七章,记一下内容虚拟机类加载机制概述 虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的java类型。这就是虚拟机的类加载机制在java语言里,类型的加载,连接和初始化过程都是在程序运行期间完成的。这种策略会令类加载时稍微增加一些性能开销,都是会为java应用程序提供高度的灵活性。java里天...
2018-04-14 15:03:12
104
原创 垃圾收集器与内存分配策略
读深入理解JAVA虚拟机 第二三章,记一下内容垃圾收集器与内存分配策略判断对象是否没有被引用的方法:1,引用计数算法,每当有地方引用,就+1,引用失效,就-1;,计数器为0就表示不能再被使用; 问题:不能解决对象之间的循环引用 2,可达性分析算法 Reachability Analysis,主流语言都使用它,做法:通过一系列称为“GC Roots”的对象作为起始点,从这些节点开始向下...
2018-04-12 00:25:23
99
原创 Java虚拟机所管理的内存的结构
读深入理解JAVA虚拟机 第二章,记一下内容Java虚拟机所管理的内存将会包括以下几个运行时数据区域:方法区 Method Area; 虚拟机栈 VM Stack ; 本地方法栈 Native Method Stack 堆 Heap ; 程序计数器Program Counter Register 1,程序计数器Pr...
2018-04-11 02:01:35
136
原创 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
600
原创 web请求过程,DNS, CDN
看深入分析javaweb技术内幕,做个摘抄总结B/S(Browser/Server)网络架构,基于统一的应用层协议HTTP来交互数据,HTTP采用无状态的短连接的通信方式,通常情况下,一次请求就完成了一次数据交互,也对应一个业务逻辑。然后连接就断开了。这种情况下,相比长链接,服务器能够同时服务更多的用户。B/S架构大多要求满足海量用户的访问请求,同时保持用户请求的快速响应。请求流程...
2018-04-08 19:41:09
964
原创 fastJson看书记录
看了阿里的逆流而上,里面提到的fastJson的坑,记录一下 what happen:"hidden":{"xx":true;"xxx":true}"hidden":trueclass a{ private Hidden hidden; private boolean status; public boolean isHidden{ ...
2018-04-08 10:54:36
193
原创 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
3318
原创 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
2440
原创 对paxos算法的理解
相关名词解释CAP定理:C:Consistency,一致性,指数据在多个副本之间,能够保持一致性(强一致性,一旦更新,用户不会再读到旧的数据),(最终一致性,更新以后,一段时间内,用户还是会读到旧的数据,但是最终一定会更新到新数据) A:Available,可用性,系统提供的服务必须一直处于可用状态,在有限的时间内给用户返回结果 P:Partition Tolerance,分区容错...
2018-04-03 01:38:14
185
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人