类加载的生命周期
发表于|更新于
|浏览量:
类加载的生命周期是从类被加载到内存开始,知道卸载出内存为止。整个生命周期分为7个阶段:加载,验证,准备,解析,初始化,使用,卸载。其中,验证,准备,解析三部分统称为连接,具体步骤如下图所示
文章作者: 无知的小狼
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 无知的小狼!
相关推荐
2019-06-30
如何把码云上的项目克隆到本地,以及本地如何提交到远程的码云仓库
由于刚刚接触码云不久,github几乎也没有使用过。所以在操作git的过程中还是碰到了一些问题。现在把这些问题拿出来和大家分享一下。 1、在码云上新建一个项目。 2、拿到的地址类似于: 1git@gitee.com:------git 3、在gitbash中进行clone,将服务器端的项目检出 12git clone git@gitee.com:------git 上面的地址 4、检出的项目就有了.git这个这个文件夹。和svn的操作类似。在你检出的目录就是你本地的repository。5、代码进行修改,或者新增文件之后执行 1git init 初始化你的项目 6、声明用户名 1git config --global user.name "xxx",谁修改的 7、声明邮箱 1git config --global user.emali "xx@xx.com 码云账号 8、然后就是必须要执行的操作了 1git add . 不要忘记".";添加到仓库 9、 1git commit -m '内容' 解释提交代码 1...
2019-06-30
lambda表达式的map和flatmap的区别
map: 对于Stream中包含的元素使用给定的转换函数进行转换操作,新生成的Stream只包含转换生成的元素。这个方法有三个对于原始类型的变种方法,分别是:mapToInt,mapToLong和mapToDouble。这三个方法也比较好理解,比如mapToInt就是把原始Stream转换成一个新的Stream,这个新生成的Stream中的元素都是int类型。之所以会有这样三个变种方法,可以免除自动装箱/拆箱的额外消耗; map方法示意图: flatMap:和map类似,不同的是其每个元素转换得到的是Stream对象,会把子Stream中的元素压缩到父集合中;flatMap方法示意图:
2019-06-30
redis的安装和一些常用的配置
首先推荐一下redis的中文网站:http://www.redis.cn。 123456789101112131415161718192021222324252627282930313233343536373839--下载源码包$ wget http://download.redis.io/releases/redis-4.0.6.tar.gz --解压$ tar -zxvf redis-4.0.6.tar.gz--到解压目录$ cd redis-4.0.6--编译$ make--到src目录将下面三个文件copy$ cd /usr/local/redis-4.0.6/src$ mkdir /usr/local/redis4/ $ cp redis-server /usr/local/redis4/ $ cp redis-benchmark /usr/local/redis4/ $ cp redis-cli /usr/local/redis4/--进入上一级目录将redis.conf也copy到redis4$ cd ..$ cp redis.conf /u...
2019-09-07
今天写一篇教程
废话不多说,首先登陆你的服务器,putty之类的 依次运行以下命令123wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.shchmod +x shadowsocks-all.sh./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log 出现找不到weget的提示的时候123wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.shchmod +x shadowsocks-all.sh./shadowsocks-all.sh 2>&1 | tee shadowsocks...
2019-06-30
建造者模式
建造者模式(Builder Pattern) 也叫生成器模式,其定义如下:Separate the construction of a complex object from its representation so that the same construction process can create different representations.(将一个复杂对象的构建与他的表示分离,是得同样的构建过程可以创建不同的表示。)在建造者模式中,有如下4个角色: Product产品类通常是实现了模板方法模式,也就是有模板方法和基本方法。 Builder抽象建造者规范产品的组件,一般是由子类实现。例子中的CarBuilder就属于抽象建造者。 ConcreteBuilder具体建造者实现抽象类定义的所有方法,并且返回一个组建好的对象。 Director导演类负责安排已有模块的顺序,然后告诉Builder开始建造,在上面的例子中就是我们的老大,xx公司找到老大,说我要这个或那个类型的车辆模型,然后老大就把命令传递给我,我和我的团队就开始拼命的建造,于是一个项目建设完毕了...
2019-06-30
分享一个很有意思的异常
有这样一段代码: 12345678910111213try{ pageQueryResult = customerInfoImpl.getCustomList(customRequese,pageIndex,pageSize); if(pageQueryResult==null){ Exception.throwCommonException(CustomerInfoImpl.error); }}catch (Exception e){ e.printStackTrace();}``` 这里面 Exception.throwCommonException(CustomerInfoImpl.error);是自定义的弹框异常,捕捉到这个异常之后会有错误的弹框提醒,错误信息是CustomerInfoImpl.error但是实际的运行情况是执行完try之后,然后执行的是catch,然后抛出的异常就变成e.printStackTrace();显示的异常信息就变成了平台异常,没有捕捉到正确的...
评论
