1.布局xml文件 activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_pa…
今天遇到一个需求,某个页面是个动态页面,由多个子组件构成. 之前我们的做法是将N个需要的组件import进主页面,然后引用一下即可.但是现在遇到的问题是, 这个动态页面存在多个业务,有的业务需要某几个组件,有的不需要,不同的业务需要的子组件是不同的.也就是说,如果我把所有需要的子组件全部import进去,就会存在一些用不上的情况,那么这个动态页面就会变成一个大而全的臃肿页面,这个当然是我们不期望看到的. 于是,我就在想是否可以根据我页面上传递的参数去循环出我需要的组件? 首先说下,需求是这个页面…
理解了上述Environment的基本原理后,如何从远程服务器上加载配置到Spring的Environment中. NacosPropertySourceLocator 顺着前面的分析思路,我们很自然的去找PropertySourceLocator的实现类,发现除了我们自定义的GpJsonPropertySourceLocator以外,还有另外一个实现类NacosPropertySourceLocator. 于是,直接来看NacosPropertySourceLocator中的locate方法,…
在此记载Java动态重新加载Class的点点滴滴,实现之前也在网上看了很多文章,但发现不是很清晰,后来发现总结,看源码实现还是最靠谱. 直接上代码: package com.lkb.autoCode.util; import com.lkb.autoCode.constant.AutoCodeConstant; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; /** * Dynami…
Java动态重新加载Class 项目中使用到了动态重新加载Class的机制,作用是让一些代码上线之前可以在线上环境测试一下,当然,这是非常不好的测试机制,我刚来的时候也为这种机制感到惊讶—怎么可以在线上环境运行测试代码!后来经过了解,这么做的原因有以下两个: 有些代码没有办法在本地进行测试,本地没有线上的环境 我们弱到连测试机都没有(这是重点) 既然我们连测试机都没有,那么我就觉得我们的项目其实也没有想象中的重要,这么测就这么测吧~~     之前对ClassLoader没啥概念,google到…
在不少的情况下,我们需要对生产中的系统进行问题排查,但是又不能重启应用,java应用不同于数据库的存储过程,至少到目前为止,还不能原生的支持随时进行编译替换,从这种角度来说,数据库比java的动态性要好得多,而且其随时编译的性能也比其他解释性语言的性能要好的多.虽然如此,我们绝大部分应用都使用java编写,所以还是得尽可能的为随时问题排查做准备,尤其是对于提供行业应用托管的系统来说. 在本文中,主要说下动态重新加载类的实现以及其他替换选择. 默认情况下,当加载了一个类后,再遇到相同的类时,它不会…
esri-leaflet入门教程(5)- 动态要素加载 by 李远祥 在上一章节中已经说明了esr-leaflet是如何加载ArcGIS Server提供的各种服务,这些都是服务本身来决定的,API脚本只是非常简单的调用.但如果要做一列的地图交互操作或者动态渲染等,那就必须使用地图区域跳转.查询结果渲染.动态添加图形等多种交互手段.而这些交互手段基本上离不开一些非服务类型的数据加载,我们可以将其成为动态要素.动态要素一般是在页面端进行动态绘制的. 动态要素这一说法并不是ArcGIS 或者leaf…
最近在做一个树形结构的组件,使用了Vue和element UI中el-tree组件.因为树中每个节点都需要显示一个图标图片,并且需要根据后台传入的数据类型动态地显示,所以图片的路径需要动态地加载.下面是核心组件代码: <el-tree :data="data" class="tree-view" node-key="id" :props="defaultProps" @node-click="click&quo…
1 问题在Android系统中,一个App的所有代码都在一个Dex文件里面.Dex是一个类似Jar的存储了多有Java编译字节码的归档文件.因为Android系统使用Dalvik虚拟机,所以需要把使用Java Compiler编译之后的class文件转换成Dalvik能够执行的class文件.这里需要强调的是,Dex和Jar一样是一个归档文件,里面仍然是Java代码对应的字节码文件.当Android系统启动一个应用的时候,有一步是对Dex进行优化,这个过程有一个专门的工具来处理,叫DexOpt.…
1 问题 在Android系统中,一个App的所有代码都在一个Dex文件里面.Dex是一个类似Jar的存储了多有Java编译字节码的归档文件.因为Android系统使用Dalvik虚拟机,所以需要把 使用Java Compiler编译之后的class文件转换成Dalvik能够执行的class文件.这里需要强调的是,Dex和Jar一样是一个归档文件,里面仍然是Java代码对应的字节码文件. 当Android系统启动一个应用的时候,有一步是对Dex进行优化,这个过程有一个专门的工具来处理,叫DexO…