3 成都瘦西湖

尚未进行身份认证

努力的往前飞,再累也无所谓!

等级
TA的排名 13w+

【git】记一次git操作:本地仓库提了一次,然后远端提了n次,远端提一次本地pull一次,并且本地有很多changes。最后结果如下

如下所示:本地提交了一次(local)之后,远端多次提交,然后远程提交1、2次,本地就pull,最后本地还有一些change,最后结果如下。解决方法:先将本地change stash(stash1)。将本地repo reset(hard)到本地最后一次提交(ab91321532),将本地repo和远端repo分叉后的本地代码剥离出来!将本地repo(此时最新的一次commitId: ab91321532)reset(mixed)到上一次提交(8d69aa),此时本地repo的commit和远端的

2020-05-25 17:27:47

【自我总结 --- 类加载器 的继承关系 】项目中的jar的加载分类(通过类加载器) 【todo ---- 分析项目中的各个模块,通过类加载器隔离的原理!】

结合《深入理解JAVA虚拟机 – 第三版》7.4节来看类加载器架构,三层类加载器:第一层:启动类加载器第二层:扩展类加载器第三层:应用(系统)类加载器*下面分析一个项目中的被上面三种类加载器加载(第三层为应用类加载器及其子类)的jar的分别:如下一个项目中,JDK8加载的jar包有23个,其中bootstrapClassLoader加载目录【jdk1.8.0_65\jre\lib】下的11个,extensionClassLoader加载目录【jdk1.8.0_65\jre\lib

2020-05-23 14:40:41

JVM中:简单名称(simple name)、描述符(descriptpr)、全限定名(fully qualified name)的区别

本文主要参考《深入理解Java虚拟机:JVM高级特性与最佳实践》第三版 ,第6.3.5节全限定名:一个类的所在的包名+类名的组合,比如:java/lang/String简单名称:就是方法名或者字段名,比如String类中的方法名:toString,字段名:serialVersionUID,描述符:对于字段来说就是描述字段的数据类型,对于方法来说就是方法的参数列表(数量、类型及顺序)和返回值。...

2020-05-24 16:55:27

【讲得透传,看它就够了】ThreadPoolExecutor解析【图不错】SynchronousQueue

文章目录**一、【表述非常详尽、易懂】ThreadPoolExecutor解析****二、【图不错】线程池之ThreadPoolExecutor概述**一、【表述非常详尽、易懂】ThreadPoolExecutor解析二、【图不错】线程池之ThreadPoolExecutor概述...

2020-05-23 16:19:43

【newarray CMP anewarray】深入理解JVM虚拟机,发现一个笔误!and 常量在编译后存在于引用类的常量池了,与常量声明的类没关系了!堆内存中实例化一个java.lang.C【】

今天回顾周志明的《深入理解JVM虚拟机》,看到7.2节的时候,讲到代码清单7.2,下面说类:[Lorg.fenixsoft.classloading.SuperClass是由字节码指令newarray触发的,然后就去jvms8上查这个指令并看解释,看到atype只能是下面8中类型之一,比较纳闷,去网上查了下资料,原来newarray只是用于创建基本数据类型(的包装类)的数组,引用类型的数组使用anewarray创建。另外还有个创建爱你多为数组的字节码指令:multianewarray...

2020-05-22 19:18:07

【讲得非非非非常好 --- 必须看懂】HTTPS 和 证书

一、HTTPS 和 证书

2020-05-16 14:34:06

【注意看图 - 必须理解】Java高并发系列之Java内存模型, 八种基本操作以及安全同步规则

一、Java高并发系列之Java内存模型, 八种基本操作以及安全同步规则

2020-05-14 20:29:10

【sql基础感悟总结】update... set....where...中的set是动词:设置的意思!!!

符号约定:r: 关系(表名)a:属性(列名)d:约束域(定义表模式时对列的取值约束)v:属性值(insert等时候的属性值)P: 谓词属性元组:多个属性的序列,比如(name,age, height)属性值元组:一行数据的部分或者所有属性值的序列,比如(“tom”, 18, 180)下面总结DDL(增、删、改表),DML(增、删、改、查 元祖[数据行]】)一、DDL(增、删、改表)[比较简单、不像select花样多]1.1 增 create table r ( a1 d1,

2020-05-14 10:23:29

【总结 -- 感悟】各种与接口相关的抽象: 面向接口编程,动态代理,人类社会!

1、面向接口编程下图中,通常暴露给调用者的jar(maven 组件)中是一些接口,然后左下方是接口的实现类2. 动态代理、单元测试框架mockito下面方法就是对传入的接口类 数组的所有抽象方法进行代理(实现)。public static Object newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h)3、人类开飞机人开车,只需知道各个按钮的作用就行,不需要知道具体后台

2020-05-13 15:18:00

【熟悉】JAVA 关键字及其作用解释

一、JAVA 关键字及其作用解释访问控制private 私有的private 关键字是访问控制修饰符,可以应用于类、方法或字段(在类中声明的变量)。 只能在声明 private(内部)类、方法或字段的类中引用这些类、方法或字段。在类的外部或者对于子类而言,它们是不可见的。 所有类成员的默认访问范围都是 package 访问,也就是说,除非存在特定的访问控制修饰符,否则,可以从同一个包中的任何类访问类成员。protected 受保护的protected 关键字是可以应用于类、方法或字段(

2020-05-13 14:34:00

【了解】JVM之压缩指针——Compressed oops

文章目录[**一、JVM之压缩指针——Compressed oops**](https://blog.csdn.net/liuxiao723846/article/details/91981757)**二、JVM优化之压缩普通对象指针(CompressedOops)**一、JVM之压缩指针——Compressed oops二、JVM优化之压缩普通对象指针(CompressedOops)什么是 OOP ?OOP = “ordinary object pointer” 普通对象指针。启用Compres

2020-05-13 10:05:46

【入门很不错,看我摘要关键知识点】

一、撒的发注解的属性(“无形参的方法”形式来声明)注解的属性也叫做成员变量。注解只有成员变量,没有方法。注解的成员变量在注解的定义中以“无形参的方法”形式来声明,其方法名定义了该成员变量的名字,其返回值定义了该成员变量的类型。@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)public @interface TestAnnotation { int id(); String msg();}上面代码定义了

2020-05-13 09:25:08

java文件编译过后的class文件就和源文件中的import没有任何关系了

其实Java的import“语句”并没有任何关联的运行时行为;import并不导致类的加载。它的存在纯粹是为了方便写代码,让大家可以把别的package的“名字”引入到当前源码文件里直接用。在Java源码编译器进行编译时,每个名字都会经过解析(resolution)找到其全名(canonical form),例如说String会被编译器识别为java.lang.String。最后生成到Class文件时就只使用全名来引用各种类啊接口啥的了。等到Class文件交给JVM的时候,JVM根本看不到啥“import语

2020-05-10 11:36:41

【翻译】jvms8指令:istore_n【栈帧的本地变量表大小在编译时已决定】【翻译本地变量数组相关】

**istore_<\n> **描述:<\n>是一个索引值,且必须包含在本地变量数组的索引集合中(比如:本地变量表的大小为4,那么n的取值范围为[0,3]),操作数栈的顶部元素必须为int类型的。栈顶的元素被弹出并被设置到本地变量表索引为n的位置。**注意:**每一个指令:istore_n等效于istore n,除了istore_n中操作数n是隐式的!引申: 2.6 栈帧:...

2020-05-10 11:02:37

【顺利变基后分支 还是曾经那条直线, 不会分叉,】【变基实现方式并不是合并,而是重放】Git中的变基(Rebase)

Git中的变基(Rebase)背景介绍VCS(版本管理系统)是我们开发中每天都会打交道的基础开发系统,当前使用最为广泛的非SVN和GIT两者莫属,两者分别代表了CVCS(集中式版本管理系统)和DVCS(分布式版本管理系统)。两者具体的区别网上有大量的文档,可以自行google和bing。作者之前一直使用的是SVN,既CVCS的一种,这种系统的操作较为简单明了(也可能是之前习惯了)。而现在转为使用Git后,由于Git中引入了本地仓库、暂存区,使得开发中的常用操作从两点(远程仓库、工作空间)间的操作扩展为

2020-05-09 15:56:32

java中局部变量在编译后和运行时有名字吗?【结合jvm -v3 8.5节例子一起看!】

Q:对于局部变量 int a=9;我查看编译后的class文件发现无论是在常量池中还是在方法的code属性中都没有发现该变量的名字 “a”,那9又是如何赋值给这个变量呢?对于局部变量 int a=9;我查看编译后的class文件发现无论是在常量池中还是在方法的code属性中都没有发现该变量的名字 “a”,那9又是如何赋值给这个变量呢?正常javac之后的class字节码文件javap -l之后形如:public class LocalVariablesTest { public LocalVar

2020-05-09 14:27:54

【java 对象-类 等词汇】

类对象:静态方法(类方法)就在里面,独一份。实例对象:一般方法(实例方法,动态方法?)在里面,调用方法前需要生产一个实例对象!!!!

2020-05-09 11:18:26

【必看!!{看了一遍}!!能运行---定时任务框架Quartz-(一)Quartz入门与Demo搭建】【了解下】@DisallowConcurrentExecution 注解的用法

@DisallowConcurrentExecution 注解的作用Understanding the DisallowConcurrentExecution Job AttributeI’ve already mentioned it a couple of times but I’ll mention it one more time, as it is the most common m...

2020-05-07 10:52:56

【看优秀框架源码,能熟悉设计模式,反射等通用思想】Retrofit分析-漂亮的解耦套路

一、Retrofit分析-漂亮的解耦套路

2020-05-07 10:51:01

SQL语言delete,drop,truncate的区别 and DML, DDL, DCL的区别

一、drop,truncate,delete都可以删除表内容,要想很清楚地区分这几个区别,要从下面几点入手:1. 语言DROP: 属于DDL语言;TRUNCATE:属于DDL语言;DELETE: 属于DML语言。2. 删除对象DLELTE: 删除表中一条或多条记录,只删除记录保留表的结构(删除的是记录);TRUNCATE: 删除...

2020-05-06 16:55:50

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。