进阶Java编程(6)正则表达式】的更多相关文章

正则表达式 通过之前一系列的分析可以发现,String是一个非常万能的类型,因为String不仅仅可以支持有各种字符串的处理操作,也支持有向各个数据类型的转换功能,所以在项目的开发之中,只要用户输入的信息基本上都用String表示.于是在向其他数据类型转换的时候,为了保证转换的正确性,往往需要对其进行一些复杂的验证处理. 1,认识正则表达式 现在假设有一个字符串要求先判断字符串是否有数字组成,如果由数字所组成则将其变为数字进行乘法计算. public class Main { public st…
1,反射取得Annotation信息 从JDK1.5之后Java提供了Annotation技术支持,这种技术为项目的编写带来了新的模型,而后经过了十年的发展,Annotation的技术得到了非常广泛的应用,并且已经在所有的项目开发之中都会存在. 获取Annotation信息 在进行类或方法定义的时候都可以使用一系列的Annotation进行声明,如果要想获取这些Annotation的信息,那么就可以直接通过反射来完成.在java.lang.reflect里面有一个AccessibleObject…
1,传统属性自动赋值弊端 简单Java类主要由属性构成,并且提供有setter与getter类,同时简单Java类最大的特征就是通过对象保存相应的类属性的内容.但是如果使用传统的简单Java类开发,那么也会面临非常麻烦的困难. ·范例:传统的简单Java类操作 1 package cn.demo11.demo; 2 class Emp{ 3 private String ename; 4 private String job; 5 //setter.getter略 6 } 特别强调,为了方便理解…
Java多线程编程 1,进程与线程 在Java语言里面最大的特点是支持多线程的开发(也是为数不多支持多线程的编程语言Golang.Clojure方言.Elixir),所以在整个的Java技术学习里面,如果你不能够对多线程有一个全面并且细致的了解,则在日后进行一些项目的设计过程之中尤其是并发访问的设计过程之中就会出现严重的技术缺陷. 如果想要理解线程,那么首先就需要了解一下进程的概念,在传统的DOS系统的时代,其本身有一个特征:如果你电脑上出现了病毒,那么所有的程序将无法执行,因为传统的DOS采用…
package cn.sunzn.demo; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Demo { public static void main(String[] args) { System.out.println(isContainChinese("中国China")); } public static boolean isContainChinese(String…
1,ClassLoader类加载器简介 在Java里面提供一个系统的环境变量:ClassPath,这个属性的作用主要是在JVM进程启动的时候进行类加载路径的定义,在JVM里面可以根据类加载器而后进行指定路径中类的加载,也就是说找到了类的加载器就意味着找到了类的来源. 系统类的加载器 如果说现在要想获得类的加载器,那么一定要通过ClassLoader来获取,而要想获取ClassLoader类的对象,则必须利用class类[反射的根源]实现,方法:public ClassLoader getClas…
1,反射获取类结构信息 在反射机制的处理过程之中不仅仅只是一个实例化对象的处理操作,更多的情况下还有类的组成结构操作,任何一个类的基本组成结构:父类(父接口).包.属性.方法(构造方法与普通方法). 获取类的基本信息 一个类的基本信息主要包括所在的包名称.父类的定义.父接口的定义. ·范例:定义一个程序类 1 package cn.mufasa.vo; 2 public interface IMessageService { 3 public void send(); 4 } 5 public…
反射机制 1,反射机制简介 在Java语言里面之所以会有如此多的开源技术支撑,很大的一部分是来自于Java最大的特征[反射机制].如果你不能够使用反射机制去进行项目的开发与设计,那么可以说你并未接触到Java的精髓. 所有技术实现的目标只有一点[重用性] 对于反射技术首先来考虑的是“反”与“正”的操作,所谓的“正”的操作是 当我们要使用一个类的时候,一定要先导入程序所在的包,而后根据类进行对象的实例化并且调用类中的方法.但是如果说“反”,根据实例化对象反推出其类型. ·范例:正向操作 /** *…
Java基础类库 1,StringBuffer类 String类是在所有项目开发之中一定会使用到的一个功能类,并且这个类拥有如下的特点: ①每一个字符串的常量都属于一个String类的匿名对象,并且不可更改: ②String有两个常量池:静态常量池.运行时常量池: ③String类对象实例化建议使用直接赋值的形式完成,这样可以直接将对象保存在对象池之中以方便下次重用. 虽然String类很好使用,但是如果认真去思考也会发现其最大的弊端:内容不允许修改,虽然大部分情况下都不会涉及到字符串内容的频繁…
线程的同步与死锁 1,同步问题引出 在多线程的处理之中,可以利用Runnable描述多个线程操作的资源,而Thread描述每一个线程对象,对于当多个线程访问统一资源的时候如果处理不当就会产生数据的错误操作. ①同步问题的引出 下面编写一个买票程序,将创建若干个线程的对象实现卖票处理操作. ·范例:实现卖票操作 class MyThread implements Runnable{ private int ticket=10;//总票数为10张 @Override public void run(…