java学习笔记6.04正则表达式和反射机制

[TOC]
今天学习简单的用户界面遇到了invalid param in a LinerLayout :layout_weight;问题
这里写图片描述
解决方法:应该是LinearLayout
另外一种布局RelativeLayout没有layout_weight属性

正则表达式

  • 匹配”\”时候需要四个“\”
    “\”.matches(“\\”);

Pattern p = Pattern.compile(“[a-z]{3}”);
//字符串是否匹配p的模式
Matcher m = p.matcher(“das”);
//打印出结果
p(m.matches());
//等同于p(“das”.matches(“[a-z]{3}”));
正则表达式引擎不回退,matches()会从开始匹配影响到m.find()方法。需要使用m.reset()回退消除影响。另外m.lookingAt()每次都会从最开始查找。

start()和end()方法输出找到字符串的开始和结束位置。

反射机制

一个class文件通过ClassLoader加载到内存中的CodeSegment区域中,运行环境找到main方法开始执行,运行过程中会有其他的class文件不但的load到内存中

加载机制

  • 动态加载,并非全部加载,用到才加载
  • 静态语句块:只能调用一次用static修饰
    class C {
    static {
    }
    }
  • 动态语句块:可以调用多次
    class D {
    {
    }
    }

ClassLoader

ClassLoader主要对类的请求提供服务,当JVM需要某类时,它根据名称向ClassLoader要求这个类,然后由ClassLoader返回这个类的class对象。
1.1 几个相关概念ClassLoader负责载入系统的所有Resources(Class,文件,来自网络的字节流等),通过ClassLoader从而将资源载入JVM
每个class都有一个reference,指向自己的ClassLoader。Class.getClassLoader()

  • JDK内置的ClassLoader
    1.bootstrap classLoader:引导程序类,最先启动用本地化语言编写
    加载核心core类。没有名字
    2.extesion class loader:扩展类
    加载lib/ext目录下的jar包中的类
    3.application class loader
    加载自定义的类
    4.other class loader

得到加载类的名字
类名.class.getClassLoader().getClass().getName();
ClassLoader 的层次关系:下层classLoader中有指向上层classLoder的引用,两者间不是继承关系使用getParent()方法可以得到上一层的classLoader

反射

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值